aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-06-26 20:32:52 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-06-26 20:32:52 +0000
commit08bbd35a80bf7765fe0d3043f9eb5a2f2786b649 (patch)
tree80108f0f128657f8623f8f66ad9735b4d88e7b47
parent7c7aba6e5fef47a01a136be655b0a92cfd7090f6 (diff)
downloadsrc-08bbd35a80bf7765fe0d3043f9eb5a2f2786b649.tar.gz
src-08bbd35a80bf7765fe0d3043f9eb5a2f2786b649.zip
Vendor import of llvm trunk r306325:vendor/llvm/llvm-trunk-r306325
Notes
Notes: svn path=/vendor/llvm/dist/; revision=320374 svn path=/vendor/llvm/llvm-trunk-r306325/; revision=320375; tag=vendor/llvm/llvm-trunk-r306325
-rw-r--r--CMakeLists.txt9
-rw-r--r--CODE_OWNERS.TXT1
-rw-r--r--CREDITS.TXT2
-rwxr-xr-xcmake/modules/AddLLVM.cmake13
-rw-r--r--cmake/modules/HandleLLVMOptions.cmake3
-rw-r--r--cmake/modules/TableGen.cmake32
-rw-r--r--docs/AMDGPUUsage.rst20
-rw-r--r--docs/GetElementPtr.rst20
-rw-r--r--docs/GoldPlugin.rst20
-rw-r--r--docs/LangRef.rst34
-rw-r--r--docs/Proposals/VectorizationPlan.rst2
-rw-r--r--docs/XRay.rst2
-rw-r--r--examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h18
-rw-r--r--examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h24
-rw-r--r--examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h24
-rw-r--r--examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h24
-rw-r--r--examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h24
-rw-r--r--examples/Kaleidoscope/include/KaleidoscopeJIT.h20
-rw-r--r--include/llvm-c/OrcBindings.h49
-rw-r--r--include/llvm/ADT/APFloat.h2
-rw-r--r--include/llvm/ADT/APInt.h28
-rw-r--r--include/llvm/ADT/StringExtras.h28
-rw-r--r--include/llvm/ADT/Triple.h1
-rw-r--r--include/llvm/Analysis/LazyValueInfo.h7
-rw-r--r--include/llvm/Analysis/Loads.h9
-rw-r--r--include/llvm/Analysis/LoopInfoImpl.h9
-rw-r--r--include/llvm/Analysis/ScalarEvolution.h32
-rw-r--r--include/llvm/BinaryFormat/COFF.h6
-rw-r--r--include/llvm/BinaryFormat/Dwarf.h2
-rw-r--r--include/llvm/BinaryFormat/MachO.h3
-rw-r--r--include/llvm/BinaryFormat/Wasm.h5
-rw-r--r--include/llvm/CodeGen/DIE.h6
-rw-r--r--include/llvm/CodeGen/GlobalISel/InstructionSelector.h11
-rw-r--r--include/llvm/CodeGen/GlobalISel/Legalizer.h2
-rw-r--r--include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h33
-rw-r--r--include/llvm/CodeGen/GlobalISel/Utils.h15
-rw-r--r--include/llvm/CodeGen/LexicalScopes.h2
-rw-r--r--include/llvm/CodeGen/MachineBasicBlock.h3
-rw-r--r--include/llvm/CodeGen/MachineMemOperand.h5
-rw-r--r--include/llvm/CodeGen/MachineModuleInfoImpls.h27
-rw-r--r--include/llvm/CodeGen/MachineScheduler.h8
-rw-r--r--include/llvm/CodeGen/MacroFusion.h41
-rw-r--r--include/llvm/CodeGen/RegisterScavenging.h18
-rw-r--r--include/llvm/CodeGen/SelectionDAGAddressAnalysis.h64
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h2
-rw-r--r--include/llvm/Config/config.h.cmake3
-rw-r--r--include/llvm/DebugInfo/CodeView/CVRecord.h5
-rw-r--r--include/llvm/DebugInfo/CodeView/CodeView.h10
-rw-r--r--include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h12
-rw-r--r--include/llvm/DebugInfo/CodeView/EnumTables.h1
-rw-r--r--include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h41
-rw-r--r--include/llvm/DebugInfo/CodeView/SymbolRecord.h2
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeDatabase.h84
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h62
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h6
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeName.h22
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeRecordMapping.h1
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeSerializer.h1
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeTableCollection.h11
-rw-r--r--include/llvm/DebugInfo/DIContext.h5
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h7
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h5
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFContext.h22
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h10
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h4
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h4
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugLine.h40
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h4
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h2
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h4
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFFormValue.h113
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFRelocMap.h3
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFUnit.h48
-rw-r--r--include/llvm/DebugInfo/MSF/MSFBuilder.h13
-rw-r--r--include/llvm/DebugInfo/MSF/MSFCommon.h18
-rw-r--r--include/llvm/DebugInfo/MSF/MappedBlockStream.h20
-rw-r--r--include/llvm/DebugInfo/PDB/DIA/DIASession.h2
-rw-r--r--include/llvm/DebugInfo/PDB/IPDBSession.h2
-rw-r--r--include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h4
-rw-r--r--include/llvm/DebugInfo/PDB/Native/DbiStream.h17
-rw-r--r--include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h1
-rw-r--r--include/llvm/DebugInfo/PDB/Native/InfoStream.h4
-rw-r--r--include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h19
-rw-r--r--include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h6
-rw-r--r--include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h4
-rw-r--r--include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h5
-rw-r--r--include/llvm/DebugInfo/PDB/Native/NativeSession.h2
-rw-r--r--include/llvm/DebugInfo/PDB/Native/PDBFile.h3
-rw-r--r--include/llvm/DebugInfo/PDB/Native/TpiStream.h5
-rw-r--r--include/llvm/DebugInfo/Symbolize/SymbolizableModule.h16
-rw-r--r--include/llvm/DebugInfo/Symbolize/Symbolize.h21
-rw-r--r--include/llvm/ExecutionEngine/ExecutionEngine.h41
-rw-r--r--include/llvm/ExecutionEngine/GenericValue.h33
-rw-r--r--include/llvm/ExecutionEngine/JITEventListener.h8
-rw-r--r--include/llvm/ExecutionEngine/JITSymbol.h28
-rw-r--r--include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h80
-rw-r--r--include/llvm/ExecutionEngine/Orc/CompileUtils.h71
-rw-r--r--include/llvm/ExecutionEngine/Orc/ExecutionUtils.h28
-rw-r--r--include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h9
-rw-r--r--include/llvm/ExecutionEngine/Orc/IRCompileLayer.h129
-rw-r--r--include/llvm/ExecutionEngine/Orc/IRTransformLayer.h61
-rw-r--r--include/llvm/ExecutionEngine/Orc/IndirectionUtils.h26
-rw-r--r--include/llvm/ExecutionEngine/Orc/LambdaResolver.h11
-rw-r--r--include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h125
-rw-r--r--include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h32
-rw-r--r--include/llvm/ExecutionEngine/Orc/OrcABISupport.h47
-rw-r--r--include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h31
-rw-r--r--include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h15
-rw-r--r--include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h38
-rw-r--r--include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h206
-rw-r--r--include/llvm/ExecutionEngine/Orc/RawByteChannel.h10
-rw-r--r--include/llvm/ExecutionEngine/RuntimeDyld.h12
-rw-r--r--include/llvm/IR/Attributes.h7
-rw-r--r--include/llvm/IR/Attributes.td2
-rw-r--r--include/llvm/IR/BasicBlock.h15
-rw-r--r--include/llvm/IR/ConstantRange.h9
-rw-r--r--include/llvm/IR/DerivedUser.h12
-rw-r--r--include/llvm/IR/InstrTypes.h4
-rw-r--r--include/llvm/IR/Instruction.h7
-rw-r--r--include/llvm/IR/Instructions.h34
-rw-r--r--include/llvm/IR/IntrinsicsAMDGPU.td27
-rw-r--r--include/llvm/IR/IntrinsicsX86.td80
-rw-r--r--include/llvm/IR/Metadata.h63
-rw-r--r--include/llvm/IR/ModuleSummaryIndexYAML.h2
-rw-r--r--include/llvm/IR/Operator.h9
-rw-r--r--include/llvm/IR/PatternMatch.h209
-rw-r--r--include/llvm/IR/Statepoint.h3
-rw-r--r--include/llvm/IR/Value.h7
-rw-r--r--include/llvm/InitializePasses.h1
-rw-r--r--include/llvm/LTO/legacy/ThinLTOCodeGenerator.h2
-rw-r--r--include/llvm/MC/MCAsmBackend.h13
-rw-r--r--include/llvm/MC/MCAssembler.h6
-rw-r--r--include/llvm/MC/MCFragment.h2
-rw-r--r--include/llvm/MC/MCSection.h2
-rw-r--r--include/llvm/MC/MCSymbolWasm.h4
-rw-r--r--include/llvm/MC/MCValue.h2
-rw-r--r--include/llvm/MC/MCWinCOFFObjectWriter.h4
-rw-r--r--include/llvm/Object/COFF.h100
-rw-r--r--include/llvm/Object/IRSymtab.h6
-rw-r--r--include/llvm/Object/MachO.h6
-rw-r--r--include/llvm/Object/Wasm.h31
-rw-r--r--include/llvm/Object/WindowsResource.h57
-rw-r--r--include/llvm/ObjectYAML/WasmYAML.h36
-rw-r--r--include/llvm/Option/OptParser.td2
-rw-r--r--include/llvm/Option/OptTable.h14
-rw-r--r--include/llvm/Option/Option.h2
-rw-r--r--include/llvm/ProfileData/Coverage/CoverageMapping.h13
-rw-r--r--include/llvm/ProfileData/InstrProf.h31
-rw-r--r--include/llvm/ProfileData/InstrProfReader.h28
-rw-r--r--include/llvm/ProfileData/InstrProfWriter.h5
-rw-r--r--include/llvm/ProfileData/SampleProf.h13
-rw-r--r--include/llvm/ProfileData/SampleProfReader.h8
-rw-r--r--include/llvm/Support/BinaryStreamReader.h9
-rw-r--r--include/llvm/Support/BinaryStreamRef.h22
-rw-r--r--include/llvm/Support/CachePruning.h9
-rw-r--r--include/llvm/Support/DataExtractor.h41
-rw-r--r--include/llvm/Support/Errno.h1
-rw-r--r--include/llvm/Support/Error.h21
-rw-r--r--include/llvm/Support/GCOV.h18
-rw-r--r--include/llvm/Support/GenericDomTree.h79
-rw-r--r--include/llvm/Support/GenericDomTreeConstruction.h45
-rw-r--r--include/llvm/Support/GraphWriter.h52
-rw-r--r--include/llvm/Support/Host.h10
-rw-r--r--include/llvm/Support/Path.h11
-rw-r--r--include/llvm/Support/Solaris/sys/regset.h (renamed from include/llvm/Support/Solaris.h)20
-rw-r--r--include/llvm/Support/TargetRegistry.h103
-rw-r--r--include/llvm/Support/YAMLParser.h97
-rw-r--r--include/llvm/Support/YAMLTraits.h182
-rw-r--r--include/llvm/TableGen/Main.h4
-rw-r--r--include/llvm/Target/GenericOpcodes.td18
-rw-r--r--include/llvm/Target/TargetInstrInfo.h65
-rw-r--r--include/llvm/Target/TargetLowering.h70
-rw-r--r--include/llvm/Target/TargetOpcodes.def5
-rw-r--r--include/llvm/Target/TargetRegisterInfo.h54
-rw-r--r--include/llvm/Target/TargetSubtargetInfo.h24
-rw-r--r--include/llvm/Testing/Support/Error.h4
-rw-r--r--include/llvm/Transforms/IPO/PassManagerBuilder.h1
-rw-r--r--include/llvm/Transforms/InstrProfiling.h16
-rw-r--r--include/llvm/Transforms/Instrumentation.h3
-rw-r--r--include/llvm/Transforms/Scalar.h6
-rw-r--r--include/llvm/Transforms/Scalar/GVN.h32
-rw-r--r--include/llvm/Transforms/Scalar/Reassociate.h2
-rw-r--r--include/llvm/Transforms/Utils/Local.h13
-rw-r--r--include/llvm/Transforms/Utils/LoopUtils.h8
-rw-r--r--include/llvm/Transforms/Utils/OrderedInstructions.h3
-rw-r--r--include/llvm/Transforms/Vectorize/LoopVectorize.h2
-rw-r--r--include/llvm/module.modulemap6
-rw-r--r--lib/Analysis/AliasSetTracker.cpp4
-rw-r--r--lib/Analysis/AssumptionCache.cpp11
-rw-r--r--lib/Analysis/BasicAliasAnalysis.cpp19
-rw-r--r--lib/Analysis/CFLSteensAliasAnalysis.cpp3
-rw-r--r--lib/Analysis/DemandedBits.cpp2
-rw-r--r--lib/Analysis/InlineCost.cpp16
-rw-r--r--lib/Analysis/InstructionSimplify.cpp6
-rw-r--r--lib/Analysis/LazyValueInfo.cpp30
-rw-r--r--lib/Analysis/Loads.cpp10
-rw-r--r--lib/Analysis/MemoryDependenceAnalysis.cpp6
-rw-r--r--lib/Analysis/ScalarEvolution.cpp133
-rw-r--r--lib/Analysis/ScalarEvolutionExpander.cpp48
-rw-r--r--lib/Analysis/TypeBasedAliasAnalysis.cpp2
-rw-r--r--lib/Analysis/ValueTracking.cpp7
-rw-r--r--lib/BinaryFormat/Magic.cpp3
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinter.cpp14
-rw-r--r--lib/CodeGen/AsmPrinter/DIE.cpp6
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.cpp68
-rw-r--r--lib/CodeGen/CMakeLists.txt1
-rw-r--r--lib/CodeGen/CodeGenPrepare.cpp54
-rw-r--r--lib/CodeGen/GlobalISel/IRTranslator.cpp9
-rw-r--r--lib/CodeGen/GlobalISel/InstructionSelector.cpp12
-rw-r--r--lib/CodeGen/GlobalISel/Legalizer.cpp139
-rw-r--r--lib/CodeGen/GlobalISel/LegalizerInfo.cpp3
-rw-r--r--lib/CodeGen/GlobalISel/MachineIRBuilder.cpp34
-rw-r--r--lib/CodeGen/GlobalISel/Utils.cpp28
-rw-r--r--lib/CodeGen/IfConversion.cpp13
-rw-r--r--lib/CodeGen/ImplicitNullChecks.cpp39
-rw-r--r--lib/CodeGen/LiveDebugVariables.cpp2
-rw-r--r--lib/CodeGen/LiveDebugVariables.h2
-rw-r--r--lib/CodeGen/MachineBasicBlock.cpp6
-rw-r--r--lib/CodeGen/MachineInstr.cpp18
-rw-r--r--lib/CodeGen/MachineModuleInfoImpls.cpp1
-rw-r--r--lib/CodeGen/MachineScheduler.cpp172
-rw-r--r--lib/CodeGen/MacroFusion.cpp150
-rw-r--r--lib/CodeGen/RegisterScavenging.cpp428
-rw-r--r--lib/CodeGen/RegisterUsageInfo.cpp4
-rw-r--r--lib/CodeGen/SelectionDAG/CMakeLists.txt1
-rw-r--r--lib/CodeGen/SelectionDAG/DAGCombiner.cpp256
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeDAG.cpp29
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp3
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp78
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAG.cpp33
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp95
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp15
-rw-r--r--lib/CodeGen/SelectionDAG/TargetLowering.cpp24
-rw-r--r--lib/CodeGen/TargetRegisterInfo.cpp20
-rw-r--r--lib/CodeGen/TargetSubtargetInfo.cpp14
-rw-r--r--lib/DebugInfo/CodeView/CMakeLists.txt3
-rw-r--r--lib/DebugInfo/CodeView/CVTypeVisitor.cpp2
-rw-r--r--lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp30
-rw-r--r--lib/DebugInfo/CodeView/EnumTables.cpp10
-rw-r--r--lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp157
-rw-r--r--lib/DebugInfo/CodeView/SymbolDumper.cpp2
-rw-r--r--lib/DebugInfo/CodeView/SymbolRecordMapping.cpp2
-rw-r--r--lib/DebugInfo/CodeView/TypeDatabase.cpp146
-rw-r--r--lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp330
-rw-r--r--lib/DebugInfo/CodeView/TypeDumpVisitor.cpp2
-rw-r--r--lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp82
-rw-r--r--lib/DebugInfo/CodeView/TypeName.cpp243
-rw-r--r--lib/DebugInfo/CodeView/TypeTableCollection.cpp58
-rw-r--r--lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp80
-rw-r--r--lib/DebugInfo/DWARF/DWARFContext.cpp15
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugFrame.cpp36
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp2
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugLine.cpp52
-rw-r--r--lib/DebugInfo/DWARF/DWARFFormValue.cpp113
-rw-r--r--lib/DebugInfo/DWARF/DWARFUnit.cpp42
-rw-r--r--lib/DebugInfo/DWARF/DWARFVerifier.cpp6
-rw-r--r--lib/DebugInfo/MSF/MSFBuilder.cpp27
-rw-r--r--lib/DebugInfo/MSF/MSFCommon.cpp6
-rw-r--r--lib/DebugInfo/MSF/MappedBlockStream.cpp23
-rw-r--r--lib/DebugInfo/PDB/DIA/DIASession.cpp2
-rw-r--r--lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp8
-rw-r--r--lib/DebugInfo/PDB/Native/DbiStream.cpp52
-rw-r--r--lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp9
-rw-r--r--lib/DebugInfo/PDB/Native/InfoStream.cpp8
-rw-r--r--lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp36
-rw-r--r--lib/DebugInfo/PDB/Native/NamedStreamMap.cpp24
-rw-r--r--lib/DebugInfo/PDB/Native/NativeCompilandSymbol.cpp9
-rw-r--r--lib/DebugInfo/PDB/Native/NativeEnumModules.cpp2
-rw-r--r--lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp9
-rw-r--r--lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp8
-rw-r--r--lib/DebugInfo/PDB/Native/NativeSession.cpp7
-rw-r--r--lib/DebugInfo/PDB/Native/PDBFile.cpp8
-rw-r--r--lib/DebugInfo/PDB/Native/TpiStream.cpp12
-rw-r--r--lib/ExecutionEngine/Orc/OrcCBindings.cpp32
-rw-r--r--lib/ExecutionEngine/Orc/OrcCBindingsStack.h82
-rw-r--r--lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp5
-rw-r--r--lib/ExecutionEngine/Orc/OrcMCJITReplacement.h119
-rw-r--r--lib/IR/AsmWriter.cpp147
-rw-r--r--lib/IR/AttributeImpl.h5
-rw-r--r--lib/IR/Attributes.cpp33
-rw-r--r--lib/IR/AutoUpgrade.cpp39
-rw-r--r--lib/IR/BasicBlock.cpp13
-rw-r--r--lib/IR/ConstantRange.cpp30
-rw-r--r--lib/IR/Instructions.cpp25
-rw-r--r--lib/IR/LLVMContextImpl.cpp30
-rw-r--r--lib/IR/LLVMContextImpl.h148
-rw-r--r--lib/IR/Metadata.cpp14
-rw-r--r--lib/IR/Statepoint.cpp12
-rw-r--r--lib/LTO/ThinLTOCodeGenerator.cpp1
-rw-r--r--lib/MC/CMakeLists.txt2
-rw-r--r--lib/MC/ELFObjectWriter.cpp3
-rw-r--r--lib/MC/MCAssembler.cpp36
-rw-r--r--lib/MC/MCFragment.cpp18
-rw-r--r--lib/MC/MCSection.cpp2
-rw-r--r--lib/MC/MCWasmStreamer.cpp12
-rw-r--r--lib/MC/MCWinCOFFStreamer.cpp (renamed from lib/MC/WinCOFFStreamer.cpp)8
-rw-r--r--lib/MC/WasmObjectWriter.cpp318
-rw-r--r--lib/MC/WinCOFFObjectWriter.cpp24
-rw-r--r--lib/Object/COFFObjectFile.cpp20
-rw-r--r--lib/Object/IRSymtab.cpp36
-rw-r--r--lib/Object/MachOObjectFile.cpp39
-rw-r--r--lib/Object/WasmObjectFile.cpp93
-rw-r--r--lib/Object/WindowsResource.cpp270
-rw-r--r--lib/ObjectYAML/CodeViewYAMLSymbols.cpp57
-rw-r--r--lib/ObjectYAML/CodeViewYAMLTypes.cpp2
-rw-r--r--lib/ObjectYAML/WasmYAML.cpp50
-rw-r--r--lib/Option/OptTable.cpp34
-rw-r--r--lib/Option/Option.cpp1
-rw-r--r--lib/Passes/PassBuilder.cpp8
-rw-r--r--lib/ProfileData/Coverage/CoverageMapping.cpp10
-rw-r--r--lib/ProfileData/Coverage/CoverageMappingReader.cpp18
-rw-r--r--lib/ProfileData/InstrProf.cpp12
-rw-r--r--lib/ProfileData/InstrProfReader.cpp16
-rw-r--r--lib/ProfileData/InstrProfWriter.cpp21
-rw-r--r--lib/Support/APFloat.cpp67
-rw-r--r--lib/Support/APInt.cpp9
-rw-r--r--lib/Support/BinaryStreamReader.cpp6
-rw-r--r--lib/Support/CachePruning.cpp55
-rw-r--r--lib/Support/CommandLine.cpp11
-rw-r--r--lib/Support/DataExtractor.cpp7
-rw-r--r--lib/Support/GraphWriter.cpp19
-rw-r--r--lib/Support/Triple.cpp2
-rw-r--r--lib/Support/Unix/Host.inc6
-rw-r--r--lib/Support/Unix/Memory.inc4
-rw-r--r--lib/Support/Unix/Program.inc13
-rw-r--r--lib/Support/Windows/Host.inc10
-rw-r--r--lib/Support/YAMLParser.cpp58
-rw-r--r--lib/Support/YAMLTraits.cpp50
-rw-r--r--lib/Support/raw_ostream.cpp4
-rw-r--r--lib/Target/AArch64/AArch64.h2
-rw-r--r--lib/Target/AArch64/AArch64CondBrTuning.cpp336
-rw-r--r--lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp47
-rw-r--r--lib/Target/AArch64/AArch64ISelDAGToDAG.cpp15
-rw-r--r--lib/Target/AArch64/AArch64ISelLowering.cpp11
-rw-r--r--lib/Target/AArch64/AArch64InstrAtomics.td46
-rw-r--r--lib/Target/AArch64/AArch64InstrInfo.cpp6
-rw-r--r--lib/Target/AArch64/AArch64InstrInfo.h38
-rw-r--r--lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp20
-rw-r--r--lib/Target/AArch64/AArch64MacroFusion.cpp183
-rw-r--r--lib/Target/AArch64/AArch64MacroFusion.h11
-rw-r--r--lib/Target/AArch64/AArch64RegisterBankInfo.cpp4
-rw-r--r--lib/Target/AArch64/AArch64SchedA57.td2
-rw-r--r--lib/Target/AArch64/AArch64SchedFalkorDetails.td421
-rw-r--r--lib/Target/AArch64/AArch64SchedKryoDetails.td6
-rw-r--r--lib/Target/AArch64/AArch64TargetMachine.cpp7
-rw-r--r--lib/Target/AArch64/CMakeLists.txt1
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp70
-rw-r--r--lib/Target/AMDGPU/AMDGPU.td47
-rw-r--r--lib/Target/AMDGPU/AMDGPUISelLowering.cpp23
-rw-r--r--lib/Target/AMDGPU/AMDGPUISelLowering.h25
-rw-r--r--lib/Target/AMDGPU/AMDGPUInstrInfo.cpp11
-rw-r--r--lib/Target/AMDGPU/AMDGPUInstrInfo.td10
-rw-r--r--lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp10
-rw-r--r--lib/Target/AMDGPU/AMDGPUSubtarget.cpp5
-rw-r--r--lib/Target/AMDGPU/AMDGPUSubtarget.h25
-rw-r--r--lib/Target/AMDGPU/AMDGPUTargetMachine.cpp8
-rw-r--r--lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp22
-rw-r--r--lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h6
-rw-r--r--lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp151
-rw-r--r--lib/Target/AMDGPU/BUFInstructions.td411
-rw-r--r--lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp100
-rw-r--r--lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h10
-rw-r--r--lib/Target/AMDGPU/FLATInstructions.td70
-rw-r--r--lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp34
-rw-r--r--lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h8
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp48
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h12
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp64
-rw-r--r--lib/Target/AMDGPU/Processors.td4
-rw-r--r--lib/Target/AMDGPU/R600ISelLowering.cpp24
-rw-r--r--lib/Target/AMDGPU/SIDefines.h6
-rw-r--r--lib/Target/AMDGPU/SIFixSGPRCopies.cpp30
-rw-r--r--lib/Target/AMDGPU/SIFoldOperands.cpp12
-rw-r--r--lib/Target/AMDGPU/SIFrameLowering.cpp83
-rw-r--r--lib/Target/AMDGPU/SIFrameLowering.h4
-rw-r--r--lib/Target/AMDGPU/SIISelLowering.cpp261
-rw-r--r--lib/Target/AMDGPU/SIISelLowering.h5
-rw-r--r--lib/Target/AMDGPU/SIInstrInfo.cpp71
-rw-r--r--lib/Target/AMDGPU/SIInstrInfo.h3
-rw-r--r--lib/Target/AMDGPU/SIInstrInfo.td195
-rw-r--r--lib/Target/AMDGPU/SIMachineFunctionInfo.cpp11
-rw-r--r--lib/Target/AMDGPU/SIMachineFunctionInfo.h14
-rw-r--r--lib/Target/AMDGPU/SIPeepholeSDWA.cpp100
-rw-r--r--lib/Target/AMDGPU/SIRegisterInfo.cpp40
-rw-r--r--lib/Target/AMDGPU/SIRegisterInfo.h7
-rw-r--r--lib/Target/AMDGPU/SIShrinkInstructions.cpp2
-rw-r--r--lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp21
-rw-r--r--lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h3
-rw-r--r--lib/Target/AMDGPU/VOP1Instructions.td16
-rw-r--r--lib/Target/AMDGPU/VOP2Instructions.td68
-rw-r--r--lib/Target/AMDGPU/VOPCInstructions.td28
-rw-r--r--lib/Target/AMDGPU/VOPInstructions.td88
-rw-r--r--lib/Target/ARM/ARM.td3
-rw-r--r--lib/Target/ARM/ARMAsmPrinter.cpp3
-rw-r--r--lib/Target/ARM/ARMBaseInstrInfo.cpp8
-rw-r--r--lib/Target/ARM/ARMISelLowering.cpp54
-rw-r--r--lib/Target/ARM/ARMISelLowering.h2
-rw-r--r--lib/Target/ARM/ARMInstrThumb2.td10
-rw-r--r--lib/Target/ARM/ARMInstructionSelector.cpp105
-rw-r--r--lib/Target/ARM/ARMLegalizerInfo.cpp6
-rw-r--r--lib/Target/ARM/ARMMacroFusion.cpp57
-rw-r--r--lib/Target/ARM/ARMMacroFusion.h24
-rw-r--r--lib/Target/ARM/ARMRegisterBankInfo.cpp10
-rw-r--r--lib/Target/ARM/ARMSubtarget.h8
-rw-r--r--lib/Target/ARM/ARMTargetMachine.cpp7
-rw-r--r--lib/Target/ARM/AsmParser/ARMAsmParser.cpp66
-rw-r--r--lib/Target/ARM/CMakeLists.txt1
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp63
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h14
-rw-r--r--lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp7
-rw-r--r--lib/Target/BPF/BPFISelDAGToDAG.cpp30
-rw-r--r--lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp12
-rw-r--r--lib/Target/Hexagon/HexagonExpandCondsets.cpp15
-rw-r--r--lib/Target/Hexagon/HexagonFrameLowering.cpp61
-rw-r--r--lib/Target/Hexagon/HexagonGenMux.cpp86
-rw-r--r--lib/Target/Hexagon/HexagonInstrInfo.cpp10
-rw-r--r--lib/Target/Hexagon/HexagonNewValueJump.cpp2
-rw-r--r--lib/Target/Hexagon/HexagonPeephole.cpp54
-rw-r--r--lib/Target/Hexagon/HexagonSubtarget.cpp32
-rw-r--r--lib/Target/Hexagon/HexagonSubtarget.h22
-rw-r--r--lib/Target/Hexagon/HexagonTargetMachine.cpp1
-rw-r--r--lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp18
-rw-r--r--lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp53
-rw-r--r--lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp12
-rw-r--r--lib/Target/MSP430/MSP430TargetMachine.cpp8
-rw-r--r--lib/Target/Mips/AsmParser/MipsAsmParser.cpp24
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp8
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h5
-rw-r--r--lib/Target/Mips/Mips32r6InstrInfo.td6
-rw-r--r--lib/Target/Mips/MipsISelLowering.cpp5
-rw-r--r--lib/Target/Mips/MipsLongBranch.cpp12
-rw-r--r--lib/Target/Mips/MipsSEISelLowering.cpp18
-rw-r--r--lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp11
-rw-r--r--lib/Target/PowerPC/PPC.h1
-rw-r--r--lib/Target/PowerPC/PPCFrameLowering.cpp2
-rw-r--r--lib/Target/PowerPC/PPCISelLowering.cpp11
-rw-r--r--lib/Target/PowerPC/PPCInstr64Bit.td8
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.cpp23
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.h2
-rw-r--r--lib/Target/PowerPC/PPCRegisterInfo.cpp15
-rw-r--r--lib/Target/PowerPC/PPCTargetMachine.cpp72
-rw-r--r--lib/Target/PowerPC/PPCTargetMachine.h25
-rw-r--r--lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp12
-rw-r--r--lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp12
-rw-r--r--lib/Target/Sparc/SparcTargetObjectFile.cpp6
-rw-r--r--lib/Target/Sparc/SparcTargetObjectFile.h2
-rw-r--r--lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp15
-rw-r--r--lib/Target/SystemZ/SystemZFrameLowering.cpp17
-rw-r--r--lib/Target/SystemZ/SystemZISelLowering.cpp15
-rw-r--r--lib/Target/SystemZ/SystemZISelLowering.h6
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.td11
-rw-r--r--lib/Target/SystemZ/SystemZMachineScheduler.cpp2
-rw-r--r--lib/Target/SystemZ/SystemZMachineScheduler.h2
-rw-r--r--lib/Target/SystemZ/SystemZOperators.td2
-rw-r--r--lib/Target/SystemZ/SystemZTargetMachine.h2
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp30
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp18
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp2
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h3
-rw-r--r--lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp2
-rw-r--r--lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp7
-rw-r--r--lib/Target/WebAssembly/WebAssemblyFastISel.cpp20
-rw-r--r--lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp29
-rw-r--r--lib/Target/WebAssembly/WebAssemblyRegStackify.cpp32
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParser.cpp3
-rw-r--r--lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp8
-rw-r--r--lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp3
-rw-r--r--lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp17
-rw-r--r--lib/Target/X86/X86FrameLowering.cpp37
-rw-r--r--lib/Target/X86/X86ISelDAGToDAG.cpp28
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp190
-rw-r--r--lib/Target/X86/X86ISelLowering.h26
-rw-r--r--lib/Target/X86/X86InstrAVX512.td26
-rw-r--r--lib/Target/X86/X86InstrFragmentsSIMD.td24
-rw-r--r--lib/Target/X86/X86InstrSSE.td2
-rw-r--r--lib/Target/X86/X86InstructionSelector.cpp300
-rw-r--r--lib/Target/X86/X86InterleavedAccess.cpp125
-rw-r--r--lib/Target/X86/X86IntrinsicsInfo.h24
-rw-r--r--lib/Target/X86/X86LegalizerInfo.cpp32
-rw-r--r--lib/Target/X86/X86MacroFusion.cpp101
-rw-r--r--lib/Target/X86/X86MacroFusion.h11
-rw-r--r--lib/Target/X86/X86TargetMachine.cpp2
-rw-r--r--lib/Target/X86/X86TargetObjectFile.cpp6
-rw-r--r--lib/Target/X86/X86TargetObjectFile.h5
-rw-r--r--lib/Target/X86/X86TargetTransformInfo.cpp129
-rw-r--r--lib/Target/X86/X86TargetTransformInfo.h7
-rw-r--r--lib/Testing/Support/LLVMBuild.txt1
-rw-r--r--lib/ToolDrivers/llvm-lib/LibDriver.cpp10
-rw-r--r--lib/Transforms/IPO/PassManagerBuilder.cpp13
-rw-r--r--lib/Transforms/IPO/SampleProfile.cpp3
-rw-r--r--lib/Transforms/InstCombine/InstCombineAddSub.cpp27
-rw-r--r--lib/Transforms/InstCombine/InstCombineAndOrXor.cpp126
-rw-r--r--lib/Transforms/InstCombine/InstCombineCalls.cpp46
-rw-r--r--lib/Transforms/InstCombine/InstCombineCasts.cpp12
-rw-r--r--lib/Transforms/InstCombine/InstCombineCompares.cpp99
-rw-r--r--lib/Transforms/InstCombine/InstCombineInternal.h27
-rw-r--r--lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp43
-rw-r--r--lib/Transforms/InstCombine/InstCombineSelect.cpp63
-rw-r--r--lib/Transforms/InstCombine/InstCombineShifts.cpp3
-rw-r--r--lib/Transforms/InstCombine/InstructionCombining.cpp14
-rw-r--r--lib/Transforms/Instrumentation/IndirectCallPromotion.cpp7
-rw-r--r--lib/Transforms/Instrumentation/InstrProfiling.cpp230
-rw-r--r--lib/Transforms/Instrumentation/PGOInstrumentation.cpp2
-rw-r--r--lib/Transforms/Scalar/CMakeLists.txt1
-rw-r--r--lib/Transforms/Scalar/CorrelatedValuePropagation.cpp5
-rw-r--r--lib/Transforms/Scalar/GVN.cpp188
-rw-r--r--lib/Transforms/Scalar/JumpThreading.cpp100
-rw-r--r--lib/Transforms/Scalar/LoadCombine.cpp295
-rw-r--r--lib/Transforms/Scalar/LoopDeletion.cpp53
-rw-r--r--lib/Transforms/Scalar/LoopStrengthReduce.cpp2
-rw-r--r--lib/Transforms/Scalar/NewGVN.cpp50
-rw-r--r--lib/Transforms/Scalar/Reassociate.cpp110
-rw-r--r--lib/Transforms/Scalar/SCCP.cpp15
-rw-r--r--lib/Transforms/Scalar/SROA.cpp15
-rw-r--r--lib/Transforms/Scalar/Scalar.cpp1
-rw-r--r--lib/Transforms/Scalar/TailRecursionElimination.cpp52
-rw-r--r--lib/Transforms/Utils/BuildLibCalls.cpp1
-rw-r--r--lib/Transforms/Utils/Local.cpp54
-rw-r--r--lib/Transforms/Utils/LoopSimplify.cpp83
-rw-r--r--lib/Transforms/Utils/LoopUnrollRuntime.cpp46
-rw-r--r--lib/Transforms/Utils/LoopUtils.cpp68
-rw-r--r--lib/Transforms/Vectorize/LoopVectorize.cpp47
-rw-r--r--lib/Transforms/Vectorize/SLPVectorizer.cpp6
-rw-r--r--test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll4
-rw-r--r--test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll2
-rw-r--r--test/Analysis/BasicAA/bug.23540.ll2
-rw-r--r--test/Analysis/BasicAA/bug.23626.ll14
-rw-r--r--test/Analysis/BasicAA/constant-over-index.ll2
-rw-r--r--test/Analysis/BasicAA/fallback-mayalias.ll23
-rw-r--r--test/Analysis/BasicAA/q.bad.ll14
-rw-r--r--test/Analysis/BasicAA/returned.ll16
-rw-r--r--test/Analysis/BasicAA/sequential-gep.ll6
-rw-r--r--test/Analysis/BasicAA/struct-geps.ll78
-rw-r--r--test/Analysis/BasicAA/zext.ll8
-rw-r--r--test/Analysis/CostModel/X86/arith.ll1002
-rw-r--r--test/Analysis/CostModel/X86/interleaved-load-i8.ll98
-rw-r--r--test/Analysis/CostModel/X86/interleaved-store-i8.ll85
-rw-r--r--test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll87
-rw-r--r--test/Analysis/TypeBasedAliasAnalysis/dynamic-indices.ll19
-rw-r--r--test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll36
-rw-r--r--test/CodeGen/AArch64/GlobalISel/call-translator.ll2
-rw-r--r--test/CodeGen/AArch64/GlobalISel/legalize-combines.mir50
-rw-r--r--test/CodeGen/AArch64/GlobalISel/no-regclass.mir4
-rw-r--r--test/CodeGen/AArch64/GlobalISel/select-bitcast.mir4
-rw-r--r--test/CodeGen/AArch64/arm64-early-ifcvt.ll2
-rw-r--r--test/CodeGen/AArch64/arm64-neon-copy.ll2
-rw-r--r--test/CodeGen/AArch64/arm64-shrink-v1i64.ll2
-rw-r--r--test/CodeGen/AArch64/arm64-shrink-wrapping.ll24
-rw-r--r--test/CodeGen/AArch64/atomic-ops-lse.ll683
-rw-r--r--test/CodeGen/AArch64/cond-br-tuning.ll169
-rw-r--r--test/CodeGen/AArch64/ldst-opt.ll60
-rw-r--r--test/CodeGen/AArch64/ldst-opt.mir39
-rw-r--r--test/CodeGen/AArch64/mergestores_noimplicitfloat.ll23
-rw-r--r--test/CodeGen/AArch64/misched-fusion.ll4
-rw-r--r--test/CodeGen/AArch64/reg-scavenge-frame.mir42
-rw-r--r--test/CodeGen/AArch64/stack-guard-remat-bitcast.ll4
-rw-r--r--test/CodeGen/AArch64/swiftself-scavenger.ll2
-rw-r--r--test/CodeGen/AArch64/tbz-tbnz.ll2
-rw-r--r--test/CodeGen/AArch64/thread-pointer.ll4
-rw-r--r--test/CodeGen/AArch64/xray-attribute-instrumentation.ll4
-rw-r--r--test/CodeGen/AArch64/xray-tail-call-sled.ll22
-rw-r--r--test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir22
-rw-r--r--test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir23
-rw-r--r--test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir18
-rw-r--r--test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll77
-rw-r--r--test/CodeGen/AMDGPU/branch-relaxation.ll10
-rw-r--r--test/CodeGen/AMDGPU/callee-frame-setup.ll27
-rw-r--r--test/CodeGen/AMDGPU/code-object-metadata-kernel-debug-props.ll4
-rw-r--r--test/CodeGen/AMDGPU/combine-cond-add-sub.ll159
-rw-r--r--test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir27
-rw-r--r--test/CodeGen/AMDGPU/fneg.f16.ll7
-rw-r--r--test/CodeGen/AMDGPU/fold-operands-order.mir47
-rw-r--r--test/CodeGen/AMDGPU/fpext.f16.ll15
-rw-r--r--test/CodeGen/AMDGPU/frame-index-elimination.ll68
-rw-r--r--test/CodeGen/AMDGPU/infer-addrpace-pipeline.ll10
-rw-r--r--test/CodeGen/AMDGPU/llvm.SI.tbuffer.store.ll38
-rw-r--r--test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.hsa.ll24
-rw-r--r--test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.ll35
-rw-r--r--test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.pk.u16.u8.ll2
-rw-r--r--test/CodeGen/AMDGPU/llvm.amdgcn.qsad.pk.u16.u8.ll2
-rw-r--r--test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.ll109
-rw-r--r--test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.store.ll110
-rw-r--r--test/CodeGen/AMDGPU/llvm.rint.f16.ll4
-rw-r--r--test/CodeGen/AMDGPU/merge-store-crash.ll4
-rw-r--r--test/CodeGen/AMDGPU/merge-store-usedef.ll4
-rw-r--r--test/CodeGen/AMDGPU/mubuf.ll8
-rw-r--r--test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir341
-rw-r--r--test/CodeGen/AMDGPU/scheduler-subrange-crash.ll18
-rw-r--r--test/CodeGen/AMDGPU/sdwa-gfx9.mir88
-rw-r--r--test/CodeGen/AMDGPU/sdwa-peephole.ll168
-rw-r--r--test/CodeGen/AMDGPU/sdwa-scalar-ops.mir19
-rw-r--r--test/CodeGen/AMDGPU/sdwa-vop2-64bit.mir61
-rw-r--r--test/CodeGen/AMDGPU/shrink-carry.mir101
-rw-r--r--test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll9
-rw-r--r--test/CodeGen/AMDGPU/sint_to_fp.i64.ll4
-rw-r--r--test/CodeGen/AMDGPU/spill-m0.ll8
-rw-r--r--test/CodeGen/AMDGPU/uint_to_fp.i64.ll4
-rw-r--r--test/CodeGen/ARM/2012-08-30-select.ll7
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-instruction-select-cmp.mir373
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll7
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-isel.ll41
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-legalizer.mir84
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir30
-rw-r--r--test/CodeGen/ARM/alloca-align.ll2
-rw-r--r--test/CodeGen/ARM/constantfp.ll50
-rw-r--r--test/CodeGen/ARM/execute-only-big-stack-frame.ll4
-rw-r--r--test/CodeGen/ARM/fpoffset_overflow.mir12
-rw-r--r--test/CodeGen/ARM/misched-fusion-aes.ll203
-rw-r--r--test/CodeGen/ARM/v6m-umul-with-overflow.ll16
-rw-r--r--test/CodeGen/ARM/vector-promotion.ll4
-rw-r--r--test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll9
-rw-r--r--test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll9
-rw-r--r--test/CodeGen/Generic/llc-start-stop.ll5
-rw-r--r--test/CodeGen/Generic/print-machineinstrs.ll27
-rw-r--r--test/CodeGen/Hexagon/duplex-addi-global-imm.mir22
-rw-r--r--test/CodeGen/Hexagon/expand-condsets-imm.mir22
-rw-r--r--test/CodeGen/Hexagon/mux-kill1.mir (renamed from test/CodeGen/Hexagon/mux-kill.mir)2
-rw-r--r--test/CodeGen/Hexagon/mux-kill2.mir2
-rw-r--r--test/CodeGen/Hexagon/mux-kill3.mir31
-rw-r--r--test/CodeGen/Hexagon/newvaluejump-kill.ll53
-rw-r--r--test/CodeGen/Hexagon/stack-align-reset.ll51
-rw-r--r--test/CodeGen/Hexagon/store-imm-large-stack.ll151
-rw-r--r--test/CodeGen/Hexagon/vec-vararg-align.ll30
-rw-r--r--test/CodeGen/MSP430/Inst16mm.ll2
-rw-r--r--test/CodeGen/MSP430/struct_layout.ll57
-rw-r--r--test/CodeGen/Mips/dins.ll39
-rw-r--r--test/CodeGen/Mips/emergency-spill-slot-near-fp.ll88
-rw-r--r--test/CodeGen/Mips/longbranch.ll40
-rw-r--r--test/CodeGen/Mips/msa/3r_splat.ll21
-rw-r--r--test/CodeGen/PowerPC/2010-02-12-saveCR.ll6
-rw-r--r--test/CodeGen/PowerPC/complex-return.ll2
-rw-r--r--test/CodeGen/PowerPC/dyn-alloca-aligned.ll4
-rw-r--r--test/CodeGen/PowerPC/licm-remat.ll179
-rw-r--r--test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll33
-rw-r--r--test/CodeGen/PowerPC/memcpy_dereferenceable.ll74
-rw-r--r--test/CodeGen/PowerPC/scavenging.mir67
-rw-r--r--test/CodeGen/PowerPC/vsx-spill.ll10
-rw-r--r--test/CodeGen/PowerPC/vsx.ll30
-rw-r--r--test/CodeGen/SPARC/constructor.ll29
-rw-r--r--test/CodeGen/SystemZ/frame-21.ll76
-rw-r--r--test/CodeGen/SystemZ/int-cmp-54.ll20
-rw-r--r--test/CodeGen/SystemZ/serialize-01.ll21
-rw-r--r--test/CodeGen/SystemZ/trap-02.ll4
-rw-r--r--test/CodeGen/Thumb/large-stack.ll12
-rw-r--r--test/CodeGen/Thumb2/ifcvt-neon-deprecated.mir54
-rw-r--r--test/CodeGen/Thumb2/ifcvt-neon.ll29
-rw-r--r--test/CodeGen/WebAssembly/byval.ll14
-rw-r--r--test/CodeGen/WebAssembly/offset-fastisel.ll100
-rw-r--r--test/CodeGen/WebAssembly/reg-stackify.ll2
-rw-r--r--test/CodeGen/WebAssembly/stack-alignment.ll24
-rw-r--r--test/CodeGen/WebAssembly/userstack.ll52
-rw-r--r--test/CodeGen/X86/2006-05-11-InstrSched.ll2
-rw-r--r--test/CodeGen/X86/2012-12-06-python27-miscompile.ll23
-rw-r--r--test/CodeGen/X86/GlobalISel/add-scalar.ll34
-rw-r--r--test/CodeGen/X86/GlobalISel/callingconv.ll92
-rw-r--r--test/CodeGen/X86/GlobalISel/ext.ll15
-rw-r--r--test/CodeGen/X86/GlobalISel/legalize-add-v256.mir99
-rw-r--r--test/CodeGen/X86/GlobalISel/legalize-add-v512.mir179
-rw-r--r--test/CodeGen/X86/GlobalISel/legalize-insert-vec256.mir33
-rw-r--r--test/CodeGen/X86/GlobalISel/legalize-insert-vec512.mir63
-rw-r--r--test/CodeGen/X86/GlobalISel/memop-scalar-x32.ll36
-rw-r--r--test/CodeGen/X86/GlobalISel/memop-scalar.ll48
-rw-r--r--test/CodeGen/X86/GlobalISel/select-extract-vec256.mir80
-rw-r--r--test/CodeGen/X86/GlobalISel/select-extract-vec512.mir127
-rw-r--r--test/CodeGen/X86/GlobalISel/select-insert-vec256.mir176
-rw-r--r--test/CodeGen/X86/GlobalISel/select-insert-vec512.mir271
-rw-r--r--test/CodeGen/X86/GlobalISel/select-memop-scalar-x32.mir60
-rw-r--r--test/CodeGen/X86/GlobalISel/select-memop-scalar.mir116
-rw-r--r--test/CodeGen/X86/MergeConsecutiveStores.ll31
-rw-r--r--test/CodeGen/X86/atom-fixup-lea3.ll11
-rw-r--r--test/CodeGen/X86/avg.ll1606
-rw-r--r--test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll9
-rw-r--r--test/CodeGen/X86/avx-intrinsics-x86.ll8
-rw-r--r--test/CodeGen/X86/avx-logic.ll6
-rw-r--r--test/CodeGen/X86/avx-vperm2x128.ll32
-rw-r--r--test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll3
-rw-r--r--test/CodeGen/X86/avx2-logic.ll28
-rw-r--r--test/CodeGen/X86/avx2-vbroadcast.ll2
-rw-r--r--test/CodeGen/X86/avx512-arith.ll8
-rw-r--r--test/CodeGen/X86/avx512-intrinsics-upgrade.ll372
-rw-r--r--test/CodeGen/X86/avx512-intrinsics.ll388
-rw-r--r--test/CodeGen/X86/avx512-logic.ll24
-rw-r--r--test/CodeGen/X86/avx512-mask-op.ll8
-rw-r--r--test/CodeGen/X86/avx512-round.ll16
-rw-r--r--test/CodeGen/X86/avx512-vec3-crash.ll31
-rw-r--r--test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll2050
-rw-r--r--test/CodeGen/X86/avx512bw-intrinsics.ll656
-rw-r--r--test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll853
-rw-r--r--test/CodeGen/X86/avx512bwvl-intrinsics.ll884
-rw-r--r--test/CodeGen/X86/avx512vl-arith.ll14
-rw-r--r--test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll951
-rw-r--r--test/CodeGen/X86/avx512vl-intrinsics.ll780
-rw-r--r--test/CodeGen/X86/avx512vl-logic.ll32
-rw-r--r--test/CodeGen/X86/bitcast-i256.ll26
-rw-r--r--test/CodeGen/X86/clear_upper_vector_element_bits.ll15
-rw-r--r--test/CodeGen/X86/combine-pmuldq.ll110
-rw-r--r--test/CodeGen/X86/constructor.ll2
-rw-r--r--test/CodeGen/X86/extract-store.ll129
-rw-r--r--test/CodeGen/X86/full-lsr.ll10
-rw-r--r--test/CodeGen/X86/hoist-spill.ll2
-rw-r--r--test/CodeGen/X86/implicit-null-checks.mir6
-rw-r--r--test/CodeGen/X86/insertelement-zero.ll33
-rw-r--r--test/CodeGen/X86/insertps-combine.ll6
-rw-r--r--test/CodeGen/X86/jump_sign.ll297
-rw-r--r--test/CodeGen/X86/loop-strength-reduce4.ll15
-rw-r--r--test/CodeGen/X86/machine-cse.ll134
-rw-r--r--test/CodeGen/X86/madd.ll78
-rw-r--r--test/CodeGen/X86/masked-iv-safe.ll16
-rw-r--r--test/CodeGen/X86/masked_gather_scatter.ll69
-rw-r--r--test/CodeGen/X86/memcmp.ll108
-rw-r--r--test/CodeGen/X86/merge-consecutive-stores.ll33
-rw-r--r--test/CodeGen/X86/non-value-mem-operand.mir293
-rw-r--r--test/CodeGen/X86/pr15705.ll48
-rw-r--r--test/CodeGen/X86/pr15981.ll59
-rw-r--r--test/CodeGen/X86/pr33396.ll27
-rw-r--r--test/CodeGen/X86/sbb.ll138
-rw-r--r--test/CodeGen/X86/scavenger.mir29
-rw-r--r--test/CodeGen/X86/select.ll10
-rw-r--r--test/CodeGen/X86/shuffle-vs-trunc-128.ll156
-rw-r--r--test/CodeGen/X86/shuffle-vs-trunc-256.ll341
-rw-r--r--test/CodeGen/X86/splat-for-size.ll20
-rw-r--r--test/CodeGen/X86/sse-scalar-fp-arith.ll10
-rw-r--r--test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll3
-rw-r--r--test/CodeGen/X86/sse2.ll438
-rw-r--r--test/CodeGen/X86/sse3.ll202
-rw-r--r--test/CodeGen/X86/stack-probe-red-zone.ll21
-rw-r--r--test/CodeGen/X86/stack-probes.ll29
-rw-r--r--test/CodeGen/X86/vec_ctbits.ll38
-rw-r--r--test/CodeGen/X86/vector-blend.ll74
-rw-r--r--test/CodeGen/X86/vector-interleave.ll12
-rw-r--r--test/CodeGen/X86/vector-merge-store-fp-constants.ll32
-rw-r--r--test/CodeGen/X86/vector-shuffle-128-v16.ll15
-rw-r--r--test/CodeGen/X86/vector-shuffle-128-v2.ll17
-rw-r--r--test/CodeGen/X86/vector-shuffle-128-v4.ll17
-rw-r--r--test/CodeGen/X86/vector-shuffle-128-v8.ll15
-rw-r--r--test/CodeGen/X86/vector-shuffle-256-v16.ll8
-rw-r--r--test/CodeGen/X86/vector-shuffle-256-v32.ll8
-rw-r--r--test/CodeGen/X86/vector-shuffle-256-v4.ll8
-rw-r--r--test/CodeGen/X86/vector-shuffle-256-v8.ll8
-rw-r--r--test/CodeGen/X86/vector-shuffle-masked.ll2
-rw-r--r--test/CodeGen/X86/vector-shuffle-sse1.ll18
-rw-r--r--test/CodeGen/X86/vector-shuffle-v1.ll6
-rw-r--r--test/CodeGen/X86/vector-shuffle-v48.ll57
-rw-r--r--test/CodeGen/X86/vector-shuffle-variable-128.ll10
-rw-r--r--test/CodeGen/X86/vector-shuffle-variable-256.ll5
-rw-r--r--test/CodeGen/X86/vector-tzcnt-128.ll758
-rw-r--r--test/CodeGen/X86/vector-tzcnt-256.ll162
-rw-r--r--test/CodeGen/X86/vector-tzcnt-512.ll108
-rw-r--r--test/CodeGen/X86/vector-zmov.ll12
-rw-r--r--test/CodeGen/X86/widen_arith-1.ll76
-rw-r--r--test/CodeGen/X86/widen_arith-2.ll104
-rw-r--r--test/CodeGen/X86/widen_arith-3.ll88
-rw-r--r--test/CodeGen/X86/widen_arith-4.ll83
-rw-r--r--test/CodeGen/X86/widen_arith-5.ll83
-rw-r--r--test/CodeGen/X86/widen_arith-6.ll88
-rw-r--r--test/CodeGen/X86/widen_cast-1.ll104
-rw-r--r--test/CodeGen/X86/widen_cast-2.ll77
-rw-r--r--test/CodeGen/X86/widen_cast-3.ll19
-rw-r--r--test/CodeGen/X86/widen_cast-4.ll169
-rw-r--r--test/CodeGen/X86/widen_conv-1.ll12
-rw-r--r--test/CodeGen/X86/x86-interleaved-access.ll151
-rw-r--r--test/CodeGen/X86/xray-attribute-instrumentation.ll18
-rw-r--r--test/CodeGen/X86/xray-custom-log.ll2
-rw-r--r--test/CodeGen/X86/xray-log-args.ll4
-rw-r--r--test/CodeGen/X86/xray-tail-call-sled.ll18
-rw-r--r--test/DebugInfo/COFF/globals.ll38
-rw-r--r--test/DebugInfo/Generic/sugared-constants.ll30
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-str-offsets.s59
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-str-offsets.x86_64.obin4000 -> 4344 bytes
-rw-r--r--test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir249
-rw-r--r--test/DebugInfo/MIR/X86/bit-piece-dh.mir10
-rw-r--r--test/DebugInfo/PDB/dbi-bytes.test59
-rw-r--r--test/DebugInfo/PDB/module-bytes.test85
-rw-r--r--test/DebugInfo/PDB/pdb-yaml-symbols.test3
-rw-r--r--test/DebugInfo/PDB/pdbdump-headers.test61
-rw-r--r--test/DebugInfo/PDB/pdbdump-merge-ids-and-types.test4
-rw-r--r--test/DebugInfo/PDB/pdbdump-mergeids.test4
-rw-r--r--test/DebugInfo/PDB/pdbdump-mergetypes.test2
-rw-r--r--test/DebugInfo/PDB/pdbdump-raw-blocks.test17
-rw-r--r--test/DebugInfo/PDB/pdbdump-raw-bytes.test25
-rw-r--r--test/DebugInfo/PDB/pdbdump-raw-stream.test67
-rw-r--r--test/DebugInfo/PDB/pdbdump-readwrite.test4
-rw-r--r--test/DebugInfo/PDB/pdbdump-yaml-types.test2
-rw-r--r--test/DebugInfo/PDB/tpi-bytes.test27
-rw-r--r--test/DebugInfo/X86/dbg-merge-loc-entry.ll2
-rw-r--r--test/DebugInfo/X86/inlined-formal-parameter.ll14
-rw-r--r--test/DebugInfo/X86/parameters.ll13
-rw-r--r--test/DebugInfo/X86/partial-constant.ll82
-rw-r--r--test/DebugInfo/X86/pieces-3.ll9
-rw-r--r--test/DebugInfo/X86/reference-argument.ll10
-rw-r--r--test/DebugInfo/X86/this-stack_value.ll4
-rw-r--r--test/DebugInfo/dwarfdump-str-offsets.test36
-rw-r--r--test/MC/AArch64/label-arithmetic-diags-darwin.s4
-rw-r--r--test/MC/AMDGPU/flat-global.s87
-rw-r--r--test/MC/AMDGPU/gfx7_asm_all.s54199
-rw-r--r--test/MC/AMDGPU/gfx8_asm_all.s59352
-rw-r--r--test/MC/AMDGPU/gfx9_asm_all.s80057
-rw-r--r--test/MC/AMDGPU/mtbuf.s36
-rw-r--r--test/MC/AMDGPU/regression/bug28168.s12
-rw-r--r--test/MC/AMDGPU/vop3-errs.s24
-rw-r--r--test/MC/AMDGPU/vop3.s6
-rw-r--r--test/MC/ARM/basic-thumb2-instructions.s16
-rw-r--r--test/MC/ARM/elf-movt.s58
-rw-r--r--test/MC/ARM/thumb-branches.s36
-rw-r--r--test/MC/ARM/thumb2-beq-fixup.s39
-rw-r--r--test/MC/AsmParser/negativ_altmacro_expression.s2
-rw-r--r--test/MC/COFF/bad-expr.s2
-rw-r--r--test/MC/COFF/cross-section-relative-err.s12
-rw-r--r--test/MC/COFF/cross-section-relative.s109
-rw-r--r--test/MC/COFF/diff.s6
-rw-r--r--test/MC/COFF/secidx-diagnostic.s10
-rw-r--r--test/MC/COFF/secrel32-undef.s30
-rw-r--r--test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt61128
-rw-r--r--test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt88936
-rw-r--r--test/MC/Disassembler/AMDGPU/mtbuf_vi.txt22
-rw-r--r--test/MC/Disassembler/Mips/mips32r6/valid-mips32r6-el.txt2
-rw-r--r--test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt2
-rw-r--r--test/MC/Disassembler/Mips/mips64r6/valid-mips64r6-el.txt4
-rw-r--r--test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt4
-rw-r--r--test/MC/ELF/bad-expr.s6
-rw-r--r--test/MC/ELF/bad-expr2.s7
-rw-r--r--test/MC/Hexagon/duplex-addi-global-imm.s15
-rw-r--r--test/MC/Mips/mips-rdata.s13
-rw-r--r--test/MC/Mips/mips-register-names-o32.s1
-rw-r--r--test/MC/Mips/mips32r6/valid.s2
-rw-r--r--test/MC/Mips/mips64-register-names-n32-n64.s1
-rw-r--r--test/MC/Mips/mips64-register-names-o32.s1
-rw-r--r--test/MC/Mips/mips64r6/valid.s4
-rw-r--r--test/MC/WebAssembly/func-address.ll5
-rw-r--r--test/MC/WebAssembly/stack-ptr.ll21
-rw-r--r--test/MC/X86/macho-reloc-errors-x86_64.s2
-rw-r--r--test/Object/obj2yaml.test2
-rw-r--r--test/ObjectYAML/wasm/header_invalid_version.yaml2
-rw-r--r--test/ObjectYAML/wasm/weak_symbols.yaml40
-rw-r--r--test/TableGen/GlobalISelEmitter.td26
-rw-r--r--test/Transforms/CodeGenPrepare/X86/memcmp.ll156
-rw-r--r--test/Transforms/CorrelatedValuePropagation/add.ll95
-rw-r--r--test/Transforms/GVN/PRE/phi-translate-2.ll131
-rw-r--r--test/Transforms/GVN/PRE/pre-gep-load.ll2
-rw-r--r--test/Transforms/GVN/PRE/pre-load.ll6
-rw-r--r--test/Transforms/IndVarSimplify/huge_muls.ll87
-rw-r--r--test/Transforms/InferFunctionAttrs/annotate.ll7
-rw-r--r--test/Transforms/Inline/AArch64/switch.ll37
-rw-r--r--test/Transforms/Inline/inline-probe-stack.ll20
-rw-r--r--test/Transforms/Inline/inline-stack-probe-size.ll29
-rw-r--r--test/Transforms/InstCombine/add.ll12
-rw-r--r--test/Transforms/InstCombine/and-or-not.ll48
-rw-r--r--test/Transforms/InstCombine/bitcast-bigendian.ll18
-rw-r--r--test/Transforms/InstCombine/bitcast.ll26
-rw-r--r--test/Transforms/InstCombine/compare-3way.ll395
-rw-r--r--test/Transforms/InstCombine/ctpop.ll39
-rw-r--r--test/Transforms/InstCombine/early_constfold_changes_IR.ll20
-rw-r--r--test/Transforms/InstCombine/early_dce_clobbers_callgraph.ll31
-rw-r--r--test/Transforms/InstCombine/icmp-xor-signbit.ll21
-rw-r--r--test/Transforms/InstCombine/intrinsics.ll41
-rw-r--r--test/Transforms/InstCombine/logical-select.ll4
-rw-r--r--test/Transforms/InstCombine/memcpy-from-global.ll31
-rw-r--r--test/Transforms/InstCombine/or-xor.ll4
-rw-r--r--test/Transforms/InstCombine/phi-select-constant.ll29
-rw-r--r--test/Transforms/InstCombine/pr33453.ll15
-rw-r--r--test/Transforms/InstCombine/select-with-bitwise-ops.ll78
-rw-r--r--test/Transforms/InstCombine/select.ll4
-rw-r--r--test/Transforms/InstCombine/set.ll22
-rw-r--r--test/Transforms/InstCombine/xor2.ll4
-rw-r--r--test/Transforms/InterleavedAccess/X86/interleaved-accesses-64bits-avx.ll73
-rw-r--r--test/Transforms/InterleavedAccess/X86/interleavedStore.ll17
-rw-r--r--test/Transforms/LICM/strlen.ll19
-rw-r--r--test/Transforms/LoadCombine/deadcode.ll39
-rw-r--r--test/Transforms/LoadCombine/load-combine-aa.ll63
-rw-r--r--test/Transforms/LoadCombine/load-combine-assume.ll44
-rw-r--r--test/Transforms/LoadCombine/load-combine-negativegep.ll19
-rw-r--r--test/Transforms/LoadCombine/load-combine.ll190
-rw-r--r--test/Transforms/LoopDeletion/unreachable-loops.ll76
-rwxr-xr-xtest/Transforms/LoopRotate/catchret.ll41
-rw-r--r--test/Transforms/LoopSimplify/basictest.ll243
-rw-r--r--test/Transforms/LoopStrengthReduce/X86/bin_power.ll264
-rw-r--r--test/Transforms/LoopStrengthReduce/X86/canonical.ll2
-rw-r--r--test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll4
-rw-r--r--test/Transforms/LoopStrengthReduce/X86/lsr-expand-quadratic.ll12
-rw-r--r--test/Transforms/LoopStrengthReduce/X86/lsr-insns-1.ll4
-rw-r--r--test/Transforms/LoopStrengthReduce/X86/lsr-insns-2.ll4
-rw-r--r--test/Transforms/LoopStrengthReduce/X86/nested-loop.ll22
-rw-r--r--test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll1
-rw-r--r--test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll1
-rw-r--r--test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll1
-rw-r--r--test/Transforms/LoopVectorize/AMDGPU/packed-math.ll34
-rw-r--r--test/Transforms/LoopVectorize/X86/small-size.ll26
-rw-r--r--test/Transforms/LoopVectorize/tripcount.ll91
-rw-r--r--test/Transforms/LowerTypeTests/export-icall.ll9
-rw-r--r--test/Transforms/NewGVN/pr33461.ll36
-rw-r--r--test/Transforms/PGOProfile/counter_promo.ll68
-rw-r--r--test/Transforms/PGOProfile/counter_promo_exit_merge.ll74
-rw-r--r--test/Transforms/PGOProfile/counter_promo_mexits.ll80
-rw-r--r--test/Transforms/PGOProfile/memop_size_from_strlen.ll14
-rw-r--r--test/Transforms/Reassociate/fast-ReassociateVector.ll18
-rw-r--r--test/Transforms/Reassociate/xor_reassoc.ll101
-rw-r--r--test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll195
-rw-r--r--test/Transforms/SLPVectorizer/AMDGPU/simplebb.ll70
-rw-r--r--test/Transforms/SROA/non-integral-pointers.ll46
-rw-r--r--test/Transforms/SampleProfile/Inputs/einline.prof3
-rw-r--r--test/Transforms/SampleProfile/early-inline.ll16
-rw-r--r--test/Transforms/TailCallElim/reorder_load.ll27
-rw-r--r--test/tools/llvm-dwarfdump/X86/apple_names_verify_buckets.s2
-rw-r--r--test/tools/llvm-dwarfdump/X86/no_apple_names_verify_buckets.s174
-rwxr-xr-xtest/tools/llvm-nm/X86/Inputs/Strip-ST.dylib.macho-x86_64bin0 -> 8344 bytes
-rw-r--r--test/tools/llvm-nm/X86/dyldinfo.test18
-rw-r--r--test/tools/llvm-nm/wasm/exports.yaml11
-rw-r--r--test/tools/llvm-nm/wasm/weak-symbols.yaml49
-rwxr-xr-xtest/tools/llvm-objdump/AArch64/Inputs/kextbundle.macho-aarch64bin0 -> 49260 bytes
-rw-r--r--test/tools/llvm-objdump/AArch64/macho-kextbundle.test9
-rwxr-xr-xtest/tools/llvm-objdump/X86/Inputs/kextbundle.macho-x86_64bin0 -> 4152 bytes
-rw-r--r--test/tools/llvm-objdump/X86/macho-disassembly-kextbundle.test9
-rw-r--r--test/tools/llvm-objdump/X86/macho-info-plist.test4
-rw-r--r--test/tools/llvm-objdump/X86/macho-objc-meta-data.test4
-rw-r--r--test/tools/llvm-objdump/macho-exports-trie.test10
-rw-r--r--test/tools/llvm-readobj/Inputs/coff-load-config-data-end.exebin0 -> 1536 bytes
-rw-r--r--test/tools/llvm-readobj/Inputs/coff-load-config-x64.dllbin0 -> 9728 bytes
-rw-r--r--test/tools/llvm-readobj/Inputs/coff-load-config-x86.dllbin0 -> 8704 bytes
-rw-r--r--test/tools/llvm-readobj/coff-load-config.test93
-rw-r--r--test/tools/obj2yaml/invalid_input_file.test4
-rw-r--r--tools/bugpoint/CMakeLists.txt1
-rw-r--r--tools/bugpoint/LLVMBuild.txt1
-rw-r--r--tools/bugpoint/bugpoint.cpp8
-rw-r--r--tools/dsymutil/DwarfLinker.cpp14
-rw-r--r--tools/lli/OrcLazyJIT.cpp80
-rw-r--r--tools/lli/OrcLazyJIT.h135
-rw-r--r--tools/llvm-cvtres/llvm-cvtres.cpp70
-rw-r--r--tools/llvm-cvtres/llvm-cvtres.h17
-rw-r--r--tools/llvm-dwp/llvm-dwp.cpp4
-rw-r--r--tools/llvm-nm/llvm-nm.cpp597
-rw-r--r--tools/llvm-objdump/MachODump.cpp82
-rw-r--r--tools/llvm-pdbutil/Analyze.cpp28
-rw-r--r--tools/llvm-pdbutil/BytesOutputStyle.cpp501
-rw-r--r--tools/llvm-pdbutil/BytesOutputStyle.h67
-rw-r--r--tools/llvm-pdbutil/CMakeLists.txt4
-rw-r--r--tools/llvm-pdbutil/CompactTypeDumpVisitor.cpp59
-rw-r--r--tools/llvm-pdbutil/CompactTypeDumpVisitor.h49
-rw-r--r--tools/llvm-pdbutil/Diff.cpp273
-rw-r--r--tools/llvm-pdbutil/DumpOutputStyle.cpp (renamed from tools/llvm-pdbutil/RawOutputStyle.cpp)229
-rw-r--r--tools/llvm-pdbutil/DumpOutputStyle.h (renamed from tools/llvm-pdbutil/RawOutputStyle.h)14
-rw-r--r--tools/llvm-pdbutil/LinePrinter.cpp140
-rw-r--r--tools/llvm-pdbutil/LinePrinter.h15
-rw-r--r--tools/llvm-pdbutil/MinimalSymbolDumper.cpp16
-rw-r--r--tools/llvm-pdbutil/llvm-pdbutil.cpp332
-rw-r--r--tools/llvm-pdbutil/llvm-pdbutil.h42
-rw-r--r--tools/llvm-profdata/llvm-profdata.cpp8
-rw-r--r--tools/llvm-readobj/COFFDumper.cpp140
-rw-r--r--tools/llvm-readobj/ObjDumper.h1
-rw-r--r--tools/llvm-readobj/llvm-readobj.cpp7
-rw-r--r--tools/llvm-stress/llvm-stress.cpp87
-rw-r--r--tools/obj2yaml/obj2yaml.cpp25
-rw-r--r--tools/obj2yaml/wasm2yaml.cpp73
-rw-r--r--tools/yaml2obj/yaml2wasm.cpp39
-rw-r--r--unittests/ADT/StringExtrasTest.cpp20
-rw-r--r--unittests/ADT/TripleTest.cpp6
-rw-r--r--unittests/Analysis/AliasSetTrackerTest.cpp87
-rw-r--r--unittests/Analysis/CMakeLists.txt1
-rw-r--r--unittests/BinaryFormat/TestFileMagic.cpp3
-rw-r--r--unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp52
-rw-r--r--unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp87
-rw-r--r--unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp29
-rw-r--r--unittests/DebugInfo/PDB/PDBApiTest.cpp4
-rw-r--r--unittests/ExecutionEngine/Orc/LazyEmittingLayerTest.cpp8
-rw-r--r--unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp177
-rw-r--r--unittests/ExecutionEngine/Orc/OrcCAPITest.cpp13
-rw-r--r--unittests/ExecutionEngine/Orc/OrcTestCommon.h48
-rw-r--r--unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp56
-rw-r--r--unittests/Option/OptionParsingTest.cpp13
-rw-r--r--unittests/ProfileData/CoverageMappingTest.cpp55
-rw-r--r--unittests/ProfileData/InstrProfTest.cpp16
-rw-r--r--unittests/Support/CachePruningTest.cpp34
-rw-r--r--unittests/Support/CommandLineTest.cpp6
-rw-r--r--unittests/Support/ErrorTest.cpp4
-rw-r--r--utils/TableGen/CodeGenDAGPatterns.cpp30
-rw-r--r--utils/TableGen/CodeGenDAGPatterns.h12
-rw-r--r--utils/TableGen/DAGISelMatcherGen.cpp6
-rw-r--r--utils/TableGen/GlobalISelEmitter.cpp120
-rw-r--r--utils/TableGen/OptParserEmitter.cpp10
-rwxr-xr-xutils/opt-viewer/opt-stats.py6
-rwxr-xr-xutils/opt-viewer/opt-viewer.py4
-rw-r--r--utils/opt-viewer/optrecord.py24
-rwxr-xr-xutils/release/test-release.sh8
982 files changed, 295700 insertions, 97897 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 431785d3dd0c..9cdc688d42b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -94,7 +94,7 @@ if(CMAKE_HOST_APPLE AND APPLE)
set(LIBTOOL_NO_WARNING_FLAG "-no_warning_for_no_symbols")
endif()
endif()
-
+
foreach(lang ${languages})
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
"${CMAKE_LIBTOOL} -static ${LIBTOOL_NO_WARNING_FLAG} -o <TARGET> \
@@ -570,6 +570,10 @@ if (LLVM_BUILD_STATIC)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
endif()
+# Override the default target with an environment variable named by LLVM_TARGET_TRIPLE_ENV.
+set(LLVM_TARGET_TRIPLE_ENV CACHE STRING "The name of environment variable to override default target. Disabled by blank.")
+mark_as_advanced(LLVM_TARGET_TRIPLE_ENV)
+
# All options referred to from HandleLLVMOptions have to be specified
# BEFORE this include, otherwise options will not be correctly set on
# first cmake run
@@ -800,7 +804,8 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
endif(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include llvm/Support/Solaris.h")
+ # special hack for Solaris to handle crazy system sys/regset.h
+ include_directories("${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/Solaris")
endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
# Make sure we don't get -rdynamic in every binary. For those that need it,
diff --git a/CODE_OWNERS.TXT b/CODE_OWNERS.TXT
index ec4561d99169..3339c039ff85 100644
--- a/CODE_OWNERS.TXT
+++ b/CODE_OWNERS.TXT
@@ -195,6 +195,7 @@ D: MemorySanitizer (LLVM part)
N: Craig Topper
E: craig.topper@gmail.com
+E: craig.topper@intel.com
D: X86 Backend
N: Ulrich Weigand
diff --git a/CREDITS.TXT b/CREDITS.TXT
index 20bd553ae2bc..1773f9dd52d0 100644
--- a/CREDITS.TXT
+++ b/CREDITS.TXT
@@ -220,7 +220,7 @@ W: http://randomhacks.net/
D: llvm-config script
N: Anton Korobeynikov
-E: asl@math.spbu.ru
+E: anton at korobeynikov dot info
D: Mingw32 fixes, cross-compiling support, stdcall/fastcall calling conv.
D: x86/linux PIC codegen, aliases, regparm/visibility attributes
D: Switch lowering refactoring
diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
index e011bb402757..2b54bdbf2900 100755
--- a/cmake/modules/AddLLVM.cmake
+++ b/cmake/modules/AddLLVM.cmake
@@ -1133,6 +1133,19 @@ function(configure_lit_site_cfg input output)
set(LIT_SITE_CFG_IN_HEADER "## Autogenerated from ${input}\n## Do not edit!")
+ # Override config_target_triple (and the env)
+ if(LLVM_TARGET_TRIPLE_ENV)
+ # This is expanded into the heading.
+ string(CONCAT LIT_SITE_CFG_IN_HEADER "${LIT_SITE_CFG_IN_HEADER}\n\n"
+ "import os\n"
+ "target_env = \"${LLVM_TARGET_TRIPLE_ENV}\"\n"
+ "config.target_triple = config.environment[target_env] = os.environ.get(target_env, \"${TARGET_TRIPLE}\")\n"
+ )
+
+ # This is expanded to; config.target_triple = ""+config.target_triple+""
+ set(TARGET_TRIPLE "\"+config.target_triple+\"")
+ endif()
+
configure_file(${input} ${output} @ONLY)
endfunction()
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
index c3325db11788..98f58d7b197d 100644
--- a/cmake/modules/HandleLLVMOptions.cmake
+++ b/cmake/modules/HandleLLVMOptions.cmake
@@ -642,6 +642,9 @@ if(LLVM_USE_SANITIZER)
append_common_sanitizer_flags()
append("-fsanitize=address,undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all"
CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+ elseif (LLVM_USE_SANITIZER STREQUAL "Leaks")
+ append_common_sanitizer_flags()
+ append("-fsanitize=leak" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
else()
message(FATAL_ERROR "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}")
endif()
diff --git a/cmake/modules/TableGen.cmake b/cmake/modules/TableGen.cmake
index 21421e4fdbd2..8c3e2d7d7004 100644
--- a/cmake/modules/TableGen.cmake
+++ b/cmake/modules/TableGen.cmake
@@ -14,8 +14,31 @@ function(tablegen project ofn)
message(FATAL_ERROR "${project}_TABLEGEN_EXE not set")
endif()
- file(GLOB local_tds "*.td")
- file(GLOB_RECURSE global_tds "${LLVM_MAIN_INCLUDE_DIR}/llvm/*.td")
+ # Use depfile instead of globbing arbitrary *.td(s)
+ # DEPFILE is available for Ninja Generator with CMake>=3.7.
+ if(CMAKE_GENERATOR STREQUAL "Ninja" AND NOT CMAKE_VERSION VERSION_LESS 3.7)
+ # Make output path relative to build.ninja, assuming located on
+ # ${CMAKE_BINARY_DIR}.
+ # CMake emits build targets as relative paths but Ninja doesn't identify
+ # absolute path (in *.d) as relative path (in build.ninja)
+ # Note that tblgen is executed on ${CMAKE_BINARY_DIR} as working directory.
+ file(RELATIVE_PATH ofn_rel
+ ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/${ofn})
+ set(additional_cmdline
+ -o ${ofn_rel}.tmp
+ -d ${ofn_rel}.d
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ DEPFILE ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.d
+ )
+ set(local_tds)
+ set(global_tds)
+ else()
+ file(GLOB local_tds "*.td")
+ file(GLOB_RECURSE global_tds "${LLVM_MAIN_INCLUDE_DIR}/llvm/*.td")
+ set(additional_cmdline
+ -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
+ )
+ endif()
if (IS_ABSOLUTE ${LLVM_TARGET_DEFINITIONS})
set(LLVM_TARGET_DEFINITIONS_ABSOLUTE ${LLVM_TARGET_DEFINITIONS})
@@ -44,7 +67,7 @@ function(tablegen project ofn)
COMMAND ${${project}_TABLEGEN_EXE} ${ARGN} -I ${CMAKE_CURRENT_SOURCE_DIR}
${LLVM_TABLEGEN_FLAGS}
${LLVM_TARGET_DEFINITIONS_ABSOLUTE}
- -o ${CMAKE_CURRENT_BINARY_DIR}/${ofn}.tmp
+ ${additional_cmdline}
# The file in LLVM_TARGET_DEFINITIONS may be not in the current
# directory and local_tds may not contain it, so we must
# explicitly list it here:
@@ -104,7 +127,8 @@ macro(add_tablegen target project)
set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
- if(NOT XCODE)
+ # CMake-3.9 doesn't let compilation units depend on their dependent libraries.
+ if(NOT (CMAKE_GENERATOR STREQUAL "Ninja" AND NOT CMAKE_VERSION VERSION_LESS 3.9) AND NOT XCODE)
# FIXME: It leaks to user, callee of add_tablegen.
set(LLVM_ENABLE_OBJLIB ON)
endif()
diff --git a/docs/AMDGPUUsage.rst b/docs/AMDGPUUsage.rst
index caa697ca28cd..57822ae9ab0a 100644
--- a/docs/AMDGPUUsage.rst
+++ b/docs/AMDGPUUsage.rst
@@ -587,7 +587,7 @@ Code Object Metadata
The code object metadata is specified by the ``NT_AMD_AMDHSA_METADATA`` note
record (see :ref:`amdgpu-note-records`).
-The metadata is specified as a YAML formated string (see [YAML]_ and
+The metadata is specified as a YAML formatted string (see [YAML]_ and
:doc:`YamlIO`).
The metadata is represented as a single YAML document comprised of the mapping
@@ -1031,11 +1031,11 @@ Global variable
appropriate section according to if it has initialized data or is readonly.
If the symbol is external then its section is ``STN_UNDEF`` and the loader
- will resolve relocations using the defintion provided by another code object
+ will resolve relocations using the definition provided by another code object
or explicitly defined by the runtime.
All global symbols, whether defined in the compilation unit or external, are
- accessed by the machine code indirectly throught a GOT table entry. This
+ accessed by the machine code indirectly through a GOT table entry. This
allows them to be preemptable. The GOT table is only supported when the target
triple OS is ``amdhsa`` (see :ref:`amdgpu-target-triples`).
@@ -1160,7 +1160,7 @@ Register Mapping
Define DWARF register enumeration.
If want to present a wavefront state then should expose vector registers as
- 64 wide (rather than per work-item view that LLVM uses). Either as seperate
+ 64 wide (rather than per work-item view that LLVM uses). Either as separate
registers, or a 64x4 byte single register. In either case use a new LANE op
(akin to XDREF) to select the current lane usage in a location
expression. This would also allow scalar register spilling to vector register
@@ -1653,7 +1653,7 @@ CP microcode requires the Kernel descritor to be allocated on 64 byte alignment.
``COMPUTE_PGM_RSRC2.USER_SGPR``.
6 1 bit enable_trap_handler Set to 1 if code contains a
TRAP instruction which
- requires a trap hander to
+ requires a trap handler to
be enabled.
CP sets
@@ -2146,7 +2146,7 @@ This section describes the mapping of LLVM memory model onto AMDGPU machine code
.. TODO
Update when implementation complete.
- Support more relaxed OpenCL memory model to be controled by environment
+ Support more relaxed OpenCL memory model to be controlled by environment
component of target triple.
The AMDGPU backend supports the memory synchronization scopes specified in
@@ -2201,7 +2201,7 @@ For GFX6-GFX9:
can be reordered relative to each other, which can result in reordering the
visibility of vector memory operations with respect to LDS operations of other
wavefronts in the same work-group. A ``s_waitcnt lgkmcnt(0)`` is required to
- ensure synchonization between LDS operations and vector memory operations
+ ensure synchronization between LDS operations and vector memory operations
between waves of a work-group, but not between operations performed by the
same wavefront.
* The vector memory operations are performed as wavefront wide operations and
@@ -2226,7 +2226,7 @@ For GFX6-GFX9:
scalar memory operations performed by waves executing in different work-groups
(which may be executing on different CUs) of an agent can be reordered
relative to each other. A ``s_waitcnt vmcnt(0)`` is required to ensure
- synchonization between vector memory operations of different CUs. It ensures a
+ synchronization between vector memory operations of different CUs. It ensures a
previous vector memory operation has completed before executing a subsequent
vector memory or LDS operation and so can be used to meet the requirements of
acquire and release.
@@ -2268,7 +2268,7 @@ and vector L1 caches are invalidated between kernel dispatches by CP since
constant address space data may change between kernel dispatch executions. See
:ref:`amdgpu-amdhsa-memory-spaces`.
-The one exeception is if scalar writes are used to spill SGPR registers. In this
+The one execption is if scalar writes are used to spill SGPR registers. In this
case the AMDGPU backend ensures the memory location used to spill is never
accessed by vector memory operations at the same time. If scalar writes are used
then a ``s_dcache_wb`` is inserted before the ``s_endpgm`` and before a function
@@ -3310,7 +3310,7 @@ table
be moved before the acquire.
- If a fence then same as load atomic, plus no preceding
associated fence-paired-atomic can be moved after the fence.
- release - If a store atomic/atomicrmw then no preceeding load/load
+ release - If a store atomic/atomicrmw then no preceding load/load
atomic/store/ store atomic/atomicrmw/fence instruction can
be moved after the release.
- If a fence then same as store atomic, plus no following
diff --git a/docs/GetElementPtr.rst b/docs/GetElementPtr.rst
index d13479dabca8..b593871695fa 100644
--- a/docs/GetElementPtr.rst
+++ b/docs/GetElementPtr.rst
@@ -27,7 +27,7 @@ questions.
What is the first index of the GEP instruction?
-----------------------------------------------
-Quick answer: The index stepping through the first operand.
+Quick answer: The index stepping through the second operand.
The confusion with the first index usually arises from thinking about the
GetElementPtr instruction as if it was a C index operator. They aren't the
@@ -59,7 +59,7 @@ Sometimes this question gets rephrased as:
won't be dereferenced?*
The answer is simply because memory does not have to be accessed to perform the
-computation. The first operand to the GEP instruction must be a value of a
+computation. The second operand to the GEP instruction must be a value of a
pointer type. The value of the pointer is provided directly to the GEP
instruction as an operand without any need for accessing memory. It must,
therefore be indexed and requires an index operand. Consider this example:
@@ -80,8 +80,8 @@ therefore be indexed and requires an index operand. Consider this example:
In this "C" example, the front end compiler (Clang) will generate three GEP
instructions for the three indices through "P" in the assignment statement. The
-function argument ``P`` will be the first operand of each of these GEP
-instructions. The second operand indexes through that pointer. The third
+function argument ``P`` will be the second operand of each of these GEP
+instructions. The third operand indexes through that pointer. The fourth
operand will be the field offset into the ``struct munger_struct`` type, for
either the ``f1`` or ``f2`` field. So, in LLVM assembly the ``munge`` function
looks like:
@@ -100,8 +100,8 @@ looks like:
ret void
}
-In each case the first operand is the pointer through which the GEP instruction
-starts. The same is true whether the first operand is an argument, allocated
+In each case the second operand is the pointer through which the GEP instruction
+starts. The same is true whether the second operand is an argument, allocated
memory, or a global variable.
To make this clear, let's consider a more obtuse example:
@@ -159,11 +159,11 @@ confusion:
i32 }*``. That is, ``%MyStruct`` is a pointer to a structure containing a
pointer to a ``float`` and an ``i32``.
-#. Point #1 is evidenced by noticing the type of the first operand of the GEP
+#. Point #1 is evidenced by noticing the type of the second operand of the GEP
instruction (``%MyStruct``) which is ``{ float*, i32 }*``.
#. The first index, ``i64 0`` is required to step over the global variable
- ``%MyStruct``. Since the first argument to the GEP instruction must always
+ ``%MyStruct``. Since the second argument to the GEP instruction must always
be a value of pointer type, the first index steps through that pointer. A
value of 0 means 0 elements offset from that pointer.
@@ -267,7 +267,7 @@ in the IR. In the future, it will probably be outright disallowed.
What effect do address spaces have on GEPs?
-------------------------------------------
-None, except that the address space qualifier on the first operand pointer type
+None, except that the address space qualifier on the second operand pointer type
always matches the address space qualifier on the result type.
How is GEP different from ``ptrtoint``, arithmetic, and ``inttoptr``?
@@ -526,7 +526,7 @@ instruction:
#. The GEP instruction never accesses memory, it only provides pointer
computations.
-#. The first operand to the GEP instruction is always a pointer and it must be
+#. The second operand to the GEP instruction is always a pointer and it must be
indexed.
#. There are no superfluous indices for the GEP instruction.
diff --git a/docs/GoldPlugin.rst b/docs/GoldPlugin.rst
index 88b944a2a0fd..78d38ccb32bd 100644
--- a/docs/GoldPlugin.rst
+++ b/docs/GoldPlugin.rst
@@ -7,7 +7,7 @@ Introduction
Building with link time optimization requires cooperation from
the system linker. LTO support on Linux systems requires that you use the
-`gold linker`_ which supports LTO via plugins. This is the same mechanism
+`gold linker`_ or ld.bfd from binutils >= 2.21.51.0.2, as they support LTO via plugins. This is the same mechanism
used by the `GCC LTO`_ project.
The LLVM gold plugin implements the gold plugin interface on top of
@@ -23,24 +23,22 @@ The LLVM gold plugin implements the gold plugin interface on top of
How to build it
===============
-You need to have gold with plugin support and build the LLVMgold plugin.
-Check whether you have gold running ``/usr/bin/ld -v``. It will report "GNU
-gold" or else "GNU ld" if not. If you have gold, check for plugin support
-by running ``/usr/bin/ld -plugin``. If it complains "missing argument" then
-you have plugin support. If not, such as an "unknown option" error then you
-will either need to build gold or install a version with plugin support.
+Check for plugin support by running ``/usr/bin/ld -plugin``. If it complains
+"missing argument" then you have plugin support. If not, such as an "unknown option"
+error then you will either need to build gold or install a recent version
+of ld.bfd with plugin support and then build gold plugin.
-* Download, configure and build gold with plugin support:
+* Download, configure and build ld.bfd with plugin support:
.. code-block:: bash
$ git clone --depth 1 git://sourceware.org/git/binutils-gdb.git binutils
$ mkdir build
$ cd build
- $ ../binutils/configure --enable-gold --enable-plugins --disable-werror
- $ make all-gold
+ $ ../binutils/configure --disable-werror # ld.bfd includes plugin support by default
+ $ make all-ld
- That should leave you with ``build/gold/ld-new`` which supports
+ That should leave you with ``build/ld/ld-new`` which supports
the ``-plugin`` option. Running ``make`` will additionally build
``build/binutils/ar`` and ``nm-new`` binaries supporting plugins.
diff --git a/docs/LangRef.rst b/docs/LangRef.rst
index 68aa500150ae..2a0812ab930f 100644
--- a/docs/LangRef.rst
+++ b/docs/LangRef.rst
@@ -1468,6 +1468,19 @@ example:
This attribute by itself does not imply restrictions on
inter-procedural optimizations. All of the semantic effects the
patching may have to be separately conveyed via the linkage type.
+``"probe-stack"``
+ This attribute indicates that the function will trigger a guard region
+ in the end of the stack. It ensures that accesses to the stack must be
+ no further apart than the size of the guard region to a previous
+ access of the stack. It takes one required string value, the name of
+ the stack probing function that will be called.
+
+ If a function that has a ``"probe-stack"`` attribute is inlined into
+ a function with another ``"probe-stack"`` attribute, the resulting
+ function has the ``"probe-stack"`` attribute of the caller. If a
+ function that has a ``"probe-stack"`` attribute is inlined into a
+ function that has no ``"probe-stack"`` attribute at all, the resulting
+ function has the ``"probe-stack"`` attribute of the callee.
``readnone``
On a function, this attribute indicates that the function computes its
result (or decides to unwind an exception) based strictly on its arguments,
@@ -1498,6 +1511,21 @@ example:
On an argument, this attribute indicates that the function does not write
through this pointer argument, even though it may write to the memory that
the pointer points to.
+``"stack-probe-size"``
+ This attribute controls the behavior of stack probes: either
+ the ``"probe-stack"`` attribute, or ABI-required stack probes, if any.
+ It defines the size of the guard region. It ensures that if the function
+ may use more stack space than the size of the guard region, stack probing
+ sequence will be emitted. It takes one required integer value, which
+ is 4096 by default.
+
+ If a function that has a ``"stack-probe-size"`` attribute is inlined into
+ a function with another ``"stack-probe-size"`` attribute, the resulting
+ function has the ``"stack-probe-size"`` attribute that has the lower
+ numeric value. If a function that has a ``"stack-probe-size"`` attribute is
+ inlined into a function that has no ``"stack-probe-size"`` attribute
+ at all, the resulting function has the ``"stack-probe-size"`` attribute
+ of the callee.
``writeonly``
On a function, this attribute indicates that the function may write to but
does not read from memory.
@@ -1989,7 +2017,7 @@ A pointer value is *based* on another pointer value according to the
following rules:
- A pointer value formed from a ``getelementptr`` operation is *based*
- on the first value operand of the ``getelementptr``.
+ on the second value operand of the ``getelementptr``.
- The result value of a ``bitcast`` is *based* on the operand of the
``bitcast``.
- A pointer value formed by an ``inttoptr`` is *based* on all pointer
@@ -3166,7 +3194,7 @@ The following is the syntax for constant expressions:
``getelementptr (TY, CSTPTR, IDX0, IDX1, ...)``, ``getelementptr inbounds (TY, CSTPTR, IDX0, IDX1, ...)``
Perform the :ref:`getelementptr operation <i_getelementptr>` on
constants. As with the :ref:`getelementptr <i_getelementptr>`
- instruction, the index list may have zero or more indexes, which are
+ instruction, the index list may have one or more indexes, which are
required to make sense for the type of "pointer to TY".
``select (COND, VAL1, VAL2)``
Perform the :ref:`select operation <i_select>` on constants.
@@ -7805,7 +7833,7 @@ base address to start from. The remaining arguments are indices
that indicate which of the elements of the aggregate object are indexed.
The interpretation of each index is dependent on the type being indexed
into. The first index always indexes the pointer value given as the
-first argument, the second index indexes a value of the type pointed to
+second argument, the second index indexes a value of the type pointed to
(not necessarily the value directly pointed to, since the first index
can be non-zero), etc. The first type indexed into must be a pointer
value, subsequent types can be arrays, vectors, and structs. Note that
diff --git a/docs/Proposals/VectorizationPlan.rst b/docs/Proposals/VectorizationPlan.rst
index 82ce4b2de17a..aed8e3d2b793 100644
--- a/docs/Proposals/VectorizationPlan.rst
+++ b/docs/Proposals/VectorizationPlan.rst
@@ -27,7 +27,7 @@ Vectorization Workflow
VPlan-based vectorization involves three major steps, taking a "scenario-based
approach" to vectorization planning:
-1. Legal Step: check if a loop can be legally vectorized; encode contraints and
+1. Legal Step: check if a loop can be legally vectorized; encode constraints and
artifacts if so.
2. Plan Step:
diff --git a/docs/XRay.rst b/docs/XRay.rst
index d650319e9922..e43f78e5ffe5 100644
--- a/docs/XRay.rst
+++ b/docs/XRay.rst
@@ -150,7 +150,7 @@ variable, where we list down the options and their defaults below.
| xray_logfile_base | ``const char*`` | ``xray-log.`` | Filename base for the |
| | | | XRay logfile. |
+-------------------+-----------------+---------------+------------------------+
-| xray_fdr_log | ``bool`` | ``false`` | Wheter to install the |
+| xray_fdr_log | ``bool`` | ``false`` | Whether to install the |
| | | | Flight Data Recorder |
| | | | (FDR) mode. |
+-------------------+-----------------+---------------+------------------------+
diff --git a/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h b/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
index 847662cc11be..f99722f60e91 100644
--- a/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
+++ b/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
@@ -40,11 +40,11 @@ class KaleidoscopeJIT {
private:
std::unique_ptr<TargetMachine> TM;
const DataLayout DL;
- RTDyldObjectLinkingLayer<> ObjectLayer;
- IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+ RTDyldObjectLinkingLayer ObjectLayer;
+ IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
public:
- using ModuleHandle = decltype(CompileLayer)::ModuleSetHandleT;
+ using ModuleHandle = decltype(CompileLayer)::ModuleHandleT;
KaleidoscopeJIT()
: TM(EngineBuilder().selectTarget()), DL(TM->createDataLayout()),
@@ -72,15 +72,11 @@ public:
return JITSymbol(nullptr);
});
- // Build a singleton module set to hold our module.
- std::vector<std::unique_ptr<Module>> Ms;
- Ms.push_back(std::move(M));
-
// Add the set to the JIT with the resolver we created above and a newly
// created SectionMemoryManager.
- return CompileLayer.addModuleSet(std::move(Ms),
- make_unique<SectionMemoryManager>(),
- std::move(Resolver));
+ return CompileLayer.addModule(std::move(M),
+ make_unique<SectionMemoryManager>(),
+ std::move(Resolver));
}
JITSymbol findSymbol(const std::string Name) {
@@ -91,7 +87,7 @@ public:
}
void removeModule(ModuleHandle H) {
- CompileLayer.removeModuleSet(H);
+ CompileLayer.removeModule(H);
}
};
diff --git a/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h b/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
index a5ac2f017b74..2cd4ed79aafa 100644
--- a/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
+++ b/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
@@ -44,22 +44,22 @@ class KaleidoscopeJIT {
private:
std::unique_ptr<TargetMachine> TM;
const DataLayout DL;
- RTDyldObjectLinkingLayer<> ObjectLayer;
- IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+ RTDyldObjectLinkingLayer ObjectLayer;
+ IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
using OptimizeFunction =
- std::function<std::unique_ptr<Module>(std::unique_ptr<Module>)>;
+ std::function<std::shared_ptr<Module>(std::shared_ptr<Module>)>;
IRTransformLayer<decltype(CompileLayer), OptimizeFunction> OptimizeLayer;
public:
- using ModuleHandle = decltype(OptimizeLayer)::ModuleSetHandleT;
+ using ModuleHandle = decltype(OptimizeLayer)::ModuleHandleT;
KaleidoscopeJIT()
: TM(EngineBuilder().selectTarget()), DL(TM->createDataLayout()),
CompileLayer(ObjectLayer, SimpleCompiler(*TM)),
OptimizeLayer(CompileLayer,
- [this](std::unique_ptr<Module> M) {
+ [this](std::shared_ptr<Module> M) {
return optimizeModule(std::move(M));
}) {
llvm::sys::DynamicLibrary::LoadLibraryPermanently(nullptr);
@@ -85,15 +85,11 @@ public:
return JITSymbol(nullptr);
});
- // Build a singleton module set to hold our module.
- std::vector<std::unique_ptr<Module>> Ms;
- Ms.push_back(std::move(M));
-
// Add the set to the JIT with the resolver we created above and a newly
// created SectionMemoryManager.
- return OptimizeLayer.addModuleSet(std::move(Ms),
- make_unique<SectionMemoryManager>(),
- std::move(Resolver));
+ return OptimizeLayer.addModule(std::move(M),
+ make_unique<SectionMemoryManager>(),
+ std::move(Resolver));
}
JITSymbol findSymbol(const std::string Name) {
@@ -104,11 +100,11 @@ public:
}
void removeModule(ModuleHandle H) {
- OptimizeLayer.removeModuleSet(H);
+ OptimizeLayer.removeModule(H);
}
private:
- std::unique_ptr<Module> optimizeModule(std::unique_ptr<Module> M) {
+ std::shared_ptr<Module> optimizeModule(std::shared_ptr<Module> M) {
// Create a function pass manager.
auto FPM = llvm::make_unique<legacy::FunctionPassManager>(M.get());
diff --git a/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h b/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
index 7acb9c748880..f6fb3071d526 100644
--- a/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
+++ b/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
@@ -47,11 +47,11 @@ class KaleidoscopeJIT {
private:
std::unique_ptr<TargetMachine> TM;
const DataLayout DL;
- RTDyldObjectLinkingLayer<> ObjectLayer;
- IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+ RTDyldObjectLinkingLayer ObjectLayer;
+ IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
using OptimizeFunction =
- std::function<std::unique_ptr<Module>(std::unique_ptr<Module>)>;
+ std::function<std::shared_ptr<Module>(std::shared_ptr<Module>)>;
IRTransformLayer<decltype(CompileLayer), OptimizeFunction> OptimizeLayer;
@@ -59,13 +59,13 @@ private:
CompileOnDemandLayer<decltype(OptimizeLayer)> CODLayer;
public:
- using ModuleHandle = decltype(CODLayer)::ModuleSetHandleT;
+ using ModuleHandle = decltype(CODLayer)::ModuleHandleT;
KaleidoscopeJIT()
: TM(EngineBuilder().selectTarget()), DL(TM->createDataLayout()),
CompileLayer(ObjectLayer, SimpleCompiler(*TM)),
OptimizeLayer(CompileLayer,
- [this](std::unique_ptr<Module> M) {
+ [this](std::shared_ptr<Module> M) {
return optimizeModule(std::move(M));
}),
CompileCallbackManager(
@@ -98,15 +98,11 @@ public:
return JITSymbol(nullptr);
});
- // Build a singleton module set to hold our module.
- std::vector<std::unique_ptr<Module>> Ms;
- Ms.push_back(std::move(M));
-
// Add the set to the JIT with the resolver we created above and a newly
// created SectionMemoryManager.
- return CODLayer.addModuleSet(std::move(Ms),
- make_unique<SectionMemoryManager>(),
- std::move(Resolver));
+ return CODLayer.addModule(std::move(M),
+ make_unique<SectionMemoryManager>(),
+ std::move(Resolver));
}
JITSymbol findSymbol(const std::string Name) {
@@ -117,11 +113,11 @@ public:
}
void removeModule(ModuleHandle H) {
- CODLayer.removeModuleSet(H);
+ CODLayer.removeModule(H);
}
private:
- std::unique_ptr<Module> optimizeModule(std::unique_ptr<Module> M) {
+ std::shared_ptr<Module> optimizeModule(std::shared_ptr<Module> M) {
// Create a function pass manager.
auto FPM = llvm::make_unique<legacy::FunctionPassManager>(M.get());
diff --git a/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h b/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
index 03e42230ae71..d45874e9a693 100644
--- a/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
+++ b/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
@@ -73,11 +73,11 @@ class KaleidoscopeJIT {
private:
std::unique_ptr<TargetMachine> TM;
const DataLayout DL;
- RTDyldObjectLinkingLayer<> ObjectLayer;
- IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+ RTDyldObjectLinkingLayer ObjectLayer;
+ IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
using OptimizeFunction =
- std::function<std::unique_ptr<Module>(std::unique_ptr<Module>)>;
+ std::function<std::shared_ptr<Module>(std::shared_ptr<Module>)>;
IRTransformLayer<decltype(CompileLayer), OptimizeFunction> OptimizeLayer;
@@ -85,14 +85,14 @@ private:
std::unique_ptr<IndirectStubsManager> IndirectStubsMgr;
public:
- using ModuleHandle = decltype(OptimizeLayer)::ModuleSetHandleT;
+ using ModuleHandle = decltype(OptimizeLayer)::ModuleHandleT;
KaleidoscopeJIT()
: TM(EngineBuilder().selectTarget()),
DL(TM->createDataLayout()),
CompileLayer(ObjectLayer, SimpleCompiler(*TM)),
OptimizeLayer(CompileLayer,
- [this](std::unique_ptr<Module> M) {
+ [this](std::shared_ptr<Module> M) {
return optimizeModule(std::move(M));
}),
CompileCallbackMgr(
@@ -125,15 +125,11 @@ public:
return JITSymbol(nullptr);
});
- // Build a singleton module set to hold our module.
- std::vector<std::unique_ptr<Module>> Ms;
- Ms.push_back(std::move(M));
-
// Add the set to the JIT with the resolver we created above and a newly
// created SectionMemoryManager.
- return OptimizeLayer.addModuleSet(std::move(Ms),
- make_unique<SectionMemoryManager>(),
- std::move(Resolver));
+ return OptimizeLayer.addModule(std::move(M),
+ make_unique<SectionMemoryManager>(),
+ std::move(Resolver));
}
Error addFunctionAST(std::unique_ptr<FunctionAST> FnAST) {
@@ -199,7 +195,7 @@ public:
}
void removeModule(ModuleHandle H) {
- OptimizeLayer.removeModuleSet(H);
+ OptimizeLayer.removeModule(H);
}
private:
@@ -210,7 +206,7 @@ private:
return MangledNameStream.str();
}
- std::unique_ptr<Module> optimizeModule(std::unique_ptr<Module> M) {
+ std::shared_ptr<Module> optimizeModule(std::shared_ptr<Module> M) {
// Create a function pass manager.
auto FPM = llvm::make_unique<legacy::FunctionPassManager>(M.get());
diff --git a/examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h b/examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h
index 0ee9d094ab82..e889c6d34322 100644
--- a/examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h
+++ b/examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h
@@ -78,11 +78,11 @@ class KaleidoscopeJIT {
private:
std::unique_ptr<TargetMachine> TM;
const DataLayout DL;
- RTDyldObjectLinkingLayer<> ObjectLayer;
- IRCompileLayer<decltype(ObjectLayer)> CompileLayer;
+ RTDyldObjectLinkingLayer ObjectLayer;
+ IRCompileLayer<decltype(ObjectLayer), SimpleCompiler> CompileLayer;
using OptimizeFunction =
- std::function<std::unique_ptr<Module>(std::unique_ptr<Module>)>;
+ std::function<std::shared_ptr<Module>(std::shared_ptr<Module>)>;
IRTransformLayer<decltype(CompileLayer), OptimizeFunction> OptimizeLayer;
@@ -91,7 +91,7 @@ private:
MyRemote &Remote;
public:
- using ModuleHandle = decltype(OptimizeLayer)::ModuleSetHandleT;
+ using ModuleHandle = decltype(OptimizeLayer)::ModuleHandleT;
KaleidoscopeJIT(MyRemote &Remote)
: TM(EngineBuilder().selectTarget(Triple(Remote.getTargetTriple()), "",
@@ -99,7 +99,7 @@ public:
DL(TM->createDataLayout()),
CompileLayer(ObjectLayer, SimpleCompiler(*TM)),
OptimizeLayer(CompileLayer,
- [this](std::unique_ptr<Module> M) {
+ [this](std::shared_ptr<Module> M) {
return optimizeModule(std::move(M));
}),
Remote(Remote) {
@@ -153,15 +153,11 @@ public:
exit(1);
}
- // Build a singleton module set to hold our module.
- std::vector<std::unique_ptr<Module>> Ms;
- Ms.push_back(std::move(M));
-
// Add the set to the JIT with the resolver we created above and a newly
// created SectionMemoryManager.
- return OptimizeLayer.addModuleSet(std::move(Ms),
- std::move(MemMgr),
- std::move(Resolver));
+ return OptimizeLayer.addModule(std::move(M),
+ std::move(MemMgr),
+ std::move(Resolver));
}
Error addFunctionAST(std::unique_ptr<FunctionAST> FnAST) {
@@ -231,7 +227,7 @@ public:
}
void removeModule(ModuleHandle H) {
- OptimizeLayer.removeModuleSet(H);
+ OptimizeLayer.removeModule(H);
}
private:
@@ -242,7 +238,7 @@ private:
return MangledNameStream.str();
}
- std::unique_ptr<Module> optimizeModule(std::unique_ptr<Module> M) {
+ std::shared_ptr<Module> optimizeModule(std::shared_ptr<Module> M) {
// Create a function pass manager.
auto FPM = llvm::make_unique<legacy::FunctionPassManager>(M.get());
diff --git a/examples/Kaleidoscope/include/KaleidoscopeJIT.h b/examples/Kaleidoscope/include/KaleidoscopeJIT.h
index 9a682f7ab744..fe73d717976d 100644
--- a/examples/Kaleidoscope/include/KaleidoscopeJIT.h
+++ b/examples/Kaleidoscope/include/KaleidoscopeJIT.h
@@ -39,9 +39,9 @@ namespace orc {
class KaleidoscopeJIT {
public:
- using ObjLayerT = RTDyldObjectLinkingLayer<>;
- using CompileLayerT = IRCompileLayer<ObjLayerT>;
- using ModuleHandleT = CompileLayerT::ModuleSetHandleT;
+ using ObjLayerT = RTDyldObjectLinkingLayer;
+ using CompileLayerT = IRCompileLayer<ObjLayerT, SimpleCompiler>;
+ using ModuleHandleT = CompileLayerT::ModuleHandleT;
KaleidoscopeJIT()
: TM(EngineBuilder().selectTarget()), DL(TM->createDataLayout()),
@@ -62,9 +62,9 @@ public:
return JITSymbol(nullptr);
},
[](const std::string &S) { return nullptr; });
- auto H = CompileLayer.addModuleSet(singletonSet(std::move(M)),
- make_unique<SectionMemoryManager>(),
- std::move(Resolver));
+ auto H = CompileLayer.addModule(std::move(M),
+ make_unique<SectionMemoryManager>(),
+ std::move(Resolver));
ModuleHandles.push_back(H);
return H;
@@ -72,7 +72,7 @@ public:
void removeModule(ModuleHandleT H) {
ModuleHandles.erase(find(ModuleHandles, H));
- CompileLayer.removeModuleSet(H);
+ CompileLayer.removeModule(H);
}
JITSymbol findSymbol(const std::string Name) {
@@ -89,12 +89,6 @@ private:
return MangledName;
}
- template <typename T> static std::vector<T> singletonSet(T t) {
- std::vector<T> Vec;
- Vec.push_back(std::move(t));
- return Vec;
- }
-
JITSymbol findMangledSymbol(const std::string &Name) {
#ifdef LLVM_ON_WIN32
// The symbol lookup of ObjectLinkingLayer uses the SymbolRef::SF_Exported
diff --git a/include/llvm-c/OrcBindings.h b/include/llvm-c/OrcBindings.h
index de2969ab1c9b..d86ea8808889 100644
--- a/include/llvm-c/OrcBindings.h
+++ b/include/llvm-c/OrcBindings.h
@@ -29,6 +29,8 @@
extern "C" {
#endif
+typedef struct LLVMOpaqueSharedModule *LLVMSharedModuleRef;
+typedef struct LLVMOpaqueSharedObjectBuffer *LLVMSharedObjectBufferRef;
typedef struct LLVMOrcOpaqueJITStack *LLVMOrcJITStackRef;
typedef uint32_t LLVMOrcModuleHandle;
typedef uint64_t LLVMOrcTargetAddress;
@@ -39,6 +41,45 @@ typedef uint64_t (*LLVMOrcLazyCompileCallbackFn)(LLVMOrcJITStackRef JITStack,
typedef enum { LLVMOrcErrSuccess = 0, LLVMOrcErrGeneric } LLVMOrcErrorCode;
/**
+ * Turn an LLVMModuleRef into an LLVMSharedModuleRef.
+ *
+ * The JIT uses shared ownership for LLVM modules, since it is generally
+ * difficult to know when the JIT will be finished with a module (and the JIT
+ * has no way of knowing when a user may be finished with one).
+ *
+ * Calling this method with an LLVMModuleRef creates a shared-pointer to the
+ * module, and returns a reference to this shared pointer.
+ *
+ * The shared module should be disposed when finished with by calling
+ * LLVMOrcDisposeSharedModule (not LLVMDisposeModule). The Module will be
+ * deleted when the last shared pointer owner relinquishes it.
+ */
+
+LLVMSharedModuleRef LLVMOrcMakeSharedModule(LLVMModuleRef Mod);
+
+/**
+ * Dispose of a shared module.
+ *
+ * The module should not be accessed after this call. The module will be
+ * deleted once all clients (including the JIT itself) have released their
+ * shared pointers.
+ */
+
+void LLVMOrcDisposeSharedModuleRef(LLVMSharedModuleRef SharedMod);
+
+/**
+ * Get an LLVMSharedObjectBufferRef from an LLVMMemoryBufferRef.
+ */
+LLVMSharedObjectBufferRef
+LLVMOrcMakeSharedObjectBuffer(LLVMMemoryBufferRef ObjBuffer);
+
+/**
+ * Dispose of a shared object buffer.
+ */
+void
+LLVMOrcDisposeSharedObjectBufferRef(LLVMSharedObjectBufferRef SharedObjBuffer);
+
+/**
* Create an ORC JIT stack.
*
* The client owns the resulting stack, and must call OrcDisposeInstance(...)
@@ -95,7 +136,8 @@ LLVMOrcErrorCode LLVMOrcSetIndirectStubPointer(LLVMOrcJITStackRef JITStack,
* Add module to be eagerly compiled.
*/
LLVMOrcModuleHandle
-LLVMOrcAddEagerlyCompiledIR(LLVMOrcJITStackRef JITStack, LLVMModuleRef Mod,
+LLVMOrcAddEagerlyCompiledIR(LLVMOrcJITStackRef JITStack,
+ LLVMSharedModuleRef Mod,
LLVMOrcSymbolResolverFn SymbolResolver,
void *SymbolResolverCtx);
@@ -103,7 +145,8 @@ LLVMOrcAddEagerlyCompiledIR(LLVMOrcJITStackRef JITStack, LLVMModuleRef Mod,
* Add module to be lazily compiled one function at a time.
*/
LLVMOrcModuleHandle
-LLVMOrcAddLazilyCompiledIR(LLVMOrcJITStackRef JITStack, LLVMModuleRef Mod,
+LLVMOrcAddLazilyCompiledIR(LLVMOrcJITStackRef JITStack,
+ LLVMSharedModuleRef Mod,
LLVMOrcSymbolResolverFn SymbolResolver,
void *SymbolResolverCtx);
@@ -111,7 +154,7 @@ LLVMOrcAddLazilyCompiledIR(LLVMOrcJITStackRef JITStack, LLVMModuleRef Mod,
* Add an object file.
*/
LLVMOrcModuleHandle LLVMOrcAddObjectFile(LLVMOrcJITStackRef JITStack,
- LLVMObjectFileRef Obj,
+ LLVMSharedObjectBufferRef Obj,
LLVMOrcSymbolResolverFn SymbolResolver,
void *SymbolResolverCtx);
diff --git a/include/llvm/ADT/APFloat.h b/include/llvm/ADT/APFloat.h
index bef6efde1f01..9c5e392c4808 100644
--- a/include/llvm/ADT/APFloat.h
+++ b/include/llvm/ADT/APFloat.h
@@ -140,8 +140,8 @@ enum lostFraction { // Example of truncated bits:
// implementation classes. This struct should not define any non-static data
// members.
struct APFloatBase {
- // TODO remove this and use APInt typedef directly.
typedef APInt::WordType integerPart;
+ static const unsigned integerPartWidth = APInt::APINT_BITS_PER_WORD;
/// A signed type to represent a floating point numbers unbiased exponent.
typedef signed short ExponentType;
diff --git a/include/llvm/ADT/APInt.h b/include/llvm/ADT/APInt.h
index ef9c66d2d700..e5f0c35534ac 100644
--- a/include/llvm/ADT/APInt.h
+++ b/include/llvm/ADT/APInt.h
@@ -213,6 +213,12 @@ private:
/// out-of-line slow case for countLeadingZeros
unsigned countLeadingZerosSlowCase() const LLVM_READONLY;
+ /// out-of-line slow case for countLeadingOnes.
+ unsigned countLeadingOnesSlowCase() const LLVM_READONLY;
+
+ /// out-of-line slow case for countTrailingZeros.
+ unsigned countTrailingZerosSlowCase() const LLVM_READONLY;
+
/// out-of-line slow case for countTrailingOnes
unsigned countTrailingOnesSlowCase() const LLVM_READONLY;
@@ -383,7 +389,7 @@ public:
bool isAllOnesValue() const {
if (isSingleWord())
return U.VAL == WORD_MAX >> (APINT_BITS_PER_WORD - BitWidth);
- return countPopulationSlowCase() == BitWidth;
+ return countTrailingOnesSlowCase() == BitWidth;
}
/// \brief Determine if all bits are clear
@@ -408,7 +414,9 @@ public:
/// This checks to see if the value of this APInt is the maximum signed
/// value for the APInt's bit width.
bool isMaxSignedValue() const {
- return !isNegative() && countPopulation() == BitWidth - 1;
+ if (isSingleWord())
+ return U.VAL == ((WordType(1) << (BitWidth - 1)) - 1);
+ return !isNegative() && countTrailingOnesSlowCase() == BitWidth - 1;
}
/// \brief Determine if this is the smallest unsigned value.
@@ -422,7 +430,9 @@ public:
/// This checks to see if the value of this APInt is the minimum signed
/// value for the APInt's bit width.
bool isMinSignedValue() const {
- return isNegative() && isPowerOf2();
+ if (isSingleWord())
+ return U.VAL == (WordType(1) << (BitWidth - 1));
+ return isNegative() && countTrailingZerosSlowCase() == BitWidth - 1;
}
/// \brief Check if this APInt has an N-bits unsigned integer value.
@@ -1574,7 +1584,11 @@ public:
///
/// \returns 0 if the high order bit is not set, otherwise returns the number
/// of 1 bits from the most significant to the least
- unsigned countLeadingOnes() const LLVM_READONLY;
+ unsigned countLeadingOnes() const {
+ if (isSingleWord())
+ return llvm::countLeadingOnes(U.VAL << (APINT_BITS_PER_WORD - BitWidth));
+ return countLeadingOnesSlowCase();
+ }
/// Computes the number of leading bits of this APInt that are equal to its
/// sign bit.
@@ -1590,7 +1604,11 @@ public:
///
/// \returns BitWidth if the value is zero, otherwise returns the number of
/// zeros from the least significant bit to the first one bit.
- unsigned countTrailingZeros() const LLVM_READONLY;
+ unsigned countTrailingZeros() const {
+ if (isSingleWord())
+ return std::min(unsigned(llvm::countTrailingZeros(U.VAL)), BitWidth);
+ return countTrailingZerosSlowCase();
+ }
/// \brief Count the number of trailing one bits.
///
diff --git a/include/llvm/ADT/StringExtras.h b/include/llvm/ADT/StringExtras.h
index ffcf998a3d32..cc32bf43f29c 100644
--- a/include/llvm/ADT/StringExtras.h
+++ b/include/llvm/ADT/StringExtras.h
@@ -15,10 +15,12 @@
#define LLVM_ADT_STRINGEXTRAS_H
#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
+#include <cstdlib>
#include <cstring>
#include <iterator>
#include <string>
@@ -129,6 +131,32 @@ template <typename N> bool to_integer(StringRef S, N &Num, unsigned Base = 0) {
return !S.getAsInteger(Base, Num);
}
+namespace detail {
+template <typename N>
+inline bool to_float(const Twine &T, N &Num, N (*StrTo)(const char *, char **)) {
+ SmallString<32> Storage;
+ StringRef S = T.toNullTerminatedStringRef(Storage);
+ char *End;
+ N Temp = StrTo(S.data(), &End);
+ if (*End != '\0')
+ return false;
+ Num = Temp;
+ return true;
+}
+}
+
+inline bool to_float(const Twine &T, float &Num) {
+ return detail::to_float(T, Num, strtof);
+}
+
+inline bool to_float(const Twine &T, double &Num) {
+ return detail::to_float(T, Num, strtod);
+}
+
+inline bool to_float(const Twine &T, long double &Num) {
+ return detail::to_float(T, Num, strtold);
+}
+
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 26a991812a3a..cd560658ca4e 100644
--- a/include/llvm/ADT/Triple.h
+++ b/include/llvm/ADT/Triple.h
@@ -147,6 +147,7 @@ public:
enum OSType {
UnknownOS,
+ Ananas,
CloudABI,
Darwin,
DragonFly,
diff --git a/include/llvm/Analysis/LazyValueInfo.h b/include/llvm/Analysis/LazyValueInfo.h
index 7b178fc7bcc2..787c88cc6ec1 100644
--- a/include/llvm/Analysis/LazyValueInfo.h
+++ b/include/llvm/Analysis/LazyValueInfo.h
@@ -93,6 +93,13 @@ public:
Constant *getConstantOnEdge(Value *V, BasicBlock *FromBB, BasicBlock *ToBB,
Instruction *CxtI = nullptr);
+ /// Return the ConstantRage constraint that is known to hold for the
+ /// specified value on the specified edge. This may be only be called
+ /// on integer-typed Values.
+ ConstantRange getConstantRangeOnEdge(Value *V, BasicBlock *FromBB,
+ BasicBlock *ToBB,
+ Instruction *CxtI = nullptr);
+
/// Inform the analysis cache that we have threaded an edge from
/// PredBB to OldSucc to be from PredBB to NewSucc instead.
void threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, BasicBlock *NewSucc);
diff --git a/include/llvm/Analysis/Loads.h b/include/llvm/Analysis/Loads.h
index a59c1f88e229..f110c28bfc6d 100644
--- a/include/llvm/Analysis/Loads.h
+++ b/include/llvm/Analysis/Loads.h
@@ -39,6 +39,15 @@ bool isDereferenceableAndAlignedPointer(const Value *V, unsigned Align,
const Instruction *CtxI = nullptr,
const DominatorTree *DT = nullptr);
+/// Returns true if V is always dereferenceable for Size byte with alignment
+/// greater or equal than requested. If the context instruction is specified
+/// performs context-sensitive analysis and returns true if the pointer is
+/// dereferenceable at the specified instruction.
+bool isDereferenceableAndAlignedPointer(const Value *V, unsigned Align,
+ const APInt &Size, const DataLayout &DL,
+ const Instruction *CtxI = nullptr,
+ const DominatorTree *DT = nullptr);
+
/// Return true if we know that executing a load from this value cannot trap.
///
/// If DT and ScanFrom are specified this method performs context-sensitive
diff --git a/include/llvm/Analysis/LoopInfoImpl.h b/include/llvm/Analysis/LoopInfoImpl.h
index 6ff4335f1ad5..372fc8b21745 100644
--- a/include/llvm/Analysis/LoopInfoImpl.h
+++ b/include/llvm/Analysis/LoopInfoImpl.h
@@ -91,8 +91,9 @@ getExitEdges(SmallVectorImpl<Edge> &ExitEdges) const {
/// getLoopPreheader - If there is a preheader for this loop, return it. A
/// loop has a preheader if there is only one edge to the header of the loop
-/// from outside of the loop. If this is the case, the block branching to the
-/// header of the loop is the preheader node.
+/// from outside of the loop and it is legal to hoist instructions into the
+/// predecessor. If this is the case, the block branching to the header of the
+/// loop is the preheader node.
///
/// This method returns null if there is no preheader for the loop.
///
@@ -102,6 +103,10 @@ BlockT *LoopBase<BlockT, LoopT>::getLoopPreheader() const {
BlockT *Out = getLoopPredecessor();
if (!Out) return nullptr;
+ // Make sure we are allowed to hoist instructions into the predecessor.
+ if (!Out->isLegalToHoistInto())
+ return nullptr;
+
// Make sure there is only one exit out of the preheader.
typedef GraphTraits<BlockT*> BlockTraits;
typename BlockTraits::ChildIteratorType SI = BlockTraits::child_begin(Out);
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h
index 2a4b768256d1..002a3174fd19 100644
--- a/include/llvm/Analysis/ScalarEvolution.h
+++ b/include/llvm/Analysis/ScalarEvolution.h
@@ -784,7 +784,9 @@ private:
}
/// Determine the range for a particular SCEV.
- ConstantRange getRange(const SCEV *S, RangeSignHint Hint);
+ /// NOTE: This returns a reference to an entry in a cache. It must be
+ /// copied if its needed for longer.
+ const ConstantRange &getRangeRef(const SCEV *S, RangeSignHint Hint);
/// Determines the range for the affine SCEVAddRecExpr {\p Start,+,\p Stop}.
/// Helper for \c getRange.
@@ -1464,15 +1466,35 @@ public:
uint32_t GetMinTrailingZeros(const SCEV *S);
/// Determine the unsigned range for a particular SCEV.
- ///
+ /// NOTE: This returns a copy of the reference returned by getRangeRef.
ConstantRange getUnsignedRange(const SCEV *S) {
- return getRange(S, HINT_RANGE_UNSIGNED);
+ return getRangeRef(S, HINT_RANGE_UNSIGNED);
+ }
+
+ /// Determine the min of the unsigned range for a particular SCEV.
+ APInt getUnsignedRangeMin(const SCEV *S) {
+ return getRangeRef(S, HINT_RANGE_UNSIGNED).getUnsignedMin();
+ }
+
+ /// Determine the max of the unsigned range for a particular SCEV.
+ APInt getUnsignedRangeMax(const SCEV *S) {
+ return getRangeRef(S, HINT_RANGE_UNSIGNED).getUnsignedMax();
}
/// Determine the signed range for a particular SCEV.
- ///
+ /// NOTE: This returns a copy of the reference returned by getRangeRef.
ConstantRange getSignedRange(const SCEV *S) {
- return getRange(S, HINT_RANGE_SIGNED);
+ return getRangeRef(S, HINT_RANGE_SIGNED);
+ }
+
+ /// Determine the min of the signed range for a particular SCEV.
+ APInt getSignedRangeMin(const SCEV *S) {
+ return getRangeRef(S, HINT_RANGE_SIGNED).getSignedMin();
+ }
+
+ /// Determine the max of the signed range for a particular SCEV.
+ APInt getSignedRangeMax(const SCEV *S) {
+ return getRangeRef(S, HINT_RANGE_SIGNED).getSignedMax();
}
/// Test if the given expression is known to be negative.
diff --git a/include/llvm/BinaryFormat/COFF.h b/include/llvm/BinaryFormat/COFF.h
index 5171c72b9e67..df173a80e09b 100644
--- a/include/llvm/BinaryFormat/COFF.h
+++ b/include/llvm/BinaryFormat/COFF.h
@@ -46,6 +46,12 @@ static const char ClGlObjMagic[] = {
'\xac', '\x9b', '\xd6', '\xb6', '\x22', '\x26', '\x53', '\xc2',
};
+// The signature bytes that start a .res file.
+static const char WinResMagic[] = {
+ '\x00', '\x00', '\x00', '\x00', '\x20', '\x00', '\x00', '\x00',
+ '\xff', '\xff', '\x00', '\x00', '\xff', '\xff', '\x00', '\x00',
+};
+
// Sizes in bytes of various things in the COFF format.
enum {
Header16Size = 20,
diff --git a/include/llvm/BinaryFormat/Dwarf.h b/include/llvm/BinaryFormat/Dwarf.h
index b7a056b18119..ab927565d05d 100644
--- a/include/llvm/BinaryFormat/Dwarf.h
+++ b/include/llvm/BinaryFormat/Dwarf.h
@@ -484,7 +484,7 @@ private:
};
/// Constants that define the DWARF format as 32 or 64 bit.
-enum DwarfFormat { DWARF32, DWARF64 };
+enum DwarfFormat : uint8_t { DWARF32, DWARF64 };
} // End of namespace dwarf
diff --git a/include/llvm/BinaryFormat/MachO.h b/include/llvm/BinaryFormat/MachO.h
index 8ab6dde800c2..3529c72acd9d 100644
--- a/include/llvm/BinaryFormat/MachO.h
+++ b/include/llvm/BinaryFormat/MachO.h
@@ -78,7 +78,8 @@ enum {
MH_DEAD_STRIPPABLE_DYLIB = 0x00400000u,
MH_HAS_TLV_DESCRIPTORS = 0x00800000u,
MH_NO_HEAP_EXECUTION = 0x01000000u,
- MH_APP_EXTENSION_SAFE = 0x02000000u
+ MH_APP_EXTENSION_SAFE = 0x02000000u,
+ MH_NLIST_OUTOFSYNC_WITH_DYLDINFO = 0x04000000u
};
enum : uint32_t {
diff --git a/include/llvm/BinaryFormat/Wasm.h b/include/llvm/BinaryFormat/Wasm.h
index fcd8ad957040..470c20ddc7d9 100644
--- a/include/llvm/BinaryFormat/Wasm.h
+++ b/include/llvm/BinaryFormat/Wasm.h
@@ -176,6 +176,11 @@ enum class ValType {
// Linking metadata kinds.
enum : unsigned {
WASM_STACK_POINTER = 0x1,
+ WASM_SYMBOL_INFO = 0x2,
+};
+
+enum : unsigned {
+ WASM_SYMBOL_FLAG_WEAK = 0x1,
};
#define WASM_RELOC(name, value) name = value,
diff --git a/include/llvm/CodeGen/DIE.h b/include/llvm/CodeGen/DIE.h
index 5ed5faa2c415..f809fc97fe59 100644
--- a/include/llvm/CodeGen/DIE.h
+++ b/include/llvm/CodeGen/DIE.h
@@ -121,8 +121,8 @@ public:
/// Print the abbreviation using the specified asm printer.
void Emit(const AsmPrinter *AP) const;
- void print(raw_ostream &O);
- void dump();
+ void print(raw_ostream &O) const;
+ void dump() const;
};
//===--------------------------------------------------------------------===//
@@ -780,7 +780,7 @@ public:
DIEValue findAttribute(dwarf::Attribute Attribute) const;
void print(raw_ostream &O, unsigned IndentCount = 0) const;
- void dump();
+ void dump() const;
};
//===--------------------------------------------------------------------===//
diff --git a/include/llvm/CodeGen/GlobalISel/InstructionSelector.h b/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
index 1a865c3f0dce..b3ef7c2dc185 100644
--- a/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
+++ b/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
@@ -29,6 +29,7 @@ class MachineOperand;
class MachineRegisterInfo;
class RegisterBankInfo;
class TargetInstrInfo;
+class TargetRegisterClass;
class TargetRegisterInfo;
/// Container class for CodeGen predicate results.
@@ -79,6 +80,16 @@ protected:
InstructionSelector();
+ /// Constrain a register operand of an instruction \p I to a specified
+ /// register class. This could involve inserting COPYs before (for uses) or
+ /// after (for defs) and may replace the operand of \p I.
+ /// \returns whether operand regclass constraining succeeded.
+ bool constrainOperandRegToRegClass(MachineInstr &I, unsigned OpIdx,
+ const TargetRegisterClass &RC,
+ const TargetInstrInfo &TII,
+ const TargetRegisterInfo &TRI,
+ const RegisterBankInfo &RBI) const;
+
/// Mutate the newly-selected instruction \p I to constrain its (possibly
/// generic) virtual register operands to the instruction's register class.
/// This could involve inserting COPYs before (for uses) or after (for defs).
diff --git a/include/llvm/CodeGen/GlobalISel/Legalizer.h b/include/llvm/CodeGen/GlobalISel/Legalizer.h
index bed7230cc013..9b9b8b563a30 100644
--- a/include/llvm/CodeGen/GlobalISel/Legalizer.h
+++ b/include/llvm/CodeGen/GlobalISel/Legalizer.h
@@ -59,7 +59,7 @@ public:
const TargetInstrInfo &TII);
bool combineMerges(MachineInstr &MI, MachineRegisterInfo &MRI,
- const TargetInstrInfo &TII);
+ const TargetInstrInfo &TII, MachineIRBuilder &MIRBuilder);
bool runOnMachineFunction(MachineFunction &MF) override;
};
diff --git a/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h b/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
index 4e7b8350038b..c9327d50432e 100644
--- a/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
+++ b/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
@@ -471,10 +471,12 @@ public:
/// Build and insert \p Res = IMPLICIT_DEF.
MachineInstrBuilder buildUndef(unsigned Dst);
- /// Build and insert \p Res<def> = G_SEQUENCE \p Op0, \p Idx0...
+ /// Build and insert instructions to put \p Ops together at the specified p
+ /// Indices to form a larger register.
///
- /// G_SEQUENCE inserts each element of Ops into an IMPLICIT_DEF register,
- /// where each entry starts at the bit-index specified by \p Indices.
+ /// If the types of the input registers are uniform and cover the entirity of
+ /// \p Res then a G_MERGE_VALUES will be produced. Otherwise an IMPLICIT_DEF
+ /// followed by a sequence of G_INSERT instructions.
///
/// \pre setBasicBlock or setMI must have been called.
/// \pre The final element of the sequence must not extend past the end of the
@@ -482,11 +484,8 @@ public:
/// \pre The bits defined by each Op (derived from index and scalar size) must
/// not overlap.
/// \pre \p Indices must be in ascending order of bit position.
- ///
- /// \return a MachineInstrBuilder for the newly created instruction.
- MachineInstrBuilder buildSequence(unsigned Res,
- ArrayRef<unsigned> Ops,
- ArrayRef<uint64_t> Indices);
+ void buildSequence(unsigned Res, ArrayRef<unsigned> Ops,
+ ArrayRef<uint64_t> Indices);
/// Build and insert \p Res<def> = G_MERGE_VALUES \p Op0, ...
///
@@ -513,24 +512,6 @@ public:
/// \return a MachineInstrBuilder for the newly created instruction.
MachineInstrBuilder buildUnmerge(ArrayRef<unsigned> Res, unsigned Op);
- void addUsesWithIndices(MachineInstrBuilder MIB) {}
-
- template <typename... ArgTys>
- void addUsesWithIndices(MachineInstrBuilder MIB, unsigned Reg,
- unsigned BitIndex, ArgTys... Args) {
- MIB.addUse(Reg).addImm(BitIndex);
- addUsesWithIndices(MIB, Args...);
- }
-
- template <typename... ArgTys>
- MachineInstrBuilder buildSequence(unsigned Res, unsigned Op,
- unsigned Index, ArgTys... Args) {
- MachineInstrBuilder MIB =
- buildInstr(TargetOpcode::G_SEQUENCE).addDef(Res);
- addUsesWithIndices(MIB, Op, Index, Args...);
- return MIB;
- }
-
MachineInstrBuilder buildInsert(unsigned Res, unsigned Src,
unsigned Op, unsigned Index);
diff --git a/include/llvm/CodeGen/GlobalISel/Utils.h b/include/llvm/CodeGen/GlobalISel/Utils.h
index 69d507069808..50ddbeb9432a 100644
--- a/include/llvm/CodeGen/GlobalISel/Utils.h
+++ b/include/llvm/CodeGen/GlobalISel/Utils.h
@@ -29,13 +29,26 @@ class RegisterBankInfo;
class TargetInstrInfo;
class TargetPassConfig;
class TargetRegisterInfo;
+class TargetRegisterClass;
class Twine;
class ConstantFP;
+/// Try to constrain Reg to the specified register class. If this fails,
+/// create a new virtual register in the correct class and insert a COPY before
+/// \p InsertPt. The debug location of \p InsertPt is used for the new copy.
+///
+/// \return The virtual register constrained to the right register class.
+unsigned constrainRegToClass(MachineRegisterInfo &MRI,
+ const TargetInstrInfo &TII,
+ const RegisterBankInfo &RBI,
+ MachineInstr &InsertPt, unsigned Reg,
+ const TargetRegisterClass &RegClass);
+
/// Try to constrain Reg so that it is usable by argument OpIdx of the
/// provided MCInstrDesc \p II. If this fails, create a new virtual
/// register in the correct class and insert a COPY before \p InsertPt.
-/// The debug location of \p InsertPt is used for the new copy.
+/// This is equivalent to constrainRegToClass() with RegClass obtained from the
+/// MCInstrDesc. The debug location of \p InsertPt is used for the new copy.
///
/// \return The virtual register constrained to the right register class.
unsigned constrainOperandRegClass(const MachineFunction &MF,
diff --git a/include/llvm/CodeGen/LexicalScopes.h b/include/llvm/CodeGen/LexicalScopes.h
index 79fa12ec2fbb..3ba503487823 100644
--- a/include/llvm/CodeGen/LexicalScopes.h
+++ b/include/llvm/CodeGen/LexicalScopes.h
@@ -196,7 +196,7 @@ public:
}
/// dump - Print data structures to dbgs().
- void dump();
+ void dump() const;
/// getOrCreateAbstractScope - Find or create an abstract lexical scope.
LexicalScope *getOrCreateAbstractScope(const DILocalScope *Scope);
diff --git a/include/llvm/CodeGen/MachineBasicBlock.h b/include/llvm/CodeGen/MachineBasicBlock.h
index 051908c40df7..97a49ce4dc4f 100644
--- a/include/llvm/CodeGen/MachineBasicBlock.h
+++ b/include/llvm/CodeGen/MachineBasicBlock.h
@@ -376,6 +376,9 @@ public:
/// Indicates if this is the entry block of a cleanup funclet.
void setIsCleanupFuncletEntry(bool V = true) { IsCleanupFuncletEntry = V; }
+ /// Returns true if it is legal to hoist instructions into this block.
+ bool isLegalToHoistInto() const;
+
// Code Layout methods.
/// Move 'this' block before or after the specified block. This only moves
diff --git a/include/llvm/CodeGen/MachineMemOperand.h b/include/llvm/CodeGen/MachineMemOperand.h
index 4d83f27eac3c..78adce507b8c 100644
--- a/include/llvm/CodeGen/MachineMemOperand.h
+++ b/include/llvm/CodeGen/MachineMemOperand.h
@@ -59,6 +59,11 @@ struct MachinePointerInfo {
return MachinePointerInfo(V.get<const PseudoSourceValue*>(), Offset+O);
}
+ /// Return true if memory region [V, V+Offset+Size) is known to be
+ /// dereferenceable.
+ bool isDereferenceable(unsigned Size, LLVMContext &C,
+ const DataLayout &DL) const;
+
/// Return the LLVM IR address space number that this pointer points into.
unsigned getAddrSpace() const;
diff --git a/include/llvm/CodeGen/MachineModuleInfoImpls.h b/include/llvm/CodeGen/MachineModuleInfoImpls.h
index 61cff3890b75..34b21ceddd43 100644
--- a/include/llvm/CodeGen/MachineModuleInfoImpls.h
+++ b/include/llvm/CodeGen/MachineModuleInfoImpls.h
@@ -77,33 +77,6 @@ public:
SymbolListTy GetGVStubList() { return getSortedStubs(GVStubs); }
};
-/// MachineModuleInfoWasm - This is a MachineModuleInfoImpl implementation
-/// for Wasm targets.
-class MachineModuleInfoWasm : public MachineModuleInfoImpl {
- /// WebAssembly global variables defined by CodeGen.
- std::vector<wasm::Global> Globals;
-
- /// The WebAssembly global variable which is the stack pointer.
- unsigned StackPointerGlobal;
-
- virtual void anchor(); // Out of line virtual method.
-public:
- MachineModuleInfoWasm(const MachineModuleInfo &)
- : StackPointerGlobal(-1U) {}
-
- void addGlobal(const wasm::Global &G) { Globals.push_back(G); }
- const std::vector<wasm::Global> &getGlobals() const { return Globals; }
-
- bool hasStackPointerGlobal() const {
- return StackPointerGlobal != -1U;
- }
- unsigned getStackPointerGlobal() const {
- assert(hasStackPointerGlobal() && "Stack ptr global hasn't been set");
- return StackPointerGlobal;
- }
- void setStackPointerGlobal(unsigned Global) { StackPointerGlobal = Global; }
-};
-
} // end namespace llvm
#endif
diff --git a/include/llvm/CodeGen/MachineScheduler.h b/include/llvm/CodeGen/MachineScheduler.h
index 3b02ec400aba..34cbffa78203 100644
--- a/include/llvm/CodeGen/MachineScheduler.h
+++ b/include/llvm/CodeGen/MachineScheduler.h
@@ -203,7 +203,7 @@ public:
MachineBasicBlock::iterator End,
unsigned NumRegionInstrs) {}
- virtual void dumpPolicy() {}
+ virtual void dumpPolicy() const {}
/// Check if pressure tracking is needed before building the DAG and
/// initializing this strategy. Called after initPolicy.
@@ -555,7 +555,7 @@ public:
return Queue.begin() + idx;
}
- void dump();
+ void dump() const;
};
/// Summarize the unscheduled region.
@@ -756,7 +756,7 @@ public:
SUnit *pickOnlyChoice();
#ifndef NDEBUG
- void dumpScheduledState();
+ void dumpScheduledState() const;
#endif
};
@@ -890,7 +890,7 @@ public:
MachineBasicBlock::iterator End,
unsigned NumRegionInstrs) override;
- void dumpPolicy() override;
+ void dumpPolicy() const override;
bool shouldTrackPressure() const override {
return RegionPolicy.ShouldTrackPressure;
diff --git a/include/llvm/CodeGen/MacroFusion.h b/include/llvm/CodeGen/MacroFusion.h
new file mode 100644
index 000000000000..473784bc5841
--- /dev/null
+++ b/include/llvm/CodeGen/MacroFusion.h
@@ -0,0 +1,41 @@
+//===- MacroFusion.h - Macro Fusion ------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+/// \file This file contains the definition of the DAG scheduling mutation to
+/// pair instructions back to back.
+//
+//===----------------------------------------------------------------------===//
+
+#include <functional>
+#include "llvm/Target/TargetInstrInfo.h"
+#include "llvm/CodeGen/MachineScheduler.h"
+
+namespace llvm {
+
+/// \brief Check if the instr pair, FirstMI and SecondMI, should be fused
+/// together. Given SecondMI, when FirstMI is unspecified, then check if
+/// SecondMI may be part of a fused pair at all.
+typedef std::function<bool(const TargetInstrInfo &TII,
+ const TargetSubtargetInfo &TSI,
+ const MachineInstr *FirstMI,
+ const MachineInstr &SecondMI)> ShouldSchedulePredTy;
+
+/// \brief Create a DAG scheduling mutation to pair instructions back to back
+/// for instructions that benefit according to the target-specific
+/// shouldScheduleAdjacent predicate function.
+std::unique_ptr<ScheduleDAGMutation>
+createMacroFusionDAGMutation(ShouldSchedulePredTy shouldScheduleAdjacent);
+
+/// \brief Create a DAG scheduling mutation to pair branch instructions with one
+/// of their predecessors back to back for instructions that benefit according
+/// to the target-specific shouldScheduleAdjacent predicate function.
+std::unique_ptr<ScheduleDAGMutation>
+createBranchMacroFusionDAGMutation(ShouldSchedulePredTy shouldScheduleAdjacent);
+
+} // end namespace llvm
diff --git a/include/llvm/CodeGen/RegisterScavenging.h b/include/llvm/CodeGen/RegisterScavenging.h
index ad1efe18c72d..489c72b81a98 100644
--- a/include/llvm/CodeGen/RegisterScavenging.h
+++ b/include/llvm/CodeGen/RegisterScavenging.h
@@ -156,12 +156,24 @@ public:
/// available and do the appropriate bookkeeping. SPAdj is the stack
/// adjustment due to call frame, it's passed along to eliminateFrameIndex().
/// Returns the scavenged register.
+ /// This is deprecated as it depends on the quality of the kill flags being
+ /// present; Use scavengeRegisterBackwards() instead!
unsigned scavengeRegister(const TargetRegisterClass *RegClass,
MachineBasicBlock::iterator I, int SPAdj);
unsigned scavengeRegister(const TargetRegisterClass *RegClass, int SPAdj) {
return scavengeRegister(RegClass, MBBI, SPAdj);
}
+ /// Make a register of the specific register class available from the current
+ /// position backwards to the place before \p To. If \p RestoreAfter is true
+ /// this includes the instruction following the current position.
+ /// SPAdj is the stack adjustment due to call frame, it's passed along to
+ /// eliminateFrameIndex().
+ /// Returns the scavenged register.
+ unsigned scavengeRegisterBackwards(const TargetRegisterClass &RC,
+ MachineBasicBlock::iterator To,
+ bool RestoreAfter, int SPAdj);
+
/// Tell the scavenger a register is used.
void setRegUsed(unsigned Reg, LaneBitmask LaneMask = LaneBitmask::getAll());
@@ -202,6 +214,12 @@ private:
/// Mark live-in registers of basic block as used.
void setLiveInsUsed(const MachineBasicBlock &MBB);
+
+ /// Spill a register after position \p After and reload it before position
+ /// \p UseMI.
+ ScavengedInfo &spill(unsigned Reg, const TargetRegisterClass &RC, int SPAdj,
+ MachineBasicBlock::iterator After,
+ MachineBasicBlock::iterator &UseMI);
};
/// Replaces all frame index virtual registers with physical registers. Uses the
diff --git a/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h b/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
new file mode 100644
index 000000000000..d82ab7d647e7
--- /dev/null
+++ b/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
@@ -0,0 +1,64 @@
+//===-- llvm/CodeGen/SelectionDAGAddressAnalysis.h ------- DAG Address Analysis
+//---*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+
+#ifndef LLVM_CODEGEN_SELECTIONDAGADDRESSANALYSIS_H
+#define LLVM_CODEGEN_SELECTIONDAGADDRESSANALYSIS_H
+
+#include "llvm/CodeGen/ISDOpcodes.h"
+#include "llvm/CodeGen/SelectionDAG.h"
+#include "llvm/CodeGen/SelectionDAGNodes.h"
+
+namespace llvm {
+/// Helper struct to parse and store a memory address as base + index + offset.
+/// We ignore sign extensions when it is safe to do so.
+/// The following two expressions are not equivalent. To differentiate we need
+/// to store whether there was a sign extension involved in the index
+/// computation.
+/// (load (i64 add (i64 copyfromreg %c)
+/// (i64 signextend (add (i8 load %index)
+/// (i8 1))))
+/// vs
+///
+/// (load (i64 add (i64 copyfromreg %c)
+/// (i64 signextend (i32 add (i32 signextend (i8 load %index))
+/// (i32 1)))))
+class BaseIndexOffset {
+private:
+ SDValue Base;
+ SDValue Index;
+ int64_t Offset;
+ bool IsIndexSignExt;
+
+public:
+ BaseIndexOffset() : Offset(0), IsIndexSignExt(false) {}
+
+ BaseIndexOffset(SDValue Base, SDValue Index, int64_t Offset,
+ bool IsIndexSignExt)
+ : Base(Base), Index(Index), Offset(Offset),
+ IsIndexSignExt(IsIndexSignExt) {}
+
+ SDValue getBase() { return Base; }
+ SDValue getIndex() { return Index; }
+
+ bool equalBaseIndex(BaseIndexOffset &Other, const SelectionDAG &DAG) {
+ int64_t Off;
+ return equalBaseIndex(Other, DAG, Off);
+ }
+
+ bool equalBaseIndex(BaseIndexOffset &Other, const SelectionDAG &DAG,
+ int64_t &Off);
+
+ /// Parses tree in Ptr for base, index, offset addresses.
+ static BaseIndexOffset match(SDValue Ptr);
+};
+} // namespace llvm
+
+#endif
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index 0cd26d35a482..af418d3050e4 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -2107,7 +2107,7 @@ class MaskedGatherScatterSDNode : public MemSDNode {
public:
friend class SelectionDAG;
- MaskedGatherScatterSDNode(ISD::NodeType NodeTy, unsigned Order,
+ MaskedGatherScatterSDNode(unsigned NodeTy, unsigned Order,
const DebugLoc &dl, SDVTList VTs, EVT MemVT,
MachineMemOperand *MMO)
: MemSDNode(NodeTy, Order, dl, VTs, MemVT, MMO) {}
diff --git a/include/llvm/Config/config.h.cmake b/include/llvm/Config/config.h.cmake
index 8df15ef97026..1289551f0739 100644
--- a/include/llvm/Config/config.h.cmake
+++ b/include/llvm/Config/config.h.cmake
@@ -356,6 +356,9 @@
/* Define if this is Win32ish platform */
#cmakedefine LLVM_ON_WIN32 ${LLVM_ON_WIN32}
+/* Define if overriding target triple is enabled */
+#cmakedefine LLVM_TARGET_TRIPLE_ENV "${LLVM_TARGET_TRIPLE_ENV}"
+
/* Define if we have the Intel JIT API runtime support library */
#cmakedefine01 LLVM_USE_INTEL_JITEVENTS
diff --git a/include/llvm/DebugInfo/CodeView/CVRecord.h b/include/llvm/DebugInfo/CodeView/CVRecord.h
index 4c6bbedc6bbd..44040e04388a 100644
--- a/include/llvm/DebugInfo/CodeView/CVRecord.h
+++ b/include/llvm/DebugInfo/CodeView/CVRecord.h
@@ -27,9 +27,12 @@ namespace codeview {
template <typename Kind> class CVRecord {
public:
- CVRecord() = default;
+ CVRecord() : Type(static_cast<Kind>(0)) {}
+
CVRecord(Kind K, ArrayRef<uint8_t> Data) : Type(K), RecordData(Data) {}
+ bool valid() const { return Type != static_cast<Kind>(0); }
+
uint32_t length() const { return RecordData.size(); }
Kind kind() const { return Type; }
ArrayRef<uint8_t> data() const { return RecordData; }
diff --git a/include/llvm/DebugInfo/CodeView/CodeView.h b/include/llvm/DebugInfo/CodeView/CodeView.h
index 6820e26b754c..b7a7e33abadf 100644
--- a/include/llvm/DebugInfo/CodeView/CodeView.h
+++ b/include/llvm/DebugInfo/CodeView/CodeView.h
@@ -402,6 +402,16 @@ enum class LocalSymFlags : uint16_t {
};
CV_DEFINE_ENUM_CLASS_FLAGS_OPERATORS(LocalSymFlags)
+/// Corresponds to the CV_PUBSYMFLAGS bitfield.
+enum class PublicSymFlags : uint32_t {
+ None = 0,
+ Code = 1 << 0,
+ Function = 1 << 1,
+ Managed = 1 << 2,
+ MSIL = 1 << 3,
+};
+CV_DEFINE_ENUM_CLASS_FLAGS_OPERATORS(PublicSymFlags)
+
/// Corresponds to the CV_PROCFLAGS bitfield.
enum class ProcSymFlags : uint8_t {
None = 0,
diff --git a/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h b/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
index 694731742064..ee17b47d8e63 100644
--- a/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
+++ b/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
@@ -51,11 +51,23 @@ class DebugSubsectionRecordBuilder {
public:
DebugSubsectionRecordBuilder(std::shared_ptr<DebugSubsection> Subsection,
CodeViewContainer Container);
+
+ /// Use this to copy existing subsections directly from source to destination.
+ /// For example, line table subsections in an object file only need to be
+ /// relocated before being copied into the PDB.
+ DebugSubsectionRecordBuilder(const DebugSubsectionRecord &Contents,
+ CodeViewContainer Container);
+
uint32_t calculateSerializedLength();
Error commit(BinaryStreamWriter &Writer) const;
private:
+ /// The subsection to build. Will be null if Contents is non-empty.
std::shared_ptr<DebugSubsection> Subsection;
+
+ /// The bytes of the subsection. Only non-empty if Subsection is null.
+ DebugSubsectionRecord Contents;
+
CodeViewContainer Container;
};
diff --git a/include/llvm/DebugInfo/CodeView/EnumTables.h b/include/llvm/DebugInfo/CodeView/EnumTables.h
index 013e440613fc..5d54bb4cca84 100644
--- a/include/llvm/DebugInfo/CodeView/EnumTables.h
+++ b/include/llvm/DebugInfo/CodeView/EnumTables.h
@@ -22,6 +22,7 @@ namespace codeview {
ArrayRef<EnumEntry<SymbolKind>> getSymbolTypeNames();
ArrayRef<EnumEntry<TypeLeafKind>> getTypeLeafNames();
ArrayRef<EnumEntry<uint16_t>> getRegisterNames();
+ArrayRef<EnumEntry<uint32_t>> getPublicSymFlagNames();
ArrayRef<EnumEntry<uint8_t>> getProcSymFlagNames();
ArrayRef<EnumEntry<uint16_t>> getLocalFlagNames();
ArrayRef<EnumEntry<uint8_t>> getFrameCookieKindNames();
diff --git a/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h b/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
index 0d056e42b45f..8b1540abf903 100644
--- a/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
+++ b/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
@@ -11,18 +11,15 @@
#define LLVM_DEBUGINFO_CODEVIEW_LAZYRANDOMTYPECOLLECTION_H
#include "llvm/DebugInfo/CodeView/TypeCollection.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
+#include "llvm/Support/Allocator.h"
#include "llvm/Support/Error.h"
+#include "llvm/Support/StringSaver.h"
namespace llvm {
namespace codeview {
-class TypeDatabase;
-class TypeVisitorCallbacks;
-
/// \brief Provides amortized O(1) random access to a CodeView type stream.
/// Normally to access a type from a type stream, you must know its byte
/// offset into the type stream, because type records are variable-lengthed.
@@ -47,6 +44,11 @@ class TypeVisitorCallbacks;
/// of O(N/M) and an amortized time of O(1).
class LazyRandomTypeCollection : public TypeCollection {
typedef FixedStreamArray<TypeIndexOffset> PartialOffsetArray;
+ struct CacheEntry {
+ CVType Type;
+ uint32_t Offset;
+ StringRef Name;
+ };
public:
explicit LazyRandomTypeCollection(uint32_t RecordCountHint);
@@ -56,8 +58,10 @@ public:
PartialOffsetArray PartialOffsets);
LazyRandomTypeCollection(const CVTypeArray &Types, uint32_t RecordCountHint);
- void reset(ArrayRef<uint8_t> Data);
- void reset(StringRef Data);
+ void reset(ArrayRef<uint8_t> Data, uint32_t RecordCountHint);
+ void reset(StringRef Data, uint32_t RecordCountHint);
+
+ uint32_t getOffsetOfType(TypeIndex Index);
CVType getType(TypeIndex Index) override;
StringRef getTypeName(TypeIndex Index) override;
@@ -68,27 +72,26 @@ public:
Optional<TypeIndex> getNext(TypeIndex Prev) override;
private:
- const TypeDatabase &database() const { return Database; }
Error ensureTypeExists(TypeIndex Index);
+ void ensureCapacityFor(TypeIndex Index);
Error visitRangeForType(TypeIndex TI);
Error fullScanForType(TypeIndex TI);
- Error visitRange(TypeIndex Begin, uint32_t BeginOffset, TypeIndex End);
- Error visitOneRecord(TypeIndex TI, uint32_t Offset, CVType &Record);
+ void visitRange(TypeIndex Begin, uint32_t BeginOffset, TypeIndex End);
+
+ /// Number of actual records.
+ uint32_t Count = 0;
- /// Visited records get automatically added to the type database.
- TypeDatabase Database;
+ /// The largest type index which we've visited.
+ TypeIndex LargestTypeIndex = TypeIndex::None();
+
+ BumpPtrAllocator Allocator;
+ StringSaver NameStorage;
/// The type array to allow random access visitation of.
CVTypeArray Types;
- /// The database visitor which adds new records to the database.
- TypeDatabaseVisitor DatabaseVisitor;
-
- /// A vector mapping type indices to type offset. For every record that has
- /// been visited, contains the absolute offset of that record in the record
- /// array.
- std::vector<uint32_t> KnownOffsets;
+ std::vector<CacheEntry> Records;
/// An array of index offsets for the given type stream, allowing log(N)
/// lookups of a type record by index. Similar to KnownOffsets but only
diff --git a/include/llvm/DebugInfo/CodeView/SymbolRecord.h b/include/llvm/DebugInfo/CodeView/SymbolRecord.h
index 5f85ed28cb3a..1cf77fcdecbe 100644
--- a/include/llvm/DebugInfo/CodeView/SymbolRecord.h
+++ b/include/llvm/DebugInfo/CodeView/SymbolRecord.h
@@ -363,7 +363,7 @@ public:
: SymbolRecord(SymbolRecordKind::PublicSym32),
RecordOffset(RecordOffset) {}
- TypeIndex Index;
+ PublicSymFlags Flags;
uint32_t Offset;
uint16_t Segment;
StringRef Name;
diff --git a/include/llvm/DebugInfo/CodeView/TypeDatabase.h b/include/llvm/DebugInfo/CodeView/TypeDatabase.h
deleted file mode 100644
index a743e7f70855..000000000000
--- a/include/llvm/DebugInfo/CodeView/TypeDatabase.h
+++ /dev/null
@@ -1,84 +0,0 @@
-//===- TypeDatabase.h - A collection of CodeView type records ---*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_DEBUGINFO_CODEVIEW_TYPEDATABASE_H
-#define LLVM_DEBUGINFO_CODEVIEW_TYPEDATABASE_H
-
-#include "llvm/ADT/BitVector.h"
-#include "llvm/ADT/SmallVector.h"
-#include "llvm/ADT/StringRef.h"
-#include "llvm/DebugInfo/CodeView/TypeCollection.h"
-#include "llvm/DebugInfo/CodeView/TypeIndex.h"
-#include "llvm/DebugInfo/CodeView/TypeRecord.h"
-#include "llvm/Support/Allocator.h"
-#include "llvm/Support/StringSaver.h"
-
-namespace llvm {
-namespace codeview {
-class TypeDatabase : public TypeCollection {
- friend class RandomAccessTypeVisitor;
-
-public:
- explicit TypeDatabase(uint32_t Capacity);
-
- /// Records the name of a type, and reserves its type index.
- TypeIndex appendType(StringRef Name, const CVType &Data);
-
- /// Records the name of a type, and reserves its type index.
- void recordType(StringRef Name, TypeIndex Index, const CVType &Data);
-
- /// Saves the name in a StringSet and creates a stable StringRef.
- StringRef saveTypeName(StringRef TypeName);
-
- StringRef getTypeName(TypeIndex Index) const;
-
- const CVType &getTypeRecord(TypeIndex Index) const;
- CVType &getTypeRecord(TypeIndex Index);
-
- bool contains(TypeIndex Index) const;
- uint32_t size() const;
- uint32_t capacity() const;
- bool empty() const;
-
- CVType getType(TypeIndex Index) override;
- StringRef getTypeName(TypeIndex Index) override;
- bool contains(TypeIndex Index) override;
- uint32_t size() override;
- uint32_t capacity() override;
-
- Optional<TypeIndex> getFirst() override;
- Optional<TypeIndex> getNext(TypeIndex Prev) override;
-
- Optional<TypeIndex> largestTypeIndexLessThan(TypeIndex TI) const;
-
-private:
- TypeIndex getAppendIndex() const;
-
- void grow();
- void grow(TypeIndex Index);
-
- BumpPtrAllocator Allocator;
-
- uint32_t Count = 0;
- TypeIndex LargestTypeIndex;
-
- /// All user defined type records in .debug$T live in here. Type indices
- /// greater than 0x1000 are user defined. Subtract 0x1000 from the index to
- /// index into this vector.
- SmallVector<StringRef, 10> CVUDTNames;
- SmallVector<CVType, 10> TypeRecords;
-
- StringSaver TypeNameStorage;
-
- BitVector ValidRecords;
-};
-}
-}
-
-#endif \ No newline at end of file
diff --git a/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h b/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h
deleted file mode 100644
index 77dbc91a7d38..000000000000
--- a/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h
+++ /dev/null
@@ -1,62 +0,0 @@
-//===-- TypeDatabaseVisitor.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_DEBUGINFO_CODEVIEW_TYPEDATABASEVISITOR_H
-#define LLVM_DEBUGINFO_CODEVIEW_TYPEDATABASEVISITOR_H
-
-#include "llvm/ADT/PointerUnion.h"
-
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
-#include "llvm/DebugInfo/CodeView/TypeIndex.h"
-#include "llvm/DebugInfo/CodeView/TypeRecord.h"
-#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
-
-namespace llvm {
-namespace codeview {
-
-/// Dumper for CodeView type streams found in COFF object files and PDB files.
-class TypeDatabaseVisitor : public TypeVisitorCallbacks {
-public:
- explicit TypeDatabaseVisitor(TypeDatabase &TypeDB) : TypeDB(&TypeDB) {}
-
- /// Paired begin/end actions for all types. Receives all record data,
- /// including the fixed-length record prefix.
- Error visitTypeBegin(CVType &Record) override;
- Error visitTypeBegin(CVType &Record, TypeIndex Index) override;
- Error visitTypeEnd(CVType &Record) override;
- Error visitMemberBegin(CVMemberRecord &Record) override;
- Error visitMemberEnd(CVMemberRecord &Record) override;
-
-#define TYPE_RECORD(EnumName, EnumVal, Name) \
- Error visitKnownRecord(CVType &CVR, Name##Record &Record) override;
-#define MEMBER_RECORD(EnumName, EnumVal, Name) \
- Error visitKnownMember(CVMemberRecord &CVR, Name##Record &Record) override;
-#define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
-#define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
-#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
-
-private:
- StringRef getTypeName(TypeIndex Index) const;
- StringRef saveTypeName(StringRef Name);
-
- bool IsInFieldList = false;
-
- /// Name of the current type. Only valid before visitTypeEnd.
- StringRef Name;
- /// Current type index. Only valid before visitTypeEnd, and if we are
- /// visiting a random access type database.
- Optional<TypeIndex> CurrentTypeIndex;
-
- TypeDatabase *TypeDB;
-};
-
-} // end namespace codeview
-} // end namespace llvm
-
-#endif // LLVM_DEBUGINFO_CODEVIEW_TYPEDUMPER_H
diff --git a/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h b/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
index 82ceb5038316..c393b42cd27c 100644
--- a/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
+++ b/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
@@ -11,6 +11,7 @@
#define LLVM_DEBUGINFO_CODEVIEW_TYPEINDEXDISCOVERY_H
#include "llvm/ADT/SmallVector.h"
+#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/Support/Error.h"
@@ -27,6 +28,11 @@ void discoverTypeIndices(ArrayRef<uint8_t> RecordData,
SmallVectorImpl<TiReference> &Refs);
void discoverTypeIndices(const CVType &Type,
SmallVectorImpl<TiReference> &Refs);
+
+/// Discover type indices in symbol records. Returns false if this is an unknown
+/// record.
+bool discoverTypeIndices(const CVSymbol &Symbol,
+ SmallVectorImpl<TiReference> &Refs);
}
}
diff --git a/include/llvm/DebugInfo/CodeView/TypeName.h b/include/llvm/DebugInfo/CodeView/TypeName.h
new file mode 100644
index 000000000000..a987b4afd283
--- /dev/null
+++ b/include/llvm/DebugInfo/CodeView/TypeName.h
@@ -0,0 +1,22 @@
+//===- TypeName.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_DEBUGINFO_CODEVIEW_TYPENAME_H
+#define LLVM_DEBUGINFO_CODEVIEW_TYPENAME_H
+
+#include "llvm/DebugInfo/CodeView/TypeCollection.h"
+#include "llvm/DebugInfo/CodeView/TypeIndex.h"
+
+namespace llvm {
+namespace codeview {
+std::string computeTypeName(TypeCollection &Types, TypeIndex Index);
+}
+} // namespace llvm
+
+#endif
diff --git a/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h b/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
index 6156223b2560..cbe8d6066bb9 100644
--- a/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
+++ b/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
@@ -25,6 +25,7 @@ public:
explicit TypeRecordMapping(BinaryStreamReader &Reader) : IO(Reader) {}
explicit TypeRecordMapping(BinaryStreamWriter &Writer) : IO(Writer) {}
+ using TypeVisitorCallbacks::visitTypeBegin;
Error visitTypeBegin(CVType &Record) override;
Error visitTypeEnd(CVType &Record) override;
diff --git a/include/llvm/DebugInfo/CodeView/TypeSerializer.h b/include/llvm/DebugInfo/CodeView/TypeSerializer.h
index f785d4509547..988a2d4aa834 100644
--- a/include/llvm/DebugInfo/CodeView/TypeSerializer.h
+++ b/include/llvm/DebugInfo/CodeView/TypeSerializer.h
@@ -93,6 +93,7 @@ public:
TypeIndex insertRecord(const RemappedType &Record);
Expected<TypeIndex> visitTypeEndGetIndex(CVType &Record);
+ using TypeVisitorCallbacks::visitTypeBegin;
Error visitTypeBegin(CVType &Record) override;
Error visitTypeEnd(CVType &Record) override;
Error visitMemberBegin(CVMemberRecord &Record) override;
diff --git a/include/llvm/DebugInfo/CodeView/TypeTableCollection.h b/include/llvm/DebugInfo/CodeView/TypeTableCollection.h
index 42b62ba2b6ce..80326a0ffd39 100644
--- a/include/llvm/DebugInfo/CodeView/TypeTableCollection.h
+++ b/include/llvm/DebugInfo/CodeView/TypeTableCollection.h
@@ -11,7 +11,9 @@
#define LLVM_DEBUGINFO_CODEVIEW_TYPETABLECOLLECTION_H
#include "llvm/DebugInfo/CodeView/TypeCollection.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
+#include "llvm/Support/StringSaver.h"
+
+#include <vector>
namespace llvm {
namespace codeview {
@@ -30,11 +32,10 @@ public:
uint32_t capacity() override;
private:
- bool hasCapacityFor(TypeIndex Index) const;
- void ensureTypeExists(TypeIndex Index);
-
+ BumpPtrAllocator Allocator;
+ StringSaver NameStorage;
+ std::vector<StringRef> Names;
ArrayRef<ArrayRef<uint8_t>> Records;
- TypeDatabase Database;
};
}
}
diff --git a/include/llvm/DebugInfo/DIContext.h b/include/llvm/DebugInfo/DIContext.h
index 2e82a774cc23..4126e245ff13 100644
--- a/include/llvm/DebugInfo/DIContext.h
+++ b/include/llvm/DebugInfo/DIContext.h
@@ -57,7 +57,7 @@ struct DILineInfo {
}
};
-typedef SmallVector<std::pair<uint64_t, DILineInfo>, 16> DILineInfoTable;
+using DILineInfoTable = SmallVector<std::pair<uint64_t, DILineInfo>, 16>;
/// DIInliningInfo - a format-neutral container for inlined code description.
class DIInliningInfo {
@@ -102,7 +102,7 @@ enum class DINameKind { None, ShortName, LinkageName };
/// should be filled with data.
struct DILineInfoSpecifier {
enum class FileLineInfoKind { None, Default, AbsoluteFilePath };
- typedef DINameKind FunctionNameKind;
+ using FunctionNameKind = DINameKind;
FileLineInfoKind FLIKind;
FunctionNameKind FNKind;
@@ -174,6 +174,7 @@ public:
// No verifier? Just say things went well.
return true;
}
+
virtual DILineInfo getLineInfoForAddress(uint64_t Address,
DILineInfoSpecifier Specifier = DILineInfoSpecifier()) = 0;
virtual DILineInfoTable getLineInfoForAddressRange(uint64_t Address,
diff --git a/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h b/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
index e363cff15803..190a69b75739 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
@@ -33,6 +33,7 @@ public:
dwarf::Attribute Attr;
dwarf::Form Form;
+
/// The following field is used for ByteSize for non-implicit_const
/// attributes and as value for implicit_const ones, indicated by
/// Form == DW_FORM_implicit_const.
@@ -58,7 +59,7 @@ public:
/// the ByteSize member.
Optional<int64_t> getByteSize(const DWARFUnit &U) const;
};
- typedef SmallVector<AttributeSpec, 8> AttributeSpecVector;
+ using AttributeSpecVector = SmallVector<AttributeSpec, 8>;
DWARFAbbreviationDeclaration();
@@ -67,8 +68,8 @@ public:
dwarf::Tag getTag() const { return Tag; }
bool hasChildren() const { return HasChildren; }
- typedef iterator_range<AttributeSpecVector::const_iterator>
- attr_iterator_range;
+ using attr_iterator_range =
+ iterator_range<AttributeSpecVector::const_iterator>;
attr_iterator_range attributes() const {
return attr_iterator_range(AttributeSpecs.begin(), AttributeSpecs.end());
diff --git a/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h b/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
index 3012b39dcc52..8bde63efe188 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
@@ -32,8 +32,9 @@ class DWARFAcceleratorTable {
};
struct HeaderData {
- typedef uint16_t AtomType;
- typedef dwarf::Form Form;
+ using AtomType = uint16_t;
+ using Form = dwarf::Form;
+
uint32_t DIEOffsetBase;
SmallVector<std::pair<AtomType, Form>, 3> Atoms;
};
diff --git a/include/llvm/DebugInfo/DWARF/DWARFContext.h b/include/llvm/DebugInfo/DWARF/DWARFContext.h
index c72604a12bfd..4bf34d52bcba 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFContext.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFContext.h
@@ -10,7 +10,6 @@
#ifndef LLVM_DEBUGINFO_DWARF_DWARFCONTEXT_H
#define LLVM_DEBUGINFO_DWARF_DWARFCONTEXT_H
-#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
@@ -25,21 +24,24 @@
#include "llvm/DebugInfo/DWARF/DWARFDebugLine.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugLoc.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugMacro.h"
+#include "llvm/DebugInfo/DWARF/DWARFDie.h"
#include "llvm/DebugInfo/DWARF/DWARFGdbIndex.h"
#include "llvm/DebugInfo/DWARF/DWARFSection.h"
#include "llvm/DebugInfo/DWARF/DWARFTypeUnit.h"
#include "llvm/DebugInfo/DWARF/DWARFUnit.h"
#include "llvm/DebugInfo/DWARF/DWARFUnitIndex.h"
+#include "llvm/Object/Binary.h"
#include "llvm/Object/ObjectFile.h"
+#include "llvm/Support/Error.h"
#include "llvm/Support/Host.h"
#include <cstdint>
#include <deque>
#include <map>
#include <memory>
-#include <utility>
namespace llvm {
+class DataExtractor;
class MemoryBuffer;
class raw_ostream;
@@ -73,7 +75,7 @@ class DWARFContext : public DIContext {
std::unique_ptr<DWARFDebugLocDWO> LocDWO;
/// The maximum DWARF version of all units.
- unsigned MaxVersion;
+ unsigned MaxVersion = 0;
struct DWOFile {
object::OwningBinary<object::ObjectFile> File;
@@ -100,7 +102,7 @@ class DWARFContext : public DIContext {
void parseDWOTypeUnits();
public:
- DWARFContext() : DIContext(CK_DWARF), MaxVersion(0) {}
+ DWARFContext() : DIContext(CK_DWARF) {}
DWARFContext(DWARFContext &) = delete;
DWARFContext &operator=(DWARFContext &) = delete;
@@ -112,9 +114,9 @@ public:
bool verify(raw_ostream &OS, DIDumpType DumpType = DIDT_All) override;
- typedef DWARFUnitSection<DWARFCompileUnit>::iterator_range cu_iterator_range;
- typedef DWARFUnitSection<DWARFTypeUnit>::iterator_range tu_iterator_range;
- typedef iterator_range<decltype(TUs)::iterator> tu_section_iterator_range;
+ using cu_iterator_range = DWARFUnitSection<DWARFCompileUnit>::iterator_range;
+ using tu_iterator_range = DWARFUnitSection<DWARFTypeUnit>::iterator_range;
+ using tu_section_iterator_range = iterator_range<decltype(TUs)::iterator>;
/// Get compile units in this context.
cu_iterator_range compile_units() {
@@ -230,8 +232,10 @@ public:
virtual bool isLittleEndian() const = 0;
virtual uint8_t getAddressSize() const = 0;
virtual const DWARFSection &getInfoSection() = 0;
- typedef MapVector<object::SectionRef, DWARFSection,
- std::map<object::SectionRef, unsigned>> TypeSectionMap;
+
+ using TypeSectionMap = MapVector<object::SectionRef, DWARFSection,
+ std::map<object::SectionRef, unsigned>>;
+
virtual const TypeSectionMap &getTypesSections() = 0;
virtual StringRef getAbbrevSection() = 0;
virtual const DWARFSection &getLocSection() = 0;
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h b/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
index 9f86fe508389..65571598d743 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
@@ -18,6 +18,8 @@
namespace llvm {
+class raw_ostream;
+
class DWARFAbbreviationDeclarationSet {
uint32_t Offset;
/// Code of the first abbreviation, if all abbreviations in the set have
@@ -25,8 +27,8 @@ class DWARFAbbreviationDeclarationSet {
uint32_t FirstAbbrCode;
std::vector<DWARFAbbreviationDeclaration> Decls;
- typedef std::vector<DWARFAbbreviationDeclaration>::const_iterator
- const_iterator;
+ using const_iterator =
+ std::vector<DWARFAbbreviationDeclaration>::const_iterator;
public:
DWARFAbbreviationDeclarationSet();
@@ -51,8 +53,8 @@ private:
};
class DWARFDebugAbbrev {
- typedef std::map<uint64_t, DWARFAbbreviationDeclarationSet>
- DWARFAbbreviationDeclarationSetMap;
+ using DWARFAbbreviationDeclarationSetMap =
+ std::map<uint64_t, DWARFAbbreviationDeclarationSet>;
DWARFAbbreviationDeclarationSetMap AbbrDeclSets;
mutable DWARFAbbreviationDeclarationSetMap::const_iterator PrevAbbrOffsetPos;
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h b/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
index 2d82104ea098..dfbbb95076e8 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
@@ -46,8 +46,8 @@ public:
};
private:
- typedef std::vector<Descriptor> DescriptorColl;
- typedef iterator_range<DescriptorColl::const_iterator> desc_iterator_range;
+ using DescriptorColl = std::vector<Descriptor>;
+ using desc_iterator_range = iterator_range<DescriptorColl::const_iterator>;
uint32_t Offset;
Header HeaderData;
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h b/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h
index 2237aa361d18..ea71a50f3270 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h
@@ -76,8 +76,8 @@ private:
}
};
- typedef std::vector<Range> RangeColl;
- typedef RangeColl::const_iterator RangeCollIterator;
+ using RangeColl = std::vector<Range>;
+ using RangeCollIterator = RangeColl::const_iterator;
std::vector<RangeEndpoint> Endpoints;
RangeColl Aranges;
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h b/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
index 39a7ef71de97..4d624812f186 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
@@ -10,7 +10,9 @@
#ifndef LLVM_DEBUGINFO_DWARFDEBUGLINE_H
#define LLVM_DEBUGINFO_DWARFDEBUGLINE_H
+#include "llvm/ADT/StringRef.h"
#include "llvm/DebugInfo/DIContext.h"
+#include "llvm/DebugInfo/DWARF/DWARFFormValue.h"
#include "llvm/DebugInfo/DWARF/DWARFRelocMap.h"
#include "llvm/Support/DataExtractor.h"
#include <cstdint>
@@ -42,10 +44,10 @@ public:
/// The size in bytes of the statement information for this compilation unit
/// (not including the total_length field itself).
uint64_t TotalLength;
- /// Version identifier for the statement information format.
- uint16_t Version;
- /// In v5, size in bytes of an address (or segment offset).
- uint8_t AddressSize;
+ /// Version, address size (starting in v5), and DWARF32/64 format; these
+ /// parameters affect interpretation of forms (used in the directory and
+ /// file tables starting with v5).
+ DWARFFormParams FormParams;
/// In v5, size in bytes of a segment selector.
uint8_t SegSelectorSize;
/// The number of bytes following the prologue_length field to the beginning
@@ -70,15 +72,18 @@ public:
std::vector<StringRef> IncludeDirectories;
std::vector<FileNameEntry> FileNames;
- bool IsDWARF64;
+ const DWARFFormParams getFormParams() const { return FormParams; }
+ uint16_t getVersion() const { return FormParams.Version; }
+ uint8_t getAddressSize() const { return FormParams.AddrSize; }
+ bool isDWARF64() const { return FormParams.Format == dwarf::DWARF64; }
- uint32_t sizeofTotalLength() const { return IsDWARF64 ? 12 : 4; }
+ uint32_t sizeofTotalLength() const { return isDWARF64() ? 12 : 4; }
- uint32_t sizeofPrologueLength() const { return IsDWARF64 ? 8 : 4; }
+ uint32_t sizeofPrologueLength() const { return isDWARF64() ? 8 : 4; }
/// Length of the prologue in bytes.
uint32_t getLength() const {
- return PrologueLength + sizeofTotalLength() + sizeof(Version) +
+ return PrologueLength + sizeofTotalLength() + sizeof(getVersion()) +
sizeofPrologueLength();
}
@@ -104,7 +109,9 @@ public:
void postAppend();
void reset(bool DefaultIsStmt);
void dump(raw_ostream &OS) const;
+
static void dumpTableHeader(raw_ostream &OS);
+
static bool orderByAddress(const Row &LHS, const Row &RHS) {
return LHS.Address < RHS.Address;
}
@@ -216,11 +223,12 @@ public:
bool parse(DataExtractor DebugLineData, const RelocAddrMap *RMap,
uint32_t *OffsetPtr);
+ using RowVector = std::vector<Row>;
+ using RowIter = RowVector::const_iterator;
+ using SequenceVector = std::vector<Sequence>;
+ using SequenceIter = SequenceVector::const_iterator;
+
struct Prologue Prologue;
- typedef std::vector<Row> RowVector;
- typedef RowVector::const_iterator RowIter;
- typedef std::vector<Sequence> SequenceVector;
- typedef SequenceVector::const_iterator SequenceIter;
RowVector Rows;
SequenceVector Sequences;
@@ -244,14 +252,14 @@ private:
struct LineTable *LineTable;
/// The row number that starts at zero for the prologue, and increases for
/// each row added to the matrix.
- unsigned RowNumber;
+ unsigned RowNumber = 0;
struct Row Row;
struct Sequence Sequence;
};
- typedef std::map<uint32_t, LineTable> LineTableMapTy;
- typedef LineTableMapTy::iterator LineTableIter;
- typedef LineTableMapTy::const_iterator LineTableConstIter;
+ using LineTableMapTy = std::map<uint32_t, LineTable>;
+ using LineTableIter = LineTableMapTy::iterator;
+ using LineTableConstIter = LineTableMapTy::const_iterator;
const RelocAddrMap *RelocMap;
LineTableMapTy LineTableMap;
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h b/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
index 6d4cd8d1b5a3..821da8f9b536 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
@@ -39,7 +39,7 @@ class DWARFDebugLoc {
SmallVector<Entry, 2> Entries;
};
- typedef SmallVector<LocationList, 4> LocationLists;
+ using LocationLists = SmallVector<LocationList, 4>;
/// A list of all the variables in the debug_loc section, each one describing
/// the locations in which the variable is stored.
@@ -71,7 +71,7 @@ class DWARFDebugLocDWO {
SmallVector<Entry, 2> Entries;
};
- typedef SmallVector<LocationList, 4> LocationLists;
+ using LocationLists = SmallVector<LocationList, 4>;
LocationLists Locations;
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h b/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
index 85d98b45afcd..135c50761e36 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
@@ -40,7 +40,7 @@ class DWARFDebugMacro {
};
};
- typedef SmallVector<Entry, 4> MacroList;
+ using MacroList = SmallVector<Entry, 4>;
/// A list of all the macro entries in the debug_macinfo section.
MacroList Macros;
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h b/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
index 437060bc8fec..49beec92ecc6 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
@@ -12,10 +12,8 @@
#include "llvm/DebugInfo/DWARF/DWARFRelocMap.h"
#include "llvm/Support/DataExtractor.h"
-
#include <cassert>
#include <cstdint>
-#include <utility>
#include <vector>
namespace llvm {
@@ -29,7 +27,7 @@ struct DWARFAddressRange {
};
/// DWARFAddressRangesVector - represents a set of absolute address ranges.
-typedef std::vector<DWARFAddressRange> DWARFAddressRangesVector;
+using DWARFAddressRangesVector = std::vector<DWARFAddressRange>;
class DWARFDebugRangeList {
public:
diff --git a/include/llvm/DebugInfo/DWARF/DWARFFormValue.h b/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
index d6a3b52f2fe1..78fa6639db08 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
@@ -22,6 +22,35 @@ namespace llvm {
class DWARFUnit;
class raw_ostream;
+/// A helper struct for DWARFFormValue methods, providing information that
+/// allows it to know the byte size of DW_FORM values that vary in size
+/// depending on the DWARF version, address byte size, or DWARF32/DWARF64.
+struct DWARFFormParams {
+ uint16_t Version;
+ uint8_t AddrSize;
+ dwarf::DwarfFormat Format;
+
+ /// The definition of the size of form DW_FORM_ref_addr depends on the
+ /// version. In DWARF v2 it's the size of an address; after that, it's the
+ /// size of a reference.
+ uint8_t getRefAddrByteSize() const {
+ if (Version == 2)
+ return AddrSize;
+ return getDwarfOffsetByteSize();
+ }
+
+ /// The size of a reference is determined by the DWARF 32/64-bit format.
+ uint8_t getDwarfOffsetByteSize() const {
+ switch (Format) {
+ case dwarf::DwarfFormat::DWARF32:
+ return 4;
+ case dwarf::DwarfFormat::DWARF64:
+ return 8;
+ }
+ llvm_unreachable("Invalid Format value");
+ }
+};
+
class DWARFFormValue {
public:
enum FormClass {
@@ -104,79 +133,43 @@ public:
/// Get the fixed byte size for a given form.
///
- /// If the form always has a fixed valid byte size that doesn't depend on a
- /// DWARFUnit, then an Optional with a value will be returned. If the form
- /// can vary in size depending on the DWARFUnit (DWARF version, address byte
- /// size, or DWARF 32/64) and the DWARFUnit is valid, then an Optional with a
- /// valid value is returned. If the form is always encoded using a variable
- /// length storage format (ULEB or SLEB numbers or blocks) or the size
- /// depends on a DWARFUnit and the DWARFUnit is NULL, then None will be
- /// returned.
- /// \param Form The DWARF form to get the fixed byte size for
- /// \param U The DWARFUnit that can be used to help determine the byte size.
- ///
- /// \returns Optional<uint8_t> value with the fixed byte size or None if
- /// \p Form doesn't have a fixed byte size or a DWARFUnit wasn't supplied
- /// and was needed to calculate the byte size.
- static Optional<uint8_t> getFixedByteSize(dwarf::Form Form,
- const DWARFUnit *U = nullptr);
-
- /// Get the fixed byte size for a given form.
- ///
- /// If the form has a fixed byte size given a valid DWARF version and address
- /// byte size, then an Optional with a valid value is returned. If the form
- /// is always encoded using a variable length storage format (ULEB or SLEB
- /// numbers or blocks) then None will be returned.
+ /// If the form has a fixed byte size, then an Optional with a value will be
+ /// returned. If the form is always encoded using a variable length storage
+ /// format (ULEB or SLEB numbers or blocks) then None will be returned.
///
- /// \param Form DWARF form to get the fixed byte size for
- /// \param Version DWARF version number.
- /// \param AddrSize size of an address in bytes.
- /// \param Format enum value from llvm::dwarf::DwarfFormat.
+ /// \param Form DWARF form to get the fixed byte size for.
+ /// \param FormParams DWARF parameters to help interpret forms.
/// \returns Optional<uint8_t> value with the fixed byte size or None if
/// \p Form doesn't have a fixed byte size.
- static Optional<uint8_t> getFixedByteSize(dwarf::Form Form, uint16_t Version,
- uint8_t AddrSize,
- llvm::dwarf::DwarfFormat Format);
+ static Optional<uint8_t> getFixedByteSize(dwarf::Form Form,
+ const DWARFFormParams FormParams);
- /// Skip a form in \p DebugInfoData at offset specified by \p OffsetPtr.
+ /// Skip a form's value in \p DebugInfoData at the offset specified by
+ /// \p OffsetPtr.
///
- /// Skips the bytes for this form in the debug info and updates the offset.
+ /// Skips the bytes for the current form and updates the offset.
///
- /// \param DebugInfoData the .debug_info data to use to skip the value.
- /// \param OffsetPtr a reference to the offset that will be updated.
- /// \param U the DWARFUnit to use when skipping the form in case the form
- /// size differs according to data in the DWARFUnit.
+ /// \param DebugInfoData The data where we want to skip the value.
+ /// \param OffsetPtr A reference to the offset that will be updated.
+ /// \param Params DWARF parameters to help interpret forms.
/// \returns true on success, false if the form was not skipped.
bool skipValue(DataExtractor DebugInfoData, uint32_t *OffsetPtr,
- const DWARFUnit *U) const;
-
- /// Skip a form in \p DebugInfoData at offset specified by \p OffsetPtr.
- ///
- /// Skips the bytes for this form in the debug info and updates the offset.
- ///
- /// \param Form the DW_FORM enumeration that indicates the form to skip.
- /// \param DebugInfoData the .debug_info data to use to skip the value.
- /// \param OffsetPtr a reference to the offset that will be updated.
- /// \param U the DWARFUnit to use when skipping the form in case the form
- /// size differs according to data in the DWARFUnit.
- /// \returns true on success, false if the form was not skipped.
- static bool skipValue(dwarf::Form Form, DataExtractor DebugInfoData,
- uint32_t *OffsetPtr, const DWARFUnit *U);
+ const DWARFFormParams Params) const {
+ return DWARFFormValue::skipValue(Form, DebugInfoData, OffsetPtr, Params);
+ }
- /// Skip a form in \p DebugInfoData at offset specified by \p OffsetPtr.
+ /// Skip a form's value in \p DebugInfoData at the offset specified by
+ /// \p OffsetPtr.
///
- /// Skips the bytes for this form in the debug info and updates the offset.
+ /// Skips the bytes for the specified form and updates the offset.
///
- /// \param Form the DW_FORM enumeration that indicates the form to skip.
- /// \param DebugInfoData the .debug_info data to use to skip the value.
- /// \param OffsetPtr a reference to the offset that will be updated.
- /// \param Version DWARF version number.
- /// \param AddrSize size of an address in bytes.
- /// \param Format enum value from llvm::dwarf::DwarfFormat.
+ /// \param Form The DW_FORM enumeration that indicates the form to skip.
+ /// \param DebugInfoData The data where we want to skip the value.
+ /// \param OffsetPtr A reference to the offset that will be updated.
+ /// \param FormParams DWARF parameters to help interpret forms.
/// \returns true on success, false if the form was not skipped.
static bool skipValue(dwarf::Form Form, DataExtractor DebugInfoData,
- uint32_t *OffsetPtr, uint16_t Version, uint8_t AddrSize,
- llvm::dwarf::DwarfFormat Format);
+ uint32_t *OffsetPtr, const DWARFFormParams FormParams);
private:
void dumpString(raw_ostream &OS) const;
diff --git a/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h b/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h
index f143de334737..f51838424614 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h
@@ -12,7 +12,6 @@
#include "llvm/ADT/DenseMap.h"
#include <cstdint>
-#include <utility>
namespace llvm {
@@ -28,7 +27,7 @@ struct RelocAddrEntry {
/// dwarf where we expect relocated values. This adds a bit of complexity to the
/// dwarf parsing/extraction at the benefit of not allocating memory for the
/// entire size of the debug info sections.
-typedef DenseMap<uint64_t, RelocAddrEntry> RelocAddrMap;
+using RelocAddrMap = DenseMap<uint64_t, RelocAddrEntry>;
} // end namespace llvm
diff --git a/include/llvm/DebugInfo/DWARF/DWARFUnit.h b/include/llvm/DebugInfo/DWARF/DWARFUnit.h
index 945b8999ff22..d7ccaf82bc9a 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFUnit.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFUnit.h
@@ -19,11 +19,10 @@
#include "llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugRangeList.h"
#include "llvm/DebugInfo/DWARF/DWARFDie.h"
+#include "llvm/DebugInfo/DWARF/DWARFFormValue.h"
#include "llvm/DebugInfo/DWARF/DWARFRelocMap.h"
#include "llvm/DebugInfo/DWARF/DWARFSection.h"
#include "llvm/DebugInfo/DWARF/DWARFUnitIndex.h"
-#include "llvm/Object/Binary.h"
-#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/DataExtractor.h"
#include <algorithm>
#include <cassert>
@@ -31,6 +30,7 @@
#include <cstdint>
#include <map>
#include <memory>
+#include <utility>
#include <vector>
namespace llvm {
@@ -72,9 +72,9 @@ class DWARFUnitSection final : public SmallVector<std::unique_ptr<UnitType>, 1>,
bool Parsed = false;
public:
- typedef SmallVectorImpl<std::unique_ptr<UnitType>> UnitVector;
- typedef typename UnitVector::iterator iterator;
- typedef llvm::iterator_range<typename UnitVector::iterator> iterator_range;
+ using UnitVector = SmallVectorImpl<std::unique_ptr<UnitType>>;
+ using iterator = typename UnitVector::iterator;
+ using iterator_range = llvm::iterator_range<typename UnitVector::iterator>;
UnitType *getUnitForOffset(uint32_t Offset) const override {
auto *CU = std::upper_bound(
@@ -128,12 +128,13 @@ class DWARFUnit {
bool isDWO;
const DWARFUnitSectionBase &UnitSection;
+ // Version, address size, and DWARF format.
+ DWARFFormParams FormParams;
+
uint32_t Offset;
uint32_t Length;
const DWARFAbbreviationDeclarationSet *Abbrevs;
- uint16_t Version;
uint8_t UnitType;
- uint8_t AddrSize;
uint64_t BaseAddr;
/// The compile unit debug information entry items.
std::vector<DWARFDebugInfoEntry> DieArray;
@@ -142,8 +143,9 @@ class DWARFUnit {
/// IntervalMap does not support range removal, as a result, we use the
/// std::map::upper_bound for address range lookup.
std::map<uint64_t, std::pair<uint64_t, DWARFDie>> AddrDieMap;
- typedef iterator_range<std::vector<DWARFDebugInfoEntry>::iterator>
- die_iterator_range;
+
+ using die_iterator_range =
+ iterator_range<std::vector<DWARFDebugInfoEntry>::iterator>;
std::shared_ptr<DWARFUnit> DWO;
@@ -159,7 +161,7 @@ protected:
virtual bool extractImpl(DataExtractor debug_info, uint32_t *offset_ptr);
/// Size in bytes of the unit header.
- virtual uint32_t getHeaderSize() const { return Version <= 4 ? 11 : 12; }
+ virtual uint32_t getHeaderSize() const { return getVersion() <= 4 ? 11 : 12; }
public:
DWARFUnit(DWARFContext &Context, const DWARFSection &Section,
@@ -197,7 +199,8 @@ public:
uint64_t getStringOffsetSectionRelocation(uint32_t Index) const;
DataExtractor getDebugInfoExtractor() const {
- return DataExtractor(InfoSection.Data, isLittleEndian, AddrSize);
+ return DataExtractor(InfoSection.Data, isLittleEndian,
+ getAddressByteSize());
}
DataExtractor getStringExtractor() const {
@@ -220,10 +223,14 @@ public:
uint32_t getOffset() const { return Offset; }
uint32_t getNextUnitOffset() const { return Offset + Length + 4; }
uint32_t getLength() const { return Length; }
- uint16_t getVersion() const { return Version; }
- dwarf::DwarfFormat getFormat() const {
- return dwarf::DwarfFormat::DWARF32; // FIXME: Support DWARF64.
+ const DWARFFormParams &getFormParams() const { return FormParams; }
+ uint16_t getVersion() const { return FormParams.Version; }
+ dwarf::DwarfFormat getFormat() const { return FormParams.Format; }
+ uint8_t getAddressByteSize() const { return FormParams.AddrSize; }
+ uint8_t getRefAddrByteSize() const { return FormParams.getRefAddrByteSize(); }
+ uint8_t getDwarfOffsetByteSize() const {
+ return FormParams.getDwarfOffsetByteSize();
}
const DWARFAbbreviationDeclarationSet *getAbbreviations() const {
@@ -231,19 +238,6 @@ public:
}
uint8_t getUnitType() const { return UnitType; }
- uint8_t getAddressByteSize() const { return AddrSize; }
-
- uint8_t getRefAddrByteSize() const {
- if (Version == 2)
- return AddrSize;
- return getDwarfOffsetByteSize();
- }
-
- uint8_t getDwarfOffsetByteSize() const {
- if (getFormat() == dwarf::DwarfFormat::DWARF64)
- return 8;
- return 4;
- }
uint64_t getBaseAddress() const { return BaseAddr; }
diff --git a/include/llvm/DebugInfo/MSF/MSFBuilder.h b/include/llvm/DebugInfo/MSF/MSFBuilder.h
index 6d067cc1c238..b2c8f2d1c20d 100644
--- a/include/llvm/DebugInfo/MSF/MSFBuilder.h
+++ b/include/llvm/DebugInfo/MSF/MSFBuilder.h
@@ -12,18 +12,16 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitVector.h"
-
#include "llvm/DebugInfo/MSF/MSFCommon.h"
-
#include "llvm/Support/Allocator.h"
-#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
-
+#include <cstdint>
#include <utility>
#include <vector>
namespace llvm {
namespace msf {
+
class MSFBuilder {
public:
/// \brief Create a new `MSFBuilder`.
@@ -122,7 +120,7 @@ private:
Error allocateBlocks(uint32_t NumBlocks, MutableArrayRef<uint32_t> Blocks);
uint32_t computeDirectoryByteSize() const;
- typedef std::vector<uint32_t> BlockList;
+ using BlockList = std::vector<uint32_t>;
BumpPtrAllocator &Allocator;
@@ -136,7 +134,8 @@ private:
std::vector<uint32_t> DirectoryBlocks;
std::vector<std::pair<uint32_t, BlockList>> StreamData;
};
-} // namespace msf
-} // namespace llvm
+
+} // end namespace msf
+} // end namespace llvm
#endif // LLVM_DEBUGINFO_MSF_MSFBUILDER_H
diff --git a/include/llvm/DebugInfo/MSF/MSFCommon.h b/include/llvm/DebugInfo/MSF/MSFCommon.h
index 93a9c808b736..eca1b8b89ebd 100644
--- a/include/llvm/DebugInfo/MSF/MSFCommon.h
+++ b/include/llvm/DebugInfo/MSF/MSFCommon.h
@@ -12,15 +12,15 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitVector.h"
-
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/MathExtras.h"
-
+#include <cstdint>
#include <vector>
namespace llvm {
namespace msf {
+
static const char Magic[] = {'M', 'i', 'c', 'r', 'o', 's', 'o', 'f',
't', ' ', 'C', '/', 'C', '+', '+', ' ',
'M', 'S', 'F', ' ', '7', '.', '0', '0',
@@ -50,8 +50,9 @@ struct SuperBlock {
};
struct MSFLayout {
- MSFLayout() : SB(nullptr) {}
- const SuperBlock *SB;
+ MSFLayout() = default;
+
+ const SuperBlock *SB = nullptr;
BitVector FreePageMap;
ArrayRef<support::ulittle32_t> DirectoryBlocks;
ArrayRef<support::ulittle32_t> StreamSizes;
@@ -90,15 +91,16 @@ inline uint32_t getFpmIntervalLength(const MSFLayout &L) {
inline uint32_t getNumFpmIntervals(const MSFLayout &L) {
uint32_t Length = getFpmIntervalLength(L);
- return llvm::alignTo(L.SB->NumBlocks, Length) / Length;
+ return alignTo(L.SB->NumBlocks, Length) / Length;
}
inline uint32_t getFullFpmByteSize(const MSFLayout &L) {
- return llvm::alignTo(L.SB->NumBlocks, 8) / 8;
+ return alignTo(L.SB->NumBlocks, 8) / 8;
}
Error validateSuperBlock(const SuperBlock &SB);
-} // namespace msf
-} // namespace llvm
+
+} // end namespace msf
+} // end namespace llvm
#endif // LLVM_DEBUGINFO_MSF_MSFCOMMON_H
diff --git a/include/llvm/DebugInfo/MSF/MappedBlockStream.h b/include/llvm/DebugInfo/MSF/MappedBlockStream.h
index 02f3cb09b004..6d88d2be85c9 100644
--- a/include/llvm/DebugInfo/MSF/MappedBlockStream.h
+++ b/include/llvm/DebugInfo/MSF/MappedBlockStream.h
@@ -1,5 +1,4 @@
-//===- MappedBlockStream.h - Discontiguous stream data in an MSF -*- C++
-//-*-===//
+//==- MappedBlockStream.h - Discontiguous stream data in an MSF --*- C++ -*-==//
//
// The LLVM Compiler Infrastructure
//
@@ -13,7 +12,6 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
-#include "llvm/ADT/STLExtras.h"
#include "llvm/DebugInfo/MSF/MSFStreamLayout.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/BinaryStream.h"
@@ -21,6 +19,7 @@
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include <cstdint>
+#include <memory>
#include <vector>
namespace llvm {
@@ -40,6 +39,7 @@ struct MSFLayout;
/// of bytes.
class MappedBlockStream : public BinaryStream {
friend class WritableMappedBlockStream;
+
public:
static std::unique_ptr<MappedBlockStream>
createStream(uint32_t BlockSize, const MSFStreamLayout &Layout,
@@ -57,8 +57,8 @@ public:
createDirectoryStream(const MSFLayout &Layout, BinaryStreamRef MsfData,
BumpPtrAllocator &Allocator);
- llvm::support::endianness getEndian() const override {
- return llvm::support::little;
+ support::endianness getEndian() const override {
+ return support::little;
}
Error readBytes(uint32_t Offset, uint32_t Size,
@@ -68,7 +68,7 @@ public:
uint32_t getLength() override;
- llvm::BumpPtrAllocator &getAllocator() { return Allocator; }
+ BumpPtrAllocator &getAllocator() { return Allocator; }
void invalidateCache();
@@ -92,7 +92,7 @@ private:
const MSFStreamLayout StreamLayout;
BinaryStreamRef MsfData;
- typedef MutableArrayRef<uint8_t> CacheEntry;
+ using CacheEntry = MutableArrayRef<uint8_t>;
// We just store the allocator by reference. We use this to allocate
// contiguous memory for things like arrays or strings that cross a block
@@ -124,8 +124,8 @@ public:
createFpmStream(const MSFLayout &Layout, WritableBinaryStreamRef MsfData,
BumpPtrAllocator &Allocator);
- llvm::support::endianness getEndian() const override {
- return llvm::support::little;
+ support::endianness getEndian() const override {
+ return support::little;
}
Error readBytes(uint32_t Offset, uint32_t Size,
@@ -141,6 +141,7 @@ public:
const MSFStreamLayout &getStreamLayout() const {
return ReadInterface.getStreamLayout();
}
+
uint32_t getBlockSize() const { return ReadInterface.getBlockSize(); }
uint32_t getNumBlocks() const { return ReadInterface.getNumBlocks(); }
uint32_t getStreamLength() const { return ReadInterface.getStreamLength(); }
@@ -153,7 +154,6 @@ protected:
private:
MappedBlockStream ReadInterface;
-
WritableBinaryStreamRef WriteInterface;
};
diff --git a/include/llvm/DebugInfo/PDB/DIA/DIASession.h b/include/llvm/DebugInfo/PDB/DIA/DIASession.h
index 3f5818631e7b..350442556bef 100644
--- a/include/llvm/DebugInfo/PDB/DIA/DIASession.h
+++ b/include/llvm/DebugInfo/PDB/DIA/DIASession.h
@@ -31,7 +31,7 @@ public:
uint64_t getLoadAddress() const override;
void setLoadAddress(uint64_t Address) override;
- std::unique_ptr<PDBSymbolExe> getGlobalScope() const override;
+ std::unique_ptr<PDBSymbolExe> getGlobalScope() override;
std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override;
std::unique_ptr<PDBSymbol>
diff --git a/include/llvm/DebugInfo/PDB/IPDBSession.h b/include/llvm/DebugInfo/PDB/IPDBSession.h
index 85d9fe124859..cf195095c8d2 100644
--- a/include/llvm/DebugInfo/PDB/IPDBSession.h
+++ b/include/llvm/DebugInfo/PDB/IPDBSession.h
@@ -29,7 +29,7 @@ public:
virtual uint64_t getLoadAddress() const = 0;
virtual void setLoadAddress(uint64_t Address) = 0;
- virtual std::unique_ptr<PDBSymbolExe> getGlobalScope() const = 0;
+ virtual std::unique_ptr<PDBSymbolExe> getGlobalScope() = 0;
virtual std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const = 0;
template <typename T>
diff --git a/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h b/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
index a89e26ae943c..e4cb1b24e30d 100644
--- a/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
+++ b/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
@@ -14,6 +14,7 @@
#include "llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h"
#include "llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h"
#include "llvm/DebugInfo/CodeView/DebugLinesSubsection.h"
+#include "llvm/DebugInfo/CodeView/DebugSubsectionRecord.h"
#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
#include "llvm/DebugInfo/PDB/Native/RawTypes.h"
#include "llvm/Support/Error.h"
@@ -52,6 +53,9 @@ public:
void
addDebugSubsection(std::shared_ptr<codeview::DebugSubsection> Subsection);
+ void
+ addDebugSubsection(const codeview::DebugSubsectionRecord &SubsectionContents);
+
uint16_t getStreamIndex() const;
StringRef getModuleName() const { return ModuleName; }
StringRef getObjFileName() const { return ObjFileName; }
diff --git a/include/llvm/DebugInfo/PDB/Native/DbiStream.h b/include/llvm/DebugInfo/PDB/Native/DbiStream.h
index 7123e88cd642..3bf790726656 100644
--- a/include/llvm/DebugInfo/PDB/Native/DbiStream.h
+++ b/include/llvm/DebugInfo/PDB/Native/DbiStream.h
@@ -63,6 +63,13 @@ public:
PDB_Machine getMachineType() const;
+ BinarySubstreamRef getSectionContributionData() const;
+ BinarySubstreamRef getSecMapSubstreamData() const;
+ BinarySubstreamRef getModiSubstreamData() const;
+ BinarySubstreamRef getFileInfoSubstreamData() const;
+ BinarySubstreamRef getTypeServerMapSubstreamData() const;
+ BinarySubstreamRef getECSubstreamData() const;
+
/// If the given stream type is present, returns its stream index. If it is
/// not present, returns InvalidStreamIndex.
uint32_t getDebugStreamIndex(DbgHeaderType Type) const;
@@ -87,10 +94,12 @@ private:
PDBStringTable ECNames;
- BinaryStreamRef SecContrSubstream;
- BinaryStreamRef SecMapSubstream;
- BinaryStreamRef TypeServerMapSubstream;
- BinaryStreamRef ECSubstream;
+ BinarySubstreamRef SecContrSubstream;
+ BinarySubstreamRef SecMapSubstream;
+ BinarySubstreamRef ModiSubstream;
+ BinarySubstreamRef FileInfoSubstream;
+ BinarySubstreamRef TypeServerMapSubstream;
+ BinarySubstreamRef ECSubstream;
DbiModuleList Modules;
diff --git a/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h b/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
index aeb2e2ab026a..744411854181 100644
--- a/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
+++ b/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
@@ -58,6 +58,7 @@ public:
Expected<DbiModuleDescriptorBuilder &> addModuleInfo(StringRef ModuleName);
Error addModuleSourceFile(StringRef Module, StringRef File);
+ Error addModuleSourceFile(DbiModuleDescriptorBuilder &Module, StringRef File);
Expected<uint32_t> getSourceFileNameIndex(StringRef FileName);
Error finalizeMsfLayout();
diff --git a/include/llvm/DebugInfo/PDB/Native/InfoStream.h b/include/llvm/DebugInfo/PDB/Native/InfoStream.h
index fc91fc7097bd..37bf5f3b573c 100644
--- a/include/llvm/DebugInfo/PDB/Native/InfoStream.h
+++ b/include/llvm/DebugInfo/PDB/Native/InfoStream.h
@@ -47,6 +47,8 @@ public:
const NamedStreamMap &getNamedStreams() const;
+ BinarySubstreamRef getNamedStreamsBuffer() const;
+
uint32_t getNamedStreamIndex(llvm::StringRef Name) const;
iterator_range<StringMapConstIterator<uint32_t>> named_streams() const;
@@ -71,6 +73,8 @@ private:
// universally unique.
PDB_UniqueId Guid;
+ BinarySubstreamRef SubNamedStreams;
+
std::vector<PdbRaw_FeatureSig> FeatureSignatures;
PdbRaw_Features Features = PdbFeatureNone;
diff --git a/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h b/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
index c744696ae250..5565cd5582bc 100644
--- a/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
+++ b/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
@@ -41,9 +41,12 @@ public:
iterator_range<codeview::CVSymbolArray::Iterator>
symbols(bool *HadError) const;
- const codeview::CVSymbolArray &getSymbolArray() const {
- return SymbolsSubstream;
- }
+ const codeview::CVSymbolArray &getSymbolArray() const { return SymbolArray; }
+
+ BinarySubstreamRef getSymbolsSubstream() const;
+ BinarySubstreamRef getC11LinesSubstream() const;
+ BinarySubstreamRef getC13LinesSubstream() const;
+ BinarySubstreamRef getGlobalRefsSubstream() const;
ModuleDebugStreamRef &operator=(ModuleDebugStreamRef &&Other) = default;
@@ -63,10 +66,12 @@ private:
std::shared_ptr<msf::MappedBlockStream> Stream;
- codeview::CVSymbolArray SymbolsSubstream;
- BinaryStreamRef C11LinesSubstream;
- BinaryStreamRef C13LinesSubstream;
- BinaryStreamRef GlobalRefsSubstream;
+ codeview::CVSymbolArray SymbolArray;
+
+ BinarySubstreamRef SymbolsSubstream;
+ BinarySubstreamRef C11LinesSubstream;
+ BinarySubstreamRef C13LinesSubstream;
+ BinarySubstreamRef GlobalRefsSubstream;
codeview::DebugSubsectionArray Subsections;
};
diff --git a/include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h b/include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h
index 22ed61910d94..1687737f0e7f 100644
--- a/include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h
+++ b/include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h
@@ -18,7 +18,11 @@ namespace pdb {
class NativeCompilandSymbol : public NativeRawSymbol {
public:
- NativeCompilandSymbol(NativeSession &Session, DbiModuleDescriptor MI);
+ NativeCompilandSymbol(NativeSession &Session, uint32_t SymbolId,
+ DbiModuleDescriptor MI);
+
+ std::unique_ptr<NativeRawSymbol> clone() const override;
+
PDB_SymType getSymTag() const override;
bool isEditAndContinueEnabled() const override;
uint32_t getLexicalParentId() const override;
diff --git a/include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h b/include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h
index 9516810539b6..15bac78df191 100644
--- a/include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h
+++ b/include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h
@@ -18,7 +18,9 @@ namespace pdb {
class NativeExeSymbol : public NativeRawSymbol {
public:
- NativeExeSymbol(NativeSession &Session);
+ NativeExeSymbol(NativeSession &Session, uint32_t SymbolId);
+
+ std::unique_ptr<NativeRawSymbol> clone() const override;
std::unique_ptr<IPDBEnumSymbols>
findChildren(PDB_SymType Type) const override;
diff --git a/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h b/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
index e1e78035ff38..5e4aaafff1a9 100644
--- a/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
+++ b/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
@@ -19,7 +19,9 @@ class NativeSession;
class NativeRawSymbol : public IPDBRawSymbol {
public:
- explicit NativeRawSymbol(NativeSession &PDBSession);
+ NativeRawSymbol(NativeSession &PDBSession, uint32_t SymbolId);
+
+ virtual std::unique_ptr<NativeRawSymbol> clone() const = 0;
void dump(raw_ostream &OS, int Indent) const override;
@@ -201,6 +203,7 @@ public:
protected:
NativeSession &Session;
+ uint32_t SymbolId;
};
}
diff --git a/include/llvm/DebugInfo/PDB/Native/NativeSession.h b/include/llvm/DebugInfo/PDB/Native/NativeSession.h
index e6da266f796d..bbe207738e02 100644
--- a/include/llvm/DebugInfo/PDB/Native/NativeSession.h
+++ b/include/llvm/DebugInfo/PDB/Native/NativeSession.h
@@ -32,7 +32,7 @@ public:
uint64_t getLoadAddress() const override;
void setLoadAddress(uint64_t Address) override;
- std::unique_ptr<PDBSymbolExe> getGlobalScope() const override;
+ std::unique_ptr<PDBSymbolExe> getGlobalScope() override;
std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override;
std::unique_ptr<PDBSymbol>
diff --git a/include/llvm/DebugInfo/PDB/Native/PDBFile.h b/include/llvm/DebugInfo/PDB/Native/PDBFile.h
index 4d3c569c3cdf..4f6ad115e7df 100644
--- a/include/llvm/DebugInfo/PDB/Native/PDBFile.h
+++ b/include/llvm/DebugInfo/PDB/Native/PDBFile.h
@@ -13,6 +13,7 @@
#include "llvm/ADT/DenseMap.h"
#include "llvm/DebugInfo/MSF/IMSFFile.h"
#include "llvm/DebugInfo/MSF/MSFCommon.h"
+#include "llvm/DebugInfo/MSF/MSFStreamLayout.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/BinaryStreamRef.h"
#include "llvm/Support/Endian.h"
@@ -85,6 +86,8 @@ public:
ArrayRef<support::ulittle32_t> getDirectoryBlockArray() const;
+ msf::MSFStreamLayout getStreamLayout(uint32_t StreamIdx) const;
+
Error parseFileHeaders();
Error parseStreamData();
diff --git a/include/llvm/DebugInfo/PDB/Native/TpiStream.h b/include/llvm/DebugInfo/PDB/Native/TpiStream.h
index 0ee697696ca5..d3475205a6c2 100644
--- a/include/llvm/DebugInfo/PDB/Native/TpiStream.h
+++ b/include/llvm/DebugInfo/PDB/Native/TpiStream.h
@@ -16,6 +16,7 @@
#include "llvm/DebugInfo/PDB/Native/RawTypes.h"
#include "llvm/DebugInfo/PDB/PDBTypes.h"
#include "llvm/Support/BinaryStreamArray.h"
+#include "llvm/Support/BinaryStreamRef.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/Error.h"
@@ -57,6 +58,8 @@ public:
codeview::LazyRandomTypeCollection &typeCollection() { return *Types; }
+ BinarySubstreamRef getTypeRecordsSubstream() const;
+
Error commit();
private:
@@ -65,6 +68,8 @@ private:
std::unique_ptr<codeview::LazyRandomTypeCollection> Types;
+ BinarySubstreamRef TypeRecordsSubstream;
+
codeview::CVTypeArray TypeRecords;
std::unique_ptr<BinaryStream> HashStream;
diff --git a/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h b/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
index e0bec6f6cf85..e576a91e887c 100644
--- a/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
+++ b/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
@@ -1,4 +1,4 @@
-//===-- SymbolizableModule.h ------------------------------------ C++ -----===//
+//===- SymbolizableModule.h -------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,12 +14,7 @@
#define LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZABLEMODULE_H
#include "llvm/DebugInfo/DIContext.h"
-
-namespace llvm {
-namespace object {
-class ObjectFile;
-}
-}
+#include <cstdint>
namespace llvm {
namespace symbolize {
@@ -28,7 +23,8 @@ using FunctionNameKind = DILineInfoSpecifier::FunctionNameKind;
class SymbolizableModule {
public:
- virtual ~SymbolizableModule() {}
+ virtual ~SymbolizableModule() = default;
+
virtual DILineInfo symbolizeCode(uint64_t ModuleOffset,
FunctionNameKind FNKind,
bool UseSymbolTable) const = 0;
@@ -45,7 +41,7 @@ public:
virtual uint64_t getModulePreferredBase() const = 0;
};
-} // namespace symbolize
-} // namespace llvm
+} // end namespace symbolize
+} // end namespace llvm
#endif // LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZABLEMODULE_H
diff --git a/include/llvm/DebugInfo/Symbolize/Symbolize.h b/include/llvm/DebugInfo/Symbolize/Symbolize.h
index 5103cc03a6bd..d98d49b24bca 100644
--- a/include/llvm/DebugInfo/Symbolize/Symbolize.h
+++ b/include/llvm/DebugInfo/Symbolize/Symbolize.h
@@ -1,4 +1,4 @@
-//===-- Symbolize.h --------------------------------------------- C++ -----===//
+//===- Symbolize.h ----------------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -10,21 +10,27 @@
// Header for LLVM symbolization library.
//
//===----------------------------------------------------------------------===//
+
#ifndef LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZE_H
#define LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZE_H
#include "llvm/DebugInfo/Symbolize/SymbolizableModule.h"
+#include "llvm/Object/Binary.h"
#include "llvm/Object/ObjectFile.h"
-#include "llvm/Support/ErrorOr.h"
+#include "llvm/Support/Error.h"
+#include <algorithm>
+#include <cstdint>
#include <map>
#include <memory>
#include <string>
#include <utility>
+#include <vector>
namespace llvm {
namespace symbolize {
using namespace object;
+
using FunctionNameKind = DILineInfoSpecifier::FunctionNameKind;
class LLVMSymbolizer {
@@ -36,6 +42,7 @@ public:
bool RelativeAddresses : 1;
std::string DefaultArch;
std::vector<std::string> DsymHints;
+
Options(FunctionNameKind PrintFunctions = FunctionNameKind::LinkageName,
bool UseSymbolTable = true, bool Demangle = true,
bool RelativeAddresses = false, std::string DefaultArch = "")
@@ -45,6 +52,7 @@ public:
};
LLVMSymbolizer(const Options &Opts = Options()) : Opts(Opts) {}
+
~LLVMSymbolizer() {
flush();
}
@@ -56,6 +64,7 @@ public:
Expected<DIGlobal> symbolizeData(const std::string &ModuleName,
uint64_t ModuleOffset);
void flush();
+
static std::string
DemangleName(const std::string &Name,
const SymbolizableModule *DbiModuleDescriptor);
@@ -63,7 +72,7 @@ public:
private:
// Bundles together object file with code/data and object file with
// corresponding debug info. These objects can be the same.
- typedef std::pair<ObjectFile*, ObjectFile*> ObjectPair;
+ using ObjectPair = std::pair<ObjectFile *, ObjectFile *>;
/// Returns a SymbolizableModule or an error if loading debug info failed.
/// Only one attempt is made to load a module, and errors during loading are
@@ -106,7 +115,7 @@ private:
Options Opts;
};
-} // namespace symbolize
-} // namespace llvm
+} // end namespace symbolize
+} // end namespace llvm
-#endif
+#endif // LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZE_H
diff --git a/include/llvm/ExecutionEngine/ExecutionEngine.h b/include/llvm/ExecutionEngine/ExecutionEngine.h
index 1586f7b80669..2830a2628753 100644
--- a/include/llvm/ExecutionEngine/ExecutionEngine.h
+++ b/include/llvm/ExecutionEngine/ExecutionEngine.h
@@ -15,54 +15,58 @@
#ifndef LLVM_EXECUTIONENGINE_EXECUTIONENGINE_H
#define LLVM_EXECUTIONENGINE_EXECUTIONENGINE_H
-#include "RuntimeDyld.h"
#include "llvm-c/ExecutionEngine.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
+#include "llvm/ExecutionEngine/JITSymbol.h"
+#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Module.h"
-#include "llvm/IR/ValueHandle.h"
-#include "llvm/IR/ValueMap.h"
#include "llvm/Object/Binary.h"
+#include "llvm/Support/CBindingWrapping.h"
+#include "llvm/Support/CodeGen.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Mutex.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
+#include <algorithm>
+#include <cstdint>
#include <functional>
#include <map>
+#include <memory>
#include <string>
#include <vector>
namespace llvm {
-struct GenericValue;
class Constant;
-class DataLayout;
-class ExecutionEngine;
class Function;
-class GlobalVariable;
+struct GenericValue;
class GlobalValue;
+class GlobalVariable;
class JITEventListener;
-class MachineCodeInfo;
class MCJITMemoryManager;
-class MutexGuard;
class ObjectCache;
class RTDyldMemoryManager;
class Triple;
class Type;
namespace object {
- class Archive;
- class ObjectFile;
-}
+
+class Archive;
+class ObjectFile;
+
+} // end namespace object
/// \brief Helper class for helping synchronize access to the global address map
/// table. Access to this class should be serialized under a mutex.
class ExecutionEngineState {
public:
- typedef StringMap<uint64_t> GlobalAddressMapTy;
+ using GlobalAddressMapTy = StringMap<uint64_t>;
private:
-
/// GlobalAddressMap - A mapping between LLVM global symbol names values and
/// their actualized version...
GlobalAddressMapTy GlobalAddressMap;
@@ -74,7 +78,6 @@ private:
std::map<uint64_t, std::string> GlobalAddressReverseMap;
public:
-
GlobalAddressMapTy &getGlobalAddressMap() {
return GlobalAddressMap;
}
@@ -509,13 +512,15 @@ private:
};
namespace EngineKind {
+
// These are actually bitmasks that get or-ed together.
enum Kind {
JIT = 0x1,
Interpreter = 0x2
};
const static Kind Either = (Kind)(JIT | Interpreter);
-}
+
+} // end namespace EngineKind
/// Builder class for ExecutionEngines. Use this by stack-allocating a builder,
/// chaining the various set* methods, and terminating it with a .create()
@@ -655,6 +660,6 @@ public:
// Create wrappers for C Binding types (see CBindingWrapping.h).
DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ExecutionEngine, LLVMExecutionEngineRef)
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_EXECUTIONENGINE_EXECUTIONENGINE_H
diff --git a/include/llvm/ExecutionEngine/GenericValue.h b/include/llvm/ExecutionEngine/GenericValue.h
index 537745519ddb..504e30a018b6 100644
--- a/include/llvm/ExecutionEngine/GenericValue.h
+++ b/include/llvm/ExecutionEngine/GenericValue.h
@@ -1,4 +1,4 @@
-//===-- GenericValue.h - Represent any type of LLVM value -------*- C++ -*-===//
+//===- GenericValue.h - Represent any type of LLVM value --------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -11,18 +11,15 @@
//
//===----------------------------------------------------------------------===//
-
#ifndef LLVM_EXECUTIONENGINE_GENERICVALUE_H
#define LLVM_EXECUTIONENGINE_GENERICVALUE_H
#include "llvm/ADT/APInt.h"
-#include "llvm/Support/DataTypes.h"
#include <vector>
namespace llvm {
-typedef void* PointerTy;
-class APInt;
+using PointerTy = void *;
struct GenericValue {
struct IntPair {
@@ -30,25 +27,29 @@ struct GenericValue {
unsigned int second;
};
union {
- double DoubleVal;
- float FloatVal;
- PointerTy PointerVal;
- struct IntPair UIntPairVal;
- unsigned char Untyped[8];
+ double DoubleVal;
+ float FloatVal;
+ PointerTy PointerVal;
+ struct IntPair UIntPairVal;
+ unsigned char Untyped[8];
};
- APInt IntVal; // also used for long doubles.
+ APInt IntVal; // also used for long doubles.
// For aggregate data types.
std::vector<GenericValue> AggregateVal;
// to make code faster, set GenericValue to zero could be omitted, but it is
// potentially can cause problems, since GenericValue to store garbage
// instead of zero.
- GenericValue() : IntVal(1,0) {UIntPairVal.first = 0; UIntPairVal.second = 0;}
- explicit GenericValue(void *V) : PointerVal(V), IntVal(1,0) { }
+ GenericValue() : IntVal(1, 0) {
+ UIntPairVal.first = 0;
+ UIntPairVal.second = 0;
+ }
+ explicit GenericValue(void *V) : PointerVal(V), IntVal(1, 0) {}
};
inline GenericValue PTOGV(void *P) { return GenericValue(P); }
-inline void* GVTOP(const GenericValue &GV) { return GV.PointerVal; }
+inline void *GVTOP(const GenericValue &GV) { return GV.PointerVal; }
+
+} // end namespace llvm
-} // End llvm namespace.
-#endif
+#endif // LLVM_EXECUTIONENGINE_GENERICVALUE_H
diff --git a/include/llvm/ExecutionEngine/JITEventListener.h b/include/llvm/ExecutionEngine/JITEventListener.h
index 94ec4e36a199..ff7840f00a44 100644
--- a/include/llvm/ExecutionEngine/JITEventListener.h
+++ b/include/llvm/ExecutionEngine/JITEventListener.h
@@ -15,8 +15,8 @@
#ifndef LLVM_EXECUTIONENGINE_JITEVENTLISTENER_H
#define LLVM_EXECUTIONENGINE_JITEVENTLISTENER_H
-#include "RuntimeDyld.h"
#include "llvm/Config/llvm-config.h"
+#include "llvm/ExecutionEngine/RuntimeDyld.h"
#include "llvm/IR/DebugLoc.h"
#include <cstdint>
#include <vector>
@@ -28,7 +28,9 @@ class MachineFunction;
class OProfileWrapper;
namespace object {
- class ObjectFile;
+
+class ObjectFile;
+
} // end namespace object
/// JITEvent_EmittedFunctionDetails - Helper struct for containing information
@@ -57,7 +59,7 @@ struct JITEvent_EmittedFunctionDetails {
/// The default implementation of each method does nothing.
class JITEventListener {
public:
- typedef JITEvent_EmittedFunctionDetails EmittedFunctionDetails;
+ using EmittedFunctionDetails = JITEvent_EmittedFunctionDetails;
public:
JITEventListener() = default;
diff --git a/include/llvm/ExecutionEngine/JITSymbol.h b/include/llvm/ExecutionEngine/JITSymbol.h
index 88929482ce76..f09e95fddb97 100644
--- a/include/llvm/ExecutionEngine/JITSymbol.h
+++ b/include/llvm/ExecutionEngine/JITSymbol.h
@@ -1,4 +1,4 @@
-//===----------- JITSymbol.h - JIT symbol abstraction -----------*- C++ -*-===//
+//===- JITSymbol.h - JIT symbol abstraction ---------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -26,16 +26,18 @@ namespace llvm {
class GlobalValue;
namespace object {
- class BasicSymbolRef;
+
+class BasicSymbolRef;
+
} // end namespace object
/// @brief Represents an address in the target process's address space.
-typedef uint64_t JITTargetAddress;
+using JITTargetAddress = uint64_t;
/// @brief Flags for symbols in the JIT.
class JITSymbolFlags {
public:
- typedef uint8_t UnderlyingType;
+ using UnderlyingType = uint8_t;
enum FlagNames : UnderlyingType {
None = 0,
@@ -46,7 +48,7 @@ public:
};
/// @brief Default-construct a JITSymbolFlags instance.
- JITSymbolFlags() : Flags(None) {}
+ JITSymbolFlags() = default;
/// @brief Construct a JITSymbolFlags instance from the given flags.
JITSymbolFlags(FlagNames Flags) : Flags(Flags) {}
@@ -81,15 +83,14 @@ public:
static JITSymbolFlags fromObjectSymbol(const object::BasicSymbolRef &Symbol);
private:
- UnderlyingType Flags;
+ UnderlyingType Flags = None;
};
/// @brief Represents a symbol that has been evaluated to an address already.
class JITEvaluatedSymbol {
public:
/// @brief Create a 'null' symbol.
- JITEvaluatedSymbol(std::nullptr_t)
- : Address(0) {}
+ JITEvaluatedSymbol(std::nullptr_t) {}
/// @brief Create a symbol for the given address and flags.
JITEvaluatedSymbol(JITTargetAddress Address, JITSymbolFlags Flags)
@@ -105,19 +106,18 @@ public:
JITSymbolFlags getFlags() const { return Flags; }
private:
- JITTargetAddress Address;
+ JITTargetAddress Address = 0;
JITSymbolFlags Flags;
};
/// @brief Represents a symbol in the JIT.
class JITSymbol {
public:
- typedef std::function<JITTargetAddress()> GetAddressFtor;
+ using GetAddressFtor = std::function<JITTargetAddress()>;
/// @brief Create a 'null' symbol that represents failure to find a symbol
/// definition.
- JITSymbol(std::nullptr_t)
- : CachedAddr(0) {}
+ JITSymbol(std::nullptr_t) {}
/// @brief Create a symbol for a definition with a known address.
JITSymbol(JITTargetAddress Addr, JITSymbolFlags Flags)
@@ -137,7 +137,7 @@ public:
/// user can materialize the definition at any time by calling the getAddress
/// method.
JITSymbol(GetAddressFtor GetAddress, JITSymbolFlags Flags)
- : GetAddress(std::move(GetAddress)), CachedAddr(0), Flags(Flags) {}
+ : GetAddress(std::move(GetAddress)), Flags(Flags) {}
/// @brief Returns true if the symbol exists, false otherwise.
explicit operator bool() const { return CachedAddr || GetAddress; }
@@ -157,7 +157,7 @@ public:
private:
GetAddressFtor GetAddress;
- JITTargetAddress CachedAddr;
+ JITTargetAddress CachedAddr = 0;
JITSymbolFlags Flags;
};
diff --git a/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h b/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
index 2fccf8a0f625..8ac1b6bca0a7 100644
--- a/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
+++ b/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
@@ -24,16 +24,20 @@
#include "llvm/ExecutionEngine/Orc/LambdaResolver.h"
#include "llvm/ExecutionEngine/RuntimeDyld.h"
#include "llvm/IR/Attributes.h"
+#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalAlias.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/GlobalVariable.h"
+#include "llvm/IR/Instruction.h"
#include "llvm/IR/Mangler.h"
#include "llvm/IR/Module.h"
+#include "llvm/IR/Type.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/raw_ostream.h"
+#include "llvm/Transforms/Utils/ValueMapper.h"
#include <algorithm>
#include <cassert>
#include <functional>
@@ -46,6 +50,9 @@
#include <vector>
namespace llvm {
+
+class Value;
+
namespace orc {
/// @brief Compile-on-demand layer.
@@ -77,15 +84,15 @@ private:
return LambdaMaterializer<MaterializerFtor>(std::move(M));
}
- typedef typename BaseLayerT::ModuleSetHandleT BaseLayerModuleSetHandleT;
+ using BaseLayerModuleHandleT = typename BaseLayerT::ModuleHandleT;
// Provide type-erasure for the Modules and MemoryManagers.
template <typename ResourceT>
class ResourceOwner {
public:
ResourceOwner() = default;
- ResourceOwner(const ResourceOwner&) = delete;
- ResourceOwner& operator=(const ResourceOwner&) = delete;
+ ResourceOwner(const ResourceOwner &) = delete;
+ ResourceOwner &operator=(const ResourceOwner &) = delete;
virtual ~ResourceOwner() = default;
virtual ResourceT& getResource() const = 0;
@@ -106,7 +113,7 @@ private:
template <typename ResourceT, typename ResourcePtrT>
std::unique_ptr<ResourceOwner<ResourceT>>
wrapOwnership(ResourcePtrT ResourcePtr) {
- typedef ResourceOwnerImpl<ResourceT, ResourcePtrT> RO;
+ using RO = ResourceOwnerImpl<ResourceT, ResourcePtrT>;
return llvm::make_unique<RO>(std::move(ResourcePtr));
}
@@ -130,21 +137,21 @@ private:
};
struct LogicalDylib {
- typedef std::function<JITSymbol(const std::string&)> SymbolResolverFtor;
+ using SymbolResolverFtor = std::function<JITSymbol(const std::string&)>;
- typedef std::function<typename BaseLayerT::ModuleSetHandleT(
- BaseLayerT&,
- std::unique_ptr<Module>,
- std::unique_ptr<JITSymbolResolver>)>
- ModuleAdderFtor;
+ using ModuleAdderFtor =
+ std::function<typename BaseLayerT::ModuleHandleT(
+ BaseLayerT&,
+ std::unique_ptr<Module>,
+ std::unique_ptr<JITSymbolResolver>)>;
struct SourceModuleEntry {
std::unique_ptr<ResourceOwner<Module>> SourceMod;
std::set<Function*> StubsToClone;
};
- typedef std::vector<SourceModuleEntry> SourceModulesList;
- typedef typename SourceModulesList::size_type SourceModuleHandle;
+ using SourceModulesList = std::vector<SourceModuleEntry>;
+ using SourceModuleHandle = typename SourceModulesList::size_type;
SourceModuleHandle
addSourceModule(std::unique_ptr<ResourceOwner<Module>> M) {
@@ -174,7 +181,7 @@ private:
void removeModulesFromBaseLayer(BaseLayerT &BaseLayer) {
for (auto &BLH : BaseLayerHandles)
- BaseLayer.removeModuleSet(BLH);
+ BaseLayer.removeModule(BLH);
}
std::unique_ptr<JITSymbolResolver> ExternalSymbolResolver;
@@ -183,21 +190,21 @@ private:
StaticGlobalRenamer StaticRenamer;
ModuleAdderFtor ModuleAdder;
SourceModulesList SourceModules;
- std::vector<BaseLayerModuleSetHandleT> BaseLayerHandles;
+ std::vector<BaseLayerModuleHandleT> BaseLayerHandles;
};
- typedef std::list<LogicalDylib> LogicalDylibList;
+ using LogicalDylibList = std::list<LogicalDylib>;
public:
- /// @brief Handle to a set of loaded modules.
- typedef typename LogicalDylibList::iterator ModuleSetHandleT;
+ /// @brief Handle to loaded module.
+ using ModuleHandleT = typename LogicalDylibList::iterator;
/// @brief Module partitioning functor.
- typedef std::function<std::set<Function*>(Function&)> PartitioningFtor;
+ using PartitioningFtor = std::function<std::set<Function*>(Function&)>;
/// @brief Builder for IndirectStubsManagers.
- typedef std::function<std::unique_ptr<IndirectStubsMgrT>()>
- IndirectStubsManagerBuilderT;
+ using IndirectStubsManagerBuilderT =
+ std::function<std::unique_ptr<IndirectStubsMgrT>()>;
/// @brief Construct a compile-on-demand layer instance.
CompileOnDemandLayer(BaseLayerT &BaseLayer, PartitioningFtor Partition,
@@ -211,15 +218,14 @@ public:
~CompileOnDemandLayer() {
while (!LogicalDylibs.empty())
- removeModuleSet(LogicalDylibs.begin());
+ removeModule(LogicalDylibs.begin());
}
-
+
/// @brief Add a module to the compile-on-demand layer.
- template <typename ModuleSetT, typename MemoryManagerPtrT,
- typename SymbolResolverPtrT>
- ModuleSetHandleT addModuleSet(ModuleSetT Ms,
- MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver) {
+ template <typename MemoryManagerPtrT, typename SymbolResolverPtrT>
+ ModuleHandleT addModule(std::shared_ptr<Module> M,
+ MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver) {
LogicalDylibs.push_back(LogicalDylib());
auto &LD = LogicalDylibs.back();
@@ -232,23 +238,25 @@ public:
LD.ModuleAdder =
[&MemMgrRef](BaseLayerT &B, std::unique_ptr<Module> M,
std::unique_ptr<JITSymbolResolver> R) {
- std::vector<std::unique_ptr<Module>> Ms;
- Ms.push_back(std::move(M));
- return B.addModuleSet(std::move(Ms), &MemMgrRef, std::move(R));
+ return B.addModule(std::move(M), &MemMgrRef, std::move(R));
};
// Process each of the modules in this module set.
- for (auto &M : Ms)
- addLogicalModule(LogicalDylibs.back(), std::move(M));
+ addLogicalModule(LogicalDylibs.back(), std::move(M));
return std::prev(LogicalDylibs.end());
}
+ /// @brief Add extra modules to an existing logical module.
+ void addExtraModule(ModuleHandleT H, std::shared_ptr<Module> M) {
+ addLogicalModule(*H, std::move(M));
+ }
+
/// @brief Remove the module represented by the given handle.
///
/// This will remove all modules in the layers below that were derived from
/// the module represented by H.
- void removeModuleSet(ModuleSetHandleT H) {
+ void removeModule(ModuleHandleT H) {
H->removeModulesFromBaseLayer(BaseLayer);
LogicalDylibs.erase(H);
}
@@ -270,7 +278,7 @@ public:
/// @brief Get the address of a symbol provided by this layer, or some layer
/// below this one.
- JITSymbol findSymbolIn(ModuleSetHandleT H, const std::string &Name,
+ JITSymbol findSymbolIn(ModuleHandleT H, const std::string &Name,
bool ExportedSymbolsOnly) {
return H->findSymbol(BaseLayer, Name, ExportedSymbolsOnly);
}
@@ -303,7 +311,6 @@ public:
private:
template <typename ModulePtrT>
void addLogicalModule(LogicalDylib &LD, ModulePtrT SrcMPtr) {
-
// Rename all static functions / globals to $static.X :
// This will unique the names across all modules in the logical dylib,
// simplifying symbol lookup.
@@ -495,7 +502,7 @@ private:
}
template <typename PartitionT>
- BaseLayerModuleSetHandleT
+ BaseLayerModuleHandleT
emitPartition(LogicalDylib &LD,
typename LogicalDylib::SourceModuleHandle LMId,
const PartitionT &Part) {
@@ -581,6 +588,7 @@ private:
};
} // end namespace orc
+
} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_COMPILEONDEMANDLAYER_H
diff --git a/include/llvm/ExecutionEngine/Orc/CompileUtils.h b/include/llvm/ExecutionEngine/Orc/CompileUtils.h
index ce0864fbd9c9..b9f7d6accc30 100644
--- a/include/llvm/ExecutionEngine/Orc/CompileUtils.h
+++ b/include/llvm/ExecutionEngine/Orc/CompileUtils.h
@@ -1,4 +1,4 @@
-//===-- CompileUtils.h - Utilities for compiling IR in the JIT --*- C++ -*-===//
+//===- CompileUtils.h - Utilities for compiling IR in the JIT ---*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,24 +14,47 @@
#ifndef LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
#define LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ExecutionEngine/ObjectCache.h"
#include "llvm/ExecutionEngine/ObjectMemoryBuffer.h"
#include "llvm/IR/LegacyPassManager.h"
-#include "llvm/MC/MCContext.h"
+#include "llvm/Object/Binary.h"
#include "llvm/Object/ObjectFile.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/MemoryBuffer.h"
+#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
+#include <algorithm>
+#include <memory>
namespace llvm {
+
+class MCContext;
+class Module;
+
namespace orc {
/// @brief Simple compile functor: Takes a single IR module and returns an
/// ObjectFile.
class SimpleCompiler {
public:
+
+ using CompileResult = object::OwningBinary<object::ObjectFile>;
+
/// @brief Construct a simple compile functor with the given target.
- SimpleCompiler(TargetMachine &TM) : TM(TM) {}
+ SimpleCompiler(TargetMachine &TM, ObjectCache *ObjCache = nullptr)
+ : TM(TM), ObjCache(ObjCache) {}
+
+ /// @brief Set an ObjectCache to query before compiling.
+ void setObjectCache(ObjectCache *NewCache) { ObjCache = NewCache; }
/// @brief Compile a Module to an ObjectFile.
- object::OwningBinary<object::ObjectFile> operator()(Module &M) const {
+ CompileResult operator()(Module &M) {
+ CompileResult CachedObject = tryToLoadFromObjectCache(M);
+ if (CachedObject.getBinary())
+ return CachedObject;
+
SmallVector<char, 0> ObjBufferSV;
raw_svector_ostream ObjStream(ObjBufferSV);
@@ -44,19 +67,47 @@ public:
new ObjectMemoryBuffer(std::move(ObjBufferSV)));
Expected<std::unique_ptr<object::ObjectFile>> Obj =
object::ObjectFile::createObjectFile(ObjBuffer->getMemBufferRef());
- typedef object::OwningBinary<object::ObjectFile> OwningObj;
- if (Obj)
- return OwningObj(std::move(*Obj), std::move(ObjBuffer));
+ if (Obj) {
+ notifyObjectCompiled(M, *ObjBuffer);
+ return CompileResult(std::move(*Obj), std::move(ObjBuffer));
+ }
// TODO: Actually report errors helpfully.
consumeError(Obj.takeError());
- return OwningObj(nullptr, nullptr);
+ return CompileResult(nullptr, nullptr);
}
private:
+
+ CompileResult tryToLoadFromObjectCache(const Module &M) {
+ if (!ObjCache)
+ return CompileResult();
+
+ std::unique_ptr<MemoryBuffer> ObjBuffer = ObjCache->getObject(&M);
+ if (!ObjBuffer)
+ return CompileResult();
+
+ Expected<std::unique_ptr<object::ObjectFile>> Obj =
+ object::ObjectFile::createObjectFile(ObjBuffer->getMemBufferRef());
+ if (!Obj) {
+ // TODO: Actually report errors helpfully.
+ consumeError(Obj.takeError());
+ return CompileResult();
+ }
+
+ return CompileResult(std::move(*Obj), std::move(ObjBuffer));
+ }
+
+ void notifyObjectCompiled(const Module &M, const MemoryBuffer &ObjBuffer) {
+ if (ObjCache)
+ ObjCache->notifyObjectCompiled(&M, ObjBuffer.getMemBufferRef());
+ }
+
TargetMachine &TM;
+ ObjectCache *ObjCache = nullptr;
};
-} // End namespace orc.
-} // End namespace llvm.
+} // end namespace orc
+
+} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
diff --git a/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h b/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
index 71d847c06264..bf8cca406844 100644
--- a/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
+++ b/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
@@ -1,4 +1,4 @@
-//===-- ExecutionUtils.h - Utilities for executing code in Orc --*- C++ -*-===//
+//===- ExecutionUtils.h - Utilities for executing code in Orc ---*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -17,8 +17,11 @@
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
-#include "llvm/ExecutionEngine/RuntimeDyld.h"
+#include <algorithm>
+#include <cstdint>
+#include <string>
#include <vector>
+#include <utility>
namespace llvm {
@@ -37,7 +40,6 @@ namespace orc {
/// getConstructors/getDestructors functions.
class CtorDtorIterator {
public:
-
/// @brief Accessor for an element of the global_ctors/global_dtors array.
///
/// This class provides a read-only view of the element with any casts on
@@ -89,17 +91,16 @@ iterator_range<CtorDtorIterator> getDestructors(const Module &M);
template <typename JITLayerT>
class CtorDtorRunner {
public:
-
/// @brief Construct a CtorDtorRunner for the given range using the given
/// name mangling function.
CtorDtorRunner(std::vector<std::string> CtorDtorNames,
- typename JITLayerT::ModuleSetHandleT H)
+ typename JITLayerT::ModuleHandleT H)
: CtorDtorNames(std::move(CtorDtorNames)), H(H) {}
/// @brief Run the recorded constructors/destructors through the given JIT
/// layer.
bool runViaLayer(JITLayerT &JITLayer) const {
- typedef void (*CtorDtorTy)();
+ using CtorDtorTy = void (*)();
bool Error = false;
for (const auto &CtorDtorName : CtorDtorNames)
@@ -115,7 +116,7 @@ public:
private:
std::vector<std::string> CtorDtorNames;
- typename JITLayerT::ModuleSetHandleT H;
+ typename JITLayerT::ModuleHandleT H;
};
/// @brief Support class for static dtor execution. For hosted (in-process) JITs
@@ -135,7 +136,6 @@ private:
/// called.
class LocalCXXRuntimeOverrides {
public:
-
/// Create a runtime-overrides class.
template <typename MangleFtorT>
LocalCXXRuntimeOverrides(const MangleFtorT &Mangle) {
@@ -156,7 +156,6 @@ public:
void runDestructors();
private:
-
template <typename PtrTy>
JITTargetAddress toTargetAddress(PtrTy* P) {
return static_cast<JITTargetAddress>(reinterpret_cast<uintptr_t>(P));
@@ -168,15 +167,16 @@ private:
StringMap<JITTargetAddress> CXXRuntimeOverrides;
- typedef void (*DestructorPtr)(void*);
- typedef std::pair<DestructorPtr, void*> CXXDestructorDataPair;
- typedef std::vector<CXXDestructorDataPair> CXXDestructorDataPairList;
+ using DestructorPtr = void (*)(void *);
+ using CXXDestructorDataPair = std::pair<DestructorPtr, void *>;
+ using CXXDestructorDataPairList = std::vector<CXXDestructorDataPair>;
CXXDestructorDataPairList DSOHandleOverride;
static int CXAAtExitOverride(DestructorPtr Destructor, void *Arg,
void *DSOHandle);
};
-} // End namespace orc.
-} // End namespace llvm.
+} // end namespace orc
+
+} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_EXECUTIONUTILS_H
diff --git a/include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h b/include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h
index 634d1480ae4c..d582e9a33241 100644
--- a/include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h
+++ b/include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h
@@ -1,4 +1,4 @@
-//===---- GlobalMappingLayer.h - Run all IR through a functor ---*- C++ -*-===//
+//===- GlobalMappingLayer.h - Run all IR through a functor ------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -17,6 +17,7 @@
#include "llvm/ExecutionEngine/JITSymbol.h"
#include <map>
+#include <string>
namespace llvm {
namespace orc {
@@ -32,7 +33,7 @@ template <typename BaseLayerT>
class GlobalMappingLayer {
public:
/// @brief Handle to a set of added modules.
- typedef typename BaseLayerT::ModuleSetHandleT ModuleSetHandleT;
+ using ModuleSetHandleT = typename BaseLayerT::ModuleSetHandleT;
/// @brief Construct an GlobalMappingLayer with the given BaseLayer
GlobalMappingLayer(BaseLayerT &BaseLayer) : BaseLayer(BaseLayer) {}
@@ -102,7 +103,7 @@ private:
std::map<std::string, JITTargetAddress> SymbolTable;
};
-} // End namespace orc.
-} // End namespace llvm.
+} // end namespace orc
+} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_GLOBALMAPPINGLAYER_H
diff --git a/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h b/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
index f81d054440fc..99ccd4d221a5 100644
--- a/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
+++ b/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
@@ -1,4 +1,4 @@
-//===------ IRCompileLayer.h -- Eagerly compile IR for JIT ------*- C++ -*-===//
+//===- IRCompileLayer.h -- Eagerly compile IR for JIT -----------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,79 +14,54 @@
#ifndef LLVM_EXECUTIONENGINE_ORC_IRCOMPILELAYER_H
#define LLVM_EXECUTIONENGINE_ORC_IRCOMPILELAYER_H
+#include "llvm/ADT/STLExtras.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
-#include "llvm/ExecutionEngine/ObjectCache.h"
-#include "llvm/Object/ObjectFile.h"
+#include "llvm/Support/Error.h"
#include <memory>
+#include <string>
namespace llvm {
+
+class Module;
+
namespace orc {
/// @brief Eager IR compiling layer.
///
-/// This layer accepts sets of LLVM IR Modules (via addModuleSet). It
-/// immediately compiles each IR module to an object file (each IR Module is
-/// compiled separately). The resulting set of object files is then added to
-/// the layer below, which must implement the object layer concept.
-template <typename BaseLayerT> class IRCompileLayer {
+/// This layer immediately compiles each IR module added via addModule to an
+/// object file and adds this module file to the layer below, which must
+/// implement the object layer concept.
+template <typename BaseLayerT, typename CompileFtor>
+class IRCompileLayer {
public:
- typedef std::function<object::OwningBinary<object::ObjectFile>(Module &)>
- CompileFtor;
-
-private:
- typedef typename BaseLayerT::ObjSetHandleT ObjSetHandleT;
-public:
- /// @brief Handle to a set of compiled modules.
- typedef ObjSetHandleT ModuleSetHandleT;
+ /// @brief Handle to a compiled module.
+ using ModuleHandleT = typename BaseLayerT::ObjHandleT;
/// @brief Construct an IRCompileLayer with the given BaseLayer, which must
/// implement the ObjectLayer concept.
IRCompileLayer(BaseLayerT &BaseLayer, CompileFtor Compile)
- : BaseLayer(BaseLayer), Compile(std::move(Compile)), ObjCache(nullptr) {}
+ : BaseLayer(BaseLayer), Compile(std::move(Compile)) {}
- /// @brief Set an ObjectCache to query before compiling.
- void setObjectCache(ObjectCache *NewCache) { ObjCache = NewCache; }
+ /// @brief Get a reference to the compiler functor.
+ CompileFtor& getCompiler() { return Compile; }
- /// @brief Compile each module in the given module set, then add the resulting
- /// set of objects to the base layer along with the memory manager and
- /// symbol resolver.
+ /// @brief Compile the module, and add the resulting object to the base layer
+ /// along with the given memory manager and symbol resolver.
///
- /// @return A handle for the added modules.
- template <typename ModuleSetT, typename MemoryManagerPtrT,
- typename SymbolResolverPtrT>
- ModuleSetHandleT addModuleSet(ModuleSetT Ms,
- MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver) {
- std::vector<std::unique_ptr<object::OwningBinary<object::ObjectFile>>>
- Objects;
-
- for (const auto &M : Ms) {
- auto Object =
- llvm::make_unique<object::OwningBinary<object::ObjectFile>>();
-
- if (ObjCache)
- *Object = tryToLoadFromObjectCache(*M);
-
- if (!Object->getBinary()) {
- *Object = Compile(*M);
- if (ObjCache)
- ObjCache->notifyObjectCompiled(&*M,
- Object->getBinary()->getMemoryBufferRef());
- }
-
- Objects.push_back(std::move(Object));
- }
-
- ModuleSetHandleT H =
- BaseLayer.addObjectSet(std::move(Objects), std::move(MemMgr),
- std::move(Resolver));
-
- return H;
+ /// @return A handle for the added module.
+ template <typename MemoryManagerPtrT, typename SymbolResolverPtrT>
+ ModuleHandleT addModule(std::shared_ptr<Module> M,
+ MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver) {
+ using CompileResult = decltype(Compile(*M));
+ auto Obj = std::make_shared<CompileResult>(Compile(*M));
+ return BaseLayer.addObject(std::move(Obj), std::move(MemMgr),
+ std::move(Resolver));
}
- /// @brief Remove the module set associated with the handle H.
- void removeModuleSet(ModuleSetHandleT H) { BaseLayer.removeObjectSet(H); }
+ /// @brief Remove the module associated with the handle H.
+ void removeModule(ModuleHandleT H) { BaseLayer.removeObject(H); }
/// @brief Search for the given named symbol.
/// @param Name The name of the symbol to search for.
@@ -96,51 +71,33 @@ public:
return BaseLayer.findSymbol(Name, ExportedSymbolsOnly);
}
- /// @brief Get the address of the given symbol in the context of the set of
- /// compiled modules represented by the handle H. This call is
- /// forwarded to the base layer's implementation.
- /// @param H The handle for the module set to search in.
+ /// @brief Get the address of the given symbol in compiled module represented
+ /// by the handle H. This call is forwarded to the base layer's
+ /// implementation.
+ /// @param H The handle for the module to search in.
/// @param Name The name of the symbol to search for.
/// @param ExportedSymbolsOnly If true, search only for exported symbols.
/// @return A handle for the given named symbol, if it is found in the
- /// given module set.
- JITSymbol findSymbolIn(ModuleSetHandleT H, const std::string &Name,
+ /// given module.
+ JITSymbol findSymbolIn(ModuleHandleT H, const std::string &Name,
bool ExportedSymbolsOnly) {
return BaseLayer.findSymbolIn(H, Name, ExportedSymbolsOnly);
}
- /// @brief Immediately emit and finalize the moduleOB set represented by the
- /// given handle.
- /// @param H Handle for module set to emit/finalize.
- void emitAndFinalize(ModuleSetHandleT H) {
+ /// @brief Immediately emit and finalize the module represented by the given
+ /// handle.
+ /// @param H Handle for module to emit/finalize.
+ void emitAndFinalize(ModuleHandleT H) {
BaseLayer.emitAndFinalize(H);
}
private:
- object::OwningBinary<object::ObjectFile>
- tryToLoadFromObjectCache(const Module &M) {
- std::unique_ptr<MemoryBuffer> ObjBuffer = ObjCache->getObject(&M);
- if (!ObjBuffer)
- return object::OwningBinary<object::ObjectFile>();
-
- Expected<std::unique_ptr<object::ObjectFile>> Obj =
- object::ObjectFile::createObjectFile(ObjBuffer->getMemBufferRef());
- if (!Obj) {
- // TODO: Actually report errors helpfully.
- consumeError(Obj.takeError());
- return object::OwningBinary<object::ObjectFile>();
- }
-
- return object::OwningBinary<object::ObjectFile>(std::move(*Obj),
- std::move(ObjBuffer));
- }
-
BaseLayerT &BaseLayer;
CompileFtor Compile;
- ObjectCache *ObjCache;
};
-} // End namespace orc.
-} // End namespace llvm.
+} // end namespace orc
+
+} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_IRCOMPILINGLAYER_H
diff --git a/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h b/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
index c67297b111b9..8e9be6b6f4fe 100644
--- a/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
+++ b/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
@@ -1,4 +1,4 @@
-//===----- IRTransformLayer.h - Run all IR through a functor ----*- C++ -*-===//
+//===- IRTransformLayer.h - Run all IR through a functor --------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -15,46 +15,41 @@
#define LLVM_EXECUTIONENGINE_ORC_IRTRANSFORMLAYER_H
#include "llvm/ExecutionEngine/JITSymbol.h"
+#include <string>
namespace llvm {
namespace orc {
/// @brief IR mutating layer.
///
-/// This layer accepts sets of LLVM IR Modules (via addModuleSet). It
-/// immediately applies the user supplied functor to each module, then adds
-/// the set of transformed modules to the layer below.
+/// This layer applies a user supplied transform to each module that is added,
+/// then adds the transformed module to the layer below.
template <typename BaseLayerT, typename TransformFtor>
class IRTransformLayer {
public:
+
/// @brief Handle to a set of added modules.
- typedef typename BaseLayerT::ModuleSetHandleT ModuleSetHandleT;
+ using ModuleHandleT = typename BaseLayerT::ModuleHandleT;
/// @brief Construct an IRTransformLayer with the given BaseLayer
IRTransformLayer(BaseLayerT &BaseLayer,
TransformFtor Transform = TransformFtor())
: BaseLayer(BaseLayer), Transform(std::move(Transform)) {}
- /// @brief Apply the transform functor to each module in the module set, then
- /// add the resulting set of modules to the base layer, along with the
- /// memory manager and symbol resolver.
+ /// @brief Apply the transform functor to the module, then add the module to
+ /// the layer below, along with the memory manager and symbol resolver.
///
/// @return A handle for the added modules.
- template <typename ModuleSetT, typename MemoryManagerPtrT,
- typename SymbolResolverPtrT>
- ModuleSetHandleT addModuleSet(ModuleSetT Ms,
- MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver) {
-
- for (auto I = Ms.begin(), E = Ms.end(); I != E; ++I)
- *I = Transform(std::move(*I));
-
- return BaseLayer.addModuleSet(std::move(Ms), std::move(MemMgr),
- std::move(Resolver));
+ template <typename MemoryManagerPtrT, typename SymbolResolverPtrT>
+ ModuleHandleT addModule(std::shared_ptr<Module> M,
+ MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver) {
+ return BaseLayer.addModule(Transform(std::move(M)), std::move(MemMgr),
+ std::move(Resolver));
}
- /// @brief Remove the module set associated with the handle H.
- void removeModuleSet(ModuleSetHandleT H) { BaseLayer.removeModuleSet(H); }
+ /// @brief Remove the module associated with the handle H.
+ void removeModule(ModuleHandleT H) { BaseLayer.removeModule(H); }
/// @brief Search for the given named symbol.
/// @param Name The name of the symbol to search for.
@@ -64,23 +59,23 @@ public:
return BaseLayer.findSymbol(Name, ExportedSymbolsOnly);
}
- /// @brief Get the address of the given symbol in the context of the set of
- /// modules represented by the handle H. This call is forwarded to the
- /// base layer's implementation.
- /// @param H The handle for the module set to search in.
+ /// @brief Get the address of the given symbol in the context of the module
+ /// represented by the handle H. This call is forwarded to the base
+ /// layer's implementation.
+ /// @param H The handle for the module to search in.
/// @param Name The name of the symbol to search for.
/// @param ExportedSymbolsOnly If true, search only for exported symbols.
/// @return A handle for the given named symbol, if it is found in the
- /// given module set.
- JITSymbol findSymbolIn(ModuleSetHandleT H, const std::string &Name,
+ /// given module.
+ JITSymbol findSymbolIn(ModuleHandleT H, const std::string &Name,
bool ExportedSymbolsOnly) {
return BaseLayer.findSymbolIn(H, Name, ExportedSymbolsOnly);
}
- /// @brief Immediately emit and finalize the module set represented by the
- /// given handle.
- /// @param H Handle for module set to emit/finalize.
- void emitAndFinalize(ModuleSetHandleT H) {
+ /// @brief Immediately emit and finalize the module represented by the given
+ /// handle.
+ /// @param H Handle for module to emit/finalize.
+ void emitAndFinalize(ModuleHandleT H) {
BaseLayer.emitAndFinalize(H);
}
@@ -95,7 +90,7 @@ private:
TransformFtor Transform;
};
-} // End namespace orc.
-} // End namespace llvm.
+} // end namespace orc
+} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_IRTRANSFORMLAYER_H
diff --git a/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h b/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
index 07bbd921dad6..e038093d7628 100644
--- a/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
+++ b/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
@@ -1,4 +1,4 @@
-//===-- IndirectionUtils.h - Utilities for adding indirections --*- C++ -*-===//
+//===- IndirectionUtils.h - Utilities for adding indirections ---*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -18,9 +18,6 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
-#include "llvm/IR/IRBuilder.h"
-#include "llvm/IR/Mangler.h"
-#include "llvm/IR/Module.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/Memory.h"
#include "llvm/Support/Process.h"
@@ -36,12 +33,23 @@
#include <vector>
namespace llvm {
+
+class Constant;
+class Function;
+class FunctionType;
+class GlobalAlias;
+class GlobalVariable;
+class Module;
+class PointerType;
+class Triple;
+class Value;
+
namespace orc {
/// @brief Target-independent base class for compile callback management.
class JITCompileCallbackManager {
public:
- typedef std::function<JITTargetAddress()> CompileFtor;
+ using CompileFtor = std::function<JITTargetAddress()>;
/// @brief Handle to a newly created compile callback. Can be used to get an
/// IR constant representing the address of the trampoline, and to set
@@ -125,7 +133,7 @@ public:
protected:
JITTargetAddress ErrorHandlerAddress;
- typedef std::map<JITTargetAddress, CompileFtor> TrampolineMapT;
+ using TrampolineMapT = std::map<JITTargetAddress, CompileFtor>;
TrampolineMapT ActiveTrampolines;
std::vector<JITTargetAddress> AvailableTrampolines;
@@ -155,7 +163,6 @@ public:
/// process to be used if a compile callback fails.
LocalJITCompileCallbackManager(JITTargetAddress ErrorHandlerAddress)
: JITCompileCallbackManager(ErrorHandlerAddress) {
-
/// Set up the resolver block.
std::error_code EC;
ResolverBlock = sys::OwningMemoryBlock(sys::Memory::allocateMappedMemory(
@@ -220,7 +227,7 @@ private:
class IndirectStubsManager {
public:
/// @brief Map type for initializing the manager. See init.
- typedef StringMap<std::pair<JITTargetAddress, JITSymbolFlags>> StubInitsMap;
+ using StubInitsMap = StringMap<std::pair<JITTargetAddress, JITSymbolFlags>>;
virtual ~IndirectStubsManager() = default;
@@ -336,7 +343,7 @@ private:
}
std::vector<typename TargetT::IndirectStubsInfo> IndirectStubsInfos;
- typedef std::pair<uint16_t, uint16_t> StubKey;
+ using StubKey = std::pair<uint16_t, uint16_t>;
std::vector<StubKey> FreeStubs;
StringMap<std::pair<StubKey, JITSymbolFlags>> StubIndexes;
};
@@ -432,6 +439,7 @@ void cloneModuleFlagsMetadata(Module &Dst, const Module &Src,
ValueToValueMapTy &VMap);
} // end namespace orc
+
} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_INDIRECTIONUTILS_H
diff --git a/include/llvm/ExecutionEngine/Orc/LambdaResolver.h b/include/llvm/ExecutionEngine/Orc/LambdaResolver.h
index cbe2a80edf1c..6868640d38e8 100644
--- a/include/llvm/ExecutionEngine/Orc/LambdaResolver.h
+++ b/include/llvm/ExecutionEngine/Orc/LambdaResolver.h
@@ -1,4 +1,4 @@
-//===-- LambdaResolverMM - Redirect symbol lookup via a functor -*- C++ -*-===//
+//===- LambdaResolverMM - Redirect symbol lookup via a functor --*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -16,7 +16,7 @@
#define LLVM_EXECUTIONENGINE_ORC_LAMBDARESOLVER_H
#include "llvm/ADT/STLExtras.h"
-#include "llvm/ExecutionEngine/RuntimeDyld.h"
+#include "llvm/ExecutionEngine/JITSymbol.h"
#include <memory>
namespace llvm {
@@ -25,7 +25,6 @@ namespace orc {
template <typename DylibLookupFtorT, typename ExternalLookupFtorT>
class LambdaResolver : public JITSymbolResolver {
public:
-
LambdaResolver(DylibLookupFtorT DylibLookupFtor,
ExternalLookupFtorT ExternalLookupFtor)
: DylibLookupFtor(DylibLookupFtor),
@@ -49,12 +48,12 @@ template <typename DylibLookupFtorT,
std::unique_ptr<LambdaResolver<DylibLookupFtorT, ExternalLookupFtorT>>
createLambdaResolver(DylibLookupFtorT DylibLookupFtor,
ExternalLookupFtorT ExternalLookupFtor) {
- typedef LambdaResolver<DylibLookupFtorT, ExternalLookupFtorT> LR;
+ using LR = LambdaResolver<DylibLookupFtorT, ExternalLookupFtorT>;
return make_unique<LR>(std::move(DylibLookupFtor),
std::move(ExternalLookupFtor));
}
-} // End namespace orc.
-} // End namespace llvm.
+} // end namespace orc
+} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_LAMBDARESOLVER_H
diff --git a/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h b/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
index 53d4c0cfe5d4..38769aac12af 100644
--- a/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
+++ b/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
@@ -34,19 +34,20 @@ namespace orc {
/// @brief Lazy-emitting IR layer.
///
-/// This layer accepts sets of LLVM IR Modules (via addModuleSet), but does
-/// not immediately emit them the layer below. Instead, emissing to the base
-/// layer is deferred until the first time the client requests the address
-/// (via JITSymbol::getAddress) for a symbol contained in this layer.
+/// This layer accepts LLVM IR Modules (via addModule), but does not
+/// immediately emit them the layer below. Instead, emissing to the base layer
+/// is deferred until the first time the client requests the address (via
+/// JITSymbol::getAddress) for a symbol contained in this layer.
template <typename BaseLayerT> class LazyEmittingLayer {
public:
- typedef typename BaseLayerT::ModuleSetHandleT BaseLayerHandleT;
+
+ using BaseLayerHandleT = typename BaseLayerT::ModuleHandleT;
private:
- class EmissionDeferredSet {
+ class EmissionDeferredModule {
public:
- EmissionDeferredSet() = default;
- virtual ~EmissionDeferredSet() = default;
+ EmissionDeferredModule() = default;
+ virtual ~EmissionDeferredModule() = default;
JITSymbol find(StringRef Name, bool ExportedSymbolsOnly, BaseLayerT &B) {
switch (EmitState) {
@@ -84,9 +85,9 @@ private:
llvm_unreachable("Invalid emit-state.");
}
- void removeModulesFromBaseLayer(BaseLayerT &BaseLayer) {
+ void removeModuleFromBaseLayer(BaseLayerT &BaseLayer) {
if (EmitState != NotEmitted)
- BaseLayer.removeModuleSet(Handle);
+ BaseLayer.removeModule(Handle);
}
void emitAndFinalize(BaseLayerT &BaseLayer) {
@@ -100,10 +101,9 @@ private:
BaseLayer.emitAndFinalize(Handle);
}
- template <typename ModuleSetT, typename MemoryManagerPtrT,
- typename SymbolResolverPtrT>
- static std::unique_ptr<EmissionDeferredSet>
- create(BaseLayerT &B, ModuleSetT Ms, MemoryManagerPtrT MemMgr,
+ template <typename MemoryManagerPtrT, typename SymbolResolverPtrT>
+ static std::unique_ptr<EmissionDeferredModule>
+ create(BaseLayerT &B, std::shared_ptr<Module> M, MemoryManagerPtrT MemMgr,
SymbolResolverPtrT Resolver);
protected:
@@ -116,14 +116,13 @@ private:
BaseLayerHandleT Handle;
};
- template <typename ModuleSetT, typename MemoryManagerPtrT,
- typename SymbolResolverPtrT>
- class EmissionDeferredSetImpl : public EmissionDeferredSet {
+ template <typename MemoryManagerPtrT, typename SymbolResolverPtrT>
+ class EmissionDeferredModuleImpl : public EmissionDeferredModule {
public:
- EmissionDeferredSetImpl(ModuleSetT Ms,
- MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver)
- : Ms(std::move(Ms)), MemMgr(std::move(MemMgr)),
+ EmissionDeferredModuleImpl(std::shared_ptr<Module> M,
+ MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver)
+ : M(std::move(M)), MemMgr(std::move(MemMgr)),
Resolver(std::move(Resolver)) {}
protected:
@@ -154,8 +153,8 @@ private:
// We don't need the mangled names set any more: Once we've emitted this
// to the base layer we'll just look for symbols there.
MangledSymbols.reset();
- return BaseLayer.addModuleSet(std::move(Ms), std::move(MemMgr),
- std::move(Resolver));
+ return BaseLayer.addModule(std::move(M), std::move(MemMgr),
+ std::move(Resolver));
}
private:
@@ -197,56 +196,54 @@ private:
auto Symbols = llvm::make_unique<StringMap<const GlobalValue*>>();
- for (const auto &M : Ms) {
- Mangler Mang;
+ Mangler Mang;
- for (const auto &GO : M->global_objects())
+ for (const auto &GO : M->global_objects())
if (auto GV = addGlobalValue(*Symbols, GO, Mang, SearchName,
ExportedSymbolsOnly))
return GV;
- }
MangledSymbols = std::move(Symbols);
return nullptr;
}
- ModuleSetT Ms;
+ std::shared_ptr<Module> M;
MemoryManagerPtrT MemMgr;
SymbolResolverPtrT Resolver;
mutable std::unique_ptr<StringMap<const GlobalValue*>> MangledSymbols;
};
- typedef std::list<std::unique_ptr<EmissionDeferredSet>> ModuleSetListT;
+ using ModuleListT = std::list<std::unique_ptr<EmissionDeferredModule>>;
BaseLayerT &BaseLayer;
- ModuleSetListT ModuleSetList;
+ ModuleListT ModuleList;
public:
- /// @brief Handle to a set of loaded modules.
- typedef typename ModuleSetListT::iterator ModuleSetHandleT;
+ /// @brief Handle to a loaded module.
+ using ModuleHandleT = typename ModuleListT::iterator;
/// @brief Construct a lazy emitting layer.
LazyEmittingLayer(BaseLayerT &BaseLayer) : BaseLayer(BaseLayer) {}
- /// @brief Add the given set of modules to the lazy emitting layer.
- template <typename ModuleSetT, typename MemoryManagerPtrT,
- typename SymbolResolverPtrT>
- ModuleSetHandleT addModuleSet(ModuleSetT Ms,
- MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver) {
- return ModuleSetList.insert(
- ModuleSetList.end(),
- EmissionDeferredSet::create(BaseLayer, std::move(Ms), std::move(MemMgr),
- std::move(Resolver)));
+ /// @brief Add the given module to the lazy emitting layer.
+ template <typename MemoryManagerPtrT, typename SymbolResolverPtrT>
+ ModuleHandleT addModule(std::shared_ptr<Module> M,
+ MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver) {
+ return ModuleList.insert(
+ ModuleList.end(),
+ EmissionDeferredModule::create(BaseLayer, std::move(M),
+ std::move(MemMgr),
+ std::move(Resolver)));
}
- /// @brief Remove the module set represented by the given handle.
+ /// @brief Remove the module represented by the given handle.
///
- /// This method will free the memory associated with the given module set,
- /// both in this layer, and the base layer.
- void removeModuleSet(ModuleSetHandleT H) {
- (*H)->removeModulesFromBaseLayer(BaseLayer);
- ModuleSetList.erase(H);
+ /// This method will free the memory associated with the given module, both
+ /// in this layer, and the base layer.
+ void removeModule(ModuleHandleT H) {
+ (*H)->removeModuleFromBaseLayer(BaseLayer);
+ ModuleList.erase(H);
}
/// @brief Search for the given named symbol.
@@ -258,42 +255,40 @@ public:
if (auto Symbol = BaseLayer.findSymbol(Name, ExportedSymbolsOnly))
return Symbol;
- // If not found then search the deferred sets. If any of these contain a
+ // If not found then search the deferred modules. If any of these contain a
// definition of 'Name' then they will return a JITSymbol that will emit
// the corresponding module when the symbol address is requested.
- for (auto &DeferredSet : ModuleSetList)
- if (auto Symbol = DeferredSet->find(Name, ExportedSymbolsOnly, BaseLayer))
+ for (auto &DeferredMod : ModuleList)
+ if (auto Symbol = DeferredMod->find(Name, ExportedSymbolsOnly, BaseLayer))
return Symbol;
// If no definition found anywhere return a null symbol.
return nullptr;
}
- /// @brief Get the address of the given symbol in the context of the set of
+ /// @brief Get the address of the given symbol in the context of the of
/// compiled modules represented by the handle H.
- JITSymbol findSymbolIn(ModuleSetHandleT H, const std::string &Name,
+ JITSymbol findSymbolIn(ModuleHandleT H, const std::string &Name,
bool ExportedSymbolsOnly) {
return (*H)->find(Name, ExportedSymbolsOnly, BaseLayer);
}
- /// @brief Immediately emit and finalize the moduleOB set represented by the
- /// given handle.
- /// @param H Handle for module set to emit/finalize.
- void emitAndFinalize(ModuleSetHandleT H) {
+ /// @brief Immediately emit and finalize the module represented by the given
+ /// handle.
+ /// @param H Handle for module to emit/finalize.
+ void emitAndFinalize(ModuleHandleT H) {
(*H)->emitAndFinalize(BaseLayer);
}
};
template <typename BaseLayerT>
-template <typename ModuleSetT, typename MemoryManagerPtrT,
- typename SymbolResolverPtrT>
-std::unique_ptr<typename LazyEmittingLayer<BaseLayerT>::EmissionDeferredSet>
-LazyEmittingLayer<BaseLayerT>::EmissionDeferredSet::create(
- BaseLayerT &B, ModuleSetT Ms, MemoryManagerPtrT MemMgr,
+template <typename MemoryManagerPtrT, typename SymbolResolverPtrT>
+std::unique_ptr<typename LazyEmittingLayer<BaseLayerT>::EmissionDeferredModule>
+LazyEmittingLayer<BaseLayerT>::EmissionDeferredModule::create(
+ BaseLayerT &B, std::shared_ptr<Module> M, MemoryManagerPtrT MemMgr,
SymbolResolverPtrT Resolver) {
- typedef EmissionDeferredSetImpl<ModuleSetT, MemoryManagerPtrT, SymbolResolverPtrT>
- EDS;
- return llvm::make_unique<EDS>(std::move(Ms), std::move(MemMgr),
+ using EDS = EmissionDeferredModuleImpl<MemoryManagerPtrT, SymbolResolverPtrT>;
+ return llvm::make_unique<EDS>(std::move(M), std::move(MemMgr),
std::move(Resolver));
}
diff --git a/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h b/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
index 173c106cd3ec..c41c1233c0d9 100644
--- a/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
+++ b/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
@@ -15,20 +15,22 @@
#define LLVM_EXECUTIONENGINE_ORC_OBJECTTRANSFORMLAYER_H
#include "llvm/ExecutionEngine/JITSymbol.h"
+#include <algorithm>
+#include <string>
namespace llvm {
namespace orc {
/// @brief Object mutating layer.
///
-/// This layer accepts sets of ObjectFiles (via addObjectSet). It
+/// This layer accepts sets of ObjectFiles (via addObject). It
/// immediately applies the user supplied functor to each object, then adds
/// the set of transformed objects to the layer below.
template <typename BaseLayerT, typename TransformFtor>
class ObjectTransformLayer {
public:
/// @brief Handle to a set of added objects.
- typedef typename BaseLayerT::ObjSetHandleT ObjSetHandleT;
+ using ObjHandleT = typename BaseLayerT::ObjHandleT;
/// @brief Construct an ObjectTransformLayer with the given BaseLayer
ObjectTransformLayer(BaseLayerT &BaseLayer,
@@ -40,20 +42,16 @@ public:
/// memory manager and symbol resolver.
///
/// @return A handle for the added objects.
- template <typename ObjSetT, typename MemoryManagerPtrT,
+ template <typename ObjPtrT, typename MemoryManagerPtrT,
typename SymbolResolverPtrT>
- ObjSetHandleT addObjectSet(ObjSetT Objects, MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver) {
-
- for (auto I = Objects.begin(), E = Objects.end(); I != E; ++I)
- *I = Transform(std::move(*I));
-
- return BaseLayer.addObjectSet(std::move(Objects), std::move(MemMgr),
- std::move(Resolver));
+ ObjHandleT addObject(ObjPtrT Obj, MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver) {
+ return BaseLayer.addObject(Transform(std::move(Obj)), std::move(MemMgr),
+ std::move(Resolver));
}
/// @brief Remove the object set associated with the handle H.
- void removeObjectSet(ObjSetHandleT H) { BaseLayer.removeObjectSet(H); }
+ void removeObject(ObjHandleT H) { BaseLayer.removeObject(H); }
/// @brief Search for the given named symbol.
/// @param Name The name of the symbol to search for.
@@ -71,7 +69,7 @@ public:
/// @param ExportedSymbolsOnly If true, search only for exported symbols.
/// @return A handle for the given named symbol, if it is found in the
/// given object set.
- JITSymbol findSymbolIn(ObjSetHandleT H, const std::string &Name,
+ JITSymbol findSymbolIn(ObjHandleT H, const std::string &Name,
bool ExportedSymbolsOnly) {
return BaseLayer.findSymbolIn(H, Name, ExportedSymbolsOnly);
}
@@ -79,10 +77,10 @@ public:
/// @brief Immediately emit and finalize the object set represented by the
/// given handle.
/// @param H Handle for object set to emit/finalize.
- void emitAndFinalize(ObjSetHandleT H) { BaseLayer.emitAndFinalize(H); }
+ void emitAndFinalize(ObjHandleT H) { BaseLayer.emitAndFinalize(H); }
/// @brief Map section addresses for the objects associated with the handle H.
- void mapSectionAddress(ObjSetHandleT H, const void *LocalAddress,
+ void mapSectionAddress(ObjHandleT H, const void *LocalAddress,
JITTargetAddress TargetAddr) {
BaseLayer.mapSectionAddress(H, LocalAddress, TargetAddr);
}
@@ -98,7 +96,7 @@ private:
TransformFtor Transform;
};
-} // End namespace orc.
-} // End namespace llvm.
+} // end namespace orc
+} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_OBJECTTRANSFORMLAYER_H
diff --git a/include/llvm/ExecutionEngine/Orc/OrcABISupport.h b/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
index fa236b0de88a..e1b55649b9f2 100644
--- a/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
+++ b/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
@@ -1,4 +1,4 @@
-//===-------------- OrcABISupport.h - ABI support code ---------*- C++ -*-===//
+//===- OrcABISupport.h - ABI support code -----------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -18,9 +18,12 @@
#ifndef LLVM_EXECUTIONENGINE_ORC_ORCABISUPPORT_H
#define LLVM_EXECUTIONENGINE_ORC_ORCABISUPPORT_H
-#include "IndirectionUtils.h"
+#include "llvm/ExecutionEngine/JITSymbol.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Memory.h"
-#include "llvm/Support/Process.h"
+#include <algorithm>
+#include <cstdint>
namespace llvm {
namespace orc {
@@ -37,8 +40,8 @@ public:
static const unsigned TrampolineSize = 1;
static const unsigned ResolverCodeSize = 1;
- typedef JITTargetAddress (*JITReentryFn)(void *CallbackMgr,
- void *TrampolineId);
+ using JITReentryFn = JITTargetAddress (*)(void *CallbackMgr,
+ void *TrampolineId);
static void writeResolverCode(uint8_t *ResolveMem, JITReentryFn Reentry,
void *CallbackMgr) {
@@ -55,6 +58,7 @@ public:
class IndirectStubsInfo {
public:
const static unsigned StubSize = 1;
+
unsigned getNumStubs() const { llvm_unreachable("Not supported"); }
void *getStub(unsigned Idx) const { llvm_unreachable("Not supported"); }
void **getPtr(unsigned Idx) const { llvm_unreachable("Not supported"); }
@@ -73,13 +77,14 @@ template <unsigned StubSizeVal> class GenericIndirectStubsInfo {
public:
const static unsigned StubSize = StubSizeVal;
- GenericIndirectStubsInfo() : NumStubs(0) {}
+ GenericIndirectStubsInfo() = default;
GenericIndirectStubsInfo(unsigned NumStubs, sys::OwningMemoryBlock StubsMem)
: NumStubs(NumStubs), StubsMem(std::move(StubsMem)) {}
GenericIndirectStubsInfo(GenericIndirectStubsInfo &&Other)
: NumStubs(Other.NumStubs), StubsMem(std::move(Other.StubsMem)) {
Other.NumStubs = 0;
}
+
GenericIndirectStubsInfo &operator=(GenericIndirectStubsInfo &&Other) {
NumStubs = Other.NumStubs;
Other.NumStubs = 0;
@@ -104,7 +109,7 @@ public:
}
private:
- unsigned NumStubs;
+ unsigned NumStubs = 0;
sys::OwningMemoryBlock StubsMem;
};
@@ -114,10 +119,10 @@ public:
static const unsigned TrampolineSize = 12;
static const unsigned ResolverCodeSize = 0x120;
- typedef GenericIndirectStubsInfo<8> IndirectStubsInfo;
+ using IndirectStubsInfo = GenericIndirectStubsInfo<8>;
- typedef JITTargetAddress (*JITReentryFn)(void *CallbackMgr,
- void *TrampolineId);
+ using JITReentryFn = JITTargetAddress (*)(void *CallbackMgr,
+ void *TrampolineId);
/// @brief Write the resolver code into the given memory. The user is be
/// responsible for allocating the memory and setting permissions.
@@ -148,7 +153,7 @@ public:
static const unsigned PointerSize = 8;
static const unsigned TrampolineSize = 8;
- typedef GenericIndirectStubsInfo<8> IndirectStubsInfo;
+ using IndirectStubsInfo = GenericIndirectStubsInfo<8>;
/// @brief Write the requsted number of trampolines into the given memory,
/// which must be big enough to hold 1 pointer, plus NumTrampolines
@@ -172,8 +177,9 @@ public:
class OrcX86_64_SysV : public OrcX86_64_Base {
public:
static const unsigned ResolverCodeSize = 0x6C;
- typedef JITTargetAddress (*JITReentryFn)(void *CallbackMgr,
- void *TrampolineId);
+
+ using JITReentryFn = JITTargetAddress (*)(void *CallbackMgr,
+ void *TrampolineId);
/// @brief Write the resolver code into the given memory. The user is be
/// responsible for allocating the memory and setting permissions.
@@ -187,8 +193,9 @@ public:
class OrcX86_64_Win32 : public OrcX86_64_Base {
public:
static const unsigned ResolverCodeSize = 0x74;
- typedef JITTargetAddress (*JITReentryFn)(void *CallbackMgr,
- void *TrampolineId);
+
+ using JITReentryFn = JITTargetAddress (*)(void *CallbackMgr,
+ void *TrampolineId);
/// @brief Write the resolver code into the given memory. The user is be
/// responsible for allocating the memory and setting permissions.
@@ -205,10 +212,10 @@ public:
static const unsigned TrampolineSize = 8;
static const unsigned ResolverCodeSize = 0x4a;
- typedef GenericIndirectStubsInfo<8> IndirectStubsInfo;
+ using IndirectStubsInfo = GenericIndirectStubsInfo<8>;
- typedef JITTargetAddress (*JITReentryFn)(void *CallbackMgr,
- void *TrampolineId);
+ using JITReentryFn = JITTargetAddress (*)(void *CallbackMgr,
+ void *TrampolineId);
/// @brief Write the resolver code into the given memory. The user is be
/// responsible for allocating the memory and setting permissions.
@@ -231,7 +238,7 @@ public:
unsigned MinStubs, void *InitialPtrVal);
};
-} // End namespace orc.
-} // End namespace llvm.
+} // end namespace orc
+} // end namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_ORCABISUPPORT_H
diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
index a19c30631c57..da02250ba169 100644
--- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
@@ -1,4 +1,4 @@
-//===---- OrcRemoteTargetClient.h - Orc Remote-target Client ----*- C++ -*-===//
+//===- OrcRemoteTargetClient.h - Orc Remote-target Client -------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -16,10 +16,29 @@
#ifndef LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETCLIENT_H
#define LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETCLIENT_H
-#include "IndirectionUtils.h"
-#include "OrcRemoteTargetRPCAPI.h"
+#include "llvm/ADT/Optional.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringMap.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ExecutionEngine/JITSymbol.h"
+#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"
+#include "llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h"
#include "llvm/ExecutionEngine/RuntimeDyld.h"
-#include <system_error>
+#include "llvm/Support/Debug.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/Format.h"
+#include "llvm/Support/MathExtras.h"
+#include "llvm/Support/Memory.h"
+#include "llvm/Support/raw_ostream.h"
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+#include <memory>
+#include <string>
+#include <tuple>
+#include <utility>
+#include <vector>
#define DEBUG_TYPE "orc-remote"
@@ -207,7 +226,6 @@ public:
DEBUG(dbgs() << "Allocator " << Id << " finalizing:\n");
for (auto &ObjAllocs : Unfinalized) {
-
for (auto &Alloc : ObjAllocs.CodeAllocs) {
DEBUG(dbgs() << " copying code: "
<< static_cast<void *>(Alloc.getLocalAddress()) << " -> "
@@ -469,7 +487,7 @@ public:
OrcRemoteTargetClient &Remote;
ResourceIdMgr::ResourceId Id;
std::vector<RemoteIndirectStubsInfo> RemoteIndirectStubsInfos;
- typedef std::pair<uint16_t, uint16_t> StubKey;
+ using StubKey = std::pair<uint16_t, uint16_t>;
std::vector<StubKey> FreeStubs;
StringMap<std::pair<StubKey, JITSymbolFlags>> StubIndexes;
@@ -710,7 +728,6 @@ private:
Expected<JITTargetAddress> reserveMem(ResourceIdMgr::ResourceId Id,
uint64_t Size, uint32_t Align) {
-
// Check for an 'out-of-band' error, e.g. from an MM destructor.
if (ExistingError)
return std::move(ExistingError);
diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
index 3086ef0cdf80..07ae7f04d1a0 100644
--- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
@@ -1,4 +1,4 @@
-//===--- OrcRemoteTargetRPCAPI.h - Orc Remote-target RPC API ----*- C++ -*-===//
+//===- OrcRemoteTargetRPCAPI.h - Orc Remote-target RPC API ------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -16,12 +16,13 @@
#ifndef LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETRPCAPI_H
#define LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETRPCAPI_H
-#include "RPCUtils.h"
-#include "RawByteChannel.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
+#include "llvm/ExecutionEngine/Orc/RPCUtils.h"
+#include "llvm/ExecutionEngine/Orc/RawByteChannel.h"
namespace llvm {
namespace orc {
+
namespace remote {
class DirectBufferWriter {
@@ -72,7 +73,7 @@ public:
return EC;
char *Addr = reinterpret_cast<char *>(static_cast<uintptr_t>(Dst));
- DBW = remote::DirectBufferWriter(0, Dst, Size);
+ DBW = remote::DirectBufferWriter(nullptr, Dst, Size);
return C.readBytes(Addr, Size);
}
@@ -87,7 +88,7 @@ class OrcRemoteTargetRPCAPI
protected:
class ResourceIdMgr {
public:
- typedef uint64_t ResourceId;
+ using ResourceId = uint64_t;
static const ResourceId InvalidId = ~0U;
ResourceId getNext() {
@@ -98,6 +99,7 @@ protected:
}
return NextId++;
}
+
void release(ResourceId I) { FreeIds.push_back(I); }
private:
@@ -261,7 +263,8 @@ public:
};
} // end namespace remote
+
} // end namespace orc
} // end namespace llvm
-#endif
+#endif // LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETRPCAPI_H
diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
index a61ff102be0b..e7b6d64931b6 100644
--- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
@@ -1,4 +1,4 @@
-//===---- OrcRemoteTargetServer.h - Orc Remote-target Server ----*- C++ -*-===//
+//===- OrcRemoteTargetServer.h - Orc Remote-target Server -------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -15,10 +15,9 @@
#ifndef LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETSERVER_H
#define LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETSERVER_H
-#include "OrcRemoteTargetRPCAPI.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/ExecutionEngine/Orc/OrcError.h"
-#include "llvm/ExecutionEngine/RTDyldMemoryManager.h"
+#include "llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/Format.h"
@@ -48,20 +47,18 @@ namespace remote {
template <typename ChannelT, typename TargetT>
class OrcRemoteTargetServer : public OrcRemoteTargetRPCAPI {
public:
- typedef std::function<JITTargetAddress(const std::string &Name)>
- SymbolLookupFtor;
+ using SymbolLookupFtor =
+ std::function<JITTargetAddress(const std::string &Name)>;
- typedef std::function<void(uint8_t *Addr, uint32_t Size)>
- EHFrameRegistrationFtor;
+ using EHFrameRegistrationFtor =
+ std::function<void(uint8_t *Addr, uint32_t Size)>;
OrcRemoteTargetServer(ChannelT &Channel, SymbolLookupFtor SymbolLookup,
EHFrameRegistrationFtor EHFramesRegister,
EHFrameRegistrationFtor EHFramesDeregister)
: OrcRemoteTargetRPCAPI(Channel), SymbolLookup(std::move(SymbolLookup)),
EHFramesRegister(std::move(EHFramesRegister)),
- EHFramesDeregister(std::move(EHFramesDeregister)),
- TerminateFlag(false) {
-
+ EHFramesDeregister(std::move(EHFramesDeregister)) {
using ThisT = typename std::remove_reference<decltype(*this)>::type;
addHandler<CallIntVoid>(*this, &ThisT::handleCallIntVoid);
addHandler<CallMain>(*this, &ThisT::handleCallMain);
@@ -106,6 +103,7 @@ private:
struct Allocator {
Allocator() = default;
Allocator(Allocator &&Other) : Allocs(std::move(Other.Allocs)) {}
+
Allocator &operator=(Allocator &&Other) {
Allocs = std::move(Other.Allocs);
return *this;
@@ -153,7 +151,8 @@ private:
}
Expected<int32_t> handleCallIntVoid(JITTargetAddress Addr) {
- typedef int (*IntVoidFnTy)();
+ using IntVoidFnTy = int (*)();
+
IntVoidFnTy Fn =
reinterpret_cast<IntVoidFnTy>(static_cast<uintptr_t>(Addr));
@@ -166,7 +165,7 @@ private:
Expected<int32_t> handleCallMain(JITTargetAddress Addr,
std::vector<std::string> Args) {
- typedef int (*MainFnTy)(int, const char *[]);
+ using MainFnTy = int (*)(int, const char *[]);
MainFnTy Fn = reinterpret_cast<MainFnTy>(static_cast<uintptr_t>(Addr));
int ArgC = Args.size() + 1;
@@ -175,6 +174,12 @@ private:
ArgV[0] = "<jit process>";
for (auto &Arg : Args)
ArgV[Idx++] = Arg.c_str();
+ ArgV[ArgC] = 0;
+ DEBUG(
+ for (int Idx = 0; Idx < ArgC; ++Idx) {
+ llvm::dbgs() << "Arg " << Idx << ": " << ArgV[Idx] << "\n";
+ }
+ );
DEBUG(dbgs() << " Calling " << format("0x%016x", Addr) << "\n");
int Result = Fn(ArgC, ArgV.get());
@@ -184,7 +189,8 @@ private:
}
Error handleCallVoidVoid(JITTargetAddress Addr) {
- typedef void (*VoidVoidFnTy)();
+ using VoidVoidFnTy = void (*)();
+
VoidVoidFnTy Fn =
reinterpret_cast<VoidVoidFnTy>(static_cast<uintptr_t>(Addr));
@@ -420,11 +426,11 @@ private:
SymbolLookupFtor SymbolLookup;
EHFrameRegistrationFtor EHFramesRegister, EHFramesDeregister;
std::map<ResourceIdMgr::ResourceId, Allocator> Allocators;
- typedef std::vector<typename TargetT::IndirectStubsInfo> ISBlockOwnerList;
+ using ISBlockOwnerList = std::vector<typename TargetT::IndirectStubsInfo>;
std::map<ResourceIdMgr::ResourceId, ISBlockOwnerList> IndirectStubsOwners;
sys::OwningMemoryBlock ResolverBlock;
std::vector<sys::OwningMemoryBlock> TrampolineBlocks;
- bool TerminateFlag;
+ bool TerminateFlag = false;
};
} // end namespace remote
@@ -433,4 +439,4 @@ private:
#undef DEBUG_TYPE
-#endif
+#endif // LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETSERVER_H
diff --git a/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h b/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
index aabb44eef99d..66ad36be01c8 100644
--- a/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
+++ b/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
@@ -1,4 +1,4 @@
-//===-- RTDyldObjectLinkingLayer.h - RTDyld-based jit linking --*- C++ -*-===//
+//===- RTDyldObjectLinkingLayer.h - RTDyld-based jit linking ---*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -17,10 +17,8 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
-#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/ExecutionEngine/RuntimeDyld.h"
-#include "llvm/ExecutionEngine/SectionMemoryManager.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/Error.h"
#include <algorithm>
@@ -36,20 +34,26 @@ namespace llvm {
namespace orc {
class RTDyldObjectLinkingLayerBase {
+public:
+
+ using ObjectPtr =
+ std::shared_ptr<object::OwningBinary<object::ObjectFile>>;
+
protected:
+
/// @brief Holds a set of objects to be allocated/linked as a unit in the JIT.
///
/// An instance of this class will be created for each set of objects added
- /// via JITObjectLayer::addObjectSet. Deleting the instance (via
- /// removeObjectSet) frees its memory, removing all symbol definitions that
+ /// via JITObjectLayer::addObject. Deleting the instance (via
+ /// removeObject) frees its memory, removing all symbol definitions that
/// had been provided by this instance. Higher level layers are responsible
/// for taking any action required to handle the missing symbols.
- class LinkedObjectSet {
+ class LinkedObject {
public:
- LinkedObjectSet() = default;
- LinkedObjectSet(const LinkedObjectSet&) = delete;
- void operator=(const LinkedObjectSet&) = delete;
- virtual ~LinkedObjectSet() = default;
+ LinkedObject() = default;
+ LinkedObject(const LinkedObject&) = delete;
+ void operator=(const LinkedObject&) = delete;
+ virtual ~LinkedObject() = default;
virtual void finalize() = 0;
@@ -76,19 +80,11 @@ protected:
bool Finalized = false;
};
- typedef std::list<std::unique_ptr<LinkedObjectSet>> LinkedObjectSetListT;
+ using LinkedObjectListT = std::list<std::unique_ptr<LinkedObject>>;
public:
/// @brief Handle to a set of loaded objects.
- typedef LinkedObjectSetListT::iterator ObjSetHandleT;
-};
-
-/// @brief Default (no-op) action to perform when loading objects.
-class DoNothingOnNotifyLoaded {
-public:
- template <typename ObjSetT, typename LoadResult>
- void operator()(RTDyldObjectLinkingLayerBase::ObjSetHandleT, const ObjSetT &,
- const LoadResult &) {}
+ using ObjHandleT = LinkedObjectListT::iterator;
};
/// @brief Bare bones object linking layer.
@@ -97,46 +93,54 @@ public:
/// object files to be loaded into memory, linked, and the addresses of their
/// symbols queried. All objects added to this layer can see each other's
/// symbols.
-template <typename NotifyLoadedFtor = DoNothingOnNotifyLoaded>
class RTDyldObjectLinkingLayer : public RTDyldObjectLinkingLayerBase {
public:
+
+ using RTDyldObjectLinkingLayerBase::ObjectPtr;
+
+ /// @brief Functor for receiving object-loaded notifications.
+ using NotifyLoadedFtor = std::function<void(ObjHandleT, const ObjectPtr &Obj,
+ const LoadedObjectInfo &)>;
+
/// @brief Functor for receiving finalization notifications.
- typedef std::function<void(ObjSetHandleT)> NotifyFinalizedFtor;
+ using NotifyFinalizedFtor = std::function<void(ObjHandleT)>;
private:
- template <typename ObjSetT, typename MemoryManagerPtrT,
- typename SymbolResolverPtrT, typename FinalizerFtor>
- class ConcreteLinkedObjectSet : public LinkedObjectSet {
+
+
+ template <typename MemoryManagerPtrT, typename SymbolResolverPtrT,
+ typename FinalizerFtor>
+ class ConcreteLinkedObject : public LinkedObject {
public:
- ConcreteLinkedObjectSet(ObjSetT Objects, MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver,
- FinalizerFtor Finalizer,
- bool ProcessAllSections)
+ ConcreteLinkedObject(ObjectPtr Obj, MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver,
+ FinalizerFtor Finalizer,
+ bool ProcessAllSections)
: MemMgr(std::move(MemMgr)),
- PFC(llvm::make_unique<PreFinalizeContents>(std::move(Objects),
+ PFC(llvm::make_unique<PreFinalizeContents>(std::move(Obj),
std::move(Resolver),
std::move(Finalizer),
ProcessAllSections)) {
- buildInitialSymbolTable(PFC->Objects);
+ buildInitialSymbolTable(PFC->Obj);
}
- ~ConcreteLinkedObjectSet() override {
+ ~ConcreteLinkedObject() override {
MemMgr->deregisterEHFrames();
}
-
- void setHandle(ObjSetHandleT H) {
+
+ void setHandle(ObjHandleT H) {
PFC->Handle = H;
}
void finalize() override {
- assert(PFC && "mapSectionAddress called on finalized LinkedObjectSet");
+ assert(PFC && "mapSectionAddress called on finalized LinkedObject");
RuntimeDyld RTDyld(*MemMgr, *PFC->Resolver);
RTDyld.setProcessAllSections(PFC->ProcessAllSections);
PFC->RTDyld = &RTDyld;
this->Finalized = true;
- PFC->Finalizer(PFC->Handle, RTDyld, std::move(PFC->Objects),
+ PFC->Finalizer(PFC->Handle, RTDyld, std::move(PFC->Obj),
[&]() {
this->updateSymbolTable(RTDyld);
});
@@ -158,27 +162,27 @@ private:
void mapSectionAddress(const void *LocalAddress,
JITTargetAddress TargetAddr) const override {
- assert(PFC && "mapSectionAddress called on finalized LinkedObjectSet");
- assert(PFC->RTDyld && "mapSectionAddress called on raw LinkedObjectSet");
+ assert(PFC && "mapSectionAddress called on finalized LinkedObject");
+ assert(PFC->RTDyld && "mapSectionAddress called on raw LinkedObject");
PFC->RTDyld->mapSectionAddress(LocalAddress, TargetAddr);
}
private:
- void buildInitialSymbolTable(const ObjSetT &Objects) {
- for (const auto &Obj : Objects)
- for (auto &Symbol : getObject(*Obj).symbols()) {
- if (Symbol.getFlags() & object::SymbolRef::SF_Undefined)
- continue;
- Expected<StringRef> SymbolName = Symbol.getName();
- // FIXME: Raise an error for bad symbols.
- if (!SymbolName) {
- consumeError(SymbolName.takeError());
- continue;
- }
- auto Flags = JITSymbolFlags::fromObjectSymbol(Symbol);
- SymbolTable.insert(
- std::make_pair(*SymbolName, JITEvaluatedSymbol(0, Flags)));
+
+ void buildInitialSymbolTable(const ObjectPtr &Obj) {
+ for (auto &Symbol : Obj->getBinary()->symbols()) {
+ if (Symbol.getFlags() & object::SymbolRef::SF_Undefined)
+ continue;
+ Expected<StringRef> SymbolName = Symbol.getName();
+ // FIXME: Raise an error for bad symbols.
+ if (!SymbolName) {
+ consumeError(SymbolName.takeError());
+ continue;
}
+ auto Flags = JITSymbolFlags::fromObjectSymbol(Symbol);
+ SymbolTable.insert(
+ std::make_pair(*SymbolName, JITEvaluatedSymbol(0, Flags)));
+ }
}
void updateSymbolTable(const RuntimeDyld &RTDyld) {
@@ -189,17 +193,17 @@ private:
// Contains the information needed prior to finalization: the object files,
// memory manager, resolver, and flags needed for RuntimeDyld.
struct PreFinalizeContents {
- PreFinalizeContents(ObjSetT Objects, SymbolResolverPtrT Resolver,
+ PreFinalizeContents(ObjectPtr Obj, SymbolResolverPtrT Resolver,
FinalizerFtor Finalizer, bool ProcessAllSections)
- : Objects(std::move(Objects)), Resolver(std::move(Resolver)),
+ : Obj(std::move(Obj)), Resolver(std::move(Resolver)),
Finalizer(std::move(Finalizer)),
ProcessAllSections(ProcessAllSections) {}
- ObjSetT Objects;
+ ObjectPtr Obj;
SymbolResolverPtrT Resolver;
FinalizerFtor Finalizer;
bool ProcessAllSections;
- ObjSetHandleT Handle;
+ ObjHandleT Handle;
RuntimeDyld *RTDyld;
};
@@ -207,27 +211,22 @@ private:
std::unique_ptr<PreFinalizeContents> PFC;
};
- template <typename ObjSetT, typename MemoryManagerPtrT,
- typename SymbolResolverPtrT, typename FinalizerFtor>
+ template <typename MemoryManagerPtrT, typename SymbolResolverPtrT,
+ typename FinalizerFtor>
std::unique_ptr<
- ConcreteLinkedObjectSet<ObjSetT, MemoryManagerPtrT,
- SymbolResolverPtrT, FinalizerFtor>>
- createLinkedObjectSet(ObjSetT Objects, MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver,
- FinalizerFtor Finalizer,
- bool ProcessAllSections) {
- typedef ConcreteLinkedObjectSet<ObjSetT, MemoryManagerPtrT,
- SymbolResolverPtrT, FinalizerFtor> LOS;
- return llvm::make_unique<LOS>(std::move(Objects), std::move(MemMgr),
+ ConcreteLinkedObject<MemoryManagerPtrT, SymbolResolverPtrT, FinalizerFtor>>
+ createLinkedObject(ObjectPtr Obj, MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver,
+ FinalizerFtor Finalizer,
+ bool ProcessAllSections) {
+ using LOS = ConcreteLinkedObject<MemoryManagerPtrT, SymbolResolverPtrT,
+ FinalizerFtor>;
+ return llvm::make_unique<LOS>(std::move(Obj), std::move(MemMgr),
std::move(Resolver), std::move(Finalizer),
ProcessAllSections);
}
public:
- /// @brief LoadedObjectInfo list. Contains a list of owning pointers to
- /// RuntimeDyld::LoadedObjectInfo instances.
- typedef std::vector<std::unique_ptr<RuntimeDyld::LoadedObjectInfo>>
- LoadedObjInfoList;
/// @brief Construct an ObjectLinkingLayer with the given NotifyLoaded,
/// and NotifyFinalized functors.
@@ -235,8 +234,7 @@ public:
NotifyLoadedFtor NotifyLoaded = NotifyLoadedFtor(),
NotifyFinalizedFtor NotifyFinalized = NotifyFinalizedFtor())
: NotifyLoaded(std::move(NotifyLoaded)),
- NotifyFinalized(std::move(NotifyFinalized)),
- ProcessAllSections(false) {}
+ NotifyFinalized(std::move(NotifyFinalized)) {}
/// @brief Set the 'ProcessAllSections' flag.
///
@@ -253,23 +251,22 @@ public:
///
/// @return A handle that can be used to refer to the loaded objects (for
/// symbol searching, finalization, freeing memory, etc.).
- template <typename ObjSetT,
- typename MemoryManagerPtrT,
+ template <typename MemoryManagerPtrT,
typename SymbolResolverPtrT>
- ObjSetHandleT addObjectSet(ObjSetT Objects,
- MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver) {
- auto Finalizer = [&](ObjSetHandleT H, RuntimeDyld &RTDyld,
- const ObjSetT &Objs,
- std::function<void()> LOSHandleLoad) {
- LoadedObjInfoList LoadedObjInfos;
+ ObjHandleT addObject(ObjectPtr Obj,
+ MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver) {
- for (auto &Obj : Objs)
- LoadedObjInfos.push_back(RTDyld.loadObject(this->getObject(*Obj)));
+ auto Finalizer = [&](ObjHandleT H, RuntimeDyld &RTDyld,
+ const ObjectPtr &ObjToLoad,
+ std::function<void()> LOSHandleLoad) {
+ std::unique_ptr<RuntimeDyld::LoadedObjectInfo> Info =
+ RTDyld.loadObject(*ObjToLoad->getBinary());
LOSHandleLoad();
- this->NotifyLoaded(H, Objs, LoadedObjInfos);
+ if (this->NotifyLoaded)
+ this->NotifyLoaded(H, ObjToLoad, *Info);
RTDyld.finalizeWithMemoryManagerLocking();
@@ -277,17 +274,15 @@ public:
this->NotifyFinalized(H);
};
- auto LOS =
- createLinkedObjectSet(std::move(Objects), std::move(MemMgr),
- std::move(Resolver), std::move(Finalizer),
- ProcessAllSections);
+ auto LO =
+ createLinkedObject(std::move(Obj), std::move(MemMgr), std::move(Resolver),
+ std::move(Finalizer), ProcessAllSections);
// LOS is an owning-ptr. Keep a non-owning one so that we can set the handle
// below.
- auto *LOSPtr = LOS.get();
+ auto *LOPtr = LO.get();
- ObjSetHandleT Handle = LinkedObjSetList.insert(LinkedObjSetList.end(),
- std::move(LOS));
- LOSPtr->setHandle(Handle);
+ ObjHandleT Handle = LinkedObjList.insert(LinkedObjList.end(), std::move(LO));
+ LOPtr->setHandle(Handle);
return Handle;
}
@@ -300,9 +295,9 @@ public:
/// indirectly) will result in undefined behavior. If dependence tracking is
/// required to detect or resolve such issues it should be added at a higher
/// layer.
- void removeObjectSet(ObjSetHandleT H) {
+ void removeObject(ObjHandleT H) {
// How do we invalidate the symbols in H?
- LinkedObjSetList.erase(H);
+ LinkedObjList.erase(H);
}
/// @brief Search for the given named symbol.
@@ -310,7 +305,7 @@ public:
/// @param ExportedSymbolsOnly If true, search only for exported symbols.
/// @return A handle for the given named symbol, if it exists.
JITSymbol findSymbol(StringRef Name, bool ExportedSymbolsOnly) {
- for (auto I = LinkedObjSetList.begin(), E = LinkedObjSetList.end(); I != E;
+ for (auto I = LinkedObjList.begin(), E = LinkedObjList.end(); I != E;
++I)
if (auto Symbol = findSymbolIn(I, Name, ExportedSymbolsOnly))
return Symbol;
@@ -325,13 +320,13 @@ public:
/// @param ExportedSymbolsOnly If true, search only for exported symbols.
/// @return A handle for the given named symbol, if it is found in the
/// given object set.
- JITSymbol findSymbolIn(ObjSetHandleT H, StringRef Name,
+ JITSymbol findSymbolIn(ObjHandleT H, StringRef Name,
bool ExportedSymbolsOnly) {
return (*H)->getSymbol(Name, ExportedSymbolsOnly);
}
/// @brief Map section addresses for the objects associated with the handle H.
- void mapSectionAddress(ObjSetHandleT H, const void *LocalAddress,
+ void mapSectionAddress(ObjHandleT H, const void *LocalAddress,
JITTargetAddress TargetAddr) {
(*H)->mapSectionAddress(LocalAddress, TargetAddr);
}
@@ -339,25 +334,16 @@ public:
/// @brief Immediately emit and finalize the object set represented by the
/// given handle.
/// @param H Handle for object set to emit/finalize.
- void emitAndFinalize(ObjSetHandleT H) {
+ void emitAndFinalize(ObjHandleT H) {
(*H)->finalize();
}
private:
- static const object::ObjectFile& getObject(const object::ObjectFile &Obj) {
- return Obj;
- }
-
- template <typename ObjT>
- static const object::ObjectFile&
- getObject(const object::OwningBinary<ObjT> &Obj) {
- return *Obj.getBinary();
- }
- LinkedObjectSetListT LinkedObjSetList;
+ LinkedObjectListT LinkedObjList;
NotifyLoadedFtor NotifyLoaded;
NotifyFinalizedFtor NotifyFinalized;
- bool ProcessAllSections;
+ bool ProcessAllSections = false;
};
} // end namespace orc
diff --git a/include/llvm/ExecutionEngine/Orc/RawByteChannel.h b/include/llvm/ExecutionEngine/Orc/RawByteChannel.h
index 52a546f7c6eb..db810f4ef2e5 100644
--- a/include/llvm/ExecutionEngine/Orc/RawByteChannel.h
+++ b/include/llvm/ExecutionEngine/Orc/RawByteChannel.h
@@ -10,20 +10,14 @@
#ifndef LLVM_EXECUTIONENGINE_ORC_RAWBYTECHANNEL_H
#define LLVM_EXECUTIONENGINE_ORC_RAWBYTECHANNEL_H
-#include "OrcError.h"
-#include "RPCSerialization.h"
-#include "llvm/ADT/ArrayRef.h"
-#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
+#include "llvm/ExecutionEngine/Orc/RPCSerialization.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
-#include <cstddef>
#include <cstdint>
#include <mutex>
#include <string>
-#include <tuple>
#include <type_traits>
-#include <vector>
namespace llvm {
namespace orc {
@@ -32,7 +26,7 @@ namespace rpc {
/// Interface for byte-streams to be used with RPC.
class RawByteChannel {
public:
- virtual ~RawByteChannel() {}
+ virtual ~RawByteChannel() = default;
/// Read Size bytes from the stream into *Dst.
virtual Error readBytes(char *Dst, unsigned Size) = 0;
diff --git a/include/llvm/ExecutionEngine/RuntimeDyld.h b/include/llvm/ExecutionEngine/RuntimeDyld.h
index 9470866dc0d6..1925489f7952 100644
--- a/include/llvm/ExecutionEngine/RuntimeDyld.h
+++ b/include/llvm/ExecutionEngine/RuntimeDyld.h
@@ -1,4 +1,4 @@
-//===-- RuntimeDyld.h - Run-time dynamic linker for MC-JIT ------*- C++ -*-===//
+//===- RuntimeDyld.h - Run-time dynamic linker for MC-JIT -------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -32,7 +32,9 @@
namespace llvm {
namespace object {
- template <typename T> class OwningBinary;
+
+template <typename T> class OwningBinary;
+
} // end namespace object
/// Base class for errors originating in RuntimeDyld, e.g. missing relocation
@@ -51,8 +53,8 @@ private:
std::string ErrMsg;
};
-class RuntimeDyldImpl;
class RuntimeDyldCheckerImpl;
+class RuntimeDyldImpl;
class RuntimeDyld {
friend class RuntimeDyldCheckerImpl;
@@ -68,7 +70,7 @@ public:
friend class RuntimeDyldImpl;
public:
- typedef std::map<object::SectionRef, unsigned> ObjSectionToIDMap;
+ using ObjSectionToIDMap = std::map<object::SectionRef, unsigned>;
LoadedObjectInfo(RuntimeDyldImpl &RTDyld, ObjSectionToIDMap ObjSecToIDMap)
: RTDyld(RTDyld), ObjSecToIDMap(std::move(ObjSecToIDMap)) {}
@@ -186,7 +188,7 @@ public:
/// \brief Construct a RuntimeDyld instance.
RuntimeDyld(MemoryManager &MemMgr, JITSymbolResolver &Resolver);
RuntimeDyld(const RuntimeDyld &) = delete;
- void operator=(const RuntimeDyld &) = delete;
+ RuntimeDyld &operator=(const RuntimeDyld &) = delete;
~RuntimeDyld();
/// Add the referenced object file to the list of objects to be loaded and
diff --git a/include/llvm/IR/Attributes.h b/include/llvm/IR/Attributes.h
index 0e8adda82cbe..0cab8bbb8ead 100644
--- a/include/llvm/IR/Attributes.h
+++ b/include/llvm/IR/Attributes.h
@@ -622,7 +622,8 @@ public:
// AttributeList Introspection
//===--------------------------------------------------------------------===//
- typedef const AttributeSet *iterator;
+ using iterator = const AttributeSet *;
+
iterator begin() const;
iterator end() const;
@@ -830,8 +831,8 @@ bool areInlineCompatible(const Function &Caller, const Function &Callee);
/// \brief Merge caller's and callee's attributes.
void mergeAttributesForInlining(Function &Caller, const Function &Callee);
-} // end AttributeFuncs namespace
+} // end namespace AttributeFuncs
-} // end llvm namespace
+} // end namespace llvm
#endif // LLVM_IR_ATTRIBUTES_H
diff --git a/include/llvm/IR/Attributes.td b/include/llvm/IR/Attributes.td
index 75867a6e5833..616387816bf8 100644
--- a/include/llvm/IR/Attributes.td
+++ b/include/llvm/IR/Attributes.td
@@ -214,3 +214,5 @@ def : MergeRule<"setAND<UnsafeFPMathAttr>">;
def : MergeRule<"setOR<NoImplicitFloatAttr>">;
def : MergeRule<"setOR<NoJumpTablesAttr>">;
def : MergeRule<"adjustCallerSSPLevel">;
+def : MergeRule<"adjustCallerStackProbes">;
+def : MergeRule<"adjustCallerStackProbeSize">;
diff --git a/include/llvm/IR/BasicBlock.h b/include/llvm/IR/BasicBlock.h
index 23f838b640e0..7a35afcbafc3 100644
--- a/include/llvm/IR/BasicBlock.h
+++ b/include/llvm/IR/BasicBlock.h
@@ -1,4 +1,4 @@
-//===-- llvm/BasicBlock.h - Represent a basic block in the VM ---*- C++ -*-===//
+//===- llvm/BasicBlock.h - Represent a basic block in the VM ----*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -18,13 +18,17 @@
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/ilist.h"
#include "llvm/ADT/ilist_node.h"
+#include "llvm/ADT/iterator.h"
+#include "llvm/ADT/iterator_range.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/SymbolTableListTraits.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/CBindingWrapping.h"
+#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include <cassert>
#include <cstddef>
+#include <iterator>
namespace llvm {
@@ -294,9 +298,9 @@ public:
return *this;
}
};
- typedef phi_iterator_impl<> phi_iterator;
- typedef phi_iterator_impl<const PHINode, BasicBlock::const_iterator>
- const_phi_iterator;
+ using phi_iterator = phi_iterator_impl<>;
+ using const_phi_iterator =
+ phi_iterator_impl<const PHINode, BasicBlock::const_iterator>;
/// Returns a range that iterates over the phis in the basic block.
///
@@ -391,6 +395,9 @@ public:
static_cast<const BasicBlock *>(this)->getLandingPadInst());
}
+ /// \brief Return true if it is legal to hoist instructions into this block.
+ bool isLegalToHoistInto() const;
+
private:
/// \brief Increment the internal refcount of the number of BlockAddresses
/// referencing this BasicBlock by \p Amt.
diff --git a/include/llvm/IR/ConstantRange.h b/include/llvm/IR/ConstantRange.h
index 6a50a8801f86..ff6495e7f075 100644
--- a/include/llvm/IR/ConstantRange.h
+++ b/include/llvm/IR/ConstantRange.h
@@ -34,11 +34,14 @@
#include "llvm/ADT/APInt.h"
#include "llvm/IR/InstrTypes.h"
-#include "llvm/Support/DataTypes.h"
+#include "llvm/IR/Instruction.h"
+#include "llvm/Support/Compiler.h"
+#include <cstdint>
namespace llvm {
class MDNode;
+class raw_ostream;
/// This class represents a range of values.
class LLVM_NODISCARD ConstantRange {
@@ -330,6 +333,6 @@ inline raw_ostream &operator<<(raw_ostream &OS, const ConstantRange &CR) {
/// E.g. if RangeMD is !{i32 0, i32 10, i32 15, i32 20} then return [0, 20).
ConstantRange getConstantRangeFromMetadata(const MDNode &RangeMD);
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_CONSTANTRANGE_H
diff --git a/include/llvm/IR/DerivedUser.h b/include/llvm/IR/DerivedUser.h
index 4d681e0db611..67c483d3c497 100644
--- a/include/llvm/IR/DerivedUser.h
+++ b/include/llvm/IR/DerivedUser.h
@@ -1,4 +1,4 @@
-//===-- DerivedUser.h - Base for non-IR Users -------------------*- C++ -*-===//
+//===- DerivedUser.h - Base for non-IR Users --------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,6 +14,9 @@
namespace llvm {
+class Type;
+class Use;
+
/// Extension point for the Value hierarchy. All classes outside of lib/IR
/// that wish to inherit from User should instead inherit from DerivedUser
/// instead. Inheriting from this class is discouraged.
@@ -24,10 +27,11 @@ namespace llvm {
/// its use/def list machinery.
class DerivedUser : public User {
protected:
- typedef void (*DeleteValueTy)(DerivedUser *);
+ using DeleteValueTy = void (*)(DerivedUser *);
private:
- friend Value;
+ friend class Value;
+
DeleteValueTy DeleteValue;
public:
@@ -36,6 +40,6 @@ public:
: User(Ty, VK, U, NumOps), DeleteValue(DeleteValue) {}
};
-} // namespace llvm
+} // end namespace llvm
#endif // LLVM_IR_DERIVEDUSER_H
diff --git a/include/llvm/IR/InstrTypes.h b/include/llvm/IR/InstrTypes.h
index b3c6644c7e81..76524b412456 100644
--- a/include/llvm/IR/InstrTypes.h
+++ b/include/llvm/IR/InstrTypes.h
@@ -322,14 +322,14 @@ DEFINE_TRANSPARENT_OPERAND_ACCESSORS(UnaryInstruction, Value)
//===----------------------------------------------------------------------===//
class BinaryOperator : public Instruction {
+ void AssertOK();
+
protected:
BinaryOperator(BinaryOps iType, Value *S1, Value *S2, Type *Ty,
const Twine &Name, Instruction *InsertBefore);
BinaryOperator(BinaryOps iType, Value *S1, Value *S2, Type *Ty,
const Twine &Name, BasicBlock *InsertAtEnd);
- void init(BinaryOps iType);
-
// Note: Instruction needs to be a friend here to call cloneImpl.
friend class Instruction;
diff --git a/include/llvm/IR/Instruction.h b/include/llvm/IR/Instruction.h
index 00c431834e31..d8db29e15886 100644
--- a/include/llvm/IR/Instruction.h
+++ b/include/llvm/IR/Instruction.h
@@ -152,9 +152,14 @@ public:
return getOpcode() == AShr;
}
+ /// Determine if the Opcode is and/or/xor.
+ static inline bool isBitwiseLogicOp(unsigned Opcode) {
+ return Opcode == And || Opcode == Or || Opcode == Xor;
+ }
+
/// Return true if this is and/or/xor.
inline bool isBitwiseLogicOp() const {
- return getOpcode() == And || getOpcode() == Or || getOpcode() == Xor;
+ return isBitwiseLogicOp(getOpcode());
}
/// Determine if the OpCode is one of the CastInst instructions.
diff --git a/include/llvm/IR/Instructions.h b/include/llvm/IR/Instructions.h
index b3032f54aa42..e1620b3e7df5 100644
--- a/include/llvm/IR/Instructions.h
+++ b/include/llvm/IR/Instructions.h
@@ -1243,6 +1243,16 @@ public:
/// vectors of floating point values. The operands must be identical types.
/// Represents a floating point comparison operator.
class FCmpInst: public CmpInst {
+ void AssertOK() {
+ assert(getPredicate() <= FCmpInst::LAST_FCMP_PREDICATE &&
+ "Invalid FCmp predicate value");
+ assert(getOperand(0)->getType() == getOperand(1)->getType() &&
+ "Both operands to FCmp instruction are not of the same type!");
+ // Check that the operands are the right type
+ assert(getOperand(0)->getType()->isFPOrFPVectorTy() &&
+ "Invalid operand types for FCmp instruction");
+ }
+
protected:
// Note: Instruction needs to be a friend here to call cloneImpl.
friend class Instruction;
@@ -1261,13 +1271,7 @@ public:
) : CmpInst(makeCmpResultType(LHS->getType()),
Instruction::FCmp, pred, LHS, RHS, NameStr,
InsertBefore) {
- assert(pred <= FCmpInst::LAST_FCMP_PREDICATE &&
- "Invalid FCmp predicate value");
- assert(getOperand(0)->getType() == getOperand(1)->getType() &&
- "Both operands to FCmp instruction are not of the same type!");
- // Check that the operands are the right type
- assert(getOperand(0)->getType()->isFPOrFPVectorTy() &&
- "Invalid operand types for FCmp instruction");
+ AssertOK();
}
/// Constructor with insert-at-end semantics.
@@ -1280,13 +1284,7 @@ public:
) : CmpInst(makeCmpResultType(LHS->getType()),
Instruction::FCmp, pred, LHS, RHS, NameStr,
&InsertAtEnd) {
- assert(pred <= FCmpInst::LAST_FCMP_PREDICATE &&
- "Invalid FCmp predicate value");
- assert(getOperand(0)->getType() == getOperand(1)->getType() &&
- "Both operands to FCmp instruction are not of the same type!");
- // Check that the operands are the right type
- assert(getOperand(0)->getType()->isFPOrFPVectorTy() &&
- "Invalid operand types for FCmp instruction");
+ AssertOK();
}
/// Constructor with no-insertion semantics
@@ -1297,13 +1295,7 @@ public:
const Twine &NameStr = "" ///< Name of the instruction
) : CmpInst(makeCmpResultType(LHS->getType()),
Instruction::FCmp, pred, LHS, RHS, NameStr) {
- assert(pred <= FCmpInst::LAST_FCMP_PREDICATE &&
- "Invalid FCmp predicate value");
- assert(getOperand(0)->getType() == getOperand(1)->getType() &&
- "Both operands to FCmp instruction are not of the same type!");
- // Check that the operands are the right type
- assert(getOperand(0)->getType()->isFPOrFPVectorTy() &&
- "Invalid operand types for FCmp instruction");
+ AssertOK();
}
/// @returns true if the predicate of this instruction is EQ or NE.
diff --git a/include/llvm/IR/IntrinsicsAMDGPU.td b/include/llvm/IR/IntrinsicsAMDGPU.td
index 8017223c4ab0..4e0529a32d29 100644
--- a/include/llvm/IR/IntrinsicsAMDGPU.td
+++ b/include/llvm/IR/IntrinsicsAMDGPU.td
@@ -475,6 +475,33 @@ class AMDGPUBufferStore : Intrinsic <
def int_amdgcn_buffer_store_format : AMDGPUBufferStore;
def int_amdgcn_buffer_store : AMDGPUBufferStore;
+def int_amdgcn_tbuffer_load : Intrinsic <
+ [llvm_any_ty], // overloaded for types f32/i32, v2f32/v2i32, v4f32/v4i32
+ [llvm_v4i32_ty, // rsrc(SGPR)
+ llvm_i32_ty, // vindex(VGPR)
+ llvm_i32_ty, // voffset(VGPR)
+ llvm_i32_ty, // soffset(SGPR)
+ llvm_i32_ty, // offset(imm)
+ llvm_i32_ty, // dfmt(imm)
+ llvm_i32_ty, // nfmt(imm)
+ llvm_i1_ty, // glc(imm)
+ llvm_i1_ty], // slc(imm)
+ []>;
+
+def int_amdgcn_tbuffer_store : Intrinsic <
+ [],
+ [llvm_any_ty, // vdata(VGPR), overloaded for types f32/i32, v2f32/v2i32, v4f32/v4i32
+ llvm_v4i32_ty, // rsrc(SGPR)
+ llvm_i32_ty, // vindex(VGPR)
+ llvm_i32_ty, // voffset(VGPR)
+ llvm_i32_ty, // soffset(SGPR)
+ llvm_i32_ty, // offset(imm)
+ llvm_i32_ty, // dfmt(imm)
+ llvm_i32_ty, // nfmt(imm)
+ llvm_i1_ty, // glc(imm)
+ llvm_i1_ty], // slc(imm)
+ []>;
+
class AMDGPUBufferAtomic : Intrinsic <
[llvm_i32_ty],
[llvm_i32_ty, // vdata(VGPR)
diff --git a/include/llvm/IR/IntrinsicsX86.td b/include/llvm/IR/IntrinsicsX86.td
index 1c466e73eb1b..80c528768dc7 100644
--- a/include/llvm/IR/IntrinsicsX86.td
+++ b/include/llvm/IR/IntrinsicsX86.td
@@ -5420,86 +5420,6 @@ let TargetPrefix = "x86" in {
def int_x86_avx512_vcomi_ss : GCCBuiltin<"__builtin_ia32_vcomiss">,
Intrinsic<[llvm_i32_ty], [llvm_v4f32_ty,
llvm_v4f32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>;
-
- def int_x86_avx512_mask_cmp_b_512:
- Intrinsic<[llvm_i64_ty], [llvm_v64i8_ty, llvm_v64i8_ty, llvm_i32_ty,
- llvm_i64_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_cmp_w_512:
- Intrinsic<[llvm_i32_ty], [llvm_v32i16_ty, llvm_v32i16_ty, llvm_i32_ty,
- llvm_i32_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_cmp_d_512:
- Intrinsic<[llvm_i16_ty], [llvm_v16i32_ty, llvm_v16i32_ty, llvm_i32_ty,
- llvm_i16_ty], [IntrNoMem ]>;
- def int_x86_avx512_mask_cmp_q_512:
- Intrinsic<[llvm_i8_ty], [llvm_v8i64_ty, llvm_v8i64_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
-
- def int_x86_avx512_mask_ucmp_b_512:
- Intrinsic<[llvm_i64_ty], [llvm_v64i8_ty, llvm_v64i8_ty, llvm_i32_ty,
- llvm_i64_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_ucmp_w_512:
- Intrinsic<[llvm_i32_ty], [llvm_v32i16_ty, llvm_v32i16_ty, llvm_i32_ty,
- llvm_i32_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_ucmp_d_512:
- Intrinsic<[llvm_i16_ty], [llvm_v16i32_ty, llvm_v16i32_ty, llvm_i32_ty,
- llvm_i16_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_ucmp_q_512:
- Intrinsic<[llvm_i8_ty], [llvm_v8i64_ty, llvm_v8i64_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
-
- // 256-bit
- def int_x86_avx512_mask_cmp_b_256:
- Intrinsic<[llvm_i32_ty], [llvm_v32i8_ty, llvm_v32i8_ty, llvm_i32_ty,
- llvm_i32_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_cmp_w_256:
- Intrinsic<[llvm_i16_ty], [llvm_v16i16_ty, llvm_v16i16_ty, llvm_i32_ty,
- llvm_i16_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_cmp_d_256:
- Intrinsic<[llvm_i8_ty], [llvm_v8i32_ty, llvm_v8i32_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_cmp_q_256:
- Intrinsic<[llvm_i8_ty], [llvm_v4i64_ty, llvm_v4i64_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
-
- def int_x86_avx512_mask_ucmp_b_256:
- Intrinsic<[llvm_i32_ty], [llvm_v32i8_ty, llvm_v32i8_ty, llvm_i32_ty,
- llvm_i32_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_ucmp_w_256:
- Intrinsic<[llvm_i16_ty], [llvm_v16i16_ty, llvm_v16i16_ty, llvm_i32_ty,
- llvm_i16_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_ucmp_d_256:
- Intrinsic<[llvm_i8_ty], [llvm_v8i32_ty, llvm_v8i32_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_ucmp_q_256:
- Intrinsic<[llvm_i8_ty], [llvm_v4i64_ty, llvm_v4i64_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
-
- // 128-bit
- def int_x86_avx512_mask_cmp_b_128:
- Intrinsic<[llvm_i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty,
- llvm_i16_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_cmp_w_128:
- Intrinsic<[llvm_i8_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_cmp_d_128:
- Intrinsic<[llvm_i8_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_cmp_q_128:
- Intrinsic<[llvm_i8_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
-
- def int_x86_avx512_mask_ucmp_b_128:
- Intrinsic<[llvm_i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty,
- llvm_i16_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_ucmp_w_128:
- Intrinsic<[llvm_i8_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_ucmp_d_128:
- Intrinsic<[llvm_i8_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
- def int_x86_avx512_mask_ucmp_q_128:
- Intrinsic<[llvm_i8_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i32_ty,
- llvm_i8_ty], [IntrNoMem]>;
}
// Compress, Expand
diff --git a/include/llvm/IR/Metadata.h b/include/llvm/IR/Metadata.h
index d538c2595393..80ed44be43eb 100644
--- a/include/llvm/IR/Metadata.h
+++ b/include/llvm/IR/Metadata.h
@@ -45,6 +45,8 @@ namespace llvm {
class Module;
class ModuleSlotTracker;
+class raw_ostream;
+class Type;
enum LLVMConstants : uint32_t {
DEBUG_METADATA_VERSION = 3 // Current debug info version number.
@@ -67,8 +69,8 @@ protected:
unsigned char Storage;
// TODO: expose remaining bits to subclasses.
- unsigned short SubclassData16;
- unsigned SubclassData32;
+ unsigned short SubclassData16 = 0;
+ unsigned SubclassData32 = 0;
public:
enum MetadataKind {
@@ -78,7 +80,7 @@ public:
protected:
Metadata(unsigned ID, StorageType Storage)
- : SubclassID(ID), Storage(Storage), SubclassData16(0), SubclassData32(0) {
+ : SubclassID(ID), Storage(Storage) {
static_assert(sizeof(*this) == 8, "Metadata fields poorly packed");
}
@@ -183,6 +185,7 @@ public:
static MetadataAsValue *get(LLVMContext &Context, Metadata *MD);
static MetadataAsValue *getIfExists(LLVMContext &Context, Metadata *MD);
+
Metadata *getMetadata() const { return MD; }
static bool classof(const Value *V) {
@@ -257,7 +260,7 @@ public:
/// \brief Check whether metadata is replaceable.
static bool isReplaceable(const Metadata &MD);
- typedef PointerUnion<MetadataAsValue *, Metadata *> OwnerTy;
+ using OwnerTy = PointerUnion<MetadataAsValue *, Metadata *>;
private:
/// \brief Track a reference to metadata for an owner.
@@ -275,7 +278,7 @@ class ReplaceableMetadataImpl {
friend class MetadataTracking;
public:
- typedef MetadataTracking::OwnerTy OwnerTy;
+ using OwnerTy = MetadataTracking::OwnerTy;
private:
LLVMContext &Context;
@@ -352,17 +355,21 @@ protected:
public:
static ValueAsMetadata *get(Value *V);
+
static ConstantAsMetadata *getConstant(Value *C) {
return cast<ConstantAsMetadata>(get(C));
}
+
static LocalAsMetadata *getLocal(Value *Local) {
return cast<LocalAsMetadata>(get(Local));
}
static ValueAsMetadata *getIfExists(Value *V);
+
static ConstantAsMetadata *getConstantIfExists(Value *C) {
return cast_or_null<ConstantAsMetadata>(getIfExists(C));
}
+
static LocalAsMetadata *getLocalIfExists(Value *Local) {
return cast_or_null<LocalAsMetadata>(getIfExists(Local));
}
@@ -491,8 +498,8 @@ namespace detail {
template <class T> T &make();
template <class T, class Result> struct HasDereference {
- typedef char Yes[1];
- typedef char No[2];
+ using Yes = char[1];
+ using No = char[2];
template <size_t N> struct SFINAE {};
template <class U, class V>
@@ -613,7 +620,7 @@ public:
unsigned getLength() const { return (unsigned)getString().size(); }
- typedef StringRef::iterator iterator;
+ using iterator = StringRef::iterator;
/// \brief Pointer to the first byte of the string.
iterator begin() const { return getString().begin(); }
@@ -730,12 +737,14 @@ private:
};
template <> struct simplify_type<MDOperand> {
- typedef Metadata *SimpleType;
+ using SimpleType = Metadata *;
+
static SimpleType getSimplifiedValue(MDOperand &MD) { return MD.get(); }
};
template <> struct simplify_type<const MDOperand> {
- typedef Metadata *SimpleType;
+ using SimpleType = Metadata *;
+
static SimpleType getSimplifiedValue(const MDOperand &MD) { return MD.get(); }
};
@@ -817,7 +826,7 @@ struct TempMDNodeDeleter {
};
#define HANDLE_MDNODE_LEAF(CLASS) \
- typedef std::unique_ptr<CLASS, TempMDNodeDeleter> Temp##CLASS;
+ using Temp##CLASS = std::unique_ptr<CLASS, TempMDNodeDeleter>;
#define HANDLE_MDNODE_BRANCH(CLASS) HANDLE_MDNODE_LEAF(CLASS)
#include "llvm/IR/Metadata.def"
@@ -847,6 +856,10 @@ class MDNode : public Metadata {
ContextAndReplaceableUses Context;
protected:
+ MDNode(LLVMContext &Context, unsigned ID, StorageType Storage,
+ ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2 = None);
+ ~MDNode() = default;
+
void *operator new(size_t Size, unsigned NumOps);
void operator delete(void *Mem);
@@ -860,16 +873,13 @@ protected:
llvm_unreachable("Constructor throws?");
}
- MDNode(LLVMContext &Context, unsigned ID, StorageType Storage,
- ArrayRef<Metadata *> Ops1, ArrayRef<Metadata *> Ops2 = None);
- ~MDNode() = default;
-
void dropAllReferences();
MDOperand *mutable_begin() { return mutable_end() - NumOperands; }
MDOperand *mutable_end() { return reinterpret_cast<MDOperand *>(this); }
- typedef iterator_range<MDOperand *> mutable_op_range;
+ using mutable_op_range = iterator_range<MDOperand *>;
+
mutable_op_range mutable_operands() {
return mutable_op_range(mutable_begin(), mutable_end());
}
@@ -1028,8 +1038,8 @@ private:
static void dispatchResetHash(NodeTy *, std::false_type) {}
public:
- typedef const MDOperand *op_iterator;
- typedef iterator_range<op_iterator> op_range;
+ using op_iterator = const MDOperand *;
+ using op_range = iterator_range<op_iterator>;
op_iterator op_begin() const {
return const_cast<MDNode *>(this)->mutable_begin();
@@ -1227,13 +1237,14 @@ public:
T *operator[](unsigned I) const { return cast_or_null<T>(N->getOperand(I)); }
// FIXME: Fix callers and remove condition on N.
- typedef TypedMDOperandIterator<T> iterator;
+ using iterator = TypedMDOperandIterator<T>;
+
iterator begin() const { return N ? iterator(N->op_begin()) : iterator(); }
iterator end() const { return N ? iterator(N->op_end()) : iterator(); }
};
#define HANDLE_METADATA(CLASS) \
- typedef MDTupleTypedArrayWrapper<CLASS> CLASS##Array;
+ using CLASS##Array = MDTupleTypedArrayWrapper<CLASS>;
#include "llvm/IR/Metadata.def"
/// Placeholder metadata for operands of distinct MDNodes.
@@ -1304,12 +1315,12 @@ class NamedMDNode : public ilist_node<NamedMDNode> {
template<class T1, class T2>
class op_iterator_impl :
public std::iterator<std::bidirectional_iterator_tag, T2> {
+ friend class NamedMDNode;
+
const NamedMDNode *Node = nullptr;
unsigned Idx = 0;
- op_iterator_impl(const NamedMDNode *N, unsigned i) : Node(N), Idx(i) { }
-
- friend class NamedMDNode;
+ op_iterator_impl(const NamedMDNode *N, unsigned i) : Node(N), Idx(i) {}
public:
op_iterator_impl() = default;
@@ -1371,11 +1382,13 @@ public:
// ---------------------------------------------------------------------------
// Operand Iterator interface...
//
- typedef op_iterator_impl<MDNode *, MDNode> op_iterator;
+ using op_iterator = op_iterator_impl<MDNode *, MDNode>;
+
op_iterator op_begin() { return op_iterator(this, 0); }
op_iterator op_end() { return op_iterator(this, getNumOperands()); }
- typedef op_iterator_impl<const MDNode *, MDNode> const_op_iterator;
+ using const_op_iterator = op_iterator_impl<const MDNode *, MDNode>;
+
const_op_iterator op_begin() const { return const_op_iterator(this, 0); }
const_op_iterator op_end() const { return const_op_iterator(this, getNumOperands()); }
diff --git a/include/llvm/IR/ModuleSummaryIndexYAML.h b/include/llvm/IR/ModuleSummaryIndexYAML.h
index 8950c527cc18..5d7b8b997d37 100644
--- a/include/llvm/IR/ModuleSummaryIndexYAML.h
+++ b/include/llvm/IR/ModuleSummaryIndexYAML.h
@@ -188,7 +188,7 @@ template <> struct MappingTraits<FunctionSummaryYaml> {
LLVM_YAML_IS_STRING_MAP(TypeIdSummary)
LLVM_YAML_IS_SEQUENCE_VECTOR(FunctionSummaryYaml)
-LLVM_YAML_IS_SEQUENCE_VECTOR(std::string)
+LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(std::string)
namespace llvm {
namespace yaml {
diff --git a/include/llvm/IR/Operator.h b/include/llvm/IR/Operator.h
index 6eb5998478c6..c7f4697e93e7 100644
--- a/include/llvm/IR/Operator.h
+++ b/include/llvm/IR/Operator.h
@@ -328,8 +328,15 @@ public:
return I->getType()->isFPOrFPVectorTy() ||
I->getOpcode() == Instruction::FCmp;
}
+
+ static inline bool classof(const ConstantExpr *CE) {
+ return CE->getType()->isFPOrFPVectorTy() ||
+ CE->getOpcode() == Instruction::FCmp;
+ }
+
static inline bool classof(const Value *V) {
- return isa<Instruction>(V) && classof(cast<Instruction>(V));
+ return (isa<Instruction>(V) && classof(cast<Instruction>(V))) ||
+ (isa<ConstantExpr>(V) && classof(cast<ConstantExpr>(V)));
}
};
diff --git a/include/llvm/IR/PatternMatch.h b/include/llvm/IR/PatternMatch.h
index 015a17e8e7ca..9e9c8ac75d2a 100644
--- a/include/llvm/IR/PatternMatch.h
+++ b/include/llvm/IR/PatternMatch.h
@@ -167,10 +167,8 @@ inline match_combine_or<match_zero, match_neg_zero> m_AnyZero() {
struct match_nan {
template <typename ITy> bool match(ITy *V) {
- if (const auto *C = dyn_cast<ConstantFP>(V)) {
- const APFloat &APF = C->getValueAPF();
- return APF.isNaN();
- }
+ if (const auto *C = dyn_cast<ConstantFP>(V))
+ return C->isNaN();
return false;
}
};
@@ -419,7 +417,8 @@ inline bind_const_intval_ty m_ConstantInt(uint64_t &V) { return V; }
//===----------------------------------------------------------------------===//
// Matcher for any binary operator.
//
-template <typename LHS_t, typename RHS_t> struct AnyBinaryOp_match {
+template <typename LHS_t, typename RHS_t, bool Commutable = false>
+struct AnyBinaryOp_match {
LHS_t L;
RHS_t R;
@@ -427,7 +426,9 @@ template <typename LHS_t, typename RHS_t> struct AnyBinaryOp_match {
template <typename OpTy> bool match(OpTy *V) {
if (auto *I = dyn_cast<BinaryOperator>(V))
- return L.match(I->getOperand(0)) && R.match(I->getOperand(1));
+ return (L.match(I->getOperand(0)) && R.match(I->getOperand(1))) ||
+ (Commutable && R.match(I->getOperand(0)) &&
+ L.match(I->getOperand(1)));
return false;
}
};
@@ -441,7 +442,8 @@ inline AnyBinaryOp_match<LHS, RHS> m_BinOp(const LHS &L, const RHS &R) {
// Matchers for specific binary operators.
//
-template <typename LHS_t, typename RHS_t, unsigned Opcode>
+template <typename LHS_t, typename RHS_t, unsigned Opcode,
+ bool Commutable = false>
struct BinaryOp_match {
LHS_t L;
RHS_t R;
@@ -451,11 +453,15 @@ struct BinaryOp_match {
template <typename OpTy> bool match(OpTy *V) {
if (V->getValueID() == Value::InstructionVal + Opcode) {
auto *I = cast<BinaryOperator>(V);
- return L.match(I->getOperand(0)) && R.match(I->getOperand(1));
+ return (L.match(I->getOperand(0)) && R.match(I->getOperand(1))) ||
+ (Commutable && R.match(I->getOperand(0)) &&
+ L.match(I->getOperand(1)));
}
if (auto *CE = dyn_cast<ConstantExpr>(V))
- return CE->getOpcode() == Opcode && L.match(CE->getOperand(0)) &&
- R.match(CE->getOperand(1));
+ return CE->getOpcode() == Opcode &&
+ ((L.match(CE->getOperand(0)) && R.match(CE->getOperand(1))) ||
+ (Commutable && R.match(CE->getOperand(0)) &&
+ L.match(CE->getOperand(1))));
return false;
}
};
@@ -660,47 +666,87 @@ m_NUWShl(const LHS &L, const RHS &R) {
}
//===----------------------------------------------------------------------===//
-// Class that matches two different binary ops.
+// Class that matches a group of binary opcodes.
//
-template <typename LHS_t, typename RHS_t, unsigned Opc1, unsigned Opc2>
-struct BinOp2_match {
+template <typename LHS_t, typename RHS_t, typename Predicate>
+struct BinOpPred_match : Predicate {
LHS_t L;
RHS_t R;
- BinOp2_match(const LHS_t &LHS, const RHS_t &RHS) : L(LHS), R(RHS) {}
+ BinOpPred_match(const LHS_t &LHS, const RHS_t &RHS) : L(LHS), R(RHS) {}
template <typename OpTy> bool match(OpTy *V) {
- if (V->getValueID() == Value::InstructionVal + Opc1 ||
- V->getValueID() == Value::InstructionVal + Opc2) {
- auto *I = cast<BinaryOperator>(V);
- return L.match(I->getOperand(0)) && R.match(I->getOperand(1));
- }
+ if (auto *I = dyn_cast<Instruction>(V))
+ return this->isOpType(I->getOpcode()) && L.match(I->getOperand(0)) &&
+ R.match(I->getOperand(1));
if (auto *CE = dyn_cast<ConstantExpr>(V))
- return (CE->getOpcode() == Opc1 || CE->getOpcode() == Opc2) &&
- L.match(CE->getOperand(0)) && R.match(CE->getOperand(1));
+ return this->isOpType(CE->getOpcode()) && L.match(CE->getOperand(0)) &&
+ R.match(CE->getOperand(1));
return false;
}
};
-/// \brief Matches LShr or AShr.
+struct is_shift_op {
+ bool isOpType(unsigned Opcode) { return Instruction::isShift(Opcode); }
+};
+
+struct is_right_shift_op {
+ bool isOpType(unsigned Opcode) {
+ return Opcode == Instruction::LShr || Opcode == Instruction::AShr;
+ }
+};
+
+struct is_logical_shift_op {
+ bool isOpType(unsigned Opcode) {
+ return Opcode == Instruction::LShr || Opcode == Instruction::Shl;
+ }
+};
+
+struct is_bitwiselogic_op {
+ bool isOpType(unsigned Opcode) {
+ return Instruction::isBitwiseLogicOp(Opcode);
+ }
+};
+
+struct is_idiv_op {
+ bool isOpType(unsigned Opcode) {
+ return Opcode == Instruction::SDiv || Opcode == Instruction::UDiv;
+ }
+};
+
+/// \brief Matches shift operations.
template <typename LHS, typename RHS>
-inline BinOp2_match<LHS, RHS, Instruction::LShr, Instruction::AShr>
-m_Shr(const LHS &L, const RHS &R) {
- return BinOp2_match<LHS, RHS, Instruction::LShr, Instruction::AShr>(L, R);
+inline BinOpPred_match<LHS, RHS, is_shift_op> m_Shift(const LHS &L,
+ const RHS &R) {
+ return BinOpPred_match<LHS, RHS, is_shift_op>(L, R);
}
-/// \brief Matches LShr or Shl.
+/// \brief Matches logical shift operations.
template <typename LHS, typename RHS>
-inline BinOp2_match<LHS, RHS, Instruction::LShr, Instruction::Shl>
+inline BinOpPred_match<LHS, RHS, is_right_shift_op> m_Shr(const LHS &L,
+ const RHS &R) {
+ return BinOpPred_match<LHS, RHS, is_right_shift_op>(L, R);
+}
+
+/// \brief Matches logical shift operations.
+template <typename LHS, typename RHS>
+inline BinOpPred_match<LHS, RHS, is_logical_shift_op>
m_LogicalShift(const LHS &L, const RHS &R) {
- return BinOp2_match<LHS, RHS, Instruction::LShr, Instruction::Shl>(L, R);
+ return BinOpPred_match<LHS, RHS, is_logical_shift_op>(L, R);
}
-/// \brief Matches UDiv and SDiv.
+/// \brief Matches bitwise logic operations.
template <typename LHS, typename RHS>
-inline BinOp2_match<LHS, RHS, Instruction::SDiv, Instruction::UDiv>
-m_IDiv(const LHS &L, const RHS &R) {
- return BinOp2_match<LHS, RHS, Instruction::SDiv, Instruction::UDiv>(L, R);
+inline BinOpPred_match<LHS, RHS, is_bitwiselogic_op>
+m_BitwiseLogic(const LHS &L, const RHS &R) {
+ return BinOpPred_match<LHS, RHS, is_bitwiselogic_op>(L, R);
+}
+
+/// \brief Matches integer division operations.
+template <typename LHS, typename RHS>
+inline BinOpPred_match<LHS, RHS, is_idiv_op> m_IDiv(const LHS &L,
+ const RHS &R) {
+ return BinOpPred_match<LHS, RHS, is_idiv_op>(L, R);
}
//===----------------------------------------------------------------------===//
@@ -726,7 +772,8 @@ template <typename T> inline Exact_match<T> m_Exact(const T &SubPattern) {
// Matchers for CmpInst classes
//
-template <typename LHS_t, typename RHS_t, typename Class, typename PredicateTy>
+template <typename LHS_t, typename RHS_t, typename Class, typename PredicateTy,
+ bool Commutable = false>
struct CmpClass_match {
PredicateTy &Predicate;
LHS_t L;
@@ -737,7 +784,9 @@ struct CmpClass_match {
template <typename OpTy> bool match(OpTy *V) {
if (auto *I = dyn_cast<Class>(V))
- if (L.match(I->getOperand(0)) && R.match(I->getOperand(1))) {
+ if ((L.match(I->getOperand(0)) && R.match(I->getOperand(1))) ||
+ (Commutable && R.match(I->getOperand(0)) &&
+ L.match(I->getOperand(1)))) {
Predicate = I->getPredicate();
return true;
}
@@ -897,10 +946,7 @@ template <typename LHS_t> struct not_match {
private:
bool isAllOnes(Value *V) {
- return (isa<ConstantInt>(V) || isa<ConstantDataVector>(V) ||
- // FIXME: Remove CV.
- isa<ConstantVector>(V)) &&
- cast<Constant>(V)->isAllOnesValue();
+ return isa<Constant>(V) && cast<Constant>(V)->isAllOnesValue();
}
};
@@ -1002,7 +1048,8 @@ inline brc_match<Cond_t> m_Br(const Cond_t &C, BasicBlock *&T, BasicBlock *&F) {
// Matchers for max/min idioms, eg: "select (sgt x, y), x, y" -> smax(x,y).
//
-template <typename CmpInst_t, typename LHS_t, typename RHS_t, typename Pred_t>
+template <typename CmpInst_t, typename LHS_t, typename RHS_t, typename Pred_t,
+ bool Commutable = false>
struct MaxMin_match {
LHS_t L;
RHS_t R;
@@ -1032,7 +1079,8 @@ struct MaxMin_match {
if (!Pred_t::match(Pred))
return false;
// It does! Bind the operands.
- return L.match(LHS) && R.match(RHS);
+ return (L.match(LHS) && R.match(RHS)) ||
+ (Commutable && R.match(LHS) && L.match(RHS));
}
};
@@ -1376,89 +1424,78 @@ template <typename Val_t> inline Signum_match<Val_t> m_Signum(const Val_t &V) {
//
/// \brief Matches a BinaryOperator with LHS and RHS in either order.
-template<typename LHS, typename RHS>
-inline match_combine_or<AnyBinaryOp_match<LHS, RHS>,
- AnyBinaryOp_match<RHS, LHS>>
-m_c_BinOp(const LHS &L, const RHS &R) {
- return m_CombineOr(m_BinOp(L, R), m_BinOp(R, L));
+template <typename LHS, typename RHS>
+inline AnyBinaryOp_match<LHS, RHS, true> m_c_BinOp(const LHS &L, const RHS &R) {
+ return AnyBinaryOp_match<LHS, RHS, true>(L, R);
}
/// \brief Matches an ICmp with a predicate over LHS and RHS in either order.
/// Does not swap the predicate.
-template<typename LHS, typename RHS>
-inline match_combine_or<CmpClass_match<LHS, RHS, ICmpInst, ICmpInst::Predicate>,
- CmpClass_match<RHS, LHS, ICmpInst, ICmpInst::Predicate>>
+template <typename LHS, typename RHS>
+inline CmpClass_match<LHS, RHS, ICmpInst, ICmpInst::Predicate, true>
m_c_ICmp(ICmpInst::Predicate &Pred, const LHS &L, const RHS &R) {
- return m_CombineOr(m_ICmp(Pred, L, R), m_ICmp(Pred, R, L));
+ return CmpClass_match<LHS, RHS, ICmpInst, ICmpInst::Predicate, true>(Pred, L,
+ R);
}
/// \brief Matches a Add with LHS and RHS in either order.
-template<typename LHS, typename RHS>
-inline match_combine_or<BinaryOp_match<LHS, RHS, Instruction::Add>,
- BinaryOp_match<RHS, LHS, Instruction::Add>>
-m_c_Add(const LHS &L, const RHS &R) {
- return m_CombineOr(m_Add(L, R), m_Add(R, L));
+template <typename LHS, typename RHS>
+inline BinaryOp_match<LHS, RHS, Instruction::Add, true> m_c_Add(const LHS &L,
+ const RHS &R) {
+ return BinaryOp_match<LHS, RHS, Instruction::Add, true>(L, R);
}
/// \brief Matches a Mul with LHS and RHS in either order.
-template<typename LHS, typename RHS>
-inline match_combine_or<BinaryOp_match<LHS, RHS, Instruction::Mul>,
- BinaryOp_match<RHS, LHS, Instruction::Mul>>
-m_c_Mul(const LHS &L, const RHS &R) {
- return m_CombineOr(m_Mul(L, R), m_Mul(R, L));
+template <typename LHS, typename RHS>
+inline BinaryOp_match<LHS, RHS, Instruction::Mul, true> m_c_Mul(const LHS &L,
+ const RHS &R) {
+ return BinaryOp_match<LHS, RHS, Instruction::Mul, true>(L, R);
}
/// \brief Matches an And with LHS and RHS in either order.
-template<typename LHS, typename RHS>
-inline match_combine_or<BinaryOp_match<LHS, RHS, Instruction::And>,
- BinaryOp_match<RHS, LHS, Instruction::And>>
-m_c_And(const LHS &L, const RHS &R) {
- return m_CombineOr(m_And(L, R), m_And(R, L));
+template <typename LHS, typename RHS>
+inline BinaryOp_match<LHS, RHS, Instruction::And, true> m_c_And(const LHS &L,
+ const RHS &R) {
+ return BinaryOp_match<LHS, RHS, Instruction::And, true>(L, R);
}
/// \brief Matches an Or with LHS and RHS in either order.
-template<typename LHS, typename RHS>
-inline match_combine_or<BinaryOp_match<LHS, RHS, Instruction::Or>,
- BinaryOp_match<RHS, LHS, Instruction::Or>>
-m_c_Or(const LHS &L, const RHS &R) {
- return m_CombineOr(m_Or(L, R), m_Or(R, L));
+template <typename LHS, typename RHS>
+inline BinaryOp_match<LHS, RHS, Instruction::Or, true> m_c_Or(const LHS &L,
+ const RHS &R) {
+ return BinaryOp_match<LHS, RHS, Instruction::Or, true>(L, R);
}
/// \brief Matches an Xor with LHS and RHS in either order.
-template<typename LHS, typename RHS>
-inline match_combine_or<BinaryOp_match<LHS, RHS, Instruction::Xor>,
- BinaryOp_match<RHS, LHS, Instruction::Xor>>
-m_c_Xor(const LHS &L, const RHS &R) {
- return m_CombineOr(m_Xor(L, R), m_Xor(R, L));
+template <typename LHS, typename RHS>
+inline BinaryOp_match<LHS, RHS, Instruction::Xor, true> m_c_Xor(const LHS &L,
+ const RHS &R) {
+ return BinaryOp_match<LHS, RHS, Instruction::Xor, true>(L, R);
}
/// Matches an SMin with LHS and RHS in either order.
template <typename LHS, typename RHS>
-inline match_combine_or<MaxMin_match<ICmpInst, LHS, RHS, smin_pred_ty>,
- MaxMin_match<ICmpInst, RHS, LHS, smin_pred_ty>>
+inline MaxMin_match<ICmpInst, LHS, RHS, smin_pred_ty, true>
m_c_SMin(const LHS &L, const RHS &R) {
- return m_CombineOr(m_SMin(L, R), m_SMin(R, L));
+ return MaxMin_match<ICmpInst, LHS, RHS, smin_pred_ty, true>(L, R);
}
/// Matches an SMax with LHS and RHS in either order.
template <typename LHS, typename RHS>
-inline match_combine_or<MaxMin_match<ICmpInst, LHS, RHS, smax_pred_ty>,
- MaxMin_match<ICmpInst, RHS, LHS, smax_pred_ty>>
+inline MaxMin_match<ICmpInst, LHS, RHS, smax_pred_ty, true>
m_c_SMax(const LHS &L, const RHS &R) {
- return m_CombineOr(m_SMax(L, R), m_SMax(R, L));
+ return MaxMin_match<ICmpInst, LHS, RHS, smax_pred_ty, true>(L, R);
}
/// Matches a UMin with LHS and RHS in either order.
template <typename LHS, typename RHS>
-inline match_combine_or<MaxMin_match<ICmpInst, LHS, RHS, umin_pred_ty>,
- MaxMin_match<ICmpInst, RHS, LHS, umin_pred_ty>>
+inline MaxMin_match<ICmpInst, LHS, RHS, umin_pred_ty, true>
m_c_UMin(const LHS &L, const RHS &R) {
- return m_CombineOr(m_UMin(L, R), m_UMin(R, L));
+ return MaxMin_match<ICmpInst, LHS, RHS, umin_pred_ty, true>(L, R);
}
/// Matches a UMax with LHS and RHS in either order.
template <typename LHS, typename RHS>
-inline match_combine_or<MaxMin_match<ICmpInst, LHS, RHS, umax_pred_ty>,
- MaxMin_match<ICmpInst, RHS, LHS, umax_pred_ty>>
+inline MaxMin_match<ICmpInst, LHS, RHS, umax_pred_ty, true>
m_c_UMax(const LHS &L, const RHS &R) {
- return m_CombineOr(m_UMax(L, R), m_UMax(R, L));
+ return MaxMin_match<ICmpInst, LHS, RHS, umax_pred_ty, true>(L, R);
}
} // end namespace PatternMatch
diff --git a/include/llvm/IR/Statepoint.h b/include/llvm/IR/Statepoint.h
index 265e7eb348bf..630f30667272 100644
--- a/include/llvm/IR/Statepoint.h
+++ b/include/llvm/IR/Statepoint.h
@@ -62,7 +62,10 @@ bool isStatepoint(const Value *V);
bool isStatepoint(const Value &V);
bool isGCRelocate(ImmutableCallSite CS);
+bool isGCRelocate(const Value *V);
+
bool isGCResult(ImmutableCallSite CS);
+bool isGCResult(const Value *V);
/// Analogous to CallSiteBase, this provides most of the actual
/// functionality for Statepoint and ImmutableStatepoint. It is
diff --git a/include/llvm/IR/Value.h b/include/llvm/IR/Value.h
index ccd40e576584..9e4914973edf 100644
--- a/include/llvm/IR/Value.h
+++ b/include/llvm/IR/Value.h
@@ -49,8 +49,9 @@ template<typename ValueTy> class StringMapEntry;
class StringRef;
class Twine;
class Type;
+class User;
-using ValueName = StringMapEntry<Value*>;
+using ValueName = StringMapEntry<Value *>;
//===----------------------------------------------------------------------===//
// Value Class
@@ -212,7 +213,7 @@ protected:
public:
Value(const Value &) = delete;
- void operator=(const Value &) = delete;
+ Value &operator=(const Value &) = delete;
/// Delete a pointer to a generic Value.
void deleteValue();
@@ -660,7 +661,7 @@ struct ValueDeleter { void operator()(Value *V) { V->deleteValue(); } };
/// Use this instead of std::unique_ptr<Value> or std::unique_ptr<Instruction>.
/// Those don't work because Value and Instruction's destructors are protected,
/// aren't virtual, and won't destroy the complete object.
-typedef std::unique_ptr<Value, ValueDeleter> unique_value;
+using unique_value = std::unique_ptr<Value, ValueDeleter>;
inline raw_ostream &operator<<(raw_ostream &OS, const Value &V) {
V.print(OS);
diff --git a/include/llvm/InitializePasses.h b/include/llvm/InitializePasses.h
index abb0aa3e3caf..a52fa3b542a5 100644
--- a/include/llvm/InitializePasses.h
+++ b/include/llvm/InitializePasses.h
@@ -192,7 +192,6 @@ void initializeLiveRangeShrinkPass(PassRegistry&);
void initializeLiveRegMatrixPass(PassRegistry&);
void initializeLiveStacksPass(PassRegistry&);
void initializeLiveVariablesPass(PassRegistry&);
-void initializeLoadCombinePass(PassRegistry&);
void initializeLoadStoreVectorizerPass(PassRegistry&);
void initializeLoaderPassPass(PassRegistry&);
void initializeLocalStackSlotPassPass(PassRegistry&);
diff --git a/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h b/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
index f9545333aabd..14f0c48266f0 100644
--- a/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
+++ b/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
@@ -177,7 +177,7 @@ public:
*/
void setMaxCacheSizeRelativeToAvailableSpace(unsigned Percentage) {
if (Percentage)
- CacheOptions.Policy.PercentageOfAvailableSpace = Percentage;
+ CacheOptions.Policy.MaxSizePercentageOfAvailableSpace = Percentage;
}
/**@}*/
diff --git a/include/llvm/MC/MCAsmBackend.h b/include/llvm/MC/MCAsmBackend.h
index fb21e195b1df..a270973204f2 100644
--- a/include/llvm/MC/MCAsmBackend.h
+++ b/include/llvm/MC/MCAsmBackend.h
@@ -63,19 +63,16 @@ public:
/// Target hook to adjust the literal value of a fixup if necessary.
/// IsResolved signals whether the caller believes a relocation is needed; the
/// target can modify the value. The default does nothing.
- virtual void processFixupValue(const MCAssembler &Asm,
- const MCAsmLayout &Layout,
- const MCFixup &Fixup, const MCFragment *DF,
- const MCValue &Target, uint64_t &Value,
- bool &IsResolved) {}
+ virtual void processFixupValue(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, bool &IsResolved) {}
/// Apply the \p Value for given \p Fixup into the provided data fragment, at
/// the offset specified by the fixup and following the fixup kind as
/// appropriate. Errors (such as an out of range fixup value) should be
/// reported via \p Ctx.
- virtual void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel,
- MCContext &Ctx) const = 0;
+ virtual void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const = 0;
/// @}
diff --git a/include/llvm/MC/MCAssembler.h b/include/llvm/MC/MCAssembler.h
index 63f7057a7076..4f1b5a8b3d72 100644
--- a/include/llvm/MC/MCAssembler.h
+++ b/include/llvm/MC/MCAssembler.h
@@ -195,8 +195,8 @@ private:
/// finishLayout - Finalize a layout, including fragment lowering.
void finishLayout(MCAsmLayout &Layout);
- std::pair<uint64_t, bool> handleFixup(const MCAsmLayout &Layout,
- MCFragment &F, const MCFixup &Fixup);
+ std::tuple<MCValue, uint64_t, bool>
+ handleFixup(const MCAsmLayout &Layout, MCFragment &F, const MCFixup &Fixup);
public:
/// Construct a new assembler instance.
@@ -413,7 +413,7 @@ public:
/// @}
- void dump();
+ void dump() const;
};
/// \brief Compute the amount of padding required before the fragment \p F to
diff --git a/include/llvm/MC/MCFragment.h b/include/llvm/MC/MCFragment.h
index 0aca922e3cf5..284ca50e19d5 100644
--- a/include/llvm/MC/MCFragment.h
+++ b/include/llvm/MC/MCFragment.h
@@ -130,7 +130,7 @@ public:
/// \brief Return true if given frgment has FT_Dummy type.
bool isDummy() const { return Kind == FT_Dummy; }
- void dump();
+ void dump() const;
};
class MCDummyFragment : public MCFragment {
diff --git a/include/llvm/MC/MCSection.h b/include/llvm/MC/MCSection.h
index cc306d47250d..2771b1e67eab 100644
--- a/include/llvm/MC/MCSection.h
+++ b/include/llvm/MC/MCSection.h
@@ -167,7 +167,7 @@ public:
MCSection::iterator getSubsectionInsertionPoint(unsigned Subsection);
- void dump();
+ void dump() const;
virtual void PrintSwitchToSection(const MCAsmInfo &MAI, const Triple &T,
raw_ostream &OS,
diff --git a/include/llvm/MC/MCSymbolWasm.h b/include/llvm/MC/MCSymbolWasm.h
index 1b87095552d6..7ea89629efda 100644
--- a/include/llvm/MC/MCSymbolWasm.h
+++ b/include/llvm/MC/MCSymbolWasm.h
@@ -17,6 +17,7 @@ namespace llvm {
class MCSymbolWasm : public MCSymbol {
private:
bool IsFunction = false;
+ bool IsWeak = false;
std::string ModuleName;
SmallVector<wasm::ValType, 1> Returns;
SmallVector<wasm::ValType, 4> Params;
@@ -39,6 +40,9 @@ public:
bool isFunction() const { return IsFunction; }
void setIsFunction(bool isFunc) { IsFunction = isFunc; }
+ bool isWeak() const { return IsWeak; }
+ void setWeak(bool isWeak) { IsWeak = isWeak; }
+
const StringRef getModuleName() const { return ModuleName; }
const SmallVector<wasm::ValType, 1> &getReturns() const { return Returns; }
diff --git a/include/llvm/MC/MCValue.h b/include/llvm/MC/MCValue.h
index ead08fd90ca0..aa1eaf022c55 100644
--- a/include/llvm/MC/MCValue.h
+++ b/include/llvm/MC/MCValue.h
@@ -42,7 +42,7 @@ class MCValue {
int64_t Cst;
uint32_t RefKind;
public:
-
+ MCValue() : SymA(nullptr), SymB(nullptr), Cst(0), RefKind(0) {}
int64_t getConstant() const { return Cst; }
const MCSymbolRefExpr *getSymA() const { return SymA; }
const MCSymbolRefExpr *getSymB() const { return SymB; }
diff --git a/include/llvm/MC/MCWinCOFFObjectWriter.h b/include/llvm/MC/MCWinCOFFObjectWriter.h
index 57bed213aad4..6e14cefaa0ab 100644
--- a/include/llvm/MC/MCWinCOFFObjectWriter.h
+++ b/include/llvm/MC/MCWinCOFFObjectWriter.h
@@ -30,8 +30,8 @@ class raw_pwrite_stream;
virtual ~MCWinCOFFObjectTargetWriter() = default;
unsigned getMachine() const { return Machine; }
- virtual unsigned getRelocType(const MCValue &Target, const MCFixup &Fixup,
- bool IsCrossSection,
+ virtual unsigned getRelocType(MCContext &Ctx, const MCValue &Target,
+ const MCFixup &Fixup, bool IsCrossSection,
const MCAsmBackend &MAB) const = 0;
virtual bool recordRelocation(const MCFixup &) const { return true; }
};
diff --git a/include/llvm/Object/COFF.h b/include/llvm/Object/COFF.h
index ae695a529597..bf0172822d3f 100644
--- a/include/llvm/Object/COFF.h
+++ b/include/llvm/Object/COFF.h
@@ -562,8 +562,26 @@ struct coff_tls_directory {
using coff_tls_directory32 = coff_tls_directory<support::little32_t>;
using coff_tls_directory64 = coff_tls_directory<support::little64_t>;
+/// Bits in control flow guard flags as we understand them.
+enum class coff_guard_flags : uint32_t {
+ CFInstrumented = 0x00000100,
+ HasFidTable = 0x00000400,
+ ProtectDelayLoadIAT = 0x00001000,
+ DelayLoadIATSection = 0x00002000, // Delay load in separate section
+ HasLongJmpTable = 0x00010000,
+ FidTableHasFlags = 0x10000000, // Indicates that fid tables are 5 bytes
+};
+
+struct coff_load_config_code_integrity {
+ support::ulittle16_t Flags;
+ support::ulittle16_t Catalog;
+ support::ulittle32_t CatalogOffset;
+ support::ulittle32_t Reserved;
+};
+
+/// 32-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY32)
struct coff_load_configuration32 {
- support::ulittle32_t Characteristics;
+ support::ulittle32_t Size;
support::ulittle32_t TimeDateStamp;
support::ulittle16_t MajorVersion;
support::ulittle16_t MinorVersion;
@@ -578,34 +596,81 @@ struct coff_load_configuration32 {
support::ulittle32_t ProcessAffinityMask;
support::ulittle32_t ProcessHeapFlags;
support::ulittle16_t CSDVersion;
- support::ulittle16_t Reserved;
+ support::ulittle16_t DependentLoadFlags;
support::ulittle32_t EditList;
support::ulittle32_t SecurityCookie;
support::ulittle32_t SEHandlerTable;
support::ulittle32_t SEHandlerCount;
+
+ // Added in MSVC 2015 for /guard:cf.
+ support::ulittle32_t GuardCFCheckFunction;
+ support::ulittle32_t GuardCFCheckDispatch;
+ support::ulittle32_t GuardCFFunctionTable;
+ support::ulittle32_t GuardCFFunctionCount;
+ support::ulittle32_t GuardFlags; // coff_guard_flags
+
+ // Added in MSVC 2017
+ coff_load_config_code_integrity CodeIntegrity;
+ support::ulittle32_t GuardAddressTakenIatEntryTable;
+ support::ulittle32_t GuardAddressTakenIatEntryCount;
+ support::ulittle32_t GuardLongJumpTargetTable;
+ support::ulittle32_t GuardLongJumpTargetCount;
+ support::ulittle32_t DynamicValueRelocTable;
+ support::ulittle32_t CHPEMetadataPointer;
+ support::ulittle32_t GuardRFFailureRoutine;
+ support::ulittle32_t GuardRFFailureRoutineFunctionPointer;
+ support::ulittle32_t DynamicValueRelocTableOffset;
+ support::ulittle16_t DynamicValueRelocTableSection;
+ support::ulittle16_t Reserved2;
+ support::ulittle32_t GuardRFVerifyStackPointerFunctionPointer;
+ support::ulittle32_t HotPatchTableOffset;
};
+/// 64-bit load config (IMAGE_LOAD_CONFIG_DIRECTORY64)
struct coff_load_configuration64 {
- support::ulittle32_t Characteristics;
+ support::ulittle32_t Size;
support::ulittle32_t TimeDateStamp;
support::ulittle16_t MajorVersion;
support::ulittle16_t MinorVersion;
support::ulittle32_t GlobalFlagsClear;
support::ulittle32_t GlobalFlagsSet;
support::ulittle32_t CriticalSectionDefaultTimeout;
- support::ulittle32_t DeCommitFreeBlockThreshold;
- support::ulittle32_t DeCommitTotalFreeThreshold;
- support::ulittle32_t LockPrefixTable;
- support::ulittle32_t MaximumAllocationSize;
- support::ulittle32_t VirtualMemoryThreshold;
- support::ulittle32_t ProcessAffinityMask;
+ support::ulittle64_t DeCommitFreeBlockThreshold;
+ support::ulittle64_t DeCommitTotalFreeThreshold;
+ support::ulittle64_t LockPrefixTable;
+ support::ulittle64_t MaximumAllocationSize;
+ support::ulittle64_t VirtualMemoryThreshold;
+ support::ulittle64_t ProcessAffinityMask;
support::ulittle32_t ProcessHeapFlags;
support::ulittle16_t CSDVersion;
- support::ulittle16_t Reserved;
- support::ulittle32_t EditList;
+ support::ulittle16_t DependentLoadFlags;
+ support::ulittle64_t EditList;
support::ulittle64_t SecurityCookie;
support::ulittle64_t SEHandlerTable;
support::ulittle64_t SEHandlerCount;
+
+ // Added in MSVC 2015 for /guard:cf.
+ support::ulittle64_t GuardCFCheckFunction;
+ support::ulittle64_t GuardCFCheckDispatch;
+ support::ulittle64_t GuardCFFunctionTable;
+ support::ulittle64_t GuardCFFunctionCount;
+ support::ulittle32_t GuardFlags;
+
+ // Added in MSVC 2017
+ coff_load_config_code_integrity CodeIntegrity;
+ support::ulittle64_t GuardAddressTakenIatEntryTable;
+ support::ulittle64_t GuardAddressTakenIatEntryCount;
+ support::ulittle64_t GuardLongJumpTargetTable;
+ support::ulittle64_t GuardLongJumpTargetCount;
+ support::ulittle64_t DynamicValueRelocTable;
+ support::ulittle64_t CHPEMetadataPointer;
+ support::ulittle64_t GuardRFFailureRoutine;
+ support::ulittle64_t GuardRFFailureRoutineFunctionPointer;
+ support::ulittle32_t DynamicValueRelocTableOffset;
+ support::ulittle16_t DynamicValueRelocTableSection;
+ support::ulittle16_t Reserved2;
+ support::ulittle64_t GuardRFVerifyStackPointerFunctionPointer;
+ support::ulittle32_t HotPatchTableOffset;
};
struct coff_runtime_function_x64 {
@@ -684,6 +749,8 @@ private:
const coff_base_reloc_block_header *BaseRelocEnd;
const debug_directory *DebugDirectoryBegin;
const debug_directory *DebugDirectoryEnd;
+ // Either coff_load_configuration32 or coff_load_configuration64.
+ const void *LoadConfig;
std::error_code getString(uint32_t offset, StringRef &Res) const;
@@ -698,6 +765,7 @@ private:
std::error_code initExportTablePtr();
std::error_code initBaseRelocPtr();
std::error_code initDebugDirectoryPtr();
+ std::error_code initLoadConfigPtr();
public:
uintptr_t getSymbolTable() const {
@@ -775,6 +843,16 @@ public:
return getRawNumberOfSymbols();
}
+ const coff_load_configuration32 *getLoadConfig32() const {
+ assert(!is64());
+ return reinterpret_cast<const coff_load_configuration32 *>(LoadConfig);
+ }
+
+ const coff_load_configuration64 *getLoadConfig64() const {
+ assert(is64());
+ return reinterpret_cast<const coff_load_configuration64 *>(LoadConfig);
+ }
+
protected:
void moveSymbolNext(DataRefImpl &Symb) const override;
Expected<StringRef> getSymbolName(DataRefImpl Symb) const override;
diff --git a/include/llvm/Object/IRSymtab.h b/include/llvm/Object/IRSymtab.h
index 5b832141a865..502f133d307d 100644
--- a/include/llvm/Object/IRSymtab.h
+++ b/include/llvm/Object/IRSymtab.h
@@ -38,6 +38,7 @@
namespace llvm {
struct BitcodeFileContents;
+class StringTableBuilder;
namespace irsymtab {
@@ -136,9 +137,10 @@ struct Header {
} // end namespace storage
-/// Fills in Symtab and Strtab with a valid symbol and string table for Mods.
+/// Fills in Symtab and StrtabBuilder with a valid symbol and string table for
+/// Mods.
Error build(ArrayRef<Module *> Mods, SmallVector<char, 0> &Symtab,
- SmallVector<char, 0> &Strtab);
+ StringTableBuilder &StrtabBuilder, BumpPtrAllocator &Alloc);
/// This represents a symbol that has been read from a storage::Symbol and
/// possibly a storage::Uncommon.
diff --git a/include/llvm/Object/MachO.h b/include/llvm/Object/MachO.h
index 3fc726f4ccb8..2c3c89d10546 100644
--- a/include/llvm/Object/MachO.h
+++ b/include/llvm/Object/MachO.h
@@ -304,6 +304,12 @@ public:
relocation_iterator section_rel_begin(DataRefImpl Sec) const override;
relocation_iterator section_rel_end(DataRefImpl Sec) const override;
+ relocation_iterator extrel_begin() const;
+ relocation_iterator extrel_end() const;
+ iterator_range<relocation_iterator> external_relocations() const {
+ return make_range(extrel_begin(), extrel_end());
+ }
+
void moveRelocationNext(DataRefImpl &Rel) const override;
uint64_t getRelocationOffset(DataRefImpl Rel) const override;
symbol_iterator getRelocationSymbol(DataRefImpl Rel) const override;
diff --git a/include/llvm/Object/Wasm.h b/include/llvm/Object/Wasm.h
index 10edc461b9e9..9d53131234f4 100644
--- a/include/llvm/Object/Wasm.h
+++ b/include/llvm/Object/Wasm.h
@@ -19,6 +19,7 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/StringMap.h"
#include "llvm/BinaryFormat/Wasm.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/ObjectFile.h"
@@ -48,7 +49,24 @@ public:
StringRef Name;
SymbolType Type;
uint32_t Section;
+ uint32_t Flags = 0;
+
+ // Index into the imports, exports or functions array of the object depending
+ // on the type
uint32_t ElementIndex;
+
+ bool isWeak() const {
+ return Flags & wasm::WASM_SYMBOL_FLAG_WEAK;
+ }
+
+ void print(raw_ostream &Out) const {
+ Out << "Name=" << Name << ", Type=" << static_cast<int>(Type)
+ << ", Flags=" << Flags;
+ }
+
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+ LLVM_DUMP_METHOD void dump() const { print(dbgs()); }
+#endif
};
class WasmSection {
@@ -63,6 +81,7 @@ public:
};
class WasmObjectFile : public ObjectFile {
+
public:
WasmObjectFile(MemoryBufferRef Object, Error &Err);
@@ -176,6 +195,7 @@ private:
// Custom section types
Error parseNameSection(const uint8_t *Ptr, const uint8_t *End);
+ Error parseLinkingSection(const uint8_t *Ptr, const uint8_t *End);
Error parseRelocSection(StringRef Name, const uint8_t *Ptr,
const uint8_t *End);
@@ -190,13 +210,22 @@ private:
std::vector<wasm::WasmExport> Exports;
std::vector<wasm::WasmElemSegment> ElemSegments;
std::vector<wasm::WasmDataSegment> DataSegments;
- std::vector<WasmSymbol> Symbols;
std::vector<wasm::WasmFunction> Functions;
+ std::vector<WasmSymbol> Symbols;
ArrayRef<uint8_t> CodeSection;
uint32_t StartFunction = -1;
+
+ StringMap<uint32_t> SymbolMap;
};
} // end namespace object
+
+inline raw_ostream &operator<<(raw_ostream &OS,
+ const object::WasmSymbol &Sym) {
+ Sym.print(OS);
+ return OS;
+}
+
} // end namespace llvm
#endif // LLVM_OBJECT_WASM_H
diff --git a/include/llvm/Object/WindowsResource.h b/include/llvm/Object/WindowsResource.h
index 4839013c8228..3d32409fd4ac 100644
--- a/include/llvm/Object/WindowsResource.h
+++ b/include/llvm/Object/WindowsResource.h
@@ -30,7 +30,6 @@
#define LLVM_INCLUDE_LLVM_OBJECT_RESFILE_H
#include "llvm/ADT/ArrayRef.h"
-#include "llvm/ADT/STLExtras.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/Error.h"
@@ -44,14 +43,47 @@
#include <map>
namespace llvm {
-
-class FileOutputBuffer;
-
namespace object {
class WindowsResource;
-enum class Machine { UNKNOWN, ARM, X64, X86 };
+const size_t WIN_RES_MAGIC_SIZE = 16;
+const size_t WIN_RES_NULL_ENTRY_SIZE = 16;
+const uint32_t WIN_RES_HEADER_ALIGNMENT = 4;
+const uint32_t WIN_RES_DATA_ALIGNMENT = 4;
+const uint16_t WIN_RES_PURE_MOVEABLE = 0x0030;
+
+struct WinResHeaderPrefix {
+ support::ulittle32_t DataSize;
+ support::ulittle32_t HeaderSize;
+};
+
+// Type and Name may each either be an integer ID or a string. This struct is
+// only used in the case where they are both IDs.
+struct WinResIDs {
+ uint16_t TypeFlag;
+ support::ulittle16_t TypeID;
+ uint16_t NameFlag;
+ support::ulittle16_t NameID;
+
+ void setType(uint16_t ID) {
+ TypeFlag = 0xffff;
+ TypeID = ID;
+ }
+
+ void setName(uint16_t ID) {
+ NameFlag = 0xffff;
+ NameID = ID;
+ }
+};
+
+struct WinResHeaderSuffix {
+ support::ulittle32_t DataVersion;
+ support::ulittle16_t MemoryFlags;
+ support::ulittle16_t Language;
+ support::ulittle32_t Version;
+ support::ulittle32_t Characteristics;
+};
class ResourceEntryRef {
public:
@@ -76,14 +108,6 @@ private:
Error loadNext();
- struct HeaderSuffix {
- support::ulittle32_t DataVersion;
- support::ulittle16_t MemoryFlags;
- support::ulittle16_t Language;
- support::ulittle32_t Version;
- support::ulittle32_t Characteristics;
- };
-
BinaryStreamReader Reader;
bool IsStringType;
ArrayRef<UTF16> Type;
@@ -91,7 +115,7 @@ private:
bool IsStringName;
ArrayRef<UTF16> Name;
uint16_t NameID;
- const HeaderSuffix *Suffix = nullptr;
+ const WinResHeaderSuffix *Suffix = nullptr;
ArrayRef<uint8_t> Data;
const WindowsResource *OwningRes = nullptr;
};
@@ -185,8 +209,9 @@ private:
std::vector<std::vector<UTF16>> StringTable;
};
-Error writeWindowsResourceCOFF(StringRef OutputFile, Machine MachineType,
- const WindowsResourceParser &Parser);
+Expected<std::unique_ptr<MemoryBuffer>>
+writeWindowsResourceCOFF(llvm::COFF::MachineTypes MachineType,
+ const WindowsResourceParser &Parser);
} // namespace object
} // namespace llvm
diff --git a/include/llvm/ObjectYAML/WasmYAML.h b/include/llvm/ObjectYAML/WasmYAML.h
index 447dbd7a603d..74f5664c43ac 100644
--- a/include/llvm/ObjectYAML/WasmYAML.h
+++ b/include/llvm/ObjectYAML/WasmYAML.h
@@ -112,8 +112,13 @@ struct Signature {
ValueType ReturnType;
};
+struct SymbolInfo {
+ StringRef Name;
+ uint32_t Flags;
+};
+
struct Section {
- Section(SectionType SecType) : Type(SecType) {}
+ explicit Section(SectionType SecType) : Type(SecType) {}
virtual ~Section();
SectionType Type;
@@ -121,20 +126,36 @@ struct Section {
};
struct CustomSection : Section {
- CustomSection() : Section(wasm::WASM_SEC_CUSTOM) {}
+ explicit CustomSection(StringRef Name)
+ : Section(wasm::WASM_SEC_CUSTOM), Name(Name) {}
static bool classof(const Section *S) {
return S->Type == wasm::WASM_SEC_CUSTOM;
}
StringRef Name;
yaml::BinaryRef Payload;
+};
+
+struct NameSection : CustomSection {
+ NameSection() : CustomSection("name") {}
+ static bool classof(const Section *S) {
+ auto C = dyn_cast<CustomSection>(S);
+ return C && C->Name == "name";
+ }
- // The follow is used by the "name" custom section.
- // TODO(sbc): Add support for more then just functions names. The wasm
- // name section can support multiple sub-sections.
std::vector<NameEntry> FunctionNames;
};
+struct LinkingSection : CustomSection {
+ LinkingSection() : CustomSection("linking") {}
+ static bool classof(const Section *S) {
+ auto C = dyn_cast<CustomSection>(S);
+ return C && C->Name == "linking";
+ }
+
+ std::vector<SymbolInfo> SymbolInfos;
+};
+
struct TypeSection : Section {
TypeSection() : Section(wasm::WASM_SEC_TYPE) {}
static bool classof(const Section *S) {
@@ -256,6 +277,7 @@ LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::WasmYAML::Function)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::WasmYAML::LocalDecl)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::WasmYAML::Relocation)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::WasmYAML::NameEntry)
+LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::WasmYAML::SymbolInfo)
LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint32_t)
namespace llvm {
@@ -329,6 +351,10 @@ template <> struct MappingTraits<WasmYAML::ElemSegment> {
static void mapping(IO &IO, WasmYAML::ElemSegment &Segment);
};
+template <> struct MappingTraits<WasmYAML::SymbolInfo> {
+ static void mapping(IO &IO, WasmYAML::SymbolInfo &Info);
+};
+
template <> struct ScalarEnumerationTraits<WasmYAML::ValueType> {
static void enumeration(IO &IO, WasmYAML::ValueType &Type);
};
diff --git a/include/llvm/Option/OptParser.td b/include/llvm/Option/OptParser.td
index 4da86f09750d..481223698719 100644
--- a/include/llvm/Option/OptParser.td
+++ b/include/llvm/Option/OptParser.td
@@ -92,6 +92,7 @@ class Option<list<string> prefixes, string name, OptionKind kind> {
int NumArgs = 0;
string HelpText = ?;
string MetaVarName = ?;
+ string Values = ?;
list<OptionFlag> Flags = [];
OptionGroup Group = ?;
Option Alias = ?;
@@ -126,6 +127,7 @@ class Flags<list<OptionFlag> flags> { list<OptionFlag> Flags = flags; }
class Group<OptionGroup group> { OptionGroup Group = group; }
class HelpText<string text> { string HelpText = text; }
class MetaVarName<string name> { string MetaVarName = name; }
+class Values<string value> { string Values = value; }
// Predefined options.
diff --git a/include/llvm/Option/OptTable.h b/include/llvm/Option/OptTable.h
index e0169b927319..3e7b019a0d4e 100644
--- a/include/llvm/Option/OptTable.h
+++ b/include/llvm/Option/OptTable.h
@@ -53,6 +53,7 @@ public:
unsigned short GroupID;
unsigned short AliasID;
const char *AliasArgs;
+ const char *Values;
};
private:
@@ -120,6 +121,19 @@ public:
return getInfo(id).MetaVar;
}
+ /// Find possible value for given flags. This is used for shell
+ /// autocompletion.
+ ///
+ /// \param [in] Option - Key flag like "-stdlib=" when "-stdlib=l"
+ /// was passed to clang.
+ ///
+ /// \param [in] Arg - Value which we want to autocomplete like "l"
+ /// when "-stdlib=l" was passed to clang.
+ ///
+ /// \return The vector of possible values.
+ std::vector<std::string> suggestValueCompletions(StringRef Option,
+ StringRef Arg) const;
+
/// Find flags from OptTable which starts with Cur.
///
/// \param [in] Cur - String prefix that all returned flags need
diff --git a/include/llvm/Option/Option.h b/include/llvm/Option/Option.h
index c08834f90598..d9aebd5b0757 100644
--- a/include/llvm/Option/Option.h
+++ b/include/llvm/Option/Option.h
@@ -57,6 +57,7 @@ public:
UnknownClass,
FlagClass,
JoinedClass,
+ ValuesClass,
SeparateClass,
RemainingArgsClass,
RemainingArgsJoinedClass,
@@ -155,6 +156,7 @@ public:
case CommaJoinedClass:
return RenderCommaJoinedStyle;
case FlagClass:
+ case ValuesClass:
case SeparateClass:
case MultiArgClass:
case JoinedOrSeparateClass:
diff --git a/include/llvm/ProfileData/Coverage/CoverageMapping.h b/include/llvm/ProfileData/Coverage/CoverageMapping.h
index b2f73fda2bae..0ba792e8dc43 100644
--- a/include/llvm/ProfileData/Coverage/CoverageMapping.h
+++ b/include/llvm/ProfileData/Coverage/CoverageMapping.h
@@ -411,9 +411,11 @@ public:
std::vector<CoverageSegment>::const_iterator begin() const {
return Segments.begin();
}
+
std::vector<CoverageSegment>::const_iterator end() const {
return Segments.end();
}
+
bool empty() const { return Segments.empty(); }
/// \brief Expansions that can be further processed.
@@ -430,6 +432,7 @@ class CoverageMapping {
unsigned MismatchedFunctionCount = 0;
CoverageMapping() = default;
+
/// \brief Add a function record corresponding to \p Record.
Error loadFunctionRecord(const CoverageMappingRecord &Record,
IndexedInstrProfReader &ProfileReader);
@@ -607,13 +610,13 @@ enum CovMapVersion {
};
template <int CovMapVersion, class IntPtrT> struct CovMapTraits {
- typedef CovMapFunctionRecord CovMapFuncRecordType;
- typedef uint64_t NameRefType;
+ using CovMapFuncRecordType = CovMapFunctionRecord;
+ using NameRefType = uint64_t;
};
template <class IntPtrT> struct CovMapTraits<CovMapVersion::Version1, IntPtrT> {
- typedef CovMapFunctionRecordV1<IntPtrT> CovMapFuncRecordType;
- typedef IntPtrT NameRefType;
+ using CovMapFuncRecordType = CovMapFunctionRecordV1<IntPtrT>;
+ using NameRefType = IntPtrT;
};
} // end namespace coverage
@@ -622,6 +625,7 @@ template <class IntPtrT> struct CovMapTraits<CovMapVersion::Version1, IntPtrT> {
template<> struct DenseMapInfo<coverage::CounterExpression> {
static inline coverage::CounterExpression getEmptyKey() {
using namespace coverage;
+
return CounterExpression(CounterExpression::ExprKind::Subtract,
Counter::getCounter(~0U),
Counter::getCounter(~0U));
@@ -629,6 +633,7 @@ template<> struct DenseMapInfo<coverage::CounterExpression> {
static inline coverage::CounterExpression getTombstoneKey() {
using namespace coverage;
+
return CounterExpression(CounterExpression::ExprKind::Add,
Counter::getCounter(~0U),
Counter::getCounter(~0U));
diff --git a/include/llvm/ProfileData/InstrProf.h b/include/llvm/ProfileData/InstrProf.h
index 0dbb2cf9f269..573ea90cfd00 100644
--- a/include/llvm/ProfileData/InstrProf.h
+++ b/include/llvm/ProfileData/InstrProf.h
@@ -410,7 +410,7 @@ uint64_t ComputeHash(StringRef K);
/// on how PGO name is formed.
class InstrProfSymtab {
public:
- typedef std::vector<std::pair<uint64_t, uint64_t>> AddrHashMap;
+ using AddrHashMap = std::vector<std::pair<uint64_t, uint64_t>>;
private:
StringRef Data;
@@ -450,11 +450,11 @@ public:
/// decls from module \c M. This interface is used by transformation
/// passes such as indirect function call promotion. Variable \c InLTO
/// indicates if this is called from LTO optimization passes.
- void create(Module &M, bool InLTO = false);
+ Error create(Module &M, bool InLTO = false);
/// Create InstrProfSymtab from a set of names iteratable from
/// \p IterRange. This interface is used by IndexedProfReader.
- template <typename NameIterRange> void create(const NameIterRange &IterRange);
+ template <typename NameIterRange> Error create(const NameIterRange &IterRange);
// If the symtab is created by a series of calls to \c addFuncName, \c
// finalizeSymtab needs to be called before looking up function names.
@@ -464,11 +464,14 @@ public:
/// Update the symtab by adding \p FuncName to the table. This interface
/// is used by the raw and text profile readers.
- void addFuncName(StringRef FuncName) {
+ Error addFuncName(StringRef FuncName) {
+ if (FuncName.empty())
+ return make_error<InstrProfError>(instrprof_error::malformed);
auto Ins = NameTab.insert(FuncName);
if (Ins.second)
MD5NameMap.push_back(std::make_pair(
IndexedInstrProf::ComputeHash(FuncName), Ins.first->getKey()));
+ return Error::success();
}
/// Map a function address to its name's MD5 hash. This interface
@@ -511,11 +514,13 @@ Error InstrProfSymtab::create(StringRef NameStrings) {
}
template <typename NameIterRange>
-void InstrProfSymtab::create(const NameIterRange &IterRange) {
+Error InstrProfSymtab::create(const NameIterRange &IterRange) {
for (auto Name : IterRange)
- addFuncName(Name);
+ if (Error E = addFuncName(Name))
+ return E;
finalizeSymtab();
+ return Error::success();
}
void InstrProfSymtab::finalizeSymtab() {
@@ -594,7 +599,7 @@ struct InstrProfRecord {
InstrProfRecord(StringRef Name, uint64_t Hash, std::vector<uint64_t> Counts)
: Name(Name), Hash(Hash), Counts(std::move(Counts)) {}
- typedef std::vector<std::pair<uint64_t, uint64_t>> ValueMapType;
+ using ValueMapType = std::vector<std::pair<uint64_t, uint64_t>>;
/// Return the number of value profile kinds with non-zero number
/// of profile sites.
@@ -668,8 +673,8 @@ struct InstrProfRecord {
private:
std::vector<InstrProfValueSiteRecord> IndirectCallSites;
std::vector<InstrProfValueSiteRecord> MemOPSizes;
- const std::vector<InstrProfValueSiteRecord> &
+ const std::vector<InstrProfValueSiteRecord> &
getValueSitesForKind(uint32_t ValueKind) const {
switch (ValueKind) {
case IPVK_IndirectCallTarget:
@@ -873,6 +878,11 @@ struct Summary {
// The number of Cutoff Entries (Summary::Entry) following summary fields.
uint64_t NumCutoffEntries;
+ Summary() = delete;
+ Summary(uint32_t Size) { memset(this, 0, Size); }
+
+ void operator delete(void *ptr) { ::operator delete(ptr); }
+
static uint32_t getSize(uint32_t NumSumFields, uint32_t NumCutoffEntries) {
return sizeof(Summary) + NumCutoffEntries * sizeof(Entry) +
NumSumFields * sizeof(uint64_t);
@@ -911,11 +921,6 @@ struct Summary {
ER.MinBlockCount = E.MinCount;
ER.NumBlocks = E.NumCounts;
}
-
- Summary(uint32_t Size) { memset(this, 0, Size); }
- void operator delete(void *ptr) { ::operator delete(ptr); }
-
- Summary() = delete;
};
inline std::unique_ptr<Summary> allocSummary(uint32_t TotalSize) {
diff --git a/include/llvm/ProfileData/InstrProfReader.h b/include/llvm/ProfileData/InstrProfReader.h
index 1d85a7149afc..8163ca159209 100644
--- a/include/llvm/ProfileData/InstrProfReader.h
+++ b/include/llvm/ProfileData/InstrProfReader.h
@@ -92,6 +92,7 @@ public:
protected:
std::unique_ptr<InstrProfSymtab> Symtab;
+
/// Set the current error and return same.
Error error(instrprof_error Err) {
LastError = Err;
@@ -202,7 +203,7 @@ private:
public:
RawInstrProfReader(std::unique_ptr<MemoryBuffer> DataBuffer)
- : DataBuffer(std::move(DataBuffer)) { }
+ : DataBuffer(std::move(DataBuffer)) {}
RawInstrProfReader(const RawInstrProfReader &) = delete;
RawInstrProfReader &operator=(const RawInstrProfReader &) = delete;
@@ -268,8 +269,8 @@ private:
}
};
-typedef RawInstrProfReader<uint32_t> RawInstrProfReader32;
-typedef RawInstrProfReader<uint64_t> RawInstrProfReader64;
+using RawInstrProfReader32 = RawInstrProfReader<uint32_t>;
+using RawInstrProfReader64 = RawInstrProfReader<uint64_t>;
namespace IndexedInstrProf {
@@ -292,12 +293,12 @@ public:
InstrProfLookupTrait(IndexedInstrProf::HashT HashType, unsigned FormatVersion)
: HashType(HashType), FormatVersion(FormatVersion) {}
- typedef ArrayRef<InstrProfRecord> data_type;
+ using data_type = ArrayRef<InstrProfRecord>;
- typedef StringRef internal_key_type;
- typedef StringRef external_key_type;
- typedef uint64_t hash_value_type;
- typedef uint64_t offset_type;
+ using internal_key_type = StringRef;
+ using external_key_type = StringRef;
+ using hash_value_type = uint64_t;
+ using offset_type = uint64_t;
static bool EqualKey(StringRef A, StringRef B) { return A == B; }
static StringRef GetInternalKey(StringRef K) { return K; }
@@ -343,15 +344,14 @@ struct InstrProfReaderIndexBase {
virtual void setValueProfDataEndianness(support::endianness Endianness) = 0;
virtual uint64_t getVersion() const = 0;
virtual bool isIRLevelProfile() const = 0;
- virtual void populateSymtab(InstrProfSymtab &) = 0;
+ virtual Error populateSymtab(InstrProfSymtab &) = 0;
};
-typedef OnDiskIterableChainedHashTable<InstrProfLookupTrait>
- OnDiskHashTableImplV3;
+using OnDiskHashTableImplV3 =
+ OnDiskIterableChainedHashTable<InstrProfLookupTrait>;
template <typename HashTableImpl>
class InstrProfReaderIndex : public InstrProfReaderIndexBase {
-
private:
std::unique_ptr<HashTableImpl> HashTable;
typename HashTableImpl::data_iterator RecordIterator;
@@ -383,8 +383,8 @@ public:
return (FormatVersion & VARIANT_MASK_IR_PROF) != 0;
}
- void populateSymtab(InstrProfSymtab &Symtab) override {
- Symtab.create(HashTable->keys());
+ Error populateSymtab(InstrProfSymtab &Symtab) override {
+ return Symtab.create(HashTable->keys());
}
};
diff --git a/include/llvm/ProfileData/InstrProfWriter.h b/include/llvm/ProfileData/InstrProfWriter.h
index 10742c0228eb..fff10af30295 100644
--- a/include/llvm/ProfileData/InstrProfWriter.h
+++ b/include/llvm/ProfileData/InstrProfWriter.h
@@ -29,10 +29,11 @@ namespace llvm {
/// Writer for instrumentation based profile data.
class InstrProfRecordWriterTrait;
class ProfOStream;
+class raw_fd_ostream;
class InstrProfWriter {
public:
- typedef SmallDenseMap<uint64_t, InstrProfRecord, 1> ProfilingData;
+ using ProfilingData = SmallDenseMap<uint64_t, InstrProfRecord, 1>;
enum ProfKind { PF_Unknown = 0, PF_FE, PF_IRLevel };
private:
@@ -58,7 +59,7 @@ public:
void write(raw_fd_ostream &OS);
/// Write the profile in text format to \c OS
- void writeText(raw_fd_ostream &OS);
+ Error writeText(raw_fd_ostream &OS);
/// Write \c Record in text format to \c OS
static void writeRecordInText(const InstrProfRecord &Record,
diff --git a/include/llvm/ProfileData/SampleProf.h b/include/llvm/ProfileData/SampleProf.h
index 7a705ca5416d..7fc258831be8 100644
--- a/include/llvm/ProfileData/SampleProf.h
+++ b/include/llvm/ProfileData/SampleProf.h
@@ -125,7 +125,7 @@ raw_ostream &operator<<(raw_ostream &OS, const LineLocation &Loc);
/// will be a list of one or more functions.
class SampleRecord {
public:
- typedef StringMap<uint64_t> CallTargetMap;
+ using CallTargetMap = StringMap<uint64_t>;
SampleRecord() = default;
@@ -182,10 +182,11 @@ private:
raw_ostream &operator<<(raw_ostream &OS, const SampleRecord &Sample);
-typedef std::map<LineLocation, SampleRecord> BodySampleMap;
class FunctionSamples;
-typedef StringMap<FunctionSamples> FunctionSamplesMap;
-typedef std::map<LineLocation, FunctionSamplesMap> CallsiteSampleMap;
+
+using BodySampleMap = std::map<LineLocation, SampleRecord>;
+using FunctionSamplesMap = StringMap<FunctionSamples>;
+using CallsiteSampleMap = std::map<LineLocation, FunctionSamplesMap>;
/// Representation of the samples collected for a function.
///
@@ -398,8 +399,8 @@ raw_ostream &operator<<(raw_ostream &OS, const FunctionSamples &FS);
/// order of LocationT.
template <class LocationT, class SampleT> class SampleSorter {
public:
- typedef std::pair<const LocationT, SampleT> SamplesWithLoc;
- typedef SmallVector<const SamplesWithLoc *, 20> SamplesWithLocList;
+ using SamplesWithLoc = std::pair<const LocationT, SampleT>;
+ using SamplesWithLocList = SmallVector<const SamplesWithLoc *, 20>;
SampleSorter(const std::map<LocationT, SampleT> &Samples) {
for (const auto &I : Samples)
diff --git a/include/llvm/ProfileData/SampleProfReader.h b/include/llvm/ProfileData/SampleProfReader.h
index 29e3aba3e0e7..9c1f357cbbd1 100644
--- a/include/llvm/ProfileData/SampleProfReader.h
+++ b/include/llvm/ProfileData/SampleProfReader.h
@@ -350,7 +350,7 @@ public:
class SampleProfileReaderBinary : public SampleProfileReader {
public:
SampleProfileReaderBinary(std::unique_ptr<MemoryBuffer> B, LLVMContext &C)
- : SampleProfileReader(std::move(B), C), Data(nullptr), End(nullptr) {}
+ : SampleProfileReader(std::move(B), C) {}
/// \brief Read and validate the file header.
std::error_code readHeader() override;
@@ -388,10 +388,10 @@ protected:
std::error_code readProfile(FunctionSamples &FProfile);
/// \brief Points to the current location in the buffer.
- const uint8_t *Data;
+ const uint8_t *Data = nullptr;
/// \brief Points to the end of the buffer.
- const uint8_t *End;
+ const uint8_t *End = nullptr;
/// Function name table.
std::vector<StringRef> NameTable;
@@ -403,7 +403,7 @@ private:
std::error_code readSummary();
};
-typedef SmallVector<FunctionSamples *, 10> InlineCallStack;
+using InlineCallStack = SmallVector<FunctionSamples *, 10>;
// Supported histogram types in GCC. Currently, we only need support for
// call target histograms.
diff --git a/include/llvm/Support/BinaryStreamReader.h b/include/llvm/Support/BinaryStreamReader.h
index 738c042add3e..ae5ebb2c3628 100644
--- a/include/llvm/Support/BinaryStreamReader.h
+++ b/include/llvm/Support/BinaryStreamReader.h
@@ -137,6 +137,15 @@ public:
/// returns an appropriate error code.
Error readStreamRef(BinaryStreamRef &Ref, uint32_t Length);
+ /// Read \p Length bytes from the underlying stream into \p Stream. This is
+ /// equivalent to calling getUnderlyingStream().slice(Offset, Length).
+ /// Updates the stream's offset to point after the newly read object. Never
+ /// causes a copy.
+ ///
+ /// \returns a success error code if the data was successfully read, otherwise
+ /// returns an appropriate error code.
+ Error readSubstream(BinarySubstreamRef &Stream, uint32_t Size);
+
/// Get a pointer to an object of type T from the underlying stream, as if by
/// memcpy, and store the result into \p Dest. It is up to the caller to
/// ensure that objects of type T can be safely treated in this manner.
diff --git a/include/llvm/Support/BinaryStreamRef.h b/include/llvm/Support/BinaryStreamRef.h
index e3bd4bf0860e..6d5135cb258d 100644
--- a/include/llvm/Support/BinaryStreamRef.h
+++ b/include/llvm/Support/BinaryStreamRef.h
@@ -166,6 +166,28 @@ public:
ArrayRef<uint8_t> &Buffer) const;
};
+struct BinarySubstreamRef {
+ uint32_t Offset; // Offset in the parent stream
+ BinaryStreamRef StreamData; // Stream Data
+
+ BinarySubstreamRef slice(uint32_t Off, uint32_t Size) const {
+ BinaryStreamRef SubSub = StreamData.slice(Off, Size);
+ return {Off + Offset, SubSub};
+ }
+ BinarySubstreamRef drop_front(uint32_t N) const {
+ return slice(N, size() - N);
+ }
+ BinarySubstreamRef keep_front(uint32_t N) const { return slice(0, N); }
+
+ std::pair<BinarySubstreamRef, BinarySubstreamRef>
+ split(uint32_t Offset) const {
+ return std::make_pair(keep_front(Offset), drop_front(Offset));
+ }
+
+ uint32_t size() const { return StreamData.getLength(); }
+ bool empty() const { return size() == 0; }
+};
+
class WritableBinaryStreamRef
: public BinaryStreamRefBase<WritableBinaryStreamRef,
WritableBinaryStream> {
diff --git a/include/llvm/Support/CachePruning.h b/include/llvm/Support/CachePruning.h
index e826938878e5..46e34358573b 100644
--- a/include/llvm/Support/CachePruning.h
+++ b/include/llvm/Support/CachePruning.h
@@ -39,8 +39,13 @@ struct CachePruningPolicy {
/// available space on the the disk. Set to 100 to indicate no limit, 50 to
/// indicate that the cache size will not be left over half the available disk
/// space. A value over 100 will be reduced to 100. A value of 0 disables the
- /// size-based pruning.
- unsigned PercentageOfAvailableSpace = 75;
+ /// percentage size-based pruning.
+ unsigned MaxSizePercentageOfAvailableSpace = 75;
+
+ /// The maximum size for the cache directory in bytes. A value over the amount
+ /// of available space on the disk will be reduced to the amount of available
+ /// space. A value of 0 disables the absolute size-based pruning.
+ uint64_t MaxSizeBytes = 0;
};
/// Parse the given string as a cache pruning policy. Defaults are taken from a
diff --git a/include/llvm/Support/DataExtractor.h b/include/llvm/Support/DataExtractor.h
index 380b628fd95f..31447882a919 100644
--- a/include/llvm/Support/DataExtractor.h
+++ b/include/llvm/Support/DataExtractor.h
@@ -14,6 +14,30 @@
#include "llvm/Support/DataTypes.h"
namespace llvm {
+
+/// An auxiliary type to facilitate extraction of 3-byte entities.
+struct Uint24 {
+ uint8_t Bytes[3];
+ Uint24(uint8_t U) {
+ Bytes[0] = Bytes[1] = Bytes[2] = U;
+ }
+ Uint24(uint8_t U0, uint8_t U1, uint8_t U2) {
+ Bytes[0] = U0; Bytes[1] = U1; Bytes[2] = U2;
+ }
+ uint32_t getAsUint32(bool IsLittleEndian) const {
+ int LoIx = IsLittleEndian ? 0 : 2;
+ return Bytes[LoIx] + (Bytes[1] << 8) + (Bytes[2-LoIx] << 16);
+ }
+};
+
+using uint24_t = Uint24;
+static_assert(sizeof(uint24_t) == 3, "sizeof(uint24_t) != 3");
+
+/// Needed by swapByteOrder().
+inline uint24_t getSwappedBytes(uint24_t C) {
+ return uint24_t(C.Bytes[2], C.Bytes[1], C.Bytes[0]);
+}
+
class DataExtractor {
StringRef Data;
uint8_t IsLittleEndian;
@@ -236,6 +260,23 @@ public:
/// NULL otherise.
uint16_t *getU16(uint32_t *offset_ptr, uint16_t *dst, uint32_t count) const;
+ /// Extract a 24-bit unsigned value from \a *offset_ptr and return it
+ /// in a uint32_t.
+ ///
+ /// Extract 3 bytes from the binary data at the offset pointed to by
+ /// \a offset_ptr, construct a uint32_t from them and update the offset
+ /// on success.
+ ///
+ /// @param[in,out] offset_ptr
+ /// A pointer to an offset within the data that will be advanced
+ /// by the 3 bytes if the value is extracted correctly. If the offset
+ /// is out of bounds or there are not enough bytes to extract this value,
+ /// the offset will be left unmodified.
+ ///
+ /// @return
+ /// The extracted 24-bit value represented in a uint32_t.
+ uint32_t getU24(uint32_t *offset_ptr) const;
+
/// Extract a uint32_t value from \a *offset_ptr.
///
/// Extract a single uint32_t from the binary data at the offset
diff --git a/include/llvm/Support/Errno.h b/include/llvm/Support/Errno.h
index 8e145c7b0b51..4ce65e7dc83c 100644
--- a/include/llvm/Support/Errno.h
+++ b/include/llvm/Support/Errno.h
@@ -14,6 +14,7 @@
#ifndef LLVM_SUPPORT_ERRNO_H
#define LLVM_SUPPORT_ERRNO_H
+#include <cerrno>
#include <string>
namespace llvm {
diff --git a/include/llvm/Support/Error.h b/include/llvm/Support/Error.h
index 1e27e0b821f0..9a7fa0ae6356 100644
--- a/include/llvm/Support/Error.h
+++ b/include/llvm/Support/Error.h
@@ -1076,6 +1076,27 @@ T cantFail(Expected<T> ValOrErr) {
llvm_unreachable("Failure value returned from cantFail wrapped call");
}
+/// Report a fatal error if ValOrErr is a failure value, otherwise unwraps and
+/// returns the contained reference.
+///
+/// This function can be used to wrap calls to fallible functions ONLY when it
+/// is known that the Error will always be a success value. E.g.
+///
+/// @code{.cpp}
+/// // foo only attempts the fallible operation if DoFallibleOperation is
+/// // true. If DoFallibleOperation is false then foo always returns a Bar&.
+/// Expected<Bar&> foo(bool DoFallibleOperation);
+///
+/// Bar &X = cantFail(foo(false));
+/// @endcode
+template <typename T>
+T& cantFail(Expected<T&> ValOrErr) {
+ if (ValOrErr)
+ return *ValOrErr;
+ else
+ llvm_unreachable("Failure value returned from cantFail wrapped call");
+}
+
} // end namespace llvm
#endif // LLVM_SUPPORT_ERROR_H
diff --git a/include/llvm/Support/GCOV.h b/include/llvm/Support/GCOV.h
index 268c53c50252..02016e7dbd62 100644
--- a/include/llvm/Support/GCOV.h
+++ b/include/llvm/Support/GCOV.h
@@ -271,8 +271,8 @@ struct GCOVEdge {
/// GCOVFunction - Collects function information.
class GCOVFunction {
public:
- typedef pointee_iterator<SmallVectorImpl<
- std::unique_ptr<GCOVBlock>>::const_iterator> BlockIterator;
+ using BlockIterator = pointee_iterator<SmallVectorImpl<
+ std::unique_ptr<GCOVBlock>>::const_iterator>;
GCOVFunction(GCOVFile &P) : Parent(P) {}
@@ -321,7 +321,7 @@ class GCOVBlock {
};
public:
- typedef SmallVectorImpl<GCOVEdge *>::const_iterator EdgeIterator;
+ using EdgeIterator = SmallVectorImpl<GCOVEdge *>::const_iterator;
GCOVBlock(GCOVFunction &P, uint32_t N) : Parent(P), Number(N) {}
~GCOVBlock();
@@ -381,10 +381,10 @@ class FileInfo {
// Therefore this typedef allows LineData.Functions to store multiple
// functions
// per instance. This is rare, however, so optimize for the common case.
- typedef SmallVector<const GCOVFunction *, 1> FunctionVector;
- typedef DenseMap<uint32_t, FunctionVector> FunctionLines;
- typedef SmallVector<const GCOVBlock *, 4> BlockVector;
- typedef DenseMap<uint32_t, BlockVector> BlockLines;
+ using FunctionVector = SmallVector<const GCOVFunction *, 1>;
+ using FunctionLines = DenseMap<uint32_t, FunctionVector>;
+ using BlockVector = SmallVector<const GCOVBlock *, 4>;
+ using BlockLines = DenseMap<uint32_t, BlockVector>;
struct LineData {
LineData() = default;
@@ -448,8 +448,8 @@ private:
uint32_t RunCount = 0;
uint32_t ProgramCount = 0;
- typedef SmallVector<std::pair<std::string, GCOVCoverage>, 4> FileCoverageList;
- typedef MapVector<const GCOVFunction *, GCOVCoverage> FuncCoverageMap;
+ using FileCoverageList = SmallVector<std::pair<std::string, GCOVCoverage>, 4>;
+ using FuncCoverageMap = MapVector<const GCOVFunction *, GCOVCoverage>;
FileCoverageList FileCoverages;
FuncCoverageMap FuncCoverages;
diff --git a/include/llvm/Support/GenericDomTree.h b/include/llvm/Support/GenericDomTree.h
index 80a2dfcbad88..601633d41cff 100644
--- a/include/llvm/Support/GenericDomTree.h
+++ b/include/llvm/Support/GenericDomTree.h
@@ -69,14 +69,13 @@ protected:
: Roots(), IsPostDominators(isPostDom) {}
DominatorBase(DominatorBase &&Arg)
- : Roots(std::move(Arg.Roots)),
- IsPostDominators(std::move(Arg.IsPostDominators)) {
+ : Roots(std::move(Arg.Roots)), IsPostDominators(Arg.IsPostDominators) {
Arg.Roots.clear();
}
DominatorBase &operator=(DominatorBase &&RHS) {
Roots = std::move(RHS.Roots);
- IsPostDominators = std::move(RHS.IsPostDominators);
+ IsPostDominators = RHS.IsPostDominators;
RHS.Roots.clear();
return *this;
}
@@ -99,18 +98,17 @@ template <class NodeT> class DomTreeNodeBase {
template <class N> friend class DominatorTreeBase;
NodeT *TheBB;
- DomTreeNodeBase<NodeT> *IDom;
- std::vector<DomTreeNodeBase<NodeT> *> Children;
- mutable int DFSNumIn = -1;
- mutable int DFSNumOut = -1;
+ DomTreeNodeBase *IDom;
+ std::vector<DomTreeNodeBase *> Children;
+ mutable unsigned DFSNumIn = ~0;
+ mutable unsigned DFSNumOut = ~0;
-public:
- DomTreeNodeBase(NodeT *BB, DomTreeNodeBase<NodeT> *iDom)
- : TheBB(BB), IDom(iDom) {}
+ public:
+ DomTreeNodeBase(NodeT *BB, DomTreeNodeBase *iDom) : TheBB(BB), IDom(iDom) {}
- typedef typename std::vector<DomTreeNodeBase<NodeT> *>::iterator iterator;
- typedef typename std::vector<DomTreeNodeBase<NodeT> *>::const_iterator
- const_iterator;
+ using iterator = typename std::vector<DomTreeNodeBase *>::iterator;
+ using const_iterator =
+ typename std::vector<DomTreeNodeBase *>::const_iterator;
iterator begin() { return Children.begin(); }
iterator end() { return Children.end(); }
@@ -118,14 +116,12 @@ public:
const_iterator end() const { return Children.end(); }
NodeT *getBlock() const { return TheBB; }
- DomTreeNodeBase<NodeT> *getIDom() const { return IDom; }
+ DomTreeNodeBase *getIDom() const { return IDom; }
- const std::vector<DomTreeNodeBase<NodeT> *> &getChildren() const {
- return Children;
- }
+ const std::vector<DomTreeNodeBase *> &getChildren() const { return Children; }
- std::unique_ptr<DomTreeNodeBase<NodeT>>
- addChild(std::unique_ptr<DomTreeNodeBase<NodeT>> C) {
+ std::unique_ptr<DomTreeNodeBase> addChild(
+ std::unique_ptr<DomTreeNodeBase> C) {
Children.push_back(C.get());
return C;
}
@@ -134,7 +130,7 @@ public:
void clearAllChildren() { Children.clear(); }
- bool compare(const DomTreeNodeBase<NodeT> *Other) const {
+ bool compare(const DomTreeNodeBase *Other) const {
if (getNumChildren() != Other->getNumChildren())
return true;
@@ -152,10 +148,10 @@ public:
return false;
}
- void setIDom(DomTreeNodeBase<NodeT> *NewIDom) {
+ void setIDom(DomTreeNodeBase *NewIDom) {
assert(IDom && "No immediate dominator?");
if (IDom != NewIDom) {
- typename std::vector<DomTreeNodeBase<NodeT> *>::iterator I =
+ typename std::vector<DomTreeNodeBase *>::iterator I =
find(IDom->Children, this);
assert(I != IDom->Children.end() &&
"Not in immediate dominator children set!");
@@ -177,32 +173,32 @@ public:
private:
// Return true if this node is dominated by other. Use this only if DFS info
// is valid.
- bool DominatedBy(const DomTreeNodeBase<NodeT> *other) const {
+ bool DominatedBy(const DomTreeNodeBase *other) const {
return this->DFSNumIn >= other->DFSNumIn &&
this->DFSNumOut <= other->DFSNumOut;
}
};
template <class NodeT>
-raw_ostream &operator<<(raw_ostream &o, const DomTreeNodeBase<NodeT> *Node) {
+raw_ostream &operator<<(raw_ostream &O, const DomTreeNodeBase<NodeT> *Node) {
if (Node->getBlock())
- Node->getBlock()->printAsOperand(o, false);
+ Node->getBlock()->printAsOperand(O, false);
else
- o << " <<exit node>>";
+ O << " <<exit node>>";
- o << " {" << Node->getDFSNumIn() << "," << Node->getDFSNumOut() << "}";
+ O << " {" << Node->getDFSNumIn() << "," << Node->getDFSNumOut() << "}";
- return o << "\n";
+ return O << "\n";
}
template <class NodeT>
-void PrintDomTree(const DomTreeNodeBase<NodeT> *N, raw_ostream &o,
+void PrintDomTree(const DomTreeNodeBase<NodeT> *N, raw_ostream &O,
unsigned Lev) {
- o.indent(2 * Lev) << "[" << Lev << "] " << N;
+ O.indent(2 * Lev) << "[" << Lev << "] " << N;
for (typename DomTreeNodeBase<NodeT>::const_iterator I = N->begin(),
E = N->end();
I != E; ++I)
- PrintDomTree<NodeT>(*I, o, Lev + 1);
+ PrintDomTree<NodeT>(*I, O, Lev + 1);
}
// The calculate routine is provided in a separate header but referenced here.
@@ -239,8 +235,8 @@ template <class NodeT> class DominatorTreeBase : public DominatorBase<NodeT> {
}
protected:
- typedef DenseMap<NodeT *, std::unique_ptr<DomTreeNodeBase<NodeT>>>
- DomTreeNodeMapType;
+ using DomTreeNodeMapType =
+ DenseMap<NodeT *, std::unique_ptr<DomTreeNodeBase<NodeT>>>;
DomTreeNodeMapType DomTreeNodes;
DomTreeNodeBase<NodeT> *RootNode;
@@ -663,19 +659,18 @@ public:
/// print - Convert to human readable form
///
- void print(raw_ostream &o) const {
- o << "=============================--------------------------------\n";
+ void print(raw_ostream &O) const {
+ O << "=============================--------------------------------\n";
if (this->isPostDominator())
- o << "Inorder PostDominator Tree: ";
+ O << "Inorder PostDominator Tree: ";
else
- o << "Inorder Dominator Tree: ";
+ O << "Inorder Dominator Tree: ";
if (!DFSInfoValid)
- o << "DFSNumbers invalid: " << SlowQueries << " slow queries.";
- o << "\n";
+ O << "DFSNumbers invalid: " << SlowQueries << " slow queries.";
+ O << "\n";
// The postdom tree can have a null root if there are no returns.
- if (getRootNode())
- PrintDomTree<NodeT>(getRootNode(), o, 1);
+ if (getRootNode()) PrintDomTree<NodeT>(getRootNode(), O, 1);
}
protected:
@@ -770,7 +765,7 @@ public:
/// recalculate - compute a dominator tree for the given function
template <class FT> void recalculate(FT &F) {
- typedef GraphTraits<FT *> TraitsTy;
+ using TraitsTy = GraphTraits<FT *>;
reset();
Vertex.push_back(nullptr);
diff --git a/include/llvm/Support/GenericDomTreeConstruction.h b/include/llvm/Support/GenericDomTreeConstruction.h
index c1d757f3ab6a..449c385bc86a 100644
--- a/include/llvm/Support/GenericDomTreeConstruction.h
+++ b/include/llvm/Support/GenericDomTreeConstruction.h
@@ -35,10 +35,10 @@ namespace llvm {
// converting the one argument insert calls.
template <class NodeRef, class InfoType> struct df_iterator_dom_storage {
public:
- typedef DenseMap<NodeRef, InfoType> BaseSet;
+ using BaseSet = DenseMap<NodeRef, InfoType>;
df_iterator_dom_storage(BaseSet &Storage) : Storage(Storage) {}
- typedef typename BaseSet::iterator iterator;
+ using iterator = typename BaseSet::iterator;
std::pair<iterator, bool> insert(NodeRef N) {
return Storage.insert({N, InfoType()});
}
@@ -101,20 +101,22 @@ template <class GraphT>
typename GraphT::NodeRef Eval(DominatorTreeBaseByGraphTraits<GraphT> &DT,
typename GraphT::NodeRef VIn,
unsigned LastLinked) {
+ using NodePtr = typename GraphT::NodeRef;
+
auto &VInInfo = DT.Info[VIn];
if (VInInfo.DFSNum < LastLinked)
return VIn;
- SmallVector<typename GraphT::NodeRef, 32> Work;
- SmallPtrSet<typename GraphT::NodeRef, 32> Visited;
+ SmallVector<NodePtr, 32> Work;
+ SmallPtrSet<NodePtr, 32> Visited;
if (VInInfo.Parent >= LastLinked)
Work.push_back(VIn);
while (!Work.empty()) {
- typename GraphT::NodeRef V = Work.back();
+ NodePtr V = Work.back();
auto &VInfo = DT.Info[V];
- typename GraphT::NodeRef VAncestor = DT.Vertex[VInfo.Parent];
+ NodePtr VAncestor = DT.Vertex[VInfo.Parent];
// Process Ancestor first
if (Visited.insert(VAncestor).second && VInfo.Parent >= LastLinked) {
@@ -128,8 +130,8 @@ typename GraphT::NodeRef Eval(DominatorTreeBaseByGraphTraits<GraphT> &DT,
continue;
auto &VAInfo = DT.Info[VAncestor];
- typename GraphT::NodeRef VAncestorLabel = VAInfo.Label;
- typename GraphT::NodeRef VLabel = VInfo.Label;
+ NodePtr VAncestorLabel = VAInfo.Label;
+ NodePtr VLabel = VInfo.Label;
if (DT.Info[VAncestorLabel].Semi < DT.Info[VLabel].Semi)
VInfo.Label = VAncestorLabel;
VInfo.Parent = VAInfo.Parent;
@@ -141,10 +143,11 @@ typename GraphT::NodeRef Eval(DominatorTreeBaseByGraphTraits<GraphT> &DT,
template <class FuncT, class NodeT>
void Calculate(DominatorTreeBaseByGraphTraits<GraphTraits<NodeT>> &DT,
FuncT &F) {
- typedef GraphTraits<NodeT> GraphT;
- static_assert(std::is_pointer<typename GraphT::NodeRef>::value,
+ using GraphT = GraphTraits<NodeT>;
+ using NodePtr = typename GraphT::NodeRef;
+ static_assert(std::is_pointer<NodePtr>::value,
"NodeRef should be pointer type");
- typedef typename std::remove_pointer<typename GraphT::NodeRef>::type NodeType;
+ using NodeType = typename std::remove_pointer<NodePtr>::type;
unsigned N = 0;
bool MultipleRoots = (DT.Roots.size() > 1);
@@ -186,13 +189,13 @@ void Calculate(DominatorTreeBaseByGraphTraits<GraphTraits<NodeT>> &DT,
Buckets[i] = i;
for (unsigned i = N; i >= 2; --i) {
- typename GraphT::NodeRef W = DT.Vertex[i];
+ NodePtr W = DT.Vertex[i];
auto &WInfo = DT.Info[W];
// Step #2: Implicitly define the immediate dominator of vertices
for (unsigned j = i; Buckets[j] != i; j = Buckets[j]) {
- typename GraphT::NodeRef V = DT.Vertex[Buckets[j]];
- typename GraphT::NodeRef U = Eval<GraphT>(DT, V, i + 1);
+ NodePtr V = DT.Vertex[Buckets[j]];
+ NodePtr U = Eval<GraphT>(DT, V, i + 1);
DT.IDoms[V] = DT.Info[U].Semi < i ? U : W;
}
@@ -219,17 +222,17 @@ void Calculate(DominatorTreeBaseByGraphTraits<GraphTraits<NodeT>> &DT,
}
if (N >= 1) {
- typename GraphT::NodeRef Root = DT.Vertex[1];
+ NodePtr Root = DT.Vertex[1];
for (unsigned j = 1; Buckets[j] != 1; j = Buckets[j]) {
- typename GraphT::NodeRef V = DT.Vertex[Buckets[j]];
+ NodePtr V = DT.Vertex[Buckets[j]];
DT.IDoms[V] = Root;
}
}
// Step #4: Explicitly define the immediate dominator of each vertex
for (unsigned i = 2; i <= N; ++i) {
- typename GraphT::NodeRef W = DT.Vertex[i];
- typename GraphT::NodeRef &WIDom = DT.IDoms[W];
+ NodePtr W = DT.Vertex[i];
+ NodePtr &WIDom = DT.IDoms[W];
if (WIDom != DT.Vertex[DT.Info[W].Semi])
WIDom = DT.IDoms[WIDom];
}
@@ -240,7 +243,7 @@ void Calculate(DominatorTreeBaseByGraphTraits<GraphTraits<NodeT>> &DT,
// one exit block, or it may be the virtual exit (denoted by (BasicBlock *)0)
// which postdominates all real exits if there are multiple exit blocks, or
// an infinite loop.
- typename GraphT::NodeRef Root = !MultipleRoots ? DT.Roots[0] : nullptr;
+ NodePtr Root = !MultipleRoots ? DT.Roots[0] : nullptr;
DT.RootNode =
(DT.DomTreeNodes[Root] =
@@ -249,13 +252,13 @@ void Calculate(DominatorTreeBaseByGraphTraits<GraphTraits<NodeT>> &DT,
// Loop over all of the reachable blocks in the function...
for (unsigned i = 2; i <= N; ++i) {
- typename GraphT::NodeRef W = DT.Vertex[i];
+ NodePtr W = DT.Vertex[i];
// Don't replace this with 'count', the insertion side effect is important
if (DT.DomTreeNodes[W])
continue; // Haven't calculated this node yet?
- typename GraphT::NodeRef ImmDom = DT.getIDom(W);
+ NodePtr ImmDom = DT.getIDom(W);
assert(ImmDom || DT.DomTreeNodes[nullptr]);
diff --git a/include/llvm/Support/GraphWriter.h b/include/llvm/Support/GraphWriter.h
index c318fea53651..3df5c867f7d3 100644
--- a/include/llvm/Support/GraphWriter.h
+++ b/include/llvm/Support/GraphWriter.h
@@ -1,4 +1,4 @@
-//===-- llvm/Support/GraphWriter.h - Write graph to a .dot file -*- C++ -*-===//
+//===- llvm/Support/GraphWriter.h - Write graph to a .dot file --*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -24,30 +24,40 @@
#define LLVM_SUPPORT_GRAPHWRITER_H
#include "llvm/ADT/GraphTraits.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/DOTGraphTraits.h"
#include "llvm/Support/raw_ostream.h"
+#include <algorithm>
+#include <cstddef>
+#include <iterator>
+#include <string>
+#include <type_traits>
#include <vector>
namespace llvm {
namespace DOT { // Private functions...
- std::string EscapeString(const std::string &Label);
- /// \brief Get a color string for this node number. Simply round-robin selects
- /// from a reasonable number of colors.
- StringRef getColorString(unsigned NodeNumber);
-}
+std::string EscapeString(const std::string &Label);
+
+/// \brief Get a color string for this node number. Simply round-robin selects
+/// from a reasonable number of colors.
+StringRef getColorString(unsigned NodeNumber);
+
+} // end namespace DOT
namespace GraphProgram {
- enum Name {
- DOT,
- FDP,
- NEATO,
- TWOPI,
- CIRCO
- };
-}
+
+enum Name {
+ DOT,
+ FDP,
+ NEATO,
+ TWOPI,
+ CIRCO
+};
+
+} // end namespace GraphProgram
bool DisplayGraph(StringRef Filename, bool wait = true,
GraphProgram::Name program = GraphProgram::DOT);
@@ -57,11 +67,11 @@ class GraphWriter {
raw_ostream &O;
const GraphType &G;
- typedef DOTGraphTraits<GraphType> DOTTraits;
- typedef GraphTraits<GraphType> GTraits;
- typedef typename GTraits::NodeRef NodeRef;
- typedef typename GTraits::nodes_iterator node_iterator;
- typedef typename GTraits::ChildIteratorType child_iterator;
+ using DOTTraits = DOTGraphTraits<GraphType>;
+ using GTraits = GraphTraits<GraphType>;
+ using NodeRef = typename GTraits::NodeRef;
+ using node_iterator = typename GTraits::nodes_iterator;
+ using child_iterator = typename GTraits::ChildIteratorType;
DOTTraits DTraits;
static_assert(std::is_pointer<NodeRef>::value,
@@ -346,6 +356,6 @@ void ViewGraph(const GraphType &G, const Twine &Name,
DisplayGraph(Filename, false, Program);
}
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_SUPPORT_GRAPHWRITER_H
diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h
index 89986fdae971..be93dd99032e 100644
--- a/include/llvm/Support/Host.h
+++ b/include/llvm/Support/Host.h
@@ -21,6 +21,16 @@
#include <endian.h>
#elif defined(_AIX)
#include <sys/machine.h>
+#elif defined(__sun)
+/* Solaris provides _BIG_ENDIAN/_LITTLE_ENDIAN selector in sys/types.h */
+#include <sys/types.h>
+#define BIG_ENDIAN 4321
+#define LITTLE_ENDIAN 1234
+#if defined(_BIG_ENDIAN)
+#define BYTE_ORDER BIG_ENDIAN
+#else
+#define BYTE_ORDER LITTLE_ENDIAN
+#endif
#else
#if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32)
#include <machine/endian.h>
diff --git a/include/llvm/Support/Path.h b/include/llvm/Support/Path.h
index 6ac51195519e..e5979674cf1c 100644
--- a/include/llvm/Support/Path.h
+++ b/include/llvm/Support/Path.h
@@ -17,6 +17,7 @@
#define LLVM_SUPPORT_PATH_H
#include "llvm/ADT/Twine.h"
+#include "llvm/ADT/iterator.h"
#include "llvm/Support/DataTypes.h"
#include <iterator>
@@ -49,7 +50,8 @@ enum class Style { windows, posix, native };
/// C:\foo\bar => C:,/,foo,bar
/// @endcode
class const_iterator
- : public std::iterator<std::input_iterator_tag, const StringRef> {
+ : public iterator_facade_base<const_iterator, std::input_iterator_tag,
+ const StringRef> {
StringRef Path; ///< The entire path.
StringRef Component; ///< The current component. Not necessarily in Path.
size_t Position; ///< The iterators current position within Path.
@@ -61,10 +63,8 @@ class const_iterator
public:
reference operator*() const { return Component; }
- pointer operator->() const { return &Component; }
const_iterator &operator++(); // preincrement
bool operator==(const const_iterator &RHS) const;
- bool operator!=(const const_iterator &RHS) const { return !(*this == RHS); }
/// @brief Difference in bytes between this and RHS.
ptrdiff_t operator-(const const_iterator &RHS) const;
@@ -76,7 +76,8 @@ public:
/// \a path in reverse order. The traversal order is exactly reversed from that
/// of \a const_iterator
class reverse_iterator
- : public std::iterator<std::input_iterator_tag, const StringRef> {
+ : public iterator_facade_base<reverse_iterator, std::input_iterator_tag,
+ const StringRef> {
StringRef Path; ///< The entire path.
StringRef Component; ///< The current component. Not necessarily in Path.
size_t Position; ///< The iterators current position within Path.
@@ -87,10 +88,8 @@ class reverse_iterator
public:
reference operator*() const { return Component; }
- pointer operator->() const { return &Component; }
reverse_iterator &operator++(); // preincrement
bool operator==(const reverse_iterator &RHS) const;
- bool operator!=(const reverse_iterator &RHS) const { return !(*this == RHS); }
/// @brief Difference in bytes between this and RHS.
ptrdiff_t operator-(const reverse_iterator &RHS) const;
diff --git a/include/llvm/Support/Solaris.h b/include/llvm/Support/Solaris/sys/regset.h
index 88d83014c468..6a69ebe718a1 100644
--- a/include/llvm/Support/Solaris.h
+++ b/include/llvm/Support/Solaris/sys/regset.h
@@ -1,4 +1,4 @@
-/*===- llvm/Support/Solaris.h ------------------------------------*- C++ -*-===*
+/*===- llvm/Support/Solaris/sys/regset.h ------------------------*- C++ -*-===*
*
* The LLVM Compiler Infrastructure
*
@@ -7,24 +7,14 @@
*
*===----------------------------------------------------------------------===*
*
- * This file contains portability fixes for Solaris hosts.
+ * This file works around excessive name space pollution from the system header
+ * on Solaris hosts.
*
*===----------------------------------------------------------------------===*/
-#ifndef LLVM_SUPPORT_SOLARIS_H
-#define LLVM_SUPPORT_SOLARIS_H
+#ifndef LLVM_SUPPORT_SOLARIS_SYS_REGSET_H
-#include <sys/regset.h>
-#include <sys/types.h>
-
-/* Solaris doesn't have endian.h. SPARC is the only supported big-endian ISA. */
-#define BIG_ENDIAN 4321
-#define LITTLE_ENDIAN 1234
-#if defined(__sparc) || defined(__sparc__)
-#define BYTE_ORDER BIG_ENDIAN
-#else
-#define BYTE_ORDER LITTLE_ENDIAN
-#endif
+#include_next <sys/regset.h>
#undef CS
#undef DS
diff --git a/include/llvm/Support/TargetRegistry.h b/include/llvm/Support/TargetRegistry.h
index 9e9a91b0abda..90d6c084ee95 100644
--- a/include/llvm/Support/TargetRegistry.h
+++ b/include/llvm/Support/TargetRegistry.h
@@ -54,6 +54,7 @@ class MCSymbolizer;
class MCTargetAsmParser;
class MCTargetOptions;
class MCTargetStreamer;
+class raw_ostream;
class raw_pwrite_stream;
class TargetMachine;
class TargetOptions;
@@ -96,75 +97,75 @@ class Target {
public:
friend struct TargetRegistry;
- typedef bool (*ArchMatchFnTy)(Triple::ArchType Arch);
+ using ArchMatchFnTy = bool (*)(Triple::ArchType Arch);
- typedef MCAsmInfo *(*MCAsmInfoCtorFnTy)(const MCRegisterInfo &MRI,
- const Triple &TT);
- typedef void (*MCAdjustCodeGenOptsFnTy)(const Triple &TT, Reloc::Model RM,
- CodeModel::Model &CM);
+ using MCAsmInfoCtorFnTy = MCAsmInfo *(*)(const MCRegisterInfo &MRI,
+ const Triple &TT);
+ using MCAdjustCodeGenOptsFnTy = void (*)(const Triple &TT, Reloc::Model RM,
+ CodeModel::Model &CM);
- typedef MCInstrInfo *(*MCInstrInfoCtorFnTy)(void);
- typedef MCInstrAnalysis *(*MCInstrAnalysisCtorFnTy)(const MCInstrInfo *Info);
- typedef MCRegisterInfo *(*MCRegInfoCtorFnTy)(const Triple &TT);
- typedef MCSubtargetInfo *(*MCSubtargetInfoCtorFnTy)(const Triple &TT,
- StringRef CPU,
- StringRef Features);
- typedef TargetMachine *(*TargetMachineCtorTy)(
+ using MCInstrInfoCtorFnTy = MCInstrInfo *(*)();
+ using MCInstrAnalysisCtorFnTy = MCInstrAnalysis *(*)(const MCInstrInfo *Info);
+ using MCRegInfoCtorFnTy = MCRegisterInfo *(*)(const Triple &TT);
+ using MCSubtargetInfoCtorFnTy = MCSubtargetInfo *(*)(const Triple &TT,
+ StringRef CPU,
+ StringRef Features);
+ using TargetMachineCtorTy = TargetMachine *(*)(
const Target &T, const Triple &TT, StringRef CPU, StringRef Features,
const TargetOptions &Options, Optional<Reloc::Model> RM,
CodeModel::Model CM, CodeGenOpt::Level OL);
// If it weren't for layering issues (this header is in llvm/Support, but
// depends on MC?) this should take the Streamer by value rather than rvalue
// reference.
- typedef AsmPrinter *(*AsmPrinterCtorTy)(
+ using AsmPrinterCtorTy = AsmPrinter *(*)(
TargetMachine &TM, std::unique_ptr<MCStreamer> &&Streamer);
- typedef MCAsmBackend *(*MCAsmBackendCtorTy)(const Target &T,
- const MCRegisterInfo &MRI,
- const Triple &TT, StringRef CPU,
- const MCTargetOptions &Options);
- typedef MCTargetAsmParser *(*MCAsmParserCtorTy)(
+ using MCAsmBackendCtorTy = MCAsmBackend *(*)(const Target &T,
+ const MCRegisterInfo &MRI,
+ const Triple &TT, StringRef CPU,
+ const MCTargetOptions &Options);
+ using MCAsmParserCtorTy = MCTargetAsmParser *(*)(
const MCSubtargetInfo &STI, MCAsmParser &P, const MCInstrInfo &MII,
const MCTargetOptions &Options);
- typedef MCDisassembler *(*MCDisassemblerCtorTy)(const Target &T,
- const MCSubtargetInfo &STI,
- MCContext &Ctx);
- typedef MCInstPrinter *(*MCInstPrinterCtorTy)(const Triple &T,
- unsigned SyntaxVariant,
- const MCAsmInfo &MAI,
- const MCInstrInfo &MII,
- const MCRegisterInfo &MRI);
- typedef MCCodeEmitter *(*MCCodeEmitterCtorTy)(const MCInstrInfo &II,
- const MCRegisterInfo &MRI,
- MCContext &Ctx);
- typedef MCStreamer *(*ELFStreamerCtorTy)(const Triple &T, MCContext &Ctx,
- MCAsmBackend &TAB,
- raw_pwrite_stream &OS,
- MCCodeEmitter *Emitter,
- bool RelaxAll);
- typedef MCStreamer *(*MachOStreamerCtorTy)(MCContext &Ctx, MCAsmBackend &TAB,
- raw_pwrite_stream &OS,
- MCCodeEmitter *Emitter,
- bool RelaxAll,
- bool DWARFMustBeAtTheEnd);
- typedef MCStreamer *(*COFFStreamerCtorTy)(MCContext &Ctx, MCAsmBackend &TAB,
- raw_pwrite_stream &OS,
- MCCodeEmitter *Emitter,
- bool RelaxAll,
- bool IncrementalLinkerCompatible);
- typedef MCStreamer *(*WasmStreamerCtorTy)(const Triple &T, MCContext &Ctx,
+ using MCDisassemblerCtorTy = MCDisassembler *(*)(const Target &T,
+ const MCSubtargetInfo &STI,
+ MCContext &Ctx);
+ using MCInstPrinterCtorTy = MCInstPrinter *(*)(const Triple &T,
+ unsigned SyntaxVariant,
+ const MCAsmInfo &MAI,
+ const MCInstrInfo &MII,
+ const MCRegisterInfo &MRI);
+ using MCCodeEmitterCtorTy = MCCodeEmitter *(*)(const MCInstrInfo &II,
+ const MCRegisterInfo &MRI,
+ MCContext &Ctx);
+ using ELFStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx,
MCAsmBackend &TAB,
raw_pwrite_stream &OS,
MCCodeEmitter *Emitter,
bool RelaxAll);
- typedef MCTargetStreamer *(*NullTargetStreamerCtorTy)(MCStreamer &S);
- typedef MCTargetStreamer *(*AsmTargetStreamerCtorTy)(
+ using MachOStreamerCtorTy = MCStreamer *(*)(MCContext &Ctx, MCAsmBackend &TAB,
+ raw_pwrite_stream &OS,
+ MCCodeEmitter *Emitter,
+ bool RelaxAll,
+ bool DWARFMustBeAtTheEnd);
+ using COFFStreamerCtorTy = MCStreamer *(*)(MCContext &Ctx, MCAsmBackend &TAB,
+ raw_pwrite_stream &OS,
+ MCCodeEmitter *Emitter,
+ bool RelaxAll,
+ bool IncrementalLinkerCompatible);
+ using WasmStreamerCtorTy = MCStreamer *(*)(const Triple &T, MCContext &Ctx,
+ MCAsmBackend &TAB,
+ raw_pwrite_stream &OS,
+ MCCodeEmitter *Emitter,
+ bool RelaxAll);
+ using NullTargetStreamerCtorTy = MCTargetStreamer *(*)(MCStreamer &S);
+ using AsmTargetStreamerCtorTy = MCTargetStreamer *(*)(
MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint,
bool IsVerboseAsm);
- typedef MCTargetStreamer *(*ObjectTargetStreamerCtorTy)(
+ using ObjectTargetStreamerCtorTy = MCTargetStreamer *(*)(
MCStreamer &S, const MCSubtargetInfo &STI);
- typedef MCRelocationInfo *(*MCRelocationInfoCtorTy)(const Triple &TT,
- MCContext &Ctx);
- typedef MCSymbolizer *(*MCSymbolizerCtorTy)(
+ using MCRelocationInfoCtorTy = MCRelocationInfo *(*)(const Triple &TT,
+ MCContext &Ctx);
+ using MCSymbolizerCtorTy = MCSymbolizer *(*)(
const Triple &TT, LLVMOpInfoCallback GetOpInfo,
LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx,
std::unique_ptr<MCRelocationInfo> &&RelInfo);
diff --git a/include/llvm/Support/YAMLParser.h b/include/llvm/Support/YAMLParser.h
index b9e3fa47752c..c196dd6c1ddc 100644
--- a/include/llvm/Support/YAMLParser.h
+++ b/include/llvm/Support/YAMLParser.h
@@ -1,4 +1,4 @@
-//===--- YAMLParser.h - Simple YAML parser --------------------------------===//
+//===- YAMLParser.h - Simple YAML parser ------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -41,20 +41,25 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/SMLoc.h"
+#include <cassert>
+#include <cstddef>
+#include <iterator>
#include <map>
+#include <memory>
+#include <string>
#include <system_error>
-#include <utility>
namespace llvm {
+
class MemoryBufferRef;
class SourceMgr;
-class Twine;
class raw_ostream;
+class Twine;
namespace yaml {
-class document_iterator;
class Document;
+class document_iterator;
class Node;
class Scanner;
struct Token;
@@ -87,6 +92,7 @@ public:
document_iterator end();
void skip();
bool failed();
+
bool validate() {
skip();
return !failed();
@@ -95,10 +101,10 @@ public:
void printError(Node *N, const Twine &Msg);
private:
+ friend class Document;
+
std::unique_ptr<Scanner> scanner;
std::unique_ptr<Document> CurrentDoc;
-
- friend class Document;
};
/// \brief Abstract base class for all Nodes.
@@ -119,6 +125,18 @@ public:
Node(unsigned int Type, std::unique_ptr<Document> &, StringRef Anchor,
StringRef Tag);
+ void *operator new(size_t Size, BumpPtrAllocator &Alloc,
+ size_t Alignment = 16) noexcept {
+ return Alloc.Allocate(Size, Alignment);
+ }
+
+ void operator delete(void *Ptr, BumpPtrAllocator &Alloc,
+ size_t Size) noexcept {
+ Alloc.Deallocate(Ptr, Size);
+ }
+
+ void operator delete(void *) noexcept = delete;
+
/// \brief Get the value of the anchor attached to this node. If it does not
/// have one, getAnchor().size() will be 0.
StringRef getAnchor() const { return Anchor; }
@@ -146,22 +164,10 @@ public:
unsigned int getType() const { return TypeID; }
- void *operator new(size_t Size, BumpPtrAllocator &Alloc,
- size_t Alignment = 16) noexcept {
- return Alloc.Allocate(Size, Alignment);
- }
-
- void operator delete(void *Ptr, BumpPtrAllocator &Alloc,
- size_t Size) noexcept {
- Alloc.Deallocate(Ptr, Size);
- }
-
protected:
std::unique_ptr<Document> &Doc;
SMRange SourceRange;
- void operator delete(void *) noexcept = delete;
-
~Node() = default;
private:
@@ -268,8 +274,7 @@ class KeyValueNode final : public Node {
public:
KeyValueNode(std::unique_ptr<Document> &D)
- : Node(NK_KeyValue, D, StringRef(), StringRef()), Key(nullptr),
- Value(nullptr) {}
+ : Node(NK_KeyValue, D, StringRef(), StringRef()) {}
/// \brief Parse and return the key.
///
@@ -296,8 +301,8 @@ public:
}
private:
- Node *Key;
- Node *Value;
+ Node *Key = nullptr;
+ Node *Value = nullptr;
};
/// \brief This is an iterator abstraction over YAML collections shared by both
@@ -309,7 +314,7 @@ template <class BaseT, class ValueT>
class basic_collection_iterator
: public std::iterator<std::input_iterator_tag, ValueT> {
public:
- basic_collection_iterator() : Base(nullptr) {}
+ basic_collection_iterator() = default;
basic_collection_iterator(BaseT *B) : Base(B) {}
ValueT *operator->() const {
@@ -358,7 +363,7 @@ public:
}
private:
- BaseT *Base;
+ BaseT *Base = nullptr;
};
// The following two templates are used for both MappingNode and Sequence Node.
@@ -399,11 +404,12 @@ public:
MappingNode(std::unique_ptr<Document> &D, StringRef Anchor, StringRef Tag,
MappingType MT)
- : Node(NK_Mapping, D, Anchor, Tag), Type(MT), IsAtBeginning(true),
- IsAtEnd(false), CurrentEntry(nullptr) {}
+ : Node(NK_Mapping, D, Anchor, Tag), Type(MT) {}
friend class basic_collection_iterator<MappingNode, KeyValueNode>;
- typedef basic_collection_iterator<MappingNode, KeyValueNode> iterator;
+
+ using iterator = basic_collection_iterator<MappingNode, KeyValueNode>;
+
template <class T> friend typename T::iterator yaml::begin(T &);
template <class T> friend void yaml::skip(T &);
@@ -419,9 +425,9 @@ public:
private:
MappingType Type;
- bool IsAtBeginning;
- bool IsAtEnd;
- KeyValueNode *CurrentEntry;
+ bool IsAtBeginning = true;
+ bool IsAtEnd = false;
+ KeyValueNode *CurrentEntry = nullptr;
void increment();
};
@@ -453,13 +459,12 @@ public:
SequenceNode(std::unique_ptr<Document> &D, StringRef Anchor, StringRef Tag,
SequenceType ST)
- : Node(NK_Sequence, D, Anchor, Tag), SeqType(ST), IsAtBeginning(true),
- IsAtEnd(false),
- WasPreviousTokenFlowEntry(true), // Start with an imaginary ','.
- CurrentEntry(nullptr) {}
+ : Node(NK_Sequence, D, Anchor, Tag), SeqType(ST) {}
friend class basic_collection_iterator<SequenceNode, Node>;
- typedef basic_collection_iterator<SequenceNode, Node> iterator;
+
+ using iterator = basic_collection_iterator<SequenceNode, Node>;
+
template <class T> friend typename T::iterator yaml::begin(T &);
template <class T> friend void yaml::skip(T &);
@@ -477,10 +482,10 @@ public:
private:
SequenceType SeqType;
- bool IsAtBeginning;
- bool IsAtEnd;
- bool WasPreviousTokenFlowEntry;
- Node *CurrentEntry;
+ bool IsAtBeginning = true;
+ bool IsAtEnd = false;
+ bool WasPreviousTokenFlowEntry = true; // Start with an imaginary ','.
+ Node *CurrentEntry = nullptr;
};
/// \brief Represents an alias to a Node with an anchor.
@@ -507,11 +512,11 @@ private:
/// node.
class Document {
public:
+ Document(Stream &ParentStream);
+
/// \brief Root for parsing a node. Returns a single node.
Node *parseBlockNode();
- Document(Stream &ParentStream);
-
/// \brief Finish parsing the current document and return true if there are
/// more. Return false otherwise.
bool skip();
@@ -564,7 +569,7 @@ private:
/// \brief Iterator abstraction for Documents over a Stream.
class document_iterator {
public:
- document_iterator() : Doc(nullptr) {}
+ document_iterator() = default;
document_iterator(std::unique_ptr<Document> &D) : Doc(&D) {}
bool operator==(const document_iterator &Other) {
@@ -593,11 +598,11 @@ public:
private:
bool isAtEnd() const { return !Doc || !*Doc; }
- std::unique_ptr<Document> *Doc;
+ std::unique_ptr<Document> *Doc = nullptr;
};
-} // End namespace yaml.
+} // end namespace yaml
-} // End namespace llvm.
+} // end namespace llvm
-#endif
+#endif // LLVM_SUPPORT_YAMLPARSER_H
diff --git a/include/llvm/Support/YAMLTraits.h b/include/llvm/Support/YAMLTraits.h
index 8949d69ce724..53618a56f853 100644
--- a/include/llvm/Support/YAMLTraits.h
+++ b/include/llvm/Support/YAMLTraits.h
@@ -26,6 +26,7 @@
#include <cctype>
#include <cstddef>
#include <cstdint>
+#include <map>
#include <memory>
#include <new>
#include <string>
@@ -226,7 +227,7 @@ struct MissingTrait;
template <class T>
struct has_ScalarEnumerationTraits
{
- typedef void (*Signature_enumeration)(class IO&, T&);
+ using Signature_enumeration = void (*)(class IO&, T&);
template <typename U>
static char test(SameType<Signature_enumeration, &U::enumeration>*);
@@ -243,7 +244,7 @@ public:
template <class T>
struct has_ScalarBitSetTraits
{
- typedef void (*Signature_bitset)(class IO&, T&);
+ using Signature_bitset = void (*)(class IO&, T&);
template <typename U>
static char test(SameType<Signature_bitset, &U::bitset>*);
@@ -259,9 +260,9 @@ public:
template <class T>
struct has_ScalarTraits
{
- typedef StringRef (*Signature_input)(StringRef, void*, T&);
- typedef void (*Signature_output)(const T&, void*, llvm::raw_ostream&);
- typedef bool (*Signature_mustQuote)(StringRef);
+ using Signature_input = StringRef (*)(StringRef, void*, T&);
+ using Signature_output = void (*)(const T&, void*, raw_ostream&);
+ using Signature_mustQuote = bool (*)(StringRef);
template <typename U>
static char test(SameType<Signature_input, &U::input> *,
@@ -280,8 +281,8 @@ public:
template <class T>
struct has_BlockScalarTraits
{
- typedef StringRef (*Signature_input)(StringRef, void *, T &);
- typedef void (*Signature_output)(const T &, void *, llvm::raw_ostream &);
+ using Signature_input = StringRef (*)(StringRef, void *, T &);
+ using Signature_output = void (*)(const T &, void *, raw_ostream &);
template <typename U>
static char test(SameType<Signature_input, &U::input> *,
@@ -297,7 +298,7 @@ public:
// Test if MappingContextTraits<T> is defined on type T.
template <class T, class Context> struct has_MappingTraits {
- typedef void (*Signature_mapping)(class IO &, T &, Context &);
+ using Signature_mapping = void (*)(class IO &, T &, Context &);
template <typename U>
static char test(SameType<Signature_mapping, &U::mapping>*);
@@ -312,7 +313,7 @@ public:
// Test if MappingTraits<T> is defined on type T.
template <class T> struct has_MappingTraits<T, EmptyContext> {
- typedef void (*Signature_mapping)(class IO &, T &);
+ using Signature_mapping = void (*)(class IO &, T &);
template <typename U>
static char test(SameType<Signature_mapping, &U::mapping> *);
@@ -325,7 +326,7 @@ public:
// Test if MappingContextTraits<T>::validate() is defined on type T.
template <class T, class Context> struct has_MappingValidateTraits {
- typedef StringRef (*Signature_validate)(class IO &, T &, Context &);
+ using Signature_validate = StringRef (*)(class IO &, T &, Context &);
template <typename U>
static char test(SameType<Signature_validate, &U::validate>*);
@@ -340,7 +341,7 @@ public:
// Test if MappingTraits<T>::validate() is defined on type T.
template <class T> struct has_MappingValidateTraits<T, EmptyContext> {
- typedef StringRef (*Signature_validate)(class IO &, T &);
+ using Signature_validate = StringRef (*)(class IO &, T &);
template <typename U>
static char test(SameType<Signature_validate, &U::validate> *);
@@ -355,7 +356,7 @@ public:
template <class T>
struct has_SequenceMethodTraits
{
- typedef size_t (*Signature_size)(class IO&, T&);
+ using Signature_size = size_t (*)(class IO&, T&);
template <typename U>
static char test(SameType<Signature_size, &U::size>*);
@@ -371,7 +372,7 @@ public:
template <class T>
struct has_CustomMappingTraits
{
- typedef void (*Signature_input)(IO &io, StringRef key, T &v);
+ using Signature_input = void (*)(IO &io, StringRef key, T &v);
template <typename U>
static char test(SameType<Signature_input, &U::inputOne>*);
@@ -422,7 +423,7 @@ struct has_SequenceTraits : public std::integral_constant<bool,
template <class T>
struct has_DocumentListTraits
{
- typedef size_t (*Signature_size)(class IO&, T&);
+ using Signature_size = size_t (*)(class IO &, T &);
template <typename U>
static char test(SameType<Signature_size, &U::size>*);
@@ -537,7 +538,7 @@ struct unvalidatedMappingTraits
// Base class for Input and Output.
class IO {
public:
- IO(void *Ctxt=nullptr);
+ IO(void *Ctxt = nullptr);
virtual ~IO();
virtual bool outputting() = 0;
@@ -638,6 +639,7 @@ public:
EmptyContext Ctx;
this->processKey(Key, Val, true, Ctx);
}
+
template <typename T, typename Context>
void mapRequired(const char *Key, T &Val, Context &Ctx) {
this->processKey(Key, Val, true, Ctx);
@@ -773,7 +775,7 @@ typename std::enable_if<has_ScalarTraits<T>::value, void>::type
yamlize(IO &io, T &Val, bool, EmptyContext &Ctx) {
if ( io.outputting() ) {
std::string Storage;
- llvm::raw_string_ostream Buffer(Storage);
+ raw_string_ostream Buffer(Storage);
ScalarTraits<T>::output(Val, io.getContext(), Buffer);
StringRef Str = Buffer.str();
io.scalarString(Str, ScalarTraits<T>::mustQuote(Str));
@@ -783,7 +785,7 @@ yamlize(IO &io, T &Val, bool, EmptyContext &Ctx) {
io.scalarString(Str, ScalarTraits<T>::mustQuote(Str));
StringRef Result = ScalarTraits<T>::input(Str, io.getContext(), Val);
if ( !Result.empty() ) {
- io.setError(llvm::Twine(Result));
+ io.setError(Twine(Result));
}
}
}
@@ -793,7 +795,7 @@ typename std::enable_if<has_BlockScalarTraits<T>::value, void>::type
yamlize(IO &YamlIO, T &Val, bool, EmptyContext &Ctx) {
if (YamlIO.outputting()) {
std::string Storage;
- llvm::raw_string_ostream Buffer(Storage);
+ raw_string_ostream Buffer(Storage);
BlockScalarTraits<T>::output(Val, YamlIO.getContext(), Buffer);
StringRef Str = Buffer.str();
YamlIO.blockScalarString(Str);
@@ -803,7 +805,7 @@ yamlize(IO &YamlIO, T &Val, bool, EmptyContext &Ctx) {
StringRef Result =
BlockScalarTraits<T>::input(Str, YamlIO.getContext(), Val);
if (!Result.empty())
- YamlIO.setError(llvm::Twine(Result));
+ YamlIO.setError(Twine(Result));
}
}
@@ -817,7 +819,7 @@ yamlize(IO &io, T &Val, bool, Context &Ctx) {
if (io.outputting()) {
StringRef Err = MappingTraits<T>::validate(io, Val);
if (!Err.empty()) {
- llvm::errs() << Err << "\n";
+ errs() << Err << "\n";
assert(Err.empty() && "invalid struct trying to be written as yaml");
}
}
@@ -871,7 +873,7 @@ yamlize(IO &io, T &Val, bool, EmptyContext &Ctx) {
template <typename T, typename Context>
typename std::enable_if<has_SequenceTraits<T>::value, void>::type
yamlize(IO &io, T &Seq, bool, Context &Ctx) {
- if ( has_FlowTraits< SequenceTraits<T> >::value ) {
+ if ( has_FlowTraits< SequenceTraits<T>>::value ) {
unsigned incnt = io.beginFlowSequence();
unsigned count = io.outputting() ? SequenceTraits<T>::size(io, Seq) : incnt;
for(unsigned i=0; i < count; ++i) {
@@ -899,92 +901,92 @@ yamlize(IO &io, T &Seq, bool, Context &Ctx) {
template<>
struct ScalarTraits<bool> {
- static void output(const bool &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, bool &);
+ static void output(const bool &, void* , raw_ostream &);
+ static StringRef input(StringRef, void *, bool &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<StringRef> {
- static void output(const StringRef &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, StringRef &);
+ static void output(const StringRef &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, StringRef &);
static bool mustQuote(StringRef S) { return needsQuotes(S); }
};
template<>
struct ScalarTraits<std::string> {
- static void output(const std::string &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, std::string &);
+ static void output(const std::string &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, std::string &);
static bool mustQuote(StringRef S) { return needsQuotes(S); }
};
template<>
struct ScalarTraits<uint8_t> {
- static void output(const uint8_t &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, uint8_t &);
+ static void output(const uint8_t &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, uint8_t &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<uint16_t> {
- static void output(const uint16_t &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, uint16_t &);
+ static void output(const uint16_t &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, uint16_t &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<uint32_t> {
- static void output(const uint32_t &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, uint32_t &);
+ static void output(const uint32_t &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, uint32_t &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<uint64_t> {
- static void output(const uint64_t &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, uint64_t &);
+ static void output(const uint64_t &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, uint64_t &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<int8_t> {
- static void output(const int8_t &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, int8_t &);
+ static void output(const int8_t &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, int8_t &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<int16_t> {
- static void output(const int16_t &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, int16_t &);
+ static void output(const int16_t &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, int16_t &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<int32_t> {
- static void output(const int32_t &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, int32_t &);
+ static void output(const int32_t &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, int32_t &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<int64_t> {
- static void output(const int64_t &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, int64_t &);
+ static void output(const int64_t &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, int64_t &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<float> {
- static void output(const float &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, float &);
+ static void output(const float &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, float &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<double> {
- static void output(const double &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, double &);
+ static void output(const double &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, double &);
static bool mustQuote(StringRef) { return false; }
};
@@ -994,12 +996,11 @@ struct ScalarTraits<double> {
template <typename value_type, support::endianness endian, size_t alignment>
struct ScalarTraits<support::detail::packed_endian_specific_integral<
value_type, endian, alignment>> {
- typedef support::detail::packed_endian_specific_integral<value_type, endian,
- alignment>
- endian_type;
+ using endian_type =
+ support::detail::packed_endian_specific_integral<value_type, endian,
+ alignment>;
- static void output(const endian_type &E, void *Ctx,
- llvm::raw_ostream &Stream) {
+ static void output(const endian_type &E, void *Ctx, raw_ostream &Stream) {
ScalarTraits<value_type>::output(static_cast<value_type>(E), Ctx, Stream);
}
@@ -1039,7 +1040,7 @@ struct MappingNormalization {
TNorm* operator->() { return BufPtr; }
private:
- typedef llvm::AlignedCharArrayUnion<TNorm> Storage;
+ using Storage = AlignedCharArrayUnion<TNorm>;
Storage Buffer;
IO &io;
@@ -1051,9 +1052,8 @@ private:
// to [de]normalize an object for use with YAML conversion.
template <typename TNorm, typename TFinal>
struct MappingNormalizationHeap {
- MappingNormalizationHeap(IO &i_o, TFinal &Obj,
- llvm::BumpPtrAllocator *allocator)
- : io(i_o), BufPtr(nullptr), Result(Obj) {
+ MappingNormalizationHeap(IO &i_o, TFinal &Obj, BumpPtrAllocator *allocator)
+ : io(i_o), Result(Obj) {
if ( io.outputting() ) {
BufPtr = new (&Buffer) TNorm(io, Obj);
}
@@ -1077,11 +1077,11 @@ struct MappingNormalizationHeap {
TNorm* operator->() { return BufPtr; }
private:
- typedef llvm::AlignedCharArrayUnion<TNorm> Storage;
+ using Storage = AlignedCharArrayUnion<TNorm>;
Storage Buffer;
IO &io;
- TNorm *BufPtr;
+ TNorm *BufPtr = nullptr;
TFinal &Result;
};
@@ -1197,10 +1197,10 @@ private:
static inline bool classof(const MapHNode *) { return true; }
- typedef llvm::StringMap<std::unique_ptr<HNode>> NameToNode;
+ using NameToNode = StringMap<std::unique_ptr<HNode>>;
- NameToNode Mapping;
- llvm::SmallVector<std::string, 6> ValidKeys;
+ NameToNode Mapping;
+ SmallVector<std::string, 6> ValidKeys;
};
class SequenceHNode : public HNode {
@@ -1232,14 +1232,14 @@ public:
const Node *getCurrentNode() const;
private:
- llvm::SourceMgr SrcMgr; // must be before Strm
+ SourceMgr SrcMgr; // must be before Strm
std::unique_ptr<llvm::yaml::Stream> Strm;
std::unique_ptr<HNode> TopNode;
std::error_code EC;
- llvm::BumpPtrAllocator StringAllocator;
- llvm::yaml::document_iterator DocIterator;
+ BumpPtrAllocator StringAllocator;
+ document_iterator DocIterator;
std::vector<bool> BitValuesUsed;
- HNode *CurrentNode;
+ HNode *CurrentNode = nullptr;
bool ScalarMatchFound;
};
@@ -1249,7 +1249,7 @@ private:
///
class Output : public IO {
public:
- Output(llvm::raw_ostream &, void *Ctxt = nullptr, int WrapColumn = 70);
+ Output(raw_ostream &, void *Ctxt = nullptr, int WrapColumn = 70);
~Output() override;
/// \brief Set whether or not to output optional values which are equal
@@ -1312,17 +1312,17 @@ private:
inFlowMapOtherKey
};
- llvm::raw_ostream &Out;
- int WrapColumn;
- SmallVector<InState, 8> StateStack;
- int Column;
- int ColumnAtFlowStart;
- int ColumnAtMapFlowStart;
- bool NeedBitValueComma;
- bool NeedFlowSequenceComma;
- bool EnumerationMatchFound;
- bool NeedsNewLine;
- bool WriteDefaultValues;
+ raw_ostream &Out;
+ int WrapColumn;
+ SmallVector<InState, 8> StateStack;
+ int Column = 0;
+ int ColumnAtFlowStart = 0;
+ int ColumnAtMapFlowStart = 0;
+ bool NeedBitValueComma = false;
+ bool NeedFlowSequenceComma = false;
+ bool EnumerationMatchFound = false;
+ bool NeedsNewLine = false;
+ bool WriteDefaultValues = false;
};
/// YAML I/O does conversion based on types. But often native data types
@@ -1345,7 +1345,7 @@ private:
bool operator==(const _base &rhs) const { return value == rhs; } \
bool operator<(const _type &rhs) const { return value < rhs.value; } \
_base value; \
- typedef _base BaseType; \
+ using BaseType = _base; \
};
///
@@ -1359,29 +1359,29 @@ LLVM_YAML_STRONG_TYPEDEF(uint64_t, Hex64)
template<>
struct ScalarTraits<Hex8> {
- static void output(const Hex8 &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, Hex8 &);
+ static void output(const Hex8 &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, Hex8 &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<Hex16> {
- static void output(const Hex16 &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, Hex16 &);
+ static void output(const Hex16 &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, Hex16 &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<Hex32> {
- static void output(const Hex32 &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, Hex32 &);
+ static void output(const Hex32 &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, Hex32 &);
static bool mustQuote(StringRef) { return false; }
};
template<>
struct ScalarTraits<Hex64> {
- static void output(const Hex64 &, void*, llvm::raw_ostream &);
- static StringRef input(StringRef, void*, Hex64 &);
+ static void output(const Hex64 &, void *, raw_ostream &);
+ static StringRef input(StringRef, void *, Hex64 &);
static bool mustQuote(StringRef) { return false; }
};
@@ -1545,8 +1545,10 @@ operator<<(Output &yout, T &seq) {
}
template <typename T> struct SequenceTraitsImpl {
- typedef typename T::value_type _type;
+ using _type = typename T::value_type;
+
static size_t size(IO &io, T &seq) { return seq.size(); }
+
static _type &element(IO &io, T &seq, size_t index) {
if (index >= seq.size())
seq.resize(index + 1);
@@ -1556,10 +1558,12 @@ template <typename T> struct SequenceTraitsImpl {
/// Implementation of CustomMappingTraits for std::map<std::string, T>.
template <typename T> struct StdMapStringCustomMappingTraitsImpl {
- typedef std::map<std::string, T> map_type;
+ using map_type = std::map<std::string, T>;
+
static void inputOne(IO &io, StringRef key, map_type &v) {
io.mapRequired(key.str().c_str(), v[key]);
}
+
static void output(IO &io, map_type &v) {
for (auto &p : v)
io.mapRequired(p.first.c_str(), p.second);
@@ -1637,7 +1641,7 @@ template <typename T> struct StdMapStringCustomMappingTraitsImpl {
namespace llvm { \
namespace yaml { \
template <> struct ScalarTraits<Type> { \
- static void output(const Type &Value, void *ctx, llvm::raw_ostream &Out); \
+ static void output(const Type &Value, void *ctx, raw_ostream &Out); \
static StringRef input(StringRef Scalar, void *ctxt, Type &Value); \
static bool mustQuote(StringRef) { return MustQuote; } \
}; \
diff --git a/include/llvm/TableGen/Main.h b/include/llvm/TableGen/Main.h
index ca8c95cb6da2..670572dc8103 100644
--- a/include/llvm/TableGen/Main.h
+++ b/include/llvm/TableGen/Main.h
@@ -19,8 +19,8 @@ namespace llvm {
class raw_ostream;
class RecordKeeper;
-/// \brief Perform the action using Records, and write output to OS.
-/// \returns true on error, false otherwise
+/// Perform the action using Records, and write output to OS.
+/// Returns true on error, false otherwise.
using TableGenMainFn = bool (raw_ostream &OS, RecordKeeper &Records);
int TableGenMain(char *argv0, TableGenMainFn *MainFn);
diff --git a/include/llvm/Target/GenericOpcodes.td b/include/llvm/Target/GenericOpcodes.td
index de3796cd4ee5..9593d8bd7edb 100644
--- a/include/llvm/Target/GenericOpcodes.td
+++ b/include/llvm/Target/GenericOpcodes.td
@@ -386,6 +386,15 @@ def G_FMUL : Instruction {
let isCommutable = 1;
}
+// Generic fused multiply-add instruction.
+// Behaves like llvm fma intrinsic ie src1 * src2 + src3
+def G_FMA : Instruction {
+ let OutOperandList = (outs type0:$dst);
+ let InOperandList = (ins type0:$src1, type0:$src2, type0:$src3);
+ let hasSideEffects = 0;
+ let isCommutable = 0;
+}
+
// Generic FP division.
def G_FDIV : Instruction {
let OutOperandList = (outs type0:$dst);
@@ -456,15 +465,6 @@ def G_INSERT : Instruction {
let hasSideEffects = 0;
}
-// Combine a sequence of generic vregs into a single larger value (starting at
-// bit 0). Essentially a G_INSERT where $src is an IMPLICIT_DEF, but it's so
-// important to legalization it probably deserves its own instruction.
-def G_SEQUENCE : Instruction {
- let OutOperandList = (outs type0:$dst);
- let InOperandList = (ins variable_ops);
- let hasSideEffects = 0;
-}
-
def G_MERGE_VALUES : Instruction {
let OutOperandList = (outs type0:$dst);
let InOperandList = (ins variable_ops);
diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h
index 7595d4339810..2fc3ec996e7f 100644
--- a/include/llvm/Target/TargetInstrInfo.h
+++ b/include/llvm/Target/TargetInstrInfo.h
@@ -1,4 +1,4 @@
-//===-- llvm/Target/TargetInstrInfo.h - Instruction Info --------*- C++ -*-===//
+//===- llvm/Target/TargetInstrInfo.h - Instruction Info ---------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,36 +14,46 @@
#ifndef LLVM_TARGET_TARGETINSTRINFO_H
#define LLVM_TARGET_TARGETINSTRINFO_H
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
-#include "llvm/ADT/SmallSet.h"
+#include "llvm/ADT/DenseMapInfo.h"
+#include "llvm/ADT/None.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
+#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineCombinerPattern.h"
#include "llvm/CodeGen/MachineFunction.h"
+#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
+#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/Support/BranchProbability.h"
-#include "llvm/Target/TargetRegisterInfo.h"
+#include "llvm/Support/ErrorHandling.h"
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <utility>
+#include <vector>
namespace llvm {
+class DFAPacketizer;
class InstrItineraryData;
class LiveVariables;
-class MCAsmInfo;
class MachineMemOperand;
class MachineRegisterInfo;
-class MDNode;
+class MCAsmInfo;
class MCInst;
struct MCSchedModel;
-class MCSymbolRefExpr;
-class SDNode;
+class Module;
+class ScheduleDAG;
class ScheduleHazardRecognizer;
+class SDNode;
class SelectionDAG;
-class ScheduleDAG;
+class RegScavenger;
class TargetRegisterClass;
class TargetRegisterInfo;
-class TargetSubtargetInfo;
class TargetSchedModel;
-class DFAPacketizer;
+class TargetSubtargetInfo;
template<class T> class SmallVectorImpl;
@@ -52,8 +62,6 @@ template<class T> class SmallVectorImpl;
/// TargetInstrInfo - Interface to description of machine instruction set
///
class TargetInstrInfo : public MCInstrInfo {
- TargetInstrInfo(const TargetInstrInfo &) = delete;
- void operator=(const TargetInstrInfo &) = delete;
public:
TargetInstrInfo(unsigned CFSetupOpcode = ~0u, unsigned CFDestroyOpcode = ~0u,
unsigned CatchRetOpcode = ~0u, unsigned ReturnOpcode = ~0u)
@@ -61,7 +69,8 @@ public:
CallFrameDestroyOpcode(CFDestroyOpcode),
CatchRetOpcode(CatchRetOpcode),
ReturnOpcode(ReturnOpcode) {}
-
+ TargetInstrInfo(const TargetInstrInfo &) = delete;
+ TargetInstrInfo &operator=(const TargetInstrInfo &) = delete;
virtual ~TargetInstrInfo();
static bool isGenericOpcode(unsigned Opc) {
@@ -396,14 +405,17 @@ public:
struct RegSubRegPair {
unsigned Reg;
unsigned SubReg;
+
RegSubRegPair(unsigned Reg = 0, unsigned SubReg = 0)
: Reg(Reg), SubReg(SubReg) {}
};
+
/// A pair composed of a pair of a register and a sub-register index,
/// and another sub-register index.
/// Used to give some type checking when modeling Reg:SubReg1, SubReg2.
struct RegSubRegPairAndIdx : RegSubRegPair {
unsigned SubIdx;
+
RegSubRegPairAndIdx(unsigned Reg = 0, unsigned SubReg = 0,
unsigned SubIdx = 0)
: RegSubRegPair(Reg, SubReg), SubIdx(SubIdx) {}
@@ -469,7 +481,6 @@ public:
RegSubRegPair &BaseReg,
RegSubRegPairAndIdx &InsertedReg) const;
-
/// Return true if two machine instructions would produce identical values.
/// By default, this is only true when the two instructions
/// are deemed identical except for defs. If this function is called when the
@@ -551,23 +562,19 @@ public:
PRED_INVALID // Sentinel value
};
- ComparePredicate Predicate;
- MachineOperand LHS;
- MachineOperand RHS;
- MachineBasicBlock *TrueDest;
- MachineBasicBlock *FalseDest;
- MachineInstr *ConditionDef;
+ ComparePredicate Predicate = PRED_INVALID;
+ MachineOperand LHS = MachineOperand::CreateImm(0);
+ MachineOperand RHS = MachineOperand::CreateImm(0);
+ MachineBasicBlock *TrueDest = nullptr;
+ MachineBasicBlock *FalseDest = nullptr;
+ MachineInstr *ConditionDef = nullptr;
/// SingleUseCondition is true if ConditionDef is dead except for the
/// branch(es) at the end of the basic block.
///
- bool SingleUseCondition;
+ bool SingleUseCondition = false;
- explicit MachineBranchPredicate()
- : Predicate(PRED_INVALID), LHS(MachineOperand::CreateImm(0)),
- RHS(MachineOperand::CreateImm(0)), TrueDest(nullptr),
- FalseDest(nullptr), ConditionDef(nullptr), SingleUseCondition(false) {
- }
+ explicit MachineBranchPredicate() = default;
};
/// Analyze the branching code at the end of MBB and parse it into the
@@ -1117,7 +1124,6 @@ public:
virtual void insertNoop(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MI) const;
-
/// Return the noop instruction to use for a noop.
virtual void getNoop(MCInst &NopInst) const;
@@ -1621,16 +1627,18 @@ private:
/// \brief Provide DenseMapInfo for TargetInstrInfo::RegSubRegPair.
template<>
struct DenseMapInfo<TargetInstrInfo::RegSubRegPair> {
- typedef DenseMapInfo<unsigned> RegInfo;
+ using RegInfo = DenseMapInfo<unsigned>;
static inline TargetInstrInfo::RegSubRegPair getEmptyKey() {
return TargetInstrInfo::RegSubRegPair(RegInfo::getEmptyKey(),
RegInfo::getEmptyKey());
}
+
static inline TargetInstrInfo::RegSubRegPair getTombstoneKey() {
return TargetInstrInfo::RegSubRegPair(RegInfo::getTombstoneKey(),
RegInfo::getTombstoneKey());
}
+
/// \brief Reuse getHashValue implementation from
/// std::pair<unsigned, unsigned>.
static unsigned getHashValue(const TargetInstrInfo::RegSubRegPair &Val) {
@@ -1638,6 +1646,7 @@ struct DenseMapInfo<TargetInstrInfo::RegSubRegPair> {
std::make_pair(Val.Reg, Val.SubReg);
return DenseMapInfo<std::pair<unsigned, unsigned>>::getHashValue(PairVal);
}
+
static bool isEqual(const TargetInstrInfo::RegSubRegPair &LHS,
const TargetInstrInfo::RegSubRegPair &RHS) {
return RegInfo::isEqual(LHS.Reg, RHS.Reg) &&
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index a9d67228d205..22dab2e82828 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -1,4 +1,4 @@
-//===-- llvm/Target/TargetLowering.h - Target Lowering Info -----*- C++ -*-===//
+//===- llvm/Target/TargetLowering.h - Target Lowering Info ------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -23,6 +23,7 @@
#ifndef LLVM_TARGET_TARGETLOWERING_H
#define LLVM_TARGET_TARGETLOWERING_H
+#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
@@ -40,6 +41,7 @@
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
+#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/Instruction.h"
@@ -66,10 +68,13 @@ namespace llvm {
class BranchProbability;
class CCState;
class CCValAssign;
+class Constant;
class FastISel;
class FunctionLoweringInfo;
+class GlobalValue;
class IntrinsicInst;
struct KnownBits;
+class LLVMContext;
class MachineBasicBlock;
class MachineFunction;
class MachineInstr;
@@ -78,6 +83,7 @@ class MachineLoop;
class MachineRegisterInfo;
class MCContext;
class MCExpr;
+class Module;
class TargetRegisterClass;
class TargetLibraryInfo;
class TargetRegisterInfo;
@@ -127,7 +133,7 @@ public:
/// LegalizeKind holds the legalization kind that needs to happen to EVT
/// in order to type-legalize it.
- typedef std::pair<LegalizeTypeAction, EVT> LegalizeKind;
+ using LegalizeKind = std::pair<LegalizeTypeAction, EVT>;
/// Enum that describes how the target represents true/false values.
enum BooleanContent {
@@ -189,7 +195,7 @@ public:
void setAttributes(ImmutableCallSite *CS, unsigned ArgIdx);
};
- typedef std::vector<ArgListEntry> ArgListTy;
+ using ArgListTy = std::vector<ArgListEntry>;
virtual void markLibCallAttributes(MachineFunction *MF, unsigned CC,
ArgListTy &Args) const {};
@@ -211,8 +217,8 @@ public:
/// NOTE: The TargetMachine owns TLOF.
explicit TargetLoweringBase(const TargetMachine &TM);
- TargetLoweringBase(const TargetLoweringBase&) = delete;
- void operator=(const TargetLoweringBase&) = delete;
+ TargetLoweringBase(const TargetLoweringBase &) = delete;
+ TargetLoweringBase &operator=(const TargetLoweringBase &) = delete;
virtual ~TargetLoweringBase() = default;
protected:
@@ -404,6 +410,10 @@ public:
return false;
}
+ /// Should we merge stores after Legalization (generally
+ /// better quality) or before (simpler)
+ virtual bool mergeStoresAfterLegalization() const { return false; }
+
/// Returns if it's reasonable to merge stores to MemVT size.
virtual bool canMergeStoresTo(unsigned AddressSpace, EVT MemVT) const {
return true;
@@ -1364,6 +1374,12 @@ public:
/// Returns the target-specific address of the unsafe stack pointer.
virtual Value *getSafeStackPointerLocation(IRBuilder<> &IRB) const;
+ /// Returns the name of the symbol used to emit stack probes or the empty
+ /// string if not applicable.
+ virtual StringRef getStackProbeSymbolName(MachineFunction &MF) const {
+ return "";
+ }
+
/// Returns true if a cast between SrcAS and DestAS is a noop.
virtual bool isNoopAddrSpaceCast(unsigned SrcAS, unsigned DestAS) const {
return false;
@@ -2455,8 +2471,8 @@ class TargetLowering : public TargetLoweringBase {
public:
struct DAGCombinerInfo;
- TargetLowering(const TargetLowering&) = delete;
- void operator=(const TargetLowering&) = delete;
+ TargetLowering(const TargetLowering &) = delete;
+ TargetLowering &operator=(const TargetLowering &) = delete;
/// NOTE: The TargetMachine owns TLOF.
explicit TargetLowering(const TargetMachine &TM);
@@ -2772,7 +2788,6 @@ public:
/// described by the Ins array, into the specified DAG. The implementation
/// should fill in the InVals array with legal-type argument values, and
/// return the resulting token chain value.
- ///
virtual SDValue LowerFormalArguments(
SDValue /*Chain*/, CallingConv::ID /*CallConv*/, bool /*isVarArg*/,
const SmallVectorImpl<ISD::InputArg> & /*Ins*/, const SDLoc & /*dl*/,
@@ -2786,7 +2801,7 @@ public:
/// implementation.
struct CallLoweringInfo {
SDValue Chain;
- Type *RetTy;
+ Type *RetTy = nullptr;
bool RetSExt : 1;
bool RetZExt : 1;
bool IsVarArg : 1;
@@ -2794,30 +2809,28 @@ public:
bool DoesNotReturn : 1;
bool IsReturnValueUsed : 1;
bool IsConvergent : 1;
+ bool IsPatchPoint : 1;
// IsTailCall should be modified by implementations of
// TargetLowering::LowerCall that perform tail call conversions.
- bool IsTailCall;
+ bool IsTailCall = false;
- unsigned NumFixedArgs;
- CallingConv::ID CallConv;
+ unsigned NumFixedArgs = -1;
+ CallingConv::ID CallConv = CallingConv::C;
SDValue Callee;
ArgListTy Args;
SelectionDAG &DAG;
SDLoc DL;
- ImmutableCallSite *CS;
- bool IsPatchPoint;
+ ImmutableCallSite *CS = nullptr;
SmallVector<ISD::OutputArg, 32> Outs;
SmallVector<SDValue, 32> OutVals;
SmallVector<ISD::InputArg, 32> Ins;
SmallVector<SDValue, 4> InVals;
CallLoweringInfo(SelectionDAG &DAG)
- : RetTy(nullptr), RetSExt(false), RetZExt(false), IsVarArg(false),
- IsInReg(false), DoesNotReturn(false), IsReturnValueUsed(true),
- IsConvergent(false), IsTailCall(false), NumFixedArgs(-1),
- CallConv(CallingConv::C), DAG(DAG), CS(nullptr), IsPatchPoint(false) {
- }
+ : RetSExt(false), RetZExt(false), IsVarArg(false), IsInReg(false),
+ DoesNotReturn(false), IsReturnValueUsed(true), IsConvergent(false),
+ IsPatchPoint(false), DAG(DAG) {}
CallLoweringInfo &setDebugLoc(const SDLoc &dl) {
DL = dl;
@@ -3091,7 +3104,6 @@ public:
return nullptr;
}
-
bool verifyReturnAddressArgumentIsConstant(SDValue Op,
SelectionDAG &DAG) const;
@@ -3140,15 +3152,19 @@ public:
/// Information about the constraint code, e.g. Register, RegisterClass,
/// Memory, Other, Unknown.
- TargetLowering::ConstraintType ConstraintType;
+ TargetLowering::ConstraintType ConstraintType = TargetLowering::C_Unknown;
/// If this is the result output operand or a clobber, this is null,
/// otherwise it is the incoming operand to the CallInst. This gets
/// modified as the asm is processed.
- Value *CallOperandVal;
+ Value *CallOperandVal = nullptr;
/// The ValueType for the operand value.
- MVT ConstraintVT;
+ MVT ConstraintVT = MVT::Other;
+
+ /// Copy constructor for copying from a ConstraintInfo.
+ AsmOperandInfo(InlineAsm::ConstraintInfo Info)
+ : InlineAsm::ConstraintInfo(std::move(Info)) {}
/// Return true of this is an input operand that is a matching constraint
/// like "4".
@@ -3157,15 +3173,9 @@ public:
/// If this is an input matching constraint, this method returns the output
/// operand it matches.
unsigned getMatchedOperand() const;
-
- /// Copy constructor for copying from a ConstraintInfo.
- AsmOperandInfo(InlineAsm::ConstraintInfo Info)
- : InlineAsm::ConstraintInfo(std::move(Info)),
- ConstraintType(TargetLowering::C_Unknown), CallOperandVal(nullptr),
- ConstraintVT(MVT::Other) {}
};
- typedef std::vector<AsmOperandInfo> AsmOperandInfoVector;
+ using AsmOperandInfoVector = std::vector<AsmOperandInfo>;
/// Split up the constraint string from the inline assembly value into the
/// specific constraints and their prefixes, and also tie in the associated
diff --git a/include/llvm/Target/TargetOpcodes.def b/include/llvm/Target/TargetOpcodes.def
index 36764249632d..836b11cf89c6 100644
--- a/include/llvm/Target/TargetOpcodes.def
+++ b/include/llvm/Target/TargetOpcodes.def
@@ -241,8 +241,6 @@ HANDLE_TARGET_OPCODE(G_INSERT)
/// Generic instruction to paste a variable number of components together into a
/// larger register.
-HANDLE_TARGET_OPCODE(G_SEQUENCE)
-
HANDLE_TARGET_OPCODE(G_MERGE_VALUES)
/// Generic pointer to int conversion.
@@ -359,6 +357,9 @@ HANDLE_TARGET_OPCODE(G_FSUB)
/// Generic FP multiplication.
HANDLE_TARGET_OPCODE(G_FMUL)
+/// Generic FMA multiplication. Behaves like llvm fma intrinsic
+HANDLE_TARGET_OPCODE(G_FMA)
+
/// Generic FP division.
HANDLE_TARGET_OPCODE(G_FDIV)
diff --git a/include/llvm/Target/TargetRegisterInfo.h b/include/llvm/Target/TargetRegisterInfo.h
index 86ad8ad53052..b6839dad106f 100644
--- a/include/llvm/Target/TargetRegisterInfo.h
+++ b/include/llvm/Target/TargetRegisterInfo.h
@@ -1,4 +1,4 @@
-//=== Target/TargetRegisterInfo.h - Target Register Information -*- C++ -*-===//
+//==- Target/TargetRegisterInfo.h - Target Register Information --*- C++ -*-==//
//
// The LLVM Compiler Infrastructure
//
@@ -17,30 +17,35 @@
#define LLVM_TARGET_TARGETREGISTERINFO_H
#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineValueType.h"
#include "llvm/IR/CallingConv.h"
+#include "llvm/MC/LaneBitmask.h"
#include "llvm/MC/MCRegisterInfo.h"
+#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Printable.h"
#include <cassert>
+#include <cstdint>
#include <functional>
namespace llvm {
class BitVector;
+class LiveRegMatrix;
class MachineFunction;
+class MachineInstr;
class RegScavenger;
-template<class T> class SmallVectorImpl;
class VirtRegMap;
-class raw_ostream;
-class LiveRegMatrix;
class TargetRegisterClass {
public:
- typedef const MCPhysReg* iterator;
- typedef const MCPhysReg* const_iterator;
- typedef const TargetRegisterClass* const * sc_iterator;
+ using iterator = const MCPhysReg *;
+ using const_iterator = const MCPhysReg *;
+ using sc_iterator = const TargetRegisterClass* const *;
// Instance variables filled by tablegen, do not use!
const MCRegisterClass *MC;
@@ -151,7 +156,6 @@ public:
/// There exists SuperRC where:
/// For all Reg in SuperRC:
/// this->contains(Reg:Idx)
- ///
const uint16_t *getSuperRegIndices() const {
return SuperRegIndices;
}
@@ -182,7 +186,6 @@ public:
/// other criteria.
///
/// By default, this method returns all registers in the class.
- ///
ArrayRef<MCPhysReg> getRawAllocationOrder(const MachineFunction &MF) const {
return OrderFunc ? OrderFunc(MF) : makeArrayRef(begin(), getNumRegs());
}
@@ -217,8 +220,9 @@ struct RegClassWeight {
///
class TargetRegisterInfo : public MCRegisterInfo {
public:
- typedef const TargetRegisterClass * const * regclass_iterator;
- typedef const MVT::SimpleValueType* vt_iterator;
+ using regclass_iterator = const TargetRegisterClass * const *;
+ using vt_iterator = const MVT::SimpleValueType *;
+
private:
const TargetRegisterInfoDesc *InfoDesc; // Extra desc array for codegen
const char *const *SubRegIndexNames; // Names of subreg indexes.
@@ -236,8 +240,8 @@ protected:
const LaneBitmask *SRILaneMasks,
LaneBitmask CoveringLanes);
virtual ~TargetRegisterInfo();
-public:
+public:
// Register numbers can represent physical registers, virtual registers, and
// sometimes stack slots. The unsigned values are divided into these ranges:
//
@@ -510,7 +514,7 @@ public:
/// Prior to adding the live-out mask to a stackmap or patchpoint
/// instruction, provide the target the opportunity to adjust it (mainly to
/// remove pseudo-registers that should be ignored).
- virtual void adjustStackMapLiveOutMask(uint32_t *Mask) const { }
+ virtual void adjustStackMapLiveOutMask(uint32_t *Mask) const {}
/// Return a super-register of the specified register
/// Reg so its sub-register of index SubIdx is Reg.
@@ -568,7 +572,6 @@ public:
/// The ARM register Q0 has two D subregs dsub_0:D0 and dsub_1:D1. It also has
/// ssub_0:S0 - ssub_3:S3 subregs.
/// If you compose subreg indices dsub_1, ssub_0 you get ssub_2.
- ///
unsigned composeSubRegIndices(unsigned a, unsigned b) const {
if (!a) return b;
if (!b) return a;
@@ -643,7 +646,6 @@ public:
/// corresponding argument register class.
///
/// The function returns NULL if no register class can be found.
- ///
const TargetRegisterClass*
getCommonSuperRegClass(const TargetRegisterClass *RCA, unsigned SubA,
const TargetRegisterClass *RCB, unsigned SubB,
@@ -654,7 +656,6 @@ public:
//
/// Register class iterators
- ///
regclass_iterator regclass_begin() const { return RegClassBegin; }
regclass_iterator regclass_end() const { return RegClassEnd; }
iterator_range<regclass_iterator> regclasses() const {
@@ -909,7 +910,6 @@ public:
/// Return true if the register was spilled, false otherwise.
/// If this function does not spill the register, the scavenger
/// will instead spill it to the emergency spill slot.
- ///
virtual bool saveScavengerRegister(MachineBasicBlock &MBB,
MachineBasicBlock::iterator I,
MachineBasicBlock::iterator &UseMI,
@@ -968,7 +968,6 @@ public:
ArrayRef<MCPhysReg> Exceptions = ArrayRef<MCPhysReg>()) const;
};
-
//===----------------------------------------------------------------------===//
// SuperRegClassIterator
//===----------------------------------------------------------------------===//
@@ -987,7 +986,7 @@ public:
//
class SuperRegClassIterator {
const unsigned RCMaskWords;
- unsigned SubReg;
+ unsigned SubReg = 0;
const uint16_t *Idx;
const uint32_t *Mask;
@@ -998,9 +997,7 @@ public:
const TargetRegisterInfo *TRI,
bool IncludeSelf = false)
: RCMaskWords((TRI->getNumRegClasses() + 31) / 32),
- SubReg(0),
- Idx(RC->getSuperRegIndices()),
- Mask(RC->getSubClassMask()) {
+ Idx(RC->getSuperRegIndices()), Mask(RC->getSubClassMask()) {
if (!IncludeSelf)
++*this;
}
@@ -1039,12 +1036,12 @@ class BitMaskClassIterator {
/// Base index of CurrentChunk.
/// In other words, the number of bit we read to get at the
/// beginning of that chunck.
- unsigned Base;
+ unsigned Base = 0;
/// Adjust base index of CurrentChunk.
/// Base index + how many bit we read within CurrentChunk.
- unsigned Idx;
+ unsigned Idx = 0;
/// Current register class ID.
- unsigned ID;
+ unsigned ID = 0;
/// Mask we are iterating over.
const uint32_t *Mask;
/// Current chunk of the Mask we are traversing.
@@ -1098,8 +1095,7 @@ public:
///
/// \pre \p Mask != nullptr
BitMaskClassIterator(const uint32_t *Mask, const TargetRegisterInfo &TRI)
- : NumRegClasses(TRI.getNumRegClasses()), Base(0), Idx(0), ID(0),
- Mask(Mask), CurrentChunk(*Mask) {
+ : NumRegClasses(TRI.getNumRegClasses()), Mask(Mask), CurrentChunk(*Mask) {
// Move to the first ID.
moveToNextID();
}
@@ -1151,6 +1147,6 @@ Printable PrintRegUnit(unsigned Unit, const TargetRegisterInfo *TRI);
/// registers on a \ref raw_ostream.
Printable PrintVRegOrUnit(unsigned VRegOrUnit, const TargetRegisterInfo *TRI);
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_TARGET_TARGETREGISTERINFO_H
diff --git a/include/llvm/Target/TargetSubtargetInfo.h b/include/llvm/Target/TargetSubtargetInfo.h
index 9cb07a5c6dae..9440c56dcf17 100644
--- a/include/llvm/Target/TargetSubtargetInfo.h
+++ b/include/llvm/Target/TargetSubtargetInfo.h
@@ -1,4 +1,4 @@
-//==-- llvm/Target/TargetSubtargetInfo.h - Target Information ----*- C++ -*-==//
+//===- llvm/Target/TargetSubtargetInfo.h - Target Information ---*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -20,21 +20,29 @@
#include "llvm/CodeGen/PBQPRAConstraint.h"
#include "llvm/CodeGen/ScheduleDAGMutation.h"
#include "llvm/CodeGen/SchedulerRegistry.h"
-#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/CodeGen.h"
#include <memory>
#include <vector>
+
namespace llvm {
class CallLowering;
+class InstrItineraryData;
+struct InstrStage;
class InstructionSelector;
class LegalizerInfo;
class MachineInstr;
+struct MachineSchedPolicy;
+struct MCReadAdvanceEntry;
+struct MCWriteLatencyEntry;
+struct MCWriteProcResEntry;
class RegisterBankInfo;
class SDep;
class SelectionDAGTargetInfo;
+struct SubtargetFeatureKV;
+struct SubtargetInfoKV;
class SUnit;
class TargetFrameLowering;
class TargetInstrInfo;
@@ -42,7 +50,7 @@ class TargetLowering;
class TargetRegisterClass;
class TargetRegisterInfo;
class TargetSchedModel;
-struct MachineSchedPolicy;
+class Triple;
//===----------------------------------------------------------------------===//
///
@@ -64,13 +72,13 @@ protected: // Can only create subclasses...
public:
// AntiDepBreakMode - Type of anti-dependence breaking that should
// be performed before post-RA scheduling.
- typedef enum { ANTIDEP_NONE, ANTIDEP_CRITICAL, ANTIDEP_ALL } AntiDepBreakMode;
- typedef SmallVectorImpl<const TargetRegisterClass *> RegClassVector;
+ using AntiDepBreakMode = enum { ANTIDEP_NONE, ANTIDEP_CRITICAL, ANTIDEP_ALL };
+ using RegClassVector = SmallVectorImpl<const TargetRegisterClass *>;
TargetSubtargetInfo() = delete;
TargetSubtargetInfo(const TargetSubtargetInfo &) = delete;
- void operator=(const TargetSubtargetInfo &) = delete;
- virtual ~TargetSubtargetInfo();
+ TargetSubtargetInfo &operator=(const TargetSubtargetInfo &) = delete;
+ ~TargetSubtargetInfo() override;
virtual bool isXRaySupported() const { return false; }
@@ -112,7 +120,6 @@ public:
/// getRegisterInfo - If register information is available, return it. If
/// not, return null.
- ///
virtual const TargetRegisterInfo *getRegisterInfo() const { return nullptr; }
/// If the information for the register banks is available, return it.
@@ -121,7 +128,6 @@ public:
/// getInstrItineraryData - Returns instruction itinerary data for the target
/// or specific subtarget.
- ///
virtual const InstrItineraryData *getInstrItineraryData() const {
return nullptr;
}
diff --git a/include/llvm/Testing/Support/Error.h b/include/llvm/Testing/Support/Error.h
index d52752901593..f23d289266ad 100644
--- a/include/llvm/Testing/Support/Error.h
+++ b/include/llvm/Testing/Support/Error.h
@@ -30,8 +30,8 @@ template <typename T> ExpectedHolder<T> TakeExpected(Expected<T> &Exp) {
return Result;
}
-template <typename T> ExpectedHolder<T> TakeExpected(const Expected<T> &Exp) {
- return TakeExpected(const_cast<Expected<T> &>(Exp));
+template <typename T> ExpectedHolder<T> TakeExpected(Expected<T> &&Exp) {
+ return TakeExpected(Exp);
}
} // namespace detail
diff --git a/include/llvm/Transforms/IPO/PassManagerBuilder.h b/include/llvm/Transforms/IPO/PassManagerBuilder.h
index 247382c35eeb..db4bfb15f51d 100644
--- a/include/llvm/Transforms/IPO/PassManagerBuilder.h
+++ b/include/llvm/Transforms/IPO/PassManagerBuilder.h
@@ -149,7 +149,6 @@ public:
bool SLPVectorize;
bool LoopVectorize;
bool RerollLoops;
- bool LoadCombine;
bool NewGVN;
bool DisableGVNLoadPRE;
bool VerifyInput;
diff --git a/include/llvm/Transforms/InstrProfiling.h b/include/llvm/Transforms/InstrProfiling.h
index 65e69761badd..0fe6ad5eeac7 100644
--- a/include/llvm/Transforms/InstrProfiling.h
+++ b/include/llvm/Transforms/InstrProfiling.h
@@ -28,6 +28,7 @@
namespace llvm {
class TargetLibraryInfo;
+using LoadStorePair = std::pair<Instruction *, Instruction *>;
/// Instrumentation based profiling lowering pass. This pass lowers
/// the profile instrumented code generated by FE or the IR based
@@ -60,11 +61,26 @@ private:
GlobalVariable *NamesVar;
size_t NamesSize;
+ // vector of counter load/store pairs to be register promoted.
+ std::vector<LoadStorePair> PromotionCandidates;
+
// The start value of precise value profile range for memory intrinsic sizes.
int64_t MemOPSizeRangeStart;
// The end value of precise value profile range for memory intrinsic sizes.
int64_t MemOPSizeRangeLast;
+ int64_t TotalCountersPromoted = 0;
+
+ /// Lower instrumentation intrinsics in the function. Returns true if there
+ /// any lowering.
+ bool lowerIntrinsics(Function *F);
+
+ /// Register-promote counter loads and stores in loops.
+ void promoteCounterLoadStores(Function *F);
+
+ /// Returns true if profile counter update register promotion is enabled.
+ bool isCounterPromotionEnabled() const;
+
/// Count the number of instrumented value sites for the function.
void computeNumValueSiteCounts(InstrProfValueProfileInst *Ins);
diff --git a/include/llvm/Transforms/Instrumentation.h b/include/llvm/Transforms/Instrumentation.h
index b6c6c091631d..f2fc6dc8dad5 100644
--- a/include/llvm/Transforms/Instrumentation.h
+++ b/include/llvm/Transforms/Instrumentation.h
@@ -116,6 +116,9 @@ struct InstrProfOptions {
// Add the 'noredzone' attribute to added runtime library calls.
bool NoRedZone = false;
+ // Do counter register promotion
+ bool DoCounterPromotion = false;
+
// Name of the profile file to use as output
std::string InstrProfileOutput;
diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h
index 856c288a071f..1913a9d5da02 100644
--- a/include/llvm/Transforms/Scalar.h
+++ b/include/llvm/Transforms/Scalar.h
@@ -487,12 +487,6 @@ FunctionPass *createSpeculativeExecutionIfHasBranchDivergencePass();
//===----------------------------------------------------------------------===//
//
-// LoadCombine - Combine loads into bigger loads.
-//
-BasicBlockPass *createLoadCombinePass();
-
-//===----------------------------------------------------------------------===//
-//
// StraightLineStrengthReduce - This pass strength-reduces some certain
// instruction patterns in straight-line code.
//
diff --git a/include/llvm/Transforms/Scalar/GVN.h b/include/llvm/Transforms/Scalar/GVN.h
index 589aaaca02fe..4c585a20021c 100644
--- a/include/llvm/Transforms/Scalar/GVN.h
+++ b/include/llvm/Transforms/Scalar/GVN.h
@@ -68,6 +68,21 @@ public:
class ValueTable {
DenseMap<Value *, uint32_t> valueNumbering;
DenseMap<Expression, uint32_t> expressionNumbering;
+
+ // Expressions is the vector of Expression. ExprIdx is the mapping from
+ // value number to the index of Expression in Expressions. We use it
+ // instead of a DenseMap because filling such mapping is faster than
+ // filling a DenseMap and the compile time is a little better.
+ uint32_t nextExprNumber;
+ std::vector<Expression> Expressions;
+ std::vector<uint32_t> ExprIdx;
+ // Value number to PHINode mapping. Used for phi-translate in scalarpre.
+ DenseMap<uint32_t, PHINode *> NumberingPhi;
+ // Cache for phi-translate in scalarpre.
+ typedef DenseMap<std::pair<uint32_t, const BasicBlock *>, uint32_t>
+ PhiTranslateMap;
+ PhiTranslateMap PhiTranslateTable;
+
AliasAnalysis *AA;
MemoryDependenceResults *MD;
DominatorTree *DT;
@@ -79,6 +94,10 @@ public:
Value *LHS, Value *RHS);
Expression createExtractvalueExpr(ExtractValueInst *EI);
uint32_t lookupOrAddCall(CallInst *C);
+ uint32_t phiTranslateImpl(const BasicBlock *BB, const BasicBlock *PhiBlock,
+ uint32_t Num, GVN &Gvn);
+ std::pair<uint32_t, bool> assignExpNewValueNum(Expression &exp);
+ bool areAllValsInBB(uint32_t num, const BasicBlock *BB, GVN &Gvn);
public:
ValueTable();
@@ -87,9 +106,11 @@ public:
~ValueTable();
uint32_t lookupOrAdd(Value *V);
- uint32_t lookup(Value *V) const;
+ uint32_t lookup(Value *V, bool Verify = true) const;
uint32_t lookupOrAddCmp(unsigned Opcode, CmpInst::Predicate Pred,
Value *LHS, Value *RHS);
+ uint32_t phiTranslate(const BasicBlock *BB, const BasicBlock *PhiBlock,
+ uint32_t Num, GVN &Gvn);
bool exists(Value *V) const;
void add(Value *V, uint32_t num);
void clear();
@@ -131,6 +152,10 @@ private:
SmallMapVector<llvm::Value *, llvm::Constant *, 4> ReplaceWithConstMap;
SmallVector<Instruction *, 8> InstrsToErase;
+ // Map the block to reversed postorder traversal number. It is used to
+ // find back edge easily.
+ DenseMap<const BasicBlock *, uint32_t> BlockRPONumber;
+
typedef SmallVector<NonLocalDepResult, 64> LoadDepVect;
typedef SmallVector<gvn::AvailableValueInBlock, 64> AvailValInBlkVect;
typedef SmallVector<BasicBlock *, 64> UnavailBlkVect;
@@ -209,12 +234,12 @@ private:
// Other helper routines
bool processInstruction(Instruction *I);
bool processBlock(BasicBlock *BB);
- void dump(DenseMap<uint32_t, Value *> &d);
+ void dump(DenseMap<uint32_t, Value *> &d) const;
bool iterateOnFunction(Function &F);
bool performPRE(Function &F);
bool performScalarPRE(Instruction *I);
bool performScalarPREInsertion(Instruction *Instr, BasicBlock *Pred,
- unsigned int ValNo);
+ BasicBlock *Curr, unsigned int ValNo);
Value *findLeader(const BasicBlock *BB, uint32_t num);
void cleanupGlobalSets();
void verifyRemoved(const Instruction *I) const;
@@ -226,6 +251,7 @@ private:
bool processFoldableCondBr(BranchInst *BI);
void addDeadBlock(BasicBlock *BB);
void assignValNumForDeadCode();
+ void assignBlockRPONumber(Function &F);
};
/// Create a legacy GVN pass. This also allows parameterizing whether or not
diff --git a/include/llvm/Transforms/Scalar/Reassociate.h b/include/llvm/Transforms/Scalar/Reassociate.h
index 7b68b4489306..a30a7176baa8 100644
--- a/include/llvm/Transforms/Scalar/Reassociate.h
+++ b/include/llvm/Transforms/Scalar/Reassociate.h
@@ -82,8 +82,6 @@ private:
bool CombineXorOpnd(Instruction *I, reassociate::XorOpnd *Opnd1,
reassociate::XorOpnd *Opnd2, APInt &ConstOpnd,
Value *&Res);
- bool collectMultiplyFactors(SmallVectorImpl<reassociate::ValueEntry> &Ops,
- SmallVectorImpl<reassociate::Factor> &Factors);
Value *buildMinimalMultiplyDAG(IRBuilder<> &Builder,
SmallVectorImpl<reassociate::Factor> &Factors);
Value *OptimizeMul(BinaryOperator *I,
diff --git a/include/llvm/Transforms/Utils/Local.h b/include/llvm/Transforms/Utils/Local.h
index 8fed292e77a3..30b27616cd98 100644
--- a/include/llvm/Transforms/Utils/Local.h
+++ b/include/llvm/Transforms/Utils/Local.h
@@ -380,6 +380,19 @@ unsigned replaceDominatedUsesWith(Value *From, Value *To, DominatorTree &DT,
/// during lowering by the GC infrastructure.
bool callsGCLeafFunction(ImmutableCallSite CS);
+/// Copy a nonnull metadata node to a new load instruction.
+///
+/// This handles mapping it to range metadata if the new load is an integer
+/// load instead of a pointer load.
+void copyNonnullMetadata(const LoadInst &OldLI, MDNode *N, LoadInst &NewLI);
+
+/// Copy a range metadata node to a new load instruction.
+///
+/// This handles mapping it to nonnull metadata if the new load is a pointer
+/// load instead of an integer load and the range doesn't cover null.
+void copyRangeMetadata(const DataLayout &DL, const LoadInst &OldLI, MDNode *N,
+ LoadInst &NewLI);
+
//===----------------------------------------------------------------------===//
// Intrinsic pattern matching
//
diff --git a/include/llvm/Transforms/Utils/LoopUtils.h b/include/llvm/Transforms/Utils/LoopUtils.h
index 561f94880624..0397eb95e763 100644
--- a/include/llvm/Transforms/Utils/LoopUtils.h
+++ b/include/llvm/Transforms/Utils/LoopUtils.h
@@ -362,6 +362,14 @@ private:
BasicBlock *InsertPreheaderForLoop(Loop *L, DominatorTree *DT, LoopInfo *LI,
bool PreserveLCSSA);
+/// Ensure that all exit blocks of the loop are dedicated exits.
+///
+/// For any loop exit block with non-loop predecessors, we split the loop
+/// predecessors to use a dedicated loop exit block. We update the dominator
+/// tree and loop info if provided, and will preserve LCSSA if requested.
+bool formDedicatedExitBlocks(Loop *L, DominatorTree *DT, LoopInfo *LI,
+ bool PreserveLCSSA);
+
/// Ensures LCSSA form for every instruction from the Worklist in the scope of
/// innermost containing loop.
///
diff --git a/include/llvm/Transforms/Utils/OrderedInstructions.h b/include/llvm/Transforms/Utils/OrderedInstructions.h
index e043ff39a998..64c6bcb68b18 100644
--- a/include/llvm/Transforms/Utils/OrderedInstructions.h
+++ b/include/llvm/Transforms/Utils/OrderedInstructions.h
@@ -43,6 +43,9 @@ public:
bool dominates(const Instruction *, const Instruction *) const;
/// Invalidate the OrderedBasicBlock cache when its basic block changes.
+ /// i.e. If an instruction is deleted or added to the basic block, the user
+ /// should call this function to invalidate the OrderedBasicBlock cache for
+ /// this basic block.
void invalidateBlock(BasicBlock *BB) { OBBMap.erase(BB); }
};
diff --git a/include/llvm/Transforms/Vectorize/LoopVectorize.h b/include/llvm/Transforms/Vectorize/LoopVectorize.h
index 73d1f264c37b..57d10c4c7473 100644
--- a/include/llvm/Transforms/Vectorize/LoopVectorize.h
+++ b/include/llvm/Transforms/Vectorize/LoopVectorize.h
@@ -87,8 +87,6 @@ struct LoopVectorizePass : public PassInfoMixin<LoopVectorizePass> {
std::function<const LoopAccessInfo &(Loop &)> *GetLAA;
OptimizationRemarkEmitter *ORE;
- BlockFrequency ColdEntryFreq;
-
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
// Shim for old PM.
diff --git a/include/llvm/module.modulemap b/include/llvm/module.modulemap
index d906b05f7aaa..dd419e861316 100644
--- a/include/llvm/module.modulemap
+++ b/include/llvm/module.modulemap
@@ -275,11 +275,9 @@ module LLVM_Utils {
umbrella "Support"
module * { export * }
- // Exclude this; it's only included on Solaris.
- exclude header "Support/Solaris.h"
-
- // Exclude this; it's fundamentally non-modular.
+ // Exclude these; they are fundamentally non-modular.
exclude header "Support/PluginLoader.h"
+ exclude header "Support/Solaris/sys/regset.h"
// These are intended for textual inclusion.
textual header "Support/ARMTargetParser.def"
diff --git a/lib/Analysis/AliasSetTracker.cpp b/lib/Analysis/AliasSetTracker.cpp
index ee17ad3ba586..4dfa25490d00 100644
--- a/lib/Analysis/AliasSetTracker.cpp
+++ b/lib/Analysis/AliasSetTracker.cpp
@@ -218,8 +218,8 @@ bool AliasSet::aliasesUnknownInst(const Instruction *Inst,
return false;
for (unsigned i = 0, e = UnknownInsts.size(); i != e; ++i) {
- if (auto *Inst = getUnknownInst(i)) {
- ImmutableCallSite C1(Inst), C2(Inst);
+ if (auto *UnknownInst = getUnknownInst(i)) {
+ ImmutableCallSite C1(UnknownInst), C2(Inst);
if (!C1 || !C2 || AA.getModRefInfo(C1, C2) != MRI_NoModRef ||
AA.getModRefInfo(C2, C1) != MRI_NoModRef)
return true;
diff --git a/lib/Analysis/AssumptionCache.cpp b/lib/Analysis/AssumptionCache.cpp
index 0468c794e81d..3ff27890dc38 100644
--- a/lib/Analysis/AssumptionCache.cpp
+++ b/lib/Analysis/AssumptionCache.cpp
@@ -84,18 +84,11 @@ void AssumptionCache::updateAffectedValues(CallInst *CI) {
Value *B;
ConstantInt *C;
// (A & B) or (A | B) or (A ^ B).
- if (match(V,
- m_CombineOr(m_And(m_Value(A), m_Value(B)),
- m_CombineOr(m_Or(m_Value(A), m_Value(B)),
- m_Xor(m_Value(A), m_Value(B)))))) {
+ if (match(V, m_BitwiseLogic(m_Value(A), m_Value(B)))) {
AddAffected(A);
AddAffected(B);
// (A << C) or (A >>_s C) or (A >>_u C) where C is some constant.
- } else if (match(V,
- m_CombineOr(m_Shl(m_Value(A), m_ConstantInt(C)),
- m_CombineOr(m_LShr(m_Value(A), m_ConstantInt(C)),
- m_AShr(m_Value(A),
- m_ConstantInt(C)))))) {
+ } else if (match(V, m_Shift(m_Value(A), m_ConstantInt(C)))) {
AddAffected(A);
}
};
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index dbb1b01b94ac..b52a1d7b24d6 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/lib/Analysis/BasicAliasAnalysis.cpp
@@ -1021,11 +1021,14 @@ static AliasResult aliasSameBasePointerGEPs(const GEPOperator *GEP1,
// asking about values from different loop iterations. See PR32314.
// TODO: We may be able to change the check so we only do this when
// we definitely looked through a PHINode.
- KnownBits Known1 = computeKnownBits(GEP1LastIdx, DL);
- KnownBits Known2 = computeKnownBits(GEP2LastIdx, DL);
- if (Known1.Zero.intersects(Known2.One) ||
- Known1.One.intersects(Known2.Zero))
- return NoAlias;
+ if (GEP1LastIdx != GEP2LastIdx &&
+ GEP1LastIdx->getType() == GEP2LastIdx->getType()) {
+ KnownBits Known1 = computeKnownBits(GEP1LastIdx, DL);
+ KnownBits Known2 = computeKnownBits(GEP2LastIdx, DL);
+ if (Known1.Zero.intersects(Known2.One) ||
+ Known1.One.intersects(Known2.Zero))
+ return NoAlias;
+ }
} else if (isKnownNonEqual(GEP1LastIdx, GEP2LastIdx, DL))
return NoAlias;
}
@@ -1345,11 +1348,7 @@ AliasResult BasicAAResult::aliasGEP(const GEPOperator *GEP1, uint64_t V1Size,
// Statically, we can see that the base objects are the same, but the
// pointers have dynamic offsets which we can't resolve. And none of our
// little tricks above worked.
- //
- // TODO: Returning PartialAlias instead of MayAlias is a mild hack; the
- // practical effect of this is protecting TBAA in the case of dynamic
- // indices into arrays of unions or malloc'd memory.
- return PartialAlias;
+ return MayAlias;
}
static AliasResult MergeAliasResults(AliasResult A, AliasResult B) {
diff --git a/lib/Analysis/CFLSteensAliasAnalysis.cpp b/lib/Analysis/CFLSteensAliasAnalysis.cpp
index dde24ef5fdd5..6e4263920e58 100644
--- a/lib/Analysis/CFLSteensAliasAnalysis.cpp
+++ b/lib/Analysis/CFLSteensAliasAnalysis.cpp
@@ -80,9 +80,6 @@ public:
const AliasSummary &getAliasSummary() const { return Summary; }
};
-/// Try to go from a Value* to a Function*. Never returns nullptr.
-static Optional<Function *> parentFunctionOfValue(Value *);
-
const StratifiedIndex StratifiedLink::SetSentinel =
std::numeric_limits<StratifiedIndex>::max();
diff --git a/lib/Analysis/DemandedBits.cpp b/lib/Analysis/DemandedBits.cpp
index 8f808f3e7871..926b28d6094a 100644
--- a/lib/Analysis/DemandedBits.cpp
+++ b/lib/Analysis/DemandedBits.cpp
@@ -107,6 +107,8 @@ void DemandedBits::determineLiveOperandBits(
AB = AOut.byteSwap();
break;
case Intrinsic::bitreverse:
+ // The alive bits of the input are the reversed alive bits of
+ // the output.
AB = AOut.reverseBits();
break;
case Intrinsic::ctlz:
diff --git a/lib/Analysis/InlineCost.cpp b/lib/Analysis/InlineCost.cpp
index 6ff5938a3175..77ad6f1e166f 100644
--- a/lib/Analysis/InlineCost.cpp
+++ b/lib/Analysis/InlineCost.cpp
@@ -1022,12 +1022,15 @@ bool CallAnalyzer::visitSwitchInst(SwitchInst &SI) {
// inlining those. It will prevent inlining in cases where the optimization
// does not (yet) fire.
+ // Maximum valid cost increased in this function.
+ int CostUpperBound = INT_MAX - InlineConstants::InstrCost - 1;
+
// Exit early for a large switch, assuming one case needs at least one
// instruction.
// FIXME: This is not true for a bit test, but ignore such case for now to
// save compile-time.
int64_t CostLowerBound =
- std::min((int64_t)INT_MAX,
+ std::min((int64_t)CostUpperBound,
(int64_t)SI.getNumCases() * InlineConstants::InstrCost + Cost);
if (CostLowerBound > Threshold) {
@@ -1044,7 +1047,8 @@ bool CallAnalyzer::visitSwitchInst(SwitchInst &SI) {
if (JumpTableSize) {
int64_t JTCost = (int64_t)JumpTableSize * InlineConstants::InstrCost +
4 * InlineConstants::InstrCost;
- Cost = std::min((int64_t)INT_MAX, JTCost + Cost);
+
+ Cost = std::min((int64_t)CostUpperBound, JTCost + Cost);
return false;
}
@@ -1068,10 +1072,12 @@ bool CallAnalyzer::visitSwitchInst(SwitchInst &SI) {
Cost += NumCaseCluster * 2 * InlineConstants::InstrCost;
return false;
}
- int64_t ExpectedNumberOfCompare = 3 * (uint64_t)NumCaseCluster / 2 - 1;
- uint64_t SwitchCost =
+
+ int64_t ExpectedNumberOfCompare = 3 * (int64_t)NumCaseCluster / 2 - 1;
+ int64_t SwitchCost =
ExpectedNumberOfCompare * 2 * InlineConstants::InstrCost;
- Cost = std::min((uint64_t)INT_MAX, SwitchCost + Cost);
+
+ Cost = std::min((int64_t)CostUpperBound, SwitchCost + Cost);
return false;
}
diff --git a/lib/Analysis/InstructionSimplify.cpp b/lib/Analysis/InstructionSimplify.cpp
index a975be79619b..d9e32a3c417e 100644
--- a/lib/Analysis/InstructionSimplify.cpp
+++ b/lib/Analysis/InstructionSimplify.cpp
@@ -2688,16 +2688,14 @@ static Value *simplifyICmpWithBinOp(CmpInst::Predicate Pred, Value *LHS,
}
// icmp pred (and X, Y), X
- if (LBO && match(LBO, m_CombineOr(m_And(m_Value(), m_Specific(RHS)),
- m_And(m_Specific(RHS), m_Value())))) {
+ if (LBO && match(LBO, m_c_And(m_Value(), m_Specific(RHS)))) {
if (Pred == ICmpInst::ICMP_UGT)
return getFalse(ITy);
if (Pred == ICmpInst::ICMP_ULE)
return getTrue(ITy);
}
// icmp pred X, (and X, Y)
- if (RBO && match(RBO, m_CombineOr(m_And(m_Value(), m_Specific(LHS)),
- m_And(m_Specific(LHS), m_Value())))) {
+ if (RBO && match(RBO, m_c_And(m_Value(), m_Specific(LHS)))) {
if (Pred == ICmpInst::ICMP_UGE)
return getTrue(ITy);
if (Pred == ICmpInst::ICMP_ULT)
diff --git a/lib/Analysis/LazyValueInfo.cpp b/lib/Analysis/LazyValueInfo.cpp
index 3ed61a79478a..102081e721ac 100644
--- a/lib/Analysis/LazyValueInfo.cpp
+++ b/lib/Analysis/LazyValueInfo.cpp
@@ -1324,12 +1324,12 @@ getValueFromConditionImpl(Value *Val, Value *Cond, bool isTrueDest,
return getValueFromICmpCondition(Val, ICI, isTrueDest);
// Handle conditions in the form of (cond1 && cond2), we know that on the
- // true dest path both of the conditions hold.
- if (!isTrueDest)
- return LVILatticeVal::getOverdefined();
-
+ // true dest path both of the conditions hold. Similarly for conditions of
+ // the form (cond1 || cond2), we know that on the false dest path neither
+ // condition holds.
BinaryOperator *BO = dyn_cast<BinaryOperator>(Cond);
- if (!BO || BO->getOpcode() != BinaryOperator::And)
+ if (!BO || (isTrueDest && BO->getOpcode() != BinaryOperator::And) ||
+ (!isTrueDest && BO->getOpcode() != BinaryOperator::Or))
return LVILatticeVal::getOverdefined();
auto RHS = getValueFromCondition(Val, BO->getOperand(0), isTrueDest, Visited);
@@ -1660,6 +1660,26 @@ Constant *LazyValueInfo::getConstantOnEdge(Value *V, BasicBlock *FromBB,
return nullptr;
}
+ConstantRange LazyValueInfo::getConstantRangeOnEdge(Value *V,
+ BasicBlock *FromBB,
+ BasicBlock *ToBB,
+ Instruction *CxtI) {
+ unsigned Width = V->getType()->getIntegerBitWidth();
+ const DataLayout &DL = FromBB->getModule()->getDataLayout();
+ LVILatticeVal Result =
+ getImpl(PImpl, AC, &DL, DT).getValueOnEdge(V, FromBB, ToBB, CxtI);
+
+ if (Result.isUndefined())
+ return ConstantRange(Width, /*isFullSet=*/false);
+ if (Result.isConstantRange())
+ return Result.getConstantRange();
+ // We represent ConstantInt constants as constant ranges but other kinds
+ // of integer constants, i.e. ConstantExpr will be tagged as constants
+ assert(!(Result.isConstant() && isa<ConstantInt>(Result.getConstant())) &&
+ "ConstantInt value must be represented as constantrange");
+ return ConstantRange(Width, /*isFullSet=*/true);
+}
+
static LazyValueInfo::Tristate getPredicateResult(unsigned Pred, Constant *C,
const LVILatticeVal &Val,
const DataLayout &DL,
diff --git a/lib/Analysis/Loads.cpp b/lib/Analysis/Loads.cpp
index 96799a459bfc..591b0fc481d2 100644
--- a/lib/Analysis/Loads.cpp
+++ b/lib/Analysis/Loads.cpp
@@ -117,6 +117,16 @@ static bool isDereferenceableAndAlignedPointer(
}
bool llvm::isDereferenceableAndAlignedPointer(const Value *V, unsigned Align,
+ const APInt &Size,
+ const DataLayout &DL,
+ const Instruction *CtxI,
+ const DominatorTree *DT) {
+ SmallPtrSet<const Value *, 32> Visited;
+ return ::isDereferenceableAndAlignedPointer(V, Align, Size, DL, CtxI, DT,
+ Visited);
+}
+
+bool llvm::isDereferenceableAndAlignedPointer(const Value *V, unsigned Align,
const DataLayout &DL,
const Instruction *CtxI,
const DominatorTree *DT) {
diff --git a/lib/Analysis/MemoryDependenceAnalysis.cpp b/lib/Analysis/MemoryDependenceAnalysis.cpp
index 3fdedbb0ab3c..263cf42ebe27 100644
--- a/lib/Analysis/MemoryDependenceAnalysis.cpp
+++ b/lib/Analysis/MemoryDependenceAnalysis.cpp
@@ -310,11 +310,11 @@ unsigned MemoryDependenceResults::getLoadLoadClobberFullWidthSize(
}
static bool isVolatile(Instruction *Inst) {
- if (LoadInst *LI = dyn_cast<LoadInst>(Inst))
+ if (auto *LI = dyn_cast<LoadInst>(Inst))
return LI->isVolatile();
- else if (StoreInst *SI = dyn_cast<StoreInst>(Inst))
+ if (auto *SI = dyn_cast<StoreInst>(Inst))
return SI->isVolatile();
- else if (AtomicCmpXchgInst *AI = dyn_cast<AtomicCmpXchgInst>(Inst))
+ if (auto *AI = dyn_cast<AtomicCmpXchgInst>(Inst))
return AI->isVolatile();
return false;
}
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp
index aebc80a0a885..73a95ec405c7 100644
--- a/lib/Analysis/ScalarEvolution.cpp
+++ b/lib/Analysis/ScalarEvolution.cpp
@@ -126,11 +126,11 @@ static cl::opt<bool>
static cl::opt<unsigned> MulOpsInlineThreshold(
"scev-mulops-inline-threshold", cl::Hidden,
cl::desc("Threshold for inlining multiplication operands into a SCEV"),
- cl::init(1000));
+ cl::init(32));
static cl::opt<unsigned> AddOpsInlineThreshold(
"scev-addops-inline-threshold", cl::Hidden,
- cl::desc("Threshold for inlining multiplication operands into a SCEV"),
+ cl::desc("Threshold for inlining addition operands into a SCEV"),
cl::init(500));
static cl::opt<unsigned> MaxSCEVCompareDepth(
@@ -1259,12 +1259,12 @@ static const SCEV *getSignedOverflowLimitForStep(const SCEV *Step,
if (SE->isKnownPositive(Step)) {
*Pred = ICmpInst::ICMP_SLT;
return SE->getConstant(APInt::getSignedMinValue(BitWidth) -
- SE->getSignedRange(Step).getSignedMax());
+ SE->getSignedRangeMax(Step));
}
if (SE->isKnownNegative(Step)) {
*Pred = ICmpInst::ICMP_SGT;
return SE->getConstant(APInt::getSignedMaxValue(BitWidth) -
- SE->getSignedRange(Step).getSignedMin());
+ SE->getSignedRangeMin(Step));
}
return nullptr;
}
@@ -1279,7 +1279,7 @@ static const SCEV *getUnsignedOverflowLimitForStep(const SCEV *Step,
*Pred = ICmpInst::ICMP_ULT;
return SE->getConstant(APInt::getMinValue(BitWidth) -
- SE->getUnsignedRange(Step).getUnsignedMax());
+ SE->getUnsignedRangeMax(Step));
}
namespace {
@@ -1670,7 +1670,7 @@ const SCEV *ScalarEvolution::getZeroExtendExprImpl(const SCEV *Op, Type *Ty,
// is safe.
if (isKnownPositive(Step)) {
const SCEV *N = getConstant(APInt::getMinValue(BitWidth) -
- getUnsignedRange(Step).getUnsignedMax());
+ getUnsignedRangeMax(Step));
if (isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_ULT, AR, N) ||
(isLoopEntryGuardedByCond(L, ICmpInst::ICMP_ULT, Start, N) &&
isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_ULT,
@@ -1686,7 +1686,7 @@ const SCEV *ScalarEvolution::getZeroExtendExprImpl(const SCEV *Op, Type *Ty,
}
} else if (isKnownNegative(Step)) {
const SCEV *N = getConstant(APInt::getMaxValue(BitWidth) -
- getSignedRange(Step).getSignedMin());
+ getSignedRangeMin(Step));
if (isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_UGT, AR, N) ||
(isLoopEntryGuardedByCond(L, ICmpInst::ICMP_UGT, Start, N) &&
isLoopBackedgeGuardedByCond(L, ICmpInst::ICMP_UGT,
@@ -3745,7 +3745,7 @@ const SCEV *ScalarEvolution::getMinusSCEV(const SCEV *LHS, const SCEV *RHS,
// makes it so that we cannot make much use of NUW.
auto AddFlags = SCEV::FlagAnyWrap;
const bool RHSIsNotMinSigned =
- !getSignedRange(RHS).getSignedMin().isMinSignedValue();
+ !getSignedRangeMin(RHS).isMinSignedValue();
if (maskFlags(Flags, SCEV::FlagNSW) == SCEV::FlagNSW) {
// Let M be the minimum representable signed value. Then (-1)*RHS
// signed-wraps if and only if RHS is M. That can happen even for
@@ -4758,9 +4758,9 @@ static Optional<ConstantRange> GetRangeFromMetadata(Value *V) {
/// Determine the range for a particular SCEV. If SignHint is
/// HINT_RANGE_UNSIGNED (resp. HINT_RANGE_SIGNED) then getRange prefers ranges
/// with a "cleaner" unsigned (resp. signed) representation.
-ConstantRange
-ScalarEvolution::getRange(const SCEV *S,
- ScalarEvolution::RangeSignHint SignHint) {
+const ConstantRange &
+ScalarEvolution::getRangeRef(const SCEV *S,
+ ScalarEvolution::RangeSignHint SignHint) {
DenseMap<const SCEV *, ConstantRange> &Cache =
SignHint == ScalarEvolution::HINT_RANGE_UNSIGNED ? UnsignedRanges
: SignedRanges;
@@ -4791,54 +4791,54 @@ ScalarEvolution::getRange(const SCEV *S,
}
if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(S)) {
- ConstantRange X = getRange(Add->getOperand(0), SignHint);
+ ConstantRange X = getRangeRef(Add->getOperand(0), SignHint);
for (unsigned i = 1, e = Add->getNumOperands(); i != e; ++i)
- X = X.add(getRange(Add->getOperand(i), SignHint));
+ X = X.add(getRangeRef(Add->getOperand(i), SignHint));
return setRange(Add, SignHint, ConservativeResult.intersectWith(X));
}
if (const SCEVMulExpr *Mul = dyn_cast<SCEVMulExpr>(S)) {
- ConstantRange X = getRange(Mul->getOperand(0), SignHint);
+ ConstantRange X = getRangeRef(Mul->getOperand(0), SignHint);
for (unsigned i = 1, e = Mul->getNumOperands(); i != e; ++i)
- X = X.multiply(getRange(Mul->getOperand(i), SignHint));
+ X = X.multiply(getRangeRef(Mul->getOperand(i), SignHint));
return setRange(Mul, SignHint, ConservativeResult.intersectWith(X));
}
if (const SCEVSMaxExpr *SMax = dyn_cast<SCEVSMaxExpr>(S)) {
- ConstantRange X = getRange(SMax->getOperand(0), SignHint);
+ ConstantRange X = getRangeRef(SMax->getOperand(0), SignHint);
for (unsigned i = 1, e = SMax->getNumOperands(); i != e; ++i)
- X = X.smax(getRange(SMax->getOperand(i), SignHint));
+ X = X.smax(getRangeRef(SMax->getOperand(i), SignHint));
return setRange(SMax, SignHint, ConservativeResult.intersectWith(X));
}
if (const SCEVUMaxExpr *UMax = dyn_cast<SCEVUMaxExpr>(S)) {
- ConstantRange X = getRange(UMax->getOperand(0), SignHint);
+ ConstantRange X = getRangeRef(UMax->getOperand(0), SignHint);
for (unsigned i = 1, e = UMax->getNumOperands(); i != e; ++i)
- X = X.umax(getRange(UMax->getOperand(i), SignHint));
+ X = X.umax(getRangeRef(UMax->getOperand(i), SignHint));
return setRange(UMax, SignHint, ConservativeResult.intersectWith(X));
}
if (const SCEVUDivExpr *UDiv = dyn_cast<SCEVUDivExpr>(S)) {
- ConstantRange X = getRange(UDiv->getLHS(), SignHint);
- ConstantRange Y = getRange(UDiv->getRHS(), SignHint);
+ ConstantRange X = getRangeRef(UDiv->getLHS(), SignHint);
+ ConstantRange Y = getRangeRef(UDiv->getRHS(), SignHint);
return setRange(UDiv, SignHint,
ConservativeResult.intersectWith(X.udiv(Y)));
}
if (const SCEVZeroExtendExpr *ZExt = dyn_cast<SCEVZeroExtendExpr>(S)) {
- ConstantRange X = getRange(ZExt->getOperand(), SignHint);
+ ConstantRange X = getRangeRef(ZExt->getOperand(), SignHint);
return setRange(ZExt, SignHint,
ConservativeResult.intersectWith(X.zeroExtend(BitWidth)));
}
if (const SCEVSignExtendExpr *SExt = dyn_cast<SCEVSignExtendExpr>(S)) {
- ConstantRange X = getRange(SExt->getOperand(), SignHint);
+ ConstantRange X = getRangeRef(SExt->getOperand(), SignHint);
return setRange(SExt, SignHint,
ConservativeResult.intersectWith(X.signExtend(BitWidth)));
}
if (const SCEVTruncateExpr *Trunc = dyn_cast<SCEVTruncateExpr>(S)) {
- ConstantRange X = getRange(Trunc->getOperand(), SignHint);
+ ConstantRange X = getRangeRef(Trunc->getOperand(), SignHint);
return setRange(Trunc, SignHint,
ConservativeResult.intersectWith(X.truncate(BitWidth)));
}
@@ -5005,8 +5005,7 @@ ConstantRange ScalarEvolution::getRangeForAffineAR(const SCEV *Start,
"Precondition!");
MaxBECount = getNoopOrZeroExtend(MaxBECount, Start->getType());
- ConstantRange MaxBECountRange = getUnsignedRange(MaxBECount);
- APInt MaxBECountValue = MaxBECountRange.getUnsignedMax();
+ APInt MaxBECountValue = getUnsignedRangeMax(MaxBECount);
// First, consider step signed.
ConstantRange StartSRange = getSignedRange(Start);
@@ -5023,7 +5022,7 @@ ConstantRange ScalarEvolution::getRangeForAffineAR(const SCEV *Start,
// Next, consider step unsigned.
ConstantRange UR = getRangeForAffineARHelper(
- getUnsignedRange(Step).getUnsignedMax(), getUnsignedRange(Start),
+ getUnsignedRangeMax(Step), getUnsignedRange(Start),
MaxBECountValue, BitWidth, /* Signed = */ false);
// Finally, intersect signed and unsigned ranges.
@@ -6373,7 +6372,7 @@ ScalarEvolution::ExitLimit ScalarEvolution::computeExitLimitFromCondImpl(
// to not.
if (isa<SCEVCouldNotCompute>(MaxBECount) &&
!isa<SCEVCouldNotCompute>(BECount))
- MaxBECount = getConstant(getUnsignedRange(BECount).getUnsignedMax());
+ MaxBECount = getConstant(getUnsignedRangeMax(BECount));
return ExitLimit(BECount, MaxBECount, false,
{&EL0.Predicates, &EL1.Predicates});
@@ -7647,7 +7646,7 @@ ScalarEvolution::howFarToZero(const SCEV *V, const Loop *L, bool ControlsExit,
// 1*N = -Start; -1*N = Start (mod 2^BW), so:
// N = Distance (as unsigned)
if (StepC->getValue()->equalsInt(1) || StepC->getValue()->isAllOnesValue()) {
- APInt MaxBECount = getUnsignedRange(Distance).getUnsignedMax();
+ APInt MaxBECount = getUnsignedRangeMax(Distance);
// When a loop like "for (int i = 0; i != n; ++i) { /* body */ }" is rotated,
// we end up with a loop whose backedge-taken count is n - 1. Detect this
@@ -7680,7 +7679,7 @@ ScalarEvolution::howFarToZero(const SCEV *V, const Loop *L, bool ControlsExit,
const SCEV *Max =
Exact == getCouldNotCompute()
? Exact
- : getConstant(getUnsignedRange(Exact).getUnsignedMax());
+ : getConstant(getUnsignedRangeMax(Exact));
return ExitLimit(Exact, Max, false, Predicates);
}
@@ -7689,7 +7688,7 @@ ScalarEvolution::howFarToZero(const SCEV *V, const Loop *L, bool ControlsExit,
getNegativeSCEV(Start), *this);
const SCEV *M = E == getCouldNotCompute()
? E
- : getConstant(getUnsignedRange(E).getUnsignedMax());
+ : getConstant(getUnsignedRangeMax(E));
return ExitLimit(E, M, false, Predicates);
}
@@ -7886,12 +7885,12 @@ bool ScalarEvolution::SimplifyICmpOperands(ICmpInst::Predicate &Pred,
// adding or subtracting 1 from one of the operands.
switch (Pred) {
case ICmpInst::ICMP_SLE:
- if (!getSignedRange(RHS).getSignedMax().isMaxSignedValue()) {
+ if (!getSignedRangeMax(RHS).isMaxSignedValue()) {
RHS = getAddExpr(getConstant(RHS->getType(), 1, true), RHS,
SCEV::FlagNSW);
Pred = ICmpInst::ICMP_SLT;
Changed = true;
- } else if (!getSignedRange(LHS).getSignedMin().isMinSignedValue()) {
+ } else if (!getSignedRangeMin(LHS).isMinSignedValue()) {
LHS = getAddExpr(getConstant(RHS->getType(), (uint64_t)-1, true), LHS,
SCEV::FlagNSW);
Pred = ICmpInst::ICMP_SLT;
@@ -7899,12 +7898,12 @@ bool ScalarEvolution::SimplifyICmpOperands(ICmpInst::Predicate &Pred,
}
break;
case ICmpInst::ICMP_SGE:
- if (!getSignedRange(RHS).getSignedMin().isMinSignedValue()) {
+ if (!getSignedRangeMin(RHS).isMinSignedValue()) {
RHS = getAddExpr(getConstant(RHS->getType(), (uint64_t)-1, true), RHS,
SCEV::FlagNSW);
Pred = ICmpInst::ICMP_SGT;
Changed = true;
- } else if (!getSignedRange(LHS).getSignedMax().isMaxSignedValue()) {
+ } else if (!getSignedRangeMax(LHS).isMaxSignedValue()) {
LHS = getAddExpr(getConstant(RHS->getType(), 1, true), LHS,
SCEV::FlagNSW);
Pred = ICmpInst::ICMP_SGT;
@@ -7912,23 +7911,23 @@ bool ScalarEvolution::SimplifyICmpOperands(ICmpInst::Predicate &Pred,
}
break;
case ICmpInst::ICMP_ULE:
- if (!getUnsignedRange(RHS).getUnsignedMax().isMaxValue()) {
+ if (!getUnsignedRangeMax(RHS).isMaxValue()) {
RHS = getAddExpr(getConstant(RHS->getType(), 1, true), RHS,
SCEV::FlagNUW);
Pred = ICmpInst::ICMP_ULT;
Changed = true;
- } else if (!getUnsignedRange(LHS).getUnsignedMin().isMinValue()) {
+ } else if (!getUnsignedRangeMin(LHS).isMinValue()) {
LHS = getAddExpr(getConstant(RHS->getType(), (uint64_t)-1, true), LHS);
Pred = ICmpInst::ICMP_ULT;
Changed = true;
}
break;
case ICmpInst::ICMP_UGE:
- if (!getUnsignedRange(RHS).getUnsignedMin().isMinValue()) {
+ if (!getUnsignedRangeMin(RHS).isMinValue()) {
RHS = getAddExpr(getConstant(RHS->getType(), (uint64_t)-1, true), RHS);
Pred = ICmpInst::ICMP_UGT;
Changed = true;
- } else if (!getUnsignedRange(LHS).getUnsignedMax().isMaxValue()) {
+ } else if (!getUnsignedRangeMax(LHS).isMaxValue()) {
LHS = getAddExpr(getConstant(RHS->getType(), 1, true), LHS,
SCEV::FlagNUW);
Pred = ICmpInst::ICMP_UGT;
@@ -7962,19 +7961,19 @@ trivially_false:
}
bool ScalarEvolution::isKnownNegative(const SCEV *S) {
- return getSignedRange(S).getSignedMax().isNegative();
+ return getSignedRangeMax(S).isNegative();
}
bool ScalarEvolution::isKnownPositive(const SCEV *S) {
- return getSignedRange(S).getSignedMin().isStrictlyPositive();
+ return getSignedRangeMin(S).isStrictlyPositive();
}
bool ScalarEvolution::isKnownNonNegative(const SCEV *S) {
- return !getSignedRange(S).getSignedMin().isNegative();
+ return !getSignedRangeMin(S).isNegative();
}
bool ScalarEvolution::isKnownNonPositive(const SCEV *S) {
- return !getSignedRange(S).getSignedMax().isStrictlyPositive();
+ return !getSignedRangeMax(S).isStrictlyPositive();
}
bool ScalarEvolution::isKnownNonZero(const SCEV *S) {
@@ -8560,7 +8559,7 @@ bool ScalarEvolution::isImpliedCond(ICmpInst::Predicate Pred, const SCEV *LHS,
// predicate we're interested in folding.
APInt Min = ICmpInst::isSigned(Pred) ?
- getSignedRange(V).getSignedMin() : getUnsignedRange(V).getUnsignedMin();
+ getSignedRangeMin(V) : getUnsignedRangeMin(V);
if (Min == C->getAPInt()) {
// Given (V >= Min && V != Min) we conclude V >= (Min + 1).
@@ -9115,19 +9114,17 @@ bool ScalarEvolution::doesIVOverflowOnLT(const SCEV *RHS, const SCEV *Stride,
const SCEV *One = getOne(Stride->getType());
if (IsSigned) {
- APInt MaxRHS = getSignedRange(RHS).getSignedMax();
+ APInt MaxRHS = getSignedRangeMax(RHS);
APInt MaxValue = APInt::getSignedMaxValue(BitWidth);
- APInt MaxStrideMinusOne = getSignedRange(getMinusSCEV(Stride, One))
- .getSignedMax();
+ APInt MaxStrideMinusOne = getSignedRangeMax(getMinusSCEV(Stride, One));
// SMaxRHS + SMaxStrideMinusOne > SMaxValue => overflow!
return (std::move(MaxValue) - MaxStrideMinusOne).slt(MaxRHS);
}
- APInt MaxRHS = getUnsignedRange(RHS).getUnsignedMax();
+ APInt MaxRHS = getUnsignedRangeMax(RHS);
APInt MaxValue = APInt::getMaxValue(BitWidth);
- APInt MaxStrideMinusOne = getUnsignedRange(getMinusSCEV(Stride, One))
- .getUnsignedMax();
+ APInt MaxStrideMinusOne = getUnsignedRangeMax(getMinusSCEV(Stride, One));
// UMaxRHS + UMaxStrideMinusOne > UMaxValue => overflow!
return (std::move(MaxValue) - MaxStrideMinusOne).ult(MaxRHS);
@@ -9141,19 +9138,17 @@ bool ScalarEvolution::doesIVOverflowOnGT(const SCEV *RHS, const SCEV *Stride,
const SCEV *One = getOne(Stride->getType());
if (IsSigned) {
- APInt MinRHS = getSignedRange(RHS).getSignedMin();
+ APInt MinRHS = getSignedRangeMin(RHS);
APInt MinValue = APInt::getSignedMinValue(BitWidth);
- APInt MaxStrideMinusOne = getSignedRange(getMinusSCEV(Stride, One))
- .getSignedMax();
+ APInt MaxStrideMinusOne = getSignedRangeMax(getMinusSCEV(Stride, One));
// SMinRHS - SMaxStrideMinusOne < SMinValue => overflow!
return (std::move(MinValue) + MaxStrideMinusOne).sgt(MinRHS);
}
- APInt MinRHS = getUnsignedRange(RHS).getUnsignedMin();
+ APInt MinRHS = getUnsignedRangeMin(RHS);
APInt MinValue = APInt::getMinValue(BitWidth);
- APInt MaxStrideMinusOne = getUnsignedRange(getMinusSCEV(Stride, One))
- .getUnsignedMax();
+ APInt MaxStrideMinusOne = getUnsignedRangeMax(getMinusSCEV(Stride, One));
// UMinRHS - UMaxStrideMinusOne < UMinValue => overflow!
return (std::move(MinValue) + MaxStrideMinusOne).ugt(MinRHS);
@@ -9292,8 +9287,8 @@ ScalarEvolution::howManyLessThans(const SCEV *LHS, const SCEV *RHS,
} else {
// Calculate the maximum backedge count based on the range of values
// permitted by Start, End, and Stride.
- APInt MinStart = IsSigned ? getSignedRange(Start).getSignedMin()
- : getUnsignedRange(Start).getUnsignedMin();
+ APInt MinStart = IsSigned ? getSignedRangeMin(Start)
+ : getUnsignedRangeMin(Start);
unsigned BitWidth = getTypeSizeInBits(LHS->getType());
@@ -9301,8 +9296,8 @@ ScalarEvolution::howManyLessThans(const SCEV *LHS, const SCEV *RHS,
if (PositiveStride)
StrideForMaxBECount =
- IsSigned ? getSignedRange(Stride).getSignedMin()
- : getUnsignedRange(Stride).getUnsignedMin();
+ IsSigned ? getSignedRangeMin(Stride)
+ : getUnsignedRangeMin(Stride);
else
// Using a stride of 1 is safe when computing max backedge taken count for
// a loop with unknown stride.
@@ -9316,8 +9311,8 @@ ScalarEvolution::howManyLessThans(const SCEV *LHS, const SCEV *RHS,
// the case End = RHS. This is safe because in the other case (End - Start)
// is zero, leading to a zero maximum backedge taken count.
APInt MaxEnd =
- IsSigned ? APIntOps::smin(getSignedRange(RHS).getSignedMax(), Limit)
- : APIntOps::umin(getUnsignedRange(RHS).getUnsignedMax(), Limit);
+ IsSigned ? APIntOps::smin(getSignedRangeMax(RHS), Limit)
+ : APIntOps::umin(getUnsignedRangeMax(RHS), Limit);
MaxBECount = computeBECount(getConstant(MaxEnd - MinStart),
getConstant(StrideForMaxBECount), false);
@@ -9325,7 +9320,7 @@ ScalarEvolution::howManyLessThans(const SCEV *LHS, const SCEV *RHS,
if (isa<SCEVCouldNotCompute>(MaxBECount) &&
!isa<SCEVCouldNotCompute>(BECount))
- MaxBECount = getConstant(getUnsignedRange(BECount).getUnsignedMax());
+ MaxBECount = getConstant(getUnsignedRangeMax(BECount));
return ExitLimit(BECount, MaxBECount, MaxOrZero, Predicates);
}
@@ -9376,11 +9371,11 @@ ScalarEvolution::howManyGreaterThans(const SCEV *LHS, const SCEV *RHS,
const SCEV *BECount = computeBECount(getMinusSCEV(Start, End), Stride, false);
- APInt MaxStart = IsSigned ? getSignedRange(Start).getSignedMax()
- : getUnsignedRange(Start).getUnsignedMax();
+ APInt MaxStart = IsSigned ? getSignedRangeMax(Start)
+ : getUnsignedRangeMax(Start);
- APInt MinStride = IsSigned ? getSignedRange(Stride).getSignedMin()
- : getUnsignedRange(Stride).getUnsignedMin();
+ APInt MinStride = IsSigned ? getSignedRangeMin(Stride)
+ : getUnsignedRangeMin(Stride);
unsigned BitWidth = getTypeSizeInBits(LHS->getType());
APInt Limit = IsSigned ? APInt::getSignedMinValue(BitWidth) + (MinStride - 1)
@@ -9390,8 +9385,8 @@ ScalarEvolution::howManyGreaterThans(const SCEV *LHS, const SCEV *RHS,
// the case End = RHS. This is safe because in the other case (Start - End)
// is zero, leading to a zero maximum backedge taken count.
APInt MinEnd =
- IsSigned ? APIntOps::smax(getSignedRange(RHS).getSignedMin(), Limit)
- : APIntOps::umax(getUnsignedRange(RHS).getUnsignedMin(), Limit);
+ IsSigned ? APIntOps::smax(getSignedRangeMin(RHS), Limit)
+ : APIntOps::umax(getUnsignedRangeMin(RHS), Limit);
const SCEV *MaxBECount = getCouldNotCompute();
diff --git a/lib/Analysis/ScalarEvolutionExpander.cpp b/lib/Analysis/ScalarEvolutionExpander.cpp
index f9b9df2bc707..47bdac00ae1f 100644
--- a/lib/Analysis/ScalarEvolutionExpander.cpp
+++ b/lib/Analysis/ScalarEvolutionExpander.cpp
@@ -748,18 +748,56 @@ Value *SCEVExpander::visitMulExpr(const SCEVMulExpr *S) {
// Emit instructions to mul all the operands. Hoist as much as possible
// out of loops.
Value *Prod = nullptr;
- for (const auto &I : OpsAndLoops) {
- const SCEV *Op = I.second;
+ auto I = OpsAndLoops.begin();
+
+ // Expand the calculation of X pow N in the following manner:
+ // Let N = P1 + P2 + ... + PK, where all P are powers of 2. Then:
+ // X pow N = (X pow P1) * (X pow P2) * ... * (X pow PK).
+ const auto ExpandOpBinPowN = [this, &I, &OpsAndLoops, &Ty]() {
+ auto E = I;
+ // Calculate how many times the same operand from the same loop is included
+ // into this power.
+ uint64_t Exponent = 0;
+ const uint64_t MaxExponent = UINT64_MAX >> 1;
+ // No one sane will ever try to calculate such huge exponents, but if we
+ // need this, we stop on UINT64_MAX / 2 because we need to exit the loop
+ // below when the power of 2 exceeds our Exponent, and we want it to be
+ // 1u << 31 at most to not deal with unsigned overflow.
+ while (E != OpsAndLoops.end() && *I == *E && Exponent != MaxExponent) {
+ ++Exponent;
+ ++E;
+ }
+ assert(Exponent > 0 && "Trying to calculate a zeroth exponent of operand?");
+
+ // Calculate powers with exponents 1, 2, 4, 8 etc. and include those of them
+ // that are needed into the result.
+ Value *P = expandCodeFor(I->second, Ty);
+ Value *Result = nullptr;
+ if (Exponent & 1)
+ Result = P;
+ for (uint64_t BinExp = 2; BinExp <= Exponent; BinExp <<= 1) {
+ P = InsertBinop(Instruction::Mul, P, P);
+ if (Exponent & BinExp)
+ Result = Result ? InsertBinop(Instruction::Mul, Result, P) : P;
+ }
+
+ I = E;
+ assert(Result && "Nothing was expanded?");
+ return Result;
+ };
+
+ while (I != OpsAndLoops.end()) {
if (!Prod) {
// This is the first operand. Just expand it.
- Prod = expand(Op);
- } else if (Op->isAllOnesValue()) {
+ Prod = ExpandOpBinPowN();
+ } else if (I->second->isAllOnesValue()) {
// Instead of doing a multiply by negative one, just do a negate.
Prod = InsertNoopCastOfTo(Prod, Ty);
Prod = InsertBinop(Instruction::Sub, Constant::getNullValue(Ty), Prod);
+ ++I;
} else {
// A simple mul.
- Value *W = expandCodeFor(Op, Ty);
+ Value *W = ExpandOpBinPowN();
Prod = InsertNoopCastOfTo(Prod, Ty);
// Canonicalize a constant to the RHS.
if (isa<Constant>(Prod)) std::swap(Prod, W);
diff --git a/lib/Analysis/TypeBasedAliasAnalysis.cpp b/lib/Analysis/TypeBasedAliasAnalysis.cpp
index e920c4c4e6b2..cd9972ab56a6 100644
--- a/lib/Analysis/TypeBasedAliasAnalysis.cpp
+++ b/lib/Analysis/TypeBasedAliasAnalysis.cpp
@@ -58,7 +58,7 @@
//
// The struct type node has a name and a list of pairs, one pair for each member
// of the struct. The first element of each pair is a type node (a struct type
-// node or a sclar type node), specifying the type of the member, the second
+// node or a scalar type node), specifying the type of the member, the second
// element of each pair is the offset of the member.
//
// Given an example
diff --git a/lib/Analysis/ValueTracking.cpp b/lib/Analysis/ValueTracking.cpp
index b065f427b06c..fd6e3a643bf0 100644
--- a/lib/Analysis/ValueTracking.cpp
+++ b/lib/Analysis/ValueTracking.cpp
@@ -686,8 +686,7 @@ static void computeKnownBitsFromAssume(const Value *V, KnownBits &Known,
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)),
- m_AShr(m_V, m_ConstantInt(C))),
+ m_c_ICmp(Pred, m_Shr(m_V, m_ConstantInt(C)),
m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
@@ -698,9 +697,7 @@ static void computeKnownBitsFromAssume(const Value *V, KnownBits &Known,
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)),
- m_AShr(m_V, m_ConstantInt(C)))),
+ } else if (match(Arg, m_c_ICmp(Pred, m_Not(m_Shr(m_V, m_ConstantInt(C))),
m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
diff --git a/lib/BinaryFormat/Magic.cpp b/lib/BinaryFormat/Magic.cpp
index ca4d93f99d92..f24f22c88a8a 100644
--- a/lib/BinaryFormat/Magic.cpp
+++ b/lib/BinaryFormat/Magic.cpp
@@ -51,7 +51,8 @@ file_magic llvm::identify_magic(StringRef Magic) {
return file_magic::coff_import_library;
}
// Windows resource file
- if (startswith(Magic, "\0\0\0\0\x20\0\0\0\xFF"))
+ if (Magic.size() >= sizeof(COFF::WinResMagic) &&
+ memcmp(Magic.data(), COFF::WinResMagic, sizeof(COFF::WinResMagic)) == 0)
return file_magic::windows_resource;
// 0x0000 = COFF unknown machine type
if (Magic[1] == 0)
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index ad348d723bae..c48fcaa7b0d1 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -2801,26 +2801,24 @@ void AsmPrinter::emitXRayTable() {
}
// Before we switch over, we force a reference to a label inside the
- // xray_instr_map and xray_fn_idx sections. Since this function is always
- // called just before the function's end, we assume that this is happening
- // after the last return instruction. We also use the synthetic label in the
- // xray_inster_map as a delimeter for the range of sleds for this function in
- // the index.
+ // xray_fn_idx sections. This makes sure that the xray_fn_idx section is kept
+ // live by the linker if the function is not garbage-collected. Since this
+ // function is always called just before the function's end, we assume that
+ // this is happening after the last return instruction.
auto WordSizeBytes = MAI->getCodePointerSize();
- MCSymbol *SledsStart = OutContext.createTempSymbol("xray_synthetic_", true);
MCSymbol *IdxRef = OutContext.createTempSymbol("xray_fn_idx_synth_", true);
OutStreamer->EmitCodeAlignment(16);
- OutStreamer->EmitSymbolValue(SledsStart, WordSizeBytes, false);
OutStreamer->EmitSymbolValue(IdxRef, WordSizeBytes, false);
// Now we switch to the instrumentation map section. Because this is done
// per-function, we are able to create an index entry that will represent the
// range of sleds associated with a function.
+ MCSymbol *SledsStart = OutContext.createTempSymbol("xray_sleds_start", true);
OutStreamer->SwitchSection(InstMap);
OutStreamer->EmitLabel(SledsStart);
for (const auto &Sled : Sleds)
Sled.emit(WordSizeBytes, OutStreamer.get(), CurrentFnSym);
- MCSymbol *SledsEnd = OutContext.createTempSymbol("xray_synthetic_end", true);
+ MCSymbol *SledsEnd = OutContext.createTempSymbol("xray_sleds_end", true);
OutStreamer->EmitLabel(SledsEnd);
// We then emit a single entry in the index per function. We use the symbols
diff --git a/lib/CodeGen/AsmPrinter/DIE.cpp b/lib/CodeGen/AsmPrinter/DIE.cpp
index 30bfd7c94e68..886e6e264b3e 100644
--- a/lib/CodeGen/AsmPrinter/DIE.cpp
+++ b/lib/CodeGen/AsmPrinter/DIE.cpp
@@ -105,7 +105,7 @@ void DIEAbbrev::Emit(const AsmPrinter *AP) const {
}
LLVM_DUMP_METHOD
-void DIEAbbrev::print(raw_ostream &O) {
+void DIEAbbrev::print(raw_ostream &O) const {
O << "Abbreviation @"
<< format("0x%lx", (long)(intptr_t)this)
<< " "
@@ -128,7 +128,7 @@ void DIEAbbrev::print(raw_ostream &O) {
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
-LLVM_DUMP_METHOD void DIEAbbrev::dump() {
+LLVM_DUMP_METHOD void DIEAbbrev::dump() const {
print(dbgs());
}
#endif
@@ -268,7 +268,7 @@ void DIE::print(raw_ostream &O, unsigned IndentCount) const {
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
-LLVM_DUMP_METHOD void DIE::dump() {
+LLVM_DUMP_METHOD void DIE::dump() const {
print(dbgs());
}
#endif
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 75eb355bfb54..f1b4d9f20ca9 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -972,16 +972,62 @@ DbgVariable *DwarfDebug::createConcreteVariable(DwarfCompileUnit &TheCU,
return ConcreteVariables.back().get();
}
-// Determine whether this DBG_VALUE is valid at the beginning of the function.
-static bool validAtEntry(const MachineInstr *MInsn) {
- auto MBB = MInsn->getParent();
- // Is it in the entry basic block?
- if (!MBB->pred_empty())
+/// Determine whether a *singular* DBG_VALUE is valid for the entirety of its
+/// enclosing lexical scope. The check ensures there are no other instructions
+/// in the same lexical scope preceding the DBG_VALUE and that its range is
+/// either open or otherwise rolls off the end of the scope.
+static bool validThroughout(LexicalScopes &LScopes,
+ const MachineInstr *DbgValue,
+ const MachineInstr *RangeEnd) {
+ assert(DbgValue->getDebugLoc() && "DBG_VALUE without a debug location");
+ auto MBB = DbgValue->getParent();
+ auto DL = DbgValue->getDebugLoc();
+ auto *LScope = LScopes.findLexicalScope(DL);
+ // Scope doesn't exist; this is a dead DBG_VALUE.
+ if (!LScope)
return false;
- for (MachineBasicBlock::const_reverse_iterator I(MInsn); I != MBB->rend(); ++I)
- if (!(I->isDebugValue() || I->getFlag(MachineInstr::FrameSetup)))
+ auto &LSRange = LScope->getRanges();
+ if (LSRange.size() == 0)
+ return false;
+
+ // Determine if the DBG_VALUE is valid at the beginning of its lexical block.
+ const MachineInstr *LScopeBegin = LSRange.front().first;
+ // Early exit if the lexical scope begins outside of the current block.
+ if (LScopeBegin->getParent() != MBB)
+ return false;
+ MachineBasicBlock::const_reverse_iterator Pred(DbgValue);
+ for (++Pred; Pred != MBB->rend(); ++Pred) {
+ if (Pred->getFlag(MachineInstr::FrameSetup))
+ break;
+ auto PredDL = Pred->getDebugLoc();
+ if (!PredDL || Pred->isMetaInstruction())
+ continue;
+ // Check whether the instruction preceding the DBG_VALUE is in the same
+ // (sub)scope as the DBG_VALUE.
+ if (DL->getScope() == PredDL->getScope())
return false;
- return true;
+ auto *PredScope = LScopes.findLexicalScope(PredDL);
+ if (!PredScope || LScope->dominates(PredScope))
+ return false;
+ }
+
+ // If the range of the DBG_VALUE is open-ended, report success.
+ if (!RangeEnd)
+ return true;
+
+ // Fail if there are instructions belonging to our scope in another block.
+ const MachineInstr *LScopeEnd = LSRange.back().second;
+ if (LScopeEnd->getParent() != MBB)
+ return false;
+
+ // Single, constant DBG_VALUEs in the prologue are promoted to be live
+ // throughout the function. This is a hack, presumably for DWARF v2 and not
+ // necessarily correct. It would be much better to use a dbg.declare instead
+ // if we know the constant is live throughout the scope.
+ if (DbgValue->getOperand(0).isImm() && MBB->pred_empty())
+ return true;
+
+ return false;
}
// Find variables for each lexical scope.
@@ -1016,11 +1062,9 @@ void DwarfDebug::collectVariableInfo(DwarfCompileUnit &TheCU,
const MachineInstr *MInsn = Ranges.front().first;
assert(MInsn->isDebugValue() && "History must begin with debug value");
- // Check if there is a single DBG_VALUE, valid throughout the function.
- // A single constant is also considered valid for the entire function.
+ // Check if there is a single DBG_VALUE, valid throughout the var's scope.
if (Ranges.size() == 1 &&
- (MInsn->getOperand(0).isImm() ||
- (validAtEntry(MInsn) && Ranges.front().second == nullptr))) {
+ validThroughout(LScopes, MInsn, Ranges.front().second)) {
RegVar->initializeDbgValue(MInsn);
continue;
}
diff --git a/lib/CodeGen/CMakeLists.txt b/lib/CodeGen/CMakeLists.txt
index 55a27e2fb79e..7f3c6da91268 100644
--- a/lib/CodeGen/CMakeLists.txt
+++ b/lib/CodeGen/CMakeLists.txt
@@ -92,6 +92,7 @@ add_llvm_library(LLVMCodeGen
PatchableFunction.cpp
MIRPrinter.cpp
MIRPrintingPass.cpp
+ MacroFusion.cpp
OptimizePHIs.cpp
ParallelCG.cpp
PeepholeOptimizer.cpp
diff --git a/lib/CodeGen/CodeGenPrepare.cpp b/lib/CodeGen/CodeGenPrepare.cpp
index 37e176099ea7..cb31c21293f4 100644
--- a/lib/CodeGen/CodeGenPrepare.cpp
+++ b/lib/CodeGen/CodeGenPrepare.cpp
@@ -1663,17 +1663,18 @@ class MemCmpExpansion {
bool IsUsedForZeroCmp;
const DataLayout &DL;
- int calculateNumBlocks(unsigned Size);
+ unsigned calculateNumBlocks(unsigned Size);
void createLoadCmpBlocks();
void createResultBlock();
void setupResultBlockPHINodes();
void setupEndBlockPHINodes();
- void emitLoadCompareBlock(unsigned Index, int LoadSize, int GEPIndex);
+ void emitLoadCompareBlock(unsigned Index, unsigned LoadSize,
+ unsigned GEPIndex);
Value *getCompareLoadPairs(unsigned Index, unsigned Size,
unsigned &NumBytesProcessed, IRBuilder<> &Builder);
void emitLoadCompareBlockMultipleLoads(unsigned Index, unsigned Size,
unsigned &NumBytesProcessed);
- void emitLoadCompareByteBlock(unsigned Index, int GEPIndex);
+ void emitLoadCompareByteBlock(unsigned Index, unsigned GEPIndex);
void emitMemCmpResultBlock();
Value *getMemCmpExpansionZeroCase(unsigned Size);
Value *getMemCmpEqZeroOneBlock(unsigned Size);
@@ -1751,7 +1752,8 @@ void MemCmpExpansion::createResultBlock() {
// It loads 1 byte from each source of the memcmp parameters with the given
// GEPIndex. It then subtracts the two loaded values and adds this result to the
// final phi node for selecting the memcmp result.
-void MemCmpExpansion::emitLoadCompareByteBlock(unsigned Index, int GEPIndex) {
+void MemCmpExpansion::emitLoadCompareByteBlock(unsigned Index,
+ unsigned GEPIndex) {
IRBuilder<> Builder(CI->getContext());
Value *Source1 = CI->getArgOperand(0);
@@ -1833,6 +1835,7 @@ Value *MemCmpExpansion::getCompareLoadPairs(unsigned Index, unsigned Size,
Type *LoadSizeType = IntegerType::get(CI->getContext(), LoadSize * 8);
Type *MaxLoadType = IntegerType::get(CI->getContext(), MaxLoadSize * 8);
+ assert(LoadSize <= MaxLoadSize && "Unexpected load type");
Value *Source1 = CI->getArgOperand(0);
Value *Source2 = CI->getArgOperand(1);
@@ -1851,18 +1854,28 @@ Value *MemCmpExpansion::getCompareLoadPairs(unsigned Index, unsigned Size,
ConstantInt::get(LoadSizeType, GEPIndex));
}
- // Load LoadSizeType from the base address.
- Value *LoadSrc1 = Builder.CreateLoad(LoadSizeType, Source1);
- Value *LoadSrc2 = Builder.CreateLoad(LoadSizeType, Source2);
+ // Get a constant or load a value for each source address.
+ Value *LoadSrc1 = nullptr;
+ if (auto *Source1C = dyn_cast<Constant>(Source1))
+ LoadSrc1 = ConstantFoldLoadFromConstPtr(Source1C, LoadSizeType, DL);
+ if (!LoadSrc1)
+ LoadSrc1 = Builder.CreateLoad(LoadSizeType, Source1);
+
+ Value *LoadSrc2 = nullptr;
+ if (auto *Source2C = dyn_cast<Constant>(Source2))
+ LoadSrc2 = ConstantFoldLoadFromConstPtr(Source2C, LoadSizeType, DL);
+ if (!LoadSrc2)
+ LoadSrc2 = Builder.CreateLoad(LoadSizeType, Source2);
+
if (NumLoads != 1) {
if (LoadSizeType != MaxLoadType) {
- LoadSrc1 = Builder.CreateZExtOrTrunc(LoadSrc1, MaxLoadType);
- LoadSrc2 = Builder.CreateZExtOrTrunc(LoadSrc2, MaxLoadType);
+ LoadSrc1 = Builder.CreateZExt(LoadSrc1, MaxLoadType);
+ LoadSrc2 = Builder.CreateZExt(LoadSrc2, MaxLoadType);
}
// If we have multiple loads per block, we need to generate a composite
// comparison using xor+or.
Diff = Builder.CreateXor(LoadSrc1, LoadSrc2);
- Diff = Builder.CreateZExtOrTrunc(Diff, MaxLoadType);
+ Diff = Builder.CreateZExt(Diff, MaxLoadType);
XorList.push_back(Diff);
} else {
// If there's only one load per block, we just compare the loaded values.
@@ -1926,8 +1939,8 @@ void MemCmpExpansion::emitLoadCompareBlockMultipleLoads(
// the EndBlock if this is the last LoadCmpBlock. Loading 1 byte is handled with
// a special case through emitLoadCompareByteBlock. The special handling can
// simply subtract the loaded values and add it to the result phi node.
-void MemCmpExpansion::emitLoadCompareBlock(unsigned Index, int LoadSize,
- int GEPIndex) {
+void MemCmpExpansion::emitLoadCompareBlock(unsigned Index, unsigned LoadSize,
+ unsigned GEPIndex) {
if (LoadSize == 1) {
MemCmpExpansion::emitLoadCompareByteBlock(Index, GEPIndex);
return;
@@ -1937,6 +1950,7 @@ void MemCmpExpansion::emitLoadCompareBlock(unsigned Index, int LoadSize,
Type *LoadSizeType = IntegerType::get(CI->getContext(), LoadSize * 8);
Type *MaxLoadType = IntegerType::get(CI->getContext(), MaxLoadSize * 8);
+ assert(LoadSize <= MaxLoadSize && "Unexpected load type");
Value *Source1 = CI->getArgOperand(0);
Value *Source2 = CI->getArgOperand(1);
@@ -1970,8 +1984,8 @@ void MemCmpExpansion::emitLoadCompareBlock(unsigned Index, int LoadSize,
}
if (LoadSizeType != MaxLoadType) {
- LoadSrc1 = Builder.CreateZExtOrTrunc(LoadSrc1, MaxLoadType);
- LoadSrc2 = Builder.CreateZExtOrTrunc(LoadSrc2, MaxLoadType);
+ LoadSrc1 = Builder.CreateZExt(LoadSrc1, MaxLoadType);
+ LoadSrc2 = Builder.CreateZExt(LoadSrc2, MaxLoadType);
}
// Add the loaded values to the phi nodes for calculating memcmp result only
@@ -2034,8 +2048,8 @@ void MemCmpExpansion::emitMemCmpResultBlock() {
PhiRes->addIncoming(Res, ResBlock.BB);
}
-int MemCmpExpansion::calculateNumBlocks(unsigned Size) {
- int NumBlocks = 0;
+unsigned MemCmpExpansion::calculateNumBlocks(unsigned Size) {
+ unsigned NumBlocks = 0;
bool HaveOneByteLoad = false;
unsigned RemainingSize = Size;
unsigned LoadSize = MaxLoadSize;
@@ -2104,13 +2118,13 @@ Value *MemCmpExpansion::getMemCmpExpansion(uint64_t Size) {
// memcmp sources. It starts with loading using the maximum load size set by
// the target. It processes any remaining bytes using a load size which is the
// next smallest power of 2.
- int LoadSize = MaxLoadSize;
- int NumBytesToBeProcessed = Size;
+ unsigned LoadSize = MaxLoadSize;
+ unsigned NumBytesToBeProcessed = Size;
unsigned Index = 0;
while (NumBytesToBeProcessed) {
// Calculate how many blocks we can create with the current load size.
- int NumBlocks = NumBytesToBeProcessed / LoadSize;
- int GEPIndex = (Size - NumBytesToBeProcessed) / LoadSize;
+ unsigned NumBlocks = NumBytesToBeProcessed / LoadSize;
+ unsigned GEPIndex = (Size - NumBytesToBeProcessed) / LoadSize;
NumBytesToBeProcessed = NumBytesToBeProcessed % LoadSize;
// For each NumBlocks, populate the instruction sequence for loading and
diff --git a/lib/CodeGen/GlobalISel/IRTranslator.cpp b/lib/CodeGen/GlobalISel/IRTranslator.cpp
index dccd8e0706ca..239bad2f5355 100644
--- a/lib/CodeGen/GlobalISel/IRTranslator.cpp
+++ b/lib/CodeGen/GlobalISel/IRTranslator.cpp
@@ -582,7 +582,7 @@ bool IRTranslator::translateOverflowIntrinsic(const CallInst &CI, unsigned Op,
MIB.addUse(Zero);
}
- MIRBuilder.buildSequence(getOrCreateVReg(CI), Res, 0, Overflow, Width);
+ MIRBuilder.buildSequence(getOrCreateVReg(CI), {Res, Overflow}, {0, Width});
return true;
}
@@ -686,6 +686,13 @@ bool IRTranslator::translateKnownIntrinsic(const CallInst &CI, Intrinsic::ID ID,
.addUse(getOrCreateVReg(*CI.getArgOperand(0)))
.addUse(getOrCreateVReg(*CI.getArgOperand(1)));
return true;
+ case Intrinsic::fma:
+ MIRBuilder.buildInstr(TargetOpcode::G_FMA)
+ .addDef(getOrCreateVReg(CI))
+ .addUse(getOrCreateVReg(*CI.getArgOperand(0)))
+ .addUse(getOrCreateVReg(*CI.getArgOperand(1)))
+ .addUse(getOrCreateVReg(*CI.getArgOperand(2)));
+ return true;
case Intrinsic::memcpy:
case Intrinsic::memmove:
case Intrinsic::memset:
diff --git a/lib/CodeGen/GlobalISel/InstructionSelector.cpp b/lib/CodeGen/GlobalISel/InstructionSelector.cpp
index 4c0b06dffd21..5466efd7e90f 100644
--- a/lib/CodeGen/GlobalISel/InstructionSelector.cpp
+++ b/lib/CodeGen/GlobalISel/InstructionSelector.cpp
@@ -25,6 +25,18 @@ using namespace llvm;
InstructionSelector::InstructionSelector() {}
+bool InstructionSelector::constrainOperandRegToRegClass(
+ MachineInstr &I, unsigned OpIdx, const TargetRegisterClass &RC,
+ const TargetInstrInfo &TII, const TargetRegisterInfo &TRI,
+ const RegisterBankInfo &RBI) const {
+ MachineBasicBlock &MBB = *I.getParent();
+ MachineFunction &MF = *MBB.getParent();
+ MachineRegisterInfo &MRI = MF.getRegInfo();
+
+ return llvm::constrainRegToClass(MRI, TII, RBI, I,
+ I.getOperand(OpIdx).getReg(), RC);
+}
+
bool InstructionSelector::constrainSelectedInstRegOperands(
MachineInstr &I, const TargetInstrInfo &TII, const TargetRegisterInfo &TRI,
const RegisterBankInfo &RBI) const {
diff --git a/lib/CodeGen/GlobalISel/Legalizer.cpp b/lib/CodeGen/GlobalISel/Legalizer.cpp
index 1b50489deeba..b699156c568b 100644
--- a/lib/CodeGen/GlobalISel/Legalizer.cpp
+++ b/lib/CodeGen/GlobalISel/Legalizer.cpp
@@ -50,72 +50,9 @@ void Legalizer::getAnalysisUsage(AnalysisUsage &AU) const {
void Legalizer::init(MachineFunction &MF) {
}
-bool Legalizer::combineExtracts(MachineInstr &MI, MachineRegisterInfo &MRI,
- const TargetInstrInfo &TII) {
- bool Changed = false;
- if (MI.getOpcode() != TargetOpcode::G_EXTRACT)
- return Changed;
-
- unsigned NumDefs = (MI.getNumOperands() - 1) / 2;
- unsigned SrcReg = MI.getOperand(NumDefs).getReg();
- MachineInstr &SeqI = *MRI.def_instr_begin(SrcReg);
- if (SeqI.getOpcode() != TargetOpcode::G_SEQUENCE)
- return Changed;
-
- unsigned NumSeqSrcs = (SeqI.getNumOperands() - 1) / 2;
- bool AllDefsReplaced = true;
-
- // Try to match each register extracted with a corresponding insertion formed
- // by the G_SEQUENCE.
- for (unsigned Idx = 0, SeqIdx = 0; Idx < NumDefs; ++Idx) {
- MachineOperand &ExtractMO = MI.getOperand(Idx);
- assert(ExtractMO.isReg() && ExtractMO.isDef() &&
- "unexpected extract operand");
-
- unsigned ExtractReg = ExtractMO.getReg();
- unsigned ExtractPos = MI.getOperand(NumDefs + Idx + 1).getImm();
-
- while (SeqIdx < NumSeqSrcs &&
- SeqI.getOperand(2 * SeqIdx + 2).getImm() < ExtractPos)
- ++SeqIdx;
-
- if (SeqIdx == NumSeqSrcs) {
- AllDefsReplaced = false;
- continue;
- }
-
- unsigned OrigReg = SeqI.getOperand(2 * SeqIdx + 1).getReg();
- if (SeqI.getOperand(2 * SeqIdx + 2).getImm() != ExtractPos ||
- MRI.getType(OrigReg) != MRI.getType(ExtractReg)) {
- AllDefsReplaced = false;
- continue;
- }
-
- assert(!TargetRegisterInfo::isPhysicalRegister(OrigReg) &&
- "unexpected physical register in G_SEQUENCE");
-
- // Finally we can replace the uses.
- MRI.replaceRegWith(ExtractReg, OrigReg);
- }
-
- if (AllDefsReplaced) {
- // If SeqI was the next instruction in the BB and we removed it, we'd break
- // the outer iteration.
- assert(std::next(MachineBasicBlock::iterator(MI)) != SeqI &&
- "G_SEQUENCE does not dominate G_EXTRACT");
-
- MI.eraseFromParent();
-
- if (MRI.use_empty(SrcReg))
- SeqI.eraseFromParent();
- Changed = true;
- }
-
- return Changed;
-}
-
bool Legalizer::combineMerges(MachineInstr &MI, MachineRegisterInfo &MRI,
- const TargetInstrInfo &TII) {
+ const TargetInstrInfo &TII,
+ MachineIRBuilder &MIRBuilder) {
if (MI.getOpcode() != TargetOpcode::G_UNMERGE_VALUES)
return false;
@@ -125,18 +62,62 @@ bool Legalizer::combineMerges(MachineInstr &MI, MachineRegisterInfo &MRI,
if (MergeI.getOpcode() != TargetOpcode::G_MERGE_VALUES)
return false;
- if (MergeI.getNumOperands() - 1 != NumDefs)
- return false;
+ const unsigned NumMergeRegs = MergeI.getNumOperands() - 1;
- // FIXME: is a COPY appropriate if the types mismatch? We know both registers
- // are allocatable by now.
- if (MRI.getType(MI.getOperand(0).getReg()) !=
- MRI.getType(MergeI.getOperand(1).getReg()))
- return false;
+ if (NumMergeRegs < NumDefs) {
+ if (NumDefs % NumMergeRegs != 0)
+ return false;
+
+ MIRBuilder.setInstr(MI);
+ // Transform to UNMERGEs, for example
+ // %1 = G_MERGE_VALUES %4, %5
+ // %9, %10, %11, %12 = G_UNMERGE_VALUES %1
+ // to
+ // %9, %10 = G_UNMERGE_VALUES %4
+ // %11, %12 = G_UNMERGE_VALUES %5
+
+ const unsigned NewNumDefs = NumDefs / NumMergeRegs;
+ for (unsigned Idx = 0; Idx < NumMergeRegs; ++Idx) {
+ SmallVector<unsigned, 2> DstRegs;
+ for (unsigned j = 0, DefIdx = Idx * NewNumDefs; j < NewNumDefs;
+ ++j, ++DefIdx)
+ DstRegs.push_back(MI.getOperand(DefIdx).getReg());
+
+ MIRBuilder.buildUnmerge(DstRegs, MergeI.getOperand(Idx + 1).getReg());
+ }
+
+ } else if (NumMergeRegs > NumDefs) {
+ if (NumMergeRegs % NumDefs != 0)
+ return false;
+
+ MIRBuilder.setInstr(MI);
+ // Transform to MERGEs
+ // %6 = G_MERGE_VALUES %17, %18, %19, %20
+ // %7, %8 = G_UNMERGE_VALUES %6
+ // to
+ // %7 = G_MERGE_VALUES %17, %18
+ // %8 = G_MERGE_VALUES %19, %20
+
+ const unsigned NumRegs = NumMergeRegs / NumDefs;
+ for (unsigned DefIdx = 0; DefIdx < NumDefs; ++DefIdx) {
+ SmallVector<unsigned, 2> Regs;
+ for (unsigned j = 0, Idx = NumRegs * DefIdx + 1; j < NumRegs; ++j, ++Idx)
+ Regs.push_back(MergeI.getOperand(Idx).getReg());
+
+ MIRBuilder.buildMerge(MI.getOperand(DefIdx).getReg(), Regs);
+ }
- for (unsigned Idx = 0; Idx < NumDefs; ++Idx)
- MRI.replaceRegWith(MI.getOperand(Idx).getReg(),
- MergeI.getOperand(Idx + 1).getReg());
+ } else {
+ // FIXME: is a COPY appropriate if the types mismatch? We know both
+ // registers are allocatable by now.
+ if (MRI.getType(MI.getOperand(0).getReg()) !=
+ MRI.getType(MergeI.getOperand(1).getReg()))
+ return false;
+
+ for (unsigned Idx = 0; Idx < NumDefs; ++Idx)
+ MRI.replaceRegWith(MI.getOperand(Idx).getReg(),
+ MergeI.getOperand(Idx + 1).getReg());
+ }
MI.eraseFromParent();
if (MRI.use_empty(MergeI.getOperand(0).getReg()))
@@ -226,13 +207,7 @@ bool Legalizer::runOnMachineFunction(MachineFunction &MF) {
// Get the next Instruction before we try to legalize, because there's a
// good chance MI will be deleted.
NextMI = std::next(MI);
-
- // combineExtracts erases MI.
- if (combineExtracts(*MI, MRI, TII)) {
- Changed = true;
- continue;
- }
- Changed |= combineMerges(*MI, MRI, TII);
+ Changed |= combineMerges(*MI, MRI, TII, Helper.MIRBuilder);
}
}
diff --git a/lib/CodeGen/GlobalISel/LegalizerInfo.cpp b/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
index 4d4591042296..595802f2228b 100644
--- a/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
+++ b/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
@@ -75,8 +75,7 @@ LegalizerInfo::getAction(const InstrAspect &Aspect) const {
// FIXME: the long-term plan calls for expansion in terms of load/store (if
// they're not legal).
- if (Aspect.Opcode == TargetOpcode::G_SEQUENCE ||
- Aspect.Opcode == TargetOpcode::G_EXTRACT ||
+ if (Aspect.Opcode == TargetOpcode::G_EXTRACT ||
Aspect.Opcode == TargetOpcode::G_MERGE_VALUES ||
Aspect.Opcode == TargetOpcode::G_UNMERGE_VALUES)
return std::make_pair(Legal, Aspect.Type);
diff --git a/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp b/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
index 79d312fb52ca..3c70013ea296 100644
--- a/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
+++ b/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
@@ -425,10 +425,8 @@ MachineInstrBuilder MachineIRBuilder::buildExtract(unsigned Res, unsigned Src,
.addImm(Index);
}
-MachineInstrBuilder
-MachineIRBuilder::buildSequence(unsigned Res,
- ArrayRef<unsigned> Ops,
- ArrayRef<uint64_t> Indices) {
+void MachineIRBuilder::buildSequence(unsigned Res, ArrayRef<unsigned> Ops,
+ ArrayRef<uint64_t> Indices) {
#ifndef NDEBUG
assert(Ops.size() == Indices.size() && "incompatible args");
assert(!Ops.empty() && "invalid trivial sequence");
@@ -440,13 +438,31 @@ MachineIRBuilder::buildSequence(unsigned Res,
assert(MRI->getType(Op).isValid() && "invalid operand type");
#endif
- MachineInstrBuilder MIB = buildInstr(TargetOpcode::G_SEQUENCE);
- MIB.addDef(Res);
+ LLT ResTy = MRI->getType(Res);
+ LLT OpTy = MRI->getType(Ops[0]);
+ unsigned OpSize = OpTy.getSizeInBits();
+ bool MaybeMerge = true;
for (unsigned i = 0; i < Ops.size(); ++i) {
- MIB.addUse(Ops[i]);
- MIB.addImm(Indices[i]);
+ if (MRI->getType(Ops[i]) != OpTy || Indices[i] != i * OpSize) {
+ MaybeMerge = false;
+ break;
+ }
+ }
+
+ if (MaybeMerge && Ops.size() * OpSize == ResTy.getSizeInBits()) {
+ buildMerge(Res, Ops);
+ return;
+ }
+
+ unsigned ResIn = MRI->createGenericVirtualRegister(ResTy);
+ buildUndef(ResIn);
+
+ for (unsigned i = 0; i < Ops.size(); ++i) {
+ unsigned ResOut =
+ i + 1 == Ops.size() ? Res : MRI->createGenericVirtualRegister(ResTy);
+ buildInsert(ResOut, ResIn, Ops[i], Indices[i]);
+ ResIn = ResOut;
}
- return MIB;
}
MachineInstrBuilder MachineIRBuilder::buildUndef(unsigned Res) {
diff --git a/lib/CodeGen/GlobalISel/Utils.cpp b/lib/CodeGen/GlobalISel/Utils.cpp
index 254bdf10d804..5ecaf5c563f8 100644
--- a/lib/CodeGen/GlobalISel/Utils.cpp
+++ b/lib/CodeGen/GlobalISel/Utils.cpp
@@ -26,6 +26,23 @@
using namespace llvm;
+unsigned llvm::constrainRegToClass(MachineRegisterInfo &MRI,
+ const TargetInstrInfo &TII,
+ const RegisterBankInfo &RBI,
+ MachineInstr &InsertPt, unsigned Reg,
+ const TargetRegisterClass &RegClass) {
+ if (!RBI.constrainGenericRegister(Reg, RegClass, MRI)) {
+ unsigned NewReg = MRI.createVirtualRegister(&RegClass);
+ BuildMI(*InsertPt.getParent(), InsertPt, InsertPt.getDebugLoc(),
+ TII.get(TargetOpcode::COPY), NewReg)
+ .addReg(Reg);
+ return NewReg;
+ }
+
+ return Reg;
+}
+
+
unsigned llvm::constrainOperandRegClass(
const MachineFunction &MF, const TargetRegisterInfo &TRI,
MachineRegisterInfo &MRI, const TargetInstrInfo &TII,
@@ -36,16 +53,7 @@ unsigned llvm::constrainOperandRegClass(
"PhysReg not implemented");
const TargetRegisterClass *RegClass = TII.getRegClass(II, OpIdx, &TRI, MF);
-
- if (!RBI.constrainGenericRegister(Reg, *RegClass, MRI)) {
- unsigned NewReg = MRI.createVirtualRegister(RegClass);
- BuildMI(*InsertPt.getParent(), InsertPt, InsertPt.getDebugLoc(),
- TII.get(TargetOpcode::COPY), NewReg)
- .addReg(Reg);
- return NewReg;
- }
-
- return Reg;
+ return constrainRegToClass(MRI, TII, RBI, InsertPt, Reg, *RegClass);
}
bool llvm::isTriviallyDead(const MachineInstr &MI,
diff --git a/lib/CodeGen/IfConversion.cpp b/lib/CodeGen/IfConversion.cpp
index c98c9b68ac0e..ff8405366173 100644
--- a/lib/CodeGen/IfConversion.cpp
+++ b/lib/CodeGen/IfConversion.cpp
@@ -1474,8 +1474,11 @@ bool IfConverter::IfConvertSimple(BBInfo &BBI, IfcvtKind Kind) {
DontKill.addLiveIns(NextMBB);
}
+ // Remove the branches from the entry so we can add the contents of the true
+ // block to it.
+ BBI.NonPredSize -= TII->removeBranch(*BBI.BB);
+
if (CvtMBB.pred_size() > 1) {
- BBI.NonPredSize -= TII->removeBranch(*BBI.BB);
// Copy instructions in the true block, predicate them, and add them to
// the entry block.
CopyAndPredicateBlock(BBI, *CvtBBI, Cond);
@@ -1484,11 +1487,11 @@ bool IfConverter::IfConvertSimple(BBInfo &BBI, IfcvtKind Kind) {
// explicitly remove CvtBBI as a successor.
BBI.BB->removeSuccessor(&CvtMBB, true);
} else {
+ // Predicate the instructions in the true block.
RemoveKills(CvtMBB.begin(), CvtMBB.end(), DontKill, *TRI);
PredicateBlock(*CvtBBI, CvtMBB.end(), Cond);
// Merge converted block into entry block.
- BBI.NonPredSize -= TII->removeBranch(*BBI.BB);
MergeBlocks(BBI, *CvtBBI);
}
@@ -1588,8 +1591,11 @@ bool IfConverter::IfConvertTriangle(BBInfo &BBI, IfcvtKind Kind) {
BBCvt = MBPI->getEdgeProbability(BBI.BB, &CvtMBB);
}
+ // Remove the branches from the entry so we can add the contents of the true
+ // block to it.
+ BBI.NonPredSize -= TII->removeBranch(*BBI.BB);
+
if (CvtMBB.pred_size() > 1) {
- BBI.NonPredSize -= TII->removeBranch(*BBI.BB);
// Copy instructions in the true block, predicate them, and add them to
// the entry block.
CopyAndPredicateBlock(BBI, *CvtBBI, Cond, true);
@@ -1603,7 +1609,6 @@ bool IfConverter::IfConvertTriangle(BBInfo &BBI, IfcvtKind Kind) {
PredicateBlock(*CvtBBI, CvtMBB.end(), Cond);
// Now merge the entry of the triangle with the true block.
- BBI.NonPredSize -= TII->removeBranch(*BBI.BB);
MergeBlocks(BBI, *CvtBBI, false);
}
diff --git a/lib/CodeGen/ImplicitNullChecks.cpp b/lib/CodeGen/ImplicitNullChecks.cpp
index b831ddfa601a..e308f49ec4e8 100644
--- a/lib/CodeGen/ImplicitNullChecks.cpp
+++ b/lib/CodeGen/ImplicitNullChecks.cpp
@@ -359,30 +359,15 @@ ImplicitNullChecks::isSuitableMemoryOp(MachineInstr &MI, unsigned PointerReg,
Offset < PageSize))
return SR_Unsuitable;
- // Finally, we need to make sure that the access instruction actually is
- // accessing from PointerReg, and there isn't some re-definition of PointerReg
- // between the compare and the memory access.
- // If PointerReg has been redefined before then there is no sense to continue
- // lookup due to this condition will fail for any further instruction.
- SuitabilityResult Suitable = SR_Suitable;
- for (auto *PrevMI : PrevInsts)
- for (auto &PrevMO : PrevMI->operands()) {
- if (PrevMO.isReg() && PrevMO.getReg() && PrevMO.isDef() &&
- TRI->regsOverlap(PrevMO.getReg(), PointerReg))
- return SR_Impossible;
-
- // Check whether the current memory access aliases with previous one.
- // If we already found that it aliases then no need to continue.
- // But we continue base pointer check as it can result in SR_Impossible.
- if (Suitable == SR_Suitable) {
- AliasResult AR = areMemoryOpsAliased(MI, PrevMI);
- if (AR == AR_WillAliasEverything)
- return SR_Impossible;
- if (AR == AR_MayAlias)
- Suitable = SR_Unsuitable;
- }
- }
- return Suitable;
+ // Finally, check whether the current memory access aliases with previous one.
+ for (auto *PrevMI : PrevInsts) {
+ AliasResult AR = areMemoryOpsAliased(MI, PrevMI);
+ if (AR == AR_WillAliasEverything)
+ return SR_Impossible;
+ if (AR == AR_MayAlias)
+ return SR_Unsuitable;
+ }
+ return SR_Suitable;
}
bool ImplicitNullChecks::canHoistInst(MachineInstr *FaultingMI,
@@ -569,6 +554,12 @@ bool ImplicitNullChecks::analyzeBlockForNullChecks(
return true;
}
+ // If MI re-defines the PointerReg then we cannot move further.
+ if (any_of(MI.operands(), [&](MachineOperand &MO) {
+ return MO.isReg() && MO.getReg() && MO.isDef() &&
+ TRI->regsOverlap(MO.getReg(), PointerReg);
+ }))
+ return false;
InstsSeenSoFar.push_back(&MI);
}
diff --git a/lib/CodeGen/LiveDebugVariables.cpp b/lib/CodeGen/LiveDebugVariables.cpp
index bbd783367c9e..0c76478af551 100644
--- a/lib/CodeGen/LiveDebugVariables.cpp
+++ b/lib/CodeGen/LiveDebugVariables.cpp
@@ -1006,7 +1006,7 @@ bool LiveDebugVariables::doInitialization(Module &M) {
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
-LLVM_DUMP_METHOD void LiveDebugVariables::dump() {
+LLVM_DUMP_METHOD void LiveDebugVariables::dump() const {
if (pImpl)
static_cast<LDVImpl*>(pImpl)->print(dbgs());
}
diff --git a/lib/CodeGen/LiveDebugVariables.h b/lib/CodeGen/LiveDebugVariables.h
index afe87a52544d..1d7e3d4371a2 100644
--- a/lib/CodeGen/LiveDebugVariables.h
+++ b/lib/CodeGen/LiveDebugVariables.h
@@ -59,7 +59,7 @@ public:
void emitDebugValues(VirtRegMap *VRM);
/// dump - Print data structures to dbgs().
- void dump();
+ void dump() const;
private:
diff --git a/lib/CodeGen/MachineBasicBlock.cpp b/lib/CodeGen/MachineBasicBlock.cpp
index 590acc01008a..81597afe6b02 100644
--- a/lib/CodeGen/MachineBasicBlock.cpp
+++ b/lib/CodeGen/MachineBasicBlock.cpp
@@ -228,6 +228,12 @@ LLVM_DUMP_METHOD void MachineBasicBlock::dump() const {
}
#endif
+bool MachineBasicBlock::isLegalToHoistInto() const {
+ if (isReturnBlock() || hasEHPadSuccessor())
+ return false;
+ return true;
+}
+
StringRef MachineBasicBlock::getName() const {
if (const BasicBlock *LBB = getBasicBlock())
return LBB->getName();
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index 2a6cb07dbd2d..81c6dace92e0 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -21,6 +21,7 @@
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/AliasAnalysis.h"
+#include "llvm/Analysis/Loads.h"
#include "llvm/Analysis/MemoryLocation.h"
#include "llvm/CodeGen/GlobalISel/RegisterBank.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
@@ -558,6 +559,23 @@ unsigned MachinePointerInfo::getAddrSpace() const {
return cast<PointerType>(V.get<const Value*>()->getType())->getAddressSpace();
}
+/// isDereferenceable - Return true if V is always dereferenceable for
+/// Offset + Size byte.
+bool MachinePointerInfo::isDereferenceable(unsigned Size, LLVMContext &C,
+ const DataLayout &DL) const {
+ if (!V.is<const Value*>())
+ return false;
+
+ const Value *BasePtr = V.get<const Value*>();
+ if (BasePtr == nullptr)
+ return false;
+
+ return isDereferenceableAndAlignedPointer(BasePtr, 1,
+ APInt(DL.getPointerSize(),
+ Offset + Size),
+ DL);
+}
+
/// getConstantPool - Return a MachinePointerInfo record that refers to the
/// constant pool.
MachinePointerInfo MachinePointerInfo::getConstantPool(MachineFunction &MF) {
diff --git a/lib/CodeGen/MachineModuleInfoImpls.cpp b/lib/CodeGen/MachineModuleInfoImpls.cpp
index 4c81fd91cb82..22d519e5d88f 100644
--- a/lib/CodeGen/MachineModuleInfoImpls.cpp
+++ b/lib/CodeGen/MachineModuleInfoImpls.cpp
@@ -23,7 +23,6 @@ using namespace llvm;
// Out of line virtual method.
void MachineModuleInfoMachO::anchor() {}
void MachineModuleInfoELF::anchor() {}
-void MachineModuleInfoWasm::anchor() {}
static int SortSymbolPair(const void *LHS, const void *RHS) {
typedef std::pair<MCSymbol*, MachineModuleInfoImpl::StubValueTy> PairTy;
diff --git a/lib/CodeGen/MachineScheduler.cpp b/lib/CodeGen/MachineScheduler.cpp
index 01a2286b8d66..eaba9a58557c 100644
--- a/lib/CodeGen/MachineScheduler.cpp
+++ b/lib/CodeGen/MachineScheduler.cpp
@@ -542,10 +542,10 @@ void MachineSchedulerBase::print(raw_ostream &O, const Module* m) const {
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
-LLVM_DUMP_METHOD void ReadyQueue::dump() {
+LLVM_DUMP_METHOD void ReadyQueue::dump() const {
dbgs() << "Queue " << Name << ": ";
- for (unsigned i = 0, e = Queue.size(); i < e; ++i)
- dbgs() << Queue[i]->NodeNum << " ";
+ for (const SUnit *SU : Queue)
+ dbgs() << SU->NodeNum << " ";
dbgs() << "\n";
}
#endif
@@ -609,10 +609,8 @@ void ScheduleDAGMI::releaseSucc(SUnit *SU, SDep *SuccEdge) {
/// releaseSuccessors - Call releaseSucc on each of SU's successors.
void ScheduleDAGMI::releaseSuccessors(SUnit *SU) {
- for (SUnit::succ_iterator I = SU->Succs.begin(), E = SU->Succs.end();
- I != E; ++I) {
- releaseSucc(SU, &*I);
- }
+ for (SDep &Succ : SU->Succs)
+ releaseSucc(SU, &Succ);
}
/// ReleasePred - Decrement the NumSuccsLeft count of a predecessor. When
@@ -648,10 +646,8 @@ void ScheduleDAGMI::releasePred(SUnit *SU, SDep *PredEdge) {
/// releasePredecessors - Call releasePred on each of SU's predecessors.
void ScheduleDAGMI::releasePredecessors(SUnit *SU) {
- for (SUnit::pred_iterator I = SU->Preds.begin(), E = SU->Preds.end();
- I != E; ++I) {
- releasePred(SU, &*I);
- }
+ for (SDep &Pred : SU->Preds)
+ releasePred(SU, &Pred);
}
/// enterRegion - Called back from MachineScheduler::runOnMachineFunction after
@@ -724,8 +720,8 @@ void ScheduleDAGMI::schedule() {
DEBUG(
if (EntrySU.getInstr() != nullptr)
EntrySU.dumpAll(this);
- for (unsigned su = 0, e = SUnits.size(); su != e; ++su)
- SUnits[su].dumpAll(this);
+ for (const SUnit &SU : SUnits)
+ SU.dumpAll(this);
if (ExitSU.getInstr() != nullptr)
ExitSU.dumpAll(this);
);
@@ -786,28 +782,25 @@ void ScheduleDAGMI::schedule() {
/// Apply each ScheduleDAGMutation step in order.
void ScheduleDAGMI::postprocessDAG() {
- for (unsigned i = 0, e = Mutations.size(); i < e; ++i) {
- Mutations[i]->apply(this);
- }
+ for (auto &m : Mutations)
+ m->apply(this);
}
void ScheduleDAGMI::
findRootsAndBiasEdges(SmallVectorImpl<SUnit*> &TopRoots,
SmallVectorImpl<SUnit*> &BotRoots) {
- for (std::vector<SUnit>::iterator
- I = SUnits.begin(), E = SUnits.end(); I != E; ++I) {
- SUnit *SU = &(*I);
- assert(!SU->isBoundaryNode() && "Boundary node should not be in SUnits");
+ for (SUnit &SU : SUnits) {
+ assert(!SU.isBoundaryNode() && "Boundary node should not be in SUnits");
// Order predecessors so DFSResult follows the critical path.
- SU->biasCriticalPath();
+ SU.biasCriticalPath();
// A SUnit is ready to top schedule if it has no predecessors.
- if (!I->NumPredsLeft)
- TopRoots.push_back(SU);
+ if (!SU.NumPredsLeft)
+ TopRoots.push_back(&SU);
// A SUnit is ready to bottom schedule if it has no successors.
- if (!I->NumSuccsLeft)
- BotRoots.push_back(SU);
+ if (!SU.NumSuccsLeft)
+ BotRoots.push_back(&SU);
}
ExitSU.biasCriticalPath();
}
@@ -822,10 +815,9 @@ void ScheduleDAGMI::initQueues(ArrayRef<SUnit*> TopRoots,
//
// Nodes with unreleased weak edges can still be roots.
// Release top roots in forward order.
- for (SmallVectorImpl<SUnit*>::const_iterator
- I = TopRoots.begin(), E = TopRoots.end(); I != E; ++I) {
- SchedImpl->releaseTopNode(*I);
- }
+ for (SUnit *SU : TopRoots)
+ SchedImpl->releaseTopNode(SU);
+
// Release bottom roots in reverse order so the higher priority nodes appear
// first. This is more natural and slightly more efficient.
for (SmallVectorImpl<SUnit*>::const_reverse_iterator
@@ -1029,9 +1021,9 @@ void ScheduleDAGMILive::initRegPressure() {
}
}
DEBUG(dbgs() << "Excess PSets: ";
- for (unsigned i = 0, e = RegionCriticalPSets.size(); i != e; ++i)
+ for (const PressureChange &RCPS : RegionCriticalPSets)
dbgs() << TRI->getRegPressureSetName(
- RegionCriticalPSets[i].getPSet()) << " ";
+ RCPS.getPSet()) << " ";
dbgs() << "\n");
}
@@ -1040,11 +1032,10 @@ updateScheduledPressure(const SUnit *SU,
const std::vector<unsigned> &NewMaxPressure) {
const PressureDiff &PDiff = getPressureDiff(SU);
unsigned CritIdx = 0, CritEnd = RegionCriticalPSets.size();
- for (PressureDiff::const_iterator I = PDiff.begin(), E = PDiff.end();
- I != E; ++I) {
- if (!I->isValid())
+ for (const PressureChange &PC : PDiff) {
+ if (!PC.isValid())
break;
- unsigned ID = I->getPSet();
+ unsigned ID = PC.getPSet();
while (CritIdx != CritEnd && RegionCriticalPSets[CritIdx].getPSet() < ID)
++CritIdx;
if (CritIdx != CritEnd && RegionCriticalPSets[CritIdx].getPSet() == ID) {
@@ -1508,8 +1499,7 @@ createStoreClusterDAGMutation(const TargetInstrInfo *TII,
void BaseMemOpClusterMutation::clusterNeighboringMemOps(
ArrayRef<SUnit *> MemOps, ScheduleDAGMI *DAG) {
SmallVector<MemOpInfo, 32> MemOpRecords;
- for (unsigned Idx = 0, End = MemOps.size(); Idx != End; ++Idx) {
- SUnit *SU = MemOps[Idx];
+ for (SUnit *SU : MemOps) {
unsigned BaseReg;
int64_t Offset;
if (TII->getMemOpBaseRegImmOfs(*SU->getInstr(), BaseReg, Offset, TRI))
@@ -1537,12 +1527,11 @@ void BaseMemOpClusterMutation::clusterNeighboringMemOps(
// dependent on SUa can prevent load combining due to register reuse.
// Predecessor edges do not need to be copied from SUb to SUa since nearby
// loads should have effectively the same inputs.
- for (SUnit::const_succ_iterator
- SI = SUa->Succs.begin(), SE = SUa->Succs.end(); SI != SE; ++SI) {
- if (SI->getSUnit() == SUb)
+ for (const SDep &Succ : SUa->Succs) {
+ if (Succ.getSUnit() == SUb)
continue;
- DEBUG(dbgs() << " Copy Succ SU(" << SI->getSUnit()->NodeNum << ")\n");
- DAG->addEdge(SI->getSUnit(), SDep(SUb, SDep::Artificial));
+ DEBUG(dbgs() << " Copy Succ SU(" << Succ.getSUnit()->NodeNum << ")\n");
+ DAG->addEdge(Succ.getSUnit(), SDep(SUb, SDep::Artificial));
}
++ClusterLength;
} else
@@ -1559,17 +1548,15 @@ void BaseMemOpClusterMutation::apply(ScheduleDAGInstrs *DAGInstrs) {
DenseMap<unsigned, unsigned> StoreChainIDs;
// Map each store chain to a set of dependent MemOps.
SmallVector<SmallVector<SUnit*,4>, 32> StoreChainDependents;
- for (unsigned Idx = 0, End = DAG->SUnits.size(); Idx != End; ++Idx) {
- SUnit *SU = &DAG->SUnits[Idx];
- if ((IsLoad && !SU->getInstr()->mayLoad()) ||
- (!IsLoad && !SU->getInstr()->mayStore()))
+ for (SUnit &SU : DAG->SUnits) {
+ if ((IsLoad && !SU.getInstr()->mayLoad()) ||
+ (!IsLoad && !SU.getInstr()->mayStore()))
continue;
unsigned ChainPredID = DAG->SUnits.size();
- for (SUnit::const_pred_iterator
- PI = SU->Preds.begin(), PE = SU->Preds.end(); PI != PE; ++PI) {
- if (PI->isCtrl()) {
- ChainPredID = PI->getSUnit()->NodeNum;
+ for (const SDep &Pred : SU.Preds) {
+ if (Pred.isCtrl()) {
+ ChainPredID = Pred.getSUnit()->NodeNum;
break;
}
}
@@ -1580,12 +1567,12 @@ void BaseMemOpClusterMutation::apply(ScheduleDAGInstrs *DAGInstrs) {
StoreChainIDs.insert(std::make_pair(ChainPredID, NumChains));
if (Result.second)
StoreChainDependents.resize(NumChains + 1);
- StoreChainDependents[Result.first->second].push_back(SU);
+ StoreChainDependents[Result.first->second].push_back(&SU);
}
// Iterate over the store chains.
- for (unsigned Idx = 0, End = StoreChainDependents.size(); Idx != End; ++Idx)
- clusterNeighboringMemOps(StoreChainDependents[Idx], DAG);
+ for (auto &SCD : StoreChainDependents)
+ clusterNeighboringMemOps(SCD, DAG);
}
//===----------------------------------------------------------------------===//
@@ -1728,16 +1715,14 @@ void CopyConstrain::constrainLocalCopy(SUnit *CopySU, ScheduleDAGMILive *DAG) {
const VNInfo *LastLocalVN = LocalLI->getVNInfoBefore(LocalLI->endIndex());
MachineInstr *LastLocalDef = LIS->getInstructionFromIndex(LastLocalVN->def);
SUnit *LastLocalSU = DAG->getSUnit(LastLocalDef);
- for (SUnit::const_succ_iterator
- I = LastLocalSU->Succs.begin(), E = LastLocalSU->Succs.end();
- I != E; ++I) {
- if (I->getKind() != SDep::Data || I->getReg() != LocalReg)
+ for (const SDep &Succ : LastLocalSU->Succs) {
+ if (Succ.getKind() != SDep::Data || Succ.getReg() != LocalReg)
continue;
- if (I->getSUnit() == GlobalSU)
+ if (Succ.getSUnit() == GlobalSU)
continue;
- if (!DAG->canAddEdge(GlobalSU, I->getSUnit()))
+ if (!DAG->canAddEdge(GlobalSU, Succ.getSUnit()))
return;
- LocalUses.push_back(I->getSUnit());
+ LocalUses.push_back(Succ.getSUnit());
}
// Open the top of the GlobalLI hole by constraining any earlier global uses
// to precede the start of LocalLI.
@@ -1745,15 +1730,14 @@ void CopyConstrain::constrainLocalCopy(SUnit *CopySU, ScheduleDAGMILive *DAG) {
MachineInstr *FirstLocalDef =
LIS->getInstructionFromIndex(LocalLI->beginIndex());
SUnit *FirstLocalSU = DAG->getSUnit(FirstLocalDef);
- for (SUnit::const_pred_iterator
- I = GlobalSU->Preds.begin(), E = GlobalSU->Preds.end(); I != E; ++I) {
- if (I->getKind() != SDep::Anti || I->getReg() != GlobalReg)
+ for (const SDep &Pred : GlobalSU->Preds) {
+ if (Pred.getKind() != SDep::Anti || Pred.getReg() != GlobalReg)
continue;
- if (I->getSUnit() == FirstLocalSU)
+ if (Pred.getSUnit() == FirstLocalSU)
continue;
- if (!DAG->canAddEdge(FirstLocalSU, I->getSUnit()))
+ if (!DAG->canAddEdge(FirstLocalSU, Pred.getSUnit()))
return;
- GlobalUses.push_back(I->getSUnit());
+ GlobalUses.push_back(Pred.getSUnit());
}
DEBUG(dbgs() << "Constraining copy SU(" << CopySU->NodeNum << ")\n");
// Add the weak edges.
@@ -1784,12 +1768,11 @@ void CopyConstrain::apply(ScheduleDAGInstrs *DAGInstrs) {
RegionEndIdx = DAG->getLIS()->getInstructionIndex(
*priorNonDebug(DAG->end(), DAG->begin()));
- for (unsigned Idx = 0, End = DAG->SUnits.size(); Idx != End; ++Idx) {
- SUnit *SU = &DAG->SUnits[Idx];
- if (!SU->getInstr()->isCopy())
+ for (SUnit &SU : DAG->SUnits) {
+ if (!SU.getInstr()->isCopy())
continue;
- constrainLocalCopy(SU, static_cast<ScheduleDAGMILive*>(DAG));
+ constrainLocalCopy(&SU, static_cast<ScheduleDAGMILive*>(DAG));
}
}
@@ -1840,10 +1823,9 @@ init(ScheduleDAGMI *DAG, const TargetSchedModel *SchedModel) {
if (!SchedModel->hasInstrSchedModel())
return;
RemainingCounts.resize(SchedModel->getNumProcResourceKinds());
- for (std::vector<SUnit>::iterator
- I = DAG->SUnits.begin(), E = DAG->SUnits.end(); I != E; ++I) {
- const MCSchedClassDesc *SC = DAG->getSchedClass(&*I);
- RemIssueCount += SchedModel->getNumMicroOps(I->getInstr(), SC)
+ for (SUnit &SU : DAG->SUnits) {
+ const MCSchedClassDesc *SC = DAG->getSchedClass(&SU);
+ RemIssueCount += SchedModel->getNumMicroOps(SU.getInstr(), SC)
* SchedModel->getMicroOpFactor();
for (TargetSchedModel::ProcResIter
PI = SchedModel->getWriteProcResBegin(SC),
@@ -1957,12 +1939,11 @@ unsigned SchedBoundary::
findMaxLatency(ArrayRef<SUnit*> ReadySUs) {
SUnit *LateSU = nullptr;
unsigned RemLatency = 0;
- for (ArrayRef<SUnit*>::iterator I = ReadySUs.begin(), E = ReadySUs.end();
- I != E; ++I) {
- unsigned L = getUnscheduledLatency(*I);
+ for (SUnit *SU : ReadySUs) {
+ unsigned L = getUnscheduledLatency(SU);
if (L > RemLatency) {
RemLatency = L;
- LateSU = *I;
+ LateSU = SU;
}
}
if (LateSU) {
@@ -2328,7 +2309,7 @@ SUnit *SchedBoundary::pickOnlyChoice() {
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
// This is useful information to dump after bumpNode.
// Note that the Queue contents are more useful before pickNodeFromQueue.
-LLVM_DUMP_METHOD void SchedBoundary::dumpScheduledState() {
+LLVM_DUMP_METHOD void SchedBoundary::dumpScheduledState() const {
unsigned ResFactor;
unsigned ResCount;
if (ZoneCritResIdx) {
@@ -2667,7 +2648,7 @@ void GenericScheduler::initPolicy(MachineBasicBlock::iterator Begin,
}
}
-void GenericScheduler::dumpPolicy() {
+void GenericScheduler::dumpPolicy() const {
// Cannot completely remove virtual function even in release mode.
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
dbgs() << "GenericScheduler RegionPolicy: "
@@ -2719,10 +2700,9 @@ void GenericScheduler::registerRoots() {
Rem.CriticalPath = DAG->ExitSU.getDepth();
// Some roots may not feed into ExitSU. Check all of them in case.
- for (std::vector<SUnit*>::const_iterator
- I = Bot.Available.begin(), E = Bot.Available.end(); I != E; ++I) {
- if ((*I)->getDepth() > Rem.CriticalPath)
- Rem.CriticalPath = (*I)->getDepth();
+ for (const SUnit *SU : Bot.Available) {
+ if (SU->getDepth() > Rem.CriticalPath)
+ Rem.CriticalPath = SU->getDepth();
}
DEBUG(dbgs() << "Critical Path(GS-RR ): " << Rem.CriticalPath << '\n');
if (DumpCriticalPathLength) {
@@ -2969,10 +2949,10 @@ void GenericScheduler::pickNodeFromQueue(SchedBoundary &Zone,
RegPressureTracker &TempTracker = const_cast<RegPressureTracker&>(RPTracker);
ReadyQueue &Q = Zone.Available;
- for (ReadyQueue::iterator I = Q.begin(), E = Q.end(); I != E; ++I) {
+ for (SUnit *SU : Q) {
SchedCandidate TryCand(ZonePolicy);
- initCandidate(TryCand, *I, Zone.isTop(), RPTracker, TempTracker);
+ initCandidate(TryCand, SU, Zone.isTop(), RPTracker, TempTracker);
// Pass SchedBoundary only when comparing nodes from the same boundary.
SchedBoundary *ZoneArg = Cand.AtTop == TryCand.AtTop ? &Zone : nullptr;
tryCandidate(Cand, TryCand, ZoneArg);
@@ -3118,18 +3098,17 @@ void GenericScheduler::reschedulePhysRegCopies(SUnit *SU, bool isTop) {
// Find already scheduled copies with a single physreg dependence and move
// them just above the scheduled instruction.
- for (SmallVectorImpl<SDep>::iterator I = Deps.begin(), E = Deps.end();
- I != E; ++I) {
- if (I->getKind() != SDep::Data || !TRI->isPhysicalRegister(I->getReg()))
+ for (SDep &Dep : Deps) {
+ if (Dep.getKind() != SDep::Data || !TRI->isPhysicalRegister(Dep.getReg()))
continue;
- SUnit *DepSU = I->getSUnit();
+ SUnit *DepSU = Dep.getSUnit();
if (isTop ? DepSU->Succs.size() > 1 : DepSU->Preds.size() > 1)
continue;
MachineInstr *Copy = DepSU->getInstr();
if (!Copy->isCopy())
continue;
DEBUG(dbgs() << " Rescheduling physreg copy ";
- I->getSUnit()->dump(DAG));
+ Dep.getSUnit()->dump(DAG));
DAG->moveInstruction(Copy, InsertPos);
}
}
@@ -3204,10 +3183,9 @@ void PostGenericScheduler::registerRoots() {
Rem.CriticalPath = DAG->ExitSU.getDepth();
// Some roots may not feed into ExitSU. Check all of them in case.
- for (SmallVectorImpl<SUnit*>::const_iterator
- I = BotRoots.begin(), E = BotRoots.end(); I != E; ++I) {
- if ((*I)->getDepth() > Rem.CriticalPath)
- Rem.CriticalPath = (*I)->getDepth();
+ for (const SUnit *SU : BotRoots) {
+ if (SU->getDepth() > Rem.CriticalPath)
+ Rem.CriticalPath = SU->getDepth();
}
DEBUG(dbgs() << "Critical Path: (PGS-RR) " << Rem.CriticalPath << '\n');
if (DumpCriticalPathLength) {
@@ -3260,9 +3238,9 @@ void PostGenericScheduler::tryCandidate(SchedCandidate &Cand,
void PostGenericScheduler::pickNodeFromQueue(SchedCandidate &Cand) {
ReadyQueue &Q = Top.Available;
- for (ReadyQueue::iterator I = Q.begin(), E = Q.end(); I != E; ++I) {
+ for (SUnit *SU : Q) {
SchedCandidate TryCand(Cand.Policy);
- TryCand.SU = *I;
+ TryCand.SU = SU;
TryCand.AtTop = true;
TryCand.initResourceDelta(DAG, SchedModel);
tryCandidate(Cand, TryCand);
diff --git a/lib/CodeGen/MacroFusion.cpp b/lib/CodeGen/MacroFusion.cpp
new file mode 100644
index 000000000000..45ea0e4c39ab
--- /dev/null
+++ b/lib/CodeGen/MacroFusion.cpp
@@ -0,0 +1,150 @@
+//===- MacroFusion.cpp - Macro Fusion ----------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+/// \file This file contains the implementation of the DAG scheduling mutation
+/// to pair instructions back to back.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/CodeGen/MacroFusion.h"
+#include "llvm/ADT/Statistic.h"
+#include "llvm/Support/CommandLine.h"
+#include "llvm/Target/TargetInstrInfo.h"
+
+#define DEBUG_TYPE "misched"
+
+STATISTIC(NumFused, "Number of instr pairs fused");
+
+using namespace llvm;
+
+static cl::opt<bool> EnableMacroFusion("misched-fusion", cl::Hidden,
+ cl::desc("Enable scheduling for macro fusion."), cl::init(true));
+
+namespace {
+
+static void fuseInstructionPair(ScheduleDAGMI &DAG, SUnit &FirstSU,
+ SUnit &SecondSU) {
+ // Create a single weak edge between the adjacent instrs. The only effect is
+ // to cause bottom-up scheduling to heavily prioritize the clustered instrs.
+ DAG.addEdge(&SecondSU, SDep(&FirstSU, SDep::Cluster));
+
+ // Adjust the latency between the anchor instr and its
+ // predecessors.
+ for (SDep &IDep : SecondSU.Preds)
+ if (IDep.getSUnit() == &FirstSU)
+ IDep.setLatency(0);
+
+ // Adjust the latency between the dependent instr and its
+ // predecessors.
+ for (SDep &IDep : FirstSU.Succs)
+ if (IDep.getSUnit() == &SecondSU)
+ IDep.setLatency(0);
+
+ DEBUG(dbgs() << DAG.MF.getName() << "(): Macro fuse ";
+ FirstSU.print(dbgs(), &DAG); dbgs() << " - ";
+ SecondSU.print(dbgs(), &DAG); dbgs() << " / ";
+ dbgs() << DAG.TII->getName(FirstSU.getInstr()->getOpcode()) << " - " <<
+ DAG.TII->getName(SecondSU.getInstr()->getOpcode()) << '\n'; );
+
+ if (&SecondSU != &DAG.ExitSU)
+ // Make instructions dependent on FirstSU also dependent on SecondSU to
+ // prevent them from being scheduled between FirstSU and and SecondSU.
+ for (const SDep &SI : FirstSU.Succs) {
+ if (SI.getSUnit() == &SecondSU)
+ continue;
+ DEBUG(dbgs() << " Copy Succ ";
+ SI.getSUnit()->print(dbgs(), &DAG); dbgs() << '\n';);
+ DAG.addEdge(SI.getSUnit(), SDep(&SecondSU, SDep::Artificial));
+ }
+
+ ++NumFused;
+}
+
+
+/// \brief Post-process the DAG to create cluster edges between instrs that may
+/// be fused by the processor into a single operation.
+class MacroFusion : public ScheduleDAGMutation {
+ ShouldSchedulePredTy shouldScheduleAdjacent;
+ bool FuseBlock;
+ bool scheduleAdjacentImpl(ScheduleDAGMI &DAG, SUnit &AnchorSU);
+
+public:
+ MacroFusion(ShouldSchedulePredTy shouldScheduleAdjacent, bool FuseBlock)
+ : shouldScheduleAdjacent(shouldScheduleAdjacent), FuseBlock(FuseBlock) {}
+
+ void apply(ScheduleDAGInstrs *DAGInstrs) override;
+};
+
+void MacroFusion::apply(ScheduleDAGInstrs *DAGInstrs) {
+ ScheduleDAGMI *DAG = static_cast<ScheduleDAGMI*>(DAGInstrs);
+
+ if (FuseBlock)
+ // For each of the SUnits in the scheduling block, try to fuse the instr in
+ // it with one in its predecessors.
+ for (SUnit &ISU : DAG->SUnits)
+ scheduleAdjacentImpl(*DAG, ISU);
+
+ if (DAG->ExitSU.getInstr())
+ // Try to fuse the instr in the ExitSU with one in its predecessors.
+ scheduleAdjacentImpl(*DAG, DAG->ExitSU);
+}
+
+/// \brief Implement the fusion of instr pairs in the scheduling DAG,
+/// anchored at the instr in AnchorSU..
+bool MacroFusion::scheduleAdjacentImpl(ScheduleDAGMI &DAG, SUnit &AnchorSU) {
+ const MachineInstr &AnchorMI = *AnchorSU.getInstr();
+ const TargetInstrInfo &TII = *DAG.TII;
+ const TargetSubtargetInfo &ST = DAG.MF.getSubtarget();
+
+ // Check if the anchor instr may be fused.
+ if (!shouldScheduleAdjacent(TII, ST, nullptr, AnchorMI))
+ return false;
+
+ // Explorer for fusion candidates among the dependencies of the anchor instr.
+ for (SDep &Dep : AnchorSU.Preds) {
+ // Ignore dependencies that don't enforce ordering.
+ if (Dep.getKind() == SDep::Anti || Dep.getKind() == SDep::Output ||
+ Dep.isWeak())
+ continue;
+
+ SUnit &DepSU = *Dep.getSUnit();
+ if (DepSU.isBoundaryNode())
+ continue;
+
+ const MachineInstr *DepMI = DepSU.getInstr();
+ if (!shouldScheduleAdjacent(TII, ST, DepMI, AnchorMI))
+ continue;
+
+ fuseInstructionPair(DAG, DepSU, AnchorSU);
+ return true;
+ }
+
+ return false;
+}
+
+} // end anonymous namespace
+
+
+namespace llvm {
+
+std::unique_ptr<ScheduleDAGMutation>
+createMacroFusionDAGMutation(ShouldSchedulePredTy shouldScheduleAdjacent) {
+ if(EnableMacroFusion)
+ return llvm::make_unique<MacroFusion>(shouldScheduleAdjacent, true);
+ return nullptr;
+}
+
+std::unique_ptr<ScheduleDAGMutation>
+createBranchMacroFusionDAGMutation(ShouldSchedulePredTy shouldScheduleAdjacent) {
+ if(EnableMacroFusion)
+ return llvm::make_unique<MacroFusion>(shouldScheduleAdjacent, false);
+ return nullptr;
+}
+
+} // end namespace llvm
diff --git a/lib/CodeGen/RegisterScavenging.cpp b/lib/CodeGen/RegisterScavenging.cpp
index 1aed58c36e17..05e641d9489d 100644
--- a/lib/CodeGen/RegisterScavenging.cpp
+++ b/lib/CodeGen/RegisterScavenging.cpp
@@ -35,6 +35,7 @@
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
+#include <algorithm>
#include <cassert>
#include <iterator>
#include <limits>
@@ -260,6 +261,14 @@ void RegScavenger::backward() {
const MachineInstr &MI = *MBBI;
LiveUnits.stepBackward(MI);
+ // Expire scavenge spill frameindex uses.
+ for (ScavengedInfo &I : Scavenged) {
+ if (I.Restore == &MI) {
+ I.Reg = 0;
+ I.Restore = nullptr;
+ }
+ }
+
if (MBBI == MBB->begin()) {
MBBI = MachineBasicBlock::iterator(nullptr);
Tracking = false;
@@ -356,6 +365,80 @@ unsigned RegScavenger::findSurvivorReg(MachineBasicBlock::iterator StartMI,
return Survivor;
}
+/// Given the bitvector \p Available of free register units at position
+/// \p From. Search backwards to find a register that is part of \p
+/// Candidates and not used/clobbered until the point \p To. If there is
+/// multiple candidates continue searching and pick the one that is not used/
+/// clobbered for the longest time.
+/// Returns the register and the earliest position we know it to be free or
+/// the position MBB.end() if no register is available.
+static std::pair<MCPhysReg, MachineBasicBlock::iterator>
+findSurvivorBackwards(const MachineRegisterInfo &MRI,
+ MachineBasicBlock::iterator From, MachineBasicBlock::iterator To,
+ const LiveRegUnits &LiveOut, ArrayRef<MCPhysReg> AllocationOrder) {
+ bool FoundTo = false;
+ MCPhysReg Survivor = 0;
+ MachineBasicBlock::iterator Pos;
+ MachineBasicBlock &MBB = *From->getParent();
+ unsigned InstrLimit = 25;
+ unsigned InstrCountDown = InstrLimit;
+ const TargetRegisterInfo &TRI = *MRI.getTargetRegisterInfo();
+ LiveRegUnits Used(TRI);
+
+ for (MachineBasicBlock::iterator I = From;; --I) {
+ const MachineInstr &MI = *I;
+
+ Used.accumulateBackward(MI);
+
+ if (I == To) {
+ // See if one of the registers in RC wasn't used so far.
+ for (MCPhysReg Reg : AllocationOrder) {
+ if (!MRI.isReserved(Reg) && Used.available(Reg) &&
+ LiveOut.available(Reg))
+ return std::make_pair(Reg, MBB.end());
+ }
+ // Otherwise we will continue up to InstrLimit instructions to find
+ // the register which is not defined/used for the longest time.
+ FoundTo = true;
+ Pos = To;
+ }
+ if (FoundTo) {
+ if (Survivor == 0 || !Used.available(Survivor)) {
+ MCPhysReg AvilableReg = 0;
+ for (MCPhysReg Reg : AllocationOrder) {
+ if (!MRI.isReserved(Reg) && Used.available(Reg)) {
+ AvilableReg = Reg;
+ break;
+ }
+ }
+ if (AvilableReg == 0)
+ break;
+ Survivor = AvilableReg;
+ }
+ if (--InstrCountDown == 0)
+ break;
+
+ // Keep searching when we find a vreg since the spilled register will
+ // be usefull for this other vreg as well later.
+ bool FoundVReg = false;
+ for (const MachineOperand &MO : MI.operands()) {
+ if (MO.isReg() && TargetRegisterInfo::isVirtualRegister(MO.getReg())) {
+ FoundVReg = true;
+ break;
+ }
+ }
+ if (FoundVReg) {
+ InstrCountDown = InstrLimit;
+ Pos = I;
+ }
+ if (I == MBB.begin())
+ break;
+ }
+ }
+
+ return std::make_pair(Survivor, Pos);
+}
+
static unsigned getFrameIndexOperandNum(MachineInstr &MI) {
unsigned i = 0;
while (!MI.getOperand(i).isFI()) {
@@ -365,44 +448,16 @@ static unsigned getFrameIndexOperandNum(MachineInstr &MI) {
return i;
}
-unsigned RegScavenger::scavengeRegister(const TargetRegisterClass *RC,
- MachineBasicBlock::iterator I,
- int SPAdj) {
- MachineInstr &MI = *I;
- const MachineFunction &MF = *MI.getParent()->getParent();
- // Consider all allocatable registers in the register class initially
- BitVector Candidates = TRI->getAllocatableSet(MF, RC);
-
- // Exclude all the registers being used by the instruction.
- for (const MachineOperand &MO : MI.operands()) {
- if (MO.isReg() && MO.getReg() != 0 && !(MO.isUse() && MO.isUndef()) &&
- !TargetRegisterInfo::isVirtualRegister(MO.getReg()))
- for (MCRegAliasIterator AI(MO.getReg(), TRI, true); AI.isValid(); ++AI)
- Candidates.reset(*AI);
- }
-
- // Try to find a register that's unused if there is one, as then we won't
- // have to spill.
- BitVector Available = getRegsAvailable(RC);
- Available &= Candidates;
- if (Available.any())
- Candidates = Available;
-
- // Find the register whose use is furthest away.
- MachineBasicBlock::iterator UseMI;
- unsigned SReg = findSurvivorReg(I, Candidates, 25, UseMI);
-
- // If we found an unused register there is no reason to spill it.
- if (!isRegUsed(SReg)) {
- DEBUG(dbgs() << "Scavenged register: " << TRI->getName(SReg) << "\n");
- return SReg;
- }
-
+RegScavenger::ScavengedInfo &
+RegScavenger::spill(unsigned Reg, const TargetRegisterClass &RC, int SPAdj,
+ MachineBasicBlock::iterator Before,
+ MachineBasicBlock::iterator &UseMI) {
// Find an available scavenging slot with size and alignment matching
// the requirements of the class RC.
+ const MachineFunction &MF = *Before->getParent()->getParent();
const MachineFrameInfo &MFI = MF.getFrameInfo();
- unsigned NeedSize = TRI->getSpillSize(*RC);
- unsigned NeedAlign = TRI->getSpillAlignment(*RC);
+ 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();
@@ -437,39 +492,72 @@ unsigned RegScavenger::scavengeRegister(const TargetRegisterClass *RC,
}
// Avoid infinite regress
- Scavenged[SI].Reg = SReg;
+ Scavenged[SI].Reg = Reg;
// If the target knows how to save/restore the register, let it do so;
// otherwise, use the emergency stack spill slot.
- if (!TRI->saveScavengerRegister(*MBB, I, UseMI, RC, SReg)) {
- // Spill the scavenged register before I.
+ if (!TRI->saveScavengerRegister(*MBB, Before, UseMI, &RC, Reg)) {
+ // Spill the scavenged register before \p Before.
int FI = Scavenged[SI].FrameIndex;
if (FI < FIB || FI >= FIE) {
std::string Msg = std::string("Error while trying to spill ") +
- TRI->getName(SReg) + " from class " + TRI->getRegClassName(RC) +
+ TRI->getName(Reg) + " from class " + TRI->getRegClassName(&RC) +
": Cannot scavenge register without an emergency spill slot!";
report_fatal_error(Msg.c_str());
}
- TII->storeRegToStackSlot(*MBB, I, SReg, true, Scavenged[SI].FrameIndex,
- RC, TRI);
- MachineBasicBlock::iterator II = std::prev(I);
+ TII->storeRegToStackSlot(*MBB, Before, Reg, true, Scavenged[SI].FrameIndex,
+ &RC, TRI);
+ MachineBasicBlock::iterator II = std::prev(Before);
unsigned FIOperandNum = getFrameIndexOperandNum(*II);
TRI->eliminateFrameIndex(II, SPAdj, FIOperandNum, this);
// Restore the scavenged register before its use (or first terminator).
- TII->loadRegFromStackSlot(*MBB, UseMI, SReg, Scavenged[SI].FrameIndex,
- RC, TRI);
+ TII->loadRegFromStackSlot(*MBB, UseMI, Reg, Scavenged[SI].FrameIndex,
+ &RC, TRI);
II = std::prev(UseMI);
FIOperandNum = getFrameIndexOperandNum(*II);
TRI->eliminateFrameIndex(II, SPAdj, FIOperandNum, this);
}
+ return Scavenged[SI];
+}
- Scavenged[SI].Restore = &*std::prev(UseMI);
+unsigned RegScavenger::scavengeRegister(const TargetRegisterClass *RC,
+ MachineBasicBlock::iterator I,
+ int SPAdj) {
+ MachineInstr &MI = *I;
+ const MachineFunction &MF = *MI.getParent()->getParent();
+ // Consider all allocatable registers in the register class initially
+ BitVector Candidates = TRI->getAllocatableSet(MF, RC);
- // Doing this here leads to infinite regress.
- // Scavenged[SI].Reg = SReg;
+ // Exclude all the registers being used by the instruction.
+ for (const MachineOperand &MO : MI.operands()) {
+ if (MO.isReg() && MO.getReg() != 0 && !(MO.isUse() && MO.isUndef()) &&
+ !TargetRegisterInfo::isVirtualRegister(MO.getReg()))
+ for (MCRegAliasIterator AI(MO.getReg(), TRI, true); AI.isValid(); ++AI)
+ Candidates.reset(*AI);
+ }
+
+ // Try to find a register that's unused if there is one, as then we won't
+ // have to spill.
+ BitVector Available = getRegsAvailable(RC);
+ Available &= Candidates;
+ if (Available.any())
+ Candidates = Available;
+
+ // Find the register whose use is furthest away.
+ MachineBasicBlock::iterator UseMI;
+ unsigned SReg = findSurvivorReg(I, Candidates, 25, UseMI);
+
+ // If we found an unused register there is no reason to spill it.
+ if (!isRegUsed(SReg)) {
+ DEBUG(dbgs() << "Scavenged register: " << TRI->getName(SReg) << "\n");
+ return SReg;
+ }
+
+ ScavengedInfo &Scavenged = spill(SReg, *RC, SPAdj, I, UseMI);
+ Scavenged.Restore = &*std::prev(UseMI);
DEBUG(dbgs() << "Scavenged register (with spill): " << TRI->getName(SReg) <<
"\n");
@@ -477,85 +565,195 @@ unsigned RegScavenger::scavengeRegister(const TargetRegisterClass *RC,
return SReg;
}
-void llvm::scavengeFrameVirtualRegs(MachineFunction &MF, RegScavenger &RS) {
- // FIXME: Iterating over the instruction stream is unnecessary. We can simply
- // iterate over the vreg use list, which at this point only contains machine
- // operands for which eliminateFrameIndex need a new scratch reg.
+unsigned RegScavenger::scavengeRegisterBackwards(const TargetRegisterClass &RC,
+ MachineBasicBlock::iterator To,
+ bool RestoreAfter, int SPAdj) {
+ const MachineBasicBlock &MBB = *To->getParent();
+ const MachineFunction &MF = *MBB.getParent();
- // Run through the instructions and find any virtual registers.
- MachineRegisterInfo &MRI = MF.getRegInfo();
- for (MachineBasicBlock &MBB : MF) {
- RS.enterBasicBlock(MBB);
-
- int SPAdj = 0;
-
- // The instruction stream may change in the loop, so check MBB.end()
- // directly.
- for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); ) {
- // We might end up here again with a NULL iterator if we scavenged a
- // register for which we inserted spill code for definition by what was
- // originally the first instruction in MBB.
- if (I == MachineBasicBlock::iterator(nullptr))
- I = MBB.begin();
-
- const MachineInstr &MI = *I;
- MachineBasicBlock::iterator J = std::next(I);
- MachineBasicBlock::iterator P =
- I == MBB.begin() ? MachineBasicBlock::iterator(nullptr)
- : std::prev(I);
-
- // RS should process this instruction before we might scavenge at this
- // location. This is because we might be replacing a virtual register
- // defined by this instruction, and if so, registers killed by this
- // instruction are available, and defined registers are not.
- RS.forward(I);
+ // Find the register whose use is furthest away.
+ MachineBasicBlock::iterator UseMI;
+ ArrayRef<MCPhysReg> AllocationOrder = RC.getRawAllocationOrder(MF);
+ std::pair<MCPhysReg, MachineBasicBlock::iterator> P =
+ findSurvivorBackwards(*MRI, MBBI, To, LiveUnits, AllocationOrder);
+ MCPhysReg Reg = P.first;
+ MachineBasicBlock::iterator SpillBefore = P.second;
+ assert(Reg != 0 && "No register left to scavenge!");
+ // Found an available register?
+ if (SpillBefore != MBB.end()) {
+ MachineBasicBlock::iterator ReloadAfter =
+ RestoreAfter ? std::next(MBBI) : MBBI;
+ MachineBasicBlock::iterator ReloadBefore = std::next(ReloadAfter);
+ DEBUG(dbgs() << "Reload before: " << *ReloadBefore << '\n');
+ ScavengedInfo &Scavenged = spill(Reg, RC, SPAdj, SpillBefore, ReloadBefore);
+ Scavenged.Restore = &*std::prev(SpillBefore);
+ LiveUnits.removeReg(Reg);
+ DEBUG(dbgs() << "Scavenged register with spill: " << PrintReg(Reg, TRI)
+ << " until " << *SpillBefore);
+ } else {
+ DEBUG(dbgs() << "Scavenged free register: " << PrintReg(Reg, TRI) << '\n');
+ }
+ return Reg;
+}
- for (const MachineOperand &MO : MI.operands()) {
+/// Allocate a register for the virtual register \p VReg. The last use of
+/// \p VReg is around the current position of the register scavenger \p RS.
+/// \p ReserveAfter controls whether the scavenged register needs to be reserved
+/// after the current instruction, otherwise it will only be reserved before the
+/// current instruction.
+static unsigned scavengeVReg(MachineRegisterInfo &MRI, RegScavenger &RS,
+ unsigned VReg, bool ReserveAfter) {
+ const TargetRegisterInfo &TRI = *MRI.getTargetRegisterInfo();
+#ifndef NDEBUG
+ // Verify that all definitions and uses are in the same basic block.
+ const MachineBasicBlock *CommonMBB = nullptr;
+ // Real definition for the reg, re-definitions are not considered.
+ const MachineInstr *RealDef = nullptr;
+ for (MachineOperand &MO : MRI.reg_nodbg_operands(VReg)) {
+ MachineBasicBlock *MBB = MO.getParent()->getParent();
+ if (CommonMBB == nullptr)
+ CommonMBB = MBB;
+ assert(MBB == CommonMBB && "All defs+uses must be in the same basic block");
+ if (MO.isDef()) {
+ const MachineInstr &MI = *MO.getParent();
+ if (!MI.readsRegister(VReg, &TRI)) {
+ assert((!RealDef || RealDef == &MI) &&
+ "Can have at most one definition which is not a redefinition");
+ RealDef = &MI;
+ }
+ }
+ }
+ assert(RealDef != nullptr && "Must have at least 1 Def");
+#endif
+
+ // We should only have one definition of the register. However to accomodate
+ // the requirements of two address code we also allow definitions in
+ // subsequent instructions provided they also read the register. That way
+ // we get a single contiguous lifetime.
+ //
+ // Definitions in MRI.def_begin() are unordered, search for the first.
+ MachineRegisterInfo::def_iterator FirstDef =
+ std::find_if(MRI.def_begin(VReg), MRI.def_end(),
+ [VReg, &TRI](const MachineOperand &MO) {
+ return !MO.getParent()->readsRegister(VReg, &TRI);
+ });
+ assert(FirstDef != MRI.def_end() &&
+ "Must have one definition that does not redefine vreg");
+ MachineInstr &DefMI = *FirstDef->getParent();
+
+ // The register scavenger will report a free register inserting an emergency
+ // spill/reload if necessary.
+ int SPAdj = 0;
+ const TargetRegisterClass &RC = *MRI.getRegClass(VReg);
+ unsigned SReg = RS.scavengeRegisterBackwards(RC, DefMI.getIterator(),
+ ReserveAfter, SPAdj);
+ MRI.replaceRegWith(VReg, SReg);
+ ++NumScavengedRegs;
+ return SReg;
+}
+
+/// Allocate (scavenge) vregs inside a single basic block.
+/// Returns true if the target spill callback created new vregs and a 2nd pass
+/// is necessary.
+static bool scavengeFrameVirtualRegsInBlock(MachineRegisterInfo &MRI,
+ RegScavenger &RS,
+ MachineBasicBlock &MBB) {
+ const TargetRegisterInfo &TRI = *MRI.getTargetRegisterInfo();
+ RS.enterBasicBlockEnd(MBB);
+
+ unsigned InitialNumVirtRegs = MRI.getNumVirtRegs();
+ bool NextInstructionReadsVReg = false;
+ for (MachineBasicBlock::iterator I = MBB.end(); I != MBB.begin(); ) {
+ --I;
+ // Move RegScavenger to the position between *I and *std::next(I).
+ RS.backward(I);
+
+ // Look for unassigned vregs in the uses of *std::next(I).
+ if (NextInstructionReadsVReg) {
+ MachineBasicBlock::iterator N = std::next(I);
+ const MachineInstr &NMI = *N;
+ for (const MachineOperand &MO : NMI.operands()) {
if (!MO.isReg())
continue;
unsigned Reg = MO.getReg();
- if (!TargetRegisterInfo::isVirtualRegister(Reg))
+ // We only care about virtual registers and ignore virtual registers
+ // created by the target callbacks in the process (those will be handled
+ // in a scavenging round).
+ if (!TargetRegisterInfo::isVirtualRegister(Reg) ||
+ TargetRegisterInfo::virtReg2Index(Reg) >= InitialNumVirtRegs)
+ continue;
+ if (!MO.readsReg())
continue;
- // When we first encounter a new virtual register, it
- // must be a definition.
- assert(MO.isDef() && "frame index virtual missing def!");
- // Scavenge a new scratch register
- const TargetRegisterClass *RC = MRI.getRegClass(Reg);
- unsigned ScratchReg = RS.scavengeRegister(RC, J, SPAdj);
+ unsigned SReg = scavengeVReg(MRI, RS, Reg, true);
+ N->addRegisterKilled(SReg, &TRI, false);
+ RS.setRegUsed(SReg);
+ }
+ }
- ++NumScavengedRegs;
+ // Look for unassigned vregs in the defs of *I.
+ NextInstructionReadsVReg = false;
+ const MachineInstr &MI = *I;
+ for (const MachineOperand &MO : MI.operands()) {
+ if (!MO.isReg())
+ continue;
+ unsigned Reg = MO.getReg();
+ // Only vregs, no newly created vregs (see above).
+ if (!TargetRegisterInfo::isVirtualRegister(Reg) ||
+ TargetRegisterInfo::virtReg2Index(Reg) >= InitialNumVirtRegs)
+ continue;
+ // We have to look at all operands anyway so we can precalculate here
+ // whether there is a reading operand. This allows use to skip the use
+ // step in the next iteration if there was none.
+ assert(!MO.isInternalRead() && "Cannot assign inside bundles");
+ assert((!MO.isUndef() || MO.isDef()) && "Cannot handle undef uses");
+ if (MO.readsReg()) {
+ NextInstructionReadsVReg = true;
+ }
+ if (MO.isDef()) {
+ unsigned SReg = scavengeVReg(MRI, RS, Reg, false);
+ I->addRegisterDead(SReg, &TRI, false);
+ }
+ }
+ }
+#ifndef NDEBUG
+ for (const MachineOperand &MO : MBB.front().operands()) {
+ if (!MO.isReg() || !TargetRegisterInfo::isVirtualRegister(MO.getReg()))
+ continue;
+ assert(!MO.isInternalRead() && "Cannot assign inside bundles");
+ assert((!MO.isUndef() || MO.isDef()) && "Cannot handle undef uses");
+ assert(!MO.readsReg() && "Vreg use in first instruction not allowed");
+ }
+#endif
- // Replace this reference to the virtual register with the
- // scratch register.
- assert(ScratchReg && "Missing scratch register!");
- MRI.replaceRegWith(Reg, ScratchReg);
+ return MRI.getNumVirtRegs() != InitialNumVirtRegs;
+}
- // Because this instruction was processed by the RS before this
- // register was allocated, make sure that the RS now records the
- // register as being used.
- RS.setRegUsed(ScratchReg);
- }
+void llvm::scavengeFrameVirtualRegs(MachineFunction &MF, RegScavenger &RS) {
+ // FIXME: Iterating over the instruction stream is unnecessary. We can simply
+ // iterate over the vreg use list, which at this point only contains machine
+ // operands for which eliminateFrameIndex need a new scratch reg.
+ MachineRegisterInfo &MRI = MF.getRegInfo();
+ // Shortcut.
+ if (MRI.getNumVirtRegs() == 0) {
+ MF.getProperties().set(MachineFunctionProperties::Property::NoVRegs);
+ return;
+ }
+
+ // Run through the instructions and find any virtual registers.
+ for (MachineBasicBlock &MBB : MF) {
+ if (MBB.empty())
+ continue;
- // If the scavenger needed to use one of its spill slots, the
- // spill code will have been inserted in between I and J. This is a
- // problem because we need the spill code before I: Move I to just
- // prior to J.
- if (I != std::prev(J)) {
- MBB.splice(J, &MBB, I);
-
- // Before we move I, we need to prepare the RS to visit I again.
- // Specifically, RS will assert if it sees uses of registers that
- // it believes are undefined. Because we have already processed
- // register kills in I, when it visits I again, it will believe that
- // those registers are undefined. To avoid this situation, unprocess
- // the instruction I.
- assert(RS.getCurrentPosition() == I &&
- "The register scavenger has an unexpected position");
- I = P;
- RS.unprocess(P);
- } else
- ++I;
+ bool Again = scavengeFrameVirtualRegsInBlock(MRI, RS, MBB);
+ if (Again) {
+ DEBUG(dbgs() << "Warning: Required two scavenging passes for block "
+ << MBB.getName() << '\n');
+ Again = scavengeFrameVirtualRegsInBlock(MRI, RS, MBB);
+ // The target required a 2nd run (because it created new vregs while
+ // spilling). Refuse to do another pass to keep compiletime in check.
+ if (Again)
+ report_fatal_error("Incomplete scavenging after 2nd pass");
}
}
diff --git a/lib/CodeGen/RegisterUsageInfo.cpp b/lib/CodeGen/RegisterUsageInfo.cpp
index d7a3ac080823..30757f070cad 100644
--- a/lib/CodeGen/RegisterUsageInfo.cpp
+++ b/lib/CodeGen/RegisterUsageInfo.cpp
@@ -1,4 +1,4 @@
-//===- RegisterUsageInfo.cpp - Register Usage Informartion Storage --------===//
+//===- RegisterUsageInfo.cpp - Register Usage Information Storage ---------===//
//
// The LLVM Compiler Infrastructure
//
@@ -38,7 +38,7 @@ static cl::opt<bool> DumpRegUsage(
cl::desc("print register usage details collected for analysis."));
INITIALIZE_PASS(PhysicalRegisterUsageInfo, "reg-usage-info",
- "Register Usage Informartion Stroage", false, true)
+ "Register Usage Information Storage", false, true)
char PhysicalRegisterUsageInfo::ID = 0;
diff --git a/lib/CodeGen/SelectionDAG/CMakeLists.txt b/lib/CodeGen/SelectionDAG/CMakeLists.txt
index a668ddb7389f..ae9c5adb0397 100644
--- a/lib/CodeGen/SelectionDAG/CMakeLists.txt
+++ b/lib/CodeGen/SelectionDAG/CMakeLists.txt
@@ -17,6 +17,7 @@ add_llvm_library(LLVMSelectionDAG
ScheduleDAGVLIW.cpp
SelectionDAGBuilder.cpp
SelectionDAG.cpp
+ SelectionDAGAddressAnalysis.cpp
SelectionDAGDumper.cpp
SelectionDAGISel.cpp
SelectionDAGPrinter.cpp
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 2d4422d94a17..d02dcb6f4439 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -25,6 +25,7 @@
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/SelectionDAG.h"
+#include "llvm/CodeGen/SelectionDAGAddressAnalysis.h"
#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
@@ -469,7 +470,8 @@ namespace {
/// \return True if a merged store was created.
bool MergeStoresOfConstantsOrVecElts(SmallVectorImpl<MemOpLink> &StoreNodes,
EVT MemVT, unsigned NumStores,
- bool IsConstantSrc, bool UseVector);
+ bool IsConstantSrc, bool UseVector,
+ bool UseTrunc);
/// This is a helper function for MergeConsecutiveStores.
/// Stores that may be merged are placed in StoreNodes.
@@ -2549,14 +2551,14 @@ SDValue DAGCombiner::visitMUL(SDNode *N) {
!DAG.isConstantIntBuildVectorOrConstantInt(N1))
return DAG.getNode(ISD::MUL, SDLoc(N), VT, N1, N0);
// fold (mul x, 0) -> 0
- if (N1IsConst && ConstValue1 == 0)
+ if (N1IsConst && ConstValue1.isNullValue())
return N1;
// We require a splat of the entire scalar bit width for non-contiguous
// bit patterns.
bool IsFullSplat =
ConstValue1.getBitWidth() == VT.getScalarSizeInBits();
// fold (mul x, 1) -> x
- if (N1IsConst && ConstValue1 == 1 && IsFullSplat)
+ if (N1IsConst && ConstValue1.isOneValue() && IsFullSplat)
return N0;
if (SDValue NewSel = foldBinOpIntoSelect(N))
@@ -3685,7 +3687,7 @@ SDValue DAGCombiner::visitAND(SDNode *N) {
// fold (and (or x, C), D) -> D if (C & D) == D
if (N1C && N0.getOpcode() == ISD::OR)
if (ConstantSDNode *ORI = isConstOrConstSplat(N0.getOperand(1)))
- if ((ORI->getAPIntValue() & N1C->getAPIntValue()) == N1C->getAPIntValue())
+ if (N1C->getAPIntValue().isSubsetOf(ORI->getAPIntValue()))
return N1;
// fold (and (any_ext V), c) -> (zero_ext V) if 'and' only clears top bits.
if (N1C && N0.getOpcode() == ISD::ANY_EXTEND) {
@@ -4694,110 +4696,6 @@ SDNode *DAGCombiner::MatchRotate(SDValue LHS, SDValue RHS, const SDLoc &DL) {
}
namespace {
-/// Helper struct to parse and store a memory address as base + index + offset.
-/// We ignore sign extensions when it is safe to do so.
-/// The following two expressions are not equivalent. To differentiate we need
-/// to store whether there was a sign extension involved in the index
-/// computation.
-/// (load (i64 add (i64 copyfromreg %c)
-/// (i64 signextend (add (i8 load %index)
-/// (i8 1))))
-/// vs
-///
-/// (load (i64 add (i64 copyfromreg %c)
-/// (i64 signextend (i32 add (i32 signextend (i8 load %index))
-/// (i32 1)))))
-struct BaseIndexOffset {
- SDValue Base;
- SDValue Index;
- int64_t Offset;
- bool IsIndexSignExt;
-
- BaseIndexOffset() : Offset(0), IsIndexSignExt(false) {}
-
- BaseIndexOffset(SDValue Base, SDValue Index, int64_t Offset,
- bool IsIndexSignExt) :
- Base(Base), Index(Index), Offset(Offset), IsIndexSignExt(IsIndexSignExt) {}
-
- bool equalBaseIndex(const BaseIndexOffset &Other) {
- return Other.Base == Base && Other.Index == Index &&
- Other.IsIndexSignExt == IsIndexSignExt;
- }
-
- /// Parses tree in Ptr for base, index, offset addresses.
- static BaseIndexOffset match(SDValue Ptr, SelectionDAG &DAG,
- int64_t PartialOffset = 0) {
- bool IsIndexSignExt = false;
-
- // Split up a folded GlobalAddress+Offset into its component parts.
- if (GlobalAddressSDNode *GA = dyn_cast<GlobalAddressSDNode>(Ptr))
- if (GA->getOpcode() == ISD::GlobalAddress && GA->getOffset() != 0) {
- return BaseIndexOffset(DAG.getGlobalAddress(GA->getGlobal(),
- SDLoc(GA),
- GA->getValueType(0),
- /*Offset=*/PartialOffset,
- /*isTargetGA=*/false,
- GA->getTargetFlags()),
- SDValue(),
- GA->getOffset(),
- IsIndexSignExt);
- }
-
- // We only can pattern match BASE + INDEX + OFFSET. If Ptr is not an ADD
- // instruction, then it could be just the BASE or everything else we don't
- // know how to handle. Just use Ptr as BASE and give up.
- if (Ptr->getOpcode() != ISD::ADD)
- return BaseIndexOffset(Ptr, SDValue(), PartialOffset, IsIndexSignExt);
-
- // We know that we have at least an ADD instruction. Try to pattern match
- // the simple case of BASE + OFFSET.
- if (isa<ConstantSDNode>(Ptr->getOperand(1))) {
- int64_t Offset = cast<ConstantSDNode>(Ptr->getOperand(1))->getSExtValue();
- return match(Ptr->getOperand(0), DAG, Offset + PartialOffset);
- }
-
- // Inside a loop the current BASE pointer is calculated using an ADD and a
- // MUL instruction. In this case Ptr is the actual BASE pointer.
- // (i64 add (i64 %array_ptr)
- // (i64 mul (i64 %induction_var)
- // (i64 %element_size)))
- if (Ptr->getOperand(1)->getOpcode() == ISD::MUL)
- return BaseIndexOffset(Ptr, SDValue(), PartialOffset, IsIndexSignExt);
-
- // Look at Base + Index + Offset cases.
- SDValue Base = Ptr->getOperand(0);
- SDValue IndexOffset = Ptr->getOperand(1);
-
- // Skip signextends.
- if (IndexOffset->getOpcode() == ISD::SIGN_EXTEND) {
- IndexOffset = IndexOffset->getOperand(0);
- IsIndexSignExt = true;
- }
-
- // Either the case of Base + Index (no offset) or something else.
- if (IndexOffset->getOpcode() != ISD::ADD)
- return BaseIndexOffset(Base, IndexOffset, PartialOffset, IsIndexSignExt);
-
- // Now we have the case of Base + Index + offset.
- SDValue Index = IndexOffset->getOperand(0);
- SDValue Offset = IndexOffset->getOperand(1);
-
- if (!isa<ConstantSDNode>(Offset))
- return BaseIndexOffset(Ptr, SDValue(), PartialOffset, IsIndexSignExt);
-
- // Ignore signextends.
- if (Index->getOpcode() == ISD::SIGN_EXTEND) {
- Index = Index->getOperand(0);
- IsIndexSignExt = true;
- } else IsIndexSignExt = false;
-
- int64_t Off = cast<ConstantSDNode>(Offset)->getSExtValue();
- return BaseIndexOffset(Base, Index, Off + PartialOffset, IsIndexSignExt);
- }
-};
-} // namespace
-
-namespace {
/// Represents known origin of an individual byte in load combine pattern. The
/// value of the byte is either constant zero or comes from memory.
struct ByteProvider {
@@ -5017,14 +4915,15 @@ SDValue DAGCombiner::MatchLoadCombine(SDNode *N) {
return SDValue();
// Loads must share the same base address
- BaseIndexOffset Ptr = BaseIndexOffset::match(L->getBasePtr(), DAG);
+ BaseIndexOffset Ptr = BaseIndexOffset::match(L->getBasePtr());
+ int64_t ByteOffsetFromBase = 0;
if (!Base)
Base = Ptr;
- else if (!Base->equalBaseIndex(Ptr))
+ else if (!Base->equalBaseIndex(Ptr, DAG, ByteOffsetFromBase))
return SDValue();
// Calculate the offset of the current byte from the base address
- int64_t ByteOffsetFromBase = Ptr.Offset + MemoryByteOffset(*P);
+ ByteOffsetFromBase += MemoryByteOffset(*P);
ByteOffsets[i] = ByteOffsetFromBase;
// Remember the first byte load
@@ -12378,8 +12277,8 @@ SDValue DAGCombiner::getMergeStoreChains(SmallVectorImpl<MemOpLink> &StoreNodes,
}
bool DAGCombiner::MergeStoresOfConstantsOrVecElts(
- SmallVectorImpl<MemOpLink> &StoreNodes, EVT MemVT,
- unsigned NumStores, bool IsConstantSrc, bool UseVector) {
+ SmallVectorImpl<MemOpLink> &StoreNodes, EVT MemVT, unsigned NumStores,
+ bool IsConstantSrc, bool UseVector, bool UseTrunc) {
// Make sure we have something to merge.
if (NumStores < 2)
return false;
@@ -12464,7 +12363,7 @@ bool DAGCombiner::MergeStoresOfConstantsOrVecElts(
// make sure we use trunc store if it's necessary to be legal.
SDValue NewStore;
- if (TLI.isTypeLegal(StoredVal.getValueType())) {
+ if (UseVector || !UseTrunc) {
NewStore = DAG.getStore(NewChain, DL, StoredVal, FirstInChain->getBasePtr(),
FirstInChain->getPointerInfo(),
FirstInChain->getAlignment());
@@ -12495,15 +12394,15 @@ void DAGCombiner::getStoreMergeCandidates(
StoreSDNode *St, SmallVectorImpl<MemOpLink> &StoreNodes) {
// This holds the base pointer, index, and the offset in bytes from the base
// pointer.
- BaseIndexOffset BasePtr = BaseIndexOffset::match(St->getBasePtr(), DAG);
+ BaseIndexOffset BasePtr = BaseIndexOffset::match(St->getBasePtr());
EVT MemVT = St->getMemoryVT();
// We must have a base and an offset.
- if (!BasePtr.Base.getNode())
+ if (!BasePtr.getBase().getNode())
return;
// Do not handle stores to undef base pointers.
- if (BasePtr.Base.isUndef())
+ if (BasePtr.getBase().isUndef())
return;
bool IsConstantSrc = isa<ConstantSDNode>(St->getValue()) ||
@@ -12515,10 +12414,11 @@ void DAGCombiner::getStoreMergeCandidates(
BaseIndexOffset LBasePtr;
// Match on loadbaseptr if relevant.
if (IsLoadSrc)
- LBasePtr = BaseIndexOffset::match(
- cast<LoadSDNode>(St->getValue())->getBasePtr(), DAG);
+ LBasePtr =
+ BaseIndexOffset::match(cast<LoadSDNode>(St->getValue())->getBasePtr());
- auto CandidateMatch = [&](StoreSDNode *Other, BaseIndexOffset &Ptr) -> bool {
+ auto CandidateMatch = [&](StoreSDNode *Other, BaseIndexOffset &Ptr,
+ int64_t &Offset) -> bool {
if (Other->isVolatile() || Other->isIndexed())
return false;
// We can merge constant floats to equivalent integers
@@ -12529,8 +12429,8 @@ void DAGCombiner::getStoreMergeCandidates(
if (IsLoadSrc) {
// The Load's Base Ptr must also match
if (LoadSDNode *OtherLd = dyn_cast<LoadSDNode>(Other->getValue())) {
- auto LPtr = BaseIndexOffset::match(OtherLd->getBasePtr(), DAG);
- if (!(LBasePtr.equalBaseIndex(LPtr)))
+ auto LPtr = BaseIndexOffset::match(OtherLd->getBasePtr());
+ if (!(LBasePtr.equalBaseIndex(LPtr, DAG)))
return false;
} else
return false;
@@ -12543,8 +12443,8 @@ void DAGCombiner::getStoreMergeCandidates(
if (!(Other->getValue().getOpcode() == ISD::EXTRACT_VECTOR_ELT ||
Other->getValue().getOpcode() == ISD::EXTRACT_SUBVECTOR))
return false;
- Ptr = BaseIndexOffset::match(Other->getBasePtr(), DAG);
- return (Ptr.equalBaseIndex(BasePtr));
+ Ptr = BaseIndexOffset::match(Other->getBasePtr());
+ return (BasePtr.equalBaseIndex(Ptr, DAG, Offset));
};
// We looking for a root node which is an ancestor to all mergable
// stores. We search up through a load, to our root and then down
@@ -12572,16 +12472,18 @@ void DAGCombiner::getStoreMergeCandidates(
if (I2.getOperandNo() == 0)
if (StoreSDNode *OtherST = dyn_cast<StoreSDNode>(*I2)) {
BaseIndexOffset Ptr;
- if (CandidateMatch(OtherST, Ptr))
- StoreNodes.push_back(MemOpLink(OtherST, Ptr.Offset));
+ int64_t PtrDiff;
+ if (CandidateMatch(OtherST, Ptr, PtrDiff))
+ StoreNodes.push_back(MemOpLink(OtherST, PtrDiff));
}
} else
for (auto I = RootNode->use_begin(), E = RootNode->use_end(); I != E; ++I)
if (I.getOperandNo() == 0)
if (StoreSDNode *OtherST = dyn_cast<StoreSDNode>(*I)) {
BaseIndexOffset Ptr;
- if (CandidateMatch(OtherST, Ptr))
- StoreNodes.push_back(MemOpLink(OtherST, Ptr.Offset));
+ int64_t PtrDiff;
+ if (CandidateMatch(OtherST, Ptr, PtrDiff))
+ StoreNodes.push_back(MemOpLink(OtherST, PtrDiff));
}
}
@@ -12721,8 +12623,9 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
LSBaseSDNode *FirstInChain = StoreNodes[0].MemNode;
unsigned FirstStoreAS = FirstInChain->getAddressSpace();
unsigned FirstStoreAlign = FirstInChain->getAlignment();
- unsigned LastLegalType = 0;
- unsigned LastLegalVectorType = 0;
+ unsigned LastLegalType = 1;
+ unsigned LastLegalVectorType = 1;
+ bool LastIntegerTrunc = false;
bool NonZero = false;
for (unsigned i = 0; i < NumConsecutiveStores; ++i) {
StoreSDNode *ST = cast<StoreSDNode>(StoreNodes[i].MemNode);
@@ -12747,6 +12650,7 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
TLI.allowsMemoryAccess(Context, DL, StoreTy, FirstStoreAS,
FirstStoreAlign, &IsFast) &&
IsFast) {
+ LastIntegerTrunc = false;
LastLegalType = i + 1;
// Or check whether a truncstore is legal.
} else if (TLI.getTypeAction(Context, StoreTy) ==
@@ -12758,6 +12662,7 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
TLI.allowsMemoryAccess(Context, DL, LegalizedStoredValueTy,
FirstStoreAS, FirstStoreAlign, &IsFast) &&
IsFast) {
+ LastIntegerTrunc = true;
LastLegalType = i + 1;
}
}
@@ -12787,8 +12692,8 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
bool UseVector = (LastLegalVectorType > LastLegalType) && !NoVectors;
unsigned NumElem = (UseVector) ? LastLegalVectorType : LastLegalType;
- bool Merged = MergeStoresOfConstantsOrVecElts(StoreNodes, MemVT, NumElem,
- true, UseVector);
+ bool Merged = MergeStoresOfConstantsOrVecElts(
+ StoreNodes, MemVT, NumElem, true, UseVector, LastIntegerTrunc);
if (!Merged) {
StoreNodes.erase(StoreNodes.begin(), StoreNodes.begin() + NumElem);
continue;
@@ -12836,7 +12741,7 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
}
bool Merged = MergeStoresOfConstantsOrVecElts(
- StoreNodes, MemVT, NumStoresToMerge, false, true);
+ StoreNodes, MemVT, NumStoresToMerge, false, true, false);
if (!Merged) {
StoreNodes.erase(StoreNodes.begin(),
StoreNodes.begin() + NumStoresToMerge);
@@ -12881,11 +12786,12 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
if (Ld->getMemoryVT() != MemVT)
break;
- BaseIndexOffset LdPtr = BaseIndexOffset::match(Ld->getBasePtr(), DAG);
+ BaseIndexOffset LdPtr = BaseIndexOffset::match(Ld->getBasePtr());
// If this is not the first ptr that we check.
- if (LdBasePtr.Base.getNode()) {
+ int64_t LdOffset = 0;
+ if (LdBasePtr.getBase().getNode()) {
// The base ptr must be the same.
- if (!LdPtr.equalBaseIndex(LdBasePtr))
+ if (!LdBasePtr.equalBaseIndex(LdPtr, DAG, LdOffset))
break;
} else {
// Check that all other base pointers are the same as this one.
@@ -12893,7 +12799,7 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
}
// We found a potential memory operand to merge.
- LoadNodes.push_back(MemOpLink(Ld, LdPtr.Offset));
+ LoadNodes.push_back(MemOpLink(Ld, LdOffset));
}
if (LoadNodes.size() < 2) {
@@ -12919,10 +12825,11 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
// Scan the memory operations on the chain and find the first
// non-consecutive load memory address. These variables hold the index in
// the store node array.
- unsigned LastConsecutiveLoad = 0;
+ unsigned LastConsecutiveLoad = 1;
// This variable refers to the size and not index in the array.
- unsigned LastLegalVectorType = 0;
- unsigned LastLegalIntegerType = 0;
+ unsigned LastLegalVectorType = 1;
+ unsigned LastLegalIntegerType = 1;
+ bool DoIntegerTruncate = false;
StartAddress = LoadNodes[0].OffsetFromBase;
SDValue FirstChain = FirstLoad->getChain();
for (unsigned i = 1; i < LoadNodes.size(); ++i) {
@@ -12958,11 +12865,12 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
IsFastSt &&
TLI.allowsMemoryAccess(Context, DL, StoreTy, FirstLoadAS,
FirstLoadAlign, &IsFastLd) &&
- IsFastLd)
+ IsFastLd) {
LastLegalIntegerType = i + 1;
- // Or check whether a truncstore and extload is legal.
- else if (TLI.getTypeAction(Context, StoreTy) ==
- TargetLowering::TypePromoteInteger) {
+ DoIntegerTruncate = false;
+ // Or check whether a truncstore and extload is legal.
+ } else if (TLI.getTypeAction(Context, StoreTy) ==
+ TargetLowering::TypePromoteInteger) {
EVT LegalizedStoredValueTy = TLI.getTypeToTransformTo(Context, StoreTy);
if (TLI.isTruncStoreLegal(LegalizedStoredValueTy, StoreTy) &&
TLI.canMergeStoresTo(FirstStoreAS, LegalizedStoredValueTy) &&
@@ -12976,8 +12884,10 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
IsFastSt &&
TLI.allowsMemoryAccess(Context, DL, StoreTy, FirstLoadAS,
FirstLoadAlign, &IsFastLd) &&
- IsFastLd)
+ IsFastLd) {
LastLegalIntegerType = i + 1;
+ DoIntegerTruncate = true;
+ }
}
}
@@ -13012,17 +12922,31 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
// The merged loads are required to have the same incoming chain, so
// using the first's chain is acceptable.
- SDValue NewLoad = DAG.getLoad(JointMemOpVT, LoadDL, FirstLoad->getChain(),
- FirstLoad->getBasePtr(),
- FirstLoad->getPointerInfo(), FirstLoadAlign);
SDValue NewStoreChain = getMergeStoreChains(StoreNodes, NumElem);
-
AddToWorklist(NewStoreChain.getNode());
- SDValue NewStore = DAG.getStore(
- NewStoreChain, StoreDL, NewLoad, FirstInChain->getBasePtr(),
- FirstInChain->getPointerInfo(), FirstStoreAlign);
+ SDValue NewLoad, NewStore;
+ if (UseVectorTy || !DoIntegerTruncate) {
+ NewLoad = DAG.getLoad(JointMemOpVT, LoadDL, FirstLoad->getChain(),
+ FirstLoad->getBasePtr(),
+ FirstLoad->getPointerInfo(), FirstLoadAlign);
+ NewStore = DAG.getStore(NewStoreChain, StoreDL, NewLoad,
+ FirstInChain->getBasePtr(),
+ FirstInChain->getPointerInfo(), FirstStoreAlign);
+ } else { // This must be the truncstore/extload case
+ EVT ExtendedTy =
+ TLI.getTypeToTransformTo(*DAG.getContext(), JointMemOpVT);
+ NewLoad =
+ DAG.getExtLoad(ISD::EXTLOAD, LoadDL, ExtendedTy, FirstLoad->getChain(),
+ FirstLoad->getBasePtr(), FirstLoad->getPointerInfo(),
+ JointMemOpVT, FirstLoadAlign);
+ NewStore = DAG.getTruncStore(NewStoreChain, StoreDL, NewLoad,
+ FirstInChain->getBasePtr(),
+ FirstInChain->getPointerInfo(), JointMemOpVT,
+ FirstInChain->getAlignment(),
+ FirstInChain->getMemOperand()->getFlags());
+ }
// Transfer chain users from old loads to the new load.
for (unsigned i = 0; i < NumElem; ++i) {
@@ -13285,7 +13209,8 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) {
// Only perform this optimization before the types are legal, because we
// don't want to perform this optimization on every DAGCombine invocation.
- if (!LegalTypes) {
+ if ((TLI.mergeStoresAfterLegalization()) ? Level == AfterLegalizeDAG
+ : !LegalTypes) {
for (;;) {
// There can be multiple store sequences on the same chain.
// Keep trying to merge store sequences until we are unable to do so
@@ -14035,6 +13960,11 @@ SDValue DAGCombiner::createBuildVecShuffle(const SDLoc &DL, SDNode *N,
// when we start sorting the vectors by type.
return SDValue();
}
+ } else if (InVT2.getSizeInBits() * 2 == VT.getSizeInBits() &&
+ InVT1.getSizeInBits() == VT.getSizeInBits()) {
+ SmallVector<SDValue, 2> ConcatOps(2, DAG.getUNDEF(InVT2));
+ ConcatOps[0] = VecIn2;
+ VecIn2 = DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, ConcatOps);
} else {
// TODO: Support cases where the length mismatch isn't exactly by a
// factor of 2.
@@ -16610,11 +16540,11 @@ bool DAGCombiner::isAlias(LSBaseSDNode *Op0, LSBaseSDNode *Op1) const {
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));
+ BaseIndexOffset BasePtr0 = BaseIndexOffset::match(Op0->getBasePtr());
+ BaseIndexOffset BasePtr1 = BaseIndexOffset::match(Op1->getBasePtr());
+ int64_t PtrDiff;
+ if (BasePtr0.equalBaseIndex(BasePtr1, DAG, PtrDiff))
+ return !((NumBytes0 <= PtrDiff) || (PtrDiff + NumBytes1 <= 0));
// FIXME: findBaseOffset and ConstantValue/GlobalValue/FrameIndex analysis
// modified to use BaseIndexOffset.
@@ -16821,14 +16751,14 @@ SDValue DAGCombiner::FindBetterChain(SDNode *N, SDValue OldChain) {
bool DAGCombiner::findBetterNeighborChains(StoreSDNode *St) {
// This holds the base pointer, index, and the offset in bytes from the base
// pointer.
- BaseIndexOffset BasePtr = BaseIndexOffset::match(St->getBasePtr(), DAG);
+ BaseIndexOffset BasePtr = BaseIndexOffset::match(St->getBasePtr());
// We must have a base and an offset.
- if (!BasePtr.Base.getNode())
+ if (!BasePtr.getBase().getNode())
return false;
// Do not handle stores to undef base pointers.
- if (BasePtr.Base.isUndef())
+ if (BasePtr.getBase().isUndef())
return false;
SmallVector<StoreSDNode *, 8> ChainedStores;
@@ -16847,10 +16777,10 @@ bool DAGCombiner::findBetterNeighborChains(StoreSDNode *St) {
break;
// Find the base pointer and offset for this memory node.
- BaseIndexOffset Ptr = BaseIndexOffset::match(Index->getBasePtr(), DAG);
+ BaseIndexOffset Ptr = BaseIndexOffset::match(Index->getBasePtr());
// Check that the base pointer is the same as the original one.
- if (!Ptr.equalBaseIndex(BasePtr))
+ if (!BasePtr.equalBaseIndex(Ptr, DAG))
break;
// Walk up the chain to find the next store node, ignoring any
diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index 15e87b7af18d..873b2bd48f1e 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -3530,17 +3530,24 @@ bool SelectionDAGLegalize::ExpandNode(SDNode *Node) {
LC = RTLIB::MUL_I128;
assert(LC != RTLIB::UNKNOWN_LIBCALL && "Cannot expand this operation!");
- // The high part is obtained by SRA'ing all but one of the bits of low
- // part.
- unsigned LoSize = VT.getSizeInBits();
- SDValue HiLHS =
- DAG.getNode(ISD::SRA, dl, VT, LHS,
- DAG.getConstant(LoSize - 1, dl,
- TLI.getPointerTy(DAG.getDataLayout())));
- SDValue HiRHS =
- DAG.getNode(ISD::SRA, dl, VT, RHS,
- DAG.getConstant(LoSize - 1, dl,
- TLI.getPointerTy(DAG.getDataLayout())));
+ SDValue HiLHS;
+ SDValue HiRHS;
+ if (isSigned) {
+ // The high part is obtained by SRA'ing all but one of the bits of low
+ // part.
+ unsigned LoSize = VT.getSizeInBits();
+ HiLHS =
+ DAG.getNode(ISD::SRA, dl, VT, LHS,
+ DAG.getConstant(LoSize - 1, dl,
+ TLI.getPointerTy(DAG.getDataLayout())));
+ HiRHS =
+ DAG.getNode(ISD::SRA, dl, VT, RHS,
+ DAG.getConstant(LoSize - 1, dl,
+ TLI.getPointerTy(DAG.getDataLayout())));
+ } else {
+ HiLHS = DAG.getConstant(0, dl, VT);
+ HiRHS = DAG.getConstant(0, dl, VT);
+ }
// Here we're passing the 2 arguments explicitly as 4 arguments that are
// pre-lowered to the correct types. This all depends upon WideVT not
diff --git a/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp b/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
index a3ba52a148ee..75fec7bd1d48 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
@@ -615,9 +615,8 @@ SDValue DAGTypeLegalizer::PromoteIntRes_SETCC(SDNode *N) {
SDValue SetCC = DAG.getNode(N->getOpcode(), dl, SVT, LHS, RHS,
N->getOperand(2));
- assert(NVT.bitsLE(SVT) && "Integer type overpromoted?");
// Convert to the expected type.
- return DAG.getNode(ISD::TRUNCATE, dl, NVT, SetCC);
+ return DAG.getSExtOrTrunc(SetCC, dl, NVT);
}
SDValue DAGTypeLegalizer::PromoteIntRes_SHL(SDNode *N) {
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
index 593efc5121f9..70b1fa77a099 100644
--- a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
+++ b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
@@ -1861,28 +1861,68 @@ static int checkSpecialNodes(const SUnit *left, const SUnit *right) {
/// Smaller number is the higher priority.
static unsigned
CalcNodeSethiUllmanNumber(const SUnit *SU, std::vector<unsigned> &SUNumbers) {
- unsigned &SethiUllmanNumber = SUNumbers[SU->NodeNum];
- if (SethiUllmanNumber != 0)
- return SethiUllmanNumber;
-
- unsigned Extra = 0;
- for (const SDep &Pred : SU->Preds) {
- if (Pred.isCtrl()) continue; // ignore chain preds
- SUnit *PredSU = Pred.getSUnit();
- unsigned PredSethiUllman = CalcNodeSethiUllmanNumber(PredSU, SUNumbers);
- if (PredSethiUllman > SethiUllmanNumber) {
- SethiUllmanNumber = PredSethiUllman;
- Extra = 0;
- } else if (PredSethiUllman == SethiUllmanNumber)
- ++Extra;
- }
+ if (SUNumbers[SU->NodeNum] != 0)
+ return SUNumbers[SU->NodeNum];
+
+ // Use WorkList to avoid stack overflow on excessively large IRs.
+ struct WorkState {
+ WorkState(const SUnit *SU) : SU(SU) {}
+ const SUnit *SU;
+ unsigned PredsProcessed = 0;
+ };
- SethiUllmanNumber += Extra;
+ SmallVector<WorkState, 16> WorkList;
+ WorkList.push_back(SU);
+ while (!WorkList.empty()) {
+ auto &Temp = WorkList.back();
+ auto *TempSU = Temp.SU;
+ bool AllPredsKnown = true;
+ // Try to find a non-evaluated pred and push it into the processing stack.
+ for (unsigned P = Temp.PredsProcessed; P < TempSU->Preds.size(); ++P) {
+ auto &Pred = TempSU->Preds[P];
+ if (Pred.isCtrl()) continue; // ignore chain preds
+ SUnit *PredSU = Pred.getSUnit();
+ if (SUNumbers[PredSU->NodeNum] == 0) {
+#ifndef NDEBUG
+ // In debug mode, check that we don't have such element in the stack.
+ for (auto It : WorkList)
+ assert(It.SU != PredSU && "Trying to push an element twice?");
+#endif
+ // Next time start processing this one starting from the next pred.
+ Temp.PredsProcessed = P + 1;
+ WorkList.push_back(PredSU);
+ AllPredsKnown = false;
+ break;
+ }
+ }
- if (SethiUllmanNumber == 0)
- SethiUllmanNumber = 1;
+ if (!AllPredsKnown)
+ continue;
- return SethiUllmanNumber;
+ // Once all preds are known, we can calculate the answer for this one.
+ unsigned SethiUllmanNumber = 0;
+ unsigned Extra = 0;
+ for (const SDep &Pred : TempSU->Preds) {
+ if (Pred.isCtrl()) continue; // ignore chain preds
+ SUnit *PredSU = Pred.getSUnit();
+ unsigned PredSethiUllman = SUNumbers[PredSU->NodeNum];
+ assert(PredSethiUllman > 0 && "We should have evaluated this pred!");
+ if (PredSethiUllman > SethiUllmanNumber) {
+ SethiUllmanNumber = PredSethiUllman;
+ Extra = 0;
+ } else if (PredSethiUllman == SethiUllmanNumber)
+ ++Extra;
+ }
+
+ SethiUllmanNumber += Extra;
+ if (SethiUllmanNumber == 0)
+ SethiUllmanNumber = 1;
+ SUNumbers[TempSU->NodeNum] = SethiUllmanNumber;
+ WorkList.pop_back();
+ }
+
+ assert(SUNumbers[SU->NodeNum] > 0 && "SethiUllman should never be zero!");
+ return SUNumbers[SU->NodeNum];
}
/// CalculateSethiUllmanNumbers - Calculate Sethi-Ullman numbers of all
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 7abdc76cb004..98553152117d 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -4897,6 +4897,8 @@ static SDValue getMemcpyLoadsAndStores(SelectionDAG &DAG, const SDLoc &dl,
// TODO: In the AlwaysInline case, if the size is big then generate a loop
// rather than maybe a humongous number of loads and stores.
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
+ const DataLayout &DL = DAG.getDataLayout();
+ LLVMContext &C = *DAG.getContext();
std::vector<EVT> MemOps;
bool DstAlignCanChange = false;
MachineFunction &MF = DAG.getMachineFunction();
@@ -4923,15 +4925,15 @@ static SDValue getMemcpyLoadsAndStores(SelectionDAG &DAG, const SDLoc &dl,
return SDValue();
if (DstAlignCanChange) {
- Type *Ty = MemOps[0].getTypeForEVT(*DAG.getContext());
- unsigned NewAlign = (unsigned)DAG.getDataLayout().getABITypeAlignment(Ty);
+ Type *Ty = MemOps[0].getTypeForEVT(C);
+ unsigned NewAlign = (unsigned)DL.getABITypeAlignment(Ty);
// Don't promote to an alignment that would require dynamic stack
// realignment.
const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
if (!TRI->needsStackRealignment(MF))
while (NewAlign > Align &&
- DAG.getDataLayout().exceedsNaturalStackAlignment(NewAlign))
+ DL.exceedsNaturalStackAlignment(NewAlign))
NewAlign /= 2;
if (NewAlign > Align) {
@@ -4991,12 +4993,19 @@ static SDValue getMemcpyLoadsAndStores(SelectionDAG &DAG, const SDLoc &dl,
// thing to do is generate a LoadExt/StoreTrunc pair. These simplify
// to Load/Store if NVT==VT.
// FIXME does the case above also need this?
- EVT NVT = TLI.getTypeToTransformTo(*DAG.getContext(), VT);
+ EVT NVT = TLI.getTypeToTransformTo(C, VT);
assert(NVT.bitsGE(VT));
+
+ bool isDereferenceable =
+ SrcPtrInfo.getWithOffset(SrcOff).isDereferenceable(VTSize, C, DL);
+ MachineMemOperand::Flags SrcMMOFlags = MMOFlags;
+ if (isDereferenceable)
+ SrcMMOFlags |= MachineMemOperand::MODereferenceable;
+
Value = DAG.getExtLoad(ISD::EXTLOAD, dl, NVT, Chain,
DAG.getMemBasePlusOffset(Src, SrcOff, dl),
SrcPtrInfo.getWithOffset(SrcOff), VT,
- MinAlign(SrcAlign, SrcOff), MMOFlags);
+ MinAlign(SrcAlign, SrcOff), SrcMMOFlags);
OutChains.push_back(Value.getValue(1));
Store = DAG.getTruncStore(
Chain, dl, Value, DAG.getMemBasePlusOffset(Dst, DstOff, dl),
@@ -5024,6 +5033,8 @@ static SDValue getMemmoveLoadsAndStores(SelectionDAG &DAG, const SDLoc &dl,
// Expand memmove to a series of load and store ops if the size operand falls
// below a certain threshold.
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
+ const DataLayout &DL = DAG.getDataLayout();
+ LLVMContext &C = *DAG.getContext();
std::vector<EVT> MemOps;
bool DstAlignCanChange = false;
MachineFunction &MF = DAG.getMachineFunction();
@@ -5046,8 +5057,8 @@ static SDValue getMemmoveLoadsAndStores(SelectionDAG &DAG, const SDLoc &dl,
return SDValue();
if (DstAlignCanChange) {
- Type *Ty = MemOps[0].getTypeForEVT(*DAG.getContext());
- unsigned NewAlign = (unsigned)DAG.getDataLayout().getABITypeAlignment(Ty);
+ Type *Ty = MemOps[0].getTypeForEVT(C);
+ unsigned NewAlign = (unsigned)DL.getABITypeAlignment(Ty);
if (NewAlign > Align) {
// Give the stack frame object a larger alignment if needed.
if (MFI.getObjectAlignment(FI->getIndex()) < NewAlign)
@@ -5068,9 +5079,15 @@ static SDValue getMemmoveLoadsAndStores(SelectionDAG &DAG, const SDLoc &dl,
unsigned VTSize = VT.getSizeInBits() / 8;
SDValue Value;
+ bool isDereferenceable =
+ SrcPtrInfo.getWithOffset(SrcOff).isDereferenceable(VTSize, C, DL);
+ MachineMemOperand::Flags SrcMMOFlags = MMOFlags;
+ if (isDereferenceable)
+ SrcMMOFlags |= MachineMemOperand::MODereferenceable;
+
Value =
DAG.getLoad(VT, dl, Chain, DAG.getMemBasePlusOffset(Src, SrcOff, dl),
- SrcPtrInfo.getWithOffset(SrcOff), SrcAlign, MMOFlags);
+ SrcPtrInfo.getWithOffset(SrcOff), SrcAlign, SrcMMOFlags);
LoadValues.push_back(Value);
LoadChains.push_back(Value.getValue(1));
SrcOff += VTSize;
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
new file mode 100644
index 000000000000..d2e0dbbf88ec
--- /dev/null
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
@@ -0,0 +1,95 @@
+//===-- llvm/CodeGen/SelectionDAGAddressAnalysis.cpp ------- DAG Address
+//Analysis ---*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+
+#include "llvm/CodeGen/SelectionDAGAddressAnalysis.h"
+#include "llvm/CodeGen/ISDOpcodes.h"
+#include "llvm/CodeGen/SelectionDAG.h"
+#include "llvm/CodeGen/SelectionDAGNodes.h"
+
+namespace llvm {
+
+bool BaseIndexOffset::equalBaseIndex(BaseIndexOffset &Other,
+ const SelectionDAG &DAG, int64_t &Off) {
+ // Obvious equivalent
+ Off = Other.Offset - Offset;
+ if (Other.Base == Base && Other.Index == Index &&
+ Other.IsIndexSignExt == IsIndexSignExt)
+ return true;
+
+ // Match GlobalAddresses
+ if (Index == Other.Index)
+ if (GlobalAddressSDNode *A = dyn_cast<GlobalAddressSDNode>(Base))
+ if (GlobalAddressSDNode *B = dyn_cast<GlobalAddressSDNode>(Other.Base))
+ if (A->getGlobal() == B->getGlobal()) {
+ Off += B->getOffset() - A->getOffset();
+ return true;
+ }
+
+ // TODO: we should be able to add FrameIndex analysis improvements here.
+
+ return false;
+}
+
+/// Parses tree in Ptr for base, index, offset addresses.
+BaseIndexOffset BaseIndexOffset::match(SDValue Ptr) {
+ // (((B + I*M) + c)) + c ...
+ SDValue Base = Ptr;
+ SDValue Index = SDValue();
+ int64_t Offset = 0;
+ bool IsIndexSignExt = false;
+
+ // Consume constant adds
+ while (Base->getOpcode() == ISD::ADD &&
+ isa<ConstantSDNode>(Base->getOperand(1))) {
+ int64_t POffset = cast<ConstantSDNode>(Base->getOperand(1))->getSExtValue();
+ Offset += POffset;
+ Base = Base->getOperand(0);
+ }
+
+ if (Base->getOpcode() == ISD::ADD) {
+ // TODO: The following code appears to be needless as it just
+ // bails on some Ptrs early, reducing the cases where we
+ // find equivalence. We should be able to remove this.
+ // Inside a loop the current BASE pointer is calculated using an ADD and a
+ // MUL instruction. In this case Base is the actual BASE pointer.
+ // (i64 add (i64 %array_ptr)
+ // (i64 mul (i64 %induction_var)
+ // (i64 %element_size)))
+ if (Base->getOperand(1)->getOpcode() == ISD::MUL)
+ return BaseIndexOffset(Base, Index, Offset, IsIndexSignExt);
+
+ // Look at Base + Index + Offset cases.
+ Index = Base->getOperand(1);
+ SDValue PotentialBase = Base->getOperand(0);
+
+ // Skip signextends.
+ if (Index->getOpcode() == ISD::SIGN_EXTEND) {
+ Index = Index->getOperand(0);
+ IsIndexSignExt = true;
+ }
+
+ // Check if Index Offset pattern
+ if (Index->getOpcode() != ISD::ADD ||
+ !isa<ConstantSDNode>(Index->getOperand(1)))
+ return BaseIndexOffset(PotentialBase, Index, Offset, IsIndexSignExt);
+
+ Offset += cast<ConstantSDNode>(Index->getOperand(1))->getSExtValue();
+ Index = Index->getOperand(0);
+ if (Index->getOpcode() == ISD::SIGN_EXTEND) {
+ Index = Index->getOperand(0);
+ IsIndexSignExt = true;
+ } else
+ IsIndexSignExt = false;
+ Base = PotentialBase;
+ }
+ return BaseIndexOffset(Base, Index, Offset, IsIndexSignExt);
+}
+} // end namespace llvm
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index dcccd17bb98e..f711ca71f79f 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -337,12 +337,13 @@ void SelectionDAGISel::getAnalysisUsage(AnalysisUsage &AU) const {
/// SplitCriticalSideEffectEdges - Look for critical edges with a PHI value that
/// may trap on it. In this case we have to split the edge so that the path
/// through the predecessor block that doesn't go to the phi block doesn't
-/// execute the possibly trapping instruction. If available, we pass a
-/// dominator tree to be updated when we split critical edges. This is because
-/// SelectionDAGISel preserves the DominatorTree.
+/// execute the possibly trapping instruction. If available, we pass domtree
+/// and loop info to be updated when we split critical edges. This is because
+/// SelectionDAGISel preserves these analyses.
/// This is required for correctness, so it must be done at -O0.
///
-static void SplitCriticalSideEffectEdges(Function &Fn, DominatorTree *DT) {
+static void SplitCriticalSideEffectEdges(Function &Fn, DominatorTree *DT,
+ LoopInfo *LI) {
// Loop for blocks with phi nodes.
for (BasicBlock &BB : Fn) {
PHINode *PN = dyn_cast<PHINode>(BB.begin());
@@ -368,7 +369,7 @@ static void SplitCriticalSideEffectEdges(Function &Fn, DominatorTree *DT) {
// Okay, we have to split this edge.
SplitCriticalEdge(
Pred->getTerminator(), GetSuccessorNumber(Pred, &BB),
- CriticalEdgeSplittingOptions(DT).setMergeIdenticalEdges());
+ CriticalEdgeSplittingOptions(DT, LI).setMergeIdenticalEdges());
goto ReprocessBlock;
}
}
@@ -406,10 +407,12 @@ bool SelectionDAGISel::runOnMachineFunction(MachineFunction &mf) {
ORE = make_unique<OptimizationRemarkEmitter>(&Fn);
auto *DTWP = getAnalysisIfAvailable<DominatorTreeWrapperPass>();
DominatorTree *DT = DTWP ? &DTWP->getDomTree() : nullptr;
+ auto *LIWP = getAnalysisIfAvailable<LoopInfoWrapperPass>();
+ LoopInfo *LI = LIWP ? &LIWP->getLoopInfo() : nullptr;
DEBUG(dbgs() << "\n\n\n=== " << Fn.getName() << "\n");
- SplitCriticalSideEffectEdges(const_cast<Function &>(Fn), DT);
+ SplitCriticalSideEffectEdges(const_cast<Function &>(Fn), DT, LI);
CurDAG->init(*MF, *ORE);
FuncInfo->set(Fn, *MF, CurDAG);
diff --git a/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/lib/CodeGen/SelectionDAG/TargetLowering.cpp
index cfda0fffd031..8652df7bbd70 100644
--- a/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+++ b/lib/CodeGen/SelectionDAG/TargetLowering.cpp
@@ -365,10 +365,10 @@ bool TargetLowering::ShrinkDemandedConstant(SDValue Op, const APInt &Demanded,
// If this is a 'not' op, don't touch it because that's a canonical form.
const APInt &C = Op1C->getAPIntValue();
- if (Opcode == ISD::XOR && (C | ~Demanded).isAllOnesValue())
+ if (Opcode == ISD::XOR && Demanded.isSubsetOf(C))
return false;
- if (C.intersects(~Demanded)) {
+ if (!C.isSubsetOf(Demanded)) {
EVT VT = Op.getValueType();
SDValue NewC = DAG.getConstant(Demanded & C, DL, VT);
SDValue NewOp = DAG.getNode(Opcode, DL, VT, Op.getOperand(0), NewC);
@@ -919,7 +919,7 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
// always convert this into a logical shr, even if the shift amount is
// variable. The low bit of the shift cannot be an input sign bit unless
// the shift amount is >= the size of the datatype, which is undefined.
- if (NewMask == 1)
+ if (NewMask.isOneValue())
return TLO.CombineTo(Op,
TLO.DAG.getNode(ISD::SRL, dl, Op.getValueType(),
Op.getOperand(0), Op.getOperand(1)));
@@ -1349,7 +1349,7 @@ bool TargetLowering::isConstTrueVal(const SDNode *N) const {
case UndefinedBooleanContent:
return CVal[0];
case ZeroOrOneBooleanContent:
- return CVal == 1;
+ return CVal.isOneValue();
case ZeroOrNegativeOneBooleanContent:
return CVal.isAllOnesValue();
}
@@ -1506,7 +1506,7 @@ SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1,
// If the LHS is '(srl (ctlz x), 5)', the RHS is 0/1, and this is an
// equality comparison, then we're just comparing whether X itself is
// zero.
- if (N0.getOpcode() == ISD::SRL && (C1 == 0 || C1 == 1) &&
+ if (N0.getOpcode() == ISD::SRL && (C1.isNullValue() || C1.isOneValue()) &&
N0.getOperand(0).getOpcode() == ISD::CTLZ &&
N0.getOperand(1).getOpcode() == ISD::Constant) {
const APInt &ShAmt
@@ -1666,7 +1666,7 @@ SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1,
for (unsigned width = origWidth / 2; width>=8; width /= 2) {
APInt newMask = APInt::getLowBitsSet(maskWidth, width);
for (unsigned offset=0; offset<origWidth/width; offset++) {
- if ((newMask & Mask) == Mask) {
+ if (Mask.isSubsetOf(newMask)) {
if (DAG.getDataLayout().isLittleEndian())
bestOffset = (uint64_t)offset * (width/8);
else
@@ -1785,12 +1785,12 @@ SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1,
ExtSrcTyBits),
dl, ExtDstTy),
Cond);
- } else if ((N1C->isNullValue() || N1C->getAPIntValue() == 1) &&
+ } else if ((N1C->isNullValue() || N1C->isOne()) &&
(Cond == ISD::SETEQ || Cond == ISD::SETNE)) {
// SETCC (SETCC), [0|1], [EQ|NE] -> SETCC
if (N0.getOpcode() == ISD::SETCC &&
isTypeLegal(VT) && VT.bitsLE(N0.getValueType())) {
- bool TrueWhenTrue = (Cond == ISD::SETEQ) ^ (N1C->getAPIntValue() != 1);
+ bool TrueWhenTrue = (Cond == ISD::SETEQ) ^ (!N1C->isOne());
if (TrueWhenTrue)
return DAG.getNode(ISD::TRUNCATE, dl, VT, N0);
// Invert the condition.
@@ -1807,7 +1807,7 @@ SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1,
N0.getOperand(0).getOpcode() == ISD::XOR &&
N0.getOperand(1) == N0.getOperand(0).getOperand(1))) &&
isa<ConstantSDNode>(N0.getOperand(1)) &&
- cast<ConstantSDNode>(N0.getOperand(1))->getAPIntValue() == 1) {
+ cast<ConstantSDNode>(N0.getOperand(1))->isOne()) {
// If this is (X^1) == 0/1, swap the RHS and eliminate the xor. We
// can only do this if the top bits are known zero.
unsigned BitWidth = N0.getValueSizeInBits();
@@ -1830,7 +1830,7 @@ SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1,
return DAG.getSetCC(dl, VT, Val, N1,
Cond == ISD::SETEQ ? ISD::SETNE : ISD::SETEQ);
}
- } else if (N1C->getAPIntValue() == 1 &&
+ } else if (N1C->isOne() &&
(VT == MVT::i1 ||
getBooleanContents(N0->getValueType(0)) ==
ZeroOrOneBooleanContent)) {
@@ -1848,7 +1848,7 @@ SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1,
}
if (Op0.getOpcode() == ISD::AND &&
isa<ConstantSDNode>(Op0.getOperand(1)) &&
- cast<ConstantSDNode>(Op0.getOperand(1))->getAPIntValue() == 1) {
+ cast<ConstantSDNode>(Op0.getOperand(1))->isOne()) {
// If this is (X&1) == / != 1, normalize it to (X&1) != / == 0.
if (Op0.getValueType().bitsGT(VT))
Op0 = DAG.getNode(ISD::AND, dl, VT,
@@ -2482,7 +2482,7 @@ void TargetLowering::LowerAsmOperandForConstraint(SDValue Op,
// gcc prints these as sign extended. Sign extend value to 64 bits
// now; without this it would get ZExt'd later in
// ScheduleDAGSDNodes::EmitNode, which is very generic.
- Ops.push_back(DAG.getTargetConstant(C->getAPIntValue().getSExtValue(),
+ Ops.push_back(DAG.getTargetConstant(C->getSExtValue(),
SDLoc(C), MVT::i64));
}
return;
diff --git a/lib/CodeGen/TargetRegisterInfo.cpp b/lib/CodeGen/TargetRegisterInfo.cpp
index c8537ad2f313..eeb00a784b0d 100644
--- a/lib/CodeGen/TargetRegisterInfo.cpp
+++ b/lib/CodeGen/TargetRegisterInfo.cpp
@@ -1,4 +1,4 @@
-//===- TargetRegisterInfo.cpp - Target Register Information Implementation ===//
+//==- TargetRegisterInfo.cpp - Target Register Information Implementation --==//
//
// The LLVM Compiler Infrastructure
//
@@ -11,17 +11,27 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/Target/TargetRegisterInfo.h"
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitVector.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
+#include "llvm/CodeGen/MachineValueType.h"
#include "llvm/CodeGen/VirtRegMap.h"
+#include "llvm/IR/Attributes.h"
#include "llvm/IR/Function.h"
+#include "llvm/MC/MCRegisterInfo.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
-#include "llvm/Support/Format.h"
+#include "llvm/Support/MathExtras.h"
+#include "llvm/Support/Printable.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetFrameLowering.h"
+#include "llvm/Target/TargetRegisterInfo.h"
+#include "llvm/Target/TargetSubtargetInfo.h"
+#include <cassert>
+#include <utility>
#define DEBUG_TYPE "target-reg-info"
@@ -38,7 +48,7 @@ TargetRegisterInfo::TargetRegisterInfo(const TargetRegisterInfoDesc *ID,
CoveringLanes(SRICoveringLanes) {
}
-TargetRegisterInfo::~TargetRegisterInfo() {}
+TargetRegisterInfo::~TargetRegisterInfo() = default;
void TargetRegisterInfo::markSuperRegs(BitVector &RegisterSet, unsigned Reg)
const {
@@ -126,7 +136,7 @@ Printable PrintVRegOrUnit(unsigned Unit, const TargetRegisterInfo *TRI) {
});
}
-} // End of llvm namespace
+} // end namespace llvm
/// getAllocatableClass - Return the maximal subclass of the given register
/// class that is alloctable, or NULL.
diff --git a/lib/CodeGen/TargetSubtargetInfo.cpp b/lib/CodeGen/TargetSubtargetInfo.cpp
index 82e85bab1474..f6d5bc80ddff 100644
--- a/lib/CodeGen/TargetSubtargetInfo.cpp
+++ b/lib/CodeGen/TargetSubtargetInfo.cpp
@@ -1,4 +1,4 @@
-//===-- TargetSubtargetInfo.cpp - General Target Information ---------------==//
+//===- TargetSubtargetInfo.cpp - General Target Information ----------------==//
//
// The LLVM Compiler Infrastructure
//
@@ -11,15 +11,17 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/Target/TargetSubtargetInfo.h"
+#include "llvm/ADT/Optional.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/TargetSchedule.h"
+#include "llvm/MC/MCInst.h"
+#include "llvm/Target/TargetSubtargetInfo.h"
+#include "llvm/Support/Format.h"
#include "llvm/Support/raw_ostream.h"
+#include <string>
+
using namespace llvm;
-//---------------------------------------------------------------------------
-// TargetSubtargetInfo Class
-//
TargetSubtargetInfo::TargetSubtargetInfo(
const Triple &TT, StringRef CPU, StringRef FS,
ArrayRef<SubtargetFeatureKV> PF, ArrayRef<SubtargetFeatureKV> PD,
@@ -29,7 +31,7 @@ TargetSubtargetInfo::TargetSubtargetInfo(
: MCSubtargetInfo(TT, CPU, FS, PF, PD, ProcSched, WPR, WL, RA, IS, OC, FP) {
}
-TargetSubtargetInfo::~TargetSubtargetInfo() {}
+TargetSubtargetInfo::~TargetSubtargetInfo() = default;
bool TargetSubtargetInfo::enableAtomicExpand() const {
return true;
diff --git a/lib/DebugInfo/CodeView/CMakeLists.txt b/lib/DebugInfo/CodeView/CMakeLists.txt
index f916695a8439..b94bb0c80c79 100644
--- a/lib/DebugInfo/CodeView/CMakeLists.txt
+++ b/lib/DebugInfo/CodeView/CMakeLists.txt
@@ -24,11 +24,10 @@ add_llvm_library(LLVMDebugInfoCodeView
SymbolRecordMapping.cpp
SymbolDumper.cpp
SymbolSerializer.cpp
- TypeDatabase.cpp
- TypeDatabaseVisitor.cpp
TypeDumpVisitor.cpp
TypeIndex.cpp
TypeIndexDiscovery.cpp
+ TypeName.cpp
TypeRecordMapping.cpp
TypeSerializer.cpp
TypeStreamMerger.cpp
diff --git a/lib/DebugInfo/CodeView/CVTypeVisitor.cpp b/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
index f0debd9e9702..22f166a2335d 100644
--- a/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
+++ b/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
@@ -12,8 +12,6 @@
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/DebugInfo/CodeView/CodeViewError.h"
#include "llvm/DebugInfo/CodeView/TypeCollection.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h"
#include "llvm/DebugInfo/CodeView/TypeDeserializer.h"
#include "llvm/DebugInfo/CodeView/TypeRecordMapping.h"
#include "llvm/DebugInfo/CodeView/TypeServerHandler.h"
diff --git a/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp b/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
index 334c5e002bbc..d69eca018e0c 100644
--- a/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
+++ b/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
@@ -53,12 +53,16 @@ DebugSubsectionRecordBuilder::DebugSubsectionRecordBuilder(
std::shared_ptr<DebugSubsection> Subsection, CodeViewContainer Container)
: Subsection(std::move(Subsection)), Container(Container) {}
+DebugSubsectionRecordBuilder::DebugSubsectionRecordBuilder(
+ const DebugSubsectionRecord &Contents, CodeViewContainer Container)
+ : Contents(Contents), Container(Container) {}
+
uint32_t DebugSubsectionRecordBuilder::calculateSerializedLength() {
- // The length of the entire subsection is always padded to 4 bytes, regardless
- // of the container kind.
- uint32_t Size = sizeof(DebugSubsectionHeader) +
- alignTo(Subsection->calculateSerializedSize(), 4);
- return Size;
+ uint32_t DataSize = Subsection ? Subsection->calculateSerializedSize()
+ : Contents.getRecordData().getLength();
+ // The length of the entire subsection is always padded to 4 bytes,
+ // regardless of the container kind.
+ return sizeof(DebugSubsectionHeader) + alignTo(DataSize, 4);
}
Error DebugSubsectionRecordBuilder::commit(BinaryStreamWriter &Writer) const {
@@ -66,16 +70,22 @@ Error DebugSubsectionRecordBuilder::commit(BinaryStreamWriter &Writer) const {
"Debug Subsection not properly aligned");
DebugSubsectionHeader Header;
- Header.Kind = uint32_t(Subsection->kind());
+ Header.Kind = uint32_t(Subsection ? Subsection->kind() : Contents.kind());
// The value written into the Header's Length field is only padded to the
// container's alignment
- Header.Length =
- alignTo(Subsection->calculateSerializedSize(), alignOf(Container));
+ uint32_t DataSize = Subsection ? Subsection->calculateSerializedSize()
+ : Contents.getRecordData().getLength();
+ Header.Length = alignTo(DataSize, alignOf(Container));
if (auto EC = Writer.writeObject(Header))
return EC;
- if (auto EC = Subsection->commit(Writer))
- return EC;
+ if (Subsection) {
+ if (auto EC = Subsection->commit(Writer))
+ return EC;
+ } else {
+ if (auto EC = Writer.writeStreamRef(Contents.getRecordData()))
+ return EC;
+ }
if (auto EC = Writer.padToAlignment(4))
return EC;
diff --git a/lib/DebugInfo/CodeView/EnumTables.cpp b/lib/DebugInfo/CodeView/EnumTables.cpp
index 01d8ccf2d31e..ec00af28395e 100644
--- a/lib/DebugInfo/CodeView/EnumTables.cpp
+++ b/lib/DebugInfo/CodeView/EnumTables.cpp
@@ -82,6 +82,13 @@ static const EnumEntry<uint16_t> RegisterNames[] = {
CV_ENUM_CLASS_ENT(RegisterId, R15),
};
+static const EnumEntry<uint32_t> PublicSymFlagNames[] = {
+ CV_ENUM_CLASS_ENT(PublicSymFlags, Code),
+ CV_ENUM_CLASS_ENT(PublicSymFlags, Function),
+ CV_ENUM_CLASS_ENT(PublicSymFlags, Managed),
+ CV_ENUM_CLASS_ENT(PublicSymFlags, MSIL),
+};
+
static const EnumEntry<uint8_t> ProcSymFlagNames[] = {
CV_ENUM_CLASS_ENT(ProcSymFlags, HasFP),
CV_ENUM_CLASS_ENT(ProcSymFlags, HasIRET),
@@ -338,6 +345,9 @@ ArrayRef<EnumEntry<uint16_t>> getRegisterNames() {
return makeArrayRef(RegisterNames);
}
+ArrayRef<EnumEntry<uint32_t>> getPublicSymFlagNames() {
+ return makeArrayRef(PublicSymFlagNames);
+}
ArrayRef<EnumEntry<uint8_t>> getProcSymFlagNames() {
return makeArrayRef(ProcSymFlagNames);
}
diff --git a/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp b/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
index 39eb4099ce9e..20f7e72c3af3 100644
--- a/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
+++ b/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
@@ -11,7 +11,7 @@
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/CodeViewError.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
+#include "llvm/DebugInfo/CodeView/TypeName.h"
#include "llvm/DebugInfo/CodeView/TypeServerHandler.h"
#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
@@ -31,15 +31,13 @@ LazyRandomTypeCollection::LazyRandomTypeCollection(uint32_t RecordCountHint)
LazyRandomTypeCollection::LazyRandomTypeCollection(
const CVTypeArray &Types, uint32_t RecordCountHint,
PartialOffsetArray PartialOffsets)
- : Database(RecordCountHint), Types(Types), DatabaseVisitor(Database),
- PartialOffsets(PartialOffsets) {
- KnownOffsets.resize(Database.capacity());
+ : NameStorage(Allocator), Types(Types), PartialOffsets(PartialOffsets) {
+ Records.resize(RecordCountHint);
}
LazyRandomTypeCollection::LazyRandomTypeCollection(ArrayRef<uint8_t> Data,
uint32_t RecordCountHint)
: LazyRandomTypeCollection(RecordCountHint) {
- reset(Data);
}
LazyRandomTypeCollection::LazyRandomTypeCollection(StringRef Data,
@@ -52,50 +50,88 @@ LazyRandomTypeCollection::LazyRandomTypeCollection(const CVTypeArray &Types,
uint32_t NumRecords)
: LazyRandomTypeCollection(Types, NumRecords, PartialOffsetArray()) {}
-void LazyRandomTypeCollection::reset(StringRef Data) {
- reset(makeArrayRef(Data.bytes_begin(), Data.bytes_end()));
-}
-
-void LazyRandomTypeCollection::reset(ArrayRef<uint8_t> Data) {
+void LazyRandomTypeCollection::reset(StringRef Data, uint32_t RecordCountHint) {
+ Count = 0;
PartialOffsets = PartialOffsetArray();
BinaryStreamReader Reader(Data, support::little);
error(Reader.readArray(Types, Reader.getLength()));
- KnownOffsets.resize(Database.capacity());
+ // Clear and then resize, to make sure existing data gets destroyed.
+ Records.clear();
+ Records.resize(RecordCountHint);
+}
+
+void LazyRandomTypeCollection::reset(ArrayRef<uint8_t> Data,
+ uint32_t RecordCountHint) {
+ reset(toStringRef(Data), RecordCountHint);
+}
+
+uint32_t LazyRandomTypeCollection::getOffsetOfType(TypeIndex Index) {
+ error(ensureTypeExists(Index));
+ assert(contains(Index));
+
+ return Records[Index.toArrayIndex()].Offset;
}
CVType LazyRandomTypeCollection::getType(TypeIndex Index) {
error(ensureTypeExists(Index));
- return Database.getTypeRecord(Index);
+ assert(contains(Index));
+
+ return Records[Index.toArrayIndex()].Type;
}
StringRef LazyRandomTypeCollection::getTypeName(TypeIndex Index) {
- if (!Index.isSimple()) {
- // Try to make sure the type exists. Even if it doesn't though, it may be
- // because we're dumping a symbol stream with no corresponding type stream
- // present, in which case we still want to be able to print <unknown UDT>
- // for the type names.
- consumeError(ensureTypeExists(Index));
+ if (Index.isNoneType() || Index.isSimple())
+ return TypeIndex::simpleTypeName(Index);
+
+ // Try to make sure the type exists. Even if it doesn't though, it may be
+ // because we're dumping a symbol stream with no corresponding type stream
+ // present, in which case we still want to be able to print <unknown UDT>
+ // for the type names.
+ if (auto EC = ensureTypeExists(Index)) {
+ consumeError(std::move(EC));
+ return "<unknown UDT>";
}
- return Database.getTypeName(Index);
+ uint32_t I = Index.toArrayIndex();
+ ensureCapacityFor(Index);
+ if (Records[I].Name.data() == nullptr) {
+ StringRef Result = NameStorage.save(computeTypeName(*this, Index));
+ Records[I].Name = Result;
+ }
+ return Records[I].Name;
}
bool LazyRandomTypeCollection::contains(TypeIndex Index) {
- return Database.contains(Index);
+ if (Records.size() <= Index.toArrayIndex())
+ return false;
+ if (!Records[Index.toArrayIndex()].Type.valid())
+ return false;
+ return true;
}
-uint32_t LazyRandomTypeCollection::size() { return Database.size(); }
+uint32_t LazyRandomTypeCollection::size() { return Count; }
-uint32_t LazyRandomTypeCollection::capacity() { return Database.capacity(); }
+uint32_t LazyRandomTypeCollection::capacity() { return Records.size(); }
Error LazyRandomTypeCollection::ensureTypeExists(TypeIndex TI) {
- if (!Database.contains(TI)) {
- if (auto EC = visitRangeForType(TI))
- return EC;
- }
- return Error::success();
+ if (contains(TI))
+ return Error::success();
+
+ return visitRangeForType(TI);
+}
+
+void LazyRandomTypeCollection::ensureCapacityFor(TypeIndex Index) {
+ uint32_t MinSize = Index.toArrayIndex() + 1;
+
+ if (MinSize <= capacity())
+ return;
+
+ uint32_t NewCapacity = MinSize * 3 / 2;
+
+ assert(NewCapacity > capacity());
+ Records.resize(NewCapacity);
}
Error LazyRandomTypeCollection::visitRangeForType(TypeIndex TI) {
@@ -111,7 +147,7 @@ Error LazyRandomTypeCollection::visitRangeForType(TypeIndex TI) {
auto Prev = std::prev(Next);
TypeIndex TIB = Prev->Type;
- if (Database.contains(TIB)) {
+ if (contains(TIB)) {
// They've asked us to fetch a type index, but the entry we found in the
// partial offsets array has already been visited. Since we visit an entire
// block every time, that means this record should have been previously
@@ -122,13 +158,12 @@ Error LazyRandomTypeCollection::visitRangeForType(TypeIndex TI) {
TypeIndex TIE;
if (Next == PartialOffsets.end()) {
- TIE = TypeIndex::fromArrayIndex(Database.capacity());
+ TIE = TypeIndex::fromArrayIndex(capacity());
} else {
TIE = Next->Type;
}
- if (auto EC = visitRange(TIB, Prev->Offset, TIE))
- return EC;
+ visitRange(TIB, Prev->Offset, TIE);
return Error::success();
}
@@ -157,34 +192,31 @@ Error LazyRandomTypeCollection::fullScanForType(TypeIndex TI) {
assert(PartialOffsets.empty());
TypeIndex CurrentTI = TypeIndex::fromArrayIndex(0);
- uint32_t Offset = 0;
auto Begin = Types.begin();
- if (!Database.empty()) {
+ if (Count > 0) {
// In the case of type streams which we don't know the number of records of,
// it's possible to search for a type index triggering a full scan, but then
// later additional records are added since we didn't know how many there
// would be until we did a full visitation, then you try to access the new
// type triggering another full scan. To avoid this, we assume that if the
- // database has some records, this must be what's going on. So we ask the
- // database for the largest type index less than the one we're searching for
- // and only do the forward scan from there.
- auto Prev = Database.largestTypeIndexLessThan(TI);
- assert(Prev.hasValue() && "Empty database with valid types?");
- Offset = KnownOffsets[Prev->toArrayIndex()];
- CurrentTI = *Prev;
- ++CurrentTI;
+ // database has some records, this must be what's going on. We can also
+ // assume that this index must be larger than the largest type index we've
+ // visited, so we start from there and scan forward.
+ uint32_t Offset = Records[LargestTypeIndex.toArrayIndex()].Offset;
+ CurrentTI = LargestTypeIndex + 1;
Begin = Types.at(Offset);
++Begin;
- Offset = Begin.offset();
}
auto End = Types.end();
while (Begin != End) {
- if (auto EC = visitOneRecord(CurrentTI, Offset, *Begin))
- return EC;
-
- Offset += Begin.getRecordLength();
+ ensureCapacityFor(CurrentTI);
+ LargestTypeIndex = std::max(LargestTypeIndex, CurrentTI);
+ auto Idx = CurrentTI.toArrayIndex();
+ Records[Idx].Type = *Begin;
+ Records[Idx].Offset = Begin.offset();
+ ++Count;
++Begin;
++CurrentTI;
}
@@ -194,36 +226,19 @@ Error LazyRandomTypeCollection::fullScanForType(TypeIndex TI) {
return Error::success();
}
-Error LazyRandomTypeCollection::visitRange(TypeIndex Begin,
- uint32_t BeginOffset,
- TypeIndex End) {
-
+void LazyRandomTypeCollection::visitRange(TypeIndex Begin, uint32_t BeginOffset,
+ TypeIndex End) {
auto RI = Types.at(BeginOffset);
assert(RI != Types.end());
+ ensureCapacityFor(End);
while (Begin != End) {
- if (auto EC = visitOneRecord(Begin, BeginOffset, *RI))
- return EC;
-
- BeginOffset += RI.getRecordLength();
+ LargestTypeIndex = std::max(LargestTypeIndex, Begin);
+ auto Idx = Begin.toArrayIndex();
+ Records[Idx].Type = *RI;
+ Records[Idx].Offset = RI.offset();
+ ++Count;
++Begin;
++RI;
}
-
- return Error::success();
-}
-
-Error LazyRandomTypeCollection::visitOneRecord(TypeIndex TI, uint32_t Offset,
- CVType &Record) {
- assert(!Database.contains(TI));
- if (auto EC = codeview::visitTypeRecord(Record, TI, DatabaseVisitor))
- return EC;
- // Keep the KnownOffsets array the same size as the Database's capacity. Since
- // we don't always know how many records are in the type stream, we need to be
- // prepared for the database growing and receicing a type index that can't fit
- // in our current buffer.
- if (KnownOffsets.size() < Database.capacity())
- KnownOffsets.resize(Database.capacity());
- KnownOffsets[TI.toArrayIndex()] = Offset;
- return Error::success();
}
diff --git a/lib/DebugInfo/CodeView/SymbolDumper.cpp b/lib/DebugInfo/CodeView/SymbolDumper.cpp
index 36abafc079ed..b9fa9b6a6ad7 100644
--- a/lib/DebugInfo/CodeView/SymbolDumper.cpp
+++ b/lib/DebugInfo/CodeView/SymbolDumper.cpp
@@ -524,7 +524,7 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR,
Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, PublicSym32 &Public) {
DictScope S(W, "PublicSym");
- printTypeIndex("Type", Public.Index);
+ W.printFlags("Flags", uint32_t(Public.Flags), getPublicSymFlagNames());
W.printNumber("Seg", Public.Segment);
W.printNumber("Off", Public.Offset);
W.printString("Name", Public.Name);
diff --git a/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp b/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
index d731dc1b0a37..923837a45d9f 100644
--- a/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
+++ b/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
@@ -361,7 +361,7 @@ Error SymbolRecordMapping::visitKnownRecord(CVSymbol &CVR,
Error SymbolRecordMapping::visitKnownRecord(CVSymbol &CVR,
PublicSym32 &Public) {
- error(IO.mapInteger(Public.Index));
+ error(IO.mapEnum(Public.Flags));
error(IO.mapInteger(Public.Offset));
error(IO.mapInteger(Public.Segment));
error(IO.mapStringZ(Public.Name));
diff --git a/lib/DebugInfo/CodeView/TypeDatabase.cpp b/lib/DebugInfo/CodeView/TypeDatabase.cpp
deleted file mode 100644
index 08f848b36a9d..000000000000
--- a/lib/DebugInfo/CodeView/TypeDatabase.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-//===- TypeDatabase.cpp --------------------------------------- *- C++ --*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
-
-using namespace llvm;
-using namespace llvm::codeview;
-
-TypeDatabase::TypeDatabase(uint32_t Capacity) : TypeNameStorage(Allocator) {
- CVUDTNames.resize(Capacity);
- TypeRecords.resize(Capacity);
- ValidRecords.resize(Capacity);
-}
-
-TypeIndex TypeDatabase::appendType(StringRef Name, const CVType &Data) {
- LargestTypeIndex = getAppendIndex();
- if (LargestTypeIndex.toArrayIndex() >= capacity())
- grow();
- recordType(Name, LargestTypeIndex, Data);
- return LargestTypeIndex;
-}
-
-void TypeDatabase::recordType(StringRef Name, TypeIndex Index,
- const CVType &Data) {
- LargestTypeIndex = empty() ? Index : std::max(Index, LargestTypeIndex);
-
- if (LargestTypeIndex.toArrayIndex() >= capacity())
- grow(Index);
-
- uint32_t AI = Index.toArrayIndex();
-
- assert(!contains(Index));
- assert(AI < capacity());
-
- CVUDTNames[AI] = Name;
- TypeRecords[AI] = Data;
- ValidRecords.set(AI);
- ++Count;
-}
-
-/// Saves the name in a StringSet and creates a stable StringRef.
-StringRef TypeDatabase::saveTypeName(StringRef TypeName) {
- return TypeNameStorage.save(TypeName);
-}
-
-StringRef TypeDatabase::getTypeName(TypeIndex Index) const {
- if (Index.isNoneType() || Index.isSimple())
- return TypeIndex::simpleTypeName(Index);
-
- if (contains(Index))
- return CVUDTNames[Index.toArrayIndex()];
-
- return "<unknown UDT>";
-}
-
-const CVType &TypeDatabase::getTypeRecord(TypeIndex Index) const {
- assert(contains(Index));
- return TypeRecords[Index.toArrayIndex()];
-}
-
-CVType &TypeDatabase::getTypeRecord(TypeIndex Index) {
- assert(contains(Index));
- return TypeRecords[Index.toArrayIndex()];
-}
-
-bool TypeDatabase::contains(TypeIndex Index) const {
- uint32_t AI = Index.toArrayIndex();
- if (AI >= capacity())
- return false;
-
- return ValidRecords.test(AI);
-}
-
-uint32_t TypeDatabase::size() const { return Count; }
-
-uint32_t TypeDatabase::capacity() const { return TypeRecords.size(); }
-
-CVType TypeDatabase::getType(TypeIndex Index) { return getTypeRecord(Index); }
-
-StringRef TypeDatabase::getTypeName(TypeIndex Index) {
- return static_cast<const TypeDatabase *>(this)->getTypeName(Index);
-}
-
-bool TypeDatabase::contains(TypeIndex Index) {
- return static_cast<const TypeDatabase *>(this)->contains(Index);
-}
-
-uint32_t TypeDatabase::size() {
- return static_cast<const TypeDatabase *>(this)->size();
-}
-
-uint32_t TypeDatabase::capacity() {
- return static_cast<const TypeDatabase *>(this)->capacity();
-}
-
-void TypeDatabase::grow() { grow(LargestTypeIndex + 1); }
-
-void TypeDatabase::grow(TypeIndex NewIndex) {
- uint32_t NewSize = NewIndex.toArrayIndex() + 1;
-
- if (NewSize <= capacity())
- return;
-
- uint32_t NewCapacity = NewSize * 3 / 2;
-
- TypeRecords.resize(NewCapacity);
- CVUDTNames.resize(NewCapacity);
- ValidRecords.resize(NewCapacity);
-}
-
-bool TypeDatabase::empty() const { return size() == 0; }
-
-Optional<TypeIndex> TypeDatabase::largestTypeIndexLessThan(TypeIndex TI) const {
- uint32_t AI = TI.toArrayIndex();
- int N = ValidRecords.find_prev(AI);
- if (N == -1)
- return None;
- return TypeIndex::fromArrayIndex(N);
-}
-
-TypeIndex TypeDatabase::getAppendIndex() const {
- if (empty())
- return TypeIndex::fromArrayIndex(0);
-
- return LargestTypeIndex + 1;
-}
-
-Optional<TypeIndex> TypeDatabase::getFirst() {
- int N = ValidRecords.find_first();
- if (N == -1)
- return None;
- return TypeIndex::fromArrayIndex(N);
-}
-
-Optional<TypeIndex> TypeDatabase::getNext(TypeIndex Prev) {
- int N = ValidRecords.find_next(Prev.toArrayIndex());
- if (N == -1)
- return None;
- return TypeIndex::fromArrayIndex(N);
-}
diff --git a/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp b/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp
deleted file mode 100644
index 8d97f8b1cb40..000000000000
--- a/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp
+++ /dev/null
@@ -1,330 +0,0 @@
-//===- TypeDatabaseVisitor.cpp -------------------------------- *- C++ --*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h"
-
-#include "llvm/ADT/SmallString.h"
-
-using namespace llvm;
-
-using namespace llvm::codeview;
-
-Error TypeDatabaseVisitor::visitTypeBegin(CVType &Record) {
- assert(!IsInFieldList);
- // Reset Name to the empty string. If the visitor sets it, we know it.
- Name = "";
-
- if (Record.Type == LF_FIELDLIST) {
- // Record that we're in a field list so that members do not get assigned
- // type indices.
- IsInFieldList = true;
- }
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitTypeBegin(CVType &Record, TypeIndex Index) {
- if (auto EC = visitTypeBegin(Record))
- return EC;
-
- CurrentTypeIndex = Index;
- return Error::success();
-}
-
-StringRef TypeDatabaseVisitor::getTypeName(TypeIndex Index) const {
- return TypeDB->getTypeName(Index);
-}
-
-StringRef TypeDatabaseVisitor::saveTypeName(StringRef Name) {
- return TypeDB->saveTypeName(Name);
-}
-
-Error TypeDatabaseVisitor::visitTypeEnd(CVType &CVR) {
- if (CVR.Type == LF_FIELDLIST) {
- assert(IsInFieldList);
- IsInFieldList = false;
- }
- assert(!IsInFieldList);
-
- // Record every type that is not a field list member, even if Name is empty.
- // CVUDTNames is indexed by type index, and must have one entry for every
- // type. Field list members are not recorded, and are only referenced by
- // their containing field list record.
- if (CurrentTypeIndex)
- TypeDB->recordType(Name, *CurrentTypeIndex, CVR);
- else
- TypeDB->appendType(Name, CVR);
-
- CurrentTypeIndex.reset();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitMemberBegin(CVMemberRecord &Record) {
- assert(IsInFieldList);
- // Reset Name to the empty string. If the visitor sets it, we know it.
- Name = "";
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitMemberEnd(CVMemberRecord &Record) {
- assert(IsInFieldList);
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR,
- FieldListRecord &FieldList) {
- Name = "<field list>";
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVRecord<TypeLeafKind> &CVR,
- StringIdRecord &String) {
- // Put this in the database so it gets printed with LF_UDT_SRC_LINE.
- Name = String.getString();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, ArgListRecord &Args) {
- auto Indices = Args.getIndices();
- uint32_t Size = Indices.size();
- SmallString<256> TypeName("(");
- for (uint32_t I = 0; I < Size; ++I) {
- StringRef ArgTypeName = getTypeName(Indices[I]);
- TypeName.append(ArgTypeName);
- if (I + 1 != Size)
- TypeName.append(", ");
- }
- TypeName.push_back(')');
- Name = saveTypeName(TypeName);
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR,
- StringListRecord &Strings) {
- auto Indices = Strings.getIndices();
- uint32_t Size = Indices.size();
- SmallString<256> TypeName("\"");
- for (uint32_t I = 0; I < Size; ++I) {
- StringRef ArgTypeName = getTypeName(Indices[I]);
- TypeName.append(ArgTypeName);
- if (I + 1 != Size)
- TypeName.append("\" \"");
- }
- TypeName.push_back('\"');
- Name = saveTypeName(TypeName);
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, ClassRecord &Class) {
- Name = Class.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, UnionRecord &Union) {
- Name = Union.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, EnumRecord &Enum) {
- Name = Enum.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, ArrayRecord &AT) {
- Name = AT.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, VFTableRecord &VFT) {
- Name = VFT.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR,
- MemberFuncIdRecord &Id) {
- Name = Id.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR,
- ProcedureRecord &Proc) {
- StringRef ReturnTypeName = getTypeName(Proc.getReturnType());
- StringRef ArgListTypeName = getTypeName(Proc.getArgumentList());
- SmallString<256> TypeName(ReturnTypeName);
- TypeName.push_back(' ');
- TypeName.append(ArgListTypeName);
- Name = saveTypeName(TypeName);
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR,
- MemberFunctionRecord &MF) {
- StringRef ReturnTypeName = getTypeName(MF.getReturnType());
- StringRef ClassTypeName = getTypeName(MF.getClassType());
- StringRef ArgListTypeName = getTypeName(MF.getArgumentList());
- SmallString<256> TypeName(ReturnTypeName);
- TypeName.push_back(' ');
- TypeName.append(ClassTypeName);
- TypeName.append("::");
- TypeName.append(ArgListTypeName);
- Name = saveTypeName(TypeName);
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, FuncIdRecord &Func) {
- Name = Func.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR,
- TypeServer2Record &TS) {
- Name = TS.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, PointerRecord &Ptr) {
-
- if (Ptr.isPointerToMember()) {
- const MemberPointerInfo &MI = Ptr.getMemberInfo();
-
- StringRef PointeeName = getTypeName(Ptr.getReferentType());
- StringRef ClassName = getTypeName(MI.getContainingType());
- SmallString<256> TypeName(PointeeName);
- TypeName.push_back(' ');
- TypeName.append(ClassName);
- TypeName.append("::*");
- Name = saveTypeName(TypeName);
- } else {
- SmallString<256> TypeName;
- if (Ptr.isConst())
- TypeName.append("const ");
- if (Ptr.isVolatile())
- TypeName.append("volatile ");
- if (Ptr.isUnaligned())
- TypeName.append("__unaligned ");
-
- TypeName.append(getTypeName(Ptr.getReferentType()));
-
- if (Ptr.getMode() == PointerMode::LValueReference)
- TypeName.append("&");
- else if (Ptr.getMode() == PointerMode::RValueReference)
- TypeName.append("&&");
- else if (Ptr.getMode() == PointerMode::Pointer)
- TypeName.append("*");
-
- if (!TypeName.empty())
- Name = saveTypeName(TypeName);
- }
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, ModifierRecord &Mod) {
- uint16_t Mods = static_cast<uint16_t>(Mod.getModifiers());
-
- StringRef ModifiedName = getTypeName(Mod.getModifiedType());
- SmallString<256> TypeName;
- if (Mods & uint16_t(ModifierOptions::Const))
- TypeName.append("const ");
- if (Mods & uint16_t(ModifierOptions::Volatile))
- TypeName.append("volatile ");
- if (Mods & uint16_t(ModifierOptions::Unaligned))
- TypeName.append("__unaligned ");
- TypeName.append(ModifiedName);
- Name = saveTypeName(TypeName);
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR,
- VFTableShapeRecord &Shape) {
- Name =
- saveTypeName("<vftable " + utostr(Shape.getEntryCount()) + " methods>");
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- NestedTypeRecord &Nested) {
- Name = Nested.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- OneMethodRecord &Method) {
- Name = Method.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- OverloadedMethodRecord &Method) {
- Name = Method.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- DataMemberRecord &Field) {
- Name = Field.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- StaticDataMemberRecord &Field) {
- Name = Field.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- EnumeratorRecord &Enum) {
- Name = Enum.getName();
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- BaseClassRecord &Base) {
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- VirtualBaseClassRecord &VBase) {
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- ListContinuationRecord &Cont) {
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(
- CVType &CVR, UdtModSourceLineRecord &ModSourceLine) {
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR,
- UdtSourceLineRecord &SourceLine) {
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, BitFieldRecord &BF) {
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(
- CVType &CVR, MethodOverloadListRecord &Overloads) {
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, BuildInfoRecord &BI) {
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownRecord(CVType &CVR, LabelRecord &R) {
- return Error::success();
-}
-
-Error TypeDatabaseVisitor::visitKnownMember(CVMemberRecord &CVR,
- VFPtrRecord &VFP) {
- return Error::success();
-}
diff --git a/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp b/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
index 04b0384d8190..589966705015 100644
--- a/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
+++ b/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
@@ -13,8 +13,6 @@
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/Formatters.h"
#include "llvm/DebugInfo/CodeView/TypeCollection.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/Support/BinaryByteStream.h"
diff --git a/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp b/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
index 8704cea60786..1226d5be3f3c 100644
--- a/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
+++ b/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
@@ -357,6 +357,82 @@ static void discoverTypeIndices(ArrayRef<uint8_t> Content, TypeLeafKind Kind,
}
}
+static bool discoverTypeIndices(ArrayRef<uint8_t> Content, SymbolKind Kind,
+ SmallVectorImpl<TiReference> &Refs) {
+ uint32_t Count;
+ // FIXME: In the future it would be nice if we could avoid hardcoding these
+ // values. One idea is to define some structures representing these types
+ // that would allow the use of offsetof().
+ switch (Kind) {
+ case SymbolKind::S_GPROC32:
+ case SymbolKind::S_LPROC32:
+ case SymbolKind::S_GPROC32_ID:
+ case SymbolKind::S_LPROC32_ID:
+ case SymbolKind::S_LPROC32_DPC:
+ case SymbolKind::S_LPROC32_DPC_ID:
+ Refs.push_back({TiRefKind::IndexRef, 24, 1}); // LF_FUNC_ID
+ break;
+ case SymbolKind::S_UDT:
+ Refs.push_back({TiRefKind::TypeRef, 0, 1}); // UDT
+ break;
+ case SymbolKind::S_GDATA32:
+ case SymbolKind::S_LDATA32:
+ Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type
+ break;
+ case SymbolKind::S_BUILDINFO:
+ Refs.push_back({TiRefKind::IndexRef, 0, 1}); // Compile flags
+ break;
+ case SymbolKind::S_LOCAL:
+ Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type
+ break;
+ case SymbolKind::S_CONSTANT:
+ Refs.push_back({TiRefKind::TypeRef, 0, 1}); // Type
+ break;
+ case SymbolKind::S_REGREL32:
+ Refs.push_back({TiRefKind::TypeRef, 4, 1}); // Type
+ break;
+ case SymbolKind::S_CALLSITEINFO:
+ Refs.push_back({TiRefKind::TypeRef, 8, 1}); // Call signature
+ break;
+ case SymbolKind::S_CALLERS:
+ case SymbolKind::S_CALLEES:
+ // The record is a count followed by an array of type indices.
+ Count = *reinterpret_cast<const ulittle32_t *>(Content.data());
+ Refs.push_back({TiRefKind::IndexRef, 4, Count}); // Callees
+ break;
+ case SymbolKind::S_INLINESITE:
+ Refs.push_back({TiRefKind::IndexRef, 8, 1}); // ID of inlinee
+ break;
+
+ // Defranges don't have types, just registers and code offsets.
+ case SymbolKind::S_DEFRANGE_REGISTER:
+ case SymbolKind::S_DEFRANGE_REGISTER_REL:
+ case SymbolKind::S_DEFRANGE_FRAMEPOINTER_REL:
+ case SymbolKind::S_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE:
+ case SymbolKind::S_DEFRANGE_SUBFIELD_REGISTER:
+ case SymbolKind::S_DEFRANGE_SUBFIELD:
+ break;
+
+ // No type refernces.
+ case SymbolKind::S_LABEL32:
+ case SymbolKind::S_OBJNAME:
+ case SymbolKind::S_COMPILE:
+ case SymbolKind::S_COMPILE2:
+ case SymbolKind::S_COMPILE3:
+ case SymbolKind::S_BLOCK32:
+ case SymbolKind::S_FRAMEPROC:
+ break;
+ // Scope ending symbols.
+ case SymbolKind::S_END:
+ case SymbolKind::S_INLINESITE_END:
+ case SymbolKind::S_PROC_ID_END:
+ break;
+ default:
+ return false; // Unknown symbol.
+ }
+ return true;
+}
+
void llvm::codeview::discoverTypeIndices(const CVType &Type,
SmallVectorImpl<TiReference> &Refs) {
::discoverTypeIndices(Type.content(), Type.kind(), Refs);
@@ -369,3 +445,9 @@ void llvm::codeview::discoverTypeIndices(ArrayRef<uint8_t> RecordData,
TypeLeafKind K = static_cast<TypeLeafKind>(uint16_t(P->RecordKind));
::discoverTypeIndices(RecordData.drop_front(sizeof(RecordPrefix)), K, Refs);
}
+
+bool llvm::codeview::discoverTypeIndices(const CVSymbol &Sym,
+ SmallVectorImpl<TiReference> &Refs) {
+ SymbolKind K = Sym.kind();
+ return ::discoverTypeIndices(Sym.content(), K, Refs);
+}
diff --git a/lib/DebugInfo/CodeView/TypeName.cpp b/lib/DebugInfo/CodeView/TypeName.cpp
new file mode 100644
index 000000000000..2eb8b81862f3
--- /dev/null
+++ b/lib/DebugInfo/CodeView/TypeName.cpp
@@ -0,0 +1,243 @@
+//===- TypeName.cpp ------------------------------------------- *- C++ --*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/DebugInfo/CodeView/TypeName.h"
+
+#include "llvm/ADT/SmallString.h"
+#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
+#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
+#include "llvm/Support/FormatVariadic.h"
+
+using namespace llvm;
+using namespace llvm::codeview;
+
+namespace {
+class TypeNameComputer : public TypeVisitorCallbacks {
+ /// The type collection. Used to calculate names of nested types.
+ TypeCollection &Types;
+ TypeIndex CurrentTypeIndex = TypeIndex::None();
+
+ /// Name of the current type. Only valid before visitTypeEnd.
+ SmallString<256> Name;
+
+public:
+ explicit TypeNameComputer(TypeCollection &Types) : Types(Types) {}
+
+ StringRef name() const { return Name; }
+
+ /// Paired begin/end actions for all types. Receives all record data,
+ /// including the fixed-length record prefix.
+ Error visitTypeBegin(CVType &Record) override;
+ Error visitTypeBegin(CVType &Record, TypeIndex Index) override;
+ Error visitTypeEnd(CVType &Record) override;
+
+#define TYPE_RECORD(EnumName, EnumVal, Name) \
+ Error visitKnownRecord(CVType &CVR, Name##Record &Record) override;
+#define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
+#define MEMBER_RECORD(EnumName, EnumVal, Name)
+#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
+};
+} // namespace
+
+Error TypeNameComputer::visitTypeBegin(CVType &Record) {
+ llvm_unreachable("Must call visitTypeBegin with a TypeIndex!");
+ return Error::success();
+}
+
+Error TypeNameComputer::visitTypeBegin(CVType &Record, TypeIndex Index) {
+ // Reset Name to the empty string. If the visitor sets it, we know it.
+ Name = "";
+ CurrentTypeIndex = Index;
+ return Error::success();
+}
+
+Error TypeNameComputer::visitTypeEnd(CVType &CVR) { return Error::success(); }
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR,
+ FieldListRecord &FieldList) {
+ Name = "<field list>";
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVRecord<TypeLeafKind> &CVR,
+ StringIdRecord &String) {
+ Name = String.getString();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, ArgListRecord &Args) {
+ auto Indices = Args.getIndices();
+ uint32_t Size = Indices.size();
+ Name = "(";
+ for (uint32_t I = 0; I < Size; ++I) {
+ assert(Indices[I] < CurrentTypeIndex);
+
+ Name.append(Types.getTypeName(Indices[I]));
+ if (I + 1 != Size)
+ Name.append(", ");
+ }
+ Name.push_back(')');
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR,
+ StringListRecord &Strings) {
+ auto Indices = Strings.getIndices();
+ uint32_t Size = Indices.size();
+ Name = "\"";
+ for (uint32_t I = 0; I < Size; ++I) {
+ Name.append(Types.getTypeName(Indices[I]));
+ if (I + 1 != Size)
+ Name.append("\" \"");
+ }
+ Name.push_back('\"');
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, ClassRecord &Class) {
+ Name = Class.getName();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, UnionRecord &Union) {
+ Name = Union.getName();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, EnumRecord &Enum) {
+ Name = Enum.getName();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, ArrayRecord &AT) {
+ Name = AT.getName();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, VFTableRecord &VFT) {
+ Name = VFT.getName();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, MemberFuncIdRecord &Id) {
+ Name = Id.getName();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, ProcedureRecord &Proc) {
+ StringRef Ret = Types.getTypeName(Proc.getReturnType());
+ StringRef Params = Types.getTypeName(Proc.getArgumentList());
+ Name = formatv("{0} {1}", Ret, Params).sstr<256>();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR,
+ MemberFunctionRecord &MF) {
+ StringRef Ret = Types.getTypeName(MF.getReturnType());
+ StringRef Class = Types.getTypeName(MF.getClassType());
+ StringRef Params = Types.getTypeName(MF.getArgumentList());
+ Name = formatv("{0} {1}::{2}", Ret, Class, Params).sstr<256>();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, FuncIdRecord &Func) {
+ Name = Func.getName();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, TypeServer2Record &TS) {
+ Name = TS.getName();
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, PointerRecord &Ptr) {
+
+ if (Ptr.isPointerToMember()) {
+ const MemberPointerInfo &MI = Ptr.getMemberInfo();
+
+ StringRef Pointee = Types.getTypeName(Ptr.getReferentType());
+ StringRef Class = Types.getTypeName(MI.getContainingType());
+ Name = formatv("{0} {1}::*", Pointee, Class);
+ } else {
+ if (Ptr.isConst())
+ Name.append("const ");
+ if (Ptr.isVolatile())
+ Name.append("volatile ");
+ if (Ptr.isUnaligned())
+ Name.append("__unaligned ");
+
+ Name.append(Types.getTypeName(Ptr.getReferentType()));
+
+ if (Ptr.getMode() == PointerMode::LValueReference)
+ Name.append("&");
+ else if (Ptr.getMode() == PointerMode::RValueReference)
+ Name.append("&&");
+ else if (Ptr.getMode() == PointerMode::Pointer)
+ Name.append("*");
+ }
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, ModifierRecord &Mod) {
+ uint16_t Mods = static_cast<uint16_t>(Mod.getModifiers());
+
+ SmallString<256> TypeName;
+ if (Mods & uint16_t(ModifierOptions::Const))
+ Name.append("const ");
+ if (Mods & uint16_t(ModifierOptions::Volatile))
+ Name.append("volatile ");
+ if (Mods & uint16_t(ModifierOptions::Unaligned))
+ Name.append("__unaligned ");
+ Name.append(Types.getTypeName(Mod.getModifiedType()));
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR,
+ VFTableShapeRecord &Shape) {
+ Name = formatv("<vftable {0} methods>", Shape.getEntryCount());
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(
+ CVType &CVR, UdtModSourceLineRecord &ModSourceLine) {
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR,
+ UdtSourceLineRecord &SourceLine) {
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, BitFieldRecord &BF) {
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR,
+ MethodOverloadListRecord &Overloads) {
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, BuildInfoRecord &BI) {
+ return Error::success();
+}
+
+Error TypeNameComputer::visitKnownRecord(CVType &CVR, LabelRecord &R) {
+ return Error::success();
+}
+
+std::string llvm::codeview::computeTypeName(TypeCollection &Types,
+ TypeIndex Index) {
+ TypeNameComputer Computer(Types);
+ CVType Record = Types.getType(Index);
+ if (auto EC = visitTypeRecord(Record, Index, Computer)) {
+ consumeError(std::move(EC));
+ return "<unknown UDT>";
+ }
+ return Computer.name();
+}
diff --git a/lib/DebugInfo/CodeView/TypeTableCollection.cpp b/lib/DebugInfo/CodeView/TypeTableCollection.cpp
index 8d974d522f28..4eca5aeaa0ae 100644
--- a/lib/DebugInfo/CodeView/TypeTableCollection.cpp
+++ b/lib/DebugInfo/CodeView/TypeTableCollection.cpp
@@ -10,7 +10,7 @@
#include "llvm/DebugInfo/CodeView/TypeTableCollection.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h"
+#include "llvm/DebugInfo/CodeView/TypeName.h"
#include "llvm/DebugInfo/CodeView/TypeTableBuilder.h"
#include "llvm/Support/BinaryByteStream.h"
#include "llvm/Support/BinaryStreamReader.h"
@@ -18,14 +18,10 @@
using namespace llvm;
using namespace llvm::codeview;
-static void error(Error &&EC) {
- assert(!static_cast<bool>(EC));
- if (EC)
- consumeError(std::move(EC));
-}
-
TypeTableCollection::TypeTableCollection(ArrayRef<ArrayRef<uint8_t>> Records)
- : Records(Records), Database(Records.size()) {}
+ : NameStorage(Allocator), Records(Records) {
+ Names.resize(Records.size());
+}
Optional<TypeIndex> TypeTableCollection::getFirst() {
if (empty())
@@ -34,50 +30,38 @@ Optional<TypeIndex> TypeTableCollection::getFirst() {
}
Optional<TypeIndex> TypeTableCollection::getNext(TypeIndex Prev) {
+ assert(contains(Prev));
++Prev;
- assert(Prev.toArrayIndex() <= size());
if (Prev.toArrayIndex() == size())
return None;
return Prev;
}
-void TypeTableCollection::ensureTypeExists(TypeIndex Index) {
- assert(hasCapacityFor(Index));
-
- if (Database.contains(Index))
- return;
-
- BinaryByteStream Bytes(Records[Index.toArrayIndex()], support::little);
-
- CVType Type;
- uint32_t Len;
- VarStreamArrayExtractor<CVType> Extract;
- error(Extract(Bytes, Len, Type));
-
- TypeDatabaseVisitor DBV(Database);
- error(codeview::visitTypeRecord(Type, Index, DBV));
- assert(Database.contains(Index));
-}
-
CVType TypeTableCollection::getType(TypeIndex Index) {
- ensureTypeExists(Index);
- return Database.getTypeRecord(Index);
+ assert(Index.toArrayIndex() < Records.size());
+ ArrayRef<uint8_t> Bytes = Records[Index.toArrayIndex()];
+ const RecordPrefix *Prefix =
+ reinterpret_cast<const RecordPrefix *>(Bytes.data());
+ TypeLeafKind Kind = static_cast<TypeLeafKind>(uint16_t(Prefix->RecordKind));
+ return CVType(Kind, Bytes);
}
StringRef TypeTableCollection::getTypeName(TypeIndex Index) {
- if (!Index.isSimple())
- ensureTypeExists(Index);
- return Database.getTypeName(Index);
+ if (Index.isNoneType() || Index.isSimple())
+ return TypeIndex::simpleTypeName(Index);
+
+ uint32_t I = Index.toArrayIndex();
+ if (Names[I].data() == nullptr) {
+ StringRef Result = NameStorage.save(computeTypeName(*this, Index));
+ Names[I] = Result;
+ }
+ return Names[I];
}
bool TypeTableCollection::contains(TypeIndex Index) {
- return Database.contains(Index);
+ return Index.toArrayIndex() <= size();
}
uint32_t TypeTableCollection::size() { return Records.size(); }
uint32_t TypeTableCollection::capacity() { return Records.size(); }
-
-bool TypeTableCollection::hasCapacityFor(TypeIndex Index) const {
- return Index.toArrayIndex() < Records.size();
-}
diff --git a/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp b/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp
index 57eac91f8c19..bb475a669efb 100644
--- a/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp
+++ b/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp
@@ -65,46 +65,52 @@ DWARFAbbreviationDeclaration::extract(DataExtractor Data,
if (A && F) {
Optional<int64_t> V;
bool IsImplicitConst = (F == DW_FORM_implicit_const);
- if (IsImplicitConst)
+ if (IsImplicitConst) {
V = Data.getSLEB128(OffsetPtr);
- else if (auto Size = DWARFFormValue::getFixedByteSize(F))
- V = *Size;
- AttributeSpecs.push_back(AttributeSpec(A, F, V));
- if (IsImplicitConst)
+ AttributeSpecs.push_back(AttributeSpec(A, F, V));
continue;
+ }
// If this abbrevation still has a fixed byte size, then update the
// FixedAttributeSize as needed.
- if (FixedAttributeSize) {
- if (V)
- FixedAttributeSize->NumBytes += *V;
- else {
- switch (F) {
- case DW_FORM_addr:
- ++FixedAttributeSize->NumAddrs;
- break;
-
- case DW_FORM_ref_addr:
- ++FixedAttributeSize->NumRefAddrs;
- break;
-
- case DW_FORM_strp:
- case DW_FORM_GNU_ref_alt:
- case DW_FORM_GNU_strp_alt:
- case DW_FORM_line_strp:
- case DW_FORM_sec_offset:
- case DW_FORM_strp_sup:
- ++FixedAttributeSize->NumDwarfOffsets;
- break;
-
- default:
- // Indicate we no longer have a fixed byte size for this
- // abbreviation by clearing the FixedAttributeSize optional value
- // so it doesn't have a value.
- FixedAttributeSize.reset();
- break;
- }
+ switch (F) {
+ case DW_FORM_addr:
+ if (FixedAttributeSize)
+ ++FixedAttributeSize->NumAddrs;
+ break;
+
+ case DW_FORM_ref_addr:
+ if (FixedAttributeSize)
+ ++FixedAttributeSize->NumRefAddrs;
+ break;
+
+ case DW_FORM_strp:
+ case DW_FORM_GNU_ref_alt:
+ case DW_FORM_GNU_strp_alt:
+ case DW_FORM_line_strp:
+ case DW_FORM_sec_offset:
+ case DW_FORM_strp_sup:
+ if (FixedAttributeSize)
+ ++FixedAttributeSize->NumDwarfOffsets;
+ break;
+
+ default:
+ // The form has a byte size that doesn't depend on Params.
+ // If it's a fixed size, keep track of it.
+ if (auto Size =
+ DWARFFormValue::getFixedByteSize(F, DWARFFormParams())) {
+ V = *Size;
+ if (FixedAttributeSize)
+ FixedAttributeSize->NumBytes += *V;
+ break;
}
+ // Indicate we no longer have a fixed byte size for this
+ // abbreviation by clearing the FixedAttributeSize optional value
+ // so it doesn't have a value.
+ FixedAttributeSize.reset();
+ break;
}
+ // Record this attribute and its fixed size if it has one.
+ AttributeSpecs.push_back(AttributeSpec(A, F, V));
} else if (A == 0 && F == 0) {
// We successfully reached the end of this abbreviation declaration
// since both attribute and form are zero.
@@ -186,7 +192,8 @@ Optional<DWARFFormValue> DWARFAbbreviationDeclaration::getAttributeValue(
if (auto FixedSize = Spec.getByteSize(U))
Offset += *FixedSize;
else
- DWARFFormValue::skipValue(Spec.Form, DebugInfoData, &Offset, &U);
+ DWARFFormValue::skipValue(Spec.Form, DebugInfoData, &Offset,
+ U.getFormParams());
++AttrIndex;
}
return None;
@@ -211,7 +218,8 @@ Optional<int64_t> DWARFAbbreviationDeclaration::AttributeSpec::getByteSize(
if (ByteSizeOrValue)
return ByteSizeOrValue;
Optional<int64_t> S;
- auto FixedByteSize = DWARFFormValue::getFixedByteSize(Form, &U);
+ auto FixedByteSize =
+ DWARFFormValue::getFixedByteSize(Form, U.getFormParams());
if (FixedByteSize)
S = *FixedByteSize;
return S;
diff --git a/lib/DebugInfo/DWARF/DWARFContext.cpp b/lib/DebugInfo/DWARF/DWARFContext.cpp
index 9bafcde57f0a..381479461750 100644
--- a/lib/DebugInfo/DWARF/DWARFContext.cpp
+++ b/lib/DebugInfo/DWARF/DWARFContext.cpp
@@ -13,6 +13,7 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
+#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
#include "llvm/DebugInfo/DWARF/DWARFCompileUnit.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h"
@@ -36,7 +37,6 @@
#include "llvm/Object/RelocVisitor.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/DataExtractor.h"
-#include "llvm/Support/Debug.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/MemoryBuffer.h"
@@ -44,8 +44,8 @@
#include <algorithm>
#include <cstdint>
#include <map>
-#include <set>
#include <string>
+#include <tuple>
#include <utility>
#include <vector>
@@ -55,9 +55,9 @@ using namespace object;
#define DEBUG_TYPE "dwarf"
-typedef DWARFDebugLine::LineTable DWARFLineTable;
-typedef DILineInfoSpecifier::FileLineInfoKind FileLineInfoKind;
-typedef DILineInfoSpecifier::FunctionNameKind FunctionNameKind;
+using DWARFLineTable = DWARFDebugLine::LineTable;
+using FileLineInfoKind = DILineInfoSpecifier::FileLineInfoKind;
+using FunctionNameKind = DILineInfoSpecifier::FunctionNameKind;
uint64_t llvm::getRelocatedValue(const DataExtractor &Data, uint32_t Size,
uint32_t *Off, const RelocAddrMap *Relocs,
@@ -201,8 +201,7 @@ static void dumpStringOffsetsSection(raw_ostream &OS, StringRef SectionName,
}
}
-void DWARFContext::dump(raw_ostream &OS, DIDumpOptions DumpOpts){
-
+void DWARFContext::dump(raw_ostream &OS, DIDumpOptions DumpOpts) {
DIDumpType DumpType = DumpOpts.DumpType;
bool DumpEH = DumpOpts.DumpEH;
bool SummarizeTypes = DumpOpts.SummarizeTypes;
@@ -1068,7 +1067,7 @@ DWARFContextInMemory::DWARFContextInMemory(const object::ObjectFile &Obj,
errs() << "error: failed to compute relocation: " << Name << "\n";
continue;
}
- llvm::RelocAddrEntry Rel = {SymInfoOrErr->SectionIndex, Val};
+ RelocAddrEntry Rel = {SymInfoOrErr->SectionIndex, Val};
Map->insert({Reloc.getOffset(), Rel});
}
}
diff --git a/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp b/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
index cf9fec2b3254..475cf25b781b 100644
--- a/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
+++ b/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
@@ -8,7 +8,6 @@
//===----------------------------------------------------------------------===//
#include "llvm/DebugInfo/DWARF/DWARFDebugFrame.h"
-
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/Optional.h"
@@ -71,7 +70,7 @@ protected:
/// An entry may contain CFI instructions. An instruction consists of an
/// opcode and an optional sequence of operands.
- typedef std::vector<uint64_t> Operands;
+ using Operands = std::vector<uint64_t>;
struct Instruction {
Instruction(uint8_t Opcode)
: Opcode(Opcode)
@@ -518,14 +517,13 @@ static uint64_t readPointer(const DataExtractor &Data, uint32_t &Offset,
// noreturn attribute usage in lambdas. Once the support for those
// compilers are phased out, we can remove this and return back to
// a ReportError lambda: [StartOffset](const char *ErrorMsg).
-#define ReportError(ErrorMsg) ReportErrorImpl(StartOffset,ErrorMsg)
-static void LLVM_ATTRIBUTE_NORETURN
-ReportErrorImpl(uint32_t StartOffset, const char *ErrorMsg) {
- std::string Str;
- raw_string_ostream OS(Str);
- OS << format(ErrorMsg, StartOffset);
- OS.flush();
- report_fatal_error(Str);
+static void LLVM_ATTRIBUTE_NORETURN ReportError(uint32_t StartOffset,
+ const char *ErrorMsg) {
+ std::string Str;
+ raw_string_ostream OS(Str);
+ OS << format(ErrorMsg, StartOffset);
+ OS.flush();
+ report_fatal_error(Str);
}
void DWARFDebugFrame::parse(DataExtractor Data) {
@@ -590,13 +588,15 @@ void DWARFDebugFrame::parse(DataExtractor Data) {
for (unsigned i = 0, e = AugmentationString.size(); i != e; ++i) {
switch (AugmentationString[i]) {
default:
- ReportError("Unknown augmentation character in entry at %lx");
+ ReportError(StartOffset,
+ "Unknown augmentation character in entry at %lx");
case 'L':
LSDAPointerEncoding = Data.getU8(&Offset);
break;
case 'P': {
if (Personality)
- ReportError("Duplicate personality in entry at %lx");
+ ReportError(StartOffset,
+ "Duplicate personality in entry at %lx");
PersonalityEncoding = Data.getU8(&Offset);
Personality = readPointer(Data, Offset, *PersonalityEncoding);
break;
@@ -606,7 +606,8 @@ void DWARFDebugFrame::parse(DataExtractor Data) {
break;
case 'z':
if (i)
- ReportError("'z' must be the first character at %lx");
+ ReportError(StartOffset,
+ "'z' must be the first character at %lx");
// Parse the augmentation length first. We only parse it if
// the string contains a 'z'.
AugmentationLength = Data.getULEB128(&Offset);
@@ -618,7 +619,7 @@ void DWARFDebugFrame::parse(DataExtractor Data) {
if (AugmentationLength.hasValue()) {
if (Offset != EndAugmentationOffset)
- ReportError("Parsing augmentation data at %lx failed");
+ ReportError(StartOffset, "Parsing augmentation data at %lx failed");
AugmentationData = Data.getData().slice(StartAugmentationOffset,
EndAugmentationOffset);
@@ -645,7 +646,8 @@ void DWARFDebugFrame::parse(DataExtractor Data) {
if (IsEH) {
// The address size is encoded in the CIE we reference.
if (!Cie)
- ReportError("Parsing FDE data at %lx failed due to missing CIE");
+ ReportError(StartOffset,
+ "Parsing FDE data at %lx failed due to missing CIE");
InitialLocation = readPointer(Data, Offset,
Cie->getFDEPointerEncoding());
@@ -665,7 +667,7 @@ void DWARFDebugFrame::parse(DataExtractor Data) {
readPointer(Data, Offset, Cie->getLSDAPointerEncoding());
if (Offset != EndAugmentationOffset)
- ReportError("Parsing augmentation data at %lx failed");
+ ReportError(StartOffset, "Parsing augmentation data at %lx failed");
}
} else {
InitialLocation = Data.getAddress(&Offset);
@@ -680,7 +682,7 @@ void DWARFDebugFrame::parse(DataExtractor Data) {
Entries.back()->parseInstructions(Data, &Offset, EndStructureOffset);
if (Offset != EndStructureOffset)
- ReportError("Parsing entry instructions at %lx failed");
+ ReportError(StartOffset, "Parsing entry instructions at %lx failed");
}
}
diff --git a/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp b/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp
index dbcc64fc0832..1551974b822a 100644
--- a/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp
+++ b/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp
@@ -59,7 +59,7 @@ bool DWARFDebugInfoEntry::extractFast(const DWARFUnit &U, uint32_t *OffsetPtr,
// Attribute byte size if fixed, just add the size to the offset.
*OffsetPtr += *FixedSize;
} else if (!DWARFFormValue::skipValue(AttrSpec.Form, DebugInfoData,
- OffsetPtr, &U)) {
+ OffsetPtr, U.getFormParams())) {
// We failed to skip this attribute's value, restore the original offset
// and return the failure status.
*OffsetPtr = Offset;
diff --git a/lib/DebugInfo/DWARF/DWARFDebugLine.cpp b/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
index cda3e75fbc3e..ad5647f3e03d 100644
--- a/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
+++ b/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
@@ -9,6 +9,8 @@
#include "llvm/DebugInfo/DWARF/DWARFDebugLine.h"
#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFFormValue.h"
@@ -26,23 +28,27 @@
using namespace llvm;
using namespace dwarf;
-typedef DILineInfoSpecifier::FileLineInfoKind FileLineInfoKind;
+using FileLineInfoKind = DILineInfoSpecifier::FileLineInfoKind;
+
namespace {
+
struct ContentDescriptor {
dwarf::LineNumberEntryFormat Type;
dwarf::Form Form;
};
-typedef SmallVector<ContentDescriptor, 4> ContentDescriptors;
+
+using ContentDescriptors = SmallVector<ContentDescriptor, 4>;
+
} // end anonmyous namespace
DWARFDebugLine::Prologue::Prologue() { clear(); }
void DWARFDebugLine::Prologue::clear() {
- TotalLength = Version = PrologueLength = 0;
- AddressSize = SegSelectorSize = 0;
+ TotalLength = PrologueLength = 0;
+ SegSelectorSize = 0;
MinInstLength = MaxOpsPerInst = DefaultIsStmt = LineBase = LineRange = 0;
OpcodeBase = 0;
- IsDWARF64 = false;
+ FormParams = DWARFFormParams({0, 0, DWARF32});
StandardOpcodeLengths.clear();
IncludeDirectories.clear();
FileNames.clear();
@@ -51,12 +57,13 @@ void DWARFDebugLine::Prologue::clear() {
void DWARFDebugLine::Prologue::dump(raw_ostream &OS) const {
OS << "Line table prologue:\n"
<< format(" total_length: 0x%8.8" PRIx64 "\n", TotalLength)
- << format(" version: %u\n", Version)
- << format(Version >= 5 ? " address_size: %u\n" : "", AddressSize)
- << format(Version >= 5 ? " seg_select_size: %u\n" : "", SegSelectorSize)
- << format(" prologue_length: 0x%8.8" PRIx64 "\n", PrologueLength)
+ << format(" version: %u\n", getVersion());
+ if (getVersion() >= 5)
+ OS << format(" address_size: %u\n", getAddressSize())
+ << format(" seg_select_size: %u\n", SegSelectorSize);
+ OS << format(" prologue_length: 0x%8.8" PRIx64 "\n", PrologueLength)
<< format(" min_inst_length: %u\n", MinInstLength)
- << format(Version >= 4 ? "max_ops_per_inst: %u\n" : "", MaxOpsPerInst)
+ << format(getVersion() >= 4 ? "max_ops_per_inst: %u\n" : "", MaxOpsPerInst)
<< format(" default_is_stmt: %u\n", DefaultIsStmt)
<< format(" line_base: %i\n", LineBase)
<< format(" line_range: %u\n", LineRange)
@@ -137,6 +144,7 @@ parseV5EntryFormat(DataExtractor DebugLineData, uint32_t *OffsetPtr,
static bool
parseV5DirFileTables(DataExtractor DebugLineData, uint32_t *OffsetPtr,
uint64_t EndPrologueOffset,
+ const DWARFFormParams &FormParams,
std::vector<StringRef> &IncludeDirectories,
std::vector<DWARFDebugLine::FileNameEntry> &FileNames) {
// Get the directory entry description.
@@ -159,7 +167,7 @@ parseV5DirFileTables(DataExtractor DebugLineData, uint32_t *OffsetPtr,
IncludeDirectories.push_back(Value.getAsCString().getValue());
break;
default:
- if (!Value.skipValue(DebugLineData, OffsetPtr, nullptr))
+ if (!Value.skipValue(DebugLineData, OffsetPtr, FormParams))
return false;
}
}
@@ -211,24 +219,26 @@ bool DWARFDebugLine::Prologue::parse(DataExtractor DebugLineData,
clear();
TotalLength = DebugLineData.getU32(OffsetPtr);
if (TotalLength == UINT32_MAX) {
- IsDWARF64 = true;
+ FormParams.Format = dwarf::DWARF64;
TotalLength = DebugLineData.getU64(OffsetPtr);
- } else if (TotalLength > 0xffffff00) {
+ } else if (TotalLength >= 0xffffff00) {
return false;
}
- Version = DebugLineData.getU16(OffsetPtr);
- if (Version < 2)
+ FormParams.Version = DebugLineData.getU16(OffsetPtr);
+ if (getVersion() < 2)
return false;
- if (Version >= 5) {
- AddressSize = DebugLineData.getU8(OffsetPtr);
+ if (getVersion() >= 5) {
+ FormParams.AddrSize = DebugLineData.getU8(OffsetPtr);
+ assert(getAddressSize() == DebugLineData.getAddressSize() &&
+ "Line table header and data extractor disagree");
SegSelectorSize = DebugLineData.getU8(OffsetPtr);
}
PrologueLength = DebugLineData.getUnsigned(OffsetPtr, sizeofPrologueLength());
const uint64_t EndPrologueOffset = PrologueLength + *OffsetPtr;
MinInstLength = DebugLineData.getU8(OffsetPtr);
- if (Version >= 4)
+ if (getVersion() >= 4)
MaxOpsPerInst = DebugLineData.getU8(OffsetPtr);
DefaultIsStmt = DebugLineData.getU8(OffsetPtr);
LineBase = DebugLineData.getU8(OffsetPtr);
@@ -241,9 +251,9 @@ bool DWARFDebugLine::Prologue::parse(DataExtractor DebugLineData,
StandardOpcodeLengths.push_back(OpLen);
}
- if (Version >= 5) {
+ if (getVersion() >= 5) {
if (!parseV5DirFileTables(DebugLineData, OffsetPtr, EndPrologueOffset,
- IncludeDirectories, FileNames)) {
+ getFormParams(), IncludeDirectories, FileNames)) {
fprintf(stderr,
"warning: parsing line table prologue at 0x%8.8" PRIx64
" found an invalid directory or file table description at"
@@ -333,7 +343,7 @@ void DWARFDebugLine::LineTable::clear() {
}
DWARFDebugLine::ParsingState::ParsingState(struct LineTable *LT)
- : LineTable(LT), RowNumber(0) {
+ : LineTable(LT) {
resetRowAndSequence();
}
diff --git a/lib/DebugInfo/DWARF/DWARFFormValue.cpp b/lib/DebugInfo/DWARF/DWARFFormValue.cpp
index ed1f5f46dcfb..861114bde1f2 100644
--- a/lib/DebugInfo/DWARF/DWARFFormValue.cpp
+++ b/lib/DebugInfo/DWARF/DWARFFormValue.cpp
@@ -59,48 +59,13 @@ static const DWARFFormValue::FormClass DWARF4FormClasses[] = {
DWARFFormValue::FC_Flag, // 0x19 DW_FORM_flag_present
};
-namespace {
-
-/// A helper class that can be used in DWARFFormValue.cpp functions that need
-/// to know the byte size of DW_FORM values that vary in size depending on the
-/// DWARF version, address byte size, or DWARF32 or DWARF64.
-class FormSizeHelper {
- uint16_t Version;
- uint8_t AddrSize;
- llvm::dwarf::DwarfFormat Format;
-
-public:
- FormSizeHelper(uint16_t V, uint8_t A, llvm::dwarf::DwarfFormat F)
- : Version(V), AddrSize(A), Format(F) {}
-
- uint8_t getAddressByteSize() const { return AddrSize; }
-
- uint8_t getRefAddrByteSize() const {
- if (Version == 2)
- return AddrSize;
- return getDwarfOffsetByteSize();
- }
-
- uint8_t getDwarfOffsetByteSize() const {
- switch (Format) {
- case dwarf::DwarfFormat::DWARF32:
- return 4;
- case dwarf::DwarfFormat::DWARF64:
- return 8;
- }
- llvm_unreachable("Invalid Format value");
- }
-};
-
-} // end anonymous namespace
-
-template <class T>
-static Optional<uint8_t> getFixedByteSize(dwarf::Form Form, const T *U) {
+Optional<uint8_t>
+DWARFFormValue::getFixedByteSize(dwarf::Form Form,
+ const DWARFFormParams Params) {
switch (Form) {
case DW_FORM_addr:
- if (U)
- return U->getAddressByteSize();
- return None;
+ assert(Params.Version && Params.AddrSize && "Invalid Params for form");
+ return Params.AddrSize;
case DW_FORM_block: // ULEB128 length L followed by L bytes.
case DW_FORM_block1: // 1 byte length L followed by L bytes.
@@ -121,9 +86,8 @@ static Optional<uint8_t> getFixedByteSize(dwarf::Form Form, const T *U) {
return None;
case DW_FORM_ref_addr:
- if (U)
- return U->getRefAddrByteSize();
- return None;
+ assert(Params.Version && Params.AddrSize && "Invalid Params for form");
+ return Params.getRefAddrByteSize();
case DW_FORM_flag:
case DW_FORM_data1:
@@ -138,6 +102,9 @@ static Optional<uint8_t> getFixedByteSize(dwarf::Form Form, const T *U) {
case DW_FORM_addrx2:
return 2;
+ case DW_FORM_strx3:
+ return 3;
+
case DW_FORM_data4:
case DW_FORM_ref4:
case DW_FORM_ref_sup4:
@@ -151,9 +118,8 @@ static Optional<uint8_t> getFixedByteSize(dwarf::Form Form, const T *U) {
case DW_FORM_line_strp:
case DW_FORM_sec_offset:
case DW_FORM_strp_sup:
- if (U)
- return U->getDwarfOffsetByteSize();
- return None;
+ assert(Params.Version && Params.AddrSize && "Invalid Params for form");
+ return Params.getDwarfOffsetByteSize();
case DW_FORM_data8:
case DW_FORM_ref8:
@@ -178,9 +144,9 @@ static Optional<uint8_t> getFixedByteSize(dwarf::Form Form, const T *U) {
return None;
}
-template <class T>
-static bool skipFormValue(dwarf::Form Form, const DataExtractor &DebugInfoData,
- uint32_t *OffsetPtr, const T *U) {
+bool DWARFFormValue::skipValue(dwarf::Form Form, DataExtractor DebugInfoData,
+ uint32_t *OffsetPtr,
+ const DWARFFormParams Params) {
bool Indirect = false;
do {
switch (Form) {
@@ -240,7 +206,8 @@ static bool skipFormValue(dwarf::Form Form, const DataExtractor &DebugInfoData,
case DW_FORM_line_strp:
case DW_FORM_GNU_ref_alt:
case DW_FORM_GNU_strp_alt:
- if (Optional<uint8_t> FixedSize = ::getFixedByteSize(Form, U)) {
+ if (Optional<uint8_t> FixedSize =
+ DWARFFormValue::getFixedByteSize(Form, Params)) {
*OffsetPtr += *FixedSize;
return true;
}
@@ -274,19 +241,6 @@ static bool skipFormValue(dwarf::Form Form, const DataExtractor &DebugInfoData,
return true;
}
-Optional<uint8_t> DWARFFormValue::getFixedByteSize(dwarf::Form Form,
- const DWARFUnit *U) {
- return ::getFixedByteSize(Form, U);
-}
-
-Optional<uint8_t>
-DWARFFormValue::getFixedByteSize(dwarf::Form Form, uint16_t Version,
- uint8_t AddrSize,
- llvm::dwarf::DwarfFormat Format) {
- FormSizeHelper FSH(Version, AddrSize, Format);
- return ::getFixedByteSize(Form, &FSH);
-}
-
bool DWARFFormValue::isFormClass(DWARFFormValue::FormClass FC) const {
// First, check DWARF4 form classes.
if (Form < makeArrayRef(DWARF4FormClasses).size() &&
@@ -302,6 +256,10 @@ bool DWARFFormValue::isFormClass(DWARFFormValue::FormClass FC) const {
case DW_FORM_GNU_str_index:
case DW_FORM_GNU_strp_alt:
case DW_FORM_strx:
+ case DW_FORM_strx1:
+ case DW_FORM_strx2:
+ case DW_FORM_strx3:
+ case DW_FORM_strx4:
return (FC == FC_String);
case DW_FORM_implicit_const:
return (FC == FC_Constant);
@@ -368,6 +326,9 @@ bool DWARFFormValue::extractValue(const DataExtractor &Data,
case DW_FORM_addrx2:
Value.uval = Data.getU16(OffsetPtr);
break;
+ case DW_FORM_strx3:
+ Value.uval = Data.getU24(OffsetPtr);
+ break;
case DW_FORM_data4:
case DW_FORM_ref4:
case DW_FORM_ref_sup4:
@@ -438,24 +399,6 @@ bool DWARFFormValue::extractValue(const DataExtractor &Data,
return true;
}
-bool DWARFFormValue::skipValue(DataExtractor DebugInfoData, uint32_t *OffsetPtr,
- const DWARFUnit *U) const {
- return DWARFFormValue::skipValue(Form, DebugInfoData, OffsetPtr, U);
-}
-
-bool DWARFFormValue::skipValue(dwarf::Form Form, DataExtractor DebugInfoData,
- uint32_t *OffsetPtr, const DWARFUnit *U) {
- return skipFormValue(Form, DebugInfoData, OffsetPtr, U);
-}
-
-bool DWARFFormValue::skipValue(dwarf::Form Form, DataExtractor DebugInfoData,
- uint32_t *OffsetPtr, uint16_t Version,
- uint8_t AddrSize,
- llvm::dwarf::DwarfFormat Format) {
- FormSizeHelper FSH(Version, AddrSize, Format);
- return skipFormValue(Form, DebugInfoData, OffsetPtr, &FSH);
-}
-
void DWARFFormValue::dump(raw_ostream &OS) const {
uint64_t UValue = Value.uval;
bool CURelativeOffset = false;
@@ -545,6 +488,10 @@ void DWARFFormValue::dump(raw_ostream &OS) const {
dumpString(OS);
break;
case DW_FORM_strx:
+ case DW_FORM_strx1:
+ case DW_FORM_strx2:
+ case DW_FORM_strx3:
+ case DW_FORM_strx4:
case DW_FORM_GNU_str_index:
OS << format(" indexed (%8.8x) string = ", (uint32_t)UValue);
dumpString(OS);
@@ -623,7 +570,9 @@ Optional<const char *> DWARFFormValue::getAsCString() const {
if (Form == DW_FORM_GNU_strp_alt || U == nullptr)
return None;
uint32_t Offset = Value.uval;
- if (Form == DW_FORM_GNU_str_index || Form == DW_FORM_strx) {
+ if (Form == DW_FORM_GNU_str_index || Form == DW_FORM_strx ||
+ Form == DW_FORM_strx1 || Form == DW_FORM_strx2 || Form == DW_FORM_strx3 ||
+ Form == DW_FORM_strx4) {
uint64_t StrOffset;
if (!U->getStringOffsetSectionItem(Offset, StrOffset))
return None;
diff --git a/lib/DebugInfo/DWARF/DWARFUnit.cpp b/lib/DebugInfo/DWARF/DWARFUnit.cpp
index 09e6a292e5fe..fd9c7c2b1d46 100644
--- a/lib/DebugInfo/DWARF/DWARFUnit.cpp
+++ b/lib/DebugInfo/DWARF/DWARFUnit.cpp
@@ -1,4 +1,4 @@
-//===-- DWARFUnit.cpp -----------------------------------------------------===//
+//===- DWARFUnit.cpp ------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -8,7 +8,6 @@
//===----------------------------------------------------------------------===//
#include "llvm/DebugInfo/DWARF/DWARFUnit.h"
-#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h"
@@ -17,8 +16,6 @@
#include "llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h"
#include "llvm/DebugInfo/DWARF/DWARFDie.h"
#include "llvm/DebugInfo/DWARF/DWARFFormValue.h"
-#include "llvm/Object/ObjectFile.h"
-#include "llvm/Support/Casting.h"
#include "llvm/Support/DataExtractor.h"
#include "llvm/Support/Path.h"
#include <algorithm>
@@ -26,6 +23,7 @@
#include <cstddef>
#include <cstdint>
#include <cstdio>
+#include <utility>
#include <vector>
using namespace llvm;
@@ -55,8 +53,8 @@ DWARFUnit::DWARFUnit(DWARFContext &DC, const DWARFSection &Section,
const DWARFUnitIndex::Entry *IndexEntry)
: Context(DC), InfoSection(Section), Abbrev(DA), RangeSection(RS),
LineSection(LS), StringSection(SS), StringOffsetSection(SOS),
- StringOffsetSectionBase(0), AddrOffsetSection(AOS), isLittleEndian(LE),
- isDWO(IsDWO), UnitSection(UnitSection), IndexEntry(IndexEntry) {
+ AddrOffsetSection(AOS), isLittleEndian(LE), isDWO(IsDWO),
+ UnitSection(UnitSection), IndexEntry(IndexEntry) {
clear();
}
@@ -64,11 +62,13 @@ DWARFUnit::~DWARFUnit() = default;
bool DWARFUnit::getAddrOffsetSectionItem(uint32_t Index,
uint64_t &Result) const {
- uint32_t Offset = AddrOffsetSectionBase + Index * AddrSize;
- if (AddrOffsetSection->Data.size() < Offset + AddrSize)
+ uint32_t Offset = AddrOffsetSectionBase + Index * getAddressByteSize();
+ if (AddrOffsetSection->Data.size() < Offset + getAddressByteSize())
return false;
- DataExtractor DA(AddrOffsetSection->Data, isLittleEndian, AddrSize);
- Result = getRelocatedValue(DA, AddrSize, &Offset, &AddrOffsetSection->Relocs);
+ DataExtractor DA(AddrOffsetSection->Data, isLittleEndian,
+ getAddressByteSize());
+ Result = getRelocatedValue(DA, getAddressByteSize(), &Offset,
+ &AddrOffsetSection->Relocs);
return true;
}
@@ -94,15 +94,17 @@ uint64_t DWARFUnit::getStringOffsetSectionRelocation(uint32_t Index) const {
bool DWARFUnit::extractImpl(DataExtractor debug_info, uint32_t *offset_ptr) {
Length = debug_info.getU32(offset_ptr);
- Version = debug_info.getU16(offset_ptr);
+ // FIXME: Support DWARF64.
+ FormParams.Format = DWARF32;
+ FormParams.Version = debug_info.getU16(offset_ptr);
uint64_t AbbrOffset;
- if (Version >= 5) {
+ if (FormParams.Version >= 5) {
UnitType = debug_info.getU8(offset_ptr);
- AddrSize = debug_info.getU8(offset_ptr);
+ FormParams.AddrSize = debug_info.getU8(offset_ptr);
AbbrOffset = debug_info.getU32(offset_ptr);
} else {
AbbrOffset = debug_info.getU32(offset_ptr);
- AddrSize = debug_info.getU8(offset_ptr);
+ FormParams.AddrSize = debug_info.getU8(offset_ptr);
}
if (IndexEntry) {
if (AbbrOffset)
@@ -117,14 +119,14 @@ bool DWARFUnit::extractImpl(DataExtractor debug_info, uint32_t *offset_ptr) {
}
bool LengthOK = debug_info.isValidOffset(getNextUnitOffset() - 1);
- bool VersionOK = DWARFContext::isSupportedVersion(Version);
- bool AddrSizeOK = AddrSize == 4 || AddrSize == 8;
+ bool VersionOK = DWARFContext::isSupportedVersion(getVersion());
+ bool AddrSizeOK = getAddressByteSize() == 4 || getAddressByteSize() == 8;
if (!LengthOK || !VersionOK || !AddrSizeOK)
return false;
// Keep track of the highest DWARF version we encounter across all units.
- Context.setMaxVersionIfGreater(Version);
+ Context.setMaxVersionIfGreater(getVersion());
Abbrevs = Abbrev->getAbbreviationDeclarationSet(AbbrOffset);
return Abbrevs != nullptr;
@@ -150,7 +152,8 @@ bool DWARFUnit::extractRangeList(uint32_t RangeListOffset,
DWARFDebugRangeList &RangeList) const {
// Require that compile unit is extracted.
assert(!DieArray.empty());
- DataExtractor RangesData(RangeSection->Data, isLittleEndian, AddrSize);
+ DataExtractor RangesData(RangeSection->Data, isLittleEndian,
+ getAddressByteSize());
uint32_t ActualRangeListOffset = RangeSectionBase + RangeListOffset;
return RangeList.extract(RangesData, &ActualRangeListOffset,
RangeSection->Relocs);
@@ -159,9 +162,8 @@ bool DWARFUnit::extractRangeList(uint32_t RangeListOffset,
void DWARFUnit::clear() {
Offset = 0;
Length = 0;
- Version = 0;
Abbrevs = nullptr;
- AddrSize = 0;
+ FormParams = DWARFFormParams({0, 0, DWARF32});
BaseAddr = 0;
RangeSectionBase = 0;
AddrOffsetSectionBase = 0;
diff --git a/lib/DebugInfo/DWARF/DWARFVerifier.cpp b/lib/DebugInfo/DWARF/DWARFVerifier.cpp
index a6240fb60143..41907e570563 100644
--- a/lib/DebugInfo/DWARF/DWARFVerifier.cpp
+++ b/lib/DebugInfo/DWARF/DWARFVerifier.cpp
@@ -279,7 +279,6 @@ bool DWARFVerifier::handleDebugLine() {
bool DWARFVerifier::handleAppleNames() {
NumAppleNamesErrors = 0;
- OS << "Verifying .apple_names...\n";
DataExtractor AppleNamesSection(DCtx.getAppleNamesSection().Data,
DCtx.isLittleEndian(), 0);
@@ -288,10 +287,11 @@ bool DWARFVerifier::handleAppleNames() {
DCtx.getAppleNamesSection().Relocs);
if (!AppleNames.extract()) {
- OS << "error: cannot extract .apple_names accelerator table\n";
- return false;
+ return true;
}
+ OS << "Verifying .apple_names...\n";
+
// Verify that all buckets have a valid hash index or are empty
uint32_t NumBuckets = AppleNames.getNumBuckets();
uint32_t NumHashes = AppleNames.getNumHashes();
diff --git a/lib/DebugInfo/MSF/MSFBuilder.cpp b/lib/DebugInfo/MSF/MSFBuilder.cpp
index 5b1b5d8dc4d5..0f4f785abf55 100644
--- a/lib/DebugInfo/MSF/MSFBuilder.cpp
+++ b/lib/DebugInfo/MSF/MSFBuilder.cpp
@@ -1,3 +1,4 @@
+//===- MSFBuilder.cpp -----------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -6,22 +7,30 @@
//
//===----------------------------------------------------------------------===//
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/DebugInfo/MSF/MSFBuilder.h"
#include "llvm/DebugInfo/MSF/MSFError.h"
+#include "llvm/Support/Endian.h"
+#include "llvm/Support/Error.h"
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+#include <cstring>
+#include <memory>
+#include <utility>
+#include <vector>
using namespace llvm;
using namespace llvm::msf;
using namespace llvm::support;
-namespace {
-const uint32_t kSuperBlockBlock = 0;
-const uint32_t kFreePageMap0Block = 1;
-const uint32_t kFreePageMap1Block = 2;
-const uint32_t kNumReservedPages = 3;
+static const uint32_t kSuperBlockBlock = 0;
+static const uint32_t kFreePageMap0Block = 1;
+static const uint32_t kFreePageMap1Block = 2;
+static const uint32_t kNumReservedPages = 3;
-const uint32_t kDefaultFreePageMap = kFreePageMap0Block;
-const uint32_t kDefaultBlockMapAddr = kNumReservedPages;
-}
+static const uint32_t kDefaultFreePageMap = kFreePageMap0Block;
+static const uint32_t kDefaultBlockMapAddr = kNumReservedPages;
MSFBuilder::MSFBuilder(uint32_t BlockSize, uint32_t MinBlockCount, bool CanGrow,
BumpPtrAllocator &Allocator)
@@ -263,7 +272,7 @@ Expected<MSFLayout> MSFBuilder::build() {
// The stream sizes should be re-allocated as a stable pointer and the stream
// map should have each of its entries allocated as a separate stable pointer.
- if (StreamData.size() > 0) {
+ if (!StreamData.empty()) {
ulittle32_t *Sizes = Allocator.Allocate<ulittle32_t>(StreamData.size());
L.StreamSizes = ArrayRef<ulittle32_t>(Sizes, StreamData.size());
L.StreamMap.resize(StreamData.size());
diff --git a/lib/DebugInfo/MSF/MSFCommon.cpp b/lib/DebugInfo/MSF/MSFCommon.cpp
index fdab7884646e..1facf5efb4bb 100644
--- a/lib/DebugInfo/MSF/MSFCommon.cpp
+++ b/lib/DebugInfo/MSF/MSFCommon.cpp
@@ -1,4 +1,4 @@
-//===- MSFCommon.cpp - Common types and functions for MSF files -*- C++ -*-===//
+//===- MSFCommon.cpp - Common types and functions for MSF files -----------===//
//
// The LLVM Compiler Infrastructure
//
@@ -9,6 +9,10 @@
#include "llvm/DebugInfo/MSF/MSFCommon.h"
#include "llvm/DebugInfo/MSF/MSFError.h"
+#include "llvm/Support/Endian.h"
+#include "llvm/Support/Error.h"
+#include <cstdint>
+#include <cstring>
using namespace llvm;
using namespace llvm::msf;
diff --git a/lib/DebugInfo/MSF/MappedBlockStream.cpp b/lib/DebugInfo/MSF/MappedBlockStream.cpp
index faf2442bc94b..e45f4ae0ed94 100644
--- a/lib/DebugInfo/MSF/MappedBlockStream.cpp
+++ b/lib/DebugInfo/MSF/MappedBlockStream.cpp
@@ -8,23 +8,33 @@
//===----------------------------------------------------------------------===//
#include "llvm/DebugInfo/MSF/MappedBlockStream.h"
-
-#include "llvm/DebugInfo/MSF/IMSFFile.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/DebugInfo/MSF/MSFCommon.h"
#include "llvm/DebugInfo/MSF/MSFStreamLayout.h"
-#include "llvm/Support/BinaryStreamError.h"
+#include "llvm/Support/Endian.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/MathExtras.h"
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+#include <cstring>
+#include <utility>
+#include <vector>
using namespace llvm;
using namespace llvm::msf;
namespace {
+
template <typename Base> class MappedBlockStreamImpl : public Base {
public:
template <typename... Args>
MappedBlockStreamImpl(Args &&... Params)
: Base(std::forward<Args>(Params)...) {}
};
-}
+
+} // end anonymous namespace
static void initializeFpmStreamLayout(const MSFLayout &Layout,
MSFStreamLayout &FpmLayout) {
@@ -39,7 +49,8 @@ static void initializeFpmStreamLayout(const MSFLayout &Layout,
FpmLayout.Length = msf::getFullFpmByteSize(Layout);
}
-typedef std::pair<uint32_t, uint32_t> Interval;
+using Interval = std::pair<uint32_t, uint32_t>;
+
static Interval intersect(const Interval &I1, const Interval &I2) {
return std::make_pair(std::max(I1.first, I2.first),
std::min(I1.second, I2.second));
@@ -214,7 +225,7 @@ bool MappedBlockStream::tryReadContiguously(uint32_t Offset, uint32_t Size,
uint32_t OffsetInBlock = Offset % BlockSize;
uint32_t BytesFromFirstBlock = std::min(Size, BlockSize - OffsetInBlock);
uint32_t NumAdditionalBlocks =
- llvm::alignTo(Size - BytesFromFirstBlock, BlockSize) / BlockSize;
+ alignTo(Size - BytesFromFirstBlock, BlockSize) / BlockSize;
uint32_t RequiredContiguousBlocks = NumAdditionalBlocks + 1;
uint32_t E = StreamLayout.Blocks[BlockNum];
diff --git a/lib/DebugInfo/PDB/DIA/DIASession.cpp b/lib/DebugInfo/PDB/DIA/DIASession.cpp
index ef47b92b4f2f..ef9390cda312 100644
--- a/lib/DebugInfo/PDB/DIA/DIASession.cpp
+++ b/lib/DebugInfo/PDB/DIA/DIASession.cpp
@@ -151,7 +151,7 @@ void DIASession::setLoadAddress(uint64_t Address) {
Session->put_loadAddress(Address);
}
-std::unique_ptr<PDBSymbolExe> DIASession::getGlobalScope() const {
+std::unique_ptr<PDBSymbolExe> DIASession::getGlobalScope() {
CComPtr<IDiaSymbol> GlobalScope;
if (S_OK != Session->get_globalScope(&GlobalScope))
return nullptr;
diff --git a/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp b/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
index 81a9d3eeec61..745dd742aadc 100644
--- a/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
+++ b/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
@@ -51,6 +51,7 @@ DbiModuleDescriptorBuilder::DbiModuleDescriptorBuilder(StringRef ModuleName,
uint32_t ModIndex,
msf::MSFBuilder &Msf)
: MSF(Msf), ModuleName(ModuleName) {
+ ::memset(&Layout, 0, sizeof(Layout));
Layout.Mod = ModIndex;
}
@@ -102,6 +103,7 @@ template <typename T> struct Foo {
template <typename T> Foo<T> makeFoo(T &&t) { return Foo<T>(std::move(t)); }
void DbiModuleDescriptorBuilder::finalize() {
+ Layout.SC.ModuleIndex = Layout.Mod;
Layout.FileNameOffs = 0; // TODO: Fix this
Layout.Flags = 0; // TODO: Fix this
Layout.C11Bytes = 0;
@@ -182,3 +184,9 @@ void DbiModuleDescriptorBuilder::addDebugSubsection(
C13Builders.push_back(llvm::make_unique<DebugSubsectionRecordBuilder>(
std::move(Subsection), CodeViewContainer::Pdb));
}
+
+void DbiModuleDescriptorBuilder::addDebugSubsection(
+ const DebugSubsectionRecord &SubsectionContents) {
+ C13Builders.push_back(llvm::make_unique<DebugSubsectionRecordBuilder>(
+ SubsectionContents, CodeViewContainer::Pdb));
+}
diff --git a/lib/DebugInfo/PDB/Native/DbiStream.cpp b/lib/DebugInfo/PDB/Native/DbiStream.cpp
index 24322d942fac..a1f0671dec3e 100644
--- a/lib/DebugInfo/PDB/Native/DbiStream.cpp
+++ b/lib/DebugInfo/PDB/Native/DbiStream.cpp
@@ -99,29 +99,27 @@ Error DbiStream::reload() {
return make_error<RawError>(raw_error_code::corrupt_file,
"DBI type server substream not aligned.");
- BinaryStreamRef ModInfoSubstream;
- BinaryStreamRef FileInfoSubstream;
- if (auto EC =
- Reader.readStreamRef(ModInfoSubstream, Header->ModiSubstreamSize))
+ if (auto EC = Reader.readSubstream(ModiSubstream, Header->ModiSubstreamSize))
return EC;
- if (auto EC = Reader.readStreamRef(SecContrSubstream,
+ if (auto EC = Reader.readSubstream(SecContrSubstream,
Header->SecContrSubstreamSize))
return EC;
- if (auto EC = Reader.readStreamRef(SecMapSubstream, Header->SectionMapSize))
+ if (auto EC = Reader.readSubstream(SecMapSubstream, Header->SectionMapSize))
return EC;
- if (auto EC = Reader.readStreamRef(FileInfoSubstream, Header->FileInfoSize))
+ if (auto EC = Reader.readSubstream(FileInfoSubstream, Header->FileInfoSize))
return EC;
if (auto EC =
- Reader.readStreamRef(TypeServerMapSubstream, Header->TypeServerSize))
+ Reader.readSubstream(TypeServerMapSubstream, Header->TypeServerSize))
return EC;
- if (auto EC = Reader.readStreamRef(ECSubstream, Header->ECSubstreamSize))
+ if (auto EC = Reader.readSubstream(ECSubstream, Header->ECSubstreamSize))
return EC;
if (auto EC = Reader.readArray(
DbgStreams, Header->OptionalDbgHdrSize / sizeof(ulittle16_t)))
return EC;
- if (auto EC = Modules.initialize(ModInfoSubstream, FileInfoSubstream))
+ if (auto EC = Modules.initialize(ModiSubstream.StreamData,
+ FileInfoSubstream.StreamData))
return EC;
if (auto EC = initializeSectionContributionData())
@@ -137,8 +135,8 @@ Error DbiStream::reload() {
return make_error<RawError>(raw_error_code::corrupt_file,
"Found unexpected bytes in DBI Stream.");
- if (ECSubstream.getLength() > 0) {
- BinaryStreamReader ECReader(ECSubstream);
+ if (!ECSubstream.empty()) {
+ BinaryStreamReader ECReader(ECSubstream.StreamData);
if (auto EC = ECNames.reload(ECReader))
return EC;
}
@@ -228,10 +226,10 @@ void DbiStream::visitSectionContributions(
}
Error DbiStream::initializeSectionContributionData() {
- if (SecContrSubstream.getLength() == 0)
+ if (SecContrSubstream.empty())
return Error::success();
- BinaryStreamReader SCReader(SecContrSubstream);
+ BinaryStreamReader SCReader(SecContrSubstream.StreamData);
if (auto EC = SCReader.readEnum(SectionContribVersion))
return EC;
@@ -302,11 +300,33 @@ Error DbiStream::initializeFpoRecords() {
return Error::success();
}
+BinarySubstreamRef DbiStream::getSectionContributionData() const {
+ return SecContrSubstream;
+}
+
+BinarySubstreamRef DbiStream::getSecMapSubstreamData() const {
+ return SecMapSubstream;
+}
+
+BinarySubstreamRef DbiStream::getModiSubstreamData() const {
+ return ModiSubstream;
+}
+
+BinarySubstreamRef DbiStream::getFileInfoSubstreamData() const {
+ return FileInfoSubstream;
+}
+
+BinarySubstreamRef DbiStream::getTypeServerMapSubstreamData() const {
+ return TypeServerMapSubstream;
+}
+
+BinarySubstreamRef DbiStream::getECSubstreamData() const { return ECSubstream; }
+
Error DbiStream::initializeSectionMapData() {
- if (SecMapSubstream.getLength() == 0)
+ if (SecMapSubstream.empty())
return Error::success();
- BinaryStreamReader SMReader(SecMapSubstream);
+ BinaryStreamReader SMReader(SecMapSubstream.StreamData);
const SecMapHeader *Header;
if (auto EC = SMReader.readObject(Header))
return EC;
diff --git a/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp b/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp
index e7304b444f23..aad247ea185f 100644
--- a/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp
+++ b/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp
@@ -90,10 +90,14 @@ Error DbiStreamBuilder::addModuleSourceFile(StringRef Module, StringRef File) {
if (ModIter == ModiMap.end())
return make_error<RawError>(raw_error_code::no_entry,
"The specified module was not found");
+ return addModuleSourceFile(*ModIter->second, File);
+}
+
+Error DbiStreamBuilder::addModuleSourceFile(DbiModuleDescriptorBuilder &Module,
+ StringRef File) {
uint32_t Index = SourceFileNames.size();
SourceFileNames.insert(std::make_pair(File, Index));
- auto &ModEntry = *ModIter;
- ModEntry.second->addSourceFile(File);
+ Module.addSourceFile(File);
return Error::success();
}
@@ -233,6 +237,7 @@ Error DbiStreamBuilder::finalize() {
return EC;
DbiStreamHeader *H = Allocator.Allocate<DbiStreamHeader>();
+ ::memset(H, 0, sizeof(DbiStreamHeader));
H->VersionHeader = *VerHeader;
H->VersionSignature = -1;
H->Age = Age;
diff --git a/lib/DebugInfo/PDB/Native/InfoStream.cpp b/lib/DebugInfo/PDB/Native/InfoStream.cpp
index a3979d480bf4..21b66b3e7bcf 100644
--- a/lib/DebugInfo/PDB/Native/InfoStream.cpp
+++ b/lib/DebugInfo/PDB/Native/InfoStream.cpp
@@ -57,6 +57,10 @@ Error InfoStream::reload() {
uint32_t NewOffset = Reader.getOffset();
NamedStreamMapByteSize = NewOffset - Offset;
+ Reader.setOffset(Offset);
+ if (auto EC = Reader.readSubstream(SubNamedStreams, NamedStreamMapByteSize))
+ return EC;
+
bool Stop = false;
while (!Stop && !Reader.empty()) {
PdbRaw_FeatureSig Sig;
@@ -129,3 +133,7 @@ ArrayRef<PdbRaw_FeatureSig> InfoStream::getFeatureSignatures() const {
const NamedStreamMap &InfoStream::getNamedStreams() const {
return NamedStreams;
}
+
+BinarySubstreamRef InfoStream::getNamedStreamsBuffer() const {
+ return SubNamedStreams;
+}
diff --git a/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp b/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp
index 4186f2eb6ba0..83c56574a16e 100644
--- a/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp
+++ b/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp
@@ -47,15 +47,19 @@ Error ModuleDebugStreamRef::reload() {
if (auto EC = Reader.readInteger(Signature))
return EC;
- if (auto EC = Reader.readArray(SymbolsSubstream, SymbolSize - 4))
+ if (auto EC = Reader.readSubstream(SymbolsSubstream, SymbolSize - 4))
return EC;
-
- if (auto EC = Reader.readStreamRef(C11LinesSubstream, C11Size))
+ if (auto EC = Reader.readSubstream(C11LinesSubstream, C11Size))
+ return EC;
+ if (auto EC = Reader.readSubstream(C13LinesSubstream, C13Size))
return EC;
- if (auto EC = Reader.readStreamRef(C13LinesSubstream, C13Size))
+
+ BinaryStreamReader SymbolReader(SymbolsSubstream.StreamData);
+ if (auto EC =
+ SymbolReader.readArray(SymbolArray, SymbolReader.bytesRemaining()))
return EC;
- BinaryStreamReader SubsectionsReader(C13LinesSubstream);
+ BinaryStreamReader SubsectionsReader(C13LinesSubstream.StreamData);
if (auto EC = SubsectionsReader.readArray(Subsections,
SubsectionsReader.bytesRemaining()))
return EC;
@@ -63,7 +67,7 @@ Error ModuleDebugStreamRef::reload() {
uint32_t GlobalRefsSize;
if (auto EC = Reader.readInteger(GlobalRefsSize))
return EC;
- if (auto EC = Reader.readStreamRef(GlobalRefsSubstream, GlobalRefsSize))
+ if (auto EC = Reader.readSubstream(GlobalRefsSubstream, GlobalRefsSize))
return EC;
if (Reader.bytesRemaining() > 0)
return make_error<RawError>(raw_error_code::corrupt_file,
@@ -72,9 +76,25 @@ Error ModuleDebugStreamRef::reload() {
return Error::success();
}
+BinarySubstreamRef ModuleDebugStreamRef::getSymbolsSubstream() const {
+ return SymbolsSubstream;
+}
+
+BinarySubstreamRef ModuleDebugStreamRef::getC11LinesSubstream() const {
+ return C11LinesSubstream;
+}
+
+BinarySubstreamRef ModuleDebugStreamRef::getC13LinesSubstream() const {
+ return C13LinesSubstream;
+}
+
+BinarySubstreamRef ModuleDebugStreamRef::getGlobalRefsSubstream() const {
+ return GlobalRefsSubstream;
+}
+
iterator_range<codeview::CVSymbolArray::Iterator>
ModuleDebugStreamRef::symbols(bool *HadError) const {
- return make_range(SymbolsSubstream.begin(HadError), SymbolsSubstream.end());
+ return make_range(SymbolArray.begin(HadError), SymbolArray.end());
}
llvm::iterator_range<ModuleDebugStreamRef::DebugSubsectionIterator>
@@ -83,7 +103,7 @@ ModuleDebugStreamRef::subsections() const {
}
bool ModuleDebugStreamRef::hasDebugSubsections() const {
- return C13LinesSubstream.getLength() > 0;
+ return !C13LinesSubstream.empty();
}
Error ModuleDebugStreamRef::commit() { return Error::success(); }
diff --git a/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp b/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
index c7ba32b82bc6..4f90cd9cd8ac 100644
--- a/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
+++ b/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
@@ -23,6 +23,14 @@
using namespace llvm;
using namespace llvm::pdb;
+// FIXME: This shouldn't be necessary, but if we insert the strings in any
+// other order, cvdump cannot read the generated name map. This suggests that
+// we may be using the wrong hash function. A closer inspection of the cvdump
+// source code may reveal something, but for now this at least makes us work,
+// even if only by accident.
+static constexpr const char *OrderedStreamNames[] = {"/LinkInfo", "/names",
+ "/src/headerblock"};
+
NamedStreamMap::NamedStreamMap() = default;
Error NamedStreamMap::load(BinaryStreamReader &Stream) {
@@ -73,9 +81,10 @@ Error NamedStreamMap::commit(BinaryStreamWriter &Writer) const {
if (auto EC = Writer.writeInteger(FinalizedInfo->StringDataBytes))
return EC;
- // Now all of the string data itself.
- for (const auto &Item : Mapping) {
- if (auto EC = Writer.writeCString(Item.getKey()))
+ for (const auto &Name : OrderedStreamNames) {
+ auto Item = Mapping.find(Name);
+ assert(Item != Mapping.end());
+ if (auto EC = Writer.writeCString(Item->getKey()))
return EC;
}
@@ -93,9 +102,12 @@ uint32_t NamedStreamMap::finalize() {
// Build the finalized hash table.
FinalizedHashTable.clear();
FinalizedInfo.emplace();
- for (const auto &Item : Mapping) {
- FinalizedHashTable.set(FinalizedInfo->StringDataBytes, Item.getValue());
- FinalizedInfo->StringDataBytes += Item.getKeyLength() + 1;
+
+ for (const auto &Name : OrderedStreamNames) {
+ auto Item = Mapping.find(Name);
+ assert(Item != Mapping.end());
+ FinalizedHashTable.set(FinalizedInfo->StringDataBytes, Item->getValue());
+ FinalizedInfo->StringDataBytes += Item->getKeyLength() + 1;
}
// Number of bytes of string data.
diff --git a/lib/DebugInfo/PDB/Native/NativeCompilandSymbol.cpp b/lib/DebugInfo/PDB/Native/NativeCompilandSymbol.cpp
index 77f832582f82..180c169ec209 100644
--- a/lib/DebugInfo/PDB/Native/NativeCompilandSymbol.cpp
+++ b/lib/DebugInfo/PDB/Native/NativeCompilandSymbol.cpp
@@ -9,17 +9,24 @@
#include "llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h"
+#include "llvm/ADT/STLExtras.h"
+
namespace llvm {
namespace pdb {
NativeCompilandSymbol::NativeCompilandSymbol(NativeSession &Session,
+ uint32_t SymbolId,
DbiModuleDescriptor MI)
- : NativeRawSymbol(Session), Module(MI) {}
+ : NativeRawSymbol(Session, SymbolId), Module(MI) {}
PDB_SymType NativeCompilandSymbol::getSymTag() const {
return PDB_SymType::Compiland;
}
+std::unique_ptr<NativeRawSymbol> NativeCompilandSymbol::clone() const {
+ return llvm::make_unique<NativeCompilandSymbol>(Session, SymbolId, Module);
+}
+
bool NativeCompilandSymbol::isEditAndContinueEnabled() const {
return Module.hasECInfo();
}
diff --git a/lib/DebugInfo/PDB/Native/NativeEnumModules.cpp b/lib/DebugInfo/PDB/Native/NativeEnumModules.cpp
index 97319fd77d11..c23120041164 100644
--- a/lib/DebugInfo/PDB/Native/NativeEnumModules.cpp
+++ b/lib/DebugInfo/PDB/Native/NativeEnumModules.cpp
@@ -34,7 +34,7 @@ NativeEnumModules::getChildAtIndex(uint32_t Index) const {
return nullptr;
return std::unique_ptr<PDBSymbol>(new PDBSymbolCompiland(
Session, std::unique_ptr<IPDBRawSymbol>(new NativeCompilandSymbol(
- Session, Modules.getModuleDescriptor(Index)))));
+ Session, 0, Modules.getModuleDescriptor(Index)))));
}
std::unique_ptr<PDBSymbol> NativeEnumModules::getNext() {
diff --git a/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp b/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp
index bb52560be167..6206155b9fb6 100644
--- a/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp
+++ b/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp
@@ -9,6 +9,7 @@
#include "llvm/DebugInfo/PDB/Native/NativeExeSymbol.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/DebugInfo/PDB/Native/DbiStream.h"
#include "llvm/DebugInfo/PDB/Native/InfoStream.h"
#include "llvm/DebugInfo/PDB/Native/NativeEnumModules.h"
@@ -17,8 +18,12 @@
namespace llvm {
namespace pdb {
-NativeExeSymbol::NativeExeSymbol(NativeSession &Session)
- : NativeRawSymbol(Session), File(Session.getPDBFile()) {}
+NativeExeSymbol::NativeExeSymbol(NativeSession &Session, uint32_t SymbolId)
+ : NativeRawSymbol(Session, SymbolId), File(Session.getPDBFile()) {}
+
+std::unique_ptr<NativeRawSymbol> NativeExeSymbol::clone() const {
+ return llvm::make_unique<NativeExeSymbol>(Session, SymbolId);
+}
std::unique_ptr<IPDBEnumSymbols>
NativeExeSymbol::findChildren(PDB_SymType Type) const {
diff --git a/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp b/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp
index 70968d4330b0..ed6db63edbab 100644
--- a/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp
+++ b/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp
@@ -22,8 +22,8 @@
using namespace llvm;
using namespace llvm::pdb;
-NativeRawSymbol::NativeRawSymbol(NativeSession &PDBSession)
- : Session(PDBSession) {}
+NativeRawSymbol::NativeRawSymbol(NativeSession &PDBSession, uint32_t SymbolId)
+ : Session(PDBSession), SymbolId(SymbolId) {}
void NativeRawSymbol::dump(raw_ostream &OS, int Indent) const {}
@@ -253,9 +253,7 @@ uint32_t NativeRawSymbol::getSubTypeId() const {
std::string NativeRawSymbol::getSymbolsFileName() const { return ""; }
-uint32_t NativeRawSymbol::getSymIndexId() const {
- return 0;
-}
+uint32_t NativeRawSymbol::getSymIndexId() const { return SymbolId; }
uint32_t NativeRawSymbol::getTargetOffset() const {
return 0;
diff --git a/lib/DebugInfo/PDB/Native/NativeSession.cpp b/lib/DebugInfo/PDB/Native/NativeSession.cpp
index 7e6843bceb7d..3ab381e76e62 100644
--- a/lib/DebugInfo/PDB/Native/NativeSession.cpp
+++ b/lib/DebugInfo/PDB/Native/NativeSession.cpp
@@ -70,12 +70,11 @@ uint64_t NativeSession::getLoadAddress() const { return 0; }
void NativeSession::setLoadAddress(uint64_t Address) {}
-std::unique_ptr<PDBSymbolExe> NativeSession::getGlobalScope() const {
- auto RawSymbol =
- llvm::make_unique<NativeExeSymbol>(const_cast<NativeSession &>(*this));
+std::unique_ptr<PDBSymbolExe> NativeSession::getGlobalScope() {
+ auto RawSymbol = llvm::make_unique<NativeExeSymbol>(*this, 0);
auto PdbSymbol(PDBSymbol::create(*this, std::move(RawSymbol)));
std::unique_ptr<PDBSymbolExe> ExeSymbol(
- static_cast<PDBSymbolExe *>(PdbSymbol.release()));
+ static_cast<PDBSymbolExe *>(PdbSymbol.release()));
return ExeSymbol;
}
diff --git a/lib/DebugInfo/PDB/Native/PDBFile.cpp b/lib/DebugInfo/PDB/Native/PDBFile.cpp
index a9597cdf4c4d..4f6ebb0cb342 100644
--- a/lib/DebugInfo/PDB/Native/PDBFile.cpp
+++ b/lib/DebugInfo/PDB/Native/PDBFile.cpp
@@ -230,6 +230,14 @@ ArrayRef<support::ulittle32_t> PDBFile::getDirectoryBlockArray() const {
return ContainerLayout.DirectoryBlocks;
}
+MSFStreamLayout PDBFile::getStreamLayout(uint32_t StreamIdx) const {
+ MSFStreamLayout Result;
+ auto Blocks = getStreamBlockList(StreamIdx);
+ Result.Blocks.assign(Blocks.begin(), Blocks.end());
+ Result.Length = getStreamByteSize(StreamIdx);
+ return Result;
+}
+
Expected<GlobalsStream &> PDBFile::getPDBGlobalsStream() {
if (!Globals) {
auto DbiS = getPDBDbiStream();
diff --git a/lib/DebugInfo/PDB/Native/TpiStream.cpp b/lib/DebugInfo/PDB/Native/TpiStream.cpp
index 67c803d3124e..f917ef91f639 100644
--- a/lib/DebugInfo/PDB/Native/TpiStream.cpp
+++ b/lib/DebugInfo/PDB/Native/TpiStream.cpp
@@ -66,7 +66,13 @@ Error TpiStream::reload() {
"TPI Stream Invalid number of hash buckets.");
// The actual type records themselves come from this stream
- if (auto EC = Reader.readArray(TypeRecords, Header->TypeRecordBytes))
+ if (auto EC =
+ Reader.readSubstream(TypeRecordsSubstream, Header->TypeRecordBytes))
+ return EC;
+
+ BinaryStreamReader RecordReader(TypeRecordsSubstream.StreamData);
+ if (auto EC =
+ RecordReader.readArray(TypeRecords, TypeRecordsSubstream.size()))
return EC;
// Hash indices, hash values, etc come from the hash stream.
@@ -135,6 +141,10 @@ uint16_t TpiStream::getTypeHashStreamAuxIndex() const {
uint32_t TpiStream::getNumHashBuckets() const { return Header->NumHashBuckets; }
uint32_t TpiStream::getHashKeySize() const { return Header->HashKeySize; }
+BinarySubstreamRef TpiStream::getTypeRecordsSubstream() const {
+ return TypeRecordsSubstream;
+}
+
FixedStreamArray<support::ulittle32_t> TpiStream::getHashValues() const {
return HashValues;
}
diff --git a/lib/ExecutionEngine/Orc/OrcCBindings.cpp b/lib/ExecutionEngine/Orc/OrcCBindings.cpp
index 8dcd49aaab5b..5fe259f80b6f 100644
--- a/lib/ExecutionEngine/Orc/OrcCBindings.cpp
+++ b/lib/ExecutionEngine/Orc/OrcCBindings.cpp
@@ -12,6 +12,24 @@
using namespace llvm;
+LLVMSharedModuleRef LLVMOrcMakeSharedModule(LLVMModuleRef Mod) {
+ return wrap(new std::shared_ptr<Module>(unwrap(Mod)));
+}
+
+void LLVMOrcDisposeSharedModuleRef(LLVMSharedModuleRef SharedMod) {
+ delete unwrap(SharedMod);
+}
+
+LLVMSharedObjectBufferRef
+LLVMOrcMakeSharedObjectBuffer(LLVMMemoryBufferRef ObjBuffer) {
+ return wrap(new std::shared_ptr<MemoryBuffer>(unwrap(ObjBuffer)));
+}
+
+void
+LLVMOrcDisposeSharedObjectBufferRef(LLVMSharedObjectBufferRef SharedObjBuffer) {
+ delete unwrap(SharedObjBuffer);
+}
+
LLVMOrcJITStackRef LLVMOrcCreateInstance(LLVMTargetMachineRef TM) {
TargetMachine *TM2(unwrap(TM));
@@ -65,21 +83,23 @@ LLVMOrcErrorCode LLVMOrcSetIndirectStubPointer(LLVMOrcJITStackRef JITStack,
}
LLVMOrcModuleHandle
-LLVMOrcAddEagerlyCompiledIR(LLVMOrcJITStackRef JITStack, LLVMModuleRef Mod,
+LLVMOrcAddEagerlyCompiledIR(LLVMOrcJITStackRef JITStack,
+ LLVMSharedModuleRef Mod,
LLVMOrcSymbolResolverFn SymbolResolver,
void *SymbolResolverCtx) {
OrcCBindingsStack &J = *unwrap(JITStack);
- Module *M(unwrap(Mod));
- return J.addIRModuleEager(M, SymbolResolver, SymbolResolverCtx);
+ std::shared_ptr<Module> *M(unwrap(Mod));
+ return J.addIRModuleEager(*M, SymbolResolver, SymbolResolverCtx);
}
LLVMOrcModuleHandle
-LLVMOrcAddLazilyCompiledIR(LLVMOrcJITStackRef JITStack, LLVMModuleRef Mod,
+LLVMOrcAddLazilyCompiledIR(LLVMOrcJITStackRef JITStack,
+ LLVMSharedModuleRef Mod,
LLVMOrcSymbolResolverFn SymbolResolver,
void *SymbolResolverCtx) {
OrcCBindingsStack &J = *unwrap(JITStack);
- Module *M(unwrap(Mod));
- return J.addIRModuleLazy(M, SymbolResolver, SymbolResolverCtx);
+ std::shared_ptr<Module> *M(unwrap(Mod));
+ return J.addIRModuleLazy(*M, SymbolResolver, SymbolResolverCtx);
}
void LLVMOrcRemoveModule(LLVMOrcJITStackRef JITStack, LLVMOrcModuleHandle H) {
diff --git a/lib/ExecutionEngine/Orc/OrcCBindingsStack.h b/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
index a79dd844bf4f..931d0a9eb2ad 100644
--- a/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
+++ b/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
@@ -1,4 +1,4 @@
-//===--- OrcCBindingsStack.h - Orc JIT stack for C bindings ---*- C++ -*---===//
+//===- OrcCBindingsStack.h - Orc JIT stack for C bindings -----*- C++ -*---===//
//
// The LLVM Compiler Infrastructure
//
@@ -11,39 +11,63 @@
#define LLVM_LIB_EXECUTIONENGINE_ORC_ORCCBINDINGSSTACK_H
#include "llvm-c/OrcBindings.h"
-#include "llvm/ADT/Triple.h"
+#include "llvm-c/TargetMachine.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h"
#include "llvm/ExecutionEngine/Orc/CompileUtils.h"
#include "llvm/ExecutionEngine/Orc/ExecutionUtils.h"
#include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"
+#include "llvm/ExecutionEngine/Orc/LambdaResolver.h"
#include "llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h"
-#include "llvm/IR/LLVMContext.h"
+#include "llvm/ExecutionEngine/RuntimeDyld.h"
+#include "llvm/ExecutionEngine/SectionMemoryManager.h"
+#include "llvm/IR/DataLayout.h"
+#include "llvm/IR/Mangler.h"
+#include "llvm/IR/Module.h"
+#include "llvm/Support/CBindingWrapping.h"
#include "llvm/Support/Error.h"
+#include "llvm/Support/raw_ostream.h"
+#include "llvm/Target/TargetMachine.h"
+#include <algorithm>
+#include <cstdint>
+#include <functional>
+#include <memory>
+#include <set>
+#include <string>
+#include <vector>
namespace llvm {
class OrcCBindingsStack;
+DEFINE_SIMPLE_CONVERSION_FUNCTIONS(std::shared_ptr<Module>,
+ LLVMSharedModuleRef)
+DEFINE_SIMPLE_CONVERSION_FUNCTIONS(std::shared_ptr<MemoryBuffer>,
+ LLVMSharedObjectBufferRef)
DEFINE_SIMPLE_CONVERSION_FUNCTIONS(OrcCBindingsStack, LLVMOrcJITStackRef)
DEFINE_SIMPLE_CONVERSION_FUNCTIONS(TargetMachine, LLVMTargetMachineRef)
class OrcCBindingsStack {
public:
- typedef orc::JITCompileCallbackManager CompileCallbackMgr;
- typedef orc::RTDyldObjectLinkingLayer<> ObjLayerT;
- typedef orc::IRCompileLayer<ObjLayerT> CompileLayerT;
- typedef orc::CompileOnDemandLayer<CompileLayerT, CompileCallbackMgr>
- CODLayerT;
- typedef std::function<std::unique_ptr<CompileCallbackMgr>()>
- CallbackManagerBuilder;
+ using CompileCallbackMgr = orc::JITCompileCallbackManager;
+ using ObjLayerT = orc::RTDyldObjectLinkingLayer;
+ using CompileLayerT = orc::IRCompileLayer<ObjLayerT, orc::SimpleCompiler>;
+ using CODLayerT =
+ orc::CompileOnDemandLayer<CompileLayerT, CompileCallbackMgr>;
- typedef CODLayerT::IndirectStubsManagerBuilderT IndirectStubsManagerBuilder;
+ using CallbackManagerBuilder =
+ std::function<std::unique_ptr<CompileCallbackMgr>()>;
+
+ using IndirectStubsManagerBuilder = CODLayerT::IndirectStubsManagerBuilderT;
private:
class GenericHandle {
public:
- virtual ~GenericHandle() {}
+ virtual ~GenericHandle() = default;
+
virtual JITSymbol findSymbolIn(const std::string &Name,
bool ExportedSymbolsOnly) = 0;
virtual void removeModule() = 0;
@@ -51,7 +75,7 @@ private:
template <typename LayerT> class GenericHandleImpl : public GenericHandle {
public:
- GenericHandleImpl(LayerT &Layer, typename LayerT::ModuleSetHandleT Handle)
+ GenericHandleImpl(LayerT &Layer, typename LayerT::ModuleHandleT Handle)
: Layer(Layer), Handle(std::move(Handle)) {}
JITSymbol findSymbolIn(const std::string &Name,
@@ -59,31 +83,28 @@ private:
return Layer.findSymbolIn(Handle, Name, ExportedSymbolsOnly);
}
- void removeModule() override { return Layer.removeModuleSet(Handle); }
+ void removeModule() override { return Layer.removeModule(Handle); }
private:
LayerT &Layer;
- typename LayerT::ModuleSetHandleT Handle;
+ typename LayerT::ModuleHandleT Handle;
};
template <typename LayerT>
std::unique_ptr<GenericHandleImpl<LayerT>>
- createGenericHandle(LayerT &Layer, typename LayerT::ModuleSetHandleT Handle) {
+ createGenericHandle(LayerT &Layer, typename LayerT::ModuleHandleT Handle) {
return llvm::make_unique<GenericHandleImpl<LayerT>>(Layer,
std::move(Handle));
}
public:
- // We need a 'ModuleSetHandleT' to conform to the layer concept.
- typedef unsigned ModuleSetHandleT;
-
- typedef unsigned ModuleHandleT;
+ using ModuleHandleT = unsigned;
OrcCBindingsStack(TargetMachine &TM,
std::unique_ptr<CompileCallbackMgr> CCMgr,
IndirectStubsManagerBuilder IndirectStubsMgrBuilder)
: DL(TM.createDataLayout()), IndirectStubsMgr(IndirectStubsMgrBuilder()),
- CCMgr(std::move(CCMgr)), ObjectLayer(),
+ CCMgr(std::move(CCMgr)),
CompileLayer(ObjectLayer, orc::SimpleCompiler(TM)),
CODLayer(CompileLayer,
[](Function &F) { return std::set<Function *>({&F}); },
@@ -153,7 +174,7 @@ public:
if (ExternalResolver)
return JITSymbol(
ExternalResolver(Name.c_str(), ExternalResolverCtx),
- llvm::JITSymbolFlags::Exported);
+ JITSymbolFlags::Exported);
return JITSymbol(nullptr);
},
@@ -163,11 +184,10 @@ public:
}
template <typename LayerT>
- ModuleHandleT addIRModule(LayerT &Layer, Module *M,
+ ModuleHandleT addIRModule(LayerT &Layer, std::shared_ptr<Module> M,
std::unique_ptr<RuntimeDyld::MemoryManager> MemMgr,
LLVMOrcSymbolResolverFn ExternalResolver,
void *ExternalResolverCtx) {
-
// Attach a data-layout if one isn't already present.
if (M->getDataLayout().isDefault())
M->setDataLayout(DL);
@@ -184,11 +204,8 @@ public:
auto Resolver = createResolver(ExternalResolver, ExternalResolverCtx);
// Add the module to the JIT.
- std::vector<Module *> S;
- S.push_back(std::move(M));
-
- auto LH = Layer.addModuleSet(std::move(S), std::move(MemMgr),
- std::move(Resolver));
+ auto LH = Layer.addModule(std::move(M), std::move(MemMgr),
+ std::move(Resolver));
ModuleHandleT H = createHandle(Layer, LH);
// Run the static constructors, and save the static destructor runner for
@@ -201,7 +218,7 @@ public:
return H;
}
- ModuleHandleT addIRModuleEager(Module *M,
+ ModuleHandleT addIRModuleEager(std::shared_ptr<Module> M,
LLVMOrcSymbolResolverFn ExternalResolver,
void *ExternalResolverCtx) {
return addIRModule(CompileLayer, std::move(M),
@@ -209,7 +226,7 @@ public:
std::move(ExternalResolver), ExternalResolverCtx);
}
- ModuleHandleT addIRModuleLazy(Module *M,
+ ModuleHandleT addIRModuleLazy(std::shared_ptr<Module> M,
LLVMOrcSymbolResolverFn ExternalResolver,
void *ExternalResolverCtx) {
return addIRModule(CODLayer, std::move(M),
@@ -238,8 +255,7 @@ public:
private:
template <typename LayerT>
- unsigned createHandle(LayerT &Layer,
- typename LayerT::ModuleSetHandleT Handle) {
+ unsigned createHandle(LayerT &Layer, typename LayerT::ModuleHandleT Handle) {
unsigned NewHandle;
if (!FreeHandleIndexes.empty()) {
NewHandle = FreeHandleIndexes.back();
diff --git a/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp b/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp
index b7a68e041c12..f89f21adff41 100644
--- a/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp
+++ b/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp
@@ -124,5 +124,10 @@ OrcMCJITReplacement::runFunction(Function *F,
llvm_unreachable("Full-featured argument passing not supported yet!");
}
+void OrcMCJITReplacement::runStaticConstructorsDestructors(bool isDtors) {
+ for (auto &M : LocalModules)
+ ExecutionEngine::runStaticConstructorsDestructors(*M, isDtors);
+}
+
} // End namespace orc.
} // End namespace llvm.
diff --git a/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h b/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
index 7dd6b17d33cb..b20690c7caaf 100644
--- a/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
+++ b/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
@@ -1,4 +1,4 @@
-//===---- OrcMCJITReplacement.h - Orc based MCJIT replacement ---*- C++ -*-===//
+//===- OrcMCJITReplacement.h - Orc based MCJIT replacement ------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -24,9 +24,12 @@
#include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"
#include "llvm/ExecutionEngine/Orc/LazyEmittingLayer.h"
#include "llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h"
+#include "llvm/ExecutionEngine/RTDyldMemoryManager.h"
#include "llvm/ExecutionEngine/RuntimeDyld.h"
+#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Mangler.h"
+#include "llvm/IR/Module.h"
#include "llvm/Object/Archive.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/ObjectFile.h"
@@ -45,6 +48,9 @@
#include <vector>
namespace llvm {
+
+class ObjectCache;
+
namespace orc {
class OrcMCJITReplacement : public ExecutionEngine {
@@ -151,7 +157,6 @@ class OrcMCJITReplacement : public ExecutionEngine {
};
private:
-
static ExecutionEngine *
createOrcMCJITReplacement(std::string *ErrorMsg,
std::shared_ptr<MCJITMemoryManager> MemMgr,
@@ -162,10 +167,6 @@ private:
}
public:
- static void Register() {
- OrcMCJITReplacementCtor = createOrcMCJITReplacement;
- }
-
OrcMCJITReplacement(
std::shared_ptr<MCJITMemoryManager> MemMgr,
std::shared_ptr<JITSymbolResolver> ClientResolver,
@@ -178,8 +179,11 @@ public:
CompileLayer(ObjectLayer, SimpleCompiler(*this->TM)),
LazyEmitLayer(CompileLayer) {}
- void addModule(std::unique_ptr<Module> M) override {
+ static void Register() {
+ OrcMCJITReplacementCtor = createOrcMCJITReplacement;
+ }
+ void addModule(std::unique_ptr<Module> M) override {
// If this module doesn't have a DataLayout attached then attach the
// default.
if (M->getDataLayout().isDefault()) {
@@ -187,29 +191,44 @@ public:
} else {
assert(M->getDataLayout() == getDataLayout() && "DataLayout Mismatch");
}
- Modules.push_back(std::move(M));
- std::vector<Module *> Ms;
- Ms.push_back(&*Modules.back());
- LazyEmitLayer.addModuleSet(std::move(Ms), &MemMgr, &Resolver);
+ auto *MPtr = M.release();
+ ShouldDelete[MPtr] = true;
+ auto Deleter =
+ [this](Module *Mod) {
+ if (ShouldDelete[Mod])
+ delete Mod;
+ };
+ LocalModules.push_back(std::shared_ptr<Module>(MPtr, std::move(Deleter)));
+ LazyEmitLayer.addModule(LocalModules.back(), &MemMgr, &Resolver);
}
void addObjectFile(std::unique_ptr<object::ObjectFile> O) override {
- std::vector<std::unique_ptr<object::ObjectFile>> Objs;
- Objs.push_back(std::move(O));
- ObjectLayer.addObjectSet(std::move(Objs), &MemMgr, &Resolver);
+ auto Obj =
+ std::make_shared<object::OwningBinary<object::ObjectFile>>(std::move(O),
+ nullptr);
+ ObjectLayer.addObject(std::move(Obj), &MemMgr, &Resolver);
}
void addObjectFile(object::OwningBinary<object::ObjectFile> O) override {
- std::vector<std::unique_ptr<object::OwningBinary<object::ObjectFile>>> Objs;
- Objs.push_back(
- llvm::make_unique<object::OwningBinary<object::ObjectFile>>(
- std::move(O)));
- ObjectLayer.addObjectSet(std::move(Objs), &MemMgr, &Resolver);
+ auto Obj =
+ std::make_shared<object::OwningBinary<object::ObjectFile>>(std::move(O));
+ ObjectLayer.addObject(std::move(Obj), &MemMgr, &Resolver);
}
void addArchive(object::OwningBinary<object::Archive> A) override {
Archives.push_back(std::move(A));
}
+
+ bool removeModule(Module *M) override {
+ for (auto I = LocalModules.begin(), E = LocalModules.end(); I != E; ++I) {
+ if (I->get() == M) {
+ ShouldDelete[M] = false;
+ LocalModules.erase(I);
+ return true;
+ }
+ }
+ return false;
+ }
uint64_t getSymbolAddress(StringRef Name) {
return findSymbol(Name).getAddress();
@@ -256,13 +275,15 @@ public:
ArrayRef<GenericValue> ArgValues) override;
void setObjectCache(ObjectCache *NewCache) override {
- CompileLayer.setObjectCache(NewCache);
+ CompileLayer.getCompiler().setObjectCache(NewCache);
}
void setProcessAllSections(bool ProcessAllSections) override {
ObjectLayer.setProcessAllSections(ProcessAllSections);
}
+ void runStaticConstructorsDestructors(bool isDtors) override;
+
private:
JITSymbol findMangledSymbol(StringRef Name) {
if (auto Sym = LazyEmitLayer.findSymbol(Name, false))
@@ -294,10 +315,12 @@ private:
}
std::unique_ptr<object::Binary> &ChildBin = ChildBinOrErr.get();
if (ChildBin->isObject()) {
- std::vector<std::unique_ptr<object::ObjectFile>> ObjSet;
- ObjSet.push_back(std::unique_ptr<object::ObjectFile>(
- static_cast<object::ObjectFile *>(ChildBin.release())));
- ObjectLayer.addObjectSet(std::move(ObjSet), &MemMgr, &Resolver);
+ std::unique_ptr<object::ObjectFile> ChildObj(
+ static_cast<object::ObjectFile*>(ChildBinOrErr->release()));
+ auto Obj =
+ std::make_shared<object::OwningBinary<object::ObjectFile>>(
+ std::move(ChildObj), nullptr);
+ ObjectLayer.addObject(std::move(Obj), &MemMgr, &Resolver);
if (auto Sym = ObjectLayer.findSymbol(Name, true))
return Sym;
}
@@ -308,34 +331,19 @@ private:
class NotifyObjectLoadedT {
public:
- typedef std::vector<std::unique_ptr<RuntimeDyld::LoadedObjectInfo>>
- LoadedObjInfoListT;
+ using LoadedObjInfoListT =
+ std::vector<std::unique_ptr<RuntimeDyld::LoadedObjectInfo>>;
NotifyObjectLoadedT(OrcMCJITReplacement &M) : M(M) {}
- template <typename ObjListT>
- void operator()(RTDyldObjectLinkingLayerBase::ObjSetHandleT H,
- const ObjListT &Objects,
- const LoadedObjInfoListT &Infos) const {
+ void operator()(RTDyldObjectLinkingLayerBase::ObjHandleT H,
+ const RTDyldObjectLinkingLayer::ObjectPtr &Obj,
+ const LoadedObjectInfo &Info) const {
M.UnfinalizedSections[H] = std::move(M.SectionsAllocatedSinceLastLoad);
M.SectionsAllocatedSinceLastLoad = SectionAddrSet();
- assert(Objects.size() == Infos.size() &&
- "Incorrect number of Infos for Objects.");
- for (unsigned I = 0; I < Objects.size(); ++I)
- M.MemMgr.notifyObjectLoaded(&M, getObject(*Objects[I]));
+ M.MemMgr.notifyObjectLoaded(&M, *Obj->getBinary());
}
-
private:
- static const object::ObjectFile& getObject(const object::ObjectFile &Obj) {
- return Obj;
- }
-
- template <typename ObjT>
- static const object::ObjectFile&
- getObject(const object::OwningBinary<ObjT> &Obj) {
- return *Obj.getBinary();
- }
-
OrcMCJITReplacement &M;
};
@@ -343,7 +351,7 @@ private:
public:
NotifyFinalizedT(OrcMCJITReplacement &M) : M(M) {}
- void operator()(RTDyldObjectLinkingLayerBase::ObjSetHandleT H) {
+ void operator()(RTDyldObjectLinkingLayerBase::ObjHandleT H) {
M.UnfinalizedSections.erase(H);
}
@@ -360,9 +368,9 @@ private:
return MangledName;
}
- typedef RTDyldObjectLinkingLayer<NotifyObjectLoadedT> ObjectLayerT;
- typedef IRCompileLayer<ObjectLayerT> CompileLayerT;
- typedef LazyEmittingLayer<CompileLayerT> LazyEmitLayerT;
+ using ObjectLayerT = RTDyldObjectLinkingLayer;
+ using CompileLayerT = IRCompileLayer<ObjectLayerT, orc::SimpleCompiler>;
+ using LazyEmitLayerT = LazyEmittingLayer<CompileLayerT>;
std::unique_ptr<TargetMachine> TM;
MCJITReplacementMemMgr MemMgr;
@@ -380,21 +388,24 @@ private:
// We need to store ObjLayerT::ObjSetHandles for each of the object sets
// that have been emitted but not yet finalized so that we can forward the
// mapSectionAddress calls appropriately.
- typedef std::set<const void *> SectionAddrSet;
- struct ObjSetHandleCompare {
- bool operator()(ObjectLayerT::ObjSetHandleT H1,
- ObjectLayerT::ObjSetHandleT H2) const {
+ using SectionAddrSet = std::set<const void *>;
+ struct ObjHandleCompare {
+ bool operator()(ObjectLayerT::ObjHandleT H1,
+ ObjectLayerT::ObjHandleT H2) const {
return &*H1 < &*H2;
}
};
SectionAddrSet SectionsAllocatedSinceLastLoad;
- std::map<ObjectLayerT::ObjSetHandleT, SectionAddrSet, ObjSetHandleCompare>
+ std::map<ObjectLayerT::ObjHandleT, SectionAddrSet, ObjHandleCompare>
UnfinalizedSections;
+ std::map<Module*, bool> ShouldDelete;
+ std::vector<std::shared_ptr<Module>> LocalModules;
std::vector<object::OwningBinary<object::Archive>> Archives;
};
} // end namespace orc
+
} // end namespace llvm
#endif // LLVM_LIB_EXECUTIONENGINE_ORC_MCJITREPLACEMENT_H
diff --git a/lib/IR/AsmWriter.cpp b/lib/IR/AsmWriter.cpp
index 556e122ff82f..c7f112887a30 100644
--- a/lib/IR/AsmWriter.cpp
+++ b/lib/IR/AsmWriter.cpp
@@ -1,5 +1,4 @@
-
-//===-- AsmWriter.cpp - Printing LLVM as an assembly file -----------------===//
+//===- AsmWriter.cpp - Printing LLVM as an assembly file ------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -15,63 +14,105 @@
//
//===----------------------------------------------------------------------===//
+#include "llvm/ADT/APFloat.h"
+#include "llvm/ADT/APInt.h"
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/None.h"
+#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/iterator_range.h"
#include "llvm/BinaryFormat/Dwarf.h"
+#include "llvm/IR/Argument.h"
#include "llvm/IR/AssemblyAnnotationWriter.h"
#include "llvm/IR/Attributes.h"
+#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CFG.h"
+#include "llvm/IR/CallSite.h"
#include "llvm/IR/CallingConv.h"
+#include "llvm/IR/Comdat.h"
+#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
-#include "llvm/IR/DebugInfo.h"
+#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DerivedTypes.h"
+#include "llvm/IR/Function.h"
+#include "llvm/IR/GlobalAlias.h"
+#include "llvm/IR/GlobalIFunc.h"
+#include "llvm/IR/GlobalIndirectSymbol.h"
+#include "llvm/IR/GlobalObject.h"
+#include "llvm/IR/GlobalValue.h"
+#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/IRPrintingPasses.h"
#include "llvm/IR/InlineAsm.h"
-#include "llvm/IR/IntrinsicInst.h"
+#include "llvm/IR/InstrTypes.h"
+#include "llvm/IR/Instruction.h"
+#include "llvm/IR/Instructions.h"
#include "llvm/IR/LLVMContext.h"
+#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ModuleSlotTracker.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/Statepoint.h"
+#include "llvm/IR/Type.h"
#include "llvm/IR/TypeFinder.h"
+#include "llvm/IR/Use.h"
#include "llvm/IR/UseListOrder.h"
-#include "llvm/IR/ValueSymbolTable.h"
+#include "llvm/IR/User.h"
+#include "llvm/IR/Value.h"
+#include "llvm/Support/AtomicOrdering.h"
+#include "llvm/Support/Casting.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/FormattedStream.h"
-#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
+#include <cassert>
#include <cctype>
+#include <cstddef>
+#include <cstdint>
+#include <iterator>
+#include <memory>
+#include <string>
+#include <tuple>
+#include <utility>
+#include <vector>
+
using namespace llvm;
// Make virtual table appear in this compilation unit.
-AssemblyAnnotationWriter::~AssemblyAnnotationWriter() {}
+AssemblyAnnotationWriter::~AssemblyAnnotationWriter() = default;
//===----------------------------------------------------------------------===//
// Helper Functions
//===----------------------------------------------------------------------===//
namespace {
+
struct OrderMap {
DenseMap<const Value *, std::pair<unsigned, bool>> IDs;
unsigned size() const { return IDs.size(); }
std::pair<unsigned, bool> &operator[](const Value *V) { return IDs[V]; }
+
std::pair<unsigned, bool> lookup(const Value *V) const {
return IDs.lookup(V);
}
+
void index(const Value *V) {
// Explicitly sequence get-size and insert-value operations to avoid UB.
unsigned ID = IDs.size() + 1;
IDs[V].first = ID;
}
};
-}
+
+} // end anonymous namespace
static void orderValue(const Value *V, OrderMap &OM) {
if (OM.lookup(V).first)
@@ -139,7 +180,7 @@ static void predictValueUseListOrderImpl(const Value *V, const Function *F,
unsigned ID, const OrderMap &OM,
UseListOrderStack &Stack) {
// Predict use-list order for this one.
- typedef std::pair<const Use *, unsigned> Entry;
+ using Entry = std::pair<const Use *, unsigned>;
SmallVector<Entry, 64> List;
for (const Use &U : V->uses())
// Check if this user will be serialized.
@@ -421,13 +462,10 @@ static void PrintLLVMName(raw_ostream &OS, const Value *V) {
isa<GlobalValue>(V) ? GlobalPrefix : LocalPrefix);
}
-
namespace {
+
class TypePrinting {
- TypePrinting(const TypePrinting &) = delete;
- void operator=(const TypePrinting&) = delete;
public:
-
/// NamedTypes - The named types that are used by the current module.
TypeFinder NamedTypes;
@@ -435,6 +473,8 @@ public:
DenseMap<StructType*, unsigned> NumberedTypes;
TypePrinting() = default;
+ TypePrinting(const TypePrinting &) = delete;
+ TypePrinting &operator=(const TypePrinting &) = delete;
void incorporateTypes(const Module &M);
@@ -442,7 +482,8 @@ public:
void printStructBody(StructType *Ty, raw_ostream &OS);
};
-} // namespace
+
+} // end anonymous namespace
void TypePrinting::incorporateTypes(const Module &M) {
NamedTypes.run(M, false);
@@ -574,6 +615,7 @@ void TypePrinting::printStructBody(StructType *STy, raw_ostream &OS) {
}
namespace llvm {
+
//===----------------------------------------------------------------------===//
// SlotTracker Class: Enumerate slot numbers for unnamed values
//===----------------------------------------------------------------------===//
@@ -582,32 +624,33 @@ namespace llvm {
class SlotTracker {
public:
/// ValueMap - A mapping of Values to slot numbers.
- typedef DenseMap<const Value*, unsigned> ValueMap;
+ using ValueMap = DenseMap<const Value *, unsigned>;
private:
/// TheModule - The module for which we are holding slot numbers.
const Module* TheModule;
/// TheFunction - The function for which we are holding slot numbers.
- const Function* TheFunction;
- bool FunctionProcessed;
+ const Function* TheFunction = nullptr;
+ bool FunctionProcessed = false;
bool ShouldInitializeAllMetadata;
/// mMap - The slot map for the module level data.
ValueMap mMap;
- unsigned mNext;
+ unsigned mNext = 0;
/// fMap - The slot map for the function level data.
ValueMap fMap;
- unsigned fNext;
+ unsigned fNext = 0;
/// mdnMap - Map for MDNodes.
DenseMap<const MDNode*, unsigned> mdnMap;
- unsigned mdnNext;
+ unsigned mdnNext = 0;
/// asMap - The slot map for attribute sets.
DenseMap<AttributeSet, unsigned> asMap;
- unsigned asNext;
+ unsigned asNext = 0;
+
public:
/// Construct from a module.
///
@@ -616,6 +659,7 @@ public:
/// within a function (even if no functions have been initialized).
explicit SlotTracker(const Module *M,
bool ShouldInitializeAllMetadata = false);
+
/// Construct from a function, starting out in incorp state.
///
/// If \c ShouldInitializeAllMetadata, initializes all metadata in all
@@ -624,6 +668,9 @@ public:
explicit SlotTracker(const Function *F,
bool ShouldInitializeAllMetadata = false);
+ SlotTracker(const SlotTracker &) = delete;
+ SlotTracker &operator=(const SlotTracker &) = delete;
+
/// Return the slot number of the specified value in it's type
/// plane. If something is not in the SlotTracker, return -1.
int getLocalSlot(const Value *V);
@@ -646,14 +693,16 @@ public:
void purgeFunction();
/// MDNode map iterators.
- typedef DenseMap<const MDNode*, unsigned>::iterator mdn_iterator;
+ using mdn_iterator = DenseMap<const MDNode*, unsigned>::iterator;
+
mdn_iterator mdn_begin() { return mdnMap.begin(); }
mdn_iterator mdn_end() { return mdnMap.end(); }
unsigned mdn_size() const { return mdnMap.size(); }
bool mdn_empty() const { return mdnMap.empty(); }
/// AttributeSet map iterators.
- typedef DenseMap<AttributeSet, unsigned>::iterator as_iterator;
+ using as_iterator = DenseMap<AttributeSet, unsigned>::iterator;
+
as_iterator as_begin() { return asMap.begin(); }
as_iterator as_end() { return asMap.end(); }
unsigned as_size() const { return asMap.size(); }
@@ -691,11 +740,9 @@ private:
/// Add all of the metadata from an instruction.
void processInstructionMetadata(const Instruction &I);
-
- SlotTracker(const SlotTracker &) = delete;
- void operator=(const SlotTracker &) = delete;
};
-} // namespace llvm
+
+} // end namespace llvm
ModuleSlotTracker::ModuleSlotTracker(SlotTracker &Machine, const Module *M,
const Function *F)
@@ -706,7 +753,7 @@ ModuleSlotTracker::ModuleSlotTracker(const Module *M,
: ShouldCreateStorage(M),
ShouldInitializeAllMetadata(ShouldInitializeAllMetadata), M(M) {}
-ModuleSlotTracker::~ModuleSlotTracker() {}
+ModuleSlotTracker::~ModuleSlotTracker() = default;
SlotTracker *ModuleSlotTracker::getMachine() {
if (!ShouldCreateStorage)
@@ -773,17 +820,13 @@ static SlotTracker *createSlotTracker(const Value *V) {
// Module level constructor. Causes the contents of the Module (sans functions)
// to be added to the slot table.
SlotTracker::SlotTracker(const Module *M, bool ShouldInitializeAllMetadata)
- : TheModule(M), TheFunction(nullptr), FunctionProcessed(false),
- ShouldInitializeAllMetadata(ShouldInitializeAllMetadata), mNext(0),
- fNext(0), mdnNext(0), asNext(0) {}
+ : TheModule(M), ShouldInitializeAllMetadata(ShouldInitializeAllMetadata) {}
// Function level constructor. Causes the contents of the Module and the one
// function provided to be added to the slot table.
SlotTracker::SlotTracker(const Function *F, bool ShouldInitializeAllMetadata)
: TheModule(F ? F->getParent() : nullptr), TheFunction(F),
- FunctionProcessed(false),
- ShouldInitializeAllMetadata(ShouldInitializeAllMetadata), mNext(0),
- fNext(0), mdnNext(0), asNext(0) {}
+ ShouldInitializeAllMetadata(ShouldInitializeAllMetadata) {}
inline void SlotTracker::initialize() {
if (TheModule) {
@@ -949,7 +992,6 @@ int SlotTracker::getMetadataSlot(const MDNode *N) {
return MI == mdnMap.end() ? -1 : (int)MI->second;
}
-
/// getLocalSlot - Get the slot number for a value that is local to a function.
int SlotTracker::getLocalSlot(const Value *V) {
assert(!isa<Constant>(V) && "Can't get a constant or global slot with this!");
@@ -1248,7 +1290,6 @@ static void WriteConstantInternal(raw_ostream &Out, const Constant *CV,
return;
}
-
if (const ConstantStruct *CS = dyn_cast<ConstantStruct>(CV)) {
if (CS->getType()->isPacked())
Out << '<';
@@ -1381,11 +1422,14 @@ static void writeMDTuple(raw_ostream &Out, const MDTuple *Node,
}
namespace {
+
struct FieldSeparator {
- bool Skip;
+ bool Skip = true;
const char *Sep;
- FieldSeparator(const char *Sep = ", ") : Skip(true), Sep(Sep) {}
+
+ FieldSeparator(const char *Sep = ", ") : Sep(Sep) {}
};
+
raw_ostream &operator<<(raw_ostream &OS, FieldSeparator &FS) {
if (FS.Skip) {
FS.Skip = false;
@@ -1393,19 +1437,20 @@ raw_ostream &operator<<(raw_ostream &OS, FieldSeparator &FS) {
}
return OS << FS.Sep;
}
+
struct MDFieldPrinter {
raw_ostream &Out;
FieldSeparator FS;
- TypePrinting *TypePrinter;
- SlotTracker *Machine;
- const Module *Context;
+ TypePrinting *TypePrinter = nullptr;
+ SlotTracker *Machine = nullptr;
+ const Module *Context = nullptr;
- explicit MDFieldPrinter(raw_ostream &Out)
- : Out(Out), TypePrinter(nullptr), Machine(nullptr), Context(nullptr) {}
+ explicit MDFieldPrinter(raw_ostream &Out) : Out(Out) {}
MDFieldPrinter(raw_ostream &Out, TypePrinting *TypePrinter,
SlotTracker *Machine, const Module *Context)
: Out(Out), TypePrinter(TypePrinter), Machine(Machine), Context(Context) {
}
+
void printTag(const DINode *N);
void printMacinfoType(const DIMacroNode *N);
void printChecksumKind(const DIFile *N);
@@ -1422,7 +1467,8 @@ struct MDFieldPrinter {
bool ShouldSkipZero = true);
void printEmissionKind(StringRef Name, DICompileUnit::DebugEmissionKind EK);
};
-} // end namespace
+
+} // end anonymous namespace
void MDFieldPrinter::printTag(const DINode *N) {
Out << FS << "tag: ";
@@ -1518,7 +1564,6 @@ void MDFieldPrinter::printEmissionKind(StringRef Name,
Out << FS << Name << ": " << DICompileUnit::EmissionKindString(EK);
}
-
template <class IntTy, class Stringifier>
void MDFieldPrinter::printDwarfEnum(StringRef Name, IntTy Value,
Stringifier toString, bool ShouldSkipZero) {
@@ -1923,7 +1968,6 @@ static void writeDIImportedEntity(raw_ostream &Out, const DIImportedEntity *N,
Out << ")";
}
-
static void WriteMDNodeBodyInternal(raw_ostream &Out, const MDNode *Node,
TypePrinting *TypePrinter,
SlotTracker *Machine,
@@ -2062,6 +2106,7 @@ static void WriteAsOperandInternal(raw_ostream &Out, const Metadata *MD,
}
namespace {
+
class AssemblyWriter {
formatted_raw_ostream &Out;
const Module *TheModule;
@@ -2125,7 +2170,8 @@ private:
// intrinsic indicating base and derived pointer names.
void printGCRelocateComment(const GCRelocateInst &Relocate);
};
-} // namespace
+
+} // end anonymous namespace
AssemblyWriter::AssemblyWriter(formatted_raw_ostream &o, SlotTracker &Mac,
const Module *M, AssemblyAnnotationWriter *AAW,
@@ -2594,7 +2640,6 @@ void AssemblyWriter::printTypeIdentities() {
}
/// printFunction - Print all aspects of a function.
-///
void AssemblyWriter::printFunction(const Function *F) {
// Print out the return type and name.
Out << '\n';
@@ -2730,7 +2775,6 @@ void AssemblyWriter::printFunction(const Function *F) {
/// printArgument - This member is called for every argument that is passed into
/// the function. Simply print it out
-///
void AssemblyWriter::printArgument(const Argument *Arg, AttributeSet Attrs) {
// Output type...
TypePrinter.print(Arg->getType(), Out);
@@ -2747,7 +2791,6 @@ void AssemblyWriter::printArgument(const Argument *Arg, AttributeSet Attrs) {
}
/// printBasicBlock - This member is called for each basic block in a method.
-///
void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
if (BB->hasName()) { // Print out the label if it exists...
Out << "\n";
@@ -2813,7 +2856,6 @@ void AssemblyWriter::printGCRelocateComment(const GCRelocateInst &Relocate) {
/// printInfoComment - Print a little comment after the instruction indicating
/// which slot it occupies.
-///
void AssemblyWriter::printInfoComment(const Value &V) {
if (const auto *Relocate = dyn_cast<GCRelocateInst>(&V))
printGCRelocateComment(*Relocate);
@@ -3046,7 +3088,6 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
Out << " #" << Machine.getAttributeGroupSlot(PAL.getFnAttributes());
writeOperandBundles(CI);
-
} else if (const InvokeInst *II = dyn_cast<InvokeInst>(&I)) {
Operand = II->getCalledValue();
FunctionType *FTy = II->getFunctionType();
@@ -3087,7 +3128,6 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
writeOperand(II->getNormalDest(), true);
Out << " unwind ";
writeOperand(II->getUnwindDest(), true);
-
} else if (const AllocaInst *AI = dyn_cast<AllocaInst>(&I)) {
Out << ' ';
if (AI->isUsedWithInAlloca())
@@ -3113,7 +3153,6 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
if (AddrSpace != 0) {
Out << ", addrspace(" << AddrSpace << ')';
}
-
} else if (isa<CastInst>(I)) {
if (Operand) {
Out << ' ';
diff --git a/lib/IR/AttributeImpl.h b/lib/IR/AttributeImpl.h
index 4ed7b021883d..9c7b61f67923 100644
--- a/lib/IR/AttributeImpl.h
+++ b/lib/IR/AttributeImpl.h
@@ -100,6 +100,7 @@ public:
class EnumAttributeImpl : public AttributeImpl {
virtual void anchor();
+
Attribute::AttrKind Kind;
protected:
@@ -133,6 +134,7 @@ public:
class StringAttributeImpl : public AttributeImpl {
virtual void anchor();
+
std::string Kind;
std::string Val;
@@ -243,7 +245,8 @@ public:
return AvailableFunctionAttrs & ((uint64_t)1) << Kind;
}
- typedef const AttributeSet *iterator;
+ using iterator = const AttributeSet *;
+
iterator begin() const { return getTrailingObjects<AttributeSet>(); }
iterator end() const { return begin() + NumAttrSets; }
diff --git a/lib/IR/Attributes.cpp b/lib/IR/Attributes.cpp
index a518f7b5c81a..8f2e641d64b9 100644
--- a/lib/IR/Attributes.cpp
+++ b/lib/IR/Attributes.cpp
@@ -1638,6 +1638,39 @@ static void adjustCallerSSPLevel(Function &Caller, const Function &Callee) {
Caller.addFnAttr(Attribute::StackProtect);
}
+/// \brief If the inlined function required stack probes, then ensure that
+/// the calling function has those too.
+static void adjustCallerStackProbes(Function &Caller, const Function &Callee) {
+ if (!Caller.hasFnAttribute("probe-stack") &&
+ Callee.hasFnAttribute("probe-stack")) {
+ Caller.addFnAttr(Callee.getFnAttribute("probe-stack"));
+ }
+}
+
+/// \brief If the inlined function defines the size of guard region
+/// on the stack, then ensure that the calling function defines a guard region
+/// that is no larger.
+static void
+adjustCallerStackProbeSize(Function &Caller, const Function &Callee) {
+ if (Callee.hasFnAttribute("stack-probe-size")) {
+ uint64_t CalleeStackProbeSize;
+ Callee.getFnAttribute("stack-probe-size")
+ .getValueAsString()
+ .getAsInteger(0, CalleeStackProbeSize);
+ if (Caller.hasFnAttribute("stack-probe-size")) {
+ uint64_t CallerStackProbeSize;
+ Caller.getFnAttribute("stack-probe-size")
+ .getValueAsString()
+ .getAsInteger(0, CallerStackProbeSize);
+ if (CallerStackProbeSize > CalleeStackProbeSize) {
+ Caller.addFnAttr(Callee.getFnAttribute("stack-probe-size"));
+ }
+ } else {
+ Caller.addFnAttr(Callee.getFnAttribute("stack-probe-size"));
+ }
+ }
+}
+
#define GET_ATTR_COMPAT_FUNC
#include "AttributesCompatFunc.inc"
diff --git a/lib/IR/AutoUpgrade.cpp b/lib/IR/AutoUpgrade.cpp
index 06934b365a11..6a4b8032ffd5 100644
--- a/lib/IR/AutoUpgrade.cpp
+++ b/lib/IR/AutoUpgrade.cpp
@@ -142,6 +142,11 @@ static bool ShouldUpgradeX86Intrinsic(Function *F, StringRef Name) {
Name.startswith("avx512.mask.packssdw.") || // Added in 5.0
Name.startswith("avx512.mask.packuswb.") || // Added in 5.0
Name.startswith("avx512.mask.packusdw.") || // Added in 5.0
+ Name.startswith("avx512.mask.cmp.b") || // Added in 5.0
+ Name.startswith("avx512.mask.cmp.d") || // Added in 5.0
+ Name.startswith("avx512.mask.cmp.q") || // Added in 5.0
+ Name.startswith("avx512.mask.cmp.w") || // Added in 5.0
+ Name.startswith("avx512.mask.ucmp.") || // Added in 5.0
Name == "avx512.mask.add.pd.128" || // Added in 4.0
Name == "avx512.mask.add.pd.256" || // Added in 4.0
Name == "avx512.mask.add.ps.128" || // Added in 4.0
@@ -783,12 +788,30 @@ static Value *upgradeIntMinMax(IRBuilder<> &Builder, CallInst &CI,
}
static Value *upgradeMaskedCompare(IRBuilder<> &Builder, CallInst &CI,
- ICmpInst::Predicate Pred) {
+ unsigned CC, bool Signed) {
Value *Op0 = CI.getArgOperand(0);
unsigned NumElts = Op0->getType()->getVectorNumElements();
- Value *Cmp = Builder.CreateICmp(Pred, Op0, CI.getArgOperand(1));
- Value *Mask = CI.getArgOperand(2);
+ Value *Cmp;
+ if (CC == 3) {
+ Cmp = Constant::getNullValue(llvm::VectorType::get(Builder.getInt1Ty(), NumElts));
+ } else if (CC == 7) {
+ Cmp = Constant::getAllOnesValue(llvm::VectorType::get(Builder.getInt1Ty(), NumElts));
+ } else {
+ ICmpInst::Predicate Pred;
+ switch (CC) {
+ default: llvm_unreachable("Unknown condition code");
+ case 0: Pred = ICmpInst::ICMP_EQ; break;
+ case 1: Pred = Signed ? ICmpInst::ICMP_SLT : ICmpInst::ICMP_ULT; break;
+ case 2: Pred = Signed ? ICmpInst::ICMP_SLE : ICmpInst::ICMP_ULE; break;
+ case 4: Pred = ICmpInst::ICMP_NE; break;
+ case 5: Pred = Signed ? ICmpInst::ICMP_SGE : ICmpInst::ICMP_UGE; break;
+ case 6: Pred = Signed ? ICmpInst::ICMP_SGT : ICmpInst::ICMP_UGT; break;
+ }
+ Cmp = Builder.CreateICmp(Pred, Op0, CI.getArgOperand(1));
+ }
+
+ Value *Mask = CI.getArgOperand(CI.getNumArgOperands() - 1);
const auto *C = dyn_cast<Constant>(Mask);
if (!C || !C->isAllOnesValue())
Cmp = Builder.CreateAnd(Cmp, getX86MaskVec(Builder, Mask, NumElts));
@@ -1007,9 +1030,13 @@ void llvm::UpgradeIntrinsicCall(CallInst *CI, Function *NewFn) {
} else if (IsX86 && Name.startswith("avx512.mask.pcmp")) {
// "avx512.mask.pcmpeq." or "avx512.mask.pcmpgt."
bool CmpEq = Name[16] == 'e';
- Rep = upgradeMaskedCompare(Builder, *CI,
- CmpEq ? ICmpInst::ICMP_EQ
- : ICmpInst::ICMP_SGT);
+ Rep = upgradeMaskedCompare(Builder, *CI, CmpEq ? 0 : 6, true);
+ } else if (IsX86 && Name.startswith("avx512.mask.cmp")) {
+ unsigned Imm = cast<ConstantInt>(CI->getArgOperand(2))->getZExtValue();
+ Rep = upgradeMaskedCompare(Builder, *CI, Imm, true);
+ } else if (IsX86 && Name.startswith("avx512.mask.ucmp")) {
+ unsigned Imm = cast<ConstantInt>(CI->getArgOperand(2))->getZExtValue();
+ Rep = upgradeMaskedCompare(Builder, *CI, Imm, false);
} else if (IsX86 && (Name == "sse41.pmaxsb" ||
Name == "sse2.pmaxs.w" ||
Name == "sse41.pmaxsd" ||
diff --git a/lib/IR/BasicBlock.cpp b/lib/IR/BasicBlock.cpp
index 1f8659d4e2ca..2b780adf6c69 100644
--- a/lib/IR/BasicBlock.cpp
+++ b/lib/IR/BasicBlock.cpp
@@ -355,6 +355,19 @@ bool BasicBlock::canSplitPredecessors() const {
return true;
}
+bool BasicBlock::isLegalToHoistInto() const {
+ auto *Term = getTerminator();
+ // No terminator means the block is under construction.
+ if (!Term)
+ return true;
+
+ // If the block has no successors, there can be no instructions to hoist.
+ assert(Term->getNumSuccessors() > 0);
+
+ // Instructions should not be hoisted across exception handling boundaries.
+ return !Term->isExceptional();
+}
+
/// This splits a basic block into two at the specified
/// instruction. Note that all instructions BEFORE the specified iterator stay
/// as part of the original basic block, an unconditional branch is added to
diff --git a/lib/IR/ConstantRange.cpp b/lib/IR/ConstantRange.cpp
index 21d1996ef851..4bd17257016d 100644
--- a/lib/IR/ConstantRange.cpp
+++ b/lib/IR/ConstantRange.cpp
@@ -1,4 +1,4 @@
-//===-- ConstantRange.cpp - ConstantRange implementation ------------------===//
+//===- ConstantRange.cpp - ConstantRange implementation -------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -21,12 +21,21 @@
//
//===----------------------------------------------------------------------===//
+#include "llvm/ADT/APInt.h"
#include "llvm/IR/ConstantRange.h"
+#include "llvm/IR/Constants.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
+#include "llvm/IR/Metadata.h"
#include "llvm/IR/Operator.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+
using namespace llvm;
ConstantRange::ConstantRange(uint32_t BitWidth, bool Full)
@@ -170,7 +179,7 @@ ConstantRange
ConstantRange::makeGuaranteedNoWrapRegion(Instruction::BinaryOps BinOp,
const ConstantRange &Other,
unsigned NoWrapKind) {
- typedef OverflowingBinaryOperator OBO;
+ using OBO = OverflowingBinaryOperator;
// Computes the intersection of CR0 and CR1. It is different from
// intersectWith in that the ConstantRange returned will only contain elements
@@ -284,27 +293,14 @@ APInt ConstantRange::getUnsignedMin() const {
}
APInt ConstantRange::getSignedMax() const {
- if (!isWrappedSet()) {
- APInt UpperMinusOne = getUpper() - 1;
- if (getLower().sle(UpperMinusOne))
- return UpperMinusOne;
- return APInt::getSignedMaxValue(getBitWidth());
- }
- if (getLower().isNegative() == getUpper().isNegative())
+ if (isFullSet() || Lower.sgt(Upper))
return APInt::getSignedMaxValue(getBitWidth());
return getUpper() - 1;
}
APInt ConstantRange::getSignedMin() const {
- if (!isWrappedSet()) {
- if (getLower().sle(getUpper() - 1))
- return getLower();
+ if (isFullSet() || (Lower.sgt(Upper) && !getUpper().isMinSignedValue()))
return APInt::getSignedMinValue(getBitWidth());
- }
- if ((getUpper() - 1).slt(getLower())) {
- if (!getUpper().isMinSignedValue())
- return APInt::getSignedMinValue(getBitWidth());
- }
return getLower();
}
diff --git a/lib/IR/Instructions.cpp b/lib/IR/Instructions.cpp
index 023a0b178a14..a79b00be4ffe 100644
--- a/lib/IR/Instructions.cpp
+++ b/lib/IR/Instructions.cpp
@@ -1995,8 +1995,8 @@ BinaryOperator::BinaryOperator(BinaryOps iType, Value *S1, Value *S2,
InsertBefore) {
Op<0>() = S1;
Op<1>() = S2;
- init(iType);
setName(Name);
+ AssertOK();
}
BinaryOperator::BinaryOperator(BinaryOps iType, Value *S1, Value *S2,
@@ -2008,17 +2008,17 @@ BinaryOperator::BinaryOperator(BinaryOps iType, Value *S1, Value *S2,
InsertAtEnd) {
Op<0>() = S1;
Op<1>() = S2;
- init(iType);
setName(Name);
+ AssertOK();
}
-void BinaryOperator::init(BinaryOps iType) {
+void BinaryOperator::AssertOK() {
Value *LHS = getOperand(0), *RHS = getOperand(1);
(void)LHS; (void)RHS; // Silence warnings.
assert(LHS->getType() == RHS->getType() &&
"Binary operator operand types must match!");
#ifndef NDEBUG
- switch (iType) {
+ switch (getOpcode()) {
case Add: case Sub:
case Mul:
assert(getType() == LHS->getType() &&
@@ -2038,8 +2038,7 @@ void BinaryOperator::init(BinaryOps iType) {
case SDiv:
assert(getType() == LHS->getType() &&
"Arithmetic operation should return same type as operands!");
- assert((getType()->isIntegerTy() || (getType()->isVectorTy() &&
- cast<VectorType>(getType())->getElementType()->isIntegerTy())) &&
+ assert(getType()->isIntOrIntVectorTy() &&
"Incorrect operand type (not integer) for S/UDIV");
break;
case FDiv:
@@ -2052,8 +2051,7 @@ void BinaryOperator::init(BinaryOps iType) {
case SRem:
assert(getType() == LHS->getType() &&
"Arithmetic operation should return same type as operands!");
- assert((getType()->isIntegerTy() || (getType()->isVectorTy() &&
- cast<VectorType>(getType())->getElementType()->isIntegerTy())) &&
+ assert(getType()->isIntOrIntVectorTy() &&
"Incorrect operand type (not integer) for S/UREM");
break;
case FRem:
@@ -2067,22 +2065,17 @@ void BinaryOperator::init(BinaryOps iType) {
case AShr:
assert(getType() == LHS->getType() &&
"Shift operation should return same type as operands!");
- assert((getType()->isIntegerTy() ||
- (getType()->isVectorTy() &&
- cast<VectorType>(getType())->getElementType()->isIntegerTy())) &&
+ assert(getType()->isIntOrIntVectorTy() &&
"Tried to create a shift operation on a non-integral type!");
break;
case And: case Or:
case Xor:
assert(getType() == LHS->getType() &&
"Logical operation should return same type as operands!");
- assert((getType()->isIntegerTy() ||
- (getType()->isVectorTy() &&
- cast<VectorType>(getType())->getElementType()->isIntegerTy())) &&
+ assert(getType()->isIntOrIntVectorTy() &&
"Tried to create a logical operation on a non-integral type!");
break;
- default:
- break;
+ default: llvm_unreachable("Invalid opcode provided");
}
#endif
}
diff --git a/lib/IR/LLVMContextImpl.cpp b/lib/IR/LLVMContextImpl.cpp
index 4a30d28c3913..c19e1be44fdc 100644
--- a/lib/IR/LLVMContextImpl.cpp
+++ b/lib/IR/LLVMContextImpl.cpp
@@ -1,4 +1,4 @@
-//===-- LLVMContextImpl.cpp - Implement LLVMContextImpl -------------------===//
+//===- LLVMContextImpl.cpp - Implement LLVMContextImpl --------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -12,18 +12,17 @@
//===----------------------------------------------------------------------===//
#include "LLVMContextImpl.h"
-#include "llvm/ADT/STLExtras.h"
-#include "llvm/IR/Attributes.h"
-#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/OptBisect.h"
+#include "llvm/IR/Type.h"
#include "llvm/Support/ManagedStatic.h"
-#include <algorithm>
+#include <cassert>
+#include <utility>
+
using namespace llvm;
LLVMContextImpl::LLVMContextImpl(LLVMContext &C)
- : TheTrueVal(nullptr), TheFalseVal(nullptr),
- VoidTy(C, Type::VoidTyID),
+ : VoidTy(C, Type::VoidTyID),
LabelTy(C, Type::LabelTyID),
HalfTy(C, Type::HalfTyID),
FloatTy(C, Type::FloatTyID),
@@ -39,17 +38,7 @@ LLVMContextImpl::LLVMContextImpl(LLVMContext &C)
Int16Ty(C, 16),
Int32Ty(C, 32),
Int64Ty(C, 64),
- Int128Ty(C, 128) {
- InlineAsmDiagHandler = nullptr;
- InlineAsmDiagContext = nullptr;
- DiagnosticHandler = nullptr;
- DiagnosticContext = nullptr;
- RespectDiagnosticFilters = false;
- DiagnosticHotnessRequested = false;
- YieldCallback = nullptr;
- YieldOpaqueHandle = nullptr;
- NamedStructTypesUniqueID = 0;
-}
+ Int128Ty(C, 128) {}
LLVMContextImpl::~LLVMContextImpl() {
// NOTE: We need to delete the contents of OwnedModules, but Module's dtor
@@ -156,7 +145,6 @@ void LLVMContextImpl::dropTriviallyDeadConstantArrays() {
C->destroyConstant();
}
}
-
} while (Changed);
}
@@ -165,6 +153,7 @@ void Module::dropTriviallyDeadConstantArrays() {
}
namespace llvm {
+
/// \brief Make MDOperand transparent for hashing.
///
/// This overload of an implementation detail of the hashing library makes
@@ -179,7 +168,8 @@ namespace llvm {
/// does not cause MDOperand to be transparent. In particular, a bare pointer
/// doesn't get hashed before it's combined, whereas \a MDOperand would.
static const Metadata *get_hashable_data(const MDOperand &X) { return X.get(); }
-}
+
+} // end namespace llvm
unsigned MDNodeOpsKey::calculateHash(MDNode *N, unsigned Offset) {
unsigned Hash = hash_combine_range(N->op_begin() + Offset, N->op_end());
diff --git a/lib/IR/LLVMContextImpl.h b/lib/IR/LLVMContextImpl.h
index 4ba974409a4f..4147f71ad9d2 100644
--- a/lib/IR/LLVMContextImpl.h
+++ b/lib/IR/LLVMContextImpl.h
@@ -1,4 +1,4 @@
-//===-- LLVMContextImpl.h - The LLVMContextImpl opaque class ----*- C++ -*-===//
+//===- LLVMContextImpl.h - The LLVMContextImpl opaque class -----*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -21,11 +21,16 @@
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/Hashing.h"
+#include "llvm/ADT/Optional.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
+#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/IR/Constants.h"
@@ -33,21 +38,26 @@
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Metadata.h"
-#include "llvm/IR/ValueHandle.h"
+#include "llvm/IR/TrackingMDRef.h"
+#include "llvm/Support/Allocator.h"
+#include "llvm/Support/Casting.h"
#include "llvm/Support/YAMLTraits.h"
+#include <algorithm>
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <memory>
+#include <string>
+#include <utility>
#include <vector>
namespace llvm {
-class ConstantInt;
class ConstantFP;
-class DiagnosticInfoOptimizationRemark;
-class DiagnosticInfoOptimizationRemarkMissed;
-class DiagnosticInfoOptimizationRemarkAnalysis;
-class GCStrategy;
-class LLVMContext;
+class ConstantInt;
class Type;
class Value;
+class ValueHandleBase;
struct DenseMapAPIntKeyInfo {
static inline APInt getEmptyKey() {
@@ -55,14 +65,17 @@ struct DenseMapAPIntKeyInfo {
V.U.VAL = 0;
return V;
}
+
static inline APInt getTombstoneKey() {
APInt V(nullptr, 0);
V.U.VAL = 1;
return V;
}
+
static unsigned getHashValue(const APInt &Key) {
return static_cast<unsigned>(hash_value(Key));
}
+
static bool isEqual(const APInt &LHS, const APInt &RHS) {
return LHS.getBitWidth() == RHS.getBitWidth() && LHS == RHS;
}
@@ -71,9 +84,11 @@ struct DenseMapAPIntKeyInfo {
struct DenseMapAPFloatKeyInfo {
static inline APFloat getEmptyKey() { return APFloat(APFloat::Bogus(), 1); }
static inline APFloat getTombstoneKey() { return APFloat(APFloat::Bogus(), 2); }
+
static unsigned getHashValue(const APFloat &Key) {
return static_cast<unsigned>(hash_value(Key));
}
+
static bool isEqual(const APFloat &LHS, const APFloat &RHS) {
return LHS.bitwiseIsEqual(RHS);
}
@@ -83,10 +98,13 @@ struct AnonStructTypeKeyInfo {
struct KeyTy {
ArrayRef<Type*> ETypes;
bool isPacked;
+
KeyTy(const ArrayRef<Type*>& E, bool P) :
ETypes(E), isPacked(P) {}
+
KeyTy(const StructType *ST)
: ETypes(ST->elements()), isPacked(ST->isPacked()) {}
+
bool operator==(const KeyTy& that) const {
if (isPacked != that.isPacked)
return false;
@@ -98,25 +116,31 @@ struct AnonStructTypeKeyInfo {
return !this->operator==(that);
}
};
+
static inline StructType* getEmptyKey() {
return DenseMapInfo<StructType*>::getEmptyKey();
}
+
static inline StructType* getTombstoneKey() {
return DenseMapInfo<StructType*>::getTombstoneKey();
}
+
static unsigned getHashValue(const KeyTy& Key) {
return hash_combine(hash_combine_range(Key.ETypes.begin(),
Key.ETypes.end()),
Key.isPacked);
}
+
static unsigned getHashValue(const StructType *ST) {
return getHashValue(KeyTy(ST));
}
+
static bool isEqual(const KeyTy& LHS, const StructType *RHS) {
if (RHS == getEmptyKey() || RHS == getTombstoneKey())
return false;
return LHS == KeyTy(RHS);
}
+
static bool isEqual(const StructType *LHS, const StructType *RHS) {
return LHS == RHS;
}
@@ -127,11 +151,13 @@ struct FunctionTypeKeyInfo {
const Type *ReturnType;
ArrayRef<Type*> Params;
bool isVarArg;
+
KeyTy(const Type* R, const ArrayRef<Type*>& P, bool V) :
ReturnType(R), Params(P), isVarArg(V) {}
KeyTy(const FunctionType *FT)
: ReturnType(FT->getReturnType()), Params(FT->params()),
isVarArg(FT->isVarArg()) {}
+
bool operator==(const KeyTy& that) const {
if (ReturnType != that.ReturnType)
return false;
@@ -145,26 +171,32 @@ struct FunctionTypeKeyInfo {
return !this->operator==(that);
}
};
+
static inline FunctionType* getEmptyKey() {
return DenseMapInfo<FunctionType*>::getEmptyKey();
}
+
static inline FunctionType* getTombstoneKey() {
return DenseMapInfo<FunctionType*>::getTombstoneKey();
}
+
static unsigned getHashValue(const KeyTy& Key) {
return hash_combine(Key.ReturnType,
hash_combine_range(Key.Params.begin(),
Key.Params.end()),
Key.isVarArg);
}
+
static unsigned getHashValue(const FunctionType *FT) {
return getHashValue(KeyTy(FT));
}
+
static bool isEqual(const KeyTy& LHS, const FunctionType *RHS) {
if (RHS == getEmptyKey() || RHS == getTombstoneKey())
return false;
return LHS == KeyTy(RHS);
}
+
static bool isEqual(const FunctionType *LHS, const FunctionType *RHS) {
return LHS == RHS;
}
@@ -174,7 +206,6 @@ struct FunctionTypeKeyInfo {
class MDNodeOpsKey {
ArrayRef<Metadata *> RawOps;
ArrayRef<MDOperand> Ops;
-
unsigned Hash;
protected:
@@ -212,14 +243,15 @@ public:
};
template <class NodeTy> struct MDNodeKeyImpl;
-template <class NodeTy> struct MDNodeInfo;
/// Configuration point for MDNodeInfo::isEqual().
template <class NodeTy> struct MDNodeSubsetEqualImpl {
- typedef MDNodeKeyImpl<NodeTy> KeyTy;
+ using KeyTy = MDNodeKeyImpl<NodeTy>;
+
static bool isSubsetEqual(const KeyTy &LHS, const NodeTy *RHS) {
return false;
}
+
static bool isSubsetEqual(const NodeTy *LHS, const NodeTy *RHS) {
return false;
}
@@ -252,7 +284,6 @@ template <> struct MDNodeKeyImpl<DILocation> {
MDNodeKeyImpl(unsigned Line, unsigned Column, Metadata *Scope,
Metadata *InlinedAt)
: Line(Line), Column(Column), Scope(Scope), InlinedAt(InlinedAt) {}
-
MDNodeKeyImpl(const DILocation *L)
: Line(L->getLine()), Column(L->getColumn()), Scope(L->getRawScope()),
InlinedAt(L->getRawInlinedAt()) {}
@@ -261,6 +292,7 @@ template <> struct MDNodeKeyImpl<DILocation> {
return Line == RHS->getLine() && Column == RHS->getColumn() &&
Scope == RHS->getRawScope() && InlinedAt == RHS->getRawInlinedAt();
}
+
unsigned getHashValue() const {
return hash_combine(Line, Column, Scope, InlinedAt);
}
@@ -270,6 +302,7 @@ template <> struct MDNodeKeyImpl<DILocation> {
template <> struct MDNodeKeyImpl<GenericDINode> : MDNodeOpsKey {
unsigned Tag;
MDString *Header;
+
MDNodeKeyImpl(unsigned Tag, MDString *Header, ArrayRef<Metadata *> DwarfOps)
: MDNodeOpsKey(DwarfOps), Tag(Tag), Header(Header) {}
MDNodeKeyImpl(const GenericDINode *N)
@@ -299,6 +332,7 @@ template <> struct MDNodeKeyImpl<DISubrange> {
bool isKeyOf(const DISubrange *RHS) const {
return Count == RHS->getCount() && LowerBound == RHS->getLowerBound();
}
+
unsigned getHashValue() const { return hash_combine(Count, LowerBound); }
};
@@ -313,6 +347,7 @@ template <> struct MDNodeKeyImpl<DIEnumerator> {
bool isKeyOf(const DIEnumerator *RHS) const {
return Value == RHS->getValue() && Name == RHS->getRawName();
}
+
unsigned getHashValue() const { return hash_combine(Value, Name); }
};
@@ -337,6 +372,7 @@ template <> struct MDNodeKeyImpl<DIBasicType> {
AlignInBits == RHS->getAlignInBits() &&
Encoding == RHS->getEncoding();
}
+
unsigned getHashValue() const {
return hash_combine(Tag, Name, SizeInBits, AlignInBits, Encoding);
}
@@ -384,6 +420,7 @@ template <> struct MDNodeKeyImpl<DIDerivedType> {
Flags == RHS->getFlags() &&
ExtraData == RHS->getRawExtraData();
}
+
unsigned getHashValue() const {
// If this is a member inside an ODR type, only hash the type and the name.
// Otherwise the hash will be stronger than
@@ -402,10 +439,12 @@ template <> struct MDNodeKeyImpl<DIDerivedType> {
};
template <> struct MDNodeSubsetEqualImpl<DIDerivedType> {
- typedef MDNodeKeyImpl<DIDerivedType> KeyTy;
+ using KeyTy = MDNodeKeyImpl<DIDerivedType>;
+
static bool isSubsetEqual(const KeyTy &LHS, const DIDerivedType *RHS) {
return isODRMember(LHS.Tag, LHS.Scope, LHS.Name, RHS);
}
+
static bool isSubsetEqual(const DIDerivedType *LHS, const DIDerivedType *RHS) {
return isODRMember(LHS->getTag(), LHS->getRawScope(), LHS->getRawName(),
RHS);
@@ -480,6 +519,7 @@ template <> struct MDNodeKeyImpl<DICompositeType> {
TemplateParams == RHS->getRawTemplateParams() &&
Identifier == RHS->getRawIdentifier();
}
+
unsigned getHashValue() const {
// Intentionally computes the hash on a subset of the operands for
// performance reason. The subset has to be significant enough to avoid
@@ -504,6 +544,7 @@ template <> struct MDNodeKeyImpl<DISubroutineType> {
return Flags == RHS->getFlags() && CC == RHS->getCC() &&
TypeArray == RHS->getRawTypeArray();
}
+
unsigned getHashValue() const { return hash_combine(Flags, CC, TypeArray); }
};
@@ -527,6 +568,7 @@ template <> struct MDNodeKeyImpl<DIFile> {
CSKind == RHS->getChecksumKind() &&
Checksum == RHS->getRawChecksum();
}
+
unsigned getHashValue() const {
return hash_combine(Filename, Directory, CSKind, Checksum);
}
@@ -601,6 +643,7 @@ template <> struct MDNodeKeyImpl<DISubprogram> {
Variables == RHS->getRawVariables() &&
ThrownTypes == RHS->getRawThrownTypes();
}
+
unsigned getHashValue() const {
// If this is a declaration inside an ODR type, only hash the type and the
// name. Otherwise the hash will be stronger than
@@ -619,11 +662,13 @@ template <> struct MDNodeKeyImpl<DISubprogram> {
};
template <> struct MDNodeSubsetEqualImpl<DISubprogram> {
- typedef MDNodeKeyImpl<DISubprogram> KeyTy;
+ using KeyTy = MDNodeKeyImpl<DISubprogram>;
+
static bool isSubsetEqual(const KeyTy &LHS, const DISubprogram *RHS) {
return isDeclarationOfODRMember(LHS.IsDefinition, LHS.Scope,
LHS.LinkageName, LHS.TemplateParams, RHS);
}
+
static bool isSubsetEqual(const DISubprogram *LHS, const DISubprogram *RHS) {
return isDeclarationOfODRMember(LHS->isDefinition(), LHS->getRawScope(),
LHS->getRawLinkageName(),
@@ -672,6 +717,7 @@ template <> struct MDNodeKeyImpl<DILexicalBlock> {
return Scope == RHS->getRawScope() && File == RHS->getRawFile() &&
Line == RHS->getLine() && Column == RHS->getColumn();
}
+
unsigned getHashValue() const {
return hash_combine(Scope, File, Line, Column);
}
@@ -692,6 +738,7 @@ template <> struct MDNodeKeyImpl<DILexicalBlockFile> {
return Scope == RHS->getRawScope() && File == RHS->getRawFile() &&
Discriminator == RHS->getDiscriminator();
}
+
unsigned getHashValue() const {
return hash_combine(Scope, File, Discriminator);
}
@@ -712,6 +759,7 @@ template <> struct MDNodeKeyImpl<DINamespace> {
return Scope == RHS->getRawScope() && Name == RHS->getRawName() &&
ExportSymbols == RHS->getExportSymbols();
}
+
unsigned getHashValue() const {
return hash_combine(Scope, Name);
}
@@ -723,6 +771,7 @@ template <> struct MDNodeKeyImpl<DIModule> {
MDString *ConfigurationMacros;
MDString *IncludePath;
MDString *ISysRoot;
+
MDNodeKeyImpl(Metadata *Scope, MDString *Name, MDString *ConfigurationMacros,
MDString *IncludePath, MDString *ISysRoot)
: Scope(Scope), Name(Name), ConfigurationMacros(ConfigurationMacros),
@@ -738,6 +787,7 @@ template <> struct MDNodeKeyImpl<DIModule> {
IncludePath == RHS->getRawIncludePath() &&
ISysRoot == RHS->getRawISysRoot();
}
+
unsigned getHashValue() const {
return hash_combine(Scope, Name,
ConfigurationMacros, IncludePath, ISysRoot);
@@ -755,6 +805,7 @@ template <> struct MDNodeKeyImpl<DITemplateTypeParameter> {
bool isKeyOf(const DITemplateTypeParameter *RHS) const {
return Name == RHS->getRawName() && Type == RHS->getRawType();
}
+
unsigned getHashValue() const { return hash_combine(Name, Type); }
};
@@ -774,6 +825,7 @@ template <> struct MDNodeKeyImpl<DITemplateValueParameter> {
return Tag == RHS->getTag() && Name == RHS->getRawName() &&
Type == RHS->getRawType() && Value == RHS->getValue();
}
+
unsigned getHashValue() const { return hash_combine(Tag, Name, Type, Value); }
};
@@ -816,6 +868,7 @@ template <> struct MDNodeKeyImpl<DIGlobalVariable> {
RHS->getRawStaticDataMemberDeclaration() &&
AlignInBits == RHS->getAlignInBits();
}
+
unsigned getHashValue() const {
// We do not use AlignInBits in hashing function here on purpose:
// in most cases this param for local variable is zero (for function param
@@ -856,6 +909,7 @@ template <> struct MDNodeKeyImpl<DILocalVariable> {
Type == RHS->getRawType() && Arg == RHS->getArg() &&
Flags == RHS->getFlags() && AlignInBits == RHS->getAlignInBits();
}
+
unsigned getHashValue() const {
// We do not use AlignInBits in hashing function here on purpose:
// in most cases this param for local variable is zero (for function param
@@ -877,6 +931,7 @@ template <> struct MDNodeKeyImpl<DIExpression> {
bool isKeyOf(const DIExpression *RHS) const {
return Elements == RHS->getElements();
}
+
unsigned getHashValue() const {
return hash_combine_range(Elements.begin(), Elements.end());
}
@@ -895,6 +950,7 @@ template <> struct MDNodeKeyImpl<DIGlobalVariableExpression> {
return Variable == RHS->getRawVariable() &&
Expression == RHS->getRawExpression();
}
+
unsigned getHashValue() const { return hash_combine(Variable, Expression); }
};
@@ -923,6 +979,7 @@ template <> struct MDNodeKeyImpl<DIObjCProperty> {
SetterName == RHS->getRawSetterName() &&
Attributes == RHS->getAttributes() && Type == RHS->getRawType();
}
+
unsigned getHashValue() const {
return hash_combine(Name, File, Line, GetterName, SetterName, Attributes,
Type);
@@ -948,6 +1005,7 @@ template <> struct MDNodeKeyImpl<DIImportedEntity> {
Entity == RHS->getRawEntity() && Line == RHS->getLine() &&
Name == RHS->getRawName();
}
+
unsigned getHashValue() const {
return hash_combine(Tag, Scope, Entity, Line, Name);
}
@@ -969,6 +1027,7 @@ template <> struct MDNodeKeyImpl<DIMacro> {
return MIType == RHS->getMacinfoType() && Line == RHS->getLine() &&
Name == RHS->getRawName() && Value == RHS->getRawValue();
}
+
unsigned getHashValue() const {
return hash_combine(MIType, Line, Name, Value);
}
@@ -991,6 +1050,7 @@ template <> struct MDNodeKeyImpl<DIMacroFile> {
return MIType == RHS->getMacinfoType() && Line == RHS->getLine() &&
File == RHS->getRawFile() && Elements == RHS->getRawElements();
}
+
unsigned getHashValue() const {
return hash_combine(MIType, Line, File, Elements);
}
@@ -998,23 +1058,29 @@ template <> struct MDNodeKeyImpl<DIMacroFile> {
/// \brief DenseMapInfo for MDNode subclasses.
template <class NodeTy> struct MDNodeInfo {
- typedef MDNodeKeyImpl<NodeTy> KeyTy;
- typedef MDNodeSubsetEqualImpl<NodeTy> SubsetEqualTy;
+ using KeyTy = MDNodeKeyImpl<NodeTy>;
+ using SubsetEqualTy = MDNodeSubsetEqualImpl<NodeTy>;
+
static inline NodeTy *getEmptyKey() {
return DenseMapInfo<NodeTy *>::getEmptyKey();
}
+
static inline NodeTy *getTombstoneKey() {
return DenseMapInfo<NodeTy *>::getTombstoneKey();
}
+
static unsigned getHashValue(const KeyTy &Key) { return Key.getHashValue(); }
+
static unsigned getHashValue(const NodeTy *N) {
return KeyTy(N).getHashValue();
}
+
static bool isEqual(const KeyTy &LHS, const NodeTy *RHS) {
if (RHS == getEmptyKey() || RHS == getTombstoneKey())
return false;
return SubsetEqualTy::isSubsetEqual(LHS, RHS) || LHS.isKeyOf(RHS);
}
+
static bool isEqual(const NodeTy *LHS, const NodeTy *RHS) {
if (LHS == RHS)
return true;
@@ -1024,7 +1090,7 @@ template <class NodeTy> struct MDNodeInfo {
}
};
-#define HANDLE_MDNODE_LEAF(CLASS) typedef MDNodeInfo<CLASS> CLASS##Info;
+#define HANDLE_MDNODE_LEAF(CLASS) using CLASS##Info = MDNodeInfo<CLASS>;
#include "llvm/IR/Metadata.def"
/// \brief Map-like storage for metadata attachments.
@@ -1097,24 +1163,24 @@ public:
/// will be automatically deleted if this context is deleted.
SmallPtrSet<Module*, 4> OwnedModules;
- LLVMContext::InlineAsmDiagHandlerTy InlineAsmDiagHandler;
- void *InlineAsmDiagContext;
+ LLVMContext::InlineAsmDiagHandlerTy InlineAsmDiagHandler = nullptr;
+ void *InlineAsmDiagContext = nullptr;
- LLVMContext::DiagnosticHandlerTy DiagnosticHandler;
- void *DiagnosticContext;
- bool RespectDiagnosticFilters;
- bool DiagnosticHotnessRequested;
+ LLVMContext::DiagnosticHandlerTy DiagnosticHandler = nullptr;
+ void *DiagnosticContext = nullptr;
+ bool RespectDiagnosticFilters = false;
+ bool DiagnosticHotnessRequested = false;
std::unique_ptr<yaml::Output> DiagnosticsOutputFile;
- LLVMContext::YieldCallbackTy YieldCallback;
- void *YieldOpaqueHandle;
+ LLVMContext::YieldCallbackTy YieldCallback = nullptr;
+ void *YieldOpaqueHandle = nullptr;
- typedef DenseMap<APInt, std::unique_ptr<ConstantInt>, DenseMapAPIntKeyInfo>
- IntMapTy;
+ using IntMapTy =
+ DenseMap<APInt, std::unique_ptr<ConstantInt>, DenseMapAPIntKeyInfo>;
IntMapTy IntConstants;
- typedef DenseMap<APFloat, std::unique_ptr<ConstantFP>, DenseMapAPFloatKeyInfo>
- FPMapTy;
+ using FPMapTy =
+ DenseMap<APFloat, std::unique_ptr<ConstantFP>, DenseMapAPFloatKeyInfo>;
FPMapTy FPConstants;
FoldingSet<AttributeImpl> AttrsSet;
@@ -1142,13 +1208,13 @@ public:
DenseMap<Type *, std::unique_ptr<ConstantAggregateZero>> CAZConstants;
- typedef ConstantUniqueMap<ConstantArray> ArrayConstantsTy;
+ using ArrayConstantsTy = ConstantUniqueMap<ConstantArray>;
ArrayConstantsTy ArrayConstants;
- typedef ConstantUniqueMap<ConstantStruct> StructConstantsTy;
+ using StructConstantsTy = ConstantUniqueMap<ConstantStruct>;
StructConstantsTy StructConstants;
- typedef ConstantUniqueMap<ConstantVector> VectorConstantsTy;
+ using VectorConstantsTy = ConstantUniqueMap<ConstantVector>;
VectorConstantsTy VectorConstants;
DenseMap<PointerType *, std::unique_ptr<ConstantPointerNull>> CPNConstants;
@@ -1163,8 +1229,8 @@ public:
ConstantUniqueMap<InlineAsm> InlineAsms;
- ConstantInt *TheTrueVal;
- ConstantInt *TheFalseVal;
+ ConstantInt *TheTrueVal = nullptr;
+ ConstantInt *TheFalseVal = nullptr;
std::unique_ptr<ConstantTokenNone> TheNoneToken;
@@ -1172,7 +1238,6 @@ public:
Type VoidTy, LabelTy, HalfTy, FloatTy, DoubleTy, MetadataTy, TokenTy;
Type X86_FP80Ty, FP128Ty, PPC_FP128Ty, X86_MMXTy;
IntegerType Int1Ty, Int8Ty, Int16Ty, Int32Ty, Int64Ty, Int128Ty;
-
/// TypeAllocator - All dynamically allocated types are allocated from this.
/// They live forever until the context is torn down.
@@ -1180,23 +1245,22 @@ public:
DenseMap<unsigned, IntegerType*> IntegerTypes;
- typedef DenseSet<FunctionType *, FunctionTypeKeyInfo> FunctionTypeSet;
+ using FunctionTypeSet = DenseSet<FunctionType *, FunctionTypeKeyInfo>;
FunctionTypeSet FunctionTypes;
- typedef DenseSet<StructType *, AnonStructTypeKeyInfo> StructTypeSet;
+ using StructTypeSet = DenseSet<StructType *, AnonStructTypeKeyInfo>;
StructTypeSet AnonStructTypes;
StringMap<StructType*> NamedStructTypes;
- unsigned NamedStructTypesUniqueID;
+ unsigned NamedStructTypesUniqueID = 0;
DenseMap<std::pair<Type *, uint64_t>, ArrayType*> ArrayTypes;
DenseMap<std::pair<Type *, unsigned>, VectorType*> VectorTypes;
DenseMap<Type*, PointerType*> PointerTypes; // Pointers in AddrSpace = 0
DenseMap<std::pair<Type*, unsigned>, PointerType*> ASPointerTypes;
-
/// ValueHandles - This map keeps track of all of the value handles that are
/// watching a Value*. The Value::HasValueHandle bit is used to know
/// whether or not a value has an entry in this map.
- typedef DenseMap<Value*, ValueHandleBase*> ValueHandlesTy;
+ using ValueHandlesTy = DenseMap<Value *, ValueHandleBase *>;
ValueHandlesTy ValueHandles;
/// CustomMDKindNames - Map to hold the metadata string to ID mapping.
@@ -1254,6 +1318,6 @@ public:
OptBisect &getOptBisect();
};
-}
+} // end namespace llvm
-#endif
+#endif // LLVM_LIB_IR_LLVMCONTEXTIMPL_H
diff --git a/lib/IR/Metadata.cpp b/lib/IR/Metadata.cpp
index 92e5798dcf21..ac02ff76c843 100644
--- a/lib/IR/Metadata.cpp
+++ b/lib/IR/Metadata.cpp
@@ -11,7 +11,6 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/IR/Metadata.h"
#include "LLVMContextImpl.h"
#include "MetadataImpl.h"
#include "SymbolTableListTraitsImpl.h"
@@ -27,6 +26,7 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/Twine.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constant.h"
@@ -39,6 +39,7 @@
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/LLVMContext.h"
+#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/TrackingMDRef.h"
#include "llvm/IR/Type.h"
@@ -53,6 +54,7 @@
#include <cstdint>
#include <iterator>
#include <tuple>
+#include <type_traits>
#include <utility>
#include <vector>
@@ -233,7 +235,7 @@ void ReplaceableMetadataImpl::replaceAllUsesWith(Metadata *MD) {
return;
// Copy out uses since UseMap will get touched below.
- typedef std::pair<void *, std::pair<OwnerTy, uint64_t>> UseTy;
+ using UseTy = std::pair<void *, std::pair<OwnerTy, uint64_t>>;
SmallVector<UseTy, 8> Uses(UseMap.begin(), UseMap.end());
std::sort(Uses.begin(), Uses.end(), [](const UseTy &L, const UseTy &R) {
return L.second.second < R.second.second;
@@ -286,7 +288,7 @@ void ReplaceableMetadataImpl::resolveAllUses(bool ResolveUsers) {
}
// Copy out uses since UseMap could get touched below.
- typedef std::pair<void *, std::pair<OwnerTy, uint64_t>> UseTy;
+ using UseTy = std::pair<void *, std::pair<OwnerTy, uint64_t>>;
SmallVector<UseTy, 8> Uses(UseMap.begin(), UseMap.end());
std::sort(Uses.begin(), Uses.end(), [](const UseTy &L, const UseTy &R) {
return L.second.second < R.second.second;
@@ -758,8 +760,8 @@ static T *uniquifyImpl(T *N, DenseSet<T *, InfoT> &Store) {
}
template <class NodeTy> struct MDNode::HasCachedHash {
- typedef char Yes[1];
- typedef char No[2];
+ using Yes = char[1];
+ using No = char[2];
template <class U, U Val> struct SFINAE {};
template <class U>
@@ -1484,7 +1486,7 @@ void GlobalObject::addTypeMetadata(unsigned Offset, Metadata *TypeID) {
addMetadata(
LLVMContext::MD_type,
*MDTuple::get(getContext(),
- {ConstantAsMetadata::get(llvm::ConstantInt::get(
+ {ConstantAsMetadata::get(ConstantInt::get(
Type::getInt64Ty(getContext()), Offset)),
TypeID}));
}
diff --git a/lib/IR/Statepoint.cpp b/lib/IR/Statepoint.cpp
index 8c3f0f208cc6..18efee2177c3 100644
--- a/lib/IR/Statepoint.cpp
+++ b/lib/IR/Statepoint.cpp
@@ -44,10 +44,22 @@ bool llvm::isGCRelocate(ImmutableCallSite CS) {
return CS.getInstruction() && isa<GCRelocateInst>(CS.getInstruction());
}
+bool llvm::isGCRelocate(const Value *V) {
+ if (auto CS = ImmutableCallSite(V))
+ return isGCRelocate(CS);
+ return false;
+}
+
bool llvm::isGCResult(ImmutableCallSite CS) {
return CS.getInstruction() && isa<GCResultInst>(CS.getInstruction());
}
+bool llvm::isGCResult(const Value *V) {
+ if (auto CS = ImmutableCallSite(V))
+ return isGCResult(CS);
+ return false;
+}
+
bool llvm::isStatepointDirectiveAttr(Attribute Attr) {
return Attr.hasAttribute("statepoint-id") ||
Attr.hasAttribute("statepoint-num-patch-bytes");
diff --git a/lib/LTO/ThinLTOCodeGenerator.cpp b/lib/LTO/ThinLTOCodeGenerator.cpp
index e4094d44867b..1efd481b246c 100644
--- a/lib/LTO/ThinLTOCodeGenerator.cpp
+++ b/lib/LTO/ThinLTOCodeGenerator.cpp
@@ -32,7 +32,6 @@
#include "llvm/IR/Verifier.h"
#include "llvm/IRReader/IRReader.h"
#include "llvm/LTO/LTO.h"
-#include "llvm/Linker/Linker.h"
#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Object/IRObjectFile.h"
#include "llvm/Support/CachePruning.h"
diff --git a/lib/MC/CMakeLists.txt b/lib/MC/CMakeLists.txt
index a86fd383003d..562f136a3ce2 100644
--- a/lib/MC/CMakeLists.txt
+++ b/lib/MC/CMakeLists.txt
@@ -45,13 +45,13 @@ add_llvm_library(LLVMMC
MCWasmObjectTargetWriter.cpp
MCWasmStreamer.cpp
MCWin64EH.cpp
+ MCWinCOFFStreamer.cpp
MCWinEH.cpp
MachObjectWriter.cpp
StringTableBuilder.cpp
SubtargetFeature.cpp
WasmObjectWriter.cpp
WinCOFFObjectWriter.cpp
- WinCOFFStreamer.cpp
ADDITIONAL_HEADER_DIRS
${LLVM_MAIN_INCLUDE_DIR}/llvm/MC
diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp
index 4d139132df46..30f357826805 100644
--- a/lib/MC/ELFObjectWriter.cpp
+++ b/lib/MC/ELFObjectWriter.cpp
@@ -633,9 +633,6 @@ void ELFObjectWriter::recordRelocation(MCAssembler &Asm,
MCContext &Ctx = Asm.getContext();
if (const MCSymbolRefExpr *RefB = Target.getSymB()) {
- assert(RefB->getKind() == MCSymbolRefExpr::VK_None &&
- "Should not have constructed this");
-
// Let A, B and C being the components of Target and R be the location of
// the fixup. If the fixup is not pcrel, we want to compute (A - B + C).
// If it is pcrel, we want to compute (A - B + C - R).
diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp
index 53cdaac3aa54..92c5da0e9fef 100644
--- a/lib/MC/MCAssembler.cpp
+++ b/lib/MC/MCAssembler.cpp
@@ -193,14 +193,23 @@ bool MCAssembler::evaluateFixup(const MCAsmLayout &Layout,
// FIXME: This code has some duplication with recordRelocation. We should
// probably merge the two into a single callback that tries to evaluate a
// fixup and records a relocation if one is needed.
+
+ // On error claim to have completely evaluated the fixup, to prevent any
+ // further processing from being done.
const MCExpr *Expr = Fixup.getValue();
+ MCContext &Ctx = getContext();
+ Value = 0;
if (!Expr->evaluateAsRelocatable(Target, &Layout, &Fixup)) {
- getContext().reportError(Fixup.getLoc(), "expected relocatable expression");
- // Claim to have completely evaluated the fixup, to prevent any further
- // processing from being done.
- Value = 0;
+ Ctx.reportError(Fixup.getLoc(), "expected relocatable expression");
return true;
}
+ if (const MCSymbolRefExpr *RefB = Target.getSymB()) {
+ if (RefB->getKind() != MCSymbolRefExpr::VK_None) {
+ Ctx.reportError(Fixup.getLoc(),
+ "unsupported subtraction of qualified symbol");
+ return true;
+ }
+ }
bool IsPCRel = Backend.getFixupKindInfo(
Fixup.getKind()).Flags & MCFixupKindInfo::FKF_IsPCRel;
@@ -254,8 +263,7 @@ bool MCAssembler::evaluateFixup(const MCAsmLayout &Layout,
// Let the backend adjust the fixup value if necessary, including whether
// we need a relocation.
- Backend.processFixupValue(*this, Layout, Fixup, DF, Target, Value,
- IsResolved);
+ Backend.processFixupValue(*this, Fixup, Target, IsResolved);
return IsResolved;
}
@@ -639,9 +647,9 @@ void MCAssembler::writeSectionData(const MCSection *Sec,
Layout.getSectionAddressSize(Sec));
}
-std::pair<uint64_t, bool> MCAssembler::handleFixup(const MCAsmLayout &Layout,
- MCFragment &F,
- const MCFixup &Fixup) {
+std::tuple<MCValue, uint64_t, bool>
+MCAssembler::handleFixup(const MCAsmLayout &Layout, MCFragment &F,
+ const MCFixup &Fixup) {
// Evaluate the fixup.
MCValue Target;
uint64_t FixedValue;
@@ -654,7 +662,7 @@ std::pair<uint64_t, bool> MCAssembler::handleFixup(const MCAsmLayout &Layout,
getWriter().recordRelocation(*this, Layout, &F, Fixup, Target, IsPCRel,
FixedValue);
}
- return std::make_pair(FixedValue, IsPCRel);
+ return std::make_tuple(Target, FixedValue, IsPCRel);
}
void MCAssembler::layout(MCAsmLayout &Layout) {
@@ -731,9 +739,11 @@ void MCAssembler::layout(MCAsmLayout &Layout) {
for (const MCFixup &Fixup : Fixups) {
uint64_t FixedValue;
bool IsPCRel;
- std::tie(FixedValue, IsPCRel) = handleFixup(Layout, Frag, Fixup);
- getBackend().applyFixup(Fixup, Contents.data(), Contents.size(),
- FixedValue, IsPCRel, getContext());
+ MCValue Target;
+ std::tie(Target, FixedValue, IsPCRel) =
+ handleFixup(Layout, Frag, Fixup);
+ getBackend().applyFixup(*this, Fixup, Target, Contents, FixedValue,
+ IsPCRel);
}
}
}
diff --git a/lib/MC/MCFragment.cpp b/lib/MC/MCFragment.cpp
index f3d0eb55eecd..6e0249377a89 100644
--- a/lib/MC/MCFragment.cpp
+++ b/lib/MC/MCFragment.cpp
@@ -307,7 +307,7 @@ raw_ostream &operator<<(raw_ostream &OS, const MCFixup &AF) {
} // end namespace llvm
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
-LLVM_DUMP_METHOD void MCFragment::dump() {
+LLVM_DUMP_METHOD void MCFragment::dump() const {
raw_ostream &OS = errs();
OS << "<";
@@ -328,9 +328,9 @@ LLVM_DUMP_METHOD void MCFragment::dump() {
case MCFragment::FT_Dummy: OS << "MCDummyFragment"; break;
}
- OS << "<MCFragment " << (void*) this << " LayoutOrder:" << LayoutOrder
+ OS << "<MCFragment " << (const void*) this << " LayoutOrder:" << LayoutOrder
<< " Offset:" << Offset
- << " HasInstructions:" << hasInstructions()
+ << " HasInstructions:" << hasInstructions()
<< " BundlePadding:" << static_cast<unsigned>(getBundlePadding()) << ">";
switch (getKind()) {
@@ -382,7 +382,8 @@ LLVM_DUMP_METHOD void MCFragment::dump() {
}
case MCFragment::FT_Fill: {
const MCFillFragment *FF = cast<MCFillFragment>(this);
- OS << " Value:" << FF->getValue() << " Size:" << FF->getSize();
+ OS << " Value:" << static_cast<unsigned>(FF->getValue())
+ << " Size:" << FF->getSize();
break;
}
case MCFragment::FT_Relaxable: {
@@ -395,7 +396,8 @@ LLVM_DUMP_METHOD void MCFragment::dump() {
case MCFragment::FT_Org: {
const MCOrgFragment *OF = cast<MCOrgFragment>(this);
OS << "\n ";
- OS << " Offset:" << OF->getOffset() << " Value:" << OF->getValue();
+ OS << " Offset:" << OF->getOffset()
+ << " Value:" << static_cast<unsigned>(OF->getValue());
break;
}
case MCFragment::FT_Dwarf: {
@@ -445,19 +447,19 @@ LLVM_DUMP_METHOD void MCFragment::dump() {
OS << ">";
}
-LLVM_DUMP_METHOD void MCAssembler::dump() {
+LLVM_DUMP_METHOD void MCAssembler::dump() const{
raw_ostream &OS = errs();
OS << "<MCAssembler\n";
OS << " Sections:[\n ";
- for (iterator it = begin(), ie = end(); it != ie; ++it) {
+ for (const_iterator it = begin(), ie = end(); it != ie; ++it) {
if (it != begin()) OS << ",\n ";
it->dump();
}
OS << "],\n";
OS << " Symbols:[";
- for (symbol_iterator it = symbol_begin(), ie = symbol_end(); it != ie; ++it) {
+ for (const_symbol_iterator it = symbol_begin(), ie = symbol_end(); it != ie; ++it) {
if (it != symbol_begin()) OS << ",\n ";
OS << "(";
it->dump();
diff --git a/lib/MC/MCSection.cpp b/lib/MC/MCSection.cpp
index b961cb3968e8..d141dd6627c4 100644
--- a/lib/MC/MCSection.cpp
+++ b/lib/MC/MCSection.cpp
@@ -86,7 +86,7 @@ MCSection::getSubsectionInsertionPoint(unsigned Subsection) {
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
-LLVM_DUMP_METHOD void MCSection::dump() {
+LLVM_DUMP_METHOD void MCSection::dump() const {
raw_ostream &OS = errs();
OS << "<MCSection";
diff --git a/lib/MC/MCWasmStreamer.cpp b/lib/MC/MCWasmStreamer.cpp
index 59b62b8d37c3..02fa070f0c57 100644
--- a/lib/MC/MCWasmStreamer.cpp
+++ b/lib/MC/MCWasmStreamer.cpp
@@ -98,18 +98,30 @@ bool MCWasmStreamer::EmitSymbolAttribute(MCSymbol *S, MCSymbolAttr Attribute) {
case MCSA_WeakDefAutoPrivate:
case MCSA_Invalid:
case MCSA_IndirectSymbol:
+ case MCSA_Hidden:
return false;
+
+ case MCSA_Weak:
+ case MCSA_WeakReference:
+ Symbol->setWeak(true);
+ Symbol->setExternal(true);
+ break;
+
case MCSA_Global:
Symbol->setExternal(true);
break;
+
case MCSA_ELF_TypeFunction:
Symbol->setIsFunction(true);
break;
+
case MCSA_ELF_TypeObject:
Symbol->setIsFunction(false);
break;
+
default:
// unrecognized directive
+ llvm_unreachable("unexpected MCSymbolAttr");
return false;
}
diff --git a/lib/MC/WinCOFFStreamer.cpp b/lib/MC/MCWinCOFFStreamer.cpp
index b4d0d7a87f1d..bf341bb1f451 100644
--- a/lib/MC/WinCOFFStreamer.cpp
+++ b/lib/MC/MCWinCOFFStreamer.cpp
@@ -1,4 +1,4 @@
-//===- llvm/MC/WinCOFFStreamer.cpp ----------------------------------------===//
+//===- llvm/MC/MCWinCOFFStreamer.cpp --------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -190,7 +190,8 @@ void MCWinCOFFStreamer::EmitCOFFSafeSEH(MCSymbol const *Symbol) {
<< COFF::SCT_COMPLEX_TYPE_SHIFT);
}
-void MCWinCOFFStreamer::EmitCOFFSectionIndex(MCSymbol const *Symbol) {
+void MCWinCOFFStreamer::EmitCOFFSectionIndex(const MCSymbol *Symbol) {
+ visitUsedSymbol(*Symbol);
MCDataFragment *DF = getOrCreateDataFragment();
const MCSymbolRefExpr *SRE = MCSymbolRefExpr::create(Symbol, getContext());
MCFixup Fixup = MCFixup::create(DF->getContents().size(), SRE, FK_SecRel_2);
@@ -198,8 +199,9 @@ void MCWinCOFFStreamer::EmitCOFFSectionIndex(MCSymbol const *Symbol) {
DF->getContents().resize(DF->getContents().size() + 2, 0);
}
-void MCWinCOFFStreamer::EmitCOFFSecRel32(MCSymbol const *Symbol,
+void MCWinCOFFStreamer::EmitCOFFSecRel32(const MCSymbol *Symbol,
uint64_t Offset) {
+ visitUsedSymbol(*Symbol);
MCDataFragment *DF = getOrCreateDataFragment();
// Create Symbol A for the relocation relative reference.
const MCExpr *MCE = MCSymbolRefExpr::create(Symbol, getContext());
diff --git a/lib/MC/WasmObjectWriter.cpp b/lib/MC/WasmObjectWriter.cpp
index db304c027f99..45534ba18212 100644
--- a/lib/MC/WasmObjectWriter.cpp
+++ b/lib/MC/WasmObjectWriter.cpp
@@ -129,15 +129,15 @@ struct WasmGlobal {
// Information about a single relocation.
struct WasmRelocationEntry {
- uint64_t Offset; // Where is the relocation.
- const MCSymbolWasm *Symbol; // The symbol to relocate with.
- int64_t Addend; // A value to add to the symbol.
- unsigned Type; // The type of the relocation.
- MCSectionWasm *FixupSection;// The section the relocation is targeting.
+ uint64_t Offset; // Where is the relocation.
+ const MCSymbolWasm *Symbol; // The symbol to relocate with.
+ int64_t Addend; // A value to add to the symbol.
+ unsigned Type; // The type of the relocation.
+ const MCSectionWasm *FixupSection;// The section the relocation is targeting.
WasmRelocationEntry(uint64_t Offset, const MCSymbolWasm *Symbol,
int64_t Addend, unsigned Type,
- MCSectionWasm *FixupSection)
+ const MCSectionWasm *FixupSection)
: Offset(Offset), Symbol(Symbol), Addend(Addend), Type(Type),
FixupSection(FixupSection) {}
@@ -156,9 +156,19 @@ struct WasmRelocationEntry {
Out << "Off=" << Offset << ", Sym=" << Symbol << ", Addend=" << Addend
<< ", Type=" << Type << ", FixupSection=" << FixupSection;
}
- void dump() const { print(errs()); }
+
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
+ LLVM_DUMP_METHOD void dump() const { print(dbgs()); }
+#endif
};
+#if !defined(NDEBUG)
+raw_ostream &operator<<(raw_ostream &OS, const WasmRelocationEntry &Rel) {
+ Rel.print(OS);
+ return OS;
+}
+#endif
+
class WasmObjectWriter : public MCObjectWriter {
/// Helper struct for containing some precomputed information on symbols.
struct WasmSymbolData {
@@ -229,6 +239,11 @@ private:
void writeObject(MCAssembler &Asm, const MCAsmLayout &Layout) override;
+ void writeString(const StringRef Str) {
+ encodeULEB128(Str.size(), getStream());
+ writeBytes(Str);
+ }
+
void writeValueType(wasm::ValType Ty) {
encodeSLEB128(int32_t(Ty), getStream());
}
@@ -250,7 +265,8 @@ private:
uint32_t NumFuncImports);
void writeCodeRelocSection();
void writeDataRelocSection(uint64_t DataSectionHeaderSize);
- void writeLinkingMetaDataSection(bool HasStackPointer,
+ void writeLinkingMetaDataSection(ArrayRef<StringRef> WeakSymbols,
+ bool HasStackPointer,
uint32_t StackPointerGlobal);
void applyRelocations(ArrayRef<WasmRelocationEntry> Relocations,
@@ -282,6 +298,7 @@ void WasmObjectWriter::startSection(SectionBookkeeping &Section,
assert((Name != nullptr) == (SectionId == wasm::WASM_SEC_CUSTOM) &&
"Only custom sections can have names");
+ DEBUG(dbgs() << "startSection " << SectionId << ": " << Name << "\n");
encodeULEB128(SectionId, getStream());
Section.SizeOffset = getStream().tell();
@@ -295,8 +312,8 @@ void WasmObjectWriter::startSection(SectionBookkeeping &Section,
// Custom sections in wasm also have a string identifier.
if (SectionId == wasm::WASM_SEC_CUSTOM) {
- encodeULEB128(strlen(Name), getStream());
- writeBytes(Name);
+ assert(Name);
+ writeString(StringRef(Name));
}
}
@@ -307,6 +324,7 @@ void WasmObjectWriter::endSection(SectionBookkeeping &Section) {
if (uint32_t(Size) != Size)
report_fatal_error("section size does not fit in a uint32_t");
+ DEBUG(dbgs() << "endSection size=" << Size << "\n");
unsigned Padding = PaddingFor5ByteULEB128(Size);
// Write the final section size to the payload_len field, which follows
@@ -332,7 +350,7 @@ void WasmObjectWriter::recordRelocation(MCAssembler &Asm,
const MCFragment *Fragment,
const MCFixup &Fixup, MCValue Target,
bool &IsPCRel, uint64_t &FixedValue) {
- MCSectionWasm &FixupSection = cast<MCSectionWasm>(*Fragment->getParent());
+ const auto &FixupSection = cast<MCSectionWasm>(*Fragment->getParent());
uint64_t C = Target.getConstant();
uint64_t FixupOffset = Layout.getFragmentOffset(Fragment) + Fixup.getOffset();
MCContext &Ctx = Asm.getContext();
@@ -406,9 +424,12 @@ void WasmObjectWriter::recordRelocation(MCAssembler &Asm,
}
assert(!IsPCRel);
+ assert(SymA);
+
unsigned Type = getRelocType(Target, Fixup);
WasmRelocationEntry Rec(FixupOffset, SymA, C, Type, &FixupSection);
+ DEBUG(dbgs() << "WasmReloc: " << Rec << "\n");
if (FixupSection.hasInstructions())
CodeRelocations.push_back(Rec);
@@ -453,11 +474,10 @@ static uint32_t ProvisionalValue(const WasmRelocationEntry &RelEntry) {
const MCSymbolWasm *Sym = RelEntry.Symbol;
// For undefined symbols, use a hopefully invalid value.
- if (!Sym->isDefined(false))
+ if (!Sym->isDefined(/*SetUsed=*/false))
return UINT32_MAX;
- MCSectionWasm &Section =
- cast<MCSectionWasm>(RelEntry.Symbol->getSection(false));
+ const auto &Section = cast<MCSectionWasm>(RelEntry.Symbol->getSection(false));
uint64_t Address = Section.getSectionOffset() + RelEntry.Addend;
// Ignore overflow. LLVM allows address arithmetic to silently wrap.
@@ -471,16 +491,23 @@ uint32_t WasmObjectWriter::getRelocationIndexValue(
switch (RelEntry.Type) {
case wasm::R_WEBASSEMBLY_TABLE_INDEX_SLEB:
case wasm::R_WEBASSEMBLY_TABLE_INDEX_I32:
- assert(IndirectSymbolIndices.count(RelEntry.Symbol));
+ if (!IndirectSymbolIndices.count(RelEntry.Symbol))
+ report_fatal_error("symbol not found table index space:" +
+ RelEntry.Symbol->getName());
return IndirectSymbolIndices[RelEntry.Symbol];
case wasm::R_WEBASSEMBLY_FUNCTION_INDEX_LEB:
+ case wasm::R_WEBASSEMBLY_GLOBAL_INDEX_LEB:
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_LEB:
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_SLEB:
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_I32:
- assert(SymbolIndices.count(RelEntry.Symbol));
+ if (!SymbolIndices.count(RelEntry.Symbol))
+ report_fatal_error("symbol not found function/global index space:" +
+ RelEntry.Symbol->getName());
return SymbolIndices[RelEntry.Symbol];
case wasm::R_WEBASSEMBLY_TYPE_INDEX_LEB:
- assert(TypeIndices.count(RelEntry.Symbol));
+ if (!TypeIndices.count(RelEntry.Symbol))
+ report_fatal_error("symbol not found in type index space:" +
+ RelEntry.Symbol->getName());
return TypeIndices[RelEntry.Symbol];
default:
llvm_unreachable("invalid relocation type");
@@ -497,10 +524,12 @@ void WasmObjectWriter::applyRelocations(
RelEntry.FixupSection->getSectionOffset() +
RelEntry.Offset;
+ DEBUG(dbgs() << "applyRelocation: " << RelEntry << "\n");
switch (RelEntry.Type) {
case wasm::R_WEBASSEMBLY_TABLE_INDEX_SLEB:
case wasm::R_WEBASSEMBLY_FUNCTION_INDEX_LEB:
- case wasm::R_WEBASSEMBLY_TYPE_INDEX_LEB: {
+ case wasm::R_WEBASSEMBLY_TYPE_INDEX_LEB:
+ case wasm::R_WEBASSEMBLY_GLOBAL_INDEX_LEB: {
uint32_t Index = getRelocationIndexValue(RelEntry);
WritePatchableSLEB(Stream, Index, Offset);
break;
@@ -526,7 +555,7 @@ void WasmObjectWriter::applyRelocations(
break;
}
default:
- llvm_unreachable("unsupported relocation type");
+ llvm_unreachable("invalid relocation type");
}
}
}
@@ -573,6 +602,7 @@ void WasmObjectWriter::writeTypeSection(
endSection(Section);
}
+
void WasmObjectWriter::writeImportSection(
const SmallVector<WasmImport, 4> &Imports) {
if (Imports.empty())
@@ -583,13 +613,8 @@ void WasmObjectWriter::writeImportSection(
encodeULEB128(Imports.size(), getStream());
for (const WasmImport &Import : Imports) {
- StringRef ModuleName = Import.ModuleName;
- encodeULEB128(ModuleName.size(), getStream());
- writeBytes(ModuleName);
-
- StringRef FieldName = Import.FieldName;
- encodeULEB128(FieldName.size(), getStream());
- writeBytes(FieldName);
+ writeString(Import.ModuleName);
+ writeString(Import.FieldName);
encodeULEB128(Import.Kind, getStream());
@@ -697,11 +722,8 @@ void WasmObjectWriter::writeExportSection(
encodeULEB128(Exports.size(), getStream());
for (const WasmExport &Export : Exports) {
- encodeULEB128(Export.FieldName.size(), getStream());
- writeBytes(Export.FieldName);
-
+ writeString(Export.FieldName);
encodeSLEB128(Export.Kind, getStream());
-
encodeULEB128(Export.Index, getStream());
}
@@ -743,17 +765,7 @@ void WasmObjectWriter::writeCodeSection(
encodeULEB128(Functions.size(), getStream());
for (const WasmFunction &Func : Functions) {
- MCSectionWasm &FuncSection =
- static_cast<MCSectionWasm &>(Func.Sym->getSection());
-
- if (Func.Sym->isVariable())
- report_fatal_error("weak symbols not supported yet");
-
- if (Func.Sym->getOffset() != 0)
- report_fatal_error("function sections must contain one function each");
-
- if (!Func.Sym->getSize())
- report_fatal_error("function symbols must have a size set with .size");
+ auto &FuncSection = static_cast<MCSectionWasm &>(Func.Sym->getSection());
int64_t Size = 0;
if (!Func.Sym->getSize()->evaluateAsAbsolute(Size, Layout))
@@ -761,8 +773,7 @@ void WasmObjectWriter::writeCodeSection(
encodeULEB128(Size, getStream());
- FuncSection.setSectionOffset(getStream().tell() -
- Section.ContentsOffset);
+ FuncSection.setSectionOffset(getStream().tell() - Section.ContentsOffset);
Asm.writeSectionData(&FuncSection, Layout);
}
@@ -815,15 +826,13 @@ void WasmObjectWriter::writeNameSection(
for (const WasmImport &Import : Imports) {
if (Import.Kind == wasm::WASM_EXTERNAL_FUNCTION) {
encodeULEB128(Index, getStream());
- encodeULEB128(Import.FieldName.size(), getStream());
- writeBytes(Import.FieldName);
+ writeString(Import.FieldName);
++Index;
}
}
for (const WasmFunction &Func : Functions) {
encodeULEB128(Index, getStream());
- encodeULEB128(Func.Sym->getName().size(), getStream());
- writeBytes(Func.Sym->getName());
+ writeString(Func.Sym->getName());
++Index;
}
@@ -868,22 +877,37 @@ void WasmObjectWriter::writeDataRelocSection(uint64_t DataSectionHeaderSize) {
}
void WasmObjectWriter::writeLinkingMetaDataSection(
- bool HasStackPointer, uint32_t StackPointerGlobal) {
- if (!HasStackPointer)
+ ArrayRef<StringRef> WeakSymbols, bool HasStackPointer,
+ uint32_t StackPointerGlobal) {
+ if (!HasStackPointer && WeakSymbols.empty())
return;
+
SectionBookkeeping Section;
startSection(Section, wasm::WASM_SEC_CUSTOM, "linking");
+ SectionBookkeeping SubSection;
- encodeULEB128(1, getStream()); // count
+ if (HasStackPointer) {
+ startSection(SubSection, wasm::WASM_STACK_POINTER);
+ encodeULEB128(StackPointerGlobal, getStream()); // id
+ endSection(SubSection);
+ }
- encodeULEB128(wasm::WASM_STACK_POINTER, getStream()); // type
- encodeULEB128(StackPointerGlobal, getStream()); // id
+ if (WeakSymbols.size() != 0) {
+ startSection(SubSection, wasm::WASM_SYMBOL_INFO);
+ encodeULEB128(WeakSymbols.size(), getStream());
+ for (const StringRef Export: WeakSymbols) {
+ writeString(Export);
+ encodeULEB128(wasm::WASM_SYMBOL_FLAG_WEAK, getStream());
+ }
+ endSection(SubSection);
+ }
endSection(Section);
}
void WasmObjectWriter::writeObject(MCAssembler &Asm,
const MCAsmLayout &Layout) {
+ DEBUG(dbgs() << "WasmObjectWriter::writeObject\n");
MCContext &Ctx = Asm.getContext();
wasm::ValType PtrType = is64Bit() ? wasm::ValType::I64 : wasm::ValType::I32;
@@ -894,6 +918,7 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
SmallVector<WasmGlobal, 4> Globals;
SmallVector<WasmImport, 4> Imports;
SmallVector<WasmExport, 4> Exports;
+ SmallVector<StringRef, 4> WeakSymbols;
SmallPtrSet<const MCSymbolWasm *, 4> IsAddressTaken;
unsigned NumFuncImports = 0;
unsigned NumGlobalImports = 0;
@@ -902,7 +927,7 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
bool HasStackPointer = false;
// Populate the IsAddressTaken set.
- for (WasmRelocationEntry RelEntry : CodeRelocations) {
+ for (const WasmRelocationEntry &RelEntry : CodeRelocations) {
switch (RelEntry.Type) {
case wasm::R_WEBASSEMBLY_TABLE_INDEX_SLEB:
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_SLEB:
@@ -912,7 +937,7 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
break;
}
}
- for (WasmRelocationEntry RelEntry : DataRelocations) {
+ for (const WasmRelocationEntry &RelEntry : DataRelocations) {
switch (RelEntry.Type) {
case wasm::R_WEBASSEMBLY_TABLE_INDEX_I32:
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_I32:
@@ -975,7 +1000,7 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
const MCFragment &Frag = *GlobalVars->begin();
if (Frag.hasInstructions() || Frag.getKind() != MCFragment::FT_Data)
report_fatal_error("only data supported in .global_variables");
- const MCDataFragment &DataFrag = cast<MCDataFragment>(Frag);
+ const auto &DataFrag = cast<MCDataFragment>(Frag);
if (!DataFrag.getFixups().empty())
report_fatal_error("fixups not supported in .global_variables");
const SmallVectorImpl<char> &Contents = DataFrag.getContents();
@@ -1031,7 +1056,7 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
const MCFragment &Frag = *StackPtr->begin();
if (Frag.hasInstructions() || Frag.getKind() != MCFragment::FT_Data)
report_fatal_error("only data supported in .stack_pointer");
- const MCDataFragment &DataFrag = cast<MCDataFragment>(Frag);
+ const auto &DataFrag = cast<MCDataFragment>(Frag);
if (!DataFrag.getFixups().empty())
report_fatal_error("fixups not supported in .stack_pointer");
const SmallVectorImpl<char> &Contents = DataFrag.getContents();
@@ -1041,14 +1066,30 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
StackPointerGlobal = NumGlobalImports + *(const int32_t *)Contents.data();
}
- // Handle defined symbols.
+ // Handle regular defined and undefined symbols.
for (const MCSymbol &S : Asm.symbols()) {
// Ignore unnamed temporary symbols, which aren't ever exported, imported,
// or used in relocations.
if (S.isTemporary() && S.getName().empty())
continue;
+
+ // Variable references (weak references) are handled in a second pass
+ if (S.isVariable())
+ continue;
+
const auto &WS = static_cast<const MCSymbolWasm &>(S);
+ DEBUG(dbgs() << "MCSymbol: '" << S << "'"
+ << " isDefined=" << S.isDefined() << " isExternal="
+ << S.isExternal() << " isTemporary=" << S.isTemporary()
+ << " isFunction=" << WS.isFunction()
+ << " isWeak=" << WS.isWeak()
+ << " isVariable=" << WS.isVariable() << "\n");
+
+ if (WS.isWeak())
+ WeakSymbols.push_back(WS.getName());
+
unsigned Index;
+
if (WS.isFunction()) {
// Prepare the function's type, if we haven't seen it yet.
WasmFunctionType F;
@@ -1062,6 +1103,14 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
int32_t Type = Pair.first->second;
if (WS.isDefined(/*SetUsed=*/false)) {
+ if (WS.getOffset() != 0)
+ report_fatal_error(
+ "function sections must contain one function each");
+
+ if (WS.getSize() == 0)
+ report_fatal_error(
+ "function symbols must have a size set with .size");
+
// A definition. Take the next available index.
Index = NumFuncImports + Functions.size();
@@ -1072,6 +1121,9 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
SymbolIndices[&WS] = Index;
Functions.push_back(Func);
} else {
+ // Should be no such thing as weak undefined symbol
+ assert(!WS.isVariable());
+
// An import; the index was assigned above.
Index = SymbolIndices.find(&WS)->second;
}
@@ -1085,86 +1137,108 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
if (WS.isTemporary() && !WS.getSize())
continue;
- if (WS.isDefined(false)) {
- if (WS.getOffset() != 0)
- report_fatal_error("data sections must contain one variable each: " +
- WS.getName());
- if (!WS.getSize())
- report_fatal_error("data symbols must have a size set with .size: " +
- WS.getName());
-
- int64_t Size = 0;
- if (!WS.getSize()->evaluateAsAbsolute(Size, Layout))
- report_fatal_error(".size expression must be evaluatable");
-
- MCSectionWasm &DataSection =
- static_cast<MCSectionWasm &>(WS.getSection());
-
- if (uint64_t(Size) != Layout.getSectionFileSize(&DataSection))
- report_fatal_error("data sections must contain at most one variable");
-
- DataBytes.resize(alignTo(DataBytes.size(), DataSection.getAlignment()));
-
- DataSection.setSectionOffset(DataBytes.size());
-
- for (MCSection::iterator I = DataSection.begin(), E = DataSection.end();
- I != E; ++I) {
- const MCFragment &Frag = *I;
- if (Frag.hasInstructions())
- report_fatal_error("only data supported in data sections");
-
- if (const MCAlignFragment *Align = dyn_cast<MCAlignFragment>(&Frag)) {
- if (Align->getValueSize() != 1)
- report_fatal_error("only byte values supported for alignment");
- // If nops are requested, use zeros, as this is the data section.
- uint8_t Value = Align->hasEmitNops() ? 0 : Align->getValue();
- uint64_t Size = std::min<uint64_t>(alignTo(DataBytes.size(),
- Align->getAlignment()),
- DataBytes.size() +
- Align->getMaxBytesToEmit());
- DataBytes.resize(Size, Value);
- } else if (const MCFillFragment *Fill =
- dyn_cast<MCFillFragment>(&Frag)) {
- DataBytes.insert(DataBytes.end(), Size, Fill->getValue());
- } else {
- const MCDataFragment &DataFrag = cast<MCDataFragment>(Frag);
- const SmallVectorImpl<char> &Contents = DataFrag.getContents();
-
- DataBytes.insert(DataBytes.end(), Contents.begin(), Contents.end());
- }
- }
-
- // For each global, prepare a corresponding wasm global holding its
- // address. For externals these will also be named exports.
- Index = NumGlobalImports + Globals.size();
+ if (!WS.isDefined(/*SetUsed=*/false))
+ continue;
- WasmGlobal Global;
- Global.Type = PtrType;
- Global.IsMutable = false;
- Global.HasImport = false;
- Global.InitialValue = DataSection.getSectionOffset();
- Global.ImportIndex = 0;
- SymbolIndices[&WS] = Index;
- Globals.push_back(Global);
+ if (WS.getOffset() != 0)
+ report_fatal_error("data sections must contain one variable each: " +
+ WS.getName());
+ if (!WS.getSize())
+ report_fatal_error("data symbols must have a size set with .size: " +
+ WS.getName());
+
+ int64_t Size = 0;
+ if (!WS.getSize()->evaluateAsAbsolute(Size, Layout))
+ report_fatal_error(".size expression must be evaluatable");
+
+ auto &DataSection = static_cast<MCSectionWasm &>(WS.getSection());
+
+ if (uint64_t(Size) != Layout.getSectionFileSize(&DataSection))
+ report_fatal_error("data sections must contain at most one variable");
+
+ DataBytes.resize(alignTo(DataBytes.size(), DataSection.getAlignment()));
+
+ DataSection.setSectionOffset(DataBytes.size());
+
+ for (const MCFragment &Frag : DataSection) {
+ if (Frag.hasInstructions())
+ report_fatal_error("only data supported in data sections");
+
+ if (auto *Align = dyn_cast<MCAlignFragment>(&Frag)) {
+ if (Align->getValueSize() != 1)
+ report_fatal_error("only byte values supported for alignment");
+ // If nops are requested, use zeros, as this is the data section.
+ uint8_t Value = Align->hasEmitNops() ? 0 : Align->getValue();
+ uint64_t Size = std::min<uint64_t>(alignTo(DataBytes.size(),
+ Align->getAlignment()),
+ DataBytes.size() +
+ Align->getMaxBytesToEmit());
+ DataBytes.resize(Size, Value);
+ } else if (auto *Fill = dyn_cast<MCFillFragment>(&Frag)) {
+ DataBytes.insert(DataBytes.end(), Size, Fill->getValue());
+ } else {
+ const auto &DataFrag = cast<MCDataFragment>(Frag);
+ const SmallVectorImpl<char> &Contents = DataFrag.getContents();
+
+ DataBytes.insert(DataBytes.end(), Contents.begin(), Contents.end());
+ }
}
+
+ // For each global, prepare a corresponding wasm global holding its
+ // address. For externals these will also be named exports.
+ Index = NumGlobalImports + Globals.size();
+
+ WasmGlobal Global;
+ Global.Type = PtrType;
+ Global.IsMutable = false;
+ Global.HasImport = false;
+ Global.InitialValue = DataSection.getSectionOffset();
+ Global.ImportIndex = 0;
+ SymbolIndices[&WS] = Index;
+ Globals.push_back(Global);
}
// If the symbol is visible outside this translation unit, export it.
- if (WS.isExternal()) {
- assert(WS.isDefined(false));
+ if (WS.isExternal() && WS.isDefined(/*SetUsed=*/false)) {
WasmExport Export;
Export.FieldName = WS.getName();
Export.Index = Index;
-
if (WS.isFunction())
Export.Kind = wasm::WASM_EXTERNAL_FUNCTION;
else
Export.Kind = wasm::WASM_EXTERNAL_GLOBAL;
-
Exports.push_back(Export);
}
}
+ // Handle weak aliases
+ for (const MCSymbol &S : Asm.symbols()) {
+ if (!S.isVariable())
+ continue;
+ assert(S.isExternal());
+ assert(S.isDefined(/*SetUsed=*/false));
+
+ const auto &WS = static_cast<const MCSymbolWasm &>(S);
+
+ // Find the target symbol of this weak alias
+ const MCExpr *Expr = WS.getVariableValue();
+ auto *Inner = dyn_cast<MCSymbolRefExpr>(Expr);
+ const auto *ResolvedSym = cast<MCSymbolWasm>(&Inner->getSymbol());
+ uint32_t Index = SymbolIndices.find(ResolvedSym)->second;
+ DEBUG(dbgs() << "Weak alias: '" << WS << "' -> '" << ResolvedSym << "' = " << Index << "\n");
+ SymbolIndices[&WS] = Index;
+
+ WasmExport Export;
+ Export.FieldName = WS.getName();
+ Export.Index = Index;
+ if (WS.isFunction())
+ Export.Kind = wasm::WASM_EXTERNAL_FUNCTION;
+ else
+ Export.Kind = wasm::WASM_EXTERNAL_GLOBAL;
+ WeakSymbols.push_back(Export.FieldName);
+ Exports.push_back(Export);
+ }
+
// Add types for indirect function calls.
for (const WasmRelocationEntry &Fixup : CodeRelocations) {
if (Fixup.Type != wasm::R_WEBASSEMBLY_TYPE_INDEX_LEB)
@@ -1198,7 +1272,7 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
writeNameSection(Functions, Imports, NumFuncImports);
writeCodeRelocSection();
writeDataRelocSection(DataSectionHeaderSize);
- writeLinkingMetaDataSection(HasStackPointer, StackPointerGlobal);
+ writeLinkingMetaDataSection(WeakSymbols, HasStackPointer, StackPointerGlobal);
// TODO: Translate the .comment section to the output.
// TODO: Translate debug sections to the output.
diff --git a/lib/MC/WinCOFFObjectWriter.cpp b/lib/MC/WinCOFFObjectWriter.cpp
index 53dee3e8b9f3..fc5234950391 100644
--- a/lib/MC/WinCOFFObjectWriter.cpp
+++ b/lib/MC/WinCOFFObjectWriter.cpp
@@ -735,7 +735,6 @@ void WinCOFFObjectWriter::recordRelocation(
COFFSection *Sec = SectionMap[MCSec];
const MCSymbolRefExpr *SymB = Target.getSymB();
- bool CrossSection = false;
if (SymB) {
const MCSymbol *B = &SymB->getSymbol();
@@ -747,28 +746,9 @@ void WinCOFFObjectWriter::recordRelocation(
return;
}
- if (!A.getFragment()) {
- Asm.getContext().reportError(
- Fixup.getLoc(),
- Twine("symbol '") + A.getName() +
- "' can not be undefined in a subtraction expression");
- return;
- }
-
- CrossSection = &A.getSection() != &B->getSection();
-
// Offset of the symbol in the section
int64_t OffsetOfB = Layout.getSymbolOffset(*B);
- // In the case where we have SymbA and SymB, we just need to store the delta
- // between the two symbols. Update FixedValue to account for the delta, and
- // skip recording the relocation.
- if (!CrossSection) {
- int64_t OffsetOfA = Layout.getSymbolOffset(A);
- FixedValue = (OffsetOfA - OffsetOfB) + Target.getConstant();
- return;
- }
-
// Offset of the relocation in the section
int64_t OffsetOfRelocation =
Layout.getFragmentOffset(Fragment) + Fixup.getOffset();
@@ -784,7 +764,7 @@ void WinCOFFObjectWriter::recordRelocation(
Reloc.Data.VirtualAddress = Layout.getFragmentOffset(Fragment);
// Turn relocations for temporary symbols into section relocations.
- if (A.isTemporary() || CrossSection) {
+ if (A.isTemporary()) {
MCSection *TargetSection = &A.getSection();
assert(
SectionMap.find(TargetSection) != SectionMap.end() &&
@@ -802,7 +782,7 @@ void WinCOFFObjectWriter::recordRelocation(
Reloc.Data.VirtualAddress += Fixup.getOffset();
Reloc.Data.Type = TargetObjectWriter->getRelocType(
- Target, Fixup, CrossSection, Asm.getBackend());
+ Asm.getContext(), Target, Fixup, SymB, Asm.getBackend());
// FIXME: Can anyone explain what this does other than adjust for the size
// of the offset?
diff --git a/lib/Object/COFFObjectFile.cpp b/lib/Object/COFFObjectFile.cpp
index 579c8dde366a..9a760d86e7e2 100644
--- a/lib/Object/COFFObjectFile.cpp
+++ b/lib/Object/COFFObjectFile.cpp
@@ -650,6 +650,23 @@ std::error_code COFFObjectFile::initDebugDirectoryPtr() {
return std::error_code();
}
+std::error_code COFFObjectFile::initLoadConfigPtr() {
+ // Get the RVA of the debug directory. Do nothing if it does not exist.
+ const data_directory *DataEntry;
+ if (getDataDirectory(COFF::LOAD_CONFIG_TABLE, DataEntry))
+ return std::error_code();
+
+ // Do nothing if the RVA is NULL.
+ if (DataEntry->RelativeVirtualAddress == 0)
+ return std::error_code();
+ uintptr_t IntPtr = 0;
+ if (std::error_code EC = getRvaPtr(DataEntry->RelativeVirtualAddress, IntPtr))
+ return EC;
+
+ LoadConfig = (const void *)IntPtr;
+ return std::error_code();
+}
+
COFFObjectFile::COFFObjectFile(MemoryBufferRef Object, std::error_code &EC)
: ObjectFile(Binary::ID_COFF, Object), COFFHeader(nullptr),
COFFBigObjHeader(nullptr), PE32Header(nullptr), PE32PlusHeader(nullptr),
@@ -784,6 +801,9 @@ COFFObjectFile::COFFObjectFile(MemoryBufferRef Object, std::error_code &EC)
if ((EC = initDebugDirectoryPtr()))
return;
+ if ((EC = initLoadConfigPtr()))
+ return;
+
EC = std::error_code();
}
diff --git a/lib/Object/IRSymtab.cpp b/lib/Object/IRSymtab.cpp
index a6cd5dda12d3..7bca032a7be1 100644
--- a/lib/Object/IRSymtab.cpp
+++ b/lib/Object/IRSymtab.cpp
@@ -46,15 +46,15 @@ namespace {
/// Stores the temporary state that is required to build an IR symbol table.
struct Builder {
SmallVector<char, 0> &Symtab;
- SmallVector<char, 0> &Strtab;
+ StringTableBuilder &StrtabBuilder;
+ StringSaver Saver;
- Builder(SmallVector<char, 0> &Symtab, SmallVector<char, 0> &Strtab)
- : Symtab(Symtab), Strtab(Strtab) {}
-
- StringTableBuilder StrtabBuilder{StringTableBuilder::RAW};
-
- BumpPtrAllocator Alloc;
- StringSaver Saver{Alloc};
+ // This ctor initializes a StringSaver using the passed in BumpPtrAllocator.
+ // The StringTableBuilder does not create a copy of any strings added to it,
+ // so this provides somewhere to store any strings that we create.
+ Builder(SmallVector<char, 0> &Symtab, StringTableBuilder &StrtabBuilder,
+ BumpPtrAllocator &Alloc)
+ : Symtab(Symtab), StrtabBuilder(StrtabBuilder), Saver(Alloc) {}
DenseMap<const Comdat *, unsigned> ComdatMap;
Mangler Mang;
@@ -240,7 +240,7 @@ Error Builder::build(ArrayRef<Module *> IRMods) {
return Err;
COFFLinkerOptsOS.flush();
- setStr(Hdr.COFFLinkerOpts, COFFLinkerOpts);
+ setStr(Hdr.COFFLinkerOpts, Saver.save(COFFLinkerOpts));
// We are about to fill in the header's range fields, so reserve space for it
// and copy it in afterwards.
@@ -251,19 +251,15 @@ Error Builder::build(ArrayRef<Module *> IRMods) {
writeRange(Hdr.Uncommons, Uncommons);
*reinterpret_cast<storage::Header *>(Symtab.data()) = Hdr;
-
- raw_svector_ostream OS(Strtab);
- StrtabBuilder.finalizeInOrder();
- StrtabBuilder.write(OS);
-
return Error::success();
}
} // end anonymous namespace
Error irsymtab::build(ArrayRef<Module *> Mods, SmallVector<char, 0> &Symtab,
- SmallVector<char, 0> &Strtab) {
- return Builder(Symtab, Strtab).build(Mods);
+ StringTableBuilder &StrtabBuilder,
+ BumpPtrAllocator &Alloc) {
+ return Builder(Symtab, StrtabBuilder, Alloc).build(Mods);
}
// Upgrade a vector of bitcode modules created by an old version of LLVM by
@@ -285,9 +281,15 @@ static Expected<FileContents> upgrade(ArrayRef<BitcodeModule> BMs) {
OwnedMods.push_back(std::move(*MOrErr));
}
- if (Error E = build(Mods, FC.Symtab, FC.Strtab))
+ StringTableBuilder StrtabBuilder(StringTableBuilder::RAW);
+ BumpPtrAllocator Alloc;
+ if (Error E = build(Mods, FC.Symtab, StrtabBuilder, Alloc))
return std::move(E);
+ StrtabBuilder.finalizeInOrder();
+ FC.Strtab.resize(StrtabBuilder.getSize());
+ StrtabBuilder.write((uint8_t *)FC.Strtab.data());
+
FC.TheReader = {{FC.Symtab.data(), FC.Symtab.size()},
{FC.Strtab.data(), FC.Strtab.size()}};
return std::move(FC);
diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp
index 7804bbe06f83..2e4da9f15aa1 100644
--- a/lib/Object/MachOObjectFile.cpp
+++ b/lib/Object/MachOObjectFile.cpp
@@ -1951,13 +1951,29 @@ MachOObjectFile::section_rel_end(DataRefImpl Sec) const {
return relocation_iterator(RelocationRef(Ret, this));
}
+relocation_iterator MachOObjectFile::extrel_begin() const {
+ DataRefImpl Ret;
+ Ret.d.a = 0; // Would normally be a section index.
+ Ret.d.b = 0; // Index into the external relocations
+ return relocation_iterator(RelocationRef(Ret, this));
+}
+
+relocation_iterator MachOObjectFile::extrel_end() const {
+ MachO::dysymtab_command DysymtabLoadCmd = getDysymtabLoadCommand();
+ DataRefImpl Ret;
+ Ret.d.a = 0; // Would normally be a section index.
+ Ret.d.b = DysymtabLoadCmd.nextrel; // Index into the external relocations
+ return relocation_iterator(RelocationRef(Ret, this));
+}
+
void MachOObjectFile::moveRelocationNext(DataRefImpl &Rel) const {
++Rel.d.b;
}
uint64_t MachOObjectFile::getRelocationOffset(DataRefImpl Rel) const {
- assert(getHeader().filetype == MachO::MH_OBJECT &&
- "Only implemented for MH_OBJECT");
+ assert((getHeader().filetype == MachO::MH_OBJECT ||
+ getHeader().filetype == MachO::MH_KEXT_BUNDLE) &&
+ "Only implemented for MH_OBJECT && MH_KEXT_BUNDLE");
MachO::any_relocation_info RE = getRelocation(Rel);
return getAnyRelocationAddress(RE);
}
@@ -4086,15 +4102,20 @@ MachOObjectFile::getThreadCommand(const LoadCommandInfo &L) const {
MachO::any_relocation_info
MachOObjectFile::getRelocation(DataRefImpl Rel) const {
- DataRefImpl Sec;
- Sec.d.a = Rel.d.a;
uint32_t Offset;
- if (is64Bit()) {
- MachO::section_64 Sect = getSection64(Sec);
- Offset = Sect.reloff;
+ if (getHeader().filetype == MachO::MH_OBJECT) {
+ DataRefImpl Sec;
+ Sec.d.a = Rel.d.a;
+ if (is64Bit()) {
+ MachO::section_64 Sect = getSection64(Sec);
+ Offset = Sect.reloff;
+ } else {
+ MachO::section Sect = getSection(Sec);
+ Offset = Sect.reloff;
+ }
} else {
- MachO::section Sect = getSection(Sec);
- Offset = Sect.reloff;
+ MachO::dysymtab_command DysymtabLoadCmd = getDysymtabLoadCommand();
+ Offset = DysymtabLoadCmd.extreloff; // Offset to the external relocations
}
auto P = reinterpret_cast<const MachO::any_relocation_info *>(
diff --git a/lib/Object/WasmObjectFile.cpp b/lib/Object/WasmObjectFile.cpp
index 2304098c1dc9..d15860674aeb 100644
--- a/lib/Object/WasmObjectFile.cpp
+++ b/lib/Object/WasmObjectFile.cpp
@@ -28,6 +28,8 @@
#include <cstring>
#include <system_error>
+#define DEBUG_TYPE "wasm-object"
+
using namespace llvm;
using namespace object;
@@ -256,6 +258,7 @@ Error WasmObjectFile::parseNameSection(const uint8_t *Ptr, const uint8_t *End) {
while (Ptr < End) {
uint8_t Type = readVarint7(Ptr);
uint32_t Size = readVaruint32(Ptr);
+ const uint8_t *SubSectionEnd = Ptr + Size;
switch (Type) {
case wasm::WASM_NAMES_FUNCTION: {
uint32_t Count = readVaruint32(Ptr);
@@ -275,6 +278,9 @@ Error WasmObjectFile::parseNameSection(const uint8_t *Ptr, const uint8_t *End) {
Ptr += Size;
break;
}
+ if (Ptr != SubSectionEnd)
+ return make_error<GenericBinaryError>("Name sub-section ended prematurely",
+ object_error::parse_failed);
}
if (Ptr != End)
@@ -283,6 +289,50 @@ Error WasmObjectFile::parseNameSection(const uint8_t *Ptr, const uint8_t *End) {
return Error::success();
}
+Error WasmObjectFile::parseLinkingSection(const uint8_t *Ptr,
+ const uint8_t *End) {
+ while (Ptr < End) {
+ uint8_t Type = readVarint7(Ptr);
+ uint32_t Size = readVaruint32(Ptr);
+ const uint8_t *SubSectionEnd = Ptr + Size;
+ switch (Type) {
+ case wasm::WASM_SYMBOL_INFO: {
+ uint32_t Count = readVaruint32(Ptr);
+ while (Count--) {
+ StringRef Symbol = readString(Ptr);
+ DEBUG(dbgs() << "reading syminfo: " << Symbol << "\n");
+ uint32_t Flags = readVaruint32(Ptr);
+ auto iter = SymbolMap.find(Symbol);
+ if (iter == SymbolMap.end()) {
+ return make_error<GenericBinaryError>(
+ "Invalid symbol name in linking section",
+ object_error::parse_failed);
+ }
+ uint32_t SymIndex = iter->second;
+ assert(SymIndex < Symbols.size());
+ Symbols[SymIndex].Flags = Flags;
+ DEBUG(dbgs() << "Set symbol flags index:"
+ << SymIndex << " name:"
+ << Symbols[SymIndex].Name << " exptected:"
+ << Symbol << " flags: " << Flags << "\n");
+ }
+ break;
+ }
+ case wasm::WASM_STACK_POINTER:
+ default:
+ Ptr += Size;
+ break;
+ }
+ if (Ptr != SubSectionEnd)
+ return make_error<GenericBinaryError>(
+ "Linking sub-section ended prematurely", object_error::parse_failed);
+ }
+ if (Ptr != End)
+ return make_error<GenericBinaryError>("Linking section ended prematurely",
+ object_error::parse_failed);
+ return Error::success();
+}
+
WasmSection* WasmObjectFile::findCustomSectionByName(StringRef Name) {
for (WasmSection& Section : Sections) {
if (Section.Type == wasm::WASM_SEC_CUSTOM && Section.Name == Name)
@@ -325,6 +375,7 @@ Error WasmObjectFile::parseRelocSection(StringRef Name, const uint8_t *Ptr,
case wasm::R_WEBASSEMBLY_TABLE_INDEX_SLEB:
case wasm::R_WEBASSEMBLY_TABLE_INDEX_I32:
case wasm::R_WEBASSEMBLY_TYPE_INDEX_LEB:
+ case wasm::R_WEBASSEMBLY_GLOBAL_INDEX_LEB:
break;
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_LEB:
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_SLEB:
@@ -332,7 +383,8 @@ Error WasmObjectFile::parseRelocSection(StringRef Name, const uint8_t *Ptr,
Reloc.Addend = readVarint32(Ptr);
break;
default:
- return make_error<GenericBinaryError>("Bad relocation type",
+ return make_error<GenericBinaryError>("Bad relocation type: " +
+ Twine(Reloc.Type),
object_error::parse_failed);
}
Section->Relocations.push_back(Reloc);
@@ -349,6 +401,9 @@ Error WasmObjectFile::parseCustomSection(WasmSection &Sec,
if (Sec.Name == "name") {
if (Error Err = parseNameSection(Ptr, End))
return Err;
+ } else if (Sec.Name == "linking") {
+ if (Error Err = parseLinkingSection(Ptr, End))
+ return Err;
} else if (Sec.Name.startswith("reloc.")) {
if (Error Err = parseRelocSection(Sec.Name, Ptr, End))
return Err;
@@ -400,14 +455,20 @@ Error WasmObjectFile::parseImportSection(const uint8_t *Ptr, const uint8_t *End)
switch (Im.Kind) {
case wasm::WASM_EXTERNAL_FUNCTION:
Im.SigIndex = readVaruint32(Ptr);
+ SymbolMap.try_emplace(Im.Field, Symbols.size());
Symbols.emplace_back(Im.Field, WasmSymbol::SymbolType::FUNCTION_IMPORT,
Sections.size(), i);
+ DEBUG(dbgs() << "Adding import: " << Symbols.back()
+ << " sym index:" << Symbols.size() << "\n");
break;
case wasm::WASM_EXTERNAL_GLOBAL:
Im.Global.Type = readVarint7(Ptr);
Im.Global.Mutable = readVaruint1(Ptr);
+ SymbolMap.try_emplace(Im.Field, Symbols.size());
Symbols.emplace_back(Im.Field, WasmSymbol::SymbolType::GLOBAL_IMPORT,
Sections.size(), i);
+ DEBUG(dbgs() << "Adding import: " << Symbols.back()
+ << " sym index:" << Symbols.size() << "\n");
break;
case wasm::WASM_EXTERNAL_MEMORY:
Im.Memory = readLimits(Ptr);
@@ -496,15 +557,20 @@ Error WasmObjectFile::parseExportSection(const uint8_t *Ptr, const uint8_t *End)
Ex.Name = readString(Ptr);
Ex.Kind = readUint8(Ptr);
Ex.Index = readVaruint32(Ptr);
- Exports.push_back(Ex);
switch (Ex.Kind) {
case wasm::WASM_EXTERNAL_FUNCTION:
+ SymbolMap.try_emplace(Ex.Name, Symbols.size());
Symbols.emplace_back(Ex.Name, WasmSymbol::SymbolType::FUNCTION_EXPORT,
Sections.size(), i);
+ DEBUG(dbgs() << "Adding export: " << Symbols.back()
+ << " sym index:" << Symbols.size() << "\n");
break;
case wasm::WASM_EXTERNAL_GLOBAL:
+ SymbolMap.try_emplace(Ex.Name, Symbols.size());
Symbols.emplace_back(Ex.Name, WasmSymbol::SymbolType::GLOBAL_EXPORT,
Sections.size(), i);
+ DEBUG(dbgs() << "Adding export: " << Symbols.back()
+ << " sym index:" << Symbols.size() << "\n");
break;
case wasm::WASM_EXTERNAL_MEMORY:
case wasm::WASM_EXTERNAL_TABLE:
@@ -513,6 +579,7 @@ Error WasmObjectFile::parseExportSection(const uint8_t *Ptr, const uint8_t *End)
return make_error<GenericBinaryError>(
"Unexpected export kind", object_error::parse_failed);
}
+ Exports.push_back(Ex);
}
if (Ptr != End)
return make_error<GenericBinaryError>("Export section ended prematurely",
@@ -620,6 +687,10 @@ uint32_t WasmObjectFile::getSymbolFlags(DataRefImpl Symb) const {
uint32_t Result = SymbolRef::SF_None;
const WasmSymbol &Sym = getWasmSymbol(Symb);
+ DEBUG(dbgs() << "getSymbolFlags: ptr=" << &Sym << " " << Sym << "\n");
+ if (Sym.Flags & wasm::WASM_SYMBOL_FLAG_WEAK)
+ Result |= SymbolRef::SF_Weak;
+
switch (Sym.Type) {
case WasmSymbol::SymbolType::FUNCTION_IMPORT:
Result |= SymbolRef::SF_Undefined | SymbolRef::SF_Executable;
@@ -629,6 +700,7 @@ uint32_t WasmObjectFile::getSymbolFlags(DataRefImpl Symb) const {
break;
case WasmSymbol::SymbolType::DEBUG_FUNCTION_NAME:
Result |= SymbolRef::SF_Executable;
+ Result |= SymbolRef::SF_FormatSpecific;
break;
case WasmSymbol::SymbolType::GLOBAL_IMPORT:
Result |= SymbolRef::SF_Undefined;
@@ -662,8 +734,7 @@ const WasmSymbol &WasmObjectFile::getWasmSymbol(const SymbolRef &Symb) const {
}
Expected<StringRef> WasmObjectFile::getSymbolName(DataRefImpl Symb) const {
- const WasmSymbol &Sym = getWasmSymbol(Symb);
- return Sym.Name;
+ return getWasmSymbol(Symb).Name;
}
Expected<uint64_t> WasmObjectFile::getSymbolAddress(DataRefImpl Symb) const {
@@ -671,8 +742,18 @@ Expected<uint64_t> WasmObjectFile::getSymbolAddress(DataRefImpl Symb) const {
}
uint64_t WasmObjectFile::getSymbolValueImpl(DataRefImpl Symb) const {
- const WasmSymbol &Sym = getWasmSymbol(Symb);
- return Sym.ElementIndex;
+ const WasmSymbol& Sym = getWasmSymbol(Symb);
+ switch (Sym.Type) {
+ case WasmSymbol::SymbolType::FUNCTION_IMPORT:
+ case WasmSymbol::SymbolType::GLOBAL_IMPORT:
+ return 0;
+ case WasmSymbol::SymbolType::FUNCTION_EXPORT:
+ case WasmSymbol::SymbolType::GLOBAL_EXPORT:
+ return Exports[Sym.ElementIndex].Index;
+ case WasmSymbol::SymbolType::DEBUG_FUNCTION_NAME:
+ return Sym.ElementIndex;
+ }
+ llvm_unreachable("invalid symbol type");
}
uint32_t WasmObjectFile::getSymbolAlignment(DataRefImpl Symb) const {
diff --git a/lib/Object/WindowsResource.cpp b/lib/Object/WindowsResource.cpp
index 3f6080d48f9d..ff9b9ca35eb5 100644
--- a/lib/Object/WindowsResource.cpp
+++ b/lib/Object/WindowsResource.cpp
@@ -12,7 +12,6 @@
//===----------------------------------------------------------------------===//
#include "llvm/Object/WindowsResource.h"
-#include "llvm/BinaryFormat/COFF.h"
#include "llvm/Object/COFF.h"
#include "llvm/Support/FileOutputBuffer.h"
#include "llvm/Support/MathExtras.h"
@@ -21,6 +20,9 @@
#include <sstream>
#include <system_error>
+using namespace llvm;
+using namespace object;
+
namespace llvm {
namespace object {
@@ -34,23 +36,19 @@ const uint32_t MIN_HEADER_SIZE = 7 * sizeof(uint32_t) + 2 * sizeof(uint16_t);
// 8-byte because it makes everyone happy.
const uint32_t SECTION_ALIGNMENT = sizeof(uint64_t);
-static const size_t ResourceMagicSize = 16;
-
-static const size_t NullEntrySize = 16;
-
uint32_t WindowsResourceParser::TreeNode::StringCount = 0;
uint32_t WindowsResourceParser::TreeNode::DataCount = 0;
WindowsResource::WindowsResource(MemoryBufferRef Source)
: Binary(Binary::ID_WinRes, Source) {
- size_t LeadingSize = ResourceMagicSize + NullEntrySize;
+ size_t LeadingSize = WIN_RES_MAGIC_SIZE + WIN_RES_NULL_ENTRY_SIZE;
BBS = BinaryByteStream(Data.getBuffer().drop_front(LeadingSize),
support::little);
}
Expected<std::unique_ptr<WindowsResource>>
WindowsResource::createWindowsResource(MemoryBufferRef Source) {
- if (Source.getBufferSize() < ResourceMagicSize + NullEntrySize)
+ if (Source.getBufferSize() < WIN_RES_MAGIC_SIZE + WIN_RES_NULL_ENTRY_SIZE)
return make_error<GenericBinaryError>(
"File too small to be a resource file",
object_error::invalid_file_type);
@@ -103,12 +101,10 @@ static Error readStringOrId(BinaryStreamReader &Reader, uint16_t &ID,
}
Error ResourceEntryRef::loadNext() {
- uint32_t DataSize;
- RETURN_IF_ERROR(Reader.readInteger(DataSize));
- uint32_t HeaderSize;
- RETURN_IF_ERROR(Reader.readInteger(HeaderSize));
+ const WinResHeaderPrefix *Prefix;
+ RETURN_IF_ERROR(Reader.readObject(Prefix));
- if (HeaderSize < MIN_HEADER_SIZE)
+ if (Prefix->HeaderSize < MIN_HEADER_SIZE)
return make_error<GenericBinaryError>("Header size is too small.",
object_error::parse_failed);
@@ -116,13 +112,13 @@ Error ResourceEntryRef::loadNext() {
RETURN_IF_ERROR(readStringOrId(Reader, NameID, Name, IsStringName));
- RETURN_IF_ERROR(Reader.padToAlignment(sizeof(uint32_t)));
+ RETURN_IF_ERROR(Reader.padToAlignment(WIN_RES_HEADER_ALIGNMENT));
RETURN_IF_ERROR(Reader.readObject(Suffix));
- RETURN_IF_ERROR(Reader.readArray(Data, DataSize));
+ RETURN_IF_ERROR(Reader.readArray(Data, Prefix->DataSize));
- RETURN_IF_ERROR(Reader.padToAlignment(sizeof(uint32_t)));
+ RETURN_IF_ERROR(Reader.padToAlignment(WIN_RES_DATA_ALIGNMENT));
return Error::success();
}
@@ -246,14 +242,14 @@ WindowsResourceParser::TreeNode::addChild(ArrayRef<UTF16> NameRef,
std::string NameString;
ArrayRef<UTF16> CorrectedName;
std::vector<UTF16> EndianCorrectedName;
- if (llvm::sys::IsBigEndianHost) {
+ if (sys::IsBigEndianHost) {
EndianCorrectedName.resize(NameRef.size() + 1);
std::copy(NameRef.begin(), NameRef.end(), EndianCorrectedName.begin() + 1);
EndianCorrectedName[0] = UNI_UTF16_BYTE_ORDER_MARK_SWAPPED;
CorrectedName = makeArrayRef(EndianCorrectedName);
} else
CorrectedName = NameRef;
- llvm::convertUTF16ToUTF8String(CorrectedName, NameString);
+ convertUTF16ToUTF8String(CorrectedName, NameString);
auto Child = StringChildren.find(NameString);
if (Child == StringChildren.end()) {
@@ -282,17 +278,17 @@ void WindowsResourceParser::TreeNode::print(ScopedPrinter &Writer,
// the directory strings or the relocations of the .rsrc section.
uint32_t WindowsResourceParser::TreeNode::getTreeSize() const {
uint32_t Size = (IDChildren.size() + StringChildren.size()) *
- sizeof(llvm::object::coff_resource_dir_entry);
+ sizeof(coff_resource_dir_entry);
// Reached a node pointing to a data entry.
if (IsDataNode) {
- Size += sizeof(llvm::object::coff_resource_data_entry);
+ Size += sizeof(coff_resource_data_entry);
return Size;
}
// If the node does not point to data, it must have a directory table pointing
// to other nodes.
- Size += sizeof(llvm::object::coff_resource_dir_table);
+ Size += sizeof(coff_resource_dir_table);
for (auto const &Child : StringChildren) {
Size += Child.second->getTreeSize();
@@ -305,9 +301,9 @@ uint32_t WindowsResourceParser::TreeNode::getTreeSize() const {
class WindowsResourceCOFFWriter {
public:
- WindowsResourceCOFFWriter(StringRef OutputFile, Machine MachineType,
+ WindowsResourceCOFFWriter(COFF::MachineTypes MachineType,
const WindowsResourceParser &Parser, Error &E);
- Error write();
+ std::unique_ptr<MemoryBuffer> write();
private:
void performFileLayout();
@@ -323,10 +319,10 @@ private:
void writeDirectoryTree();
void writeDirectoryStringTable();
void writeFirstSectionRelocations();
- std::unique_ptr<FileOutputBuffer> Buffer;
- uint8_t *BufferStart;
+ std::unique_ptr<MemoryBuffer> OutputBuffer;
+ char *BufferStart;
uint64_t CurrentOffset = 0;
- Machine MachineType;
+ COFF::MachineTypes MachineType;
const WindowsResourceParser::TreeNode &Resources;
const ArrayRef<std::vector<uint8_t>> Data;
uint64_t FileSize;
@@ -343,28 +339,21 @@ private:
};
WindowsResourceCOFFWriter::WindowsResourceCOFFWriter(
- StringRef OutputFile, Machine MachineType,
- const WindowsResourceParser &Parser, Error &E)
+ COFF::MachineTypes MachineType, const WindowsResourceParser &Parser,
+ Error &E)
: MachineType(MachineType), Resources(Parser.getTree()),
Data(Parser.getData()), StringTable(Parser.getStringTable()) {
performFileLayout();
- ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
- FileOutputBuffer::create(OutputFile, FileSize);
- if (!BufferOrErr) {
- E = errorCodeToError(BufferOrErr.getError());
- return;
- }
-
- Buffer = std::move(*BufferOrErr);
+ OutputBuffer = MemoryBuffer::getNewMemBuffer(FileSize);
}
void WindowsResourceCOFFWriter::performFileLayout() {
// Add size of COFF header.
- FileSize = llvm::COFF::Header16Size;
+ FileSize = COFF::Header16Size;
// one .rsrc section header for directory tree, another for resource data.
- FileSize += 2 * llvm::COFF::SectionSize;
+ FileSize += 2 * COFF::SectionSize;
performSectionOneLayout();
performSectionTwoLayout();
@@ -372,9 +361,9 @@ void WindowsResourceCOFFWriter::performFileLayout() {
// We have reached the address of the symbol table.
SymbolTableOffset = FileSize;
- FileSize += llvm::COFF::Symbol16Size; // size of the @feat.00 symbol.
- FileSize += 4 * llvm::COFF::Symbol16Size; // symbol + aux for each section.
- FileSize += Data.size() * llvm::COFF::Symbol16Size; // 1 symbol per resource.
+ FileSize += COFF::Symbol16Size; // size of the @feat.00 symbol.
+ FileSize += 4 * COFF::Symbol16Size; // symbol + aux for each section.
+ FileSize += Data.size() * COFF::Symbol16Size; // 1 symbol per resource.
FileSize += 4; // four null bytes for the string table.
}
@@ -395,8 +384,8 @@ void WindowsResourceCOFFWriter::performSectionOneLayout() {
// account for the relocations of section one.
SectionOneRelocations = FileSize + SectionOneSize;
FileSize += SectionOneSize;
- FileSize += Data.size() *
- llvm::COFF::RelocationSize; // one relocation for each resource.
+ FileSize +=
+ Data.size() * COFF::RelocationSize; // one relocation for each resource.
FileSize = alignTo(FileSize, SECTION_ALIGNMENT);
}
@@ -407,7 +396,7 @@ void WindowsResourceCOFFWriter::performSectionTwoLayout() {
SectionTwoSize = 0;
for (auto const &Entry : Data) {
DataOffsets.push_back(SectionTwoSize);
- SectionTwoSize += llvm::alignTo(Entry.size(), sizeof(uint64_t));
+ SectionTwoSize += alignTo(Entry.size(), sizeof(uint64_t));
}
FileSize += SectionTwoSize;
FileSize = alignTo(FileSize, SECTION_ALIGNMENT);
@@ -420,8 +409,8 @@ static std::time_t getTime() {
return Now;
}
-Error WindowsResourceCOFFWriter::write() {
- BufferStart = Buffer->getBufferStart();
+std::unique_ptr<MemoryBuffer> WindowsResourceCOFFWriter::write() {
+ BufferStart = const_cast<char *>(OutputBuffer->getBufferStart());
writeCOFFHeader();
writeFirstSectionHeader();
@@ -431,29 +420,24 @@ Error WindowsResourceCOFFWriter::write() {
writeSymbolTable();
writeStringTable();
- if (auto EC = Buffer->commit()) {
- return errorCodeToError(EC);
- }
-
- return Error::success();
+ return std::move(OutputBuffer);
}
void WindowsResourceCOFFWriter::writeCOFFHeader() {
// Write the COFF header.
- auto *Header =
- reinterpret_cast<llvm::object::coff_file_header *>(BufferStart);
+ auto *Header = reinterpret_cast<coff_file_header *>(BufferStart);
switch (MachineType) {
- case Machine::ARM:
- Header->Machine = llvm::COFF::IMAGE_FILE_MACHINE_ARMNT;
+ case COFF::IMAGE_FILE_MACHINE_ARMNT:
+ Header->Machine = COFF::IMAGE_FILE_MACHINE_ARMNT;
break;
- case Machine::X64:
- Header->Machine = llvm::COFF::IMAGE_FILE_MACHINE_AMD64;
+ case COFF::IMAGE_FILE_MACHINE_AMD64:
+ Header->Machine = COFF::IMAGE_FILE_MACHINE_AMD64;
break;
- case Machine::X86:
- Header->Machine = llvm::COFF::IMAGE_FILE_MACHINE_I386;
+ case COFF::IMAGE_FILE_MACHINE_I386:
+ Header->Machine = COFF::IMAGE_FILE_MACHINE_I386;
break;
default:
- Header->Machine = llvm::COFF::IMAGE_FILE_MACHINE_UNKNOWN;
+ Header->Machine = COFF::IMAGE_FILE_MACHINE_UNKNOWN;
}
Header->NumberOfSections = 2;
Header->TimeDateStamp = getTime();
@@ -461,15 +445,15 @@ void WindowsResourceCOFFWriter::writeCOFFHeader() {
// One symbol for every resource plus 2 for each section and @feat.00
Header->NumberOfSymbols = Data.size() + 5;
Header->SizeOfOptionalHeader = 0;
- Header->Characteristics = llvm::COFF::IMAGE_FILE_32BIT_MACHINE;
+ Header->Characteristics = COFF::IMAGE_FILE_32BIT_MACHINE;
}
void WindowsResourceCOFFWriter::writeFirstSectionHeader() {
// Write the first section header.
- CurrentOffset += sizeof(llvm::object::coff_file_header);
- auto *SectionOneHeader = reinterpret_cast<llvm::object::coff_section *>(
- BufferStart + CurrentOffset);
- strncpy(SectionOneHeader->Name, ".rsrc$01", (size_t)llvm::COFF::NameSize);
+ CurrentOffset += sizeof(coff_file_header);
+ auto *SectionOneHeader =
+ reinterpret_cast<coff_section *>(BufferStart + CurrentOffset);
+ strncpy(SectionOneHeader->Name, ".rsrc$01", (size_t)COFF::NameSize);
SectionOneHeader->VirtualSize = 0;
SectionOneHeader->VirtualAddress = 0;
SectionOneHeader->SizeOfRawData = SectionOneSize;
@@ -478,19 +462,16 @@ void WindowsResourceCOFFWriter::writeFirstSectionHeader() {
SectionOneHeader->PointerToLinenumbers = 0;
SectionOneHeader->NumberOfRelocations = Data.size();
SectionOneHeader->NumberOfLinenumbers = 0;
- SectionOneHeader->Characteristics = llvm::COFF::IMAGE_SCN_ALIGN_1BYTES;
- SectionOneHeader->Characteristics +=
- llvm::COFF::IMAGE_SCN_CNT_INITIALIZED_DATA;
- SectionOneHeader->Characteristics += llvm::COFF::IMAGE_SCN_MEM_DISCARDABLE;
- SectionOneHeader->Characteristics += llvm::COFF::IMAGE_SCN_MEM_READ;
+ SectionOneHeader->Characteristics += COFF::IMAGE_SCN_CNT_INITIALIZED_DATA;
+ SectionOneHeader->Characteristics += COFF::IMAGE_SCN_MEM_READ;
}
void WindowsResourceCOFFWriter::writeSecondSectionHeader() {
// Write the second section header.
- CurrentOffset += sizeof(llvm::object::coff_section);
- auto *SectionTwoHeader = reinterpret_cast<llvm::object::coff_section *>(
- BufferStart + CurrentOffset);
- strncpy(SectionTwoHeader->Name, ".rsrc$02", (size_t)llvm::COFF::NameSize);
+ CurrentOffset += sizeof(coff_section);
+ auto *SectionTwoHeader =
+ reinterpret_cast<coff_section *>(BufferStart + CurrentOffset);
+ strncpy(SectionTwoHeader->Name, ".rsrc$02", (size_t)COFF::NameSize);
SectionTwoHeader->VirtualSize = 0;
SectionTwoHeader->VirtualAddress = 0;
SectionTwoHeader->SizeOfRawData = SectionTwoSize;
@@ -499,14 +480,13 @@ void WindowsResourceCOFFWriter::writeSecondSectionHeader() {
SectionTwoHeader->PointerToLinenumbers = 0;
SectionTwoHeader->NumberOfRelocations = 0;
SectionTwoHeader->NumberOfLinenumbers = 0;
- SectionTwoHeader->Characteristics =
- llvm::COFF::IMAGE_SCN_CNT_INITIALIZED_DATA;
- SectionTwoHeader->Characteristics += llvm::COFF::IMAGE_SCN_MEM_READ;
+ SectionTwoHeader->Characteristics = COFF::IMAGE_SCN_CNT_INITIALIZED_DATA;
+ SectionTwoHeader->Characteristics += COFF::IMAGE_SCN_MEM_READ;
}
void WindowsResourceCOFFWriter::writeFirstSection() {
// Write section one.
- CurrentOffset += sizeof(llvm::object::coff_section);
+ CurrentOffset += sizeof(coff_section);
writeDirectoryTree();
writeDirectoryStringTable();
@@ -529,70 +509,65 @@ void WindowsResourceCOFFWriter::writeSecondSection() {
void WindowsResourceCOFFWriter::writeSymbolTable() {
// Now write the symbol table.
// First, the feat symbol.
- auto *Symbol = reinterpret_cast<llvm::object::coff_symbol16 *>(BufferStart +
- CurrentOffset);
- strncpy(Symbol->Name.ShortName, "@feat.00", (size_t)llvm::COFF::NameSize);
+ auto *Symbol = reinterpret_cast<coff_symbol16 *>(BufferStart + CurrentOffset);
+ strncpy(Symbol->Name.ShortName, "@feat.00", (size_t)COFF::NameSize);
Symbol->Value = 0x11;
Symbol->SectionNumber = 0xffff;
- Symbol->Type = llvm::COFF::IMAGE_SYM_DTYPE_NULL;
- Symbol->StorageClass = llvm::COFF::IMAGE_SYM_CLASS_STATIC;
+ Symbol->Type = COFF::IMAGE_SYM_DTYPE_NULL;
+ Symbol->StorageClass = COFF::IMAGE_SYM_CLASS_STATIC;
Symbol->NumberOfAuxSymbols = 0;
- CurrentOffset += sizeof(llvm::object::coff_symbol16);
+ CurrentOffset += sizeof(coff_symbol16);
// Now write the .rsrc1 symbol + aux.
- Symbol = reinterpret_cast<llvm::object::coff_symbol16 *>(BufferStart +
- CurrentOffset);
- strncpy(Symbol->Name.ShortName, ".rsrc$01", (size_t)llvm::COFF::NameSize);
+ Symbol = reinterpret_cast<coff_symbol16 *>(BufferStart + CurrentOffset);
+ strncpy(Symbol->Name.ShortName, ".rsrc$01", (size_t)COFF::NameSize);
Symbol->Value = 0;
Symbol->SectionNumber = 1;
- Symbol->Type = llvm::COFF::IMAGE_SYM_DTYPE_NULL;
- Symbol->StorageClass = llvm::COFF::IMAGE_SYM_CLASS_STATIC;
+ Symbol->Type = COFF::IMAGE_SYM_DTYPE_NULL;
+ Symbol->StorageClass = COFF::IMAGE_SYM_CLASS_STATIC;
Symbol->NumberOfAuxSymbols = 1;
- CurrentOffset += sizeof(llvm::object::coff_symbol16);
- auto *Aux = reinterpret_cast<llvm::object::coff_aux_section_definition *>(
- BufferStart + CurrentOffset);
+ CurrentOffset += sizeof(coff_symbol16);
+ auto *Aux = reinterpret_cast<coff_aux_section_definition *>(BufferStart +
+ CurrentOffset);
Aux->Length = SectionOneSize;
Aux->NumberOfRelocations = Data.size();
Aux->NumberOfLinenumbers = 0;
Aux->CheckSum = 0;
Aux->NumberLowPart = 0;
Aux->Selection = 0;
- CurrentOffset += sizeof(llvm::object::coff_aux_section_definition);
+ CurrentOffset += sizeof(coff_aux_section_definition);
// Now write the .rsrc2 symbol + aux.
- Symbol = reinterpret_cast<llvm::object::coff_symbol16 *>(BufferStart +
- CurrentOffset);
- strncpy(Symbol->Name.ShortName, ".rsrc$02", (size_t)llvm::COFF::NameSize);
+ Symbol = reinterpret_cast<coff_symbol16 *>(BufferStart + CurrentOffset);
+ strncpy(Symbol->Name.ShortName, ".rsrc$02", (size_t)COFF::NameSize);
Symbol->Value = 0;
Symbol->SectionNumber = 2;
- Symbol->Type = llvm::COFF::IMAGE_SYM_DTYPE_NULL;
- Symbol->StorageClass = llvm::COFF::IMAGE_SYM_CLASS_STATIC;
+ Symbol->Type = COFF::IMAGE_SYM_DTYPE_NULL;
+ Symbol->StorageClass = COFF::IMAGE_SYM_CLASS_STATIC;
Symbol->NumberOfAuxSymbols = 1;
- CurrentOffset += sizeof(llvm::object::coff_symbol16);
- Aux = reinterpret_cast<llvm::object::coff_aux_section_definition *>(
- BufferStart + CurrentOffset);
+ CurrentOffset += sizeof(coff_symbol16);
+ Aux = reinterpret_cast<coff_aux_section_definition *>(BufferStart +
+ CurrentOffset);
Aux->Length = SectionTwoSize;
Aux->NumberOfRelocations = 0;
Aux->NumberOfLinenumbers = 0;
Aux->CheckSum = 0;
Aux->NumberLowPart = 0;
Aux->Selection = 0;
- CurrentOffset += sizeof(llvm::object::coff_aux_section_definition);
+ CurrentOffset += sizeof(coff_aux_section_definition);
// Now write a symbol for each relocation.
for (unsigned i = 0; i < Data.size(); i++) {
char RelocationName[9];
sprintf(RelocationName, "$R%06X", DataOffsets[i]);
- Symbol = reinterpret_cast<llvm::object::coff_symbol16 *>(BufferStart +
- CurrentOffset);
- strncpy(Symbol->Name.ShortName, RelocationName,
- (size_t)llvm::COFF::NameSize);
+ Symbol = reinterpret_cast<coff_symbol16 *>(BufferStart + CurrentOffset);
+ strncpy(Symbol->Name.ShortName, RelocationName, (size_t)COFF::NameSize);
Symbol->Value = DataOffsets[i];
Symbol->SectionNumber = 1;
- Symbol->Type = llvm::COFF::IMAGE_SYM_DTYPE_NULL;
- Symbol->StorageClass = llvm::COFF::IMAGE_SYM_CLASS_STATIC;
+ Symbol->Type = COFF::IMAGE_SYM_DTYPE_NULL;
+ Symbol->StorageClass = COFF::IMAGE_SYM_CLASS_STATIC;
Symbol->NumberOfAuxSymbols = 0;
- CurrentOffset += sizeof(llvm::object::coff_symbol16);
+ CurrentOffset += sizeof(coff_symbol16);
}
}
@@ -607,18 +582,18 @@ void WindowsResourceCOFFWriter::writeDirectoryTree() {
// COFF objects.
std::queue<const WindowsResourceParser::TreeNode *> Queue;
Queue.push(&Resources);
- uint32_t NextLevelOffset = sizeof(llvm::object::coff_resource_dir_table) +
- (Resources.getStringChildren().size() +
- Resources.getIDChildren().size()) *
- sizeof(llvm::object::coff_resource_dir_entry);
+ uint32_t NextLevelOffset =
+ sizeof(coff_resource_dir_table) + (Resources.getStringChildren().size() +
+ Resources.getIDChildren().size()) *
+ sizeof(coff_resource_dir_entry);
std::vector<const WindowsResourceParser::TreeNode *> DataEntriesTreeOrder;
uint32_t CurrentRelativeOffset = 0;
while (!Queue.empty()) {
auto CurrentNode = Queue.front();
Queue.pop();
- auto *Table = reinterpret_cast<llvm::object::coff_resource_dir_table *>(
- BufferStart + CurrentOffset);
+ auto *Table = reinterpret_cast<coff_resource_dir_table *>(BufferStart +
+ CurrentOffset);
Table->Characteristics = CurrentNode->getCharacteristics();
Table->TimeDateStamp = 0;
Table->MajorVersion = CurrentNode->getMajorVersion();
@@ -627,63 +602,63 @@ void WindowsResourceCOFFWriter::writeDirectoryTree() {
auto &StringChildren = CurrentNode->getStringChildren();
Table->NumberOfNameEntries = StringChildren.size();
Table->NumberOfIDEntries = IDChildren.size();
- CurrentOffset += sizeof(llvm::object::coff_resource_dir_table);
- CurrentRelativeOffset += sizeof(llvm::object::coff_resource_dir_table);
+ CurrentOffset += sizeof(coff_resource_dir_table);
+ CurrentRelativeOffset += sizeof(coff_resource_dir_table);
// Write the directory entries immediately following each directory table.
for (auto const &Child : StringChildren) {
- auto *Entry = reinterpret_cast<llvm::object::coff_resource_dir_entry *>(
- BufferStart + CurrentOffset);
+ auto *Entry = reinterpret_cast<coff_resource_dir_entry *>(BufferStart +
+ CurrentOffset);
Entry->Identifier.NameOffset =
StringTableOffsets[Child.second->getStringIndex()];
if (Child.second->checkIsDataNode()) {
Entry->Offset.DataEntryOffset = NextLevelOffset;
- NextLevelOffset += sizeof(llvm::object::coff_resource_data_entry);
+ NextLevelOffset += sizeof(coff_resource_data_entry);
DataEntriesTreeOrder.push_back(Child.second.get());
} else {
Entry->Offset.SubdirOffset = NextLevelOffset + (1 << 31);
- NextLevelOffset += sizeof(llvm::object::coff_resource_dir_table) +
+ NextLevelOffset += sizeof(coff_resource_dir_table) +
(Child.second->getStringChildren().size() +
Child.second->getIDChildren().size()) *
- sizeof(llvm::object::coff_resource_dir_entry);
+ sizeof(coff_resource_dir_entry);
Queue.push(Child.second.get());
}
- CurrentOffset += sizeof(llvm::object::coff_resource_dir_entry);
- CurrentRelativeOffset += sizeof(llvm::object::coff_resource_dir_entry);
+ CurrentOffset += sizeof(coff_resource_dir_entry);
+ CurrentRelativeOffset += sizeof(coff_resource_dir_entry);
}
for (auto const &Child : IDChildren) {
- auto *Entry = reinterpret_cast<llvm::object::coff_resource_dir_entry *>(
- BufferStart + CurrentOffset);
+ auto *Entry = reinterpret_cast<coff_resource_dir_entry *>(BufferStart +
+ CurrentOffset);
Entry->Identifier.ID = Child.first;
if (Child.second->checkIsDataNode()) {
Entry->Offset.DataEntryOffset = NextLevelOffset;
- NextLevelOffset += sizeof(llvm::object::coff_resource_data_entry);
+ NextLevelOffset += sizeof(coff_resource_data_entry);
DataEntriesTreeOrder.push_back(Child.second.get());
} else {
Entry->Offset.SubdirOffset = NextLevelOffset + (1 << 31);
- NextLevelOffset += sizeof(llvm::object::coff_resource_dir_table) +
+ NextLevelOffset += sizeof(coff_resource_dir_table) +
(Child.second->getStringChildren().size() +
Child.second->getIDChildren().size()) *
- sizeof(llvm::object::coff_resource_dir_entry);
+ sizeof(coff_resource_dir_entry);
Queue.push(Child.second.get());
}
- CurrentOffset += sizeof(llvm::object::coff_resource_dir_entry);
- CurrentRelativeOffset += sizeof(llvm::object::coff_resource_dir_entry);
+ CurrentOffset += sizeof(coff_resource_dir_entry);
+ CurrentRelativeOffset += sizeof(coff_resource_dir_entry);
}
}
RelocationAddresses.resize(Data.size());
// Now write all the resource data entries.
for (auto DataNodes : DataEntriesTreeOrder) {
- auto *Entry = reinterpret_cast<llvm::object::coff_resource_data_entry *>(
- BufferStart + CurrentOffset);
+ auto *Entry = reinterpret_cast<coff_resource_data_entry *>(BufferStart +
+ CurrentOffset);
RelocationAddresses[DataNodes->getDataIndex()] = CurrentRelativeOffset;
Entry->DataRVA = 0; // Set to zero because it is a relocation.
Entry->DataSize = Data[DataNodes->getDataIndex()].size();
Entry->Codepage = 0;
Entry->Reserved = 0;
- CurrentOffset += sizeof(llvm::object::coff_resource_data_entry);
- CurrentRelativeOffset += sizeof(llvm::object::coff_resource_data_entry);
+ CurrentOffset += sizeof(coff_resource_data_entry);
+ CurrentRelativeOffset += sizeof(coff_resource_data_entry);
}
}
@@ -710,33 +685,34 @@ void WindowsResourceCOFFWriter::writeFirstSectionRelocations() {
// .rsrc section.
uint32_t NextSymbolIndex = 5;
for (unsigned i = 0; i < Data.size(); i++) {
- auto *Reloc = reinterpret_cast<llvm::object::coff_relocation *>(
- BufferStart + CurrentOffset);
+ auto *Reloc =
+ reinterpret_cast<coff_relocation *>(BufferStart + CurrentOffset);
Reloc->VirtualAddress = RelocationAddresses[i];
Reloc->SymbolTableIndex = NextSymbolIndex++;
switch (MachineType) {
- case Machine::ARM:
- Reloc->Type = llvm::COFF::IMAGE_REL_ARM_ADDR32NB;
+ case COFF::IMAGE_FILE_MACHINE_ARMNT:
+ Reloc->Type = COFF::IMAGE_REL_ARM_ADDR32NB;
break;
- case Machine::X64:
- Reloc->Type = llvm::COFF::IMAGE_REL_AMD64_ADDR32NB;
+ case COFF::IMAGE_FILE_MACHINE_AMD64:
+ Reloc->Type = COFF::IMAGE_REL_AMD64_ADDR32NB;
break;
- case Machine::X86:
- Reloc->Type = llvm::COFF::IMAGE_REL_I386_DIR32NB;
+ case COFF::IMAGE_FILE_MACHINE_I386:
+ Reloc->Type = COFF::IMAGE_REL_I386_DIR32NB;
break;
default:
Reloc->Type = 0;
}
- CurrentOffset += sizeof(llvm::object::coff_relocation);
+ CurrentOffset += sizeof(coff_relocation);
}
}
-Error writeWindowsResourceCOFF(StringRef OutputFile, Machine MachineType,
- const WindowsResourceParser &Parser) {
+Expected<std::unique_ptr<MemoryBuffer>>
+writeWindowsResourceCOFF(COFF::MachineTypes MachineType,
+ const WindowsResourceParser &Parser) {
Error E = Error::success();
- WindowsResourceCOFFWriter Writer(OutputFile, MachineType, Parser, E);
+ WindowsResourceCOFFWriter Writer(MachineType, Parser, E);
if (E)
- return E;
+ return std::move(E);
return Writer.write();
}
diff --git a/lib/ObjectYAML/CodeViewYAMLSymbols.cpp b/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
index ba3a2abe2097..83f3d55b8e55 100644
--- a/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
+++ b/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
@@ -40,6 +40,7 @@ LLVM_YAML_DECLARE_ENUM_TRAITS(FrameCookieKind)
LLVM_YAML_DECLARE_BITSET_TRAITS(CompileSym2Flags)
LLVM_YAML_DECLARE_BITSET_TRAITS(CompileSym3Flags)
LLVM_YAML_DECLARE_BITSET_TRAITS(ExportFlags)
+LLVM_YAML_DECLARE_BITSET_TRAITS(PublicSymFlags)
LLVM_YAML_DECLARE_BITSET_TRAITS(LocalSymFlags)
LLVM_YAML_DECLARE_BITSET_TRAITS(ProcSymFlags)
LLVM_YAML_DECLARE_BITSET_TRAITS(FrameProcedureOptions)
@@ -93,6 +94,14 @@ void ScalarBitSetTraits<ExportFlags>::bitset(IO &io, ExportFlags &Flags) {
}
}
+void ScalarBitSetTraits<PublicSymFlags>::bitset(IO &io, PublicSymFlags &Flags) {
+ auto FlagNames = getProcSymFlagNames();
+ for (const auto &E : FlagNames) {
+ io.bitSetCase(Flags, E.Name.str().c_str(),
+ static_cast<PublicSymFlags>(E.Value));
+ }
+}
+
void ScalarBitSetTraits<LocalSymFlags>::bitset(IO &io, LocalSymFlags &Flags) {
auto FlagNames = getLocalFlagNames();
for (const auto &E : FlagNames) {
@@ -277,16 +286,15 @@ template <> void SymbolRecordImpl<ExportSym>::map(IO &IO) {
}
template <> void SymbolRecordImpl<ProcSym>::map(IO &IO) {
- // TODO: Print the linkage name
-
- IO.mapRequired("PtrParent", Symbol.Parent);
- IO.mapRequired("PtrEnd", Symbol.End);
- IO.mapRequired("PtrNext", Symbol.Next);
+ IO.mapOptional("PtrParent", Symbol.Parent, 0U);
+ IO.mapOptional("PtrEnd", Symbol.End, 0U);
+ IO.mapOptional("PtrNext", Symbol.Next, 0U);
IO.mapRequired("CodeSize", Symbol.CodeSize);
IO.mapRequired("DbgStart", Symbol.DbgStart);
IO.mapRequired("DbgEnd", Symbol.DbgEnd);
IO.mapRequired("FunctionType", Symbol.FunctionType);
- IO.mapRequired("Segment", Symbol.Segment);
+ IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
+ IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
IO.mapRequired("Flags", Symbol.Flags);
IO.mapRequired("DisplayName", Symbol.Name);
}
@@ -298,9 +306,9 @@ template <> void SymbolRecordImpl<RegisterSym>::map(IO &IO) {
}
template <> void SymbolRecordImpl<PublicSym32>::map(IO &IO) {
- IO.mapRequired("Type", Symbol.Index);
- IO.mapRequired("Seg", Symbol.Segment);
- IO.mapRequired("Off", Symbol.Offset);
+ IO.mapRequired("Flags", Symbol.Flags);
+ IO.mapOptional("Offset", Symbol.Offset, 0U);
+ IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
IO.mapRequired("Name", Symbol.Name);
}
@@ -316,8 +324,8 @@ template <> void SymbolRecordImpl<EnvBlockSym>::map(IO &IO) {
}
template <> void SymbolRecordImpl<InlineSiteSym>::map(IO &IO) {
- IO.mapRequired("PtrParent", Symbol.Parent);
- IO.mapRequired("PtrEnd", Symbol.End);
+ IO.mapOptional("PtrParent", Symbol.Parent, 0U);
+ IO.mapOptional("PtrEnd", Symbol.End, 0U);
IO.mapRequired("Inlinee", Symbol.Inlinee);
// TODO: The binary annotations
}
@@ -359,17 +367,17 @@ template <> void SymbolRecordImpl<DefRangeRegisterRelSym>::map(IO &IO) {
}
template <> void SymbolRecordImpl<BlockSym>::map(IO &IO) {
- // TODO: Print the linkage name
- IO.mapRequired("PtrParent", Symbol.Parent);
- IO.mapRequired("PtrEnd", Symbol.End);
+ IO.mapOptional("PtrParent", Symbol.Parent, 0U);
+ IO.mapOptional("PtrEnd", Symbol.End, 0U);
IO.mapRequired("CodeSize", Symbol.CodeSize);
- IO.mapRequired("Segment", Symbol.Segment);
+ IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
+ IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
IO.mapRequired("BlockName", Symbol.Name);
}
template <> void SymbolRecordImpl<LabelSym>::map(IO &IO) {
- // TODO: Print the linkage name
- IO.mapRequired("Segment", Symbol.Segment);
+ IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
+ IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
IO.mapRequired("Flags", Symbol.Flags);
IO.mapRequired("Flags", Symbol.Flags);
IO.mapRequired("DisplayName", Symbol.Name);
@@ -419,8 +427,8 @@ template <> void SymbolRecordImpl<FrameProcSym>::map(IO &IO) {
}
template <> void SymbolRecordImpl<CallSiteInfoSym>::map(IO &IO) {
- // TODO: Map Linkage Name
- IO.mapRequired("Segment", Symbol.Segment);
+ IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
+ IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
IO.mapRequired("Type", Symbol.Type);
}
@@ -432,14 +440,13 @@ template <> void SymbolRecordImpl<FileStaticSym>::map(IO &IO) {
}
template <> void SymbolRecordImpl<HeapAllocationSiteSym>::map(IO &IO) {
- // TODO: Map Linkage Name
- IO.mapRequired("Segment", Symbol.Segment);
+ IO.mapOptional("Offset", Symbol.CodeOffset, 0U);
+ IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
IO.mapRequired("CallInstructionSize", Symbol.CallInstructionSize);
IO.mapRequired("Type", Symbol.Type);
}
template <> void SymbolRecordImpl<FrameCookieSym>::map(IO &IO) {
- // TODO: Map Linkage Name
IO.mapRequired("Register", Symbol.Register);
IO.mapRequired("CookieKind", Symbol.CookieKind);
IO.mapRequired("Flags", Symbol.Flags);
@@ -478,14 +485,16 @@ template <> void SymbolRecordImpl<ConstantSym>::map(IO &IO) {
}
template <> void SymbolRecordImpl<DataSym>::map(IO &IO) {
- // TODO: Map linkage name
IO.mapRequired("Type", Symbol.Type);
+ IO.mapOptional("Offset", Symbol.DataOffset, 0U);
+ IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
IO.mapRequired("DisplayName", Symbol.Name);
}
template <> void SymbolRecordImpl<ThreadLocalDataSym>::map(IO &IO) {
- // TODO: Map linkage name
IO.mapRequired("Type", Symbol.Type);
+ IO.mapOptional("Offset", Symbol.DataOffset, 0U);
+ IO.mapOptional("Segment", Symbol.Segment, uint16_t(0));
IO.mapRequired("DisplayName", Symbol.Name);
}
}
diff --git a/lib/ObjectYAML/CodeViewYAMLTypes.cpp b/lib/ObjectYAML/CodeViewYAMLTypes.cpp
index a03b9cd50faa..2d1cb4b1b27b 100644
--- a/lib/ObjectYAML/CodeViewYAMLTypes.cpp
+++ b/lib/ObjectYAML/CodeViewYAMLTypes.cpp
@@ -138,7 +138,7 @@ StringRef ScalarTraits<TypeIndex>::input(StringRef Scalar, void *Ctx,
void ScalarTraits<APSInt>::output(const APSInt &S, void *,
llvm::raw_ostream &OS) {
- S.print(OS, true);
+ S.print(OS, S.isSigned());
}
StringRef ScalarTraits<APSInt>::input(StringRef Scalar, void *Ctx, APSInt &S) {
diff --git a/lib/ObjectYAML/WasmYAML.cpp b/lib/ObjectYAML/WasmYAML.cpp
index 353d027f4e11..65703c6cf683 100644
--- a/lib/ObjectYAML/WasmYAML.cpp
+++ b/lib/ObjectYAML/WasmYAML.cpp
@@ -47,14 +47,22 @@ static void commonSectionMapping(IO &IO, WasmYAML::Section &Section) {
IO.mapOptional("Relocations", Section.Relocations);
}
+static void sectionMapping(IO &IO, WasmYAML::NameSection &Section) {
+ commonSectionMapping(IO, Section);
+ IO.mapRequired("Name", Section.Name);
+ IO.mapOptional("FunctionNames", Section.FunctionNames);
+}
+
+static void sectionMapping(IO &IO, WasmYAML::LinkingSection &Section) {
+ commonSectionMapping(IO, Section);
+ IO.mapRequired("Name", Section.Name);
+ IO.mapRequired("SymbolInfo", Section.SymbolInfos);
+}
+
static void sectionMapping(IO &IO, WasmYAML::CustomSection &Section) {
commonSectionMapping(IO, Section);
IO.mapRequired("Name", Section.Name);
- if (Section.Name == "name") {
- IO.mapOptional("FunctionNames", Section.FunctionNames);
- } else {
- IO.mapRequired("Payload", Section.Payload);
- }
+ IO.mapRequired("Payload", Section.Payload);
}
static void sectionMapping(IO &IO, WasmYAML::TypeSection &Section) {
@@ -121,11 +129,29 @@ void MappingTraits<std::unique_ptr<WasmYAML::Section>>::mapping(
IO.mapRequired("Type", SectionType);
switch (SectionType) {
- case wasm::WASM_SEC_CUSTOM:
- if (!IO.outputting())
- Section.reset(new WasmYAML::CustomSection());
- sectionMapping(IO, *cast<WasmYAML::CustomSection>(Section.get()));
+ case wasm::WASM_SEC_CUSTOM: {
+ StringRef SectionName;
+ if (IO.outputting()) {
+ auto CustomSection = cast<WasmYAML::CustomSection>(Section.get());
+ SectionName = CustomSection->Name;
+ } else {
+ IO.mapRequired("Name", SectionName);
+ }
+ if (SectionName == "linking") {
+ if (!IO.outputting())
+ Section.reset(new WasmYAML::LinkingSection());
+ sectionMapping(IO, *cast<WasmYAML::LinkingSection>(Section.get()));
+ } else if (SectionName == "name") {
+ if (!IO.outputting())
+ Section.reset(new WasmYAML::NameSection());
+ sectionMapping(IO, *cast<WasmYAML::NameSection>(Section.get()));
+ } else {
+ if (!IO.outputting())
+ Section.reset(new WasmYAML::CustomSection(SectionName));
+ sectionMapping(IO, *cast<WasmYAML::CustomSection>(Section.get()));
+ }
break;
+ }
case wasm::WASM_SEC_TYPE:
if (!IO.outputting())
Section.reset(new WasmYAML::TypeSection());
@@ -321,6 +347,12 @@ void MappingTraits<WasmYAML::DataSegment>::mapping(
IO.mapRequired("Content", Segment.Content);
}
+void MappingTraits<WasmYAML::SymbolInfo>::mapping(IO &IO,
+ WasmYAML::SymbolInfo &Info) {
+ IO.mapRequired("Name", Info.Name);
+ IO.mapRequired("Flags", Info.Flags);
+}
+
void ScalarEnumerationTraits<WasmYAML::ValueType>::enumeration(
IO &IO, WasmYAML::ValueType &Type) {
#define ECase(X) IO.enumCase(Type, #X, wasm::WASM_TYPE_##X);
diff --git a/lib/Option/OptTable.cpp b/lib/Option/OptTable.cpp
index 52a81ff0e159..acb9e8d015bc 100644
--- a/lib/Option/OptTable.cpp
+++ b/lib/Option/OptTable.cpp
@@ -194,6 +194,37 @@ static unsigned matchOption(const OptTable::Info *I, StringRef Str,
return 0;
}
+// Returns true if one of the Prefixes + In.Names matches Option
+static bool optionMatches(const OptTable::Info &In, StringRef Option) {
+ if (In.Values && In.Prefixes)
+ for (size_t I = 0; In.Prefixes[I]; I++)
+ if (Option == std::string(In.Prefixes[I]) + In.Name)
+ return true;
+ return false;
+}
+
+// This function is for flag value completion.
+// Eg. When "-stdlib=" and "l" was passed to this function, it will return
+// appropiriate values for stdlib, which starts with l.
+std::vector<std::string>
+OptTable::suggestValueCompletions(StringRef Option, StringRef Arg) const {
+ // Search all options and return possible values.
+ for (const Info &In : OptionInfos.slice(FirstSearchableIndex)) {
+ if (!optionMatches(In, Option))
+ continue;
+
+ SmallVector<StringRef, 8> Candidates;
+ StringRef(In.Values).split(Candidates, ",", -1, false);
+
+ std::vector<std::string> Result;
+ for (StringRef Val : Candidates)
+ if (Val.startswith(Arg))
+ Result.push_back(Val);
+ return Result;
+ }
+ return {};
+}
+
std::vector<std::string> OptTable::findByPrefix(StringRef Cur) const {
std::vector<std::string> Ret;
for (const Info &In : OptionInfos.slice(FirstSearchableIndex)) {
@@ -336,6 +367,9 @@ static std::string getOptionHelpName(const OptTable &Opts, OptSpecifier Id) {
case Option::FlagClass:
break;
+ case Option::ValuesClass:
+ break;
+
case Option::SeparateClass: case Option::JoinedOrSeparateClass:
case Option::RemainingArgsClass: case Option::RemainingArgsJoinedClass:
Name += ' ';
diff --git a/lib/Option/Option.cpp b/lib/Option/Option.cpp
index 4832e659f026..bf9f040bde52 100644
--- a/lib/Option/Option.cpp
+++ b/lib/Option/Option.cpp
@@ -47,6 +47,7 @@ void Option::print(raw_ostream &O) const {
P(UnknownClass);
P(FlagClass);
P(JoinedClass);
+ P(ValuesClass);
P(SeparateClass);
P(CommaJoinedClass);
P(MultiArgClass);
diff --git a/lib/Passes/PassBuilder.cpp b/lib/Passes/PassBuilder.cpp
index afd66f55720a..78d5ea955e64 100644
--- a/lib/Passes/PassBuilder.cpp
+++ b/lib/Passes/PassBuilder.cpp
@@ -464,10 +464,15 @@ static void addPGOInstrPasses(ModulePassManager &MPM, bool DebugLogging,
if (RunProfileGen) {
MPM.addPass(PGOInstrumentationGen());
+ FunctionPassManager FPM;
+ FPM.addPass(createFunctionToLoopPassAdaptor(LoopRotatePass()));
+ MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
+
// Add the profile lowering pass.
InstrProfOptions Options;
if (!ProfileGenFile.empty())
Options.InstrProfileOutput = ProfileGenFile;
+ Options.DoCounterPromotion = true;
MPM.addPass(InstrProfiling(Options));
}
@@ -923,9 +928,6 @@ ModulePassManager PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
MainFPM.add(AlignmentFromAssumptionsPass());
#endif
- // FIXME: Conditionally run LoadCombine here, after it's ported
- // (in case we still have this pass, given its questionable usefulness).
-
// FIXME: add peephole extensions to the PM here.
MainFPM.addPass(InstCombinePass());
MainFPM.addPass(JumpThreadingPass());
diff --git a/lib/ProfileData/Coverage/CoverageMapping.cpp b/lib/ProfileData/Coverage/CoverageMapping.cpp
index 015b3c6c2021..4534e086b39e 100644
--- a/lib/ProfileData/Coverage/CoverageMapping.cpp
+++ b/lib/ProfileData/Coverage/CoverageMapping.cpp
@@ -1,4 +1,4 @@
-//===- CoverageMapping.cpp - Code coverage mapping support ------*- C++ -*-===//
+//===- CoverageMapping.cpp - Code coverage mapping support ----------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -200,6 +200,9 @@ Error CoverageMapping::loadFunctionRecord(
const CoverageMappingRecord &Record,
IndexedInstrProfReader &ProfileReader) {
StringRef OrigFuncName = Record.FunctionName;
+ if (OrigFuncName.empty())
+ return make_error<CoverageMapError>(coveragemap_error::malformed);
+
if (Record.Filenames.empty())
OrigFuncName = getFuncNameWithoutPrefix(OrigFuncName);
else
@@ -300,8 +303,8 @@ namespace {
/// An instantiation set is a collection of functions that have the same source
/// code, ie, template functions specializations.
class FunctionInstantiationSetCollector {
- typedef DenseMap<std::pair<unsigned, unsigned>,
- std::vector<const FunctionRecord *>> MapT;
+ using MapT = DenseMap<std::pair<unsigned, unsigned>,
+ std::vector<const FunctionRecord *>>;
MapT InstantiatedFunctions;
public:
@@ -315,7 +318,6 @@ public:
}
MapT::iterator begin() { return InstantiatedFunctions.begin(); }
-
MapT::iterator end() { return InstantiatedFunctions.end(); }
};
diff --git a/lib/ProfileData/Coverage/CoverageMappingReader.cpp b/lib/ProfileData/Coverage/CoverageMappingReader.cpp
index a34f359cd542..fff0a03ccbe0 100644
--- a/lib/ProfileData/Coverage/CoverageMappingReader.cpp
+++ b/lib/ProfileData/Coverage/CoverageMappingReader.cpp
@@ -1,4 +1,4 @@
-//===- CoverageMappingReader.cpp - Code coverage mapping reader -*- C++ -*-===//
+//===- CoverageMappingReader.cpp - Code coverage mapping reader -----------===//
//
// The LLVM Compiler Infrastructure
//
@@ -62,7 +62,7 @@ void CoverageMappingIterator::increment() {
}
Error RawCoverageReader::readULEB128(uint64_t &Result) {
- if (Data.size() < 1)
+ if (Data.empty())
return make_error<CoverageMapError>(coveragemap_error::truncated);
unsigned N = 0;
Result = decodeULEB128(reinterpret_cast<const uint8_t *>(Data.data()), &N);
@@ -392,9 +392,9 @@ struct CovMapFuncRecordReader {
// A class for reading coverage mapping function records for a module.
template <CovMapVersion Version, class IntPtrT, support::endianness Endian>
class VersionedCovMapFuncRecordReader : public CovMapFuncRecordReader {
- typedef typename CovMapTraits<
- Version, IntPtrT>::CovMapFuncRecordType FuncRecordType;
- typedef typename CovMapTraits<Version, IntPtrT>::NameRefType NameRefType;
+ using FuncRecordType =
+ typename CovMapTraits<Version, IntPtrT>::CovMapFuncRecordType;
+ using NameRefType = typename CovMapTraits<Version, IntPtrT>::NameRefType;
// Maps function's name references to the indexes of their records
// in \c Records.
@@ -419,6 +419,8 @@ class VersionedCovMapFuncRecordReader : public CovMapFuncRecordReader {
StringRef FuncName;
if (Error Err = CFR->template getFuncName<Endian>(ProfileNames, FuncName))
return Err;
+ if (FuncName.empty())
+ return make_error<InstrProfError>(instrprof_error::malformed);
Records.emplace_back(Version, FuncName, FuncHash, Mapping, FilenamesBegin,
Filenames.size() - FilenamesBegin);
return Error::success();
@@ -574,7 +576,7 @@ static Error loadTestingFormat(StringRef Data, InstrProfSymtab &ProfileNames,
Endian = support::endianness::little;
Data = Data.substr(StringRef(TestingFormatMagic).size());
- if (Data.size() < 1)
+ if (Data.empty())
return make_error<CoverageMapError>(coveragemap_error::truncated);
unsigned N = 0;
auto ProfileNamesSize =
@@ -582,7 +584,7 @@ static Error loadTestingFormat(StringRef Data, InstrProfSymtab &ProfileNames,
if (N > Data.size())
return make_error<CoverageMapError>(coveragemap_error::malformed);
Data = Data.substr(N);
- if (Data.size() < 1)
+ if (Data.empty())
return make_error<CoverageMapError>(coveragemap_error::truncated);
N = 0;
uint64_t Address =
@@ -596,7 +598,7 @@ static Error loadTestingFormat(StringRef Data, InstrProfSymtab &ProfileNames,
return E;
CoverageMapping = Data.substr(ProfileNamesSize);
// Skip the padding bytes because coverage map data has an alignment of 8.
- if (CoverageMapping.size() < 1)
+ if (CoverageMapping.empty())
return make_error<CoverageMapError>(coveragemap_error::truncated);
size_t Pad = alignmentAdjustment(CoverageMapping.data(), 8);
if (CoverageMapping.size() < Pad)
diff --git a/lib/ProfileData/InstrProf.cpp b/lib/ProfileData/InstrProf.cpp
index c9b82c303e33..005061c4f068 100644
--- a/lib/ProfileData/InstrProf.cpp
+++ b/lib/ProfileData/InstrProf.cpp
@@ -330,14 +330,15 @@ GlobalVariable *createPGOFuncNameVar(Function &F, StringRef PGOFuncName) {
return createPGOFuncNameVar(*F.getParent(), F.getLinkage(), PGOFuncName);
}
-void InstrProfSymtab::create(Module &M, bool InLTO) {
+Error InstrProfSymtab::create(Module &M, bool InLTO) {
for (Function &F : M) {
// Function may not have a name: like using asm("") to overwrite the name.
// Ignore in this case.
if (!F.hasName())
continue;
const std::string &PGOFuncName = getPGOFuncName(F, InLTO);
- addFuncName(PGOFuncName);
+ if (Error E = addFuncName(PGOFuncName))
+ return E;
MD5FuncMap.emplace_back(Function::getGUID(PGOFuncName), &F);
// In ThinLTO, local function may have been promoted to global and have
// suffix added to the function name. We need to add the stripped function
@@ -346,13 +347,15 @@ void InstrProfSymtab::create(Module &M, bool InLTO) {
auto pos = PGOFuncName.find('.');
if (pos != std::string::npos) {
const std::string &OtherFuncName = PGOFuncName.substr(0, pos);
- addFuncName(OtherFuncName);
+ if (Error E = addFuncName(OtherFuncName))
+ return E;
MD5FuncMap.emplace_back(Function::getGUID(OtherFuncName), &F);
}
}
}
finalizeSymtab();
+ return Error::success();
}
Error collectPGOFuncNameStrings(ArrayRef<std::string> NameStrs,
@@ -447,7 +450,8 @@ Error readPGOFuncNameStrings(StringRef NameStrings, InstrProfSymtab &Symtab) {
SmallVector<StringRef, 0> Names;
NameStrings.split(Names, getInstrProfNameSeparator());
for (StringRef &Name : Names)
- Symtab.addFuncName(Name);
+ if (Error E = Symtab.addFuncName(Name))
+ return E;
while (P < EndP && *P == 0)
P++;
diff --git a/lib/ProfileData/InstrProfReader.cpp b/lib/ProfileData/InstrProfReader.cpp
index d9f599f400da..1ed1fb8b6f0b 100644
--- a/lib/ProfileData/InstrProfReader.cpp
+++ b/lib/ProfileData/InstrProfReader.cpp
@@ -200,7 +200,8 @@ TextInstrProfReader::readValueProfileData(InstrProfRecord &Record) {
std::pair<StringRef, StringRef> VD = Line->rsplit(':');
uint64_t TakenCount, Value;
if (ValueKind == IPVK_IndirectCallTarget) {
- Symtab->addFuncName(VD.first);
+ if (Error E = Symtab->addFuncName(VD.first))
+ return E;
Value = IndexedInstrProf::ComputeHash(VD.first);
} else {
READ_NUM(VD.first, Value);
@@ -232,7 +233,8 @@ Error TextInstrProfReader::readNextRecord(InstrProfRecord &Record) {
// Read the function name.
Record.Name = *Line++;
- Symtab->addFuncName(Record.Name);
+ if (Error E = Symtab->addFuncName(Record.Name))
+ return E;
// Read the function hash.
if (Line.is_at_end())
@@ -482,8 +484,8 @@ InstrProfLookupTrait::ComputeHash(StringRef K) {
return IndexedInstrProf::ComputeHash(HashType, K);
}
-typedef InstrProfLookupTrait::data_type data_type;
-typedef InstrProfLookupTrait::offset_type offset_type;
+using data_type = InstrProfLookupTrait::data_type;
+using offset_type = InstrProfLookupTrait::offset_type;
bool InstrProfLookupTrait::readValueProfilingData(
const unsigned char *&D, const unsigned char *const End) {
@@ -620,7 +622,7 @@ IndexedInstrProfReader::readSummary(IndexedInstrProf::ProfVersion Version,
for (unsigned I = 0; I < SummarySize / sizeof(uint64_t); I++)
Dst[I] = endian::byte_swap<uint64_t, little>(Src[I]);
- llvm::SummaryEntryVector DetailedSummary;
+ SummaryEntryVector DetailedSummary;
for (unsigned I = 0; I < SummaryData->NumCutoffEntries; I++) {
const IndexedInstrProf::Summary::Entry &Ent = SummaryData->getEntry(I);
DetailedSummary.emplace_back((uint32_t)Ent.Cutoff, Ent.MinBlockCount,
@@ -694,7 +696,9 @@ InstrProfSymtab &IndexedInstrProfReader::getSymtab() {
return *Symtab.get();
std::unique_ptr<InstrProfSymtab> NewSymtab = make_unique<InstrProfSymtab>();
- Index->populateSymtab(*NewSymtab.get());
+ if (Error E = Index->populateSymtab(*NewSymtab.get())) {
+ consumeError(error(InstrProfError::take(std::move(E))));
+ }
Symtab = std::move(NewSymtab);
return *Symtab.get();
diff --git a/lib/ProfileData/InstrProfWriter.cpp b/lib/ProfileData/InstrProfWriter.cpp
index b3402a6ea956..9efea78ed2a8 100644
--- a/lib/ProfileData/InstrProfWriter.cpp
+++ b/lib/ProfileData/InstrProfWriter.cpp
@@ -69,8 +69,7 @@ public:
write(P[K].D[I]);
}
} else {
- raw_string_ostream &SOStream =
- static_cast<llvm::raw_string_ostream &>(OS);
+ raw_string_ostream &SOStream = static_cast<raw_string_ostream &>(OS);
std::string &Data = SOStream.str(); // with flush
for (int K = 0; K < NItems; K++) {
for (int I = 0; I < P[K].N; I++) {
@@ -91,14 +90,14 @@ public:
class InstrProfRecordWriterTrait {
public:
- typedef StringRef key_type;
- typedef StringRef key_type_ref;
+ using key_type = StringRef;
+ using key_type_ref = StringRef;
- typedef const InstrProfWriter::ProfilingData *const data_type;
- typedef const InstrProfWriter::ProfilingData *const data_type_ref;
+ using data_type = const InstrProfWriter::ProfilingData *const;
+ using data_type_ref = const InstrProfWriter::ProfilingData *const;
- typedef uint64_t hash_value_type;
- typedef uint64_t offset_type;
+ using hash_value_type = uint64_t;
+ using offset_type = uint64_t;
support::endianness ValueProfDataEndianness = support::little;
InstrProfSummaryBuilder *SummaryBuilder;
@@ -363,17 +362,19 @@ void InstrProfWriter::writeRecordInText(const InstrProfRecord &Func,
OS << "\n";
}
-void InstrProfWriter::writeText(raw_fd_ostream &OS) {
+Error InstrProfWriter::writeText(raw_fd_ostream &OS) {
if (ProfileKind == PF_IRLevel)
OS << "# IR level Instrumentation Flag\n:ir\n";
InstrProfSymtab Symtab;
for (const auto &I : FunctionData)
if (shouldEncodeData(I.getValue()))
- Symtab.addFuncName(I.getKey());
+ if (Error E = Symtab.addFuncName(I.getKey()))
+ return E;
Symtab.finalizeSymtab();
for (const auto &I : FunctionData)
if (shouldEncodeData(I.getValue()))
for (const auto &Func : I.getValue())
writeRecordInText(Func.second, Symtab, OS);
+ return Error::success();
}
diff --git a/lib/Support/APFloat.cpp b/lib/Support/APFloat.cpp
index f36c25a0ce91..deb76cb565d1 100644
--- a/lib/Support/APFloat.cpp
+++ b/lib/Support/APFloat.cpp
@@ -37,10 +37,6 @@
using namespace llvm;
-// TODO: Remove these and use APInt qualified types directly.
-typedef APInt::WordType integerPart;
-const unsigned int integerPartWidth = APInt::APINT_BITS_PER_WORD;
-
/// A macro used to combine two fcCategory enums into one key which can be used
/// in a switch statement to classify how the interaction of two APFloat's
/// categories affects an operation.
@@ -51,7 +47,7 @@ const unsigned int integerPartWidth = APInt::APINT_BITS_PER_WORD;
/* Assumed in hexadecimal significand parsing, and conversion to
hexadecimal strings. */
-static_assert(integerPartWidth % 4 == 0, "Part width must be divisible by 4!");
+static_assert(APFloatBase::integerPartWidth % 4 == 0, "Part width must be divisible by 4!");
namespace llvm {
/* Represents floating point arithmetic semantics. */
@@ -153,8 +149,7 @@ namespace llvm {
const unsigned int maxExponent = 16383;
const unsigned int maxPrecision = 113;
const unsigned int maxPowerOfFiveExponent = maxExponent + maxPrecision - 1;
- const unsigned int maxPowerOfFiveParts = 2 + ((maxPowerOfFiveExponent * 815)
- / (351 * integerPartWidth));
+ const unsigned int maxPowerOfFiveParts = 2 + ((maxPowerOfFiveExponent * 815) / (351 * APFloatBase::integerPartWidth));
unsigned int APFloatBase::semanticsPrecision(const fltSemantics &semantics) {
return semantics.precision;
@@ -180,7 +175,7 @@ namespace llvm {
static inline unsigned int
partCountForBits(unsigned int bits)
{
- return ((bits) + integerPartWidth - 1) / integerPartWidth;
+ return ((bits) + APFloatBase::integerPartWidth - 1) / APFloatBase::integerPartWidth;
}
/* Returns 0U-9U. Return values >= 10U are not digits. */
@@ -420,7 +415,7 @@ trailingHexadecimalFraction(StringRef::iterator p, StringRef::iterator end,
/* Return the fraction lost were a bignum truncated losing the least
significant BITS bits. */
static lostFraction
-lostFractionThroughTruncation(const integerPart *parts,
+lostFractionThroughTruncation(const APFloatBase::integerPart *parts,
unsigned int partCount,
unsigned int bits)
{
@@ -433,7 +428,7 @@ lostFractionThroughTruncation(const integerPart *parts,
return lfExactlyZero;
if (bits == lsb + 1)
return lfExactlyHalf;
- if (bits <= partCount * integerPartWidth &&
+ if (bits <= partCount * APFloatBase::integerPartWidth &&
APInt::tcExtractBit(parts, bits - 1))
return lfMoreThanHalf;
@@ -442,7 +437,7 @@ lostFractionThroughTruncation(const integerPart *parts,
/* Shift DST right BITS bits noting lost fraction. */
static lostFraction
-shiftRight(integerPart *dst, unsigned int parts, unsigned int bits)
+shiftRight(APFloatBase::integerPart *dst, unsigned int parts, unsigned int bits)
{
lostFraction lost_fraction;
@@ -489,22 +484,22 @@ HUerrBound(bool inexactMultiply, unsigned int HUerr1, unsigned int HUerr2)
/* The number of ulps from the boundary (zero, or half if ISNEAREST)
when the least significant BITS are truncated. BITS cannot be
zero. */
-static integerPart
-ulpsFromBoundary(const integerPart *parts, unsigned int bits, bool isNearest)
-{
+static APFloatBase::integerPart
+ulpsFromBoundary(const APFloatBase::integerPart *parts, unsigned int bits,
+ bool isNearest) {
unsigned int count, partBits;
- integerPart part, boundary;
+ APFloatBase::integerPart part, boundary;
assert(bits != 0);
bits--;
- count = bits / integerPartWidth;
- partBits = bits % integerPartWidth + 1;
+ count = bits / APFloatBase::integerPartWidth;
+ partBits = bits % APFloatBase::integerPartWidth + 1;
- part = parts[count] & (~(integerPart) 0 >> (integerPartWidth - partBits));
+ part = parts[count] & (~(APFloatBase::integerPart) 0 >> (APFloatBase::integerPartWidth - partBits));
if (isNearest)
- boundary = (integerPart) 1 << (partBits - 1);
+ boundary = (APFloatBase::integerPart) 1 << (partBits - 1);
else
boundary = 0;
@@ -518,32 +513,30 @@ ulpsFromBoundary(const integerPart *parts, unsigned int bits, bool isNearest)
if (part == boundary) {
while (--count)
if (parts[count])
- return ~(integerPart) 0; /* A lot. */
+ return ~(APFloatBase::integerPart) 0; /* A lot. */
return parts[0];
} else if (part == boundary - 1) {
while (--count)
if (~parts[count])
- return ~(integerPart) 0; /* A lot. */
+ return ~(APFloatBase::integerPart) 0; /* A lot. */
return -parts[0];
}
- return ~(integerPart) 0; /* A lot. */
+ return ~(APFloatBase::integerPart) 0; /* A lot. */
}
/* Place pow(5, power) in DST, and return the number of parts used.
DST must be at least one part larger than size of the answer. */
static unsigned int
-powerOf5(integerPart *dst, unsigned int power)
-{
- static const integerPart firstEightPowers[] = { 1, 5, 25, 125, 625, 3125,
- 15625, 78125 };
- integerPart pow5s[maxPowerOfFiveParts * 2 + 5];
+powerOf5(APFloatBase::integerPart *dst, unsigned int power) {
+ static const APFloatBase::integerPart firstEightPowers[] = { 1, 5, 25, 125, 625, 3125, 15625, 78125 };
+ APFloatBase::integerPart pow5s[maxPowerOfFiveParts * 2 + 5];
pow5s[0] = 78125 * 5;
unsigned int partsCount[16] = { 1 };
- integerPart scratch[maxPowerOfFiveParts], *p1, *p2, *pow5;
+ APFloatBase::integerPart scratch[maxPowerOfFiveParts], *p1, *p2, *pow5;
unsigned int result;
assert(power <= maxExponent);
@@ -572,7 +565,7 @@ powerOf5(integerPart *dst, unsigned int power)
}
if (power & 1) {
- integerPart *tmp;
+ APFloatBase::integerPart *tmp;
APInt::tcFullMultiply(p2, p1, pow5, result, pc);
result += pc;
@@ -608,14 +601,14 @@ static const char NaNU[] = "NAN";
significant nibble. Write out exactly COUNT hexdigits, return
COUNT. */
static unsigned int
-partAsHex (char *dst, integerPart part, unsigned int count,
+partAsHex (char *dst, APFloatBase::integerPart part, unsigned int count,
const char *hexDigitChars)
{
unsigned int result = count;
- assert(count != 0 && count <= integerPartWidth / 4);
+ assert(count != 0 && count <= APFloatBase::integerPartWidth / 4);
- part >>= (integerPartWidth - 4 * count);
+ part >>= (APFloatBase::integerPartWidth - 4 * count);
while (count--) {
dst[count] = hexDigitChars[part & 0xf];
part >>= 4;
@@ -889,11 +882,11 @@ unsigned int IEEEFloat::partCount() const {
return partCountForBits(semantics->precision + 1);
}
-const integerPart *IEEEFloat::significandParts() const {
+const IEEEFloat::integerPart *IEEEFloat::significandParts() const {
return const_cast<IEEEFloat *>(this)->significandParts();
}
-integerPart *IEEEFloat::significandParts() {
+IEEEFloat::integerPart *IEEEFloat::significandParts() {
if (partCount() > 1)
return significand.parts;
else
@@ -916,7 +909,7 @@ void IEEEFloat::incrementSignificand() {
}
/* Add the significand of the RHS. Returns the carry flag. */
-integerPart IEEEFloat::addSignificand(const IEEEFloat &rhs) {
+IEEEFloat::integerPart IEEEFloat::addSignificand(const IEEEFloat &rhs) {
integerPart *parts;
parts = significandParts();
@@ -929,8 +922,8 @@ integerPart IEEEFloat::addSignificand(const IEEEFloat &rhs) {
/* Subtract the significand of the RHS with a borrow flag. Returns
the borrow flag. */
-integerPart IEEEFloat::subtractSignificand(const IEEEFloat &rhs,
- integerPart borrow) {
+IEEEFloat::integerPart IEEEFloat::subtractSignificand(const IEEEFloat &rhs,
+ integerPart borrow) {
integerPart *parts;
parts = significandParts();
diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp
index e9716e3b1e87..c558ddd82161 100644
--- a/lib/Support/APInt.cpp
+++ b/lib/Support/APInt.cpp
@@ -546,10 +546,7 @@ unsigned APInt::countLeadingZerosSlowCase() const {
return Count;
}
-unsigned APInt::countLeadingOnes() const {
- if (isSingleWord())
- return llvm::countLeadingOnes(U.VAL << (APINT_BITS_PER_WORD - BitWidth));
-
+unsigned APInt::countLeadingOnesSlowCase() const {
unsigned highWordBits = BitWidth % APINT_BITS_PER_WORD;
unsigned shift;
if (!highWordBits) {
@@ -573,9 +570,7 @@ unsigned APInt::countLeadingOnes() const {
return Count;
}
-unsigned APInt::countTrailingZeros() const {
- if (isSingleWord())
- return std::min(unsigned(llvm::countTrailingZeros(U.VAL)), BitWidth);
+unsigned APInt::countTrailingZerosSlowCase() const {
unsigned Count = 0;
unsigned i = 0;
for (; i < getNumWords() && U.pVal[i] == 0; ++i)
diff --git a/lib/Support/BinaryStreamReader.cpp b/lib/Support/BinaryStreamReader.cpp
index bfb658cfa0b7..e00527f2519e 100644
--- a/lib/Support/BinaryStreamReader.cpp
+++ b/lib/Support/BinaryStreamReader.cpp
@@ -109,6 +109,12 @@ Error BinaryStreamReader::readStreamRef(BinaryStreamRef &Ref, uint32_t Length) {
return Error::success();
}
+Error BinaryStreamReader::readSubstream(BinarySubstreamRef &Stream,
+ uint32_t Size) {
+ Stream.Offset = getOffset();
+ return readStreamRef(Stream.StreamData, Size);
+}
+
Error BinaryStreamReader::skip(uint32_t Amount) {
if (Amount > bytesRemaining())
return make_error<BinaryStreamError>(stream_error_code::stream_too_short);
diff --git a/lib/Support/CachePruning.cpp b/lib/Support/CachePruning.cpp
index aca123639565..60d0964f2764 100644
--- a/lib/Support/CachePruning.cpp
+++ b/lib/Support/CachePruning.cpp
@@ -82,7 +82,7 @@ llvm::parseCachePruningPolicy(StringRef PolicyStr) {
if (Value.back() != '%')
return make_error<StringError>("'" + Value + "' must be a percentage",
inconvertibleErrorCode());
- StringRef SizeStr = Value.slice(0, Value.size() - 1);
+ StringRef SizeStr = Value.drop_back();
uint64_t Size;
if (SizeStr.getAsInteger(0, Size))
return make_error<StringError>("'" + SizeStr + "' not an integer",
@@ -91,7 +91,28 @@ llvm::parseCachePruningPolicy(StringRef PolicyStr) {
return make_error<StringError>("'" + SizeStr +
"' must be between 0 and 100",
inconvertibleErrorCode());
- Policy.PercentageOfAvailableSpace = Size;
+ Policy.MaxSizePercentageOfAvailableSpace = Size;
+ } else if (Key == "cache_size_bytes") {
+ uint64_t Mult = 1;
+ switch (tolower(Value.back())) {
+ case 'k':
+ Mult = 1024;
+ Value = Value.drop_back();
+ break;
+ case 'm':
+ Mult = 1024 * 1024;
+ Value = Value.drop_back();
+ break;
+ case 'g':
+ Mult = 1024 * 1024 * 1024;
+ Value = Value.drop_back();
+ break;
+ }
+ uint64_t Size;
+ if (Value.getAsInteger(0, Size))
+ return make_error<StringError>("'" + Value + "' not an integer",
+ inconvertibleErrorCode());
+ Policy.MaxSizeBytes = Size * Mult;
} else {
return make_error<StringError>("Unknown key: '" + Key + "'",
inconvertibleErrorCode());
@@ -115,11 +136,12 @@ bool llvm::pruneCache(StringRef Path, CachePruningPolicy Policy) {
if (!isPathDir)
return false;
- Policy.PercentageOfAvailableSpace =
- std::min(Policy.PercentageOfAvailableSpace, 100u);
+ Policy.MaxSizePercentageOfAvailableSpace =
+ std::min(Policy.MaxSizePercentageOfAvailableSpace, 100u);
if (Policy.Expiration == seconds(0) &&
- Policy.PercentageOfAvailableSpace == 0) {
+ Policy.MaxSizePercentageOfAvailableSpace == 0 &&
+ Policy.MaxSizeBytes == 0) {
DEBUG(dbgs() << "No pruning settings set, exit early\n");
// Nothing will be pruned, early exit
return false;
@@ -157,7 +179,8 @@ bool llvm::pruneCache(StringRef Path, CachePruningPolicy Policy) {
writeTimestampFile(TimestampFile);
}
- bool ShouldComputeSize = (Policy.PercentageOfAvailableSpace > 0);
+ bool ShouldComputeSize =
+ (Policy.MaxSizePercentageOfAvailableSpace > 0 || Policy.MaxSizeBytes > 0);
// Keep track of space
std::set<std::pair<uint64_t, std::string>> FileSizes;
@@ -216,14 +239,22 @@ bool llvm::pruneCache(StringRef Path, CachePruningPolicy Policy) {
}
sys::fs::space_info SpaceInfo = ErrOrSpaceInfo.get();
auto AvailableSpace = TotalSize + SpaceInfo.free;
- auto FileAndSize = FileSizes.rbegin();
+
+ if (Policy.MaxSizePercentageOfAvailableSpace == 0)
+ Policy.MaxSizePercentageOfAvailableSpace = 100;
+ if (Policy.MaxSizeBytes == 0)
+ Policy.MaxSizeBytes = AvailableSpace;
+ auto TotalSizeTarget = std::min<uint64_t>(
+ AvailableSpace * Policy.MaxSizePercentageOfAvailableSpace / 100ull,
+ Policy.MaxSizeBytes);
+
DEBUG(dbgs() << "Occupancy: " << ((100 * TotalSize) / AvailableSpace)
- << "% target is: " << Policy.PercentageOfAvailableSpace
- << "\n");
+ << "% target is: " << Policy.MaxSizePercentageOfAvailableSpace
+ << "%, " << Policy.MaxSizeBytes << " bytes\n");
+
+ auto FileAndSize = FileSizes.rbegin();
// Remove the oldest accessed files first, till we get below the threshold
- while (((100 * TotalSize) / AvailableSpace) >
- Policy.PercentageOfAvailableSpace &&
- FileAndSize != FileSizes.rend()) {
+ while (TotalSize > TotalSizeTarget && FileAndSize != FileSizes.rend()) {
// Remove the file.
sys::fs::remove(FileAndSize->second);
// Update size
diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp
index de0ca940b405..0345a5e3d2a1 100644
--- a/lib/Support/CommandLine.cpp
+++ b/lib/Support/CommandLine.cpp
@@ -24,6 +24,7 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Config/config.h"
@@ -1522,13 +1523,9 @@ bool parser<unsigned long long>::parse(Option &O, StringRef ArgName,
// parser<double>/parser<float> implementation
//
static bool parseDouble(Option &O, StringRef Arg, double &Value) {
- SmallString<32> TmpStr(Arg.begin(), Arg.end());
- const char *ArgStart = TmpStr.c_str();
- char *End;
- Value = strtod(ArgStart, &End);
- if (*End != 0)
- return O.error("'" + Arg + "' value invalid for floating point argument!");
- return false;
+ if (to_float(Arg, Value))
+ return false;
+ return O.error("'" + Arg + "' value invalid for floating point argument!");
}
bool parser<double>::parse(Option &O, StringRef ArgName, StringRef Arg,
diff --git a/lib/Support/DataExtractor.cpp b/lib/Support/DataExtractor.cpp
index 53c10bcc562e..0199b300ba72 100644
--- a/lib/Support/DataExtractor.cpp
+++ b/lib/Support/DataExtractor.cpp
@@ -68,6 +68,13 @@ uint16_t *DataExtractor::getU16(uint32_t *offset_ptr, uint16_t *dst,
Data.data());
}
+uint32_t DataExtractor::getU24(uint32_t *offset_ptr) const {
+ uint24_t ExtractedVal =
+ getU<uint24_t>(offset_ptr, this, IsLittleEndian, Data.data());
+ // The 3 bytes are in the correct byte order for the host.
+ return ExtractedVal.getAsUint32(sys::IsLittleEndianHost);
+}
+
uint32_t DataExtractor::getU32(uint32_t *offset_ptr) const {
return getU<uint32_t>(offset_ptr, this, IsLittleEndian, Data.data());
}
diff --git a/lib/Support/GraphWriter.cpp b/lib/Support/GraphWriter.cpp
index f70b77da8de4..e04bd8bb3b9a 100644
--- a/lib/Support/GraphWriter.cpp
+++ b/lib/Support/GraphWriter.cpp
@@ -1,4 +1,4 @@
-//===-- GraphWriter.cpp - Implements GraphWriter support routines ---------===//
+//===- GraphWriter.cpp - Implements GraphWriter support routines ----------===//
//
// The LLVM Compiler Infrastructure
//
@@ -12,10 +12,22 @@
//===----------------------------------------------------------------------===//
#include "llvm/Support/GraphWriter.h"
+#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/Config/config.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/Compiler.h"
+#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Program.h"
+#include "llvm/Support/raw_ostream.h"
+#include <cassert>
+#include <system_error>
+#include <string>
+#include <vector>
+
using namespace llvm;
static cl::opt<bool> ViewBackground("view-background", cl::Hidden,
@@ -99,8 +111,10 @@ static bool ExecGraphViewer(StringRef ExecPath, std::vector<const char *> &args,
}
namespace {
+
struct GraphSession {
std::string LogBuffer;
+
bool TryFindProgram(StringRef Names, std::string &ProgramPath) {
raw_string_ostream Log(LogBuffer);
SmallVector<StringRef, 8> parts;
@@ -115,7 +129,8 @@ struct GraphSession {
return false;
}
};
-} // namespace
+
+} // end anonymous namespace
static const char *getProgramName(GraphProgram::Name program) {
switch (program) {
diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
index 320aede79fbb..2687a67556d3 100644
--- a/lib/Support/Triple.cpp
+++ b/lib/Support/Triple.cpp
@@ -174,6 +174,7 @@ StringRef Triple::getOSTypeName(OSType Kind) {
switch (Kind) {
case UnknownOS: return "unknown";
+ case Ananas: return "ananas";
case CloudABI: return "cloudabi";
case Darwin: return "darwin";
case DragonFly: return "dragonfly";
@@ -455,6 +456,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) {
static Triple::OSType parseOS(StringRef OSName) {
return StringSwitch<Triple::OSType>(OSName)
+ .StartsWith("ananas", Triple::Ananas)
.StartsWith("cloudabi", Triple::CloudABI)
.StartsWith("darwin", Triple::Darwin)
.StartsWith("dragonfly", Triple::DragonFly)
diff --git a/lib/Support/Unix/Host.inc b/lib/Support/Unix/Host.inc
index 457217125a22..0ba6a25aa198 100644
--- a/lib/Support/Unix/Host.inc
+++ b/lib/Support/Unix/Host.inc
@@ -45,5 +45,11 @@ std::string sys::getDefaultTargetTriple() {
TargetTripleString += getOSVersion();
}
+ // Override the default target with an environment variable named by LLVM_TARGET_TRIPLE_ENV.
+#if defined(LLVM_TARGET_TRIPLE_ENV)
+ if (const char *EnvTriple = std::getenv(LLVM_TARGET_TRIPLE_ENV))
+ TargetTripleString = EnvTriple;
+#endif
+
return Triple::normalize(TargetTripleString);
}
diff --git a/lib/Support/Unix/Memory.inc b/lib/Support/Unix/Memory.inc
index edbc7938f0cb..dd39ef935bf9 100644
--- a/lib/Support/Unix/Memory.inc
+++ b/lib/Support/Unix/Memory.inc
@@ -195,6 +195,10 @@ Memory::AllocateRWX(size_t NumBytes, const MemoryBlock* NearBlock,
#if defined(__APPLE__) && (defined(__arm__) || defined(__arm64__))
void *pa = ::mmap(start, PageSize*NumPages, PROT_READ|PROT_EXEC,
flags, fd, 0);
+#elif defined(__NetBSD__) && defined(PROT_MPROTECT)
+ void *pa =
+ ::mmap(start, PageSize * NumPages,
+ PROT_READ | PROT_WRITE | PROT_MPROTECT(PROT_EXEC), flags, fd, 0);
#else
void *pa = ::mmap(start, PageSize*NumPages, PROT_READ|PROT_WRITE|PROT_EXEC,
flags, fd, 0);
diff --git a/lib/Support/Unix/Program.inc b/lib/Support/Unix/Program.inc
index 2df0eaff47e5..1704fa479942 100644
--- a/lib/Support/Unix/Program.inc
+++ b/lib/Support/Unix/Program.inc
@@ -449,11 +449,22 @@ bool llvm::sys::commandLineFitsWithinSystemLimits(StringRef Program, ArrayRef<co
size_t ArgLength = Program.size() + 1;
for (ArrayRef<const char*>::iterator I = Args.begin(), E = Args.end();
I != E; ++I) {
- ArgLength += strlen(*I) + 1;
+ size_t length = strlen(*I);
+
+ // Ensure that we do not exceed the MAX_ARG_STRLEN constant on Linux, which
+ // does not have a constant unlike what the man pages would have you
+ // believe. Since this limit is pretty high, perform the check
+ // unconditionally rather than trying to be aggressive and limiting it to
+ // Linux only.
+ if (length >= (32 * 4096))
+ return false;
+
+ ArgLength += length + 1;
if (ArgLength > size_t(HalfArgMax)) {
return false;
}
}
+
return true;
}
}
diff --git a/lib/Support/Windows/Host.inc b/lib/Support/Windows/Host.inc
index fe89fe0aad8c..7e196cf0ce18 100644
--- a/lib/Support/Windows/Host.inc
+++ b/lib/Support/Windows/Host.inc
@@ -18,5 +18,13 @@
using namespace llvm;
std::string sys::getDefaultTargetTriple() {
- return Triple::normalize(LLVM_DEFAULT_TARGET_TRIPLE);
+ const char *Triple = LLVM_DEFAULT_TARGET_TRIPLE;
+
+ // Override the default target with an environment variable named by LLVM_TARGET_TRIPLE_ENV.
+#if defined(LLVM_TARGET_TRIPLE_ENV)
+ if (const char *EnvTriple = std::getenv(LLVM_TARGET_TRIPLE_ENV))
+ Triple = EnvTriple;
+#endif
+
+ return Triple::normalize(Triple);
}
diff --git a/lib/Support/YAMLParser.cpp b/lib/Support/YAMLParser.cpp
index 01ae3214453d..e2f21a56a810 100644
--- a/lib/Support/YAMLParser.cpp
+++ b/lib/Support/YAMLParser.cpp
@@ -1,4 +1,4 @@
-//===--- YAMLParser.cpp - Simple YAML parser ------------------------------===//
+//===- YAMLParser.cpp - Simple YAML parser --------------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -13,15 +13,29 @@
#include "llvm/Support/YAMLParser.h"
#include "llvm/ADT/AllocatorList.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MemoryBuffer.h"
+#include "llvm/Support/SMLoc.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/raw_ostream.h"
+#include <algorithm>
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <map>
+#include <memory>
+#include <string>
+#include <system_error>
+#include <utility>
using namespace llvm;
using namespace yaml;
@@ -37,7 +51,7 @@ enum UnicodeEncodingForm {
/// EncodingInfo - Holds the encoding type and length of the byte order mark if
/// it exists. Length is in {0, 2, 3, 4}.
-typedef std::pair<UnicodeEncodingForm, unsigned> EncodingInfo;
+using EncodingInfo = std::pair<UnicodeEncodingForm, unsigned>;
/// getUnicodeEncoding - Reads up to the first 4 bytes to determine the Unicode
/// encoding form of \a Input.
@@ -46,7 +60,7 @@ typedef std::pair<UnicodeEncodingForm, unsigned> EncodingInfo;
/// @returns An EncodingInfo indicating the Unicode encoding form of the input
/// and how long the byte order mark is if one exists.
static EncodingInfo getUnicodeEncoding(StringRef Input) {
- if (Input.size() == 0)
+ if (Input.empty())
return std::make_pair(UEF_Unknown, 0);
switch (uint8_t(Input[0])) {
@@ -95,8 +109,6 @@ static EncodingInfo getUnicodeEncoding(StringRef Input) {
return std::make_pair(UEF_UTF8, 0);
}
-namespace llvm {
-namespace yaml {
/// Pin the vtables to this file.
void Node::anchor() {}
void NullNode::anchor() {}
@@ -107,6 +119,9 @@ void MappingNode::anchor() {}
void SequenceNode::anchor() {}
void AliasNode::anchor() {}
+namespace llvm {
+namespace yaml {
+
/// Token - A single YAML token.
struct Token {
enum TokenKind {
@@ -133,7 +148,7 @@ struct Token {
TK_Alias,
TK_Anchor,
TK_Tag
- } Kind;
+ } Kind = TK_Error;
/// A string of length 0 or more whose begin() points to the logical location
/// of the token in the input.
@@ -142,14 +157,16 @@ struct Token {
/// The value of a block scalar node.
std::string Value;
- Token() : Kind(TK_Error) {}
+ Token() = default;
};
-}
-}
-typedef llvm::BumpPtrList<Token> TokenQueueT;
+} // end namespace yaml
+} // end namespace llvm
+
+using TokenQueueT = BumpPtrList<Token>;
namespace {
+
/// @brief This struct is used to track simple keys.
///
/// Simple keys are handled by creating an entry in SimpleKeys for each Token
@@ -170,12 +187,13 @@ struct SimpleKey {
return Tok == Other.Tok;
}
};
-}
+
+} // end anonymous namespace
/// @brief The Unicode scalar value of a UTF-8 minimal well-formed code unit
/// subsequence and the subsequence's length in code units (uint8_t).
/// A length of 0 represents an error.
-typedef std::pair<uint32_t, unsigned> UTF8Decoded;
+using UTF8Decoded = std::pair<uint32_t, unsigned>;
static UTF8Decoded decodeUTF8(StringRef Range) {
StringRef::iterator Position= Range.begin();
@@ -229,6 +247,7 @@ static UTF8Decoded decodeUTF8(StringRef Range) {
namespace llvm {
namespace yaml {
+
/// @brief Scans YAML tokens from a MemoryBuffer.
class Scanner {
public:
@@ -350,7 +369,8 @@ private:
/// ns-char.
StringRef::iterator skip_ns_char(StringRef::iterator Position);
- typedef StringRef::iterator (Scanner::*SkipWhileFunc)(StringRef::iterator);
+ using SkipWhileFunc = StringRef::iterator (Scanner::*)(StringRef::iterator);
+
/// @brief Skip minimal well-formed code unit subsequences until Func
/// returns its input.
///
@@ -655,10 +675,10 @@ bool yaml::dumpTokens(StringRef Input, raw_ostream &OS) {
}
bool yaml::scanTokens(StringRef Input) {
- llvm::SourceMgr SM;
- llvm::yaml::Scanner scanner(Input, SM);
- for (;;) {
- llvm::yaml::Token T = scanner.getNext();
+ SourceMgr SM;
+ Scanner scanner(Input, SM);
+ while (true) {
+ Token T = scanner.getNext();
if (T.Kind == Token::TK_StreamEnd)
break;
else if (T.Kind == Token::TK_Error)
@@ -1744,7 +1764,7 @@ Stream::Stream(MemoryBufferRef InputBuffer, SourceMgr &SM, bool ShowColors,
std::error_code *EC)
: scanner(new Scanner(InputBuffer, SM, ShowColors, EC)), CurrentDoc() {}
-Stream::~Stream() {}
+Stream::~Stream() = default;
bool Stream::failed() { return scanner->failed(); }
@@ -1851,8 +1871,6 @@ bool Node::failed() const {
return Doc->failed();
}
-
-
StringRef ScalarNode::getValue(SmallVectorImpl<char> &Storage) const {
// TODO: Handle newlines properly. We need to remove leading whitespace.
if (Value[0] == '"') { // Double quoted.
diff --git a/lib/Support/YAMLTraits.cpp b/lib/Support/YAMLTraits.cpp
index c410b1d56086..601084f9eae3 100644
--- a/lib/Support/YAMLTraits.cpp
+++ b/lib/Support/YAMLTraits.cpp
@@ -8,17 +8,27 @@
//===----------------------------------------------------------------------===//
#include "llvm/Support/YAMLTraits.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/StringExtras.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/LineIterator.h"
+#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/YAMLParser.h"
#include "llvm/Support/raw_ostream.h"
-#include <cctype>
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+#include <cstdlib>
#include <cstring>
+#include <string>
+#include <vector>
+
using namespace llvm;
using namespace yaml;
@@ -26,11 +36,9 @@ using namespace yaml;
// IO
//===----------------------------------------------------------------------===//
-IO::IO(void *Context) : Ctxt(Context) {
-}
+IO::IO(void *Context) : Ctxt(Context) {}
-IO::~IO() {
-}
+IO::~IO() = default;
void *IO::getContext() {
return Ctxt;
@@ -46,15 +54,13 @@ void IO::setContext(void *Context) {
Input::Input(StringRef InputContent, void *Ctxt,
SourceMgr::DiagHandlerTy DiagHandler, void *DiagHandlerCtxt)
- : IO(Ctxt), Strm(new Stream(InputContent, SrcMgr, false, &EC)),
- CurrentNode(nullptr) {
+ : IO(Ctxt), Strm(new Stream(InputContent, SrcMgr, false, &EC)) {
if (DiagHandler)
SrcMgr.setDiagHandler(DiagHandler, DiagHandlerCtxt);
DocIterator = Strm->begin();
}
-Input::~Input() {
-}
+Input::~Input() = default;
std::error_code Input::error() { return EC; }
@@ -398,13 +404,9 @@ bool Input::canElideEmptySequence() {
//===----------------------------------------------------------------------===//
Output::Output(raw_ostream &yout, void *context, int WrapColumn)
- : IO(context), Out(yout), WrapColumn(WrapColumn), Column(0),
- ColumnAtFlowStart(0), ColumnAtMapFlowStart(0), NeedBitValueComma(false),
- NeedFlowSequenceComma(false), EnumerationMatchFound(false),
- NeedsNewLine(false), WriteDefaultValues(false) {}
+ : IO(context), Out(yout), WrapColumn(WrapColumn) {}
-Output::~Output() {
-}
+Output::~Output() = default;
bool Output::outputting() {
return true;
@@ -911,12 +913,9 @@ void ScalarTraits<double>::output(const double &Val, void *, raw_ostream &Out) {
}
StringRef ScalarTraits<double>::input(StringRef Scalar, void *, double &Val) {
- SmallString<32> buff(Scalar.begin(), Scalar.end());
- char *end;
- Val = strtod(buff.c_str(), &end);
- if (*end != '\0')
- return "invalid floating point number";
- return StringRef();
+ if (to_float(Scalar, Val))
+ return StringRef();
+ return "invalid floating point number";
}
void ScalarTraits<float>::output(const float &Val, void *, raw_ostream &Out) {
@@ -924,12 +923,9 @@ void ScalarTraits<float>::output(const float &Val, void *, raw_ostream &Out) {
}
StringRef ScalarTraits<float>::input(StringRef Scalar, void *, float &Val) {
- SmallString<32> buff(Scalar.begin(), Scalar.end());
- char *end;
- Val = strtod(buff.c_str(), &end);
- if (*end != '\0')
- return "invalid floating point number";
- return StringRef();
+ if (to_float(Scalar, Val))
+ return StringRef();
+ return "invalid floating point number";
}
void ScalarTraits<Hex8>::output(const Hex8 &Val, void *, raw_ostream &Out) {
diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp
index 1abc8ed8683d..9480cd46d28f 100644
--- a/lib/Support/raw_ostream.cpp
+++ b/lib/Support/raw_ostream.cpp
@@ -548,7 +548,11 @@ void raw_fd_ostream::write_impl(const char *Ptr, size_t Size) {
pos += Size;
#ifndef LLVM_ON_WIN32
+#if defined(__linux__)
+ bool ShouldWriteInChunks = true;
+#else
bool ShouldWriteInChunks = false;
+#endif
#else
// Writing a large size of output to Windows console returns ENOMEM. It seems
// that, prior to Windows 8, WriteFile() is redirecting to WriteConsole(), and
diff --git a/lib/Target/AArch64/AArch64.h b/lib/Target/AArch64/AArch64.h
index 3e0e3978b90b..37b9690d0434 100644
--- a/lib/Target/AArch64/AArch64.h
+++ b/lib/Target/AArch64/AArch64.h
@@ -31,6 +31,7 @@ class MachineFunctionPass;
FunctionPass *createAArch64DeadRegisterDefinitions();
FunctionPass *createAArch64RedundantCopyEliminationPass();
+FunctionPass *createAArch64CondBrTuning();
FunctionPass *createAArch64ConditionalCompares();
FunctionPass *createAArch64AdvSIMDScalar();
FunctionPass *createAArch64ISelDag(AArch64TargetMachine &TM,
@@ -55,6 +56,7 @@ void initializeAArch64A53Fix835769Pass(PassRegistry&);
void initializeAArch64A57FPLoadBalancingPass(PassRegistry&);
void initializeAArch64AdvSIMDScalarPass(PassRegistry&);
void initializeAArch64CollectLOHPass(PassRegistry&);
+void initializeAArch64CondBrTuningPass(PassRegistry &);
void initializeAArch64ConditionalComparesPass(PassRegistry&);
void initializeAArch64ConditionOptimizerPass(PassRegistry&);
void initializeAArch64DeadRegisterDefinitionsPass(PassRegistry&);
diff --git a/lib/Target/AArch64/AArch64CondBrTuning.cpp b/lib/Target/AArch64/AArch64CondBrTuning.cpp
new file mode 100644
index 000000000000..f27bc97ec3f3
--- /dev/null
+++ b/lib/Target/AArch64/AArch64CondBrTuning.cpp
@@ -0,0 +1,336 @@
+//===-- AArch64CondBrTuning.cpp --- Conditional branch tuning for AArch64 -===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+/// \file
+/// This file contains a pass that transforms CBZ/CBNZ/TBZ/TBNZ instructions
+/// into a conditional branch (B.cond), when the NZCV flags can be set for
+/// "free". This is preferred on targets that have more flexibility when
+/// scheduling B.cond instructions as compared to CBZ/CBNZ/TBZ/TBNZ (assuming
+/// all other variables are equal). This can also reduce register pressure.
+///
+/// A few examples:
+///
+/// 1) add w8, w0, w1 -> cmn w0, w1 ; CMN is an alias of ADDS.
+/// cbz w8, .LBB_2 -> b.eq .LBB0_2
+///
+/// 2) add w8, w0, w1 -> adds w8, w0, w1 ; w8 has multiple uses.
+/// cbz w8, .LBB1_2 -> b.eq .LBB1_2
+///
+/// 3) sub w8, w0, w1 -> subs w8, w0, w1 ; w8 has multiple uses.
+/// tbz w8, #31, .LBB6_2 -> b.ge .LBB6_2
+///
+//===----------------------------------------------------------------------===//
+
+#include "AArch64.h"
+#include "AArch64Subtarget.h"
+#include "llvm/CodeGen/MachineFunction.h"
+#include "llvm/CodeGen/MachineFunctionPass.h"
+#include "llvm/CodeGen/MachineInstrBuilder.h"
+#include "llvm/CodeGen/MachineRegisterInfo.h"
+#include "llvm/CodeGen/MachineTraceMetrics.h"
+#include "llvm/CodeGen/Passes.h"
+#include "llvm/Support/Debug.h"
+#include "llvm/Support/raw_ostream.h"
+#include "llvm/Target/TargetInstrInfo.h"
+#include "llvm/Target/TargetRegisterInfo.h"
+#include "llvm/Target/TargetSubtargetInfo.h"
+
+using namespace llvm;
+
+#define DEBUG_TYPE "aarch64-cond-br-tuning"
+#define AARCH64_CONDBR_TUNING_NAME "AArch64 Conditional Branch Tuning"
+
+namespace {
+class AArch64CondBrTuning : public MachineFunctionPass {
+ const AArch64InstrInfo *TII;
+ const TargetRegisterInfo *TRI;
+
+ MachineRegisterInfo *MRI;
+
+public:
+ static char ID;
+ AArch64CondBrTuning() : MachineFunctionPass(ID) {
+ initializeAArch64CondBrTuningPass(*PassRegistry::getPassRegistry());
+ }
+ void getAnalysisUsage(AnalysisUsage &AU) const override;
+ bool runOnMachineFunction(MachineFunction &MF) override;
+ StringRef getPassName() const override { return AARCH64_CONDBR_TUNING_NAME; }
+
+private:
+ MachineInstr *getOperandDef(const MachineOperand &MO);
+ MachineInstr *convertToFlagSetting(MachineInstr &MI, bool IsFlagSetting);
+ MachineInstr *convertToCondBr(MachineInstr &MI);
+ bool tryToTuneBranch(MachineInstr &MI, MachineInstr &DefMI);
+};
+} // end anonymous namespace
+
+char AArch64CondBrTuning::ID = 0;
+
+INITIALIZE_PASS(AArch64CondBrTuning, "aarch64-cond-br-tuning",
+ AARCH64_CONDBR_TUNING_NAME, false, false)
+
+void AArch64CondBrTuning::getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.setPreservesCFG();
+ MachineFunctionPass::getAnalysisUsage(AU);
+}
+
+MachineInstr *AArch64CondBrTuning::getOperandDef(const MachineOperand &MO) {
+ if (!TargetRegisterInfo::isVirtualRegister(MO.getReg()))
+ return nullptr;
+ return MRI->getUniqueVRegDef(MO.getReg());
+}
+
+MachineInstr *AArch64CondBrTuning::convertToFlagSetting(MachineInstr &MI,
+ bool IsFlagSetting) {
+ // If this is already the flag setting version of the instruction (e.g., SUBS)
+ // just make sure the implicit-def of NZCV isn't marked dead.
+ if (IsFlagSetting) {
+ for (unsigned I = MI.getNumExplicitOperands(), E = MI.getNumOperands();
+ I != E; ++I) {
+ MachineOperand &MO = MI.getOperand(I);
+ if (MO.isReg() && MO.isDead() && MO.getReg() == AArch64::NZCV)
+ MO.setIsDead(false);
+ }
+ return &MI;
+ }
+ bool Is64Bit;
+ unsigned NewOpc = TII->convertToFlagSettingOpc(MI.getOpcode(), Is64Bit);
+ unsigned NewDestReg = MI.getOperand(0).getReg();
+ if (MRI->hasOneNonDBGUse(MI.getOperand(0).getReg()))
+ NewDestReg = Is64Bit ? AArch64::XZR : AArch64::WZR;
+
+ MachineInstrBuilder MIB = BuildMI(*MI.getParent(), MI, MI.getDebugLoc(),
+ TII->get(NewOpc), NewDestReg);
+ for (unsigned I = 1, E = MI.getNumOperands(); I != E; ++I)
+ MIB.add(MI.getOperand(I));
+
+ return MIB;
+}
+
+MachineInstr *AArch64CondBrTuning::convertToCondBr(MachineInstr &MI) {
+ AArch64CC::CondCode CC;
+ MachineBasicBlock *TargetMBB = TII->getBranchDestBlock(MI);
+ switch (MI.getOpcode()) {
+ default:
+ llvm_unreachable("Unexpected opcode!");
+
+ case AArch64::CBZW:
+ case AArch64::CBZX:
+ CC = AArch64CC::EQ;
+ break;
+ case AArch64::CBNZW:
+ case AArch64::CBNZX:
+ CC = AArch64CC::NE;
+ break;
+ case AArch64::TBZW:
+ case AArch64::TBZX:
+ CC = AArch64CC::GE;
+ break;
+ case AArch64::TBNZW:
+ case AArch64::TBNZX:
+ CC = AArch64CC::LT;
+ break;
+ }
+ return BuildMI(*MI.getParent(), MI, MI.getDebugLoc(), TII->get(AArch64::Bcc))
+ .addImm(CC)
+ .addMBB(TargetMBB);
+}
+
+bool AArch64CondBrTuning::tryToTuneBranch(MachineInstr &MI,
+ MachineInstr &DefMI) {
+ // We don't want NZCV bits live across blocks.
+ if (MI.getParent() != DefMI.getParent())
+ return false;
+
+ bool IsFlagSetting = true;
+ unsigned MIOpc = MI.getOpcode();
+ MachineInstr *NewCmp = nullptr, *NewBr = nullptr;
+ switch (DefMI.getOpcode()) {
+ default:
+ return false;
+ case AArch64::ADDWri:
+ case AArch64::ADDWrr:
+ case AArch64::ADDWrs:
+ case AArch64::ADDWrx:
+ case AArch64::ANDWri:
+ case AArch64::ANDWrr:
+ case AArch64::ANDWrs:
+ case AArch64::BICWrr:
+ case AArch64::BICWrs:
+ case AArch64::SUBWri:
+ case AArch64::SUBWrr:
+ case AArch64::SUBWrs:
+ case AArch64::SUBWrx:
+ IsFlagSetting = false;
+ case AArch64::ADDSWri:
+ case AArch64::ADDSWrr:
+ case AArch64::ADDSWrs:
+ case AArch64::ADDSWrx:
+ case AArch64::ANDSWri:
+ case AArch64::ANDSWrr:
+ case AArch64::ANDSWrs:
+ case AArch64::BICSWrr:
+ case AArch64::BICSWrs:
+ case AArch64::SUBSWri:
+ case AArch64::SUBSWrr:
+ case AArch64::SUBSWrs:
+ case AArch64::SUBSWrx:
+ switch (MIOpc) {
+ default:
+ llvm_unreachable("Unexpected opcode!");
+
+ case AArch64::CBZW:
+ case AArch64::CBNZW:
+ case AArch64::TBZW:
+ case AArch64::TBNZW:
+ // Check to see if the TBZ/TBNZ is checking the sign bit.
+ if ((MIOpc == AArch64::TBZW || MIOpc == AArch64::TBNZW) &&
+ MI.getOperand(1).getImm() != 31)
+ return false;
+
+ // There must not be any instruction between DefMI and MI that clobbers or
+ // reads NZCV.
+ MachineBasicBlock::iterator I(DefMI), E(MI);
+ for (I = std::next(I); I != E; ++I) {
+ if (I->modifiesRegister(AArch64::NZCV, TRI) ||
+ I->readsRegister(AArch64::NZCV, TRI))
+ return false;
+ }
+ DEBUG(dbgs() << " Replacing instructions:\n ");
+ DEBUG(DefMI.print(dbgs()));
+ DEBUG(dbgs() << " ");
+ DEBUG(MI.print(dbgs()));
+
+ NewCmp = convertToFlagSetting(DefMI, IsFlagSetting);
+ NewBr = convertToCondBr(MI);
+ break;
+ }
+ break;
+
+ case AArch64::ADDXri:
+ case AArch64::ADDXrr:
+ case AArch64::ADDXrs:
+ case AArch64::ADDXrx:
+ case AArch64::ANDXri:
+ case AArch64::ANDXrr:
+ case AArch64::ANDXrs:
+ case AArch64::BICXrr:
+ case AArch64::BICXrs:
+ case AArch64::SUBXri:
+ case AArch64::SUBXrr:
+ case AArch64::SUBXrs:
+ case AArch64::SUBXrx:
+ IsFlagSetting = false;
+ case AArch64::ADDSXri:
+ case AArch64::ADDSXrr:
+ case AArch64::ADDSXrs:
+ case AArch64::ADDSXrx:
+ case AArch64::ANDSXri:
+ case AArch64::ANDSXrr:
+ case AArch64::ANDSXrs:
+ case AArch64::BICSXrr:
+ case AArch64::BICSXrs:
+ case AArch64::SUBSXri:
+ case AArch64::SUBSXrr:
+ case AArch64::SUBSXrs:
+ case AArch64::SUBSXrx:
+ switch (MIOpc) {
+ default:
+ llvm_unreachable("Unexpected opcode!");
+
+ case AArch64::CBZX:
+ case AArch64::CBNZX:
+ case AArch64::TBZX:
+ case AArch64::TBNZX: {
+ // Check to see if the TBZ/TBNZ is checking the sign bit.
+ if ((MIOpc == AArch64::TBZX || MIOpc == AArch64::TBNZX) &&
+ MI.getOperand(1).getImm() != 63)
+ return false;
+ // There must not be any instruction between DefMI and MI that clobbers or
+ // reads NZCV.
+ MachineBasicBlock::iterator I(DefMI), E(MI);
+ for (I = std::next(I); I != E; ++I) {
+ if (I->modifiesRegister(AArch64::NZCV, TRI) ||
+ I->readsRegister(AArch64::NZCV, TRI))
+ return false;
+ }
+ DEBUG(dbgs() << " Replacing instructions:\n ");
+ DEBUG(DefMI.print(dbgs()));
+ DEBUG(dbgs() << " ");
+ DEBUG(MI.print(dbgs()));
+
+ NewCmp = convertToFlagSetting(DefMI, IsFlagSetting);
+ NewBr = convertToCondBr(MI);
+ break;
+ }
+ }
+ break;
+ }
+ assert(NewCmp && NewBr && "Expected new instructions.");
+
+ DEBUG(dbgs() << " with instruction:\n ");
+ DEBUG(NewCmp->print(dbgs()));
+ DEBUG(dbgs() << " ");
+ DEBUG(NewBr->print(dbgs()));
+
+ // If this was a flag setting version of the instruction, we use the original
+ // instruction by just clearing the dead marked on the implicit-def of NCZV.
+ // Therefore, we should not erase this instruction.
+ if (!IsFlagSetting)
+ DefMI.eraseFromParent();
+ MI.eraseFromParent();
+ return true;
+}
+
+bool AArch64CondBrTuning::runOnMachineFunction(MachineFunction &MF) {
+ if (skipFunction(*MF.getFunction()))
+ return false;
+
+ DEBUG(dbgs() << "********** AArch64 Conditional Branch Tuning **********\n"
+ << "********** Function: " << MF.getName() << '\n');
+
+ TII = static_cast<const AArch64InstrInfo *>(MF.getSubtarget().getInstrInfo());
+ TRI = MF.getSubtarget().getRegisterInfo();
+ MRI = &MF.getRegInfo();
+
+ bool Changed = false;
+ for (MachineBasicBlock &MBB : MF) {
+ bool LocalChange = false;
+ for (MachineBasicBlock::iterator I = MBB.getFirstTerminator(),
+ E = MBB.end();
+ I != E; ++I) {
+ MachineInstr &MI = *I;
+ switch (MI.getOpcode()) {
+ default:
+ break;
+ case AArch64::CBZW:
+ case AArch64::CBZX:
+ case AArch64::CBNZW:
+ case AArch64::CBNZX:
+ case AArch64::TBZW:
+ case AArch64::TBZX:
+ case AArch64::TBNZW:
+ case AArch64::TBNZX:
+ MachineInstr *DefMI = getOperandDef(MI.getOperand(0));
+ LocalChange = (DefMI && tryToTuneBranch(MI, *DefMI));
+ break;
+ }
+ // If the optimization was successful, we can't optimize any other
+ // branches because doing so would clobber the NZCV flags.
+ if (LocalChange) {
+ Changed = true;
+ break;
+ }
+ }
+ }
+ return Changed;
+}
+
+FunctionPass *llvm::createAArch64CondBrTuning() {
+ return new AArch64CondBrTuning();
+}
diff --git a/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp b/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
index 544f67433fd5..ee54550c9900 100644
--- a/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
+++ b/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
@@ -13,7 +13,9 @@
#include "AArch64.h"
#include "AArch64RegisterInfo.h"
+#include "AArch64Subtarget.h"
#include "llvm/ADT/Statistic.h"
+#include "llvm/CodeGen/ISDOpcodes.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
@@ -84,6 +86,51 @@ void AArch64DeadRegisterDefinitions::processMachineBasicBlock(
DEBUG(dbgs() << " Ignoring, XZR or WZR already used by the instruction\n");
continue;
}
+ if (MF.getSubtarget<AArch64Subtarget>().hasLSE()) {
+ // XZ/WZ for LSE can only be used when acquire semantics are not used,
+ // LDOPAL WZ is an invalid opcode.
+ switch (MI.getOpcode()) {
+ case AArch64::CASALb:
+ case AArch64::CASALh:
+ case AArch64::CASALs:
+ case AArch64::CASALd:
+ case AArch64::SWPALb:
+ case AArch64::SWPALh:
+ case AArch64::SWPALs:
+ case AArch64::SWPALd:
+ case AArch64::LDADDALb:
+ case AArch64::LDADDALh:
+ case AArch64::LDADDALs:
+ case AArch64::LDADDALd:
+ case AArch64::LDEORALb:
+ case AArch64::LDEORALh:
+ case AArch64::LDEORALs:
+ case AArch64::LDEORALd:
+ case AArch64::LDSETALb:
+ case AArch64::LDSETALh:
+ case AArch64::LDSETALs:
+ case AArch64::LDSETALd:
+ case AArch64::LDSMINALb:
+ case AArch64::LDSMINALh:
+ case AArch64::LDSMINALs:
+ case AArch64::LDSMINALd:
+ case AArch64::LDSMAXALb:
+ case AArch64::LDSMAXALh:
+ case AArch64::LDSMAXALs:
+ case AArch64::LDSMAXALd:
+ case AArch64::LDUMINALb:
+ case AArch64::LDUMINALh:
+ case AArch64::LDUMINALs:
+ case AArch64::LDUMINALd:
+ case AArch64::LDUMAXALb:
+ case AArch64::LDUMAXALh:
+ case AArch64::LDUMAXALs:
+ case AArch64::LDUMAXALd:
+ continue;
+ default:
+ break;
+ }
+ }
const MCInstrDesc &Desc = MI.getDesc();
for (int I = 0, E = Desc.getNumDefs(); I != E; ++I) {
MachineOperand &MO = MI.getOperand(I);
diff --git a/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp b/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
index 8c2c0a564c30..04687847c1a3 100644
--- a/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
+++ b/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
@@ -201,7 +201,7 @@ private:
bool SelectCVTFixedPosOperand(SDValue N, SDValue &FixedPos, unsigned Width);
- void SelectCMP_SWAP(SDNode *N);
+ bool SelectCMP_SWAP(SDNode *N);
};
} // end anonymous namespace
@@ -2609,9 +2609,13 @@ bool AArch64DAGToDAGISel::tryWriteRegister(SDNode *N) {
}
/// We've got special pseudo-instructions for these
-void AArch64DAGToDAGISel::SelectCMP_SWAP(SDNode *N) {
+bool AArch64DAGToDAGISel::SelectCMP_SWAP(SDNode *N) {
unsigned Opcode;
EVT MemTy = cast<MemSDNode>(N)->getMemoryVT();
+
+ // Leave IR for LSE if subtarget supports it.
+ if (Subtarget->hasLSE()) return false;
+
if (MemTy == MVT::i8)
Opcode = AArch64::CMP_SWAP_8;
else if (MemTy == MVT::i16)
@@ -2637,6 +2641,8 @@ void AArch64DAGToDAGISel::SelectCMP_SWAP(SDNode *N) {
ReplaceUses(SDValue(N, 0), SDValue(CmpSwap, 0));
ReplaceUses(SDValue(N, 1), SDValue(CmpSwap, 2));
CurDAG->RemoveDeadNode(N);
+
+ return true;
}
void AArch64DAGToDAGISel::Select(SDNode *Node) {
@@ -2660,8 +2666,9 @@ void AArch64DAGToDAGISel::Select(SDNode *Node) {
break;
case ISD::ATOMIC_CMP_SWAP:
- SelectCMP_SWAP(Node);
- return;
+ if (SelectCMP_SWAP(Node))
+ return;
+ break;
case ISD::READ_REGISTER:
if (tryReadRegister(Node))
diff --git a/lib/Target/AArch64/AArch64ISelLowering.cpp b/lib/Target/AArch64/AArch64ISelLowering.cpp
index 083ca2156598..2965106fd270 100644
--- a/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ b/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -10563,11 +10563,20 @@ AArch64TargetLowering::shouldExpandAtomicLoadInIR(LoadInst *LI) const {
TargetLowering::AtomicExpansionKind
AArch64TargetLowering::shouldExpandAtomicRMWInIR(AtomicRMWInst *AI) const {
unsigned Size = AI->getType()->getPrimitiveSizeInBits();
- return Size <= 128 ? AtomicExpansionKind::LLSC : AtomicExpansionKind::None;
+ if (Size > 128) return AtomicExpansionKind::None;
+ // Nand not supported in LSE.
+ if (AI->getOperation() == AtomicRMWInst::Nand) return AtomicExpansionKind::LLSC;
+ // Currently leaving And and Sub to LLSC
+ if ((AI->getOperation() == AtomicRMWInst::And) || (AI->getOperation() == AtomicRMWInst::Sub))
+ return AtomicExpansionKind::LLSC;
+ // Leave 128 bits to LLSC.
+ return (Subtarget->hasLSE() && Size < 128) ? AtomicExpansionKind::None : AtomicExpansionKind::LLSC;
}
bool AArch64TargetLowering::shouldExpandAtomicCmpXchgInIR(
AtomicCmpXchgInst *AI) const {
+ // If subtarget has LSE, leave cmpxchg intact for codegen.
+ if (Subtarget->hasLSE()) return false;
// At -O0, fast-regalloc cannot cope with the live vregs necessary to
// implement cmpxchg without spilling. If the address being exchanged is also
// on the stack and close enough to the spill slot, this can lead to a
diff --git a/lib/Target/AArch64/AArch64InstrAtomics.td b/lib/Target/AArch64/AArch64InstrAtomics.td
index 71826bec6b11..de283b70210f 100644
--- a/lib/Target/AArch64/AArch64InstrAtomics.td
+++ b/lib/Target/AArch64/AArch64InstrAtomics.td
@@ -405,3 +405,49 @@ def CMP_SWAP_128 : Pseudo<(outs GPR64:$RdLo, GPR64:$RdHi, GPR32:$scratch),
(ins GPR64:$addr, GPR64:$desiredLo, GPR64:$desiredHi,
GPR64:$newLo, GPR64:$newHi), []>,
Sched<[WriteAtomic]>;
+
+// v8.1 Atomic instructions:
+def : Pat<(atomic_load_add_8 GPR64:$Rn, GPR32:$Rs), (LDADDALb GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_add_16 GPR64:$Rn, GPR32:$Rs), (LDADDALh GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_add_32 GPR64:$Rn, GPR32:$Rs), (LDADDALs GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_add_64 GPR64:$Rn, GPR64:$Rs), (LDADDALd GPR64:$Rs, GPR64sp:$Rn)>;
+
+def : Pat<(atomic_load_or_8 GPR64:$Rn, GPR32:$Rs), (LDSETALb GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_or_16 GPR64:$Rn, GPR32:$Rs), (LDSETALh GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_or_32 GPR64:$Rn, GPR32:$Rs), (LDSETALs GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_or_64 GPR64:$Rn, GPR64:$Rs), (LDSETALd GPR64:$Rs, GPR64sp:$Rn)>;
+
+def : Pat<(atomic_load_xor_8 GPR64:$Rn, GPR32:$Rs), (LDEORALb GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_xor_16 GPR64:$Rn, GPR32:$Rs), (LDEORALh GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_xor_32 GPR64:$Rn, GPR32:$Rs), (LDEORALs GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_xor_64 GPR64:$Rn, GPR64:$Rs), (LDEORALd GPR64:$Rs, GPR64sp:$Rn)>;
+
+def : Pat<(atomic_load_max_8 GPR64:$Rn, GPR32:$Rs), (LDSMAXALb GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_max_16 GPR64:$Rn, GPR32:$Rs), (LDSMAXALh GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_max_32 GPR64:$Rn, GPR32:$Rs), (LDSMAXALs GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_max_64 GPR64:$Rn, GPR64:$Rs), (LDSMAXALd GPR64:$Rs, GPR64sp:$Rn)>;
+
+def : Pat<(atomic_load_umax_8 GPR64:$Rn, GPR32:$Rs), (LDUMAXALb GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_umax_16 GPR64:$Rn, GPR32:$Rs), (LDUMAXALh GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_umax_32 GPR64:$Rn, GPR32:$Rs), (LDUMAXALs GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_umax_64 GPR64:$Rn, GPR64:$Rs), (LDUMAXALd GPR64:$Rs, GPR64sp:$Rn)>;
+
+def : Pat<(atomic_load_min_8 GPR64:$Rn, GPR32:$Rs), (LDSMINALb GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_min_16 GPR64:$Rn, GPR32:$Rs), (LDSMINALh GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_min_32 GPR64:$Rn, GPR32:$Rs), (LDSMINALs GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_min_64 GPR64:$Rn, GPR64:$Rs), (LDSMINALd GPR64:$Rs, GPR64sp:$Rn)>;
+
+def : Pat<(atomic_load_umin_8 GPR64:$Rn, GPR32:$Rs), (LDUMINALb GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_umin_16 GPR64:$Rn, GPR32:$Rs), (LDUMINALh GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_umin_32 GPR64:$Rn, GPR32:$Rs), (LDUMINALs GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_load_umin_64 GPR64:$Rn, GPR64:$Rs), (LDUMINALd GPR64:$Rs, GPR64sp:$Rn)>;
+
+def : Pat<(atomic_cmp_swap_8 GPR64:$Rn, GPR32:$Rold, GPR32:$Rnew), (CASALb GPR32:$Rold, GPR32:$Rnew, GPR64sp:$Rn)>;
+def : Pat<(atomic_cmp_swap_16 GPR64:$Rn, GPR32:$Rold, GPR32:$Rnew), (CASALh GPR32:$Rold, GPR32:$Rnew, GPR64sp:$Rn)>;
+def : Pat<(atomic_cmp_swap_32 GPR64:$Rn, GPR32:$Rold, GPR32:$Rnew), (CASALs GPR32:$Rold, GPR32:$Rnew, GPR64sp:$Rn)>;
+def : Pat<(atomic_cmp_swap_64 GPR64:$Rn, GPR64:$Rold, GPR64:$Rnew), (CASALd GPR64:$Rold, GPR64:$Rnew, GPR64sp:$Rn)>;
+
+def : Pat<(atomic_swap_8 GPR64:$Rn, GPR32:$Rs), (SWPALb GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_swap_16 GPR64:$Rn, GPR32:$Rs), (SWPALh GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_swap_32 GPR64:$Rn, GPR32:$Rs), (SWPALs GPR32:$Rs, GPR64sp:$Rn)>;
+def : Pat<(atomic_swap_64 GPR64:$Rn, GPR64:$Rs), (SWPALd GPR64:$Rs, GPR64sp:$Rn)>;
diff --git a/lib/Target/AArch64/AArch64InstrInfo.cpp b/lib/Target/AArch64/AArch64InstrInfo.cpp
index eea012382150..314e89bbca86 100644
--- a/lib/Target/AArch64/AArch64InstrInfo.cpp
+++ b/lib/Target/AArch64/AArch64InstrInfo.cpp
@@ -1036,7 +1036,7 @@ static bool UpdateOperandRegClass(MachineInstr &Instr) {
/// \brief Return the opcode that does not set flags when possible - otherwise
/// return the original opcode. The caller is responsible to do the actual
/// substitution and legality checking.
-static unsigned convertFlagSettingOpcode(const MachineInstr &MI) {
+static unsigned convertToNonFlagSettingOpc(const MachineInstr &MI) {
// Don't convert all compare instructions, because for some the zero register
// encoding becomes the sp register.
bool MIDefinesZeroReg = false;
@@ -1145,7 +1145,7 @@ bool AArch64InstrInfo::optimizeCompareInstr(
return true;
}
unsigned Opc = CmpInstr.getOpcode();
- unsigned NewOpc = convertFlagSettingOpcode(CmpInstr);
+ unsigned NewOpc = convertToNonFlagSettingOpc(CmpInstr);
if (NewOpc == Opc)
return false;
const MCInstrDesc &MCID = get(NewOpc);
@@ -3318,7 +3318,7 @@ static bool getMaddPatterns(MachineInstr &Root,
// When NZCV is live bail out.
if (Cmp_NZCV == -1)
return false;
- unsigned NewOpc = convertFlagSettingOpcode(Root);
+ unsigned NewOpc = convertToNonFlagSettingOpc(Root);
// When opcode can't change bail out.
// CHECKME: do we miss any cases for opcode conversion?
if (NewOpc == Opc)
diff --git a/lib/Target/AArch64/AArch64InstrInfo.h b/lib/Target/AArch64/AArch64InstrInfo.h
index 59f3405fe439..58e9ce583d44 100644
--- a/lib/Target/AArch64/AArch64InstrInfo.h
+++ b/lib/Target/AArch64/AArch64InstrInfo.h
@@ -119,6 +119,44 @@ public:
}
}
+ /// \brief Return the opcode that set flags when possible. The caller is
+ /// responsible for ensuring the opc has a flag setting equivalent.
+ static unsigned convertToFlagSettingOpc(unsigned Opc, bool &Is64Bit) {
+ switch (Opc) {
+ default:
+ llvm_unreachable("Opcode has no flag setting equivalent!");
+ // 32-bit cases:
+ case AArch64::ADDWri: Is64Bit = false; return AArch64::ADDSWri;
+ case AArch64::ADDWrr: Is64Bit = false; return AArch64::ADDSWrr;
+ case AArch64::ADDWrs: Is64Bit = false; return AArch64::ADDSWrs;
+ case AArch64::ADDWrx: Is64Bit = false; return AArch64::ADDSWrx;
+ case AArch64::ANDWri: Is64Bit = false; return AArch64::ANDSWri;
+ case AArch64::ANDWrr: Is64Bit = false; return AArch64::ANDSWrr;
+ case AArch64::ANDWrs: Is64Bit = false; return AArch64::ANDSWrs;
+ case AArch64::BICWrr: Is64Bit = false; return AArch64::BICSWrr;
+ case AArch64::BICWrs: Is64Bit = false; return AArch64::BICSWrs;
+ case AArch64::SUBWri: Is64Bit = false; return AArch64::SUBSWri;
+ case AArch64::SUBWrr: Is64Bit = false; return AArch64::SUBSWrr;
+ case AArch64::SUBWrs: Is64Bit = false; return AArch64::SUBSWrs;
+ case AArch64::SUBWrx: Is64Bit = false; return AArch64::SUBSWrx;
+ // 64-bit cases:
+ case AArch64::ADDXri: Is64Bit = true; return AArch64::ADDSXri;
+ case AArch64::ADDXrr: Is64Bit = true; return AArch64::ADDSXrr;
+ case AArch64::ADDXrs: Is64Bit = true; return AArch64::ADDSXrs;
+ case AArch64::ADDXrx: Is64Bit = true; return AArch64::ADDSXrx;
+ case AArch64::ANDXri: Is64Bit = true; return AArch64::ANDSXri;
+ case AArch64::ANDXrr: Is64Bit = true; return AArch64::ANDSXrr;
+ case AArch64::ANDXrs: Is64Bit = true; return AArch64::ANDSXrs;
+ case AArch64::BICXrr: Is64Bit = true; return AArch64::BICSXrr;
+ case AArch64::BICXrs: Is64Bit = true; return AArch64::BICSXrs;
+ case AArch64::SUBXri: Is64Bit = true; return AArch64::SUBSXri;
+ case AArch64::SUBXrr: Is64Bit = true; return AArch64::SUBSXrr;
+ case AArch64::SUBXrs: Is64Bit = true; return AArch64::SUBSXrs;
+ case AArch64::SUBXrx: Is64Bit = true; return AArch64::SUBSXrx;
+ }
+ }
+
+
/// Return true if this is a load/store that can be potentially paired/merged.
bool isCandidateToMergeOrPair(MachineInstr &MI) const;
diff --git a/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp b/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
index 9243eb91cc1a..005f2d51e403 100644
--- a/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
+++ b/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
@@ -795,6 +795,7 @@ AArch64LoadStoreOpt::promoteLoadFromStore(MachineBasicBlock::iterator LoadI,
int LoadSize = getMemScale(*LoadI);
int StoreSize = getMemScale(*StoreI);
unsigned LdRt = getLdStRegOp(*LoadI).getReg();
+ const MachineOperand &StMO = getLdStRegOp(*StoreI);
unsigned StRt = getLdStRegOp(*StoreI).getReg();
bool IsStoreXReg = TRI->getRegClass(AArch64::GPR64RegClassID)->contains(StRt);
@@ -807,7 +808,13 @@ AArch64LoadStoreOpt::promoteLoadFromStore(MachineBasicBlock::iterator LoadI,
// Remove the load, if the destination register of the loads is the same
// register for stored value.
if (StRt == LdRt && LoadSize == 8) {
- StoreI->clearRegisterKills(StRt, TRI);
+ for (MachineInstr &MI : make_range(StoreI->getIterator(),
+ LoadI->getIterator())) {
+ if (MI.killsRegister(StRt, TRI)) {
+ MI.clearRegisterKills(StRt, TRI);
+ break;
+ }
+ }
DEBUG(dbgs() << "Remove load instruction:\n ");
DEBUG(LoadI->print(dbgs()));
DEBUG(dbgs() << "\n");
@@ -819,7 +826,7 @@ AArch64LoadStoreOpt::promoteLoadFromStore(MachineBasicBlock::iterator LoadI,
BuildMI(*LoadI->getParent(), LoadI, LoadI->getDebugLoc(),
TII->get(IsStoreXReg ? AArch64::ORRXrs : AArch64::ORRWrs), LdRt)
.addReg(IsStoreXReg ? AArch64::XZR : AArch64::WZR)
- .addReg(StRt)
+ .add(StMO)
.addImm(AArch64_AM::getShifterImm(AArch64_AM::LSL, 0));
} else {
// FIXME: Currently we disable this transformation in big-endian targets as
@@ -860,14 +867,14 @@ AArch64LoadStoreOpt::promoteLoadFromStore(MachineBasicBlock::iterator LoadI,
BuildMI(*LoadI->getParent(), LoadI, LoadI->getDebugLoc(),
TII->get(IsStoreXReg ? AArch64::ANDXri : AArch64::ANDWri),
DestReg)
- .addReg(StRt)
+ .add(StMO)
.addImm(AndMaskEncoded);
} else {
BitExtMI =
BuildMI(*LoadI->getParent(), LoadI, LoadI->getDebugLoc(),
TII->get(IsStoreXReg ? AArch64::UBFMXri : AArch64::UBFMWri),
DestReg)
- .addReg(StRt)
+ .add(StMO)
.addImm(Immr)
.addImm(Imms);
}
@@ -876,7 +883,10 @@ AArch64LoadStoreOpt::promoteLoadFromStore(MachineBasicBlock::iterator LoadI,
// Clear kill flags between store and load.
for (MachineInstr &MI : make_range(StoreI->getIterator(),
BitExtMI->getIterator()))
- MI.clearRegisterKills(StRt, TRI);
+ if (MI.killsRegister(StRt, TRI)) {
+ MI.clearRegisterKills(StRt, TRI);
+ break;
+ }
DEBUG(dbgs() << "Promoting load by replacing :\n ");
DEBUG(StoreI->print(dbgs()));
diff --git a/lib/Target/AArch64/AArch64MacroFusion.cpp b/lib/Target/AArch64/AArch64MacroFusion.cpp
index 3b71d529db59..ccc9d2ad1b48 100644
--- a/lib/Target/AArch64/AArch64MacroFusion.cpp
+++ b/lib/Target/AArch64/AArch64MacroFusion.cpp
@@ -7,37 +7,27 @@
//
//===----------------------------------------------------------------------===//
//
-// \file This file contains the AArch64 implementation of the DAG scheduling mutation
-// to pair instructions back to back.
+/// \file This file contains the AArch64 implementation of the DAG scheduling
+/// mutation to pair instructions back to back.
//
//===----------------------------------------------------------------------===//
#include "AArch64MacroFusion.h"
#include "AArch64Subtarget.h"
-#include "llvm/ADT/Statistic.h"
-#include "llvm/Support/CommandLine.h"
+#include "llvm/CodeGen/MacroFusion.h"
#include "llvm/Target/TargetInstrInfo.h"
-#define DEBUG_TYPE "misched"
-
-STATISTIC(NumFused, "Number of instr pairs fused");
-
using namespace llvm;
-static cl::opt<bool> EnableMacroFusion("aarch64-misched-fusion", cl::Hidden,
- cl::desc("Enable scheduling for macro fusion."), cl::init(true));
-
namespace {
-/// \brief Verify that the instr pair, FirstMI and SecondMI, should be fused
-/// together. Given an anchor instr, when the other instr is unspecified, then
-/// check if the anchor instr may be part of a fused pair at all.
+/// \brief Check if the instr pair, FirstMI and SecondMI, should be fused
+/// together. Given SecondMI, when FirstMI is unspecified, then check if
+/// SecondMI may be part of a fused pair at all.
static bool shouldScheduleAdjacent(const TargetInstrInfo &TII,
const TargetSubtargetInfo &TSI,
const MachineInstr *FirstMI,
- const MachineInstr *SecondMI) {
- assert((FirstMI || SecondMI) && "At least one instr must be specified");
-
+ const MachineInstr &SecondMI) {
const AArch64InstrInfo &II = static_cast<const AArch64InstrInfo&>(TII);
const AArch64Subtarget &ST = static_cast<const AArch64Subtarget&>(TSI);
@@ -45,9 +35,7 @@ static bool shouldScheduleAdjacent(const TargetInstrInfo &TII,
unsigned FirstOpcode =
FirstMI ? FirstMI->getOpcode()
: static_cast<unsigned>(AArch64::INSTRUCTION_LIST_END);
- unsigned SecondOpcode =
- SecondMI ? SecondMI->getOpcode()
- : static_cast<unsigned>(AArch64::INSTRUCTION_LIST_END);
+ unsigned SecondOpcode = SecondMI.getOpcode();
if (ST.hasArithmeticBccFusion())
// Fuse CMN, CMP, TST followed by Bcc.
@@ -128,158 +116,49 @@ static bool shouldScheduleAdjacent(const TargetInstrInfo &TII,
if (ST.hasFuseAES())
// Fuse AES crypto operations.
- switch(FirstOpcode) {
+ switch(SecondOpcode) {
// AES encode.
- case AArch64::AESErr:
- return SecondOpcode == AArch64::AESMCrr ||
- SecondOpcode == AArch64::INSTRUCTION_LIST_END;
+ case AArch64::AESMCrr :
+ return FirstOpcode == AArch64::AESErr ||
+ FirstOpcode == AArch64::INSTRUCTION_LIST_END;
// AES decode.
- case AArch64::AESDrr:
- return SecondOpcode == AArch64::AESIMCrr ||
- SecondOpcode == AArch64::INSTRUCTION_LIST_END;
+ case AArch64::AESIMCrr:
+ return FirstOpcode == AArch64::AESDrr ||
+ FirstOpcode == AArch64::INSTRUCTION_LIST_END;
}
if (ST.hasFuseLiterals())
// Fuse literal generation operations.
- switch (FirstOpcode) {
+ switch (SecondOpcode) {
// PC relative address.
- case AArch64::ADRP:
- return SecondOpcode == AArch64::ADDXri ||
- SecondOpcode == AArch64::INSTRUCTION_LIST_END;
+ case AArch64::ADDXri:
+ return FirstOpcode == AArch64::ADRP ||
+ FirstOpcode == AArch64::INSTRUCTION_LIST_END;
// 32 bit immediate.
- case AArch64::MOVZWi:
- return (SecondOpcode == AArch64::MOVKWi &&
- SecondMI->getOperand(3).getImm() == 16) ||
- SecondOpcode == AArch64::INSTRUCTION_LIST_END;
- // Lower half of 64 bit immediate.
- case AArch64::MOVZXi:
- return (SecondOpcode == AArch64::MOVKXi &&
- SecondMI->getOperand(3).getImm() == 16) ||
- SecondOpcode == AArch64::INSTRUCTION_LIST_END;
- // Upper half of 64 bit immediate.
+ case AArch64::MOVKWi:
+ return (FirstOpcode == AArch64::MOVZWi &&
+ SecondMI.getOperand(3).getImm() == 16) ||
+ FirstOpcode == AArch64::INSTRUCTION_LIST_END;
+ // Lower and upper half of 64 bit immediate.
case AArch64::MOVKXi:
- return FirstMI->getOperand(3).getImm() == 32 &&
- ((SecondOpcode == AArch64::MOVKXi &&
- SecondMI->getOperand(3).getImm() == 48) ||
- SecondOpcode == AArch64::INSTRUCTION_LIST_END);
+ return FirstOpcode == AArch64::INSTRUCTION_LIST_END ||
+ (FirstOpcode == AArch64::MOVZXi &&
+ SecondMI.getOperand(3).getImm() == 16) ||
+ (FirstOpcode == AArch64::MOVKXi &&
+ FirstMI->getOperand(3).getImm() == 32 &&
+ SecondMI.getOperand(3).getImm() == 48);
}
return false;
}
-/// \brief Implement the fusion of instr pairs in the scheduling DAG,
-/// anchored at the instr in AnchorSU..
-static bool scheduleAdjacentImpl(ScheduleDAGMI *DAG, SUnit &AnchorSU) {
- const MachineInstr *AnchorMI = AnchorSU.getInstr();
- if (!AnchorMI || AnchorMI->isPseudo() || AnchorMI->isTransient())
- return false;
-
- // If the anchor instr is the ExitSU, then consider its predecessors;
- // otherwise, its successors.
- bool Preds = (&AnchorSU == &DAG->ExitSU);
- SmallVectorImpl<SDep> &AnchorDeps = Preds ? AnchorSU.Preds : AnchorSU.Succs;
-
- const MachineInstr *FirstMI = Preds ? nullptr : AnchorMI;
- const MachineInstr *SecondMI = Preds ? AnchorMI : nullptr;
-
- // Check if the anchor instr may be fused.
- if (!shouldScheduleAdjacent(*DAG->TII, DAG->MF.getSubtarget(),
- FirstMI, SecondMI))
- return false;
-
- // Explorer for fusion candidates among the dependencies of the anchor instr.
- for (SDep &Dep : AnchorDeps) {
- // Ignore dependencies that don't enforce ordering.
- if (Dep.isWeak())
- continue;
-
- SUnit &DepSU = *Dep.getSUnit();
- // Ignore the ExitSU if the dependents are successors.
- if (!Preds && &DepSU == &DAG->ExitSU)
- continue;
-
- const MachineInstr *DepMI = DepSU.getInstr();
- if (!DepMI || DepMI->isPseudo() || DepMI->isTransient())
- continue;
-
- FirstMI = Preds ? DepMI : AnchorMI;
- SecondMI = Preds ? AnchorMI : DepMI;
- if (!shouldScheduleAdjacent(*DAG->TII, DAG->MF.getSubtarget(),
- FirstMI, SecondMI))
- continue;
-
- // Create a single weak edge between the adjacent instrs. The only effect is
- // to cause bottom-up scheduling to heavily prioritize the clustered instrs.
- SUnit &FirstSU = Preds ? DepSU : AnchorSU;
- SUnit &SecondSU = Preds ? AnchorSU : DepSU;
- DAG->addEdge(&SecondSU, SDep(&FirstSU, SDep::Cluster));
-
- // Adjust the latency between the anchor instr and its
- // predecessors/successors.
- for (SDep &IDep : AnchorDeps)
- if (IDep.getSUnit() == &DepSU)
- IDep.setLatency(0);
-
- // Adjust the latency between the dependent instr and its
- // successors/predecessors.
- for (SDep &IDep : Preds ? DepSU.Succs : DepSU.Preds)
- if (IDep.getSUnit() == &AnchorSU)
- IDep.setLatency(0);
-
- DEBUG(dbgs() << DAG->MF.getName() << "(): Macro fuse ";
- FirstSU.print(dbgs(), DAG); dbgs() << " - ";
- SecondSU.print(dbgs(), DAG); dbgs() << " / ";
- dbgs() << DAG->TII->getName(FirstMI->getOpcode()) << " - " <<
- DAG->TII->getName(SecondMI->getOpcode()) << '\n'; );
-
- if (&SecondSU != &DAG->ExitSU)
- // Make instructions dependent on FirstSU also dependent on SecondSU to
- // prevent them from being scheduled between FirstSU and and SecondSU.
- for (SUnit::const_succ_iterator
- SI = FirstSU.Succs.begin(), SE = FirstSU.Succs.end();
- SI != SE; ++SI) {
- if (!SI->getSUnit() || SI->getSUnit() == &SecondSU)
- continue;
- DEBUG(dbgs() << " Copy Succ ";
- SI->getSUnit()->print(dbgs(), DAG); dbgs() << '\n';);
- DAG->addEdge(SI->getSUnit(), SDep(&SecondSU, SDep::Artificial));
- }
-
- ++NumFused;
- return true;
- }
-
- return false;
-}
-
-/// \brief Post-process the DAG to create cluster edges between instrs that may
-/// be fused by the processor into a single operation.
-class AArch64MacroFusion : public ScheduleDAGMutation {
-public:
- AArch64MacroFusion() {}
-
- void apply(ScheduleDAGInstrs *DAGInstrs) override;
-};
-
-void AArch64MacroFusion::apply(ScheduleDAGInstrs *DAGInstrs) {
- ScheduleDAGMI *DAG = static_cast<ScheduleDAGMI*>(DAGInstrs);
-
- // For each of the SUnits in the scheduling block, try to fuse the instr in it
- // with one in its successors.
- for (SUnit &ISU : DAG->SUnits)
- scheduleAdjacentImpl(DAG, ISU);
-
- // Try to fuse the instr in the ExitSU with one in its predecessors.
- scheduleAdjacentImpl(DAG, DAG->ExitSU);
-}
-
} // end namespace
namespace llvm {
std::unique_ptr<ScheduleDAGMutation> createAArch64MacroFusionDAGMutation () {
- return EnableMacroFusion ? make_unique<AArch64MacroFusion>() : nullptr;
+ return createMacroFusionDAGMutation(shouldScheduleAdjacent);
}
} // end namespace llvm
diff --git a/lib/Target/AArch64/AArch64MacroFusion.h b/lib/Target/AArch64/AArch64MacroFusion.h
index e5efedd9fbfd..32d90d4c40d6 100644
--- a/lib/Target/AArch64/AArch64MacroFusion.h
+++ b/lib/Target/AArch64/AArch64MacroFusion.h
@@ -2,23 +2,18 @@
//
// The LLVM Compiler Infrastructure
//
-// \fileThis file is distributed under the University of Illinois Open Source
+// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
-// This file contains the AArch64 definition of the DAG scheduling mutation
-// to pair instructions back to back.
+/// \file This file contains the AArch64 definition of the DAG scheduling
+/// mutation to pair instructions back to back.
//
//===----------------------------------------------------------------------===//
-#include "AArch64InstrInfo.h"
#include "llvm/CodeGen/MachineScheduler.h"
-//===----------------------------------------------------------------------===//
-// AArch64MacroFusion - DAG post-processing to encourage fusion of macro ops.
-//===----------------------------------------------------------------------===//
-
namespace llvm {
/// Note that you have to add:
diff --git a/lib/Target/AArch64/AArch64RegisterBankInfo.cpp b/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
index 9b3899e0681c..69124dbd0f83 100644
--- a/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
+++ b/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
@@ -469,10 +469,6 @@ AArch64RegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
getCopyMapping(DstRB.getID(), SrcRB.getID(), Size),
/*NumOperands*/ 2);
}
- case TargetOpcode::G_SEQUENCE:
- // FIXME: support this, but the generic code is really not going to do
- // anything sane.
- return getInvalidInstructionMapping();
default:
break;
}
diff --git a/lib/Target/AArch64/AArch64SchedA57.td b/lib/Target/AArch64/AArch64SchedA57.td
index 303398ea0b7f..5d1608ef04af 100644
--- a/lib/Target/AArch64/AArch64SchedA57.td
+++ b/lib/Target/AArch64/AArch64SchedA57.td
@@ -13,7 +13,7 @@
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
-// The Cortex-A57 is a traditional superscaler microprocessor with a
+// The Cortex-A57 is a traditional superscalar microprocessor with a
// conservative 3-wide in-order stage for decode and dispatch. Combined with the
// much wider out-of-order issue stage, this produced a need to carefully
// schedule micro-ops so that all three decoded each cycle are successfully
diff --git a/lib/Target/AArch64/AArch64SchedFalkorDetails.td b/lib/Target/AArch64/AArch64SchedFalkorDetails.td
index 3d737402022d..0aeb1f3e3058 100644
--- a/lib/Target/AArch64/AArch64SchedFalkorDetails.td
+++ b/lib/Target/AArch64/AArch64SchedFalkorDetails.td
@@ -32,8 +32,8 @@
//===----------------------------------------------------------------------===//
// Define 0 micro-op types
-def FalkorWr_none_1cyc : SchedWriteRes<[]> {
- let Latency = 1;
+def FalkorWr_LdStInc_none_3cyc : SchedWriteRes<[]> {
+ let Latency = 3;
let NumMicroOps = 0;
}
def FalkorWr_none_3cyc : SchedWriteRes<[]> {
@@ -505,7 +505,8 @@ def FalkorWr_4VXVY_4ST_4VSD_0cyc: SchedWriteRes<[FalkorUnitVXVY, FalkorUnitST,
let NumMicroOps = 12;
}
-// Forwarding logic is modeled for multiply add/accumulate.
+// Forwarding logic is modeled for multiply add/accumulate and
+// load/store base register increment.
// -----------------------------------------------------------------------------
def FalkorReadIMA32 : SchedReadAdvance<3, [FalkorWr_IMUL32_1X_2cyc]>;
def FalkorReadIMA64 : SchedReadAdvance<4, [FalkorWr_IMUL64_1X_4cyc, FalkorWr_IMUL64_1X_5cyc]>;
@@ -513,9 +514,13 @@ def FalkorReadVMA : SchedReadAdvance<3, [FalkorWr_VMUL32_1VXVY_4cyc, FalkorWr
def FalkorReadFMA32 : SchedReadAdvance<1, [FalkorWr_FMUL32_1VXVY_5cyc, FalkorWr_FMUL32_2VXVY_5cyc]>;
def FalkorReadFMA64 : SchedReadAdvance<2, [FalkorWr_FMUL64_1VXVY_6cyc, FalkorWr_FMUL64_2VXVY_6cyc]>;
+def FalkorReadIncLd : SchedReadAdvance<2, [FalkorWr_LdStInc_none_3cyc]>;
+def FalkorReadIncSt : SchedReadAdvance<1, [FalkorWr_LdStInc_none_3cyc]>;
+
// SchedPredicates and WriteVariants for Immediate Zero and LSLFast/ASRFast
// -----------------------------------------------------------------------------
-def FalkorImmZPred : SchedPredicate<[{MI->getOperand(1).getImm() == 0}]>;
+def FalkorImmZPred : SchedPredicate<[{MI->getOperand(1).isImm() &&
+ MI->getOperand(1).getImm() == 0}]>;
def FalkorOp1ZrReg : SchedPredicate<[{MI->getOperand(1).getReg() == AArch64::WZR ||
MI->getOperand(1).getReg() == AArch64::XZR}]>;
@@ -770,84 +775,113 @@ def : InstRW<[FalkorWr_VMUL32_2VXVY_4cyc, FalkorReadVMA],
// SIMD Load Instructions
// -----------------------------------------------------------------------------
-def : InstRW<[FalkorWr_1LD_3cyc], (instregex "^LD1(i64|Onev(8b|4h|2s|1d|16b|8h|4s|2d))$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_3cyc], (instregex "^LD1(i64|Onev(8b|4h|2s|1d|16b|8h|4s|2d))_POST$")>;
-def : InstRW<[FalkorWr_1LD_3cyc], (instregex "^LD1Rv(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_3cyc], (instregex "^LD1Rv(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>;
-def : InstRW<[FalkorWr_1LD_3cyc], (instrs LD2i64)>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_3cyc], (instrs LD2i64_POST)>;
-
-def : InstRW<[FalkorWr_1LD_1VXVY_4cyc], (instregex "^LD1i(8|16|32)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_1VXVY_4cyc], (instregex "^LD1i(8|16|32)_POST$")>;
-
-def : InstRW<[FalkorWr_1LD_1none_3cyc], (instregex "^LD1Twov(8b|4h|2s|1d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_1none_3cyc], (instregex "^LD1Twov(8b|4h|2s|1d)_POST$")>;
-def : InstRW<[FalkorWr_1LD_1none_3cyc], (instregex "^LD2Twov(8b|4h|2s|1d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_1none_3cyc], (instregex "^LD2Twov(8b|4h|2s|1d)_POST$")>;
-def : InstRW<[FalkorWr_1LD_1none_3cyc], (instregex "^LD2Rv(8b|4h|2s|1d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_1none_3cyc], (instregex "^LD2Rv(8b|4h|2s|1d)_POST$")>;
-
-def : InstRW<[FalkorWr_2LD_3cyc], (instregex "^LD1Twov(16b|8h|4s|2d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_3cyc], (instregex "^LD1Twov(16b|8h|4s|2d)_POST$")>;
-def : InstRW<[FalkorWr_2LD_3cyc], (instregex "^LD2Twov(16b|8h|4s|2d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_3cyc], (instregex "^LD2Twov(16b|8h|4s|2d)_POST$")>;
-def : InstRW<[FalkorWr_2LD_3cyc], (instregex "^LD2Rv(16b|8h|4s|2d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_3cyc], (instregex "^LD2Rv(16b|8h|4s|2d)_POST$")>;
-def : InstRW<[FalkorWr_2LD_3cyc], (instrs LD3i64)>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_3cyc], (instrs LD3i64_POST)>;
-def : InstRW<[FalkorWr_2LD_3cyc], (instrs LD4i64)>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_3cyc], (instrs LD4i64_POST)>;
-
-def : InstRW<[FalkorWr_1LD_2VXVY_4cyc], (instregex "^LD2i(8|16|32)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_2VXVY_4cyc], (instregex "^LD2i(8|16|32)_POST$")>;
-
-def : InstRW<[FalkorWr_2LD_1none_3cyc], (instregex "^LD1Threev(8b|4h|2s|1d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_1none_3cyc], (instregex "^LD1Threev(8b|4h|2s|1d)_POST$")>;
-def : InstRW<[FalkorWr_2LD_1none_3cyc], (instregex "^LD3Rv(8b|4h|2s|1d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_1none_3cyc], (instregex "^LD3Rv(8b|4h|2s|1d)_POST$")>;
-
-def : InstRW<[FalkorWr_3LD_3cyc], (instregex "^LD1Threev(16b|8h|4s|2d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_3LD_3cyc], (instregex "^LD1Threev(16b|8h|4s|2d)_POST$")>;
-def : InstRW<[FalkorWr_3LD_3cyc], (instrs LD3Threev2d)>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_3LD_3cyc], (instrs LD3Threev2d_POST)>;
-def : InstRW<[FalkorWr_3LD_3cyc], (instregex "^LD3Rv(16b|8h|4s|2d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_3LD_3cyc], (instregex "^LD3Rv(16b|8h|4s|2d)_POST$")>;
-
-def : InstRW<[FalkorWr_1LD_3VXVY_4cyc], (instregex "^LD3i(8|16|32)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_3VXVY_4cyc], (instregex "^LD3i(8|16|32)_POST$")>;
-
-def : InstRW<[FalkorWr_2LD_2none_3cyc], (instregex "^LD1Fourv(8b|4h|2s|1d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_2none_3cyc], (instregex "^LD1Fourv(8b|4h|2s|1d)_POST$")>;
-def : InstRW<[FalkorWr_2LD_2none_3cyc], (instregex "^LD4Rv(8b|4h|2s|1d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_2none_3cyc], (instregex "^LD4Rv(8b|4h|2s|1d)_POST$")>;
-
-def : InstRW<[FalkorWr_4LD_3cyc], (instregex "^LD1Fourv(16b|8h|4s|2d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_4LD_3cyc], (instregex "^LD1Fourv(16b|8h|4s|2d)_POST$")>;
-def : InstRW<[FalkorWr_4LD_3cyc], (instrs LD4Fourv2d)>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_4LD_3cyc], (instrs LD4Fourv2d_POST)>;
-def : InstRW<[FalkorWr_4LD_3cyc], (instregex "^LD4Rv(16b|8h|4s|2d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_4LD_3cyc], (instregex "^LD4Rv(16b|8h|4s|2d)_POST$")>;
-
-def : InstRW<[FalkorWr_1LD_4VXVY_4cyc], (instregex "^LD4i(8|16|32)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_4VXVY_4cyc], (instregex "^LD4i(8|16|32)_POST$")>;
-
-def : InstRW<[FalkorWr_2LD_2VXVY_1none_4cyc], (instregex "^LD3Threev(8b|4h|2s|1d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_2VXVY_1none_4cyc],
- (instregex "^LD3Threev(8b|4h|2s|1d)_POST$")>;
-
-def : InstRW<[FalkorWr_2LD_2VXVY_2none_4cyc], (instregex "^LD4Fourv(8b|4h|2s|1d)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_2VXVY_2none_4cyc],
- (instregex "^LD4Fourv(8b|4h|2s|1d)_POST$")>;
-
-def : InstRW<[FalkorWr_2LD_2VXVY_2LD_2VXVY_4cyc], (instregex "^LD3Threev(16b|8h|4s)$")>;
-
-def : InstRW<[FalkorWr_2LD_2VXVY_2LD_2VXVY_4cyc], (instregex "^LD4Fourv(16b|8h|4s)$")>;
-
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_2VXVY_1XYZ_2LD_2VXVY_4cyc],
- (instregex "^LD3Threev(16b|8h|4s)_POST$")>;
-
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_2VXVY_2LD_1XYZ_2VXVY_4cyc],
- (instregex "^LD4Fourv(16b|8h|4s)_POST$")>;
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd], (instregex "^LD1(i64|Onev(8b|4h|2s|1d|16b|8h|4s|2d))$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instregex "^LD1(i64|Onev(8b|4h|2s|1d|16b|8h|4s|2d))_POST$")>;
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd], (instregex "^LD1Rv(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instregex "^LD1Rv(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>;
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd], (instrs LD2i64)>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instrs LD2i64_POST)>;
+
+def : InstRW<[FalkorWr_1LD_1VXVY_4cyc, FalkorReadIncLd], (instregex "^LD1i(8|16|32)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_1VXVY_4cyc, FalkorReadIncLd],
+ (instregex "^LD1i(8|16|32)_POST$")>;
+
+def : InstRW<[FalkorWr_1LD_1none_3cyc, FalkorReadIncLd], (instregex "^LD1Twov(8b|4h|2s|1d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_1none_3cyc, FalkorReadIncLd],
+ (instregex "^LD1Twov(8b|4h|2s|1d)_POST$")>;
+def : InstRW<[FalkorWr_1LD_1none_3cyc, FalkorReadIncLd], (instregex "^LD2Twov(8b|4h|2s)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_1none_3cyc, FalkorReadIncLd],
+ (instregex "^LD2Twov(8b|4h|2s)_POST$")>;
+def : InstRW<[FalkorWr_1LD_1none_3cyc, FalkorReadIncLd], (instregex "^LD2Rv(8b|4h|2s|1d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_1none_3cyc, FalkorReadIncLd],
+ (instregex "^LD2Rv(8b|4h|2s|1d)_POST$")>;
+
+def : InstRW<[FalkorWr_2LD_3cyc, FalkorReadIncLd], (instregex "^LD1Twov(16b|8h|4s|2d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_3cyc, FalkorReadIncLd],
+ (instregex "^LD1Twov(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[FalkorWr_2LD_3cyc, FalkorReadIncLd], (instregex "^LD2Twov(16b|8h|4s|2d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_3cyc, FalkorReadIncLd],
+ (instregex "^LD2Twov(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[FalkorWr_2LD_3cyc, FalkorReadIncLd], (instregex "^LD2Rv(16b|8h|4s|2d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_3cyc, FalkorReadIncLd],
+ (instregex "^LD2Rv(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[FalkorWr_2LD_3cyc, FalkorReadIncLd], (instrs LD3i64)>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_3cyc, FalkorReadIncLd],
+ (instrs LD3i64_POST)>;
+def : InstRW<[FalkorWr_2LD_3cyc, FalkorReadIncLd], (instrs LD4i64)>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_3cyc, FalkorReadIncLd],
+ (instrs LD4i64_POST)>;
+
+def : InstRW<[FalkorWr_1LD_2VXVY_4cyc, FalkorReadIncLd], (instregex "^LD2i(8|16|32)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_2VXVY_4cyc, FalkorReadIncLd],
+ (instregex "^LD2i(8|16|32)_POST$")>;
+
+def : InstRW<[FalkorWr_2LD_1none_3cyc, FalkorReadIncLd], (instregex "^LD1Threev(8b|4h|2s|1d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_1none_3cyc, FalkorReadIncLd],
+ (instregex "^LD1Threev(8b|4h|2s|1d)_POST$")>;
+def : InstRW<[FalkorWr_2LD_1none_3cyc, FalkorReadIncLd], (instregex "^LD3Rv(8b|4h|2s|1d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_1none_3cyc, FalkorReadIncLd],
+ (instregex "^LD3Rv(8b|4h|2s|1d)_POST$")>;
+
+def : InstRW<[FalkorWr_3LD_3cyc, FalkorReadIncLd], (instregex "^LD1Threev(16b|8h|4s|2d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_3LD_3cyc, FalkorReadIncLd],
+ (instregex "^LD1Threev(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[FalkorWr_3LD_3cyc, FalkorReadIncLd], (instrs LD3Threev2d)>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_3LD_3cyc, FalkorReadIncLd],
+ (instrs LD3Threev2d_POST)>;
+def : InstRW<[FalkorWr_3LD_3cyc, FalkorReadIncLd], (instregex "^LD3Rv(16b|8h|4s|2d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_3LD_3cyc, FalkorReadIncLd],
+ (instregex "^LD3Rv(16b|8h|4s|2d)_POST$")>;
+
+def : InstRW<[FalkorWr_1LD_3VXVY_4cyc, FalkorReadIncLd], (instregex "^LD3i(8|16|32)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_3VXVY_4cyc, FalkorReadIncLd],
+ (instregex "^LD3i(8|16|32)_POST$")>;
+
+def : InstRW<[FalkorWr_2LD_2none_3cyc, FalkorReadIncLd], (instregex "^LD1Fourv(8b|4h|2s|1d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_2none_3cyc, FalkorReadIncLd],
+ (instregex "^LD1Fourv(8b|4h|2s|1d)_POST$")>;
+def : InstRW<[FalkorWr_2LD_2none_3cyc, FalkorReadIncLd], (instregex "^LD4Rv(8b|4h|2s|1d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_2none_3cyc, FalkorReadIncLd],
+ (instregex "^LD4Rv(8b|4h|2s|1d)_POST$")>;
+
+def : InstRW<[FalkorWr_4LD_3cyc, FalkorReadIncLd], (instregex "^LD1Fourv(16b|8h|4s|2d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_4LD_3cyc, FalkorReadIncLd],
+ (instregex "^LD1Fourv(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[FalkorWr_4LD_3cyc, FalkorReadIncLd], (instrs LD4Fourv2d)>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_4LD_3cyc, FalkorReadIncLd],
+ (instrs LD4Fourv2d_POST)>;
+def : InstRW<[FalkorWr_4LD_3cyc, FalkorReadIncLd], (instregex "^LD4Rv(16b|8h|4s|2d)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_4LD_3cyc, FalkorReadIncLd],
+ (instregex "^LD4Rv(16b|8h|4s|2d)_POST$")>;
+
+def : InstRW<[FalkorWr_1LD_4VXVY_4cyc, FalkorReadIncLd], (instregex "^LD4i(8|16|32)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_4VXVY_4cyc, FalkorReadIncLd],
+ (instregex "^LD4i(8|16|32)_POST$")>;
+
+def : InstRW<[FalkorWr_2LD_2VXVY_1none_4cyc, FalkorReadIncLd],
+ (instregex "^LD3Threev(8b|4h|2s)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_2VXVY_1none_4cyc, FalkorReadIncLd],
+ (instregex "^LD3Threev(8b|4h|2s)_POST$")>;
+
+def : InstRW<[FalkorWr_2LD_2VXVY_2none_4cyc, FalkorReadIncLd],
+ (instregex "^LD4Fourv(8b|4h|2s)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_2VXVY_2none_4cyc, FalkorReadIncLd],
+ (instregex "^LD4Fourv(8b|4h|2s)_POST$")>;
+
+def : InstRW<[FalkorWr_2LD_2VXVY_2LD_2VXVY_4cyc, FalkorReadIncLd],
+ (instregex "^LD3Threev(16b|8h|4s)$")>;
+
+def : InstRW<[FalkorWr_2LD_2VXVY_2LD_2VXVY_4cyc, FalkorReadIncLd],
+ (instregex "^LD4Fourv(16b|8h|4s)$")>;
+
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_2VXVY_1XYZ_2LD_2VXVY_4cyc, FalkorReadIncLd],
+ (instregex "^LD3Threev(16b|8h|4s)_POST$")>;
+
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_2VXVY_2LD_1XYZ_2VXVY_4cyc, FalkorReadIncLd],
+ (instregex "^LD4Fourv(16b|8h|4s)_POST$")>;
// Arithmetic and Logical Instructions
// -----------------------------------------------------------------------------
@@ -929,87 +963,105 @@ def : InstRW<[FalkorWr_5VXVY_7cyc], (instregex "^TBX(v8i8Four|v16i8Four)$")>;
// SIMD Store Instructions
// -----------------------------------------------------------------------------
-def : InstRW<[FalkorWr_1VSD_1ST_0cyc], (instregex "^STR(Q|D|S|H|B)ui$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1VSD_1ST_0cyc],
+def : InstRW<[FalkorWr_1VSD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^STR(Q|D|S|H|B)ui$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1VSD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^STR(Q|D|S|H|B)(post|pre)$")>;
-def : InstRW<[FalkorWr_STRVro], (instregex "^STR(D|S|H|B)ro(W|X)$")>;
-def : InstRW<[FalkorWr_2VSD_2ST_0cyc], (instregex "^STPQi$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2VSD_2ST_0cyc],
+def : InstRW<[FalkorWr_STRVro, ReadDefault, FalkorReadIncSt],
+ (instregex "^STR(D|S|H|B)ro(W|X)$")>;
+def : InstRW<[FalkorWr_2VSD_2ST_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instregex "^STPQi$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2VSD_2ST_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
(instregex "^STPQ(post|pre)$")>;
-def : InstRW<[FalkorWr_1VSD_1ST_0cyc], (instregex "^STP(D|S)(i)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1VSD_1ST_0cyc],
+def : InstRW<[FalkorWr_1VSD_1ST_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instregex "^STP(D|S)(i)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1VSD_1ST_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
(instregex "^STP(D|S)(post|pre)$")>;
-def : InstRW<[FalkorWr_STRQro], (instregex "^STRQro(W|X)$")>;
-def : InstRW<[FalkorWr_1VSD_1ST_0cyc], (instregex "^STUR(Q|D|S|B|H)i$")>;
-def : InstRW<[FalkorWr_1VSD_1ST_0cyc], (instrs STNPDi, STNPSi)>;
-def : InstRW<[FalkorWr_2VSD_2ST_0cyc], (instrs STNPQi)>;
-
-def : InstRW<[FalkorWr_1VSD_1ST_0cyc], (instregex "^ST1(One(v8b|v4h|v2s|v1d)|(i8|i16|i32|i64)|One(v16b|v8h|v4s|v2d)|Two(v8b|v4h|v2s|v1d))$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1VSD_1ST_0cyc],
+def : InstRW<[FalkorWr_STRQro, ReadDefault, FalkorReadIncSt],
+ (instregex "^STRQro(W|X)$")>;
+def : InstRW<[FalkorWr_1VSD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^STUR(Q|D|S|B|H)i$")>;
+def : InstRW<[FalkorWr_1VSD_1ST_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instrs STNPDi, STNPSi)>;
+def : InstRW<[FalkorWr_2VSD_2ST_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instrs STNPQi)>;
+
+def : InstRW<[FalkorWr_1VSD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST1(One(v8b|v4h|v2s|v1d)|(i8|i16|i32|i64)|One(v16b|v8h|v4s|v2d)|Two(v8b|v4h|v2s|v1d))$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1VSD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST1(One(v8b|v4h|v2s|v1d)_POST|(i8|i16|i32|i64)_POST)$")>;
-def : InstRW<[FalkorWr_1VSD_1ST_0cyc], (instregex "^ST2(Two(v8b|v4h|v2s|v1d)|(i8|i16|i32|i64))$")>;
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_1VSD_1ST_0cyc],
+def : InstRW<[FalkorWr_1VSD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST2(Two(v8b|v4h|v2s)|(i8|i16|i32|i64))$")>;
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_1VSD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST1(One(v16b|v8h|v4s|v2d)|Two(v8b|v4h|v2s|v1d))_POST$")>;
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_1VSD_1ST_0cyc],
- (instregex "^ST2(Two(v8b|v4h|v2s|v1d)|(i8|i16|i32|i64))_POST$")>;
-
-def : InstRW<[FalkorWr_2VSD_2ST_0cyc], (instregex "^ST1(Two(v16b|v8h|v4s|v2d)|(Three|Four)(v8b|v4h|v2s|v1d))$")>;
-def : InstRW<[FalkorWr_2VSD_2ST_0cyc], (instregex "^ST2Two(v16b|v8h|v4s|v2d)$")>;
-def : InstRW<[FalkorWr_2VSD_2ST_0cyc], (instregex "^ST3(i8|i16|i32|i64)$")>;
-def : InstRW<[FalkorWr_2VSD_2ST_0cyc], (instregex "^ST4(i8|i16|i32|i64)$")>;
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_1VSD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST2(Two(v8b|v4h|v2s)|(i8|i16|i32|i64))_POST$")>;
+
+def : InstRW<[FalkorWr_2VSD_2ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST1(Two(v16b|v8h|v4s|v2d)|(Three|Four)(v8b|v4h|v2s|v1d))$")>;
+def : InstRW<[FalkorWr_2VSD_2ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST2Two(v16b|v8h|v4s|v2d)$")>;
+def : InstRW<[FalkorWr_2VSD_2ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST3(i8|i16|i32|i64)$")>;
+def : InstRW<[FalkorWr_2VSD_2ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST4(i8|i16|i32|i64)$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VSD_2ST_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VSD_2ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST1(Two(v16b|v8h|v4s|v2d)|(Three|Four)(v8b|v4h|v2s|v1d))_POST$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VSD_2ST_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VSD_2ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST2Two(v16b|v8h|v4s|v2d)_POST$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VSD_2ST_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VSD_2ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST3(i8|i16|i32|i64)_POST$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VSD_2ST_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VSD_2ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST4(i8|i16|i32|i64)_POST$")>;
-def : InstRW<[FalkorWr_1VXVY_2ST_2VSD_0cyc],
- (instregex "^ST3Three(v8b|v4h|v2s|v1d)$")>;
+def : InstRW<[FalkorWr_1VXVY_2ST_2VSD_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST3Three(v8b|v4h|v2s)$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_1VXVY_2ST_2VSD_0cyc],
- (instregex "^ST3Three(v8b|v4h|v2s|v1d)_POST$")>;
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_1VXVY_2ST_2VSD_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST3Three(v8b|v4h|v2s)_POST$")>;
-def : InstRW<[FalkorWr_3VSD_3ST_0cyc], (instregex "^ST1Three(v16b|v8h|v4s|v2d)$")>;
-def : InstRW<[FalkorWr_3VSD_3ST_0cyc], (instrs ST3Threev2d)>;
+def : InstRW<[FalkorWr_3VSD_3ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST1Three(v16b|v8h|v4s|v2d)$")>;
+def : InstRW<[FalkorWr_3VSD_3ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instrs ST3Threev2d)>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_3VSD_3ST_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_3VSD_3ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST1Three(v16b|v8h|v4s|v2d)_POST$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_3VSD_3ST_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_3VSD_3ST_0cyc, ReadDefault, FalkorReadIncSt],
(instrs ST3Threev2d_POST)>;
-def : InstRW<[FalkorWr_2VXVY_2ST_2VSD_0cyc],
- (instregex "^ST4Four(v8b|v4h|v2s|v1d)$")>;
+def : InstRW<[FalkorWr_2VXVY_2ST_2VSD_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST4Four(v8b|v4h|v2s)$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VXVY_2ST_2VSD_0cyc],
- (instregex "^ST4Four(v8b|v4h|v2s|v1d)_POST$")>;
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VXVY_2ST_2VSD_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST4Four(v8b|v4h|v2s)_POST$")>;
-def : InstRW<[FalkorWr_4VSD_4ST_0cyc], (instregex "^ST1Four(v16b|v8h|v4s|v2d)$")>;
-def : InstRW<[FalkorWr_4VSD_4ST_0cyc], (instrs ST4Fourv2d)>;
+def : InstRW<[FalkorWr_4VSD_4ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^ST1Four(v16b|v8h|v4s|v2d)$")>;
+def : InstRW<[FalkorWr_4VSD_4ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instrs ST4Fourv2d)>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_4VSD_4ST_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_4VSD_4ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST1Four(v16b|v8h|v4s|v2d)_POST$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_4VSD_4ST_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_4VSD_4ST_0cyc, ReadDefault, FalkorReadIncSt],
(instrs ST4Fourv2d_POST)>;
-def : InstRW<[FalkorWr_2VXVY_4ST_4VSD_0cyc],
+def : InstRW<[FalkorWr_2VXVY_4ST_4VSD_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST3Three(v16b|v8h|v4s)$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VXVY_4ST_4VSD_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_2VXVY_4ST_4VSD_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST3Three(v16b|v8h|v4s)_POST$")>;
-def : InstRW<[FalkorWr_4VXVY_4ST_4VSD_0cyc],
+def : InstRW<[FalkorWr_4VXVY_4ST_4VSD_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST4Four(v16b|v8h|v4s)$")>;
// FIXME: This is overly conservative in the imm POST case (no XYZ used in that case).
-def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_4VXVY_4ST_4VSD_0cyc],
+def : InstRW<[FalkorWr_1XYZ_1cyc, FalkorWr_4VXVY_4ST_4VSD_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^ST4Four(v16b|v8h|v4s)_POST$")>;
// Branch Instructions
@@ -1033,22 +1085,25 @@ def : InstRW<[FalkorWr_4VXVY_3cyc], (instrs SHA256SU1rrr)>;
// FP Load Instructions
// -----------------------------------------------------------------------------
-def : InstRW<[FalkorWr_1LD_3cyc], (instregex "^LDR((Q|D|S|H|B)ui|(Q|D|S)l)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_3cyc],
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instregex "^LDR((Q|D|S|H|B)ui|(Q|D|S)l)$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_3cyc, FalkorReadIncLd],
(instregex "^LDR(Q|D|S|H|B)(post|pre)$")>;
-def : InstRW<[FalkorWr_1LD_3cyc], (instregex "^LDUR(Q|D|S|H|B)i$")>;
-def : InstRW<[FalkorWr_LDRro], (instregex "^LDR(Q|D|H|S|B)ro(W|X)$")>;
-def : InstRW<[FalkorWr_2LD_3cyc, FalkorWr_none_3cyc],
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instregex "^LDUR(Q|D|S|H|B)i$")>;
+def : InstRW<[FalkorWr_LDRro, FalkorReadIncLd],
+ (instregex "^LDR(Q|D|H|S|B)ro(W|X)$")>;
+def : InstRW<[FalkorWr_2LD_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
(instrs LDNPQi)>;
-def : InstRW<[FalkorWr_2LD_3cyc, FalkorWr_none_3cyc],
+def : InstRW<[FalkorWr_2LD_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
(instrs LDPQi)>;
-def : InstRW<[FalkorWr_1LD_1none_3cyc, FalkorWr_none_3cyc],
+def : InstRW<[FalkorWr_1LD_1none_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
(instregex "LDNP(D|S)i$")>;
-def : InstRW<[FalkorWr_1LD_1none_3cyc, FalkorWr_none_3cyc],
+def : InstRW<[FalkorWr_1LD_1none_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
(instregex "LDP(D|S)i$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_1none_3cyc, FalkorWr_none_3cyc],
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_1none_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
(instregex "LDP(D|S)(pre|post)$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_2LD_3cyc, FalkorWr_none_3cyc],
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_2LD_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
(instregex "^LDPQ(pre|post)$")>;
// FP Data Processing Instructions
@@ -1106,31 +1161,41 @@ def : InstRW<[FalkorWr_2VXVY_4cyc], (instregex "^(S|U)CVTF(v2i64|v4i32|v2f64|v
// -----------------------------------------------------------------------------
def : InstRW<[FalkorWr_1ST_0cyc], (instrs PRFMui, PRFMl)>;
def : InstRW<[FalkorWr_1ST_0cyc], (instrs PRFUMi)>;
-def : InstRW<[FalkorWr_1LD_3cyc, FalkorWr_none_3cyc],
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
(instregex "^LDNP(W|X)i$")>;
-def : InstRW<[FalkorWr_1LD_3cyc, FalkorWr_none_3cyc],
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
(instregex "^LDP(W|X)i$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_3cyc, FalkorWr_none_3cyc],
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
(instregex "^LDP(W|X)(post|pre)$")>;
-def : InstRW<[FalkorWr_1LD_3cyc], (instregex "^LDR(BB|HH|W|X)ui$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_3cyc],
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instregex "^LDR(BB|HH|W|X)ui$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_3cyc, FalkorReadIncLd],
(instregex "^LDR(BB|HH|W|X)(post|pre)$")>;
-def : InstRW<[FalkorWr_LDRro], (instregex "^LDR(BB|HH|W|X)ro(W|X)$")>;
-def : InstRW<[FalkorWr_1LD_3cyc], (instregex "^LDR(W|X)l$")>;
-def : InstRW<[FalkorWr_1LD_3cyc], (instregex "^LDTR(B|H|W|X)i$")>;
-def : InstRW<[FalkorWr_1LD_3cyc], (instregex "^LDUR(BB|HH|W|X)i$")>;
+def : InstRW<[FalkorWr_LDRro, FalkorReadIncLd],
+ (instregex "^LDR(BB|HH|W|X)ro(W|X)$")>;
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instregex "^LDR(W|X)l$")>;
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instregex "^LDTR(B|H|W|X)i$")>;
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instregex "^LDUR(BB|HH|W|X)i$")>;
def : InstRW<[FalkorWr_PRFMro], (instregex "^PRFMro(W|X)$")>;
-def : InstRW<[FalkorWr_1LD_4cyc, FalkorWr_none_4cyc],
+def : InstRW<[FalkorWr_1LD_4cyc, FalkorWr_none_4cyc, FalkorReadIncLd],
(instrs LDPSWi)>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_4cyc, FalkorWr_none_4cyc],
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_4cyc, FalkorWr_none_4cyc, FalkorReadIncLd],
(instregex "^LDPSW(post|pre)$")>;
-def : InstRW<[FalkorWr_1LD_4cyc], (instregex "^LDRS(BW|BX|HW|HX|W)ui$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1LD_4cyc],
+def : InstRW<[FalkorWr_1LD_4cyc, FalkorReadIncLd],
+ (instregex "^LDRS(BW|BX|HW|HX|W)ui$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1LD_4cyc, FalkorReadIncLd],
(instregex "^LDRS(BW|BX|HW|HX|W)(post|pre)$")>;
-def : InstRW<[FalkorWr_LDRSro], (instregex "^LDRS(BW|BX|HW|HX|W)ro(W|X)$")>;
-def : InstRW<[FalkorWr_1LD_4cyc], (instrs LDRSWl)>;
-def : InstRW<[FalkorWr_1LD_4cyc], (instregex "^LDTRS(BW|BX|HW|HX|W)i$")>;
-def : InstRW<[FalkorWr_1LD_4cyc], (instregex "^LDURS(BW|BX|HW|HX|W)i$")>;
+def : InstRW<[FalkorWr_LDRSro, FalkorReadIncLd],
+ (instregex "^LDRS(BW|BX|HW|HX|W)ro(W|X)$")>;
+def : InstRW<[FalkorWr_1LD_4cyc, FalkorReadIncLd],
+ (instrs LDRSWl)>;
+def : InstRW<[FalkorWr_1LD_4cyc, FalkorReadIncLd],
+ (instregex "^LDTRS(BW|BX|HW|HX|W)i$")>;
+def : InstRW<[FalkorWr_1LD_4cyc, FalkorReadIncLd],
+ (instregex "^LDURS(BW|BX|HW|HX|W)i$")>;
// Miscellaneous Data-Processing Instructions
// -----------------------------------------------------------------------------
@@ -1178,32 +1243,46 @@ def : InstRW<[FalkorWr_1none_0cyc], (instrs BRK, DCPS1, DCPS2, DCPS3, HINT, HL
def : InstRW<[FalkorWr_1ST_0cyc], (instrs SYSxt, SYSLxt)>;
def : InstRW<[FalkorWr_1Z_0cyc], (instrs MSRpstateImm1, MSRpstateImm4)>;
-def : InstRW<[FalkorWr_1LD_3cyc], (instregex "^(LDAR(B|H|W|X)|LDAXP(W|X)|LDAXR(B|H|W|X)|LDXP(W|X)|LDXR(B|H|W|X))$")>;
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorReadIncLd],
+ (instregex "^(LDAR(B|H|W|X)|LDAXR(B|H|W|X)|LDXR(B|H|W|X))$")>;
+def : InstRW<[FalkorWr_1LD_3cyc, FalkorWr_none_3cyc, FalkorReadIncLd],
+ (instregex "^(LDAXP(W|X)|LDXP(W|X))$")>;
def : InstRW<[FalkorWr_1LD_3cyc], (instrs MRS, MOVbaseTLS)>;
def : InstRW<[FalkorWr_1LD_1Z_3cyc], (instrs DRPS)>;
def : InstRW<[FalkorWr_1SD_1ST_0cyc], (instrs MSR)>;
-def : InstRW<[FalkorWr_1SD_1ST_0cyc], (instrs STNPWi, STNPXi)>;
+def : InstRW<[FalkorWr_1SD_1ST_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instrs STNPWi, STNPXi)>;
def : InstRW<[FalkorWr_2LD_1Z_3cyc], (instrs ERET)>;
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<[FalkorWr_2LD_1ST_1SD_3cyc], (instregex "^STLXP(W|X)$")>;
-def : InstRW<[FalkorWr_2LD_1ST_1SD_3cyc], (instregex "^STLXR(B|H|W|X)$")>;
+def : InstRW<[FalkorWr_1ST_1SD_1LD_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^STLR(B|H|W|X)$")>;
+def : InstRW<[FalkorWr_1ST_1SD_1LD_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instregex "^STXP(W|X)$")>;
+def : InstRW<[FalkorWr_1ST_1SD_1LD_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instregex "^STXR(B|H|W|X)$")>;
+
+def : InstRW<[FalkorWr_2LD_1ST_1SD_3cyc, ReadDefault, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instregex "^STLXP(W|X)$")>;
+def : InstRW<[FalkorWr_2LD_1ST_1SD_3cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instregex "^STLXR(B|H|W|X)$")>;
// Store Instructions
// -----------------------------------------------------------------------------
-def : InstRW<[FalkorWr_1SD_1ST_0cyc], (instregex "^STP(W|X)i$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1SD_1ST_0cyc],
+def : InstRW<[FalkorWr_1SD_1ST_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
+ (instregex "^STP(W|X)i$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1SD_1ST_0cyc, ReadDefault, ReadDefault, FalkorReadIncSt],
(instregex "^STP(W|X)(post|pre)$")>;
-def : InstRW<[FalkorWr_1SD_1ST_0cyc], (instregex "^STR(BB|HH|W|X)ui$")>;
-def : InstRW<[FalkorWr_none_1cyc, FalkorWr_1SD_1ST_0cyc],
+def : InstRW<[FalkorWr_1SD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^STR(BB|HH|W|X)ui$")>;
+def : InstRW<[FalkorWr_LdStInc_none_3cyc, FalkorWr_1SD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
(instregex "^STR(BB|HH|W|X)(post|pre)$")>;
-def : InstRW<[FalkorWr_STRro], (instregex "^STR(BB|HH|W|X)ro(W|X)$")>;
-def : InstRW<[FalkorWr_1SD_1ST_0cyc], (instregex "^STTR(B|H|W|X)i$")>;
-def : InstRW<[FalkorWr_1SD_1ST_0cyc], (instregex "^STUR(BB|HH|W|X)i$")>;
+def : InstRW<[FalkorWr_STRro, ReadDefault, FalkorReadIncSt],
+ (instregex "^STR(BB|HH|W|X)ro(W|X)$")>;
+def : InstRW<[FalkorWr_1SD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^STTR(B|H|W|X)i$")>;
+def : InstRW<[FalkorWr_1SD_1ST_0cyc, ReadDefault, FalkorReadIncSt],
+ (instregex "^STUR(BB|HH|W|X)i$")>;
diff --git a/lib/Target/AArch64/AArch64SchedKryoDetails.td b/lib/Target/AArch64/AArch64SchedKryoDetails.td
index 02cccccd3078..cf4cdabb8cbf 100644
--- a/lib/Target/AArch64/AArch64SchedKryoDetails.td
+++ b/lib/Target/AArch64/AArch64SchedKryoDetails.td
@@ -1374,7 +1374,9 @@ def KryoWrite_3cyc_LS_LS_400ln :
let Latency = 3; let NumMicroOps = 2;
}
def : InstRW<[KryoWrite_3cyc_LS_LS_400ln],
- (instregex "(LDAX?R(B|H|W|X)|LDAXP(W|X))")>;
+ (instregex "LDAX?R(B|H|W|X)")>;
+def : InstRW<[KryoWrite_3cyc_LS_LS_400ln, WriteLDHi],
+ (instregex "LDAXP(W|X)")>;
def KryoWrite_3cyc_LS_LS_401ln :
SchedWriteRes<[KryoUnitLS, KryoUnitLS]> {
let Latency = 3; let NumMicroOps = 2;
@@ -1565,7 +1567,7 @@ def KryoWrite_3cyc_LS_258ln :
SchedWriteRes<[KryoUnitLS]> {
let Latency = 3; let NumMicroOps = 1;
}
-def : InstRW<[KryoWrite_3cyc_LS_258ln],
+def : InstRW<[KryoWrite_3cyc_LS_258ln, WriteLDHi],
(instregex "LDXP(W|X)")>;
def KryoWrite_3cyc_LS_258_1ln :
SchedWriteRes<[KryoUnitLS]> {
diff --git a/lib/Target/AArch64/AArch64TargetMachine.cpp b/lib/Target/AArch64/AArch64TargetMachine.cpp
index d4a8cecdb29f..6660f0babb8a 100644
--- a/lib/Target/AArch64/AArch64TargetMachine.cpp
+++ b/lib/Target/AArch64/AArch64TargetMachine.cpp
@@ -47,6 +47,11 @@ static cl::opt<bool> EnableCCMP("aarch64-enable-ccmp",
cl::desc("Enable the CCMP formation pass"),
cl::init(true), cl::Hidden);
+static cl::opt<bool>
+ EnableCondBrTuning("aarch64-enable-cond-br-tune",
+ cl::desc("Enable the conditional branch tuning pass"),
+ cl::init(true), cl::Hidden);
+
static cl::opt<bool> EnableMCR("aarch64-enable-mcr",
cl::desc("Enable the machine combiner pass"),
cl::init(true), cl::Hidden);
@@ -429,6 +434,8 @@ bool AArch64PassConfig::addILPOpts() {
addPass(createAArch64ConditionalCompares());
if (EnableMCR)
addPass(&MachineCombinerID);
+ if (EnableCondBrTuning)
+ addPass(createAArch64CondBrTuning());
if (EnableEarlyIfConversion)
addPass(&EarlyIfConverterID);
if (EnableStPairSuppress)
diff --git a/lib/Target/AArch64/CMakeLists.txt b/lib/Target/AArch64/CMakeLists.txt
index f0f50f29be0f..02b12b5e90ca 100644
--- a/lib/Target/AArch64/CMakeLists.txt
+++ b/lib/Target/AArch64/CMakeLists.txt
@@ -43,6 +43,7 @@ add_llvm_target(AArch64CodeGen
AArch64AsmPrinter.cpp
AArch64CleanupLocalDynamicTLSPass.cpp
AArch64CollectLOH.cpp
+ AArch64CondBrTuning.cpp
AArch64ConditionalCompares.cpp
AArch64DeadRegisterDefinitionsPass.cpp
AArch64ExpandPseudoInsts.cpp
diff --git a/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp b/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
index 43a6fa9ce089..3d075018904c 100644
--- a/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
+++ b/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
@@ -43,26 +43,25 @@ public:
const MCFixupKindInfo &getFixupKindInfo(MCFixupKind Kind) const override {
const static MCFixupKindInfo Infos[AArch64::NumTargetFixupKinds] = {
- // This table *must* be in the order that the fixup_* kinds are defined in
- // AArch64FixupKinds.h.
- //
- // Name Offset (bits) Size (bits) Flags
- { "fixup_aarch64_pcrel_adr_imm21", 0, 32, PCRelFlagVal },
- { "fixup_aarch64_pcrel_adrp_imm21", 0, 32, PCRelFlagVal },
- { "fixup_aarch64_add_imm12", 10, 12, 0 },
- { "fixup_aarch64_ldst_imm12_scale1", 10, 12, 0 },
- { "fixup_aarch64_ldst_imm12_scale2", 10, 12, 0 },
- { "fixup_aarch64_ldst_imm12_scale4", 10, 12, 0 },
- { "fixup_aarch64_ldst_imm12_scale8", 10, 12, 0 },
- { "fixup_aarch64_ldst_imm12_scale16", 10, 12, 0 },
- { "fixup_aarch64_ldr_pcrel_imm19", 5, 19, PCRelFlagVal },
- { "fixup_aarch64_movw", 5, 16, 0 },
- { "fixup_aarch64_pcrel_branch14", 5, 14, PCRelFlagVal },
- { "fixup_aarch64_pcrel_branch19", 5, 19, PCRelFlagVal },
- { "fixup_aarch64_pcrel_branch26", 0, 26, PCRelFlagVal },
- { "fixup_aarch64_pcrel_call26", 0, 26, PCRelFlagVal },
- { "fixup_aarch64_tlsdesc_call", 0, 0, 0 }
- };
+ // This table *must* be in the order that the fixup_* kinds are defined
+ // in AArch64FixupKinds.h.
+ //
+ // Name Offset (bits) Size (bits) Flags
+ {"fixup_aarch64_pcrel_adr_imm21", 0, 32, PCRelFlagVal},
+ {"fixup_aarch64_pcrel_adrp_imm21", 0, 32, PCRelFlagVal},
+ {"fixup_aarch64_add_imm12", 10, 12, 0},
+ {"fixup_aarch64_ldst_imm12_scale1", 10, 12, 0},
+ {"fixup_aarch64_ldst_imm12_scale2", 10, 12, 0},
+ {"fixup_aarch64_ldst_imm12_scale4", 10, 12, 0},
+ {"fixup_aarch64_ldst_imm12_scale8", 10, 12, 0},
+ {"fixup_aarch64_ldst_imm12_scale16", 10, 12, 0},
+ {"fixup_aarch64_ldr_pcrel_imm19", 5, 19, PCRelFlagVal},
+ {"fixup_aarch64_movw", 5, 16, 0},
+ {"fixup_aarch64_pcrel_branch14", 5, 14, PCRelFlagVal},
+ {"fixup_aarch64_pcrel_branch19", 5, 19, PCRelFlagVal},
+ {"fixup_aarch64_pcrel_branch26", 0, 26, PCRelFlagVal},
+ {"fixup_aarch64_pcrel_call26", 0, 26, PCRelFlagVal},
+ {"fixup_aarch64_tlsdesc_call", 0, 0, 0}};
if (Kind < FirstTargetFixupKind)
return MCAsmBackend::getFixupKindInfo(Kind);
@@ -72,8 +71,9 @@ public:
return Infos[Kind - FirstTargetFixupKind];
}
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
bool mayNeedRelaxation(const MCInst &Inst) const override;
bool fixupNeedsRelaxation(const MCFixup &Fixup, uint64_t Value,
@@ -261,13 +261,15 @@ unsigned AArch64AsmBackend::getFixupKindContainereSizeInBytes(unsigned Kind) con
}
}
-void AArch64AsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned DataSize, uint64_t Value,
- bool IsPCRel, MCContext &Ctx) const {
+void AArch64AsmBackend::applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data, uint64_t Value,
+ bool IsPCRel) const {
unsigned NumBytes = getFixupKindNumBytes(Fixup.getKind());
if (!Value)
return; // Doesn't change encoding.
MCFixupKindInfo Info = getFixupKindInfo(Fixup.getKind());
+ MCContext &Ctx = Asm.getContext();
// Apply any target-specific value adjustments.
Value = adjustFixupValue(Fixup, Value, Ctx);
@@ -275,7 +277,7 @@ void AArch64AsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
Value <<= Info.TargetOffset;
unsigned Offset = Fixup.getOffset();
- assert(Offset + NumBytes <= DataSize && "Invalid fixup offset!");
+ assert(Offset + NumBytes <= Data.size() && "Invalid fixup offset!");
// Used to point to big endian bytes.
unsigned FulleSizeInBytes = getFixupKindContainereSizeInBytes(Fixup.getKind());
@@ -289,7 +291,7 @@ void AArch64AsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
}
} else {
// Handle as big-endian
- assert((Offset + FulleSizeInBytes) <= DataSize && "Invalid fixup size!");
+ assert((Offset + FulleSizeInBytes) <= Data.size() && "Invalid fixup size!");
assert(NumBytes <= FulleSizeInBytes && "Invalid fixup size!");
for (unsigned i = 0; i != NumBytes; ++i) {
unsigned Idx = FulleSizeInBytes - 1 - i;
@@ -539,16 +541,14 @@ public:
return createAArch64ELFObjectWriter(OS, OSABI, IsLittleEndian, IsILP32);
}
- void processFixupValue(const MCAssembler &Asm, const MCAsmLayout &Layout,
- const MCFixup &Fixup, const MCFragment *DF,
- const MCValue &Target, uint64_t &Value,
- bool &IsResolved) override;
+ void processFixupValue(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, bool &IsResolved) override;
};
-void ELFAArch64AsmBackend::processFixupValue(
- const MCAssembler &Asm, const MCAsmLayout &Layout, const MCFixup &Fixup,
- const MCFragment *DF, const MCValue &Target, uint64_t &Value,
- bool &IsResolved) {
+void ELFAArch64AsmBackend::processFixupValue(const MCAssembler &Asm,
+ const MCFixup &Fixup,
+ const MCValue &Target,
+ bool &IsResolved) {
// The ADRP instruction adds some multiple of 0x1000 to the current PC &
// ~0xfff. This means that the required offset to reach a symbol can vary by
// up to one step depending on where the ADRP is in memory. For example:
diff --git a/lib/Target/AMDGPU/AMDGPU.td b/lib/Target/AMDGPU/AMDGPU.td
index 6ab2b9ef0459..7494e5decd6f 100644
--- a/lib/Target/AMDGPU/AMDGPU.td
+++ b/lib/Target/AMDGPU/AMDGPU.td
@@ -238,6 +238,36 @@ def FeatureSDWA : SubtargetFeature<"sdwa",
"Support SDWA (Sub-DWORD Addressing) extension"
>;
+def FeatureSDWAOmod : SubtargetFeature<"sdwa-omod",
+ "HasSDWAOmod",
+ "true",
+ "Support OMod with SDWA (Sub-DWORD Addressing) extension"
+>;
+
+def FeatureSDWAScalar : SubtargetFeature<"sdwa-scalar",
+ "HasSDWAScalar",
+ "true",
+ "Support scalar register with SDWA (Sub-DWORD Addressing) extension"
+>;
+
+def FeatureSDWASdst : SubtargetFeature<"sdwa-sdst",
+ "HasSDWASdst",
+ "true",
+ "Support scalar dst for VOPC with SDWA (Sub-DWORD Addressing) extension"
+>;
+
+def FeatureSDWAMac : SubtargetFeature<"sdwa-mav",
+ "HasSDWAMac",
+ "true",
+ "Support v_mac_f32/f16 with SDWA (Sub-DWORD Addressing) extension"
+>;
+
+def FeatureSDWAClampVOPC : SubtargetFeature<"sdwa-clamp-vopc",
+ "HasSDWAClampVOPC",
+ "true",
+ "Support clamp for VOPC with SDWA (Sub-DWORD Addressing) extension"
+>;
+
def FeatureDPP : SubtargetFeature<"dpp",
"HasDPP",
"true",
@@ -421,8 +451,8 @@ def FeatureVolcanicIslands : SubtargetFeatureGeneration<"VOLCANIC_ISLANDS",
FeatureWavefrontSize64, FeatureFlatAddressSpace, FeatureGCN,
FeatureGCN3Encoding, FeatureCIInsts, Feature16BitInsts,
FeatureSMemRealTime, FeatureVGPRIndexMode, FeatureMovrel,
- FeatureScalarStores, FeatureInv2PiInlineImm, FeatureSDWA,
- FeatureDPP
+ FeatureScalarStores, FeatureInv2PiInlineImm,
+ FeatureSDWA, FeatureSDWAClampVOPC, FeatureSDWAMac, FeatureDPP
]
>;
@@ -432,7 +462,8 @@ def FeatureGFX9 : SubtargetFeatureGeneration<"GFX9",
FeatureGCN3Encoding, FeatureCIInsts, Feature16BitInsts,
FeatureSMemRealTime, FeatureScalarStores, FeatureInv2PiInlineImm,
FeatureApertureRegs, FeatureGFX9Insts, FeatureVOP3P, FeatureVGPRIndexMode,
- FeatureFastFMAF32, FeatureSDWA, FeatureDPP,
+ FeatureFastFMAF32, FeatureDPP,
+ FeatureSDWA, FeatureSDWAOmod, FeatureSDWAScalar, FeatureSDWASdst,
FeatureFlatInstOffsets, FeatureFlatGlobalInsts, FeatureFlatScratchInsts
]
>;
@@ -449,14 +480,14 @@ class SubtargetFeatureISAVersion <int Major, int Minor, int Stepping,
def FeatureISAVersion6_0_0 : SubtargetFeatureISAVersion <6,0,0,
[FeatureSouthernIslands,
- FeatureFastFMAF32,
+ FeatureFastFMAF32,
HalfRate64Ops,
FeatureLDSBankCount32]>;
def FeatureISAVersion6_0_1 : SubtargetFeatureISAVersion <6,0,1,
[FeatureSouthernIslands,
FeatureLDSBankCount32]>;
-
+
def FeatureISAVersion7_0_0 : SubtargetFeatureISAVersion <7,0,0,
[FeatureSeaIslands,
FeatureLDSBankCount32]>;
@@ -644,7 +675,11 @@ def isCIVI : Predicate <
"Subtarget->getGeneration() >= AMDGPUSubtarget::SEA_ISLANDS">,
AssemblerPredicate<"FeatureCIInsts">;
-def HasFlatAddressSpace : Predicate<"Subtarget->hasFlatAddressSpace()">;
+def HasFlatAddressSpace : Predicate<"Subtarget->hasFlatAddressSpace()">,
+ AssemblerPredicate<"FeatureFlatAddressSpace">;
+
+def HasFlatGlobalInsts : Predicate<"Subtarget->hasFlatGlobalInsts()">,
+ AssemblerPredicate<"FeatureFlatGlobalInsts">;
def Has16BitInsts : Predicate<"Subtarget->has16BitInsts()">,
AssemblerPredicate<"Feature16BitInsts">;
diff --git a/lib/Target/AMDGPU/AMDGPUISelLowering.cpp b/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
index 5586b513b5fc..96f819fd0e68 100644
--- a/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+++ b/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
@@ -3527,18 +3527,25 @@ SDValue AMDGPUTargetLowering::PerformDAGCombine(SDNode *N,
//===----------------------------------------------------------------------===//
SDValue AMDGPUTargetLowering::CreateLiveInRegister(SelectionDAG &DAG,
- const TargetRegisterClass *RC,
- unsigned Reg, EVT VT) const {
+ const TargetRegisterClass *RC,
+ unsigned Reg, EVT VT,
+ const SDLoc &SL,
+ bool RawReg) const {
MachineFunction &MF = DAG.getMachineFunction();
MachineRegisterInfo &MRI = MF.getRegInfo();
- unsigned VirtualRegister;
+ unsigned VReg;
+
if (!MRI.isLiveIn(Reg)) {
- VirtualRegister = MRI.createVirtualRegister(RC);
- MRI.addLiveIn(Reg, VirtualRegister);
+ VReg = MRI.createVirtualRegister(RC);
+ MRI.addLiveIn(Reg, VReg);
} else {
- VirtualRegister = MRI.getLiveInVirtReg(Reg);
+ VReg = MRI.getLiveInVirtReg(Reg);
}
- return DAG.getRegister(VirtualRegister, VT);
+
+ if (RawReg)
+ return DAG.getRegister(VReg, VT);
+
+ return DAG.getCopyFromReg(DAG.getEntryNode(), SL, VReg, VT);
}
uint32_t AMDGPUTargetLowering::getImplicitParameterOffset(
@@ -3657,6 +3664,8 @@ const char* AMDGPUTargetLowering::getTargetNodeName(unsigned Opcode) const {
NODE_NAME_CASE(STORE_MSKOR)
NODE_NAME_CASE(LOAD_CONSTANT)
NODE_NAME_CASE(TBUFFER_STORE_FORMAT)
+ NODE_NAME_CASE(TBUFFER_STORE_FORMAT_X3)
+ NODE_NAME_CASE(TBUFFER_LOAD_FORMAT)
NODE_NAME_CASE(ATOMIC_CMP_SWAP)
NODE_NAME_CASE(ATOMIC_INC)
NODE_NAME_CASE(ATOMIC_DEC)
diff --git a/lib/Target/AMDGPU/AMDGPUISelLowering.h b/lib/Target/AMDGPU/AMDGPUISelLowering.h
index 0d066cdbdff4..a45234e2b39f 100644
--- a/lib/Target/AMDGPU/AMDGPUISelLowering.h
+++ b/lib/Target/AMDGPU/AMDGPUISelLowering.h
@@ -216,10 +216,25 @@ public:
/// \brief Helper function that adds Reg to the LiveIn list of the DAG's
/// MachineFunction.
///
- /// \returns a RegisterSDNode representing Reg.
- virtual SDValue CreateLiveInRegister(SelectionDAG &DAG,
- const TargetRegisterClass *RC,
- unsigned Reg, EVT VT) const;
+ /// \returns a RegisterSDNode representing Reg if \p RawReg is true, otherwise
+ /// a copy from the register.
+ SDValue CreateLiveInRegister(SelectionDAG &DAG,
+ const TargetRegisterClass *RC,
+ unsigned Reg, EVT VT,
+ const SDLoc &SL,
+ bool RawReg = false) const;
+ SDValue CreateLiveInRegister(SelectionDAG &DAG,
+ const TargetRegisterClass *RC,
+ unsigned Reg, EVT VT) const {
+ return CreateLiveInRegister(DAG, RC, Reg, VT, SDLoc(DAG.getEntryNode()));
+ }
+
+ // Returns the raw live in register rather than a copy from it.
+ SDValue CreateLiveInRegisterRaw(SelectionDAG &DAG,
+ const TargetRegisterClass *RC,
+ unsigned Reg, EVT VT) const {
+ return CreateLiveInRegister(DAG, RC, Reg, VT, SDLoc(DAG.getEntryNode()), true);
+ }
enum ImplicitParameter {
FIRST_IMPLICIT,
@@ -388,6 +403,8 @@ enum NodeType : unsigned {
STORE_MSKOR,
LOAD_CONSTANT,
TBUFFER_STORE_FORMAT,
+ TBUFFER_STORE_FORMAT_X3,
+ TBUFFER_LOAD_FORMAT,
ATOMIC_CMP_SWAP,
ATOMIC_INC,
ATOMIC_DEC,
diff --git a/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp b/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp
index a01f5d37c7c1..69dc52986172 100644
--- a/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp
+++ b/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp
@@ -66,7 +66,9 @@ int AMDGPUInstrInfo::getMaskedMIMGOp(uint16_t Opcode, unsigned Channels) const {
// This must be kept in sync with the SIEncodingFamily class in SIInstrInfo.td
enum SIEncodingFamily {
SI = 0,
- VI = 1
+ VI = 1,
+ SDWA = 2,
+ SDWA9 = 3
};
// Wrapper for Tablegen'd function. enum Subtarget is not defined in any
@@ -101,7 +103,12 @@ static SIEncodingFamily subtargetEncodingFamily(const AMDGPUSubtarget &ST) {
}
int AMDGPUInstrInfo::pseudoToMCOpcode(int Opcode) const {
- int MCOp = AMDGPU::getMCOpcode(Opcode, subtargetEncodingFamily(ST));
+ SIEncodingFamily Gen = subtargetEncodingFamily(ST);
+ if (get(Opcode).TSFlags & SIInstrFlags::SDWA)
+ Gen = ST.getGeneration() == AMDGPUSubtarget::GFX9 ? SIEncodingFamily::SDWA9
+ : SIEncodingFamily::SDWA;
+
+ int MCOp = AMDGPU::getMCOpcode(Opcode, Gen);
// -1 means that Opcode is already a native instruction.
if (MCOp == -1)
diff --git a/lib/Target/AMDGPU/AMDGPUInstrInfo.td b/lib/Target/AMDGPU/AMDGPUInstrInfo.td
index e286558ce60d..bcf89bb78ad6 100644
--- a/lib/Target/AMDGPU/AMDGPUInstrInfo.td
+++ b/lib/Target/AMDGPU/AMDGPUInstrInfo.td
@@ -70,6 +70,10 @@ def AMDGPUElseBreakOp : SDTypeProfile<1, 2,
[SDTCisVT<0, i64>, SDTCisVT<1, i64>, SDTCisVT<2, i64>]
>;
+def AMDGPUAddeSubeOp : SDTypeProfile<2, 3,
+ [SDTCisSameAs<0, 2>, SDTCisSameAs<0, 3>, SDTCisVT<0, i32>, SDTCisVT<1, i1>, SDTCisVT<4, i1>]
+>;
+
//===----------------------------------------------------------------------===//
// AMDGPU DAG Nodes
//
@@ -179,6 +183,12 @@ def AMDGPUcarry : SDNode<"AMDGPUISD::CARRY", SDTIntBinOp, []>;
// out = (src1 > src0) ? 1 : 0
def AMDGPUborrow : SDNode<"AMDGPUISD::BORROW", SDTIntBinOp, []>;
+// TODO: remove AMDGPUadde/AMDGPUsube when ADDCARRY/SUBCARRY get their own
+// nodes in TargetSelectionDAG.td.
+def AMDGPUadde : SDNode<"ISD::ADDCARRY", AMDGPUAddeSubeOp, []>;
+
+def AMDGPUsube : SDNode<"ISD::SUBCARRY", AMDGPUAddeSubeOp, []>;
+
def AMDGPUSetCCOp : SDTypeProfile<1, 3, [ // setcc
SDTCisVT<0, i64>, SDTCisSameAs<1, 2>, SDTCisVT<3, OtherVT>
]>;
diff --git a/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
index 790a69b84397..cc56216c355b 100644
--- a/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+++ b/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
@@ -29,12 +29,20 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo() {
using namespace TargetOpcode;
const LLT S1= LLT::scalar(1);
+ const LLT V2S16 = LLT::vector(2, 16);
const LLT S32 = LLT::scalar(32);
const LLT S64 = LLT::scalar(64);
const LLT P1 = LLT::pointer(1, 64);
const LLT P2 = LLT::pointer(2, 64);
setAction({G_ADD, S32}, Legal);
+ setAction({G_AND, S32}, Legal);
+
+ setAction({G_BITCAST, V2S16}, Legal);
+ setAction({G_BITCAST, 1, S32}, Legal);
+
+ setAction({G_BITCAST, S32}, Legal);
+ setAction({G_BITCAST, 1, V2S16}, Legal);
// FIXME: i1 operands to intrinsics should always be legal, but other i1
// values may not be legal. We need to figure out how to distinguish
@@ -61,6 +69,8 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo() {
setAction({G_SELECT, S32}, Legal);
setAction({G_SELECT, 1, S1}, Legal);
+ setAction({G_SHL, S32}, Legal);
+
setAction({G_STORE, S32}, Legal);
setAction({G_STORE, 1, P1}, Legal);
diff --git a/lib/Target/AMDGPU/AMDGPUSubtarget.cpp b/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
index 8d157e2f98f2..ab5abf2039a5 100644
--- a/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
+++ b/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
@@ -124,6 +124,11 @@ AMDGPUSubtarget::AMDGPUSubtarget(const Triple &TT, StringRef GPU, StringRef FS,
HasScalarStores(false),
HasInv2PiInlineImm(false),
HasSDWA(false),
+ HasSDWAOmod(false),
+ HasSDWAScalar(false),
+ HasSDWASdst(false),
+ HasSDWAMac(false),
+ HasSDWAClampVOPC(false),
HasDPP(false),
FlatAddressSpace(false),
FlatInstOffsets(false),
diff --git a/lib/Target/AMDGPU/AMDGPUSubtarget.h b/lib/Target/AMDGPU/AMDGPUSubtarget.h
index 5f4f20316a6b..2b16289c723e 100644
--- a/lib/Target/AMDGPU/AMDGPUSubtarget.h
+++ b/lib/Target/AMDGPU/AMDGPUSubtarget.h
@@ -149,6 +149,11 @@ protected:
bool HasScalarStores;
bool HasInv2PiInlineImm;
bool HasSDWA;
+ bool HasSDWAOmod;
+ bool HasSDWAScalar;
+ bool HasSDWASdst;
+ bool HasSDWAMac;
+ bool HasSDWAClampVOPC;
bool HasDPP;
bool FlatAddressSpace;
bool FlatInstOffsets;
@@ -431,6 +436,26 @@ public:
return HasSDWA;
}
+ bool hasSDWAOmod() const {
+ return HasSDWAOmod;
+ }
+
+ bool hasSDWAScalar() const {
+ return HasSDWAScalar;
+ }
+
+ bool hasSDWASdst() const {
+ return HasSDWASdst;
+ }
+
+ bool hasSDWAMac() const {
+ return HasSDWAMac;
+ }
+
+ bool hasSDWAClampVOPC() const {
+ return HasSDWAClampVOPC;
+ }
+
/// \brief Returns the offset in bytes from the start of the input buffer
/// of the first explicit kernel argument.
unsigned getExplicitKernelArgOffset(const MachineFunction &MF) const {
diff --git a/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
index b644eba536fa..04fe9f689806 100644
--- a/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ b/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -342,6 +342,14 @@ void AMDGPUTargetMachine::adjustPassManager(PassManagerBuilder &Builder) {
PM.add(createAMDGPUExternalAAWrapperPass());
}
});
+
+ Builder.addExtension(
+ PassManagerBuilder::EP_CGSCCOptimizerLate,
+ [](const PassManagerBuilder &, legacy::PassManagerBase &PM) {
+ // Add infer address spaces pass to the opt pipeline after inlining
+ // but before SROA to increase SROA opportunities.
+ PM.add(createInferAddressSpacesPass());
+ });
}
//===----------------------------------------------------------------------===//
diff --git a/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp b/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
index 0d6689bd04c4..88245b01683a 100644
--- a/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+++ b/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
@@ -184,9 +184,9 @@ void AMDGPUTTIImpl::getUnrollingPreferences(Loop *L,
}
}
-unsigned AMDGPUTTIImpl::getNumberOfRegisters(bool Vec) {
- if (Vec)
- return 0;
+unsigned AMDGPUTTIImpl::getHardwareNumberOfRegisters(bool Vec) const {
+ // The concept of vector registers doesn't really exist. Some packed vector
+ // operations operate on the normal 32-bit registers.
// Number of VGPRs on SI.
if (ST->getGeneration() >= AMDGPUSubtarget::SOUTHERN_ISLANDS)
@@ -195,8 +195,18 @@ unsigned AMDGPUTTIImpl::getNumberOfRegisters(bool Vec) {
return 4 * 128; // XXX - 4 channels. Should these count as vector instead?
}
+unsigned AMDGPUTTIImpl::getNumberOfRegisters(bool Vec) const {
+ // This is really the number of registers to fill when vectorizing /
+ // interleaving loops, so we lie to avoid trying to use all registers.
+ return getHardwareNumberOfRegisters(Vec) >> 3;
+}
+
unsigned AMDGPUTTIImpl::getRegisterBitWidth(bool Vector) const {
- return Vector ? 0 : 32;
+ return 32;
+}
+
+unsigned AMDGPUTTIImpl::getMinVectorRegisterBitWidth() const {
+ return 32;
}
unsigned AMDGPUTTIImpl::getLoadStoreVecRegBitWidth(unsigned AddrSpace) const {
@@ -247,11 +257,11 @@ bool AMDGPUTTIImpl::isLegalToVectorizeStoreChain(unsigned ChainSizeInBytes,
unsigned AMDGPUTTIImpl::getMaxInterleaveFactor(unsigned VF) {
// Disable unrolling if the loop is not vectorized.
+ // TODO: Enable this again.
if (VF == 1)
return 1;
- // Semi-arbitrary large amount.
- return 64;
+ return 8;
}
int AMDGPUTTIImpl::getArithmeticInstrCost(
diff --git a/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h b/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
index a60b1bb1b59c..485e20411ab4 100644
--- a/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
+++ b/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
@@ -75,8 +75,10 @@ public:
return TTI::PSK_FastHardware;
}
- unsigned getNumberOfRegisters(bool Vector);
- unsigned getRegisterBitWidth(bool Vector) const;
+ unsigned getHardwareNumberOfRegisters(bool Vector) const;
+ unsigned getNumberOfRegisters(bool Vector) const;
+ unsigned getRegisterBitWidth(bool Vector) const ;
+ unsigned getMinVectorRegisterBitWidth() const;
unsigned getLoadStoreVecRegBitWidth(unsigned AddrSpace) const;
bool isLegalToVectorizeMemChain(unsigned ChainSizeInBytes,
diff --git a/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
index 392e9d89bd9b..7b8756050b75 100644
--- a/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+++ b/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
@@ -152,6 +152,8 @@ public:
ImmTyExpTgt,
ImmTyExpCompr,
ImmTyExpVM,
+ ImmTyDFMT,
+ ImmTyNFMT,
ImmTyHwreg,
ImmTyOff,
ImmTySendMsg,
@@ -260,6 +262,8 @@ public:
return isOff() || isRegClass(AMDGPU::VGPR_32RegClassID);
}
+ bool isSDWARegKind() const;
+
bool isImmTy(ImmTy ImmT) const {
return isImm() && Imm.Type == ImmT;
}
@@ -292,6 +296,8 @@ public:
bool isGLC() const { return isImmTy(ImmTyGLC); }
bool isSLC() const { return isImmTy(ImmTySLC); }
bool isTFE() const { return isImmTy(ImmTyTFE); }
+ bool isDFMT() const { return isImmTy(ImmTyDFMT) && isUInt<8>(getImm()); }
+ bool isNFMT() const { return isImmTy(ImmTyNFMT) && isUInt<8>(getImm()); }
bool isBankMask() const { return isImmTy(ImmTyDppBankMask); }
bool isRowMask() const { return isImmTy(ImmTyDppRowMask); }
bool isBoundCtrl() const { return isImmTy(ImmTyDppBoundCtrl); }
@@ -636,6 +642,8 @@ public:
case ImmTyGLC: OS << "GLC"; break;
case ImmTySLC: OS << "SLC"; break;
case ImmTyTFE: OS << "TFE"; break;
+ case ImmTyDFMT: OS << "DFMT"; break;
+ case ImmTyNFMT: OS << "NFMT"; break;
case ImmTyClampSI: OS << "ClampSI"; break;
case ImmTyOModSI: OS << "OModSI"; break;
case ImmTyDppCtrl: OS << "DppCtrl"; break;
@@ -993,7 +1001,9 @@ private:
void errorExpTgt();
OperandMatchResultTy parseExpTgtImpl(StringRef Str, uint8_t &Val);
- bool validateOperandLimitations(const MCInst &Inst);
+ bool validateInstruction(const MCInst &Inst, const SMLoc &IDLoc);
+ bool validateConstantBusLimitations(const MCInst &Inst);
+ bool validateEarlyClobberLimitations(const MCInst &Inst);
bool usesConstantBus(const MCInst &Inst, unsigned OpIdx);
bool isInlineConstant(const MCInst &Inst, unsigned OpIdx) const;
unsigned findImplicitSGPRReadInVOP(const MCInst &Inst) const;
@@ -1029,6 +1039,8 @@ public:
void cvtMubuf(MCInst &Inst, const OperandVector &Operands) { cvtMubufImpl(Inst, Operands, false, false); }
void cvtMubufAtomic(MCInst &Inst, const OperandVector &Operands) { cvtMubufImpl(Inst, Operands, true, false); }
void cvtMubufAtomicReturn(MCInst &Inst, const OperandVector &Operands) { cvtMubufImpl(Inst, Operands, true, true); }
+ void cvtMtbuf(MCInst &Inst, const OperandVector &Operands);
+
AMDGPUOperand::Ptr defaultGLC() const;
AMDGPUOperand::Ptr defaultSLC() const;
AMDGPUOperand::Ptr defaultTFE() const;
@@ -1042,6 +1054,7 @@ public:
AMDGPUOperand::Ptr defaultSMRDOffset20() const;
AMDGPUOperand::Ptr defaultSMRDLiteralOffset() const;
AMDGPUOperand::Ptr defaultOffsetU12() const;
+ AMDGPUOperand::Ptr defaultOffsetS13() const;
OperandMatchResultTy parseOModOperand(OperandVector &Operands);
@@ -1243,6 +1256,15 @@ bool AMDGPUOperand::isRegClass(unsigned RCID) const {
return isRegKind() && AsmParser->getMRI()->getRegClass(RCID).contains(getReg());
}
+bool AMDGPUOperand::isSDWARegKind() const {
+ if (AsmParser->isVI())
+ return isVReg();
+ else if (AsmParser->isGFX9())
+ return isRegKind();
+ else
+ return false;
+}
+
uint64_t AMDGPUOperand::applyInputFPModifiers(uint64_t Val, unsigned Size) const
{
assert(isImmTy(ImmTyNone) && Imm.Mods.hasFPModifiers());
@@ -2083,7 +2105,7 @@ bool AMDGPUAsmParser::usesConstantBus(const MCInst &Inst, unsigned OpIdx) {
isSGPR(mc2PseudoReg(MO.getReg()), getContext().getRegisterInfo());
}
-bool AMDGPUAsmParser::validateOperandLimitations(const MCInst &Inst) {
+bool AMDGPUAsmParser::validateConstantBusLimitations(const MCInst &Inst) {
const unsigned Opcode = Inst.getOpcode();
const MCInstrDesc &Desc = MII.get(Opcode);
unsigned ConstantBusUseCount = 0;
@@ -2137,6 +2159,60 @@ bool AMDGPUAsmParser::validateOperandLimitations(const MCInst &Inst) {
return ConstantBusUseCount <= 1;
}
+bool AMDGPUAsmParser::validateEarlyClobberLimitations(const MCInst &Inst) {
+
+ const unsigned Opcode = Inst.getOpcode();
+ const MCInstrDesc &Desc = MII.get(Opcode);
+
+ const int DstIdx = AMDGPU::getNamedOperandIdx(Opcode, AMDGPU::OpName::vdst);
+ if (DstIdx == -1 ||
+ Desc.getOperandConstraint(DstIdx, MCOI::EARLY_CLOBBER) == -1) {
+ return true;
+ }
+
+ const MCRegisterInfo *TRI = getContext().getRegisterInfo();
+
+ const int Src0Idx = AMDGPU::getNamedOperandIdx(Opcode, AMDGPU::OpName::src0);
+ const int Src1Idx = AMDGPU::getNamedOperandIdx(Opcode, AMDGPU::OpName::src1);
+ const int Src2Idx = AMDGPU::getNamedOperandIdx(Opcode, AMDGPU::OpName::src2);
+
+ assert(DstIdx != -1);
+ const MCOperand &Dst = Inst.getOperand(DstIdx);
+ assert(Dst.isReg());
+ const unsigned DstReg = mc2PseudoReg(Dst.getReg());
+
+ const int SrcIndices[] = { Src0Idx, Src1Idx, Src2Idx };
+
+ for (int SrcIdx : SrcIndices) {
+ if (SrcIdx == -1) break;
+ const MCOperand &Src = Inst.getOperand(SrcIdx);
+ if (Src.isReg()) {
+ const unsigned SrcReg = mc2PseudoReg(Src.getReg());
+ if (isRegIntersect(DstReg, SrcReg, TRI)) {
+ return false;
+ }
+ }
+ }
+
+ return true;
+}
+
+bool AMDGPUAsmParser::validateInstruction(const MCInst &Inst,
+ const SMLoc &IDLoc) {
+ if (!validateConstantBusLimitations(Inst)) {
+ Error(IDLoc,
+ "invalid operand (violates constant bus restrictions)");
+ return false;
+ }
+ if (!validateEarlyClobberLimitations(Inst)) {
+ Error(IDLoc,
+ "destination must be different than all sources");
+ return false;
+ }
+
+ return true;
+}
+
bool AMDGPUAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
OperandVector &Operands,
MCStreamer &Out,
@@ -2169,9 +2245,8 @@ bool AMDGPUAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
switch (Result) {
default: break;
case Match_Success:
- if (!validateOperandLimitations(Inst)) {
- return Error(IDLoc,
- "invalid operand (violates constant bus restrictions)");
+ if (!validateInstruction(Inst, IDLoc)) {
+ return true;
}
Inst.setLoc(IDLoc);
Out.EmitInstruction(Inst, getSTI());
@@ -2554,11 +2629,21 @@ AMDGPUAsmParser::parseIntWithPrefix(const char *Prefix, int64_t &Int) {
return MatchOperand_ParseFail;
Parser.Lex();
+
+ bool IsMinus = false;
+ if (getLexer().getKind() == AsmToken::Minus) {
+ Parser.Lex();
+ IsMinus = true;
+ }
+
if (getLexer().isNot(AsmToken::Integer))
return MatchOperand_ParseFail;
if (getParser().parseAbsoluteExpression(Int))
return MatchOperand_ParseFail;
+
+ if (IsMinus)
+ Int = -Int;
break;
}
}
@@ -3743,6 +3828,44 @@ void AMDGPUAsmParser::cvtMubufImpl(MCInst &Inst,
addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyTFE);
}
+void AMDGPUAsmParser::cvtMtbuf(MCInst &Inst, const OperandVector &Operands) {
+ OptionalImmIndexMap OptionalIdx;
+
+ for (unsigned i = 1, e = Operands.size(); i != e; ++i) {
+ AMDGPUOperand &Op = ((AMDGPUOperand &)*Operands[i]);
+
+ // Add the register arguments
+ if (Op.isReg()) {
+ Op.addRegOperands(Inst, 1);
+ continue;
+ }
+
+ // Handle the case where soffset is an immediate
+ if (Op.isImm() && Op.getImmTy() == AMDGPUOperand::ImmTyNone) {
+ Op.addImmOperands(Inst, 1);
+ continue;
+ }
+
+ // Handle tokens like 'offen' which are sometimes hard-coded into the
+ // asm string. There are no MCInst operands for these.
+ if (Op.isToken()) {
+ continue;
+ }
+ assert(Op.isImm());
+
+ // Handle optional arguments
+ OptionalIdx[Op.getImmTy()] = i;
+ }
+
+ addOptionalImmOperand(Inst, Operands, OptionalIdx,
+ AMDGPUOperand::ImmTyOffset);
+ addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyDFMT);
+ addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyNFMT);
+ addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyGLC);
+ addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTySLC);
+ addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyTFE);
+}
+
//===----------------------------------------------------------------------===//
// mimg
//===----------------------------------------------------------------------===//
@@ -3870,6 +3993,10 @@ AMDGPUOperand::Ptr AMDGPUAsmParser::defaultOffsetU12() const {
return AMDGPUOperand::CreateImm(this, 0, SMLoc(), AMDGPUOperand::ImmTyOffset);
}
+AMDGPUOperand::Ptr AMDGPUAsmParser::defaultOffsetS13() const {
+ return AMDGPUOperand::CreateImm(this, 0, SMLoc(), AMDGPUOperand::ImmTyOffset);
+}
+
//===----------------------------------------------------------------------===//
// vop3
//===----------------------------------------------------------------------===//
@@ -3919,6 +4046,8 @@ static const OptionalOperand AMDGPUOptionalOperandTable[] = {
{"offset1", AMDGPUOperand::ImmTyOffset1, false, nullptr},
{"gds", AMDGPUOperand::ImmTyGDS, true, nullptr},
{"offset", AMDGPUOperand::ImmTyOffset, false, nullptr},
+ {"dfmt", AMDGPUOperand::ImmTyDFMT, false, nullptr},
+ {"nfmt", AMDGPUOperand::ImmTyNFMT, false, nullptr},
{"glc", AMDGPUOperand::ImmTyGLC, true, nullptr},
{"slc", AMDGPUOperand::ImmTySLC, true, nullptr},
{"tfe", AMDGPUOperand::ImmTyTFE, true, nullptr},
@@ -4475,12 +4604,11 @@ void AMDGPUAsmParser::cvtSDWA(MCInst &Inst, const OperandVector &Operands,
if (Inst.getOpcode() != AMDGPU::V_NOP_sdwa_gfx9 &&
Inst.getOpcode() != AMDGPU::V_NOP_sdwa_vi) {
- // V_NOP_sdwa_vi has no optional sdwa arguments
+ // v_nop_sdwa_sdwa_vi/gfx9 has no optional sdwa arguments
switch (BasicInstType) {
case SIInstrFlags::VOP1:
addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyClampSI, 0);
- if (isGFX9() &&
- AMDGPU::getNamedOperandIdx(Inst.getOpcode(), AMDGPU::OpName::omod) != -1) {
+ if (AMDGPU::getNamedOperandIdx(Inst.getOpcode(), AMDGPU::OpName::omod) != -1) {
addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyOModSI, 0);
}
addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTySdwaDstSel, SdwaSel::DWORD);
@@ -4490,8 +4618,7 @@ void AMDGPUAsmParser::cvtSDWA(MCInst &Inst, const OperandVector &Operands,
case SIInstrFlags::VOP2:
addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyClampSI, 0);
- if (isGFX9() &&
- AMDGPU::getNamedOperandIdx(Inst.getOpcode(), AMDGPU::OpName::omod) != -1) {
+ if (AMDGPU::getNamedOperandIdx(Inst.getOpcode(), AMDGPU::OpName::omod) != -1) {
addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyOModSI, 0);
}
addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTySdwaDstSel, SdwaSel::DWORD);
@@ -4501,9 +4628,7 @@ void AMDGPUAsmParser::cvtSDWA(MCInst &Inst, const OperandVector &Operands,
break;
case SIInstrFlags::VOPC:
- if (isVI()) {
- addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyClampSI, 0);
- }
+ addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTyClampSI, 0);
addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTySdwaSrc0Sel, SdwaSel::DWORD);
addOptionalImmOperand(Inst, Operands, OptionalIdx, AMDGPUOperand::ImmTySdwaSrc1Sel, SdwaSel::DWORD);
break;
diff --git a/lib/Target/AMDGPU/BUFInstructions.td b/lib/Target/AMDGPU/BUFInstructions.td
index 2aca65ac8430..2e96c14eaa32 100644
--- a/lib/Target/AMDGPU/BUFInstructions.td
+++ b/lib/Target/AMDGPU/BUFInstructions.td
@@ -57,6 +57,11 @@ class MUBUFAddr64Table <bit is_addr64, string suffix = ""> {
string OpName = NAME # suffix;
}
+class MTBUFAddr64Table <bit is_addr64, string suffix = ""> {
+ bit IsAddr64 = is_addr64;
+ string OpName = NAME # suffix;
+}
+
//===----------------------------------------------------------------------===//
// MTBUF classes
//===----------------------------------------------------------------------===//
@@ -78,14 +83,31 @@ class MTBUF_Pseudo <string opName, dag outs, dag ins,
let EXP_CNT = 1;
let MTBUF = 1;
let Uses = [EXEC];
-
let hasSideEffects = 0;
let SchedRW = [WriteVMEM];
+
+ let AsmMatchConverter = "cvtMtbuf";
+
+ bits<1> offen = 0;
+ bits<1> idxen = 0;
+ bits<1> addr64 = 0;
+ bits<1> has_vdata = 1;
+ bits<1> has_vaddr = 1;
+ bits<1> has_glc = 1;
+ bits<1> glc_value = 0; // the value for glc if no such operand
+ bits<4> dfmt_value = 1; // the value for dfmt if no such operand
+ bits<3> nfmt_value = 0; // the value for nfmt if no such operand
+ bits<1> has_srsrc = 1;
+ bits<1> has_soffset = 1;
+ bits<1> has_offset = 1;
+ bits<1> has_slc = 1;
+ bits<1> has_tfe = 1;
+ bits<1> has_dfmt = 1;
+ bits<1> has_nfmt = 1;
}
class MTBUF_Real <MTBUF_Pseudo ps> :
- InstSI <ps.OutOperandList, ps.InOperandList, ps.Mnemonic # ps.AsmOperands, []>,
- Enc64 {
+ InstSI <ps.OutOperandList, ps.InOperandList, ps.Mnemonic # ps.AsmOperands, []> {
let isPseudo = 0;
let isCodeGenOnly = 0;
@@ -97,57 +119,168 @@ class MTBUF_Real <MTBUF_Pseudo ps> :
let DisableEncoding = ps.DisableEncoding;
let TSFlags = ps.TSFlags;
- bits<8> vdata;
bits<12> offset;
- bits<1> offen;
- bits<1> idxen;
- bits<1> glc;
- bits<1> addr64;
- bits<4> dfmt;
- bits<3> nfmt;
- bits<8> vaddr;
- bits<7> srsrc;
- bits<1> slc;
- bits<1> tfe;
- bits<8> soffset;
-
- let Inst{11-0} = offset;
- let Inst{12} = offen;
- let Inst{13} = idxen;
- let Inst{14} = glc;
- let Inst{22-19} = dfmt;
- let Inst{25-23} = nfmt;
- let Inst{31-26} = 0x3a; //encoding
- let Inst{39-32} = vaddr;
- let Inst{47-40} = vdata;
- let Inst{52-48} = srsrc{6-2};
- let Inst{54} = slc;
- let Inst{55} = tfe;
- let Inst{63-56} = soffset;
+ bits<1> glc;
+ bits<4> dfmt;
+ bits<3> nfmt;
+ bits<8> vaddr;
+ bits<8> vdata;
+ bits<7> srsrc;
+ bits<1> slc;
+ bits<1> tfe;
+ bits<8> soffset;
+}
+
+class getMTBUFInsDA<list<RegisterClass> vdataList,
+ list<RegisterClass> vaddrList=[]> {
+ RegisterClass vdataClass = !if(!empty(vdataList), ?, !head(vdataList));
+ RegisterClass vaddrClass = !if(!empty(vaddrList), ?, !head(vaddrList));
+ dag InsNoData = !if(!empty(vaddrList),
+ (ins SReg_128:$srsrc, SCSrc_b32:$soffset,
+ offset:$offset, DFMT:$dfmt, NFMT:$nfmt, GLC:$glc, slc:$slc, tfe:$tfe),
+ (ins vaddrClass:$vaddr, SReg_128:$srsrc, SCSrc_b32:$soffset,
+ offset:$offset, DFMT:$dfmt, NFMT:$nfmt, GLC:$glc, slc:$slc, tfe:$tfe)
+ );
+ dag InsData = !if(!empty(vaddrList),
+ (ins vdataClass:$vdata, SReg_128:$srsrc,
+ SCSrc_b32:$soffset, offset:$offset, DFMT:$dfmt, NFMT:$nfmt, GLC:$glc,
+ slc:$slc, tfe:$tfe),
+ (ins vdataClass:$vdata, vaddrClass:$vaddr, SReg_128:$srsrc,
+ SCSrc_b32:$soffset, offset:$offset, DFMT:$dfmt, NFMT:$nfmt, GLC:$glc,
+ slc:$slc, tfe:$tfe)
+ );
+ dag ret = !if(!empty(vdataList), InsNoData, InsData);
}
-class MTBUF_Load_Pseudo <string opName, RegisterClass regClass> : MTBUF_Pseudo <
- opName, (outs regClass:$dst),
- (ins u16imm:$offset, i1imm:$offen, i1imm:$idxen, i1imm:$glc, i1imm:$addr64,
- i8imm:$dfmt, i8imm:$nfmt, VGPR_32:$vaddr, SReg_128:$srsrc,
- i1imm:$slc, i1imm:$tfe, SCSrc_b32:$soffset),
- " $dst, $offset, $offen, $idxen, $glc, $addr64, $dfmt,"#
- " $nfmt, $vaddr, $srsrc, $slc, $tfe, $soffset"> {
+class getMTBUFIns<int addrKind, list<RegisterClass> vdataList=[]> {
+ dag ret =
+ !if(!eq(addrKind, BUFAddrKind.Offset), getMTBUFInsDA<vdataList>.ret,
+ !if(!eq(addrKind, BUFAddrKind.OffEn), getMTBUFInsDA<vdataList, [VGPR_32]>.ret,
+ !if(!eq(addrKind, BUFAddrKind.IdxEn), getMTBUFInsDA<vdataList, [VGPR_32]>.ret,
+ !if(!eq(addrKind, BUFAddrKind.BothEn), getMTBUFInsDA<vdataList, [VReg_64]>.ret,
+ !if(!eq(addrKind, BUFAddrKind.Addr64), getMTBUFInsDA<vdataList, [VReg_64]>.ret,
+ (ins))))));
+}
+
+class getMTBUFAsmOps<int addrKind> {
+ string Pfx =
+ !if(!eq(addrKind, BUFAddrKind.Offset), "off, $srsrc, $dfmt, $nfmt, $soffset",
+ !if(!eq(addrKind, BUFAddrKind.OffEn),
+ "$vaddr, $srsrc, $dfmt, $nfmt, $soffset offen",
+ !if(!eq(addrKind, BUFAddrKind.IdxEn),
+ "$vaddr, $srsrc, $dfmt, $nfmt, $soffset idxen",
+ !if(!eq(addrKind, BUFAddrKind.BothEn),
+ "$vaddr, $srsrc, $dfmt, $nfmt, $soffset idxen offen",
+ !if(!eq(addrKind, BUFAddrKind.Addr64),
+ "$vaddr, $srsrc, $dfmt, $nfmt, $soffset addr64",
+ "")))));
+ string ret = Pfx # "$offset";
+}
+
+class MTBUF_SetupAddr<int addrKind> {
+ bits<1> offen = !if(!eq(addrKind, BUFAddrKind.OffEn), 1,
+ !if(!eq(addrKind, BUFAddrKind.BothEn), 1 , 0));
+
+ bits<1> idxen = !if(!eq(addrKind, BUFAddrKind.IdxEn), 1,
+ !if(!eq(addrKind, BUFAddrKind.BothEn), 1 , 0));
+
+ bits<1> addr64 = !if(!eq(addrKind, BUFAddrKind.Addr64), 1, 0);
+
+ bits<1> has_vaddr = !if(!eq(addrKind, BUFAddrKind.Offset), 0, 1);
+}
+
+class MTBUF_Load_Pseudo <string opName,
+ int addrKind,
+ RegisterClass vdataClass,
+ list<dag> pattern=[],
+ // Workaround bug bz30254
+ int addrKindCopy = addrKind>
+ : MTBUF_Pseudo<opName,
+ (outs vdataClass:$vdata),
+ getMTBUFIns<addrKindCopy>.ret,
+ " $vdata, " # getMTBUFAsmOps<addrKindCopy>.ret # "$glc$slc$tfe",
+ pattern>,
+ MTBUF_SetupAddr<addrKindCopy> {
+ let PseudoInstr = opName # "_" # getAddrName<addrKindCopy>.ret;
let mayLoad = 1;
let mayStore = 0;
}
-class MTBUF_Store_Pseudo <string opName, RegisterClass regClass> : MTBUF_Pseudo <
- opName, (outs),
- (ins regClass:$vdata, u16imm:$offset, i1imm:$offen, i1imm:$idxen, i1imm:$glc,
- i1imm:$addr64, i8imm:$dfmt, i8imm:$nfmt, VGPR_32:$vaddr,
- SReg_128:$srsrc, i1imm:$slc, i1imm:$tfe, SCSrc_b32:$soffset),
- " $vdata, $offset, $offen, $idxen, $glc, $addr64, $dfmt,"#
- " $nfmt, $vaddr, $srsrc, $slc, $tfe, $soffset"> {
+multiclass MTBUF_Pseudo_Loads<string opName, RegisterClass vdataClass,
+ ValueType load_vt = i32,
+ SDPatternOperator ld = null_frag> {
+
+ def _OFFSET : MTBUF_Load_Pseudo <opName, BUFAddrKind.Offset, vdataClass,
+ [(set load_vt:$vdata,
+ (ld (MUBUFOffset v4i32:$srsrc, i32:$soffset, i16:$offset, i8:$dfmt,
+ i8:$nfmt, i1:$glc, i1:$slc, i1:$tfe)))]>,
+ MTBUFAddr64Table<0>;
+
+ def _ADDR64 : MTBUF_Load_Pseudo <opName, BUFAddrKind.Addr64, vdataClass,
+ [(set load_vt:$vdata,
+ (ld (MUBUFAddr64 v4i32:$srsrc, i64:$vaddr, i32:$soffset, i16:$offset,
+ i8:$dfmt, i8:$nfmt, i1:$glc, i1:$slc, i1:$tfe)))]>,
+ MTBUFAddr64Table<1>;
+
+ def _OFFEN : MTBUF_Load_Pseudo <opName, BUFAddrKind.OffEn, vdataClass>;
+ def _IDXEN : MTBUF_Load_Pseudo <opName, BUFAddrKind.IdxEn, vdataClass>;
+ def _BOTHEN : MTBUF_Load_Pseudo <opName, BUFAddrKind.BothEn, vdataClass>;
+
+ let DisableWQM = 1 in {
+ def _OFFSET_exact : MTBUF_Load_Pseudo <opName, BUFAddrKind.Offset, vdataClass>;
+ def _OFFEN_exact : MTBUF_Load_Pseudo <opName, BUFAddrKind.OffEn, vdataClass>;
+ def _IDXEN_exact : MTBUF_Load_Pseudo <opName, BUFAddrKind.IdxEn, vdataClass>;
+ def _BOTHEN_exact : MTBUF_Load_Pseudo <opName, BUFAddrKind.BothEn, vdataClass>;
+ }
+}
+
+class MTBUF_Store_Pseudo <string opName,
+ int addrKind,
+ RegisterClass vdataClass,
+ list<dag> pattern=[],
+ // Workaround bug bz30254
+ int addrKindCopy = addrKind,
+ RegisterClass vdataClassCopy = vdataClass>
+ : MTBUF_Pseudo<opName,
+ (outs),
+ getMTBUFIns<addrKindCopy, [vdataClassCopy]>.ret,
+ " $vdata, " # getMTBUFAsmOps<addrKindCopy>.ret # "$glc$slc$tfe",
+ pattern>,
+ MTBUF_SetupAddr<addrKindCopy> {
+ let PseudoInstr = opName # "_" # getAddrName<addrKindCopy>.ret;
let mayLoad = 0;
let mayStore = 1;
}
+multiclass MTBUF_Pseudo_Stores<string opName, RegisterClass vdataClass,
+ ValueType store_vt = i32,
+ SDPatternOperator st = null_frag> {
+
+ def _OFFSET : MTBUF_Store_Pseudo <opName, BUFAddrKind.Offset, vdataClass,
+ [(st store_vt:$vdata, (MUBUFOffset v4i32:$srsrc, i32:$soffset,
+ i16:$offset, i8:$dfmt, i8:$nfmt, i1:$glc,
+ i1:$slc, i1:$tfe))]>,
+ MTBUFAddr64Table<0>;
+
+ def _ADDR64 : MTBUF_Store_Pseudo <opName, BUFAddrKind.Addr64, vdataClass,
+ [(st store_vt:$vdata, (MUBUFAddr64 v4i32:$srsrc, i64:$vaddr, i32:$soffset,
+ i16:$offset, i8:$dfmt, i8:$nfmt, i1:$glc,
+ i1:$slc, i1:$tfe))]>,
+ MTBUFAddr64Table<1>;
+
+ def _OFFEN : MTBUF_Store_Pseudo <opName, BUFAddrKind.OffEn, vdataClass>;
+ def _IDXEN : MTBUF_Store_Pseudo <opName, BUFAddrKind.IdxEn, vdataClass>;
+ def _BOTHEN : MTBUF_Store_Pseudo <opName, BUFAddrKind.BothEn, vdataClass>;
+
+ let DisableWQM = 1 in {
+ def _OFFSET_exact : MTBUF_Store_Pseudo <opName, BUFAddrKind.Offset, vdataClass>;
+ def _OFFEN_exact : MTBUF_Store_Pseudo <opName, BUFAddrKind.OffEn, vdataClass>;
+ def _IDXEN_exact : MTBUF_Store_Pseudo <opName, BUFAddrKind.IdxEn, vdataClass>;
+ def _BOTHEN_exact : MTBUF_Store_Pseudo <opName, BUFAddrKind.BothEn, vdataClass>;
+ }
+}
+
+
//===----------------------------------------------------------------------===//
// MUBUF classes
//===----------------------------------------------------------------------===//
@@ -676,14 +809,14 @@ def BUFFER_WBINVL1 : MUBUF_Invalidate <"buffer_wbinvl1",
// MTBUF Instructions
//===----------------------------------------------------------------------===//
-//def TBUFFER_LOAD_FORMAT_X : MTBUF_ <0, "tbuffer_load_format_x", []>;
-//def TBUFFER_LOAD_FORMAT_XY : MTBUF_ <1, "tbuffer_load_format_xy", []>;
-//def TBUFFER_LOAD_FORMAT_XYZ : MTBUF_ <2, "tbuffer_load_format_xyz", []>;
-def TBUFFER_LOAD_FORMAT_XYZW : MTBUF_Load_Pseudo <"tbuffer_load_format_xyzw", VReg_128>;
-def TBUFFER_STORE_FORMAT_X : MTBUF_Store_Pseudo <"tbuffer_store_format_x", VGPR_32>;
-def TBUFFER_STORE_FORMAT_XY : MTBUF_Store_Pseudo <"tbuffer_store_format_xy", VReg_64>;
-def TBUFFER_STORE_FORMAT_XYZ : MTBUF_Store_Pseudo <"tbuffer_store_format_xyz", VReg_128>;
-def TBUFFER_STORE_FORMAT_XYZW : MTBUF_Store_Pseudo <"tbuffer_store_format_xyzw", VReg_128>;
+defm TBUFFER_LOAD_FORMAT_X : MTBUF_Pseudo_Loads <"tbuffer_load_format_x", VGPR_32>;
+defm TBUFFER_LOAD_FORMAT_XY : MTBUF_Pseudo_Loads <"tbuffer_load_format_xy", VReg_64>;
+defm TBUFFER_LOAD_FORMAT_XYZ : MTBUF_Pseudo_Loads <"tbuffer_load_format_xyz", VReg_128>;
+defm TBUFFER_LOAD_FORMAT_XYZW : MTBUF_Pseudo_Loads <"tbuffer_load_format_xyzw", VReg_128>;
+defm TBUFFER_STORE_FORMAT_X : MTBUF_Pseudo_Stores <"tbuffer_store_format_x", VGPR_32>;
+defm TBUFFER_STORE_FORMAT_XY : MTBUF_Pseudo_Stores <"tbuffer_store_format_xy", VReg_64>;
+defm TBUFFER_STORE_FORMAT_XYZ : MTBUF_Pseudo_Stores <"tbuffer_store_format_xyz", VReg_128>;
+defm TBUFFER_STORE_FORMAT_XYZW : MTBUF_Pseudo_Stores <"tbuffer_store_format_xyzw", VReg_128>;
} // End let SubtargetPredicate = isGCN
@@ -1093,22 +1226,98 @@ defm : MUBUFScratchStorePat <BUFFER_STORE_DWORDX4_OFFEN, BUFFER_STORE_DWORDX4_OF
// MTBUF Patterns
//===----------------------------------------------------------------------===//
-// TBUFFER_STORE_FORMAT_*, addr64=0
-class MTBUF_StoreResource <ValueType vt, int num_channels, MTBUF_Pseudo opcode> : Pat<
- (SItbuffer_store v4i32:$rsrc, vt:$vdata, num_channels, i32:$vaddr,
- i32:$soffset, imm:$inst_offset, imm:$dfmt,
- imm:$nfmt, imm:$offen, imm:$idxen,
- imm:$glc, imm:$slc, imm:$tfe),
- (opcode
- $vdata, (as_i16imm $inst_offset), (as_i1imm $offen), (as_i1imm $idxen),
- (as_i1imm $glc), 0, (as_i8imm $dfmt), (as_i8imm $nfmt), $vaddr, $rsrc,
- (as_i1imm $slc), (as_i1imm $tfe), $soffset)
->;
+//===----------------------------------------------------------------------===//
+// tbuffer_load/store_format patterns
+//===----------------------------------------------------------------------===//
+
+multiclass MTBUF_LoadIntrinsicPat<SDPatternOperator name, ValueType vt,
+ string opcode> {
+ def : Pat<
+ (vt (name v4i32:$rsrc, 0, 0, i32:$soffset, imm:$offset,
+ imm:$dfmt, imm:$nfmt, imm:$glc, imm:$slc)),
+ (!cast<MTBUF_Pseudo>(opcode # _OFFSET) $rsrc, $soffset, (as_i16imm $offset),
+ (as_i8imm $dfmt), (as_i8imm $nfmt), (as_i1imm $glc), (as_i1imm $slc), 0)
+ >;
+
+ def : Pat<
+ (vt (name v4i32:$rsrc, i32:$vindex, 0, i32:$soffset, imm:$offset,
+ imm:$dfmt, imm:$nfmt, imm:$glc, imm:$slc)),
+ (!cast<MTBUF_Pseudo>(opcode # _IDXEN) $vindex, $rsrc, $soffset, (as_i16imm $offset),
+ (as_i8imm $dfmt), (as_i8imm $nfmt), (as_i1imm $glc), (as_i1imm $slc), 0)
+ >;
+
+ def : Pat<
+ (vt (name v4i32:$rsrc, 0, i32:$voffset, i32:$soffset, imm:$offset,
+ imm:$dfmt, imm:$nfmt, imm:$glc, imm:$slc)),
+ (!cast<MTBUF_Pseudo>(opcode # _OFFEN) $voffset, $rsrc, $soffset, (as_i16imm $offset),
+ (as_i8imm $dfmt), (as_i8imm $nfmt), (as_i1imm $glc), (as_i1imm $slc), 0)
+ >;
-def : MTBUF_StoreResource <i32, 1, TBUFFER_STORE_FORMAT_X>;
-def : MTBUF_StoreResource <v2i32, 2, TBUFFER_STORE_FORMAT_XY>;
-def : MTBUF_StoreResource <v4i32, 3, TBUFFER_STORE_FORMAT_XYZ>;
-def : MTBUF_StoreResource <v4i32, 4, TBUFFER_STORE_FORMAT_XYZW>;
+ def : Pat<
+ (vt (name v4i32:$rsrc, i32:$vindex, i32:$voffset, i32:$soffset, imm:$offset,
+ imm:$dfmt, imm:$nfmt, imm:$glc, imm:$slc)),
+ (!cast<MTBUF_Pseudo>(opcode # _BOTHEN)
+ (REG_SEQUENCE VReg_64, $vindex, sub0, $voffset, sub1),
+ $rsrc, $soffset, (as_i16imm $offset),
+ (as_i8imm $dfmt), (as_i8imm $nfmt), (as_i1imm $glc), (as_i1imm $slc), 0)
+ >;
+}
+
+defm : MTBUF_LoadIntrinsicPat<SItbuffer_load, i32, "TBUFFER_LOAD_FORMAT_X">;
+defm : MTBUF_LoadIntrinsicPat<SItbuffer_load, v2i32, "TBUFFER_LOAD_FORMAT_XY">;
+defm : MTBUF_LoadIntrinsicPat<SItbuffer_load, v4i32, "TBUFFER_LOAD_FORMAT_XYZW">;
+defm : MTBUF_LoadIntrinsicPat<SItbuffer_load, f32, "TBUFFER_LOAD_FORMAT_X">;
+defm : MTBUF_LoadIntrinsicPat<SItbuffer_load, v2f32, "TBUFFER_LOAD_FORMAT_XY">;
+defm : MTBUF_LoadIntrinsicPat<SItbuffer_load, v4f32, "TBUFFER_LOAD_FORMAT_XYZW">;
+
+multiclass MTBUF_StoreIntrinsicPat<SDPatternOperator name, ValueType vt,
+ string opcode> {
+ def : Pat<
+ (name vt:$vdata, v4i32:$rsrc, 0, 0, i32:$soffset, imm:$offset,
+ imm:$dfmt, imm:$nfmt, imm:$glc, imm:$slc),
+ (!cast<MTBUF_Pseudo>(opcode # _OFFSET_exact) $vdata, $rsrc, $soffset,
+ (as_i16imm $offset), (as_i8imm $dfmt),
+ (as_i8imm $nfmt), (as_i1imm $glc),
+ (as_i1imm $slc), 0)
+ >;
+
+ def : Pat<
+ (name vt:$vdata, v4i32:$rsrc, i32:$vindex, 0, i32:$soffset, imm:$offset,
+ imm:$dfmt, imm:$nfmt, imm:$glc, imm:$slc),
+ (!cast<MTBUF_Pseudo>(opcode # _IDXEN_exact) $vdata, $vindex, $rsrc, $soffset,
+ (as_i16imm $offset), (as_i8imm $dfmt),
+ (as_i8imm $nfmt), (as_i1imm $glc),
+ (as_i1imm $slc), 0)
+ >;
+
+ def : Pat<
+ (name vt:$vdata, v4i32:$rsrc, 0, i32:$voffset, i32:$soffset, imm:$offset,
+ imm:$dfmt, imm:$nfmt, imm:$glc, imm:$slc),
+ (!cast<MTBUF_Pseudo>(opcode # _OFFEN_exact) $vdata, $voffset, $rsrc, $soffset,
+ (as_i16imm $offset), (as_i8imm $dfmt),
+ (as_i8imm $nfmt), (as_i1imm $glc),
+ (as_i1imm $slc), 0)
+ >;
+
+ def : Pat<
+ (name vt:$vdata, v4i32:$rsrc, i32:$vindex, i32:$voffset, i32:$soffset,
+ imm:$offset, imm:$dfmt, imm:$nfmt, imm:$glc, imm:$slc),
+ (!cast<MTBUF_Pseudo>(opcode # _BOTHEN_exact)
+ $vdata,
+ (REG_SEQUENCE VReg_64, $vindex, sub0, $voffset, sub1),
+ $rsrc, $soffset, (as_i16imm $offset),
+ (as_i8imm $dfmt), (as_i8imm $nfmt), (as_i1imm $glc), (as_i1imm $slc), 0)
+ >;
+}
+
+defm : MTBUF_StoreIntrinsicPat<SItbuffer_store, i32, "TBUFFER_STORE_FORMAT_X">;
+defm : MTBUF_StoreIntrinsicPat<SItbuffer_store, v2i32, "TBUFFER_STORE_FORMAT_XY">;
+defm : MTBUF_StoreIntrinsicPat<SItbuffer_store_x3, v4i32, "TBUFFER_STORE_FORMAT_XYZ">;
+defm : MTBUF_StoreIntrinsicPat<SItbuffer_store, v4i32, "TBUFFER_STORE_FORMAT_XYZW">;
+defm : MTBUF_StoreIntrinsicPat<SItbuffer_store, f32, "TBUFFER_STORE_FORMAT_X">;
+defm : MTBUF_StoreIntrinsicPat<SItbuffer_store, v2f32, "TBUFFER_STORE_FORMAT_XY">;
+defm : MTBUF_StoreIntrinsicPat<SItbuffer_store_x3, v4f32, "TBUFFER_STORE_FORMAT_XYZ">;
+defm : MTBUF_StoreIntrinsicPat<SItbuffer_store, v4f32, "TBUFFER_STORE_FORMAT_XYZW">;
} // End let Predicates = [isGCN]
@@ -1224,21 +1433,44 @@ def BUFFER_WBINVL1_si : MUBUF_Real_si <0x71, BUFFER_WBINVL1>;
class MTBUF_Real_si <bits<3> op, MTBUF_Pseudo ps> :
MTBUF_Real<ps>,
+ Enc64,
SIMCInstr<ps.PseudoInstr, SIEncodingFamily.SI> {
let AssemblerPredicate=isSICI;
let DecoderNamespace="SICI";
- bits<1> addr64;
- let Inst{15} = addr64;
+ let Inst{11-0} = !if(ps.has_offset, offset, ?);
+ let Inst{12} = ps.offen;
+ let Inst{13} = ps.idxen;
+ let Inst{14} = !if(ps.has_glc, glc, ps.glc_value);
+ let Inst{15} = ps.addr64;
let Inst{18-16} = op;
+ let Inst{22-19} = !if(ps.has_dfmt, dfmt, ps.dfmt_value);
+ let Inst{25-23} = !if(ps.has_nfmt, nfmt, ps.nfmt_value);
+ let Inst{31-26} = 0x3a; //encoding
+ let Inst{39-32} = !if(ps.has_vaddr, vaddr, ?);
+ let Inst{47-40} = !if(ps.has_vdata, vdata, ?);
+ let Inst{52-48} = !if(ps.has_srsrc, srsrc{6-2}, ?);
+ let Inst{54} = !if(ps.has_slc, slc, ?);
+ let Inst{55} = !if(ps.has_tfe, tfe, ?);
+ let Inst{63-56} = !if(ps.has_soffset, soffset, ?);
}
-def TBUFFER_LOAD_FORMAT_XYZW_si : MTBUF_Real_si <3, TBUFFER_LOAD_FORMAT_XYZW>;
-def TBUFFER_STORE_FORMAT_X_si : MTBUF_Real_si <4, TBUFFER_STORE_FORMAT_X>;
-def TBUFFER_STORE_FORMAT_XY_si : MTBUF_Real_si <5, TBUFFER_STORE_FORMAT_XY>;
-def TBUFFER_STORE_FORMAT_XYZ_si : MTBUF_Real_si <6, TBUFFER_STORE_FORMAT_XYZ>;
-def TBUFFER_STORE_FORMAT_XYZW_si : MTBUF_Real_si <7, TBUFFER_STORE_FORMAT_XYZW>;
+multiclass MTBUF_Real_AllAddr_si<bits<3> op> {
+ def _OFFSET_si : MTBUF_Real_si <op, !cast<MTBUF_Pseudo>(NAME#"_OFFSET")>;
+ def _ADDR64_si : MTBUF_Real_si <op, !cast<MTBUF_Pseudo>(NAME#"_ADDR64")>;
+ def _OFFEN_si : MTBUF_Real_si <op, !cast<MTBUF_Pseudo>(NAME#"_OFFEN")>;
+ def _IDXEN_si : MTBUF_Real_si <op, !cast<MTBUF_Pseudo>(NAME#"_IDXEN")>;
+ def _BOTHEN_si : MTBUF_Real_si <op, !cast<MTBUF_Pseudo>(NAME#"_BOTHEN")>;
+}
+defm TBUFFER_LOAD_FORMAT_X : MTBUF_Real_AllAddr_si <0>;
+defm TBUFFER_LOAD_FORMAT_XY : MTBUF_Real_AllAddr_si <1>;
+//defm TBUFFER_LOAD_FORMAT_XYZ : MTBUF_Real_AllAddr_si <2>;
+defm TBUFFER_LOAD_FORMAT_XYZW : MTBUF_Real_AllAddr_si <3>;
+defm TBUFFER_STORE_FORMAT_X : MTBUF_Real_AllAddr_si <4>;
+defm TBUFFER_STORE_FORMAT_XY : MTBUF_Real_AllAddr_si <5>;
+defm TBUFFER_STORE_FORMAT_XYZ : MTBUF_Real_AllAddr_si <6>;
+defm TBUFFER_STORE_FORMAT_XYZW : MTBUF_Real_AllAddr_si <7>;
//===----------------------------------------------------------------------===//
// CI
@@ -1350,16 +1582,39 @@ def BUFFER_WBINVL1_VOL_vi : MUBUF_Real_vi <0x3f, BUFFER_WBINVL1_VOL>;
class MTBUF_Real_vi <bits<4> op, MTBUF_Pseudo ps> :
MTBUF_Real<ps>,
+ Enc64,
SIMCInstr<ps.PseudoInstr, SIEncodingFamily.VI> {
let AssemblerPredicate=isVI;
let DecoderNamespace="VI";
+ let Inst{11-0} = !if(ps.has_offset, offset, ?);
+ let Inst{12} = ps.offen;
+ let Inst{13} = ps.idxen;
+ let Inst{14} = !if(ps.has_glc, glc, ps.glc_value);
let Inst{18-15} = op;
+ let Inst{22-19} = !if(ps.has_dfmt, dfmt, ps.dfmt_value);
+ let Inst{25-23} = !if(ps.has_nfmt, nfmt, ps.nfmt_value);
+ let Inst{31-26} = 0x3a; //encoding
+ let Inst{39-32} = !if(ps.has_vaddr, vaddr, ?);
+ let Inst{47-40} = !if(ps.has_vdata, vdata, ?);
+ let Inst{52-48} = !if(ps.has_srsrc, srsrc{6-2}, ?);
+ let Inst{54} = !if(ps.has_slc, slc, ?);
+ let Inst{55} = !if(ps.has_tfe, tfe, ?);
+ let Inst{63-56} = !if(ps.has_soffset, soffset, ?);
}
-def TBUFFER_LOAD_FORMAT_XYZW_vi : MTBUF_Real_vi <3, TBUFFER_LOAD_FORMAT_XYZW>;
-def TBUFFER_STORE_FORMAT_X_vi : MTBUF_Real_vi <4, TBUFFER_STORE_FORMAT_X>;
-def TBUFFER_STORE_FORMAT_XY_vi : MTBUF_Real_vi <5, TBUFFER_STORE_FORMAT_XY>;
-def TBUFFER_STORE_FORMAT_XYZ_vi : MTBUF_Real_vi <6, TBUFFER_STORE_FORMAT_XYZ>;
-def TBUFFER_STORE_FORMAT_XYZW_vi : MTBUF_Real_vi <7, TBUFFER_STORE_FORMAT_XYZW>;
+multiclass MTBUF_Real_AllAddr_vi<bits<4> op> {
+ def _OFFSET_vi : MTBUF_Real_vi <op, !cast<MTBUF_Pseudo>(NAME#"_OFFSET")>;
+ def _OFFEN_vi : MTBUF_Real_vi <op, !cast<MTBUF_Pseudo>(NAME#"_OFFEN")>;
+ def _IDXEN_vi : MTBUF_Real_vi <op, !cast<MTBUF_Pseudo>(NAME#"_IDXEN")>;
+ def _BOTHEN_vi : MTBUF_Real_vi <op, !cast<MTBUF_Pseudo>(NAME#"_BOTHEN")>;
+}
+defm TBUFFER_LOAD_FORMAT_X : MTBUF_Real_AllAddr_vi <0>;
+defm TBUFFER_LOAD_FORMAT_XY : MTBUF_Real_AllAddr_vi <1>;
+//defm TBUFFER_LOAD_FORMAT_XYZ : MTBUF_Real_AllAddr_vi <2>;
+defm TBUFFER_LOAD_FORMAT_XYZW : MTBUF_Real_AllAddr_vi <3>;
+defm TBUFFER_STORE_FORMAT_X : MTBUF_Real_AllAddr_vi <4>;
+defm TBUFFER_STORE_FORMAT_XY : MTBUF_Real_AllAddr_vi <5>;
+defm TBUFFER_STORE_FORMAT_XYZ : MTBUF_Real_AllAddr_vi <6>;
+defm TBUFFER_STORE_FORMAT_XYZW : MTBUF_Real_AllAddr_vi <7>;
diff --git a/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp b/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
index 88c92b9582fd..04308fb3aaf6 100644
--- a/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
+++ b/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
@@ -49,6 +49,17 @@ addOperand(MCInst &Inst, const MCOperand& Opnd) {
MCDisassembler::SoftFail;
}
+static int insertNamedMCOperand(MCInst &MI, const MCOperand &Op,
+ uint16_t NameIdx) {
+ int OpIdx = AMDGPU::getNamedOperandIdx(MI.getOpcode(), NameIdx);
+ if (OpIdx != -1) {
+ auto I = MI.begin();
+ std::advance(I, OpIdx);
+ MI.insert(I, Op);
+ }
+ return OpIdx;
+}
+
static DecodeStatus decodeSoppBrTarget(MCInst &Inst, unsigned Imm,
uint64_t Addr, const void *Decoder) {
auto DAsm = static_cast<const AMDGPUDisassembler*>(Decoder);
@@ -106,12 +117,12 @@ static DecodeStatus decodeOperand_VSrcV216(MCInst &Inst,
return addOperand(Inst, DAsm->decodeOperand_VSrcV216(Imm));
}
-#define DECODE_SDWA9(DecName) \
-DECODE_OPERAND(decodeSDWA9##DecName, decodeSDWA9##DecName)
+#define DECODE_SDWA(DecName) \
+DECODE_OPERAND(decodeSDWA##DecName, decodeSDWA##DecName)
-DECODE_SDWA9(Src32)
-DECODE_SDWA9(Src16)
-DECODE_SDWA9(VopcDst)
+DECODE_SDWA(Src32)
+DECODE_SDWA(Src16)
+DECODE_SDWA(VopcDst)
#include "AMDGPUGenDisassemblerTables.inc"
@@ -149,6 +160,7 @@ DecodeStatus AMDGPUDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
raw_ostream &WS,
raw_ostream &CS) const {
CommentStream = &CS;
+ bool IsSDWA = false;
// ToDo: AMDGPUDisassembler supports only VI ISA.
if (!STI.getFeatureBits()[AMDGPU::FeatureGCN3Encoding])
@@ -170,10 +182,10 @@ DecodeStatus AMDGPUDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
if (Res) break;
Res = tryDecodeInst(DecoderTableSDWA64, MI, QW, Address);
- if (Res) break;
+ if (Res) { IsSDWA = true; break; }
Res = tryDecodeInst(DecoderTableSDWA964, MI, QW, Address);
- if (Res) break;
+ if (Res) { IsSDWA = true; break; }
}
// Reinitialize Bytes as DPP64 could have eaten too much
@@ -200,17 +212,36 @@ DecodeStatus AMDGPUDisassembler::getInstruction(MCInst &MI, uint64_t &Size,
MI.getOpcode() == AMDGPU::V_MAC_F32_e64_si ||
MI.getOpcode() == AMDGPU::V_MAC_F16_e64_vi)) {
// Insert dummy unused src2_modifiers.
- int Src2ModIdx = AMDGPU::getNamedOperandIdx(MI.getOpcode(),
- AMDGPU::OpName::src2_modifiers);
- auto I = MI.begin();
- std::advance(I, Src2ModIdx);
- MI.insert(I, MCOperand::createImm(0));
+ insertNamedMCOperand(MI, MCOperand::createImm(0),
+ AMDGPU::OpName::src2_modifiers);
}
+ if (Res && IsSDWA)
+ Res = convertSDWAInst(MI);
+
Size = Res ? (MaxInstBytesNum - Bytes.size()) : 0;
return Res;
}
+DecodeStatus AMDGPUDisassembler::convertSDWAInst(MCInst &MI) const {
+ if (STI.getFeatureBits()[AMDGPU::FeatureGFX9]) {
+ if (AMDGPU::getNamedOperandIdx(MI.getOpcode(), AMDGPU::OpName::sdst) != -1)
+ // VOPC - insert clamp
+ insertNamedMCOperand(MI, MCOperand::createImm(0), AMDGPU::OpName::clamp);
+ } else if (STI.getFeatureBits()[AMDGPU::FeatureVolcanicIslands]) {
+ int SDst = AMDGPU::getNamedOperandIdx(MI.getOpcode(), AMDGPU::OpName::sdst);
+ if (SDst != -1) {
+ // VOPC - insert VCC register as sdst
+ insertNamedMCOperand(MI, MCOperand::createReg(AMDGPU::VCC),
+ AMDGPU::OpName::sdst);
+ } else {
+ // VOP1/2 - insert omod if present in instruction
+ insertNamedMCOperand(MI, MCOperand::createImm(0), AMDGPU::OpName::omod);
+ }
+ }
+ return MCDisassembler::Success;
+}
+
const char* AMDGPUDisassembler::getRegClassName(unsigned RegClassID) const {
return getContext().getRegisterInfo()->
getRegClassName(&AMDGPUMCRegisterClasses[RegClassID]);
@@ -524,8 +555,6 @@ MCOperand AMDGPUDisassembler::decodeSrcOp(const OpWidthTy Width, unsigned Val) c
return createSRegOperand(getTtmpClassId(Width), Val - TTMP_MIN);
}
- assert(Width == OPW16 || Width == OPW32 || Width == OPW64);
-
if (INLINE_INTEGER_C_MIN <= Val && Val <= INLINE_INTEGER_C_MAX)
return decodeIntImmed(Val);
@@ -592,36 +621,43 @@ MCOperand AMDGPUDisassembler::decodeSpecialReg64(unsigned Val) const {
return errOperand(Val, "unknown operand encoding " + Twine(Val));
}
-MCOperand AMDGPUDisassembler::decodeSDWA9Src(const OpWidthTy Width,
- unsigned Val) const {
+MCOperand AMDGPUDisassembler::decodeSDWASrc(const OpWidthTy Width,
+ unsigned Val) const {
using namespace AMDGPU::SDWA;
- if (SDWA9EncValues::SRC_VGPR_MIN <= Val &&
- Val <= SDWA9EncValues::SRC_VGPR_MAX) {
- return createRegOperand(getVgprClassId(Width),
- Val - SDWA9EncValues::SRC_VGPR_MIN);
- }
- if (SDWA9EncValues::SRC_SGPR_MIN <= Val &&
- Val <= SDWA9EncValues::SRC_SGPR_MAX) {
- return createSRegOperand(getSgprClassId(Width),
- Val - SDWA9EncValues::SRC_SGPR_MIN);
- }
+ if (STI.getFeatureBits()[AMDGPU::FeatureGFX9]) {
+ if (SDWA9EncValues::SRC_VGPR_MIN <= Val &&
+ Val <= SDWA9EncValues::SRC_VGPR_MAX) {
+ return createRegOperand(getVgprClassId(Width),
+ Val - SDWA9EncValues::SRC_VGPR_MIN);
+ }
+ if (SDWA9EncValues::SRC_SGPR_MIN <= Val &&
+ Val <= SDWA9EncValues::SRC_SGPR_MAX) {
+ return createSRegOperand(getSgprClassId(Width),
+ Val - SDWA9EncValues::SRC_SGPR_MIN);
+ }
- return decodeSpecialReg32(Val - SDWA9EncValues::SRC_SGPR_MIN);
+ return decodeSpecialReg32(Val - SDWA9EncValues::SRC_SGPR_MIN);
+ } else if (STI.getFeatureBits()[AMDGPU::FeatureVolcanicIslands]) {
+ return createRegOperand(getVgprClassId(Width), Val);
+ }
+ llvm_unreachable("unsupported target");
}
-MCOperand AMDGPUDisassembler::decodeSDWA9Src16(unsigned Val) const {
- return decodeSDWA9Src(OPW16, Val);
+MCOperand AMDGPUDisassembler::decodeSDWASrc16(unsigned Val) const {
+ return decodeSDWASrc(OPW16, Val);
}
-MCOperand AMDGPUDisassembler::decodeSDWA9Src32(unsigned Val) const {
- return decodeSDWA9Src(OPW32, Val);
+MCOperand AMDGPUDisassembler::decodeSDWASrc32(unsigned Val) const {
+ return decodeSDWASrc(OPW32, Val);
}
-MCOperand AMDGPUDisassembler::decodeSDWA9VopcDst(unsigned Val) const {
+MCOperand AMDGPUDisassembler::decodeSDWAVopcDst(unsigned Val) const {
using namespace AMDGPU::SDWA;
+ assert(STI.getFeatureBits()[AMDGPU::FeatureGFX9] &&
+ "SDWAVopcDst should be present only on GFX9");
if (Val & SDWA9EncValues::VOPC_DST_VCC_MASK) {
Val &= SDWA9EncValues::VOPC_DST_SGPR_MASK;
if (Val > AMDGPU::EncValues::SGPR_MAX) {
diff --git a/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h b/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
index 5fa3cf1a223f..3d71db909e20 100644
--- a/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
+++ b/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
@@ -65,6 +65,8 @@ public:
uint64_t Inst,
uint64_t Address) const;
+ DecodeStatus convertSDWAInst(MCInst &MI) const;
+
MCOperand decodeOperand_VGPR_32(unsigned Val) const;
MCOperand decodeOperand_VS_32(unsigned Val) const;
MCOperand decodeOperand_VS_64(unsigned Val) const;
@@ -105,10 +107,10 @@ public:
MCOperand decodeSpecialReg32(unsigned Val) const;
MCOperand decodeSpecialReg64(unsigned Val) const;
- MCOperand decodeSDWA9Src(const OpWidthTy Width, unsigned Val) const;
- MCOperand decodeSDWA9Src16(unsigned Val) const;
- MCOperand decodeSDWA9Src32(unsigned Val) const;
- MCOperand decodeSDWA9VopcDst(unsigned Val) const;
+ MCOperand decodeSDWASrc(const OpWidthTy Width, unsigned Val) const;
+ MCOperand decodeSDWASrc16(unsigned Val) const;
+ MCOperand decodeSDWASrc32(unsigned Val) const;
+ MCOperand decodeSDWAVopcDst(unsigned Val) const;
};
//===----------------------------------------------------------------------===//
diff --git a/lib/Target/AMDGPU/FLATInstructions.td b/lib/Target/AMDGPU/FLATInstructions.td
index 98eda288bcac..edca6fcd812c 100644
--- a/lib/Target/AMDGPU/FLATInstructions.td
+++ b/lib/Target/AMDGPU/FLATInstructions.td
@@ -31,8 +31,6 @@ class FLAT_Pseudo<string opName, dag outs, dag ins,
let VM_CNT = 1;
let LGKM_CNT = 1;
- let Uses = [EXEC, FLAT_SCR]; // M0
-
let UseNamedOperandTable = 1;
let hasSideEffects = 0;
let SchedRW = [WriteVMEM];
@@ -40,10 +38,16 @@ class FLAT_Pseudo<string opName, dag outs, dag ins,
string Mnemonic = opName;
string AsmOperands = asmOps;
+ bits<1> is_flat_global = 0;
+ bits<1> is_flat_scratch = 0;
+
bits<1> has_vdst = 1;
bits<1> has_data = 1;
bits<1> has_glc = 1;
bits<1> glcValue = 0;
+
+ // TODO: M0 if it could possibly access LDS (before gfx9? only)?
+ let Uses = !if(is_flat_global, [EXEC], [EXEC, FLAT_SCR]);
}
class FLAT_Real <bits<7> op, FLAT_Pseudo ps> :
@@ -68,7 +72,10 @@ class FLAT_Real <bits<7> op, FLAT_Pseudo ps> :
// Only valid on gfx9
bits<1> lds = 0; // XXX - What does this actually do?
- bits<2> seg; // Segment, 00=flat, 01=scratch, 10=global, 11=reserved
+
+ // Segment, 00=flat, 01=scratch, 10=global, 11=reserved
+ bits<2> seg = !if(ps.is_flat_global, 0b10,
+ !if(ps.is_flat_scratch, 0b01, 0));
// Signed offset. Highest bit ignored for flat and treated as 12-bit
// unsigned for flat acceses.
@@ -81,7 +88,7 @@ class FLAT_Real <bits<7> op, FLAT_Pseudo ps> :
// Only valid on GFX9+
let Inst{12-0} = offset;
let Inst{13} = lds;
- let Inst{15-14} = 0;
+ let Inst{15-14} = seg;
let Inst{16} = !if(ps.has_glc, glc, ps.glcValue);
let Inst{17} = slc;
@@ -106,6 +113,16 @@ class FLAT_Load_Pseudo <string opName, RegisterClass regClass,
let mayLoad = 1;
}
+class FLAT_Global_Load_Pseudo<string opName, RegisterClass regClass> :
+ FLAT_Load_Pseudo<opName, regClass, 1> {
+ let is_flat_global = 1;
+}
+
+class FLAT_Scratch_Load_Pseudo<string opName, RegisterClass regClass> :
+ FLAT_Load_Pseudo<opName, regClass, 1> {
+ let is_flat_scratch = 1;
+}
+
class FLAT_Store_Pseudo <string opName, RegisterClass vdataClass,
bit HasSignedOffset = 0> : FLAT_Pseudo<
opName,
@@ -119,6 +136,16 @@ class FLAT_Store_Pseudo <string opName, RegisterClass vdataClass,
let has_vdst = 0;
}
+class FLAT_Global_Store_Pseudo<string opName, RegisterClass regClass> :
+ FLAT_Store_Pseudo<opName, regClass, 1> {
+ let is_flat_global = 1;
+}
+
+class FLAT_Scratch_Store_Pseudo<string opName, RegisterClass regClass> :
+ FLAT_Store_Pseudo<opName, regClass, 1> {
+ let is_flat_scratch = 1;
+}
+
multiclass FLAT_Atomic_Pseudo<
string opName,
RegisterClass vdst_rc,
@@ -306,6 +333,26 @@ defm FLAT_ATOMIC_FMAX_X2 : FLAT_Atomic_Pseudo <"flat_atomic_fmax_x2",
} // End SubtargetPredicate = isCI
+let SubtargetPredicate = HasFlatGlobalInsts in {
+def GLOBAL_LOAD_UBYTE : FLAT_Global_Load_Pseudo <"global_load_ubyte", VGPR_32>;
+def GLOBAL_LOAD_SBYTE : FLAT_Global_Load_Pseudo <"global_load_sbyte", VGPR_32>;
+def GLOBAL_LOAD_USHORT : FLAT_Global_Load_Pseudo <"global_load_ushort", VGPR_32>;
+def GLOBAL_LOAD_SSHORT : FLAT_Global_Load_Pseudo <"global_load_sshort", VGPR_32>;
+def GLOBAL_LOAD_DWORD : FLAT_Global_Load_Pseudo <"global_load_dword", VGPR_32>;
+def GLOBAL_LOAD_DWORDX2 : FLAT_Global_Load_Pseudo <"global_load_dwordx2", VReg_64>;
+def GLOBAL_LOAD_DWORDX3 : FLAT_Global_Load_Pseudo <"global_load_dwordx3", VReg_96>;
+def GLOBAL_LOAD_DWORDX4 : FLAT_Global_Load_Pseudo <"global_load_dwordx4", VReg_128>;
+
+def GLOBAL_STORE_BYTE : FLAT_Global_Store_Pseudo <"global_store_byte", VGPR_32>;
+def GLOBAL_STORE_SHORT : FLAT_Global_Store_Pseudo <"global_store_short", VGPR_32>;
+def GLOBAL_STORE_DWORD : FLAT_Global_Store_Pseudo <"global_store_dword", VGPR_32>;
+def GLOBAL_STORE_DWORDX2 : FLAT_Global_Store_Pseudo <"global_store_dwordx2", VReg_64>;
+def GLOBAL_STORE_DWORDX3 : FLAT_Global_Store_Pseudo <"global_store_dwordx3", VReg_96>;
+def GLOBAL_STORE_DWORDX4 : FLAT_Global_Store_Pseudo <"global_store_dwordx4", VReg_128>;
+
+} // End SubtargetPredicate = HasFlatGlobalInsts
+
+
//===----------------------------------------------------------------------===//
// Flat Patterns
//===----------------------------------------------------------------------===//
@@ -557,3 +604,18 @@ defm FLAT_ATOMIC_XOR_X2 : FLAT_Real_Atomics_vi <0x6a, FLAT_ATOMIC_XOR_X2>;
defm FLAT_ATOMIC_INC_X2 : FLAT_Real_Atomics_vi <0x6b, FLAT_ATOMIC_INC_X2>;
defm FLAT_ATOMIC_DEC_X2 : FLAT_Real_Atomics_vi <0x6c, FLAT_ATOMIC_DEC_X2>;
+def GLOBAL_LOAD_UBYTE_vi : FLAT_Real_vi <0x10, GLOBAL_LOAD_UBYTE>;
+def GLOBAL_LOAD_SBYTE_vi : FLAT_Real_vi <0x11, GLOBAL_LOAD_SBYTE>;
+def GLOBAL_LOAD_USHORT_vi : FLAT_Real_vi <0x12, GLOBAL_LOAD_USHORT>;
+def GLOBAL_LOAD_SSHORT_vi : FLAT_Real_vi <0x13, GLOBAL_LOAD_SSHORT>;
+def GLOBAL_LOAD_DWORD_vi : FLAT_Real_vi <0x14, GLOBAL_LOAD_DWORD>;
+def GLOBAL_LOAD_DWORDX2_vi : FLAT_Real_vi <0x15, GLOBAL_LOAD_DWORDX2>;
+def GLOBAL_LOAD_DWORDX4_vi : FLAT_Real_vi <0x17, GLOBAL_LOAD_DWORDX4>;
+def GLOBAL_LOAD_DWORDX3_vi : FLAT_Real_vi <0x16, GLOBAL_LOAD_DWORDX3>;
+
+def GLOBAL_STORE_BYTE_vi : FLAT_Real_vi <0x18, GLOBAL_STORE_BYTE>;
+def GLOBAL_STORE_SHORT_vi : FLAT_Real_vi <0x1a, GLOBAL_STORE_SHORT>;
+def GLOBAL_STORE_DWORD_vi : FLAT_Real_vi <0x1c, GLOBAL_STORE_DWORD>;
+def GLOBAL_STORE_DWORDX2_vi : FLAT_Real_vi <0x1d, GLOBAL_STORE_DWORDX2>;
+def GLOBAL_STORE_DWORDX4_vi : FLAT_Real_vi <0x1f, GLOBAL_STORE_DWORDX4>;
+def GLOBAL_STORE_DWORDX3_vi : FLAT_Real_vi <0x1e, GLOBAL_STORE_DWORDX3>;
diff --git a/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp b/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
index b84640230eee..7c31c8e397ba 100644
--- a/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
+++ b/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp
@@ -72,6 +72,11 @@ void AMDGPUInstPrinter::printU16ImmDecOperand(const MCInst *MI, unsigned OpNo,
O << formatDec(MI->getOperand(OpNo).getImm() & 0xffff);
}
+void AMDGPUInstPrinter::printS16ImmDecOperand(const MCInst *MI, unsigned OpNo,
+ raw_ostream &O) {
+ O << formatDec(static_cast<int16_t>(MI->getOperand(OpNo).getImm()));
+}
+
void AMDGPUInstPrinter::printU32ImmOperand(const MCInst *MI, unsigned OpNo,
const MCSubtargetInfo &STI,
raw_ostream &O) {
@@ -118,6 +123,16 @@ void AMDGPUInstPrinter::printOffset(const MCInst *MI, unsigned OpNo,
}
}
+void AMDGPUInstPrinter::printOffsetS13(const MCInst *MI, unsigned OpNo,
+ const MCSubtargetInfo &STI,
+ raw_ostream &O) {
+ uint16_t Imm = MI->getOperand(OpNo).getImm();
+ if (Imm != 0) {
+ O << ((OpNo == 0)? "offset:" : " offset:");
+ printS16ImmDecOperand(MI, OpNo, O);
+ }
+}
+
void AMDGPUInstPrinter::printOffset0(const MCInst *MI, unsigned OpNo,
const MCSubtargetInfo &STI,
raw_ostream &O) {
@@ -216,6 +231,24 @@ void AMDGPUInstPrinter::printExpVM(const MCInst *MI, unsigned OpNo,
O << " vm";
}
+void AMDGPUInstPrinter::printDFMT(const MCInst *MI, unsigned OpNo,
+ const MCSubtargetInfo &STI,
+ raw_ostream &O) {
+ if (MI->getOperand(OpNo).getImm()) {
+ O << " dfmt:";
+ printU8ImmDecOperand(MI, OpNo, O);
+ }
+}
+
+void AMDGPUInstPrinter::printNFMT(const MCInst *MI, unsigned OpNo,
+ const MCSubtargetInfo &STI,
+ raw_ostream &O) {
+ if (MI->getOperand(OpNo).getImm()) {
+ O << " nfmt:";
+ printU8ImmDecOperand(MI, OpNo, O);
+ }
+}
+
void AMDGPUInstPrinter::printRegOperand(unsigned RegNo, raw_ostream &O,
const MCRegisterInfo &MRI) {
switch (RegNo) {
@@ -379,7 +412,6 @@ void AMDGPUInstPrinter::printImmediateV216(uint32_t Imm,
const MCSubtargetInfo &STI,
raw_ostream &O) {
uint16_t Lo16 = static_cast<uint16_t>(Imm);
- assert(Lo16 == static_cast<uint16_t>(Imm >> 16));
printImmediate16(Lo16, STI, O);
}
diff --git a/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h b/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h
index c8094c4b840a..7bbf99a85f40 100644
--- a/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h
+++ b/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h
@@ -42,6 +42,7 @@ private:
void printU4ImmDecOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
void printU8ImmDecOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
void printU16ImmDecOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
+ void printS16ImmDecOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
void printU32ImmOperand(const MCInst *MI, unsigned OpNo,
const MCSubtargetInfo &STI, raw_ostream &O);
void printNamedBit(const MCInst *MI, unsigned OpNo, raw_ostream &O,
@@ -52,6 +53,9 @@ private:
void printMBUFOffset(const MCInst *MI, unsigned OpNo, raw_ostream &O);
void printOffset(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
raw_ostream &O);
+ void printOffsetS13(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
+ raw_ostream &O);
+
void printOffset0(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
raw_ostream &O);
void printOffset1(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
@@ -84,6 +88,10 @@ private:
const MCSubtargetInfo &STI, raw_ostream &O);
void printExpVM(const MCInst *MI, unsigned OpNo,
const MCSubtargetInfo &STI, raw_ostream &O);
+ void printDFMT(const MCInst *MI, unsigned OpNo,
+ const MCSubtargetInfo &STI, raw_ostream &O);
+ void printNFMT(const MCInst *MI, unsigned OpNo,
+ const MCSubtargetInfo &STI, raw_ostream &O);
void printRegOperand(unsigned RegNo, raw_ostream &O);
void printVOPDst(const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI,
diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
index 0a9c2b94c1ee..2b408ff10caa 100644
--- a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
+++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
@@ -30,14 +30,9 @@ public:
unsigned getNumFixupKinds() const override { return AMDGPU::NumTargetFixupKinds; };
- void processFixupValue(const MCAssembler &Asm,
- const MCAsmLayout &Layout,
- const MCFixup &Fixup, const MCFragment *DF,
- const MCValue &Target, uint64_t &Value,
- bool &IsResolved) override;
-
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
bool fixupNeedsRelaxation(const MCFixup &Fixup, uint64_t Value,
const MCRelaxableFragment *DF,
const MCAsmLayout &Layout) const override {
@@ -102,36 +97,11 @@ static uint64_t adjustFixupValue(const MCFixup &Fixup, uint64_t Value,
}
}
-void AMDGPUAsmBackend::processFixupValue(const MCAssembler &Asm,
- const MCAsmLayout &Layout,
- const MCFixup &Fixup, const MCFragment *DF,
- const MCValue &Target, uint64_t &Value,
- bool &IsResolved) {
- MCValue Res;
-
- // When we have complex expressions like: BB0_1 + (BB0_2 - 4), which are
- // used for long branches, this function will be called with
- // IsResolved = false and Value set to some pre-computed value. In
- // the example above, the value would be:
- // (BB0_1 + (BB0_2 - 4)) - CurrentOffsetFromStartOfFunction.
- // This is not what we want. We just want the expression computation
- // only. The reason the MC layer subtracts the current offset from the
- // expression is because the fixup is of kind FK_PCRel_4.
- // For these scenarios, evaluateAsValue gives us the computation that we
- // want.
- if (!IsResolved && Fixup.getValue()->evaluateAsValue(Res, Layout) &&
- Res.isAbsolute()) {
- Value = Res.getConstant();
- IsResolved = true;
-
- }
- if (IsResolved)
- Value = adjustFixupValue(Fixup, Value, &Asm.getContext());
-}
-
-void AMDGPUAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned DataSize, uint64_t Value,
- bool IsPCRel, MCContext &Ctx) const {
+void AMDGPUAsmBackend::applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data, uint64_t Value,
+ bool IsPCRel) const {
+ Value = adjustFixupValue(Fixup, Value, &Asm.getContext());
if (!Value)
return; // Doesn't change encoding.
@@ -142,7 +112,7 @@ void AMDGPUAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
unsigned NumBytes = getFixupKindNumBytes(Fixup.getKind());
uint32_t Offset = Fixup.getOffset();
- assert(Offset + NumBytes <= DataSize && "Invalid fixup offset!");
+ assert(Offset + NumBytes <= Data.size() && "Invalid fixup offset!");
// For each byte of the fragment that the fixup touches, mask in the bits from
// the fixup value.
diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h
index a856b17a228f..1b062064ace1 100644
--- a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h
+++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h
@@ -52,15 +52,15 @@ public:
return 0;
}
- virtual unsigned getSDWA9SrcEncoding(const MCInst &MI, unsigned OpNo,
- SmallVectorImpl<MCFixup> &Fixups,
- const MCSubtargetInfo &STI) const {
+ virtual unsigned getSDWASrcEncoding(const MCInst &MI, unsigned OpNo,
+ SmallVectorImpl<MCFixup> &Fixups,
+ const MCSubtargetInfo &STI) const {
return 0;
}
- virtual unsigned getSDWA9VopcDstEncoding(const MCInst &MI, unsigned OpNo,
- SmallVectorImpl<MCFixup> &Fixups,
- const MCSubtargetInfo &STI) const {
+ virtual unsigned getSDWAVopcDstEncoding(const MCInst &MI, unsigned OpNo,
+ SmallVectorImpl<MCFixup> &Fixups,
+ const MCSubtargetInfo &STI) const {
return 0;
}
diff --git a/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp b/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
index e02acf516c0d..376c9bfe5ccf 100644
--- a/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
+++ b/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
@@ -70,13 +70,13 @@ public:
SmallVectorImpl<MCFixup> &Fixups,
const MCSubtargetInfo &STI) const override;
- unsigned getSDWA9SrcEncoding(const MCInst &MI, unsigned OpNo,
- SmallVectorImpl<MCFixup> &Fixups,
- const MCSubtargetInfo &STI) const override;
+ unsigned getSDWASrcEncoding(const MCInst &MI, unsigned OpNo,
+ SmallVectorImpl<MCFixup> &Fixups,
+ const MCSubtargetInfo &STI) const override;
- unsigned getSDWA9VopcDstEncoding(const MCInst &MI, unsigned OpNo,
- SmallVectorImpl<MCFixup> &Fixups,
- const MCSubtargetInfo &STI) const override;
+ unsigned getSDWAVopcDstEncoding(const MCInst &MI, unsigned OpNo,
+ SmallVectorImpl<MCFixup> &Fixups,
+ const MCSubtargetInfo &STI) const override;
};
} // end anonymous namespace
@@ -252,9 +252,7 @@ uint32_t SIMCCodeEmitter::getLitEncoding(const MCOperand &MO,
case AMDGPU::OPERAND_REG_INLINE_C_V2INT16:
case AMDGPU::OPERAND_REG_INLINE_C_V2FP16: {
uint16_t Lo16 = static_cast<uint16_t>(Imm);
- assert(Lo16 == static_cast<uint16_t>(Imm >> 16));
uint32_t Encoding = getLit16Encoding(Lo16, STI);
- assert(Encoding != 255 && "packed constants can only be inline immediates");
return Encoding;
}
default:
@@ -328,11 +326,11 @@ unsigned SIMCCodeEmitter::getSOPPBrEncoding(const MCInst &MI, unsigned OpNo,
}
unsigned
-SIMCCodeEmitter::getSDWA9SrcEncoding(const MCInst &MI, unsigned OpNo,
- SmallVectorImpl<MCFixup> &Fixups,
- const MCSubtargetInfo &STI) const {
+SIMCCodeEmitter::getSDWASrcEncoding(const MCInst &MI, unsigned OpNo,
+ SmallVectorImpl<MCFixup> &Fixups,
+ const MCSubtargetInfo &STI) const {
using namespace AMDGPU::SDWA;
-
+
uint64_t RegEnc = 0;
const MCOperand &MO = MI.getOperand(OpNo);
@@ -347,9 +345,9 @@ SIMCCodeEmitter::getSDWA9SrcEncoding(const MCInst &MI, unsigned OpNo,
}
unsigned
-SIMCCodeEmitter::getSDWA9VopcDstEncoding(const MCInst &MI, unsigned OpNo,
- SmallVectorImpl<MCFixup> &Fixups,
- const MCSubtargetInfo &STI) const {
+SIMCCodeEmitter::getSDWAVopcDstEncoding(const MCInst &MI, unsigned OpNo,
+ SmallVectorImpl<MCFixup> &Fixups,
+ const MCSubtargetInfo &STI) const {
using namespace AMDGPU::SDWA;
uint64_t RegEnc = 0;
@@ -365,6 +363,25 @@ SIMCCodeEmitter::getSDWA9VopcDstEncoding(const MCInst &MI, unsigned OpNo,
return RegEnc;
}
+static bool needsPCRel(const MCExpr *Expr) {
+ switch (Expr->getKind()) {
+ case MCExpr::SymbolRef:
+ return true;
+ case MCExpr::Binary: {
+ auto *BE = cast<MCBinaryExpr>(Expr);
+ if (BE->getOpcode() == MCBinaryExpr::Sub)
+ return false;
+ return needsPCRel(BE->getLHS()) || needsPCRel(BE->getRHS());
+ }
+ case MCExpr::Unary:
+ return needsPCRel(cast<MCUnaryExpr>(Expr)->getSubExpr());
+ case MCExpr::Target:
+ case MCExpr::Constant:
+ return false;
+ }
+ llvm_unreachable("invalid kind");
+}
+
uint64_t SIMCCodeEmitter::getMachineOpValue(const MCInst &MI,
const MCOperand &MO,
SmallVectorImpl<MCFixup> &Fixups,
@@ -373,12 +390,21 @@ uint64_t SIMCCodeEmitter::getMachineOpValue(const MCInst &MI,
return MRI.getEncodingValue(MO.getReg());
if (MO.isExpr() && MO.getExpr()->getKind() != MCExpr::Constant) {
- const auto *Expr = dyn_cast<MCSymbolRefExpr>(MO.getExpr());
+ // FIXME: If this is expression is PCRel or not should not depend on what
+ // the expression looks like. Given that this is just a general expression,
+ // it should probably be FK_Data_4 and whatever is producing
+ //
+ // s_add_u32 s2, s2, (extern_const_addrspace+16
+ //
+ // And expecting a PCRel should instead produce
+ //
+ // .Ltmp1:
+ // s_add_u32 s2, s2, (extern_const_addrspace+16)-.Ltmp1
MCFixupKind Kind;
- if (Expr && Expr->getSymbol().isExternal())
- Kind = FK_Data_4;
- else
+ if (needsPCRel(MO.getExpr()))
Kind = FK_PCRel_4;
+ else
+ Kind = FK_Data_4;
Fixups.push_back(MCFixup::create(4, MO.getExpr(), Kind, MI.getLoc()));
}
diff --git a/lib/Target/AMDGPU/Processors.td b/lib/Target/AMDGPU/Processors.td
index f6f2582aa11b..d30d1d382588 100644
--- a/lib/Target/AMDGPU/Processors.td
+++ b/lib/Target/AMDGPU/Processors.td
@@ -80,7 +80,7 @@ def : Proc<"cayman", R600_VLIW4_Itin,
// Southern Islands
//===----------------------------------------------------------------------===//
-def : ProcessorModel<"gfx600", SIFullSpeedModel,
+def : ProcessorModel<"gfx600", SIFullSpeedModel,
[FeatureISAVersion6_0_0]>;
def : ProcessorModel<"SI", SIFullSpeedModel,
@@ -95,7 +95,7 @@ def : ProcessorModel<"gfx601", SIQuarterSpeedModel,
[FeatureISAVersion6_0_1]
>;
-def : ProcessorModel<"pitcairn", SIQuarterSpeedModel,
+def : ProcessorModel<"pitcairn", SIQuarterSpeedModel,
[FeatureISAVersion6_0_1]>;
def : ProcessorModel<"verde", SIQuarterSpeedModel,
diff --git a/lib/Target/AMDGPU/R600ISelLowering.cpp b/lib/Target/AMDGPU/R600ISelLowering.cpp
index c55878f8bff0..215791f4f92d 100644
--- a/lib/Target/AMDGPU/R600ISelLowering.cpp
+++ b/lib/Target/AMDGPU/R600ISelLowering.cpp
@@ -584,23 +584,23 @@ SDValue R600TargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const
return LowerImplicitParameter(DAG, VT, DL, 8);
case Intrinsic::r600_read_tgid_x:
- return CreateLiveInRegister(DAG, &AMDGPU::R600_TReg32RegClass,
- AMDGPU::T1_X, VT);
+ return CreateLiveInRegisterRaw(DAG, &AMDGPU::R600_TReg32RegClass,
+ AMDGPU::T1_X, VT);
case Intrinsic::r600_read_tgid_y:
- return CreateLiveInRegister(DAG, &AMDGPU::R600_TReg32RegClass,
- AMDGPU::T1_Y, VT);
+ return CreateLiveInRegisterRaw(DAG, &AMDGPU::R600_TReg32RegClass,
+ AMDGPU::T1_Y, VT);
case Intrinsic::r600_read_tgid_z:
- return CreateLiveInRegister(DAG, &AMDGPU::R600_TReg32RegClass,
- AMDGPU::T1_Z, VT);
+ return CreateLiveInRegisterRaw(DAG, &AMDGPU::R600_TReg32RegClass,
+ AMDGPU::T1_Z, VT);
case Intrinsic::r600_read_tidig_x:
- return CreateLiveInRegister(DAG, &AMDGPU::R600_TReg32RegClass,
- AMDGPU::T0_X, VT);
+ return CreateLiveInRegisterRaw(DAG, &AMDGPU::R600_TReg32RegClass,
+ AMDGPU::T0_X, VT);
case Intrinsic::r600_read_tidig_y:
- return CreateLiveInRegister(DAG, &AMDGPU::R600_TReg32RegClass,
- AMDGPU::T0_Y, VT);
+ return CreateLiveInRegisterRaw(DAG, &AMDGPU::R600_TReg32RegClass,
+ AMDGPU::T0_Y, VT);
case Intrinsic::r600_read_tidig_z:
- return CreateLiveInRegister(DAG, &AMDGPU::R600_TReg32RegClass,
- AMDGPU::T0_Z, VT);
+ return CreateLiveInRegisterRaw(DAG, &AMDGPU::R600_TReg32RegClass,
+ AMDGPU::T0_Z, VT);
case Intrinsic::r600_recipsqrt_ieee:
return DAG.getNode(AMDGPUISD::RSQ, DL, VT, Op.getOperand(1));
diff --git a/lib/Target/AMDGPU/SIDefines.h b/lib/Target/AMDGPU/SIDefines.h
index 5cd90323ff67..3915c0e5bdbe 100644
--- a/lib/Target/AMDGPU/SIDefines.h
+++ b/lib/Target/AMDGPU/SIDefines.h
@@ -118,9 +118,9 @@ namespace AMDGPU {
// Operand for source modifiers for VOP instructions
OPERAND_INPUT_MODS,
- // Operand for GFX9 SDWA instructions
- OPERAND_SDWA9_SRC,
- OPERAND_SDWA9_VOPC_DST,
+ // Operand for SDWA instructions
+ OPERAND_SDWA_SRC,
+ OPERAND_SDWA_VOPC_DST,
/// Operand with 32-bit immediate that uses the constant bus.
OPERAND_KIMM32,
diff --git a/lib/Target/AMDGPU/SIFixSGPRCopies.cpp b/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
index 5f5f25103c02..0a795c99f94e 100644
--- a/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
+++ b/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
@@ -174,6 +174,31 @@ static bool isSGPRToVGPRCopy(const TargetRegisterClass *SrcRC,
return TRI.isSGPRClass(SrcRC) && TRI.hasVGPRs(DstRC);
}
+static bool tryChangeVGPRtoSGPRinCopy(MachineInstr &MI,
+ const SIRegisterInfo *TRI,
+ const SIInstrInfo *TII) {
+ MachineRegisterInfo &MRI = MI.getParent()->getParent()->getRegInfo();
+ auto &Src = MI.getOperand(1);
+ unsigned DstReg = MI.getOperand(0).getReg();
+ unsigned SrcReg = Src.getReg();
+ if (!TargetRegisterInfo::isVirtualRegister(SrcReg) ||
+ !TargetRegisterInfo::isVirtualRegister(DstReg))
+ return false;
+
+ for (const auto &MO : MRI.reg_nodbg_operands(DstReg)) {
+ const auto *UseMI = MO.getParent();
+ if (UseMI == &MI)
+ continue;
+ if (MO.isDef() || UseMI->getParent() != MI.getParent() ||
+ UseMI->getOpcode() <= TargetOpcode::GENERIC_OP_END ||
+ !TII->isOperandLegal(*UseMI, UseMI->getOperandNo(&MO), &Src))
+ return false;
+ }
+ // Change VGPR to SGPR destination.
+ MRI.setRegClass(DstReg, TRI->getEquivalentSGPRClass(MRI.getRegClass(DstReg)));
+ return true;
+}
+
// Distribute an SGPR->VGPR copy of a REG_SEQUENCE into a VGPR REG_SEQUENCE.
//
// SGPRx = ...
@@ -214,6 +239,9 @@ static bool foldVGPRCopyIntoRegSequence(MachineInstr &MI,
if (!isSGPRToVGPRCopy(SrcRC, DstRC, *TRI))
return false;
+ if (tryChangeVGPRtoSGPRinCopy(CopyUse, TRI, TII))
+ return true;
+
// TODO: Could have multiple extracts?
unsigned SubReg = CopyUse.getOperand(1).getSubReg();
if (SubReg != AMDGPU::NoSubRegister)
@@ -563,6 +591,8 @@ bool SIFixSGPRCopies::runOnMachineFunction(MachineFunction &MF) {
break;
}
TII->moveToVALU(MI);
+ } else if (isSGPRToVGPRCopy(SrcRC, DstRC, *TRI)) {
+ tryChangeVGPRtoSGPRinCopy(MI, TRI, TII);
}
break;
diff --git a/lib/Target/AMDGPU/SIFoldOperands.cpp b/lib/Target/AMDGPU/SIFoldOperands.cpp
index e10f1ed3762e..f391f67a241f 100644
--- a/lib/Target/AMDGPU/SIFoldOperands.cpp
+++ b/lib/Target/AMDGPU/SIFoldOperands.cpp
@@ -13,6 +13,7 @@
#include "AMDGPUSubtarget.h"
#include "SIInstrInfo.h"
#include "SIMachineFunctionInfo.h"
+#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
@@ -166,6 +167,8 @@ static bool updateOperand(FoldCandidate &Fold,
if (TargetRegisterInfo::isVirtualRegister(Old.getReg()) &&
TargetRegisterInfo::isVirtualRegister(New->getReg())) {
Old.substVirtReg(New->getReg(), New->getSubReg(), TRI);
+
+ Old.setIsUndef(New->isUndef());
return true;
}
@@ -470,7 +473,7 @@ static MachineOperand *getImmOrMaterializedImm(MachineRegisterInfo &MRI,
return &Op;
MachineInstr *Def = MRI.getVRegDef(Op.getReg());
- if (Def->isMoveImmediate()) {
+ if (Def && Def->isMoveImmediate()) {
MachineOperand &ImmSrc = Def->getOperand(1);
if (ImmSrc.isImm())
return &ImmSrc;
@@ -921,12 +924,9 @@ bool SIFoldOperands::runOnMachineFunction(MachineFunction &MF) {
// level.
bool IsIEEEMode = ST->enableIEEEBit(MF) || !MFI->hasNoSignedZerosFPMath();
- for (MachineFunction::iterator BI = MF.begin(), BE = MF.end();
- BI != BE; ++BI) {
-
- MachineBasicBlock &MBB = *BI;
+ for (MachineBasicBlock *MBB : depth_first(&MF)) {
MachineBasicBlock::iterator I, Next;
- for (I = MBB.begin(); I != MBB.end(); I = Next) {
+ for (I = MBB->begin(); I != MBB->end(); I = Next) {
Next = std::next(I);
MachineInstr &MI = *I;
diff --git a/lib/Target/AMDGPU/SIFrameLowering.cpp b/lib/Target/AMDGPU/SIFrameLowering.cpp
index b1bd14e421f0..08a64de38501 100644
--- a/lib/Target/AMDGPU/SIFrameLowering.cpp
+++ b/lib/Target/AMDGPU/SIFrameLowering.cpp
@@ -284,7 +284,7 @@ void SIFrameLowering::emitEntryFunctionPrologue(MachineFunction &MF,
MF, SIRegisterInfo::PRIVATE_SEGMENT_WAVE_BYTE_OFFSET);
unsigned PreloadedPrivateBufferReg = AMDGPU::NoRegister;
- if (ST.isAmdCodeObjectV2(MF) || ST.isMesaGfxShader(MF)) {
+ if (ST.isAmdCodeObjectV2(MF)) {
PreloadedPrivateBufferReg = TRI->getPreloadedValue(
MF, SIRegisterInfo::PRIVATE_SEGMENT_BUFFER);
}
@@ -363,14 +363,14 @@ void SIFrameLowering::emitEntryFunctionPrologue(MachineFunction &MF,
// Use relocations to get the pointer, and setup the other bits manually.
uint64_t Rsrc23 = TII->getScratchRsrcWords23();
- if (MFI->hasPrivateMemoryInputPtr()) {
+ if (MFI->hasImplicitBufferPtr()) {
unsigned Rsrc01 = TRI->getSubReg(ScratchRsrcReg, AMDGPU::sub0_sub1);
if (AMDGPU::isCompute(MF.getFunction()->getCallingConv())) {
const MCInstrDesc &Mov64 = TII->get(AMDGPU::S_MOV_B64);
BuildMI(MBB, I, DL, Mov64, Rsrc01)
- .addReg(PreloadedPrivateBufferReg)
+ .addReg(MFI->getImplicitBufferPtrUserSGPR())
.addReg(ScratchRsrcReg, RegState::ImplicitDefine);
} else {
const MCInstrDesc &LoadDwordX2 = TII->get(AMDGPU::S_LOAD_DWORDX2_IMM);
@@ -385,7 +385,7 @@ void SIFrameLowering::emitEntryFunctionPrologue(MachineFunction &MF,
MachineMemOperand::MODereferenceable,
0, 0);
BuildMI(MBB, I, DL, LoadDwordX2, Rsrc01)
- .addReg(PreloadedPrivateBufferReg)
+ .addReg(MFI->getImplicitBufferPtrUserSGPR())
.addImm(0) // offset
.addImm(0) // glc
.addMemOperand(MMO)
@@ -417,14 +417,69 @@ void SIFrameLowering::emitEntryFunctionPrologue(MachineFunction &MF,
void SIFrameLowering::emitPrologue(MachineFunction &MF,
MachineBasicBlock &MBB) const {
- const SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>();
- if (MFI->isEntryFunction())
+ const SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>();
+ if (FuncInfo->isEntryFunction()) {
emitEntryFunctionPrologue(MF, MBB);
+ return;
+ }
+
+ const MachineFrameInfo &MFI = MF.getFrameInfo();
+ const SISubtarget &ST = MF.getSubtarget<SISubtarget>();
+ const SIInstrInfo *TII = ST.getInstrInfo();
+
+ unsigned StackPtrReg = FuncInfo->getStackPtrOffsetReg();
+ unsigned FramePtrReg = FuncInfo->getFrameOffsetReg();
+
+ MachineBasicBlock::iterator MBBI = MBB.begin();
+ DebugLoc DL;
+
+ bool NeedFP = hasFP(MF);
+ if (NeedFP) {
+ // If we need a base pointer, set it up here. It's whatever the value of
+ // the stack pointer is at this point. Any variable size objects will be
+ // allocated after this, so we can still use the base pointer to reference
+ // locals.
+ BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::COPY), FramePtrReg)
+ .addReg(StackPtrReg)
+ .setMIFlag(MachineInstr::FrameSetup);
+ }
+
+ uint32_t NumBytes = MFI.getStackSize();
+ if (NumBytes != 0 && hasSP(MF)) {
+ BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::S_ADD_U32), StackPtrReg)
+ .addReg(StackPtrReg)
+ .addImm(NumBytes * ST.getWavefrontSize())
+ .setMIFlag(MachineInstr::FrameSetup);
+ }
}
void SIFrameLowering::emitEpilogue(MachineFunction &MF,
MachineBasicBlock &MBB) const {
+ const SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>();
+ if (FuncInfo->isEntryFunction())
+ return;
+ unsigned StackPtrReg = FuncInfo->getStackPtrOffsetReg();
+ if (StackPtrReg == AMDGPU::NoRegister)
+ return;
+
+ const MachineFrameInfo &MFI = MF.getFrameInfo();
+ uint32_t NumBytes = MFI.getStackSize();
+
+ const SISubtarget &ST = MF.getSubtarget<SISubtarget>();
+ const SIInstrInfo *TII = ST.getInstrInfo();
+ MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator();
+ DebugLoc DL;
+
+ // FIXME: Clarify distinction between no set SP and SP. For callee functions,
+ // it's really whether we need SP to be accurate or not.
+
+ if (NumBytes != 0 && hasSP(MF)) {
+ BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::S_SUB_U32), StackPtrReg)
+ .addReg(StackPtrReg)
+ .addImm(NumBytes * ST.getWavefrontSize())
+ .setMIFlag(MachineInstr::FrameDestroy);
+ }
}
static bool allStackObjectsAreDead(const MachineFrameInfo &MFI) {
@@ -557,3 +612,19 @@ void SIFrameLowering::emitDebuggerPrologue(MachineFunction &MF,
WorkItemIDObjectIdx, &AMDGPU::VGPR_32RegClass, TRI);
}
}
+
+bool SIFrameLowering::hasFP(const MachineFunction &MF) const {
+ // All stack operations are relative to the frame offset SGPR.
+ // TODO: Still want to eliminate sometimes.
+ const MachineFrameInfo &MFI = MF.getFrameInfo();
+
+ // XXX - Is this only called after frame is finalized? Should be able to check
+ // frame size.
+ return MFI.hasStackObjects() && !allStackObjectsAreDead(MFI);
+}
+
+bool SIFrameLowering::hasSP(const MachineFunction &MF) const {
+ // All stack operations are relative to the frame offset SGPR.
+ const MachineFrameInfo &MFI = MF.getFrameInfo();
+ return MFI.hasCalls() || MFI.hasVarSizedObjects();
+}
diff --git a/lib/Target/AMDGPU/SIFrameLowering.h b/lib/Target/AMDGPU/SIFrameLowering.h
index e17adbe27361..d4dfa1c7eaa8 100644
--- a/lib/Target/AMDGPU/SIFrameLowering.h
+++ b/lib/Target/AMDGPU/SIFrameLowering.h
@@ -60,6 +60,10 @@ private:
/// \brief Emits debugger prologue.
void emitDebuggerPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const;
+
+public:
+ bool hasFP(const MachineFunction &MF) const override;
+ bool hasSP(const MachineFunction &MF) const;
};
} // end namespace llvm
diff --git a/lib/Target/AMDGPU/SIISelLowering.cpp b/lib/Target/AMDGPU/SIISelLowering.cpp
index 441f1ef4bd04..d0f4e00994de 100644
--- a/lib/Target/AMDGPU/SIISelLowering.cpp
+++ b/lib/Target/AMDGPU/SIISelLowering.cpp
@@ -211,6 +211,9 @@ SITargetLowering::SITargetLowering(const TargetMachine &TM,
setOperationAction(ISD::UADDO, MVT::i32, Legal);
setOperationAction(ISD::USUBO, MVT::i32, Legal);
+ setOperationAction(ISD::ADDCARRY, MVT::i32, Legal);
+ setOperationAction(ISD::SUBCARRY, MVT::i32, Legal);
+
// We only support LOAD/STORE and vector manipulation ops for vectors
// with > 4 elements.
for (MVT VT : {MVT::v8i32, MVT::v8f32, MVT::v16i32, MVT::v16f32,
@@ -471,6 +474,10 @@ SITargetLowering::SITargetLowering(const TargetMachine &TM,
setOperationAction(ISD::SELECT, VT, Custom);
}
+ setTargetDAGCombine(ISD::ADD);
+ setTargetDAGCombine(ISD::ADDCARRY);
+ setTargetDAGCombine(ISD::SUB);
+ setTargetDAGCombine(ISD::SUBCARRY);
setTargetDAGCombine(ISD::FADD);
setTargetDAGCombine(ISD::FSUB);
setTargetDAGCombine(ISD::FMINNUM);
@@ -1061,10 +1068,10 @@ static void allocateHSAUserSGPRs(CCState &CCInfo,
MachineFunction &MF,
const SIRegisterInfo &TRI,
SIMachineFunctionInfo &Info) {
- if (Info.hasPrivateMemoryInputPtr()) {
- unsigned PrivateMemoryPtrReg = Info.addPrivateMemoryPtr(TRI);
- MF.addLiveIn(PrivateMemoryPtrReg, &AMDGPU::SGPR_64RegClass);
- CCInfo.AllocateReg(PrivateMemoryPtrReg);
+ if (Info.hasImplicitBufferPtr()) {
+ unsigned ImplicitBufferPtrReg = Info.addImplicitBufferPtr(TRI);
+ MF.addLiveIn(ImplicitBufferPtrReg, &AMDGPU::SGPR_64RegClass);
+ CCInfo.AllocateReg(ImplicitBufferPtrReg);
}
// FIXME: How should these inputs interact with inreg / custom SGPR inputs?
@@ -1227,7 +1234,7 @@ static void reservePrivateMemoryRegs(const TargetMachine &TM,
}
}
- if (NeedSP){
+ if (NeedSP) {
unsigned ReservedStackPtrOffsetReg = TRI.reservedStackPtrOffsetReg(MF);
Info.setStackPtrOffsetReg(ReservedStackPtrOffsetReg);
@@ -2998,7 +3005,11 @@ SDValue SITargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op,
switch (IntrinsicID) {
case Intrinsic::amdgcn_implicit_buffer_ptr: {
- unsigned Reg = TRI->getPreloadedValue(MF, SIRegisterInfo::PRIVATE_SEGMENT_BUFFER);
+ if (getSubtarget()->isAmdCodeObjectV2(MF))
+ return emitNonHSAIntrinsicError(DAG, DL, VT);
+
+ unsigned Reg = TRI->getPreloadedValue(MF,
+ SIRegisterInfo::IMPLICIT_BUFFER_PTR);
return CreateLiveInRegister(DAG, &AMDGPU::SReg_64RegClass, Reg, VT);
}
case Intrinsic::amdgcn_dispatch_ptr:
@@ -3288,6 +3299,8 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
SelectionDAG &DAG) const {
unsigned IntrID = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
SDLoc DL(Op);
+ MachineFunction &MF = DAG.getMachineFunction();
+
switch (IntrID) {
case Intrinsic::amdgcn_atomic_inc:
case Intrinsic::amdgcn_atomic_dec: {
@@ -3313,7 +3326,6 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
Op.getOperand(5), // glc
Op.getOperand(6) // slc
};
- MachineFunction &MF = DAG.getMachineFunction();
SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>();
unsigned Opc = (IntrID == Intrinsic::amdgcn_buffer_load) ?
@@ -3328,6 +3340,29 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
return DAG.getMemIntrinsicNode(Opc, DL, Op->getVTList(), Ops, IntVT, MMO);
}
+ case Intrinsic::amdgcn_tbuffer_load: {
+ SDValue Ops[] = {
+ Op.getOperand(0), // Chain
+ Op.getOperand(2), // rsrc
+ Op.getOperand(3), // vindex
+ Op.getOperand(4), // voffset
+ Op.getOperand(5), // soffset
+ Op.getOperand(6), // offset
+ Op.getOperand(7), // dfmt
+ Op.getOperand(8), // nfmt
+ Op.getOperand(9), // glc
+ Op.getOperand(10) // slc
+ };
+
+ EVT VT = Op.getOperand(2).getValueType();
+
+ MachineMemOperand *MMO = MF.getMachineMemOperand(
+ MachinePointerInfo(),
+ MachineMemOperand::MOLoad,
+ VT.getStoreSize(), VT.getStoreSize());
+ return DAG.getMemIntrinsicNode(AMDGPUISD::TBUFFER_LOAD_FORMAT, DL,
+ Op->getVTList(), Ops, VT, MMO);
+ }
// Basic sample.
case Intrinsic::amdgcn_image_sample:
case Intrinsic::amdgcn_image_sample_cl:
@@ -3393,10 +3428,10 @@ SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
SDValue SITargetLowering::LowerINTRINSIC_VOID(SDValue Op,
SelectionDAG &DAG) const {
- MachineFunction &MF = DAG.getMachineFunction();
SDLoc DL(Op);
SDValue Chain = Op.getOperand(0);
unsigned IntrinsicID = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
+ MachineFunction &MF = DAG.getMachineFunction();
switch (IntrinsicID) {
case Intrinsic::amdgcn_exp: {
@@ -3463,33 +3498,6 @@ SDValue SITargetLowering::LowerINTRINSIC_VOID(SDValue Op,
return DAG.getNode(AMDGPUISD::INIT_EXEC_FROM_INPUT, DL, MVT::Other, Chain,
Op.getOperand(2), Op.getOperand(3));
}
- case AMDGPUIntrinsic::SI_tbuffer_store: {
- SDValue Ops[] = {
- Chain,
- Op.getOperand(2),
- Op.getOperand(3),
- Op.getOperand(4),
- Op.getOperand(5),
- Op.getOperand(6),
- Op.getOperand(7),
- Op.getOperand(8),
- Op.getOperand(9),
- Op.getOperand(10),
- Op.getOperand(11),
- Op.getOperand(12),
- Op.getOperand(13),
- Op.getOperand(14)
- };
-
- EVT VT = Op.getOperand(3).getValueType();
-
- MachineMemOperand *MMO = MF.getMachineMemOperand(
- MachinePointerInfo(),
- MachineMemOperand::MOStore,
- VT.getStoreSize(), 4);
- return DAG.getMemIntrinsicNode(AMDGPUISD::TBUFFER_STORE_FORMAT, DL,
- Op->getVTList(), Ops, VT, MMO);
- }
case AMDGPUIntrinsic::AMDGPU_kill: {
SDValue Src = Op.getOperand(2);
if (const ConstantFPSDNode *K = dyn_cast<ConstantFPSDNode>(Src)) {
@@ -3505,7 +3513,6 @@ SDValue SITargetLowering::LowerINTRINSIC_VOID(SDValue Op,
}
case Intrinsic::amdgcn_s_barrier: {
if (getTargetMachine().getOptLevel() > CodeGenOpt::None) {
- const MachineFunction &MF = DAG.getMachineFunction();
const SISubtarget &ST = MF.getSubtarget<SISubtarget>();
unsigned WGSize = ST.getFlatWorkGroupSizes(*MF.getFunction()).second;
if (WGSize <= ST.getWavefrontSize())
@@ -3514,6 +3521,75 @@ SDValue SITargetLowering::LowerINTRINSIC_VOID(SDValue Op,
}
return SDValue();
};
+ case AMDGPUIntrinsic::SI_tbuffer_store: {
+
+ // Extract vindex and voffset from vaddr as appropriate
+ const ConstantSDNode *OffEn = cast<ConstantSDNode>(Op.getOperand(10));
+ const ConstantSDNode *IdxEn = cast<ConstantSDNode>(Op.getOperand(11));
+ SDValue VAddr = Op.getOperand(5);
+
+ SDValue Zero = DAG.getTargetConstant(0, DL, MVT::i32);
+
+ assert(!(OffEn->isOne() && IdxEn->isOne()) &&
+ "Legacy intrinsic doesn't support both offset and index - use new version");
+
+ SDValue VIndex = IdxEn->isOne() ? VAddr : Zero;
+ SDValue VOffset = OffEn->isOne() ? VAddr : Zero;
+
+ // Deal with the vec-3 case
+ const ConstantSDNode *NumChannels = cast<ConstantSDNode>(Op.getOperand(4));
+ auto Opcode = NumChannels->getZExtValue() == 3 ?
+ AMDGPUISD::TBUFFER_STORE_FORMAT_X3 : AMDGPUISD::TBUFFER_STORE_FORMAT;
+
+ SDValue Ops[] = {
+ Chain,
+ Op.getOperand(3), // vdata
+ Op.getOperand(2), // rsrc
+ VIndex,
+ VOffset,
+ Op.getOperand(6), // soffset
+ Op.getOperand(7), // inst_offset
+ Op.getOperand(8), // dfmt
+ Op.getOperand(9), // nfmt
+ Op.getOperand(12), // glc
+ Op.getOperand(13), // slc
+ };
+
+ assert((cast<ConstantSDNode>(Op.getOperand(14)))->getZExtValue() == 0 &&
+ "Value of tfe other than zero is unsupported");
+
+ EVT VT = Op.getOperand(3).getValueType();
+ MachineMemOperand *MMO = MF.getMachineMemOperand(
+ MachinePointerInfo(),
+ MachineMemOperand::MOStore,
+ VT.getStoreSize(), 4);
+ return DAG.getMemIntrinsicNode(Opcode, DL,
+ Op->getVTList(), Ops, VT, MMO);
+ }
+
+ case Intrinsic::amdgcn_tbuffer_store: {
+ SDValue Ops[] = {
+ Chain,
+ Op.getOperand(2), // vdata
+ Op.getOperand(3), // rsrc
+ Op.getOperand(4), // vindex
+ Op.getOperand(5), // voffset
+ Op.getOperand(6), // soffset
+ Op.getOperand(7), // offset
+ Op.getOperand(8), // dfmt
+ Op.getOperand(9), // nfmt
+ Op.getOperand(10), // glc
+ Op.getOperand(11) // slc
+ };
+ EVT VT = Op.getOperand(3).getValueType();
+ MachineMemOperand *MMO = MF.getMachineMemOperand(
+ MachinePointerInfo(),
+ MachineMemOperand::MOStore,
+ VT.getStoreSize(), 4);
+ return DAG.getMemIntrinsicNode(AMDGPUISD::TBUFFER_STORE_FORMAT, DL,
+ Op->getVTList(), Ops, VT, MMO);
+ }
+
default:
return Op;
}
@@ -4839,6 +4915,103 @@ unsigned SITargetLowering::getFusedOpcode(const SelectionDAG &DAG,
return 0;
}
+SDValue SITargetLowering::performAddCombine(SDNode *N,
+ DAGCombinerInfo &DCI) const {
+ SelectionDAG &DAG = DCI.DAG;
+ EVT VT = N->getValueType(0);
+
+ if (VT != MVT::i32)
+ return SDValue();
+
+ SDLoc SL(N);
+ SDValue LHS = N->getOperand(0);
+ SDValue RHS = N->getOperand(1);
+
+ // add x, zext (setcc) => addcarry x, 0, setcc
+ // add x, sext (setcc) => subcarry x, 0, setcc
+ unsigned Opc = LHS.getOpcode();
+ if (Opc == ISD::ZERO_EXTEND || Opc == ISD::SIGN_EXTEND ||
+ Opc == ISD::ANY_EXTEND || Opc == ISD::ADDCARRY)
+ std::swap(RHS, LHS);
+
+ Opc = RHS.getOpcode();
+ switch (Opc) {
+ default: break;
+ case ISD::ZERO_EXTEND:
+ case ISD::SIGN_EXTEND:
+ case ISD::ANY_EXTEND: {
+ auto Cond = RHS.getOperand(0);
+ if (Cond.getOpcode() != ISD::SETCC &&
+ Cond.getOpcode() != AMDGPUISD::FP_CLASS)
+ break;
+ SDVTList VTList = DAG.getVTList(MVT::i32, MVT::i1);
+ SDValue Args[] = { LHS, DAG.getConstant(0, SL, MVT::i32), Cond };
+ Opc = (Opc == ISD::SIGN_EXTEND) ? ISD::SUBCARRY : ISD::ADDCARRY;
+ return DAG.getNode(Opc, SL, VTList, Args);
+ }
+ case ISD::ADDCARRY: {
+ // add x, (addcarry y, 0, cc) => addcarry x, y, cc
+ auto C = dyn_cast<ConstantSDNode>(RHS.getOperand(1));
+ if (!C || C->getZExtValue() != 0) break;
+ SDValue Args[] = { LHS, RHS.getOperand(0), RHS.getOperand(2) };
+ return DAG.getNode(ISD::ADDCARRY, SDLoc(N), RHS->getVTList(), Args);
+ }
+ }
+ return SDValue();
+}
+
+SDValue SITargetLowering::performSubCombine(SDNode *N,
+ DAGCombinerInfo &DCI) const {
+ SelectionDAG &DAG = DCI.DAG;
+ EVT VT = N->getValueType(0);
+
+ if (VT != MVT::i32)
+ return SDValue();
+
+ SDLoc SL(N);
+ SDValue LHS = N->getOperand(0);
+ SDValue RHS = N->getOperand(1);
+
+ unsigned Opc = LHS.getOpcode();
+ if (Opc != ISD::SUBCARRY)
+ std::swap(RHS, LHS);
+
+ if (LHS.getOpcode() == ISD::SUBCARRY) {
+ // sub (subcarry x, 0, cc), y => subcarry x, y, cc
+ auto C = dyn_cast<ConstantSDNode>(LHS.getOperand(1));
+ if (!C || C->getZExtValue() != 0)
+ return SDValue();
+ SDValue Args[] = { LHS.getOperand(0), RHS, LHS.getOperand(2) };
+ return DAG.getNode(ISD::SUBCARRY, SDLoc(N), LHS->getVTList(), Args);
+ }
+ return SDValue();
+}
+
+SDValue SITargetLowering::performAddCarrySubCarryCombine(SDNode *N,
+ DAGCombinerInfo &DCI) const {
+
+ if (N->getValueType(0) != MVT::i32)
+ return SDValue();
+
+ auto C = dyn_cast<ConstantSDNode>(N->getOperand(1));
+ if (!C || C->getZExtValue() != 0)
+ return SDValue();
+
+ SelectionDAG &DAG = DCI.DAG;
+ SDValue LHS = N->getOperand(0);
+
+ // addcarry (add x, y), 0, cc => addcarry x, y, cc
+ // subcarry (sub x, y), 0, cc => subcarry x, y, cc
+ unsigned LHSOpc = LHS.getOpcode();
+ unsigned Opc = N->getOpcode();
+ if ((LHSOpc == ISD::ADD && Opc == ISD::ADDCARRY) ||
+ (LHSOpc == ISD::SUB && Opc == ISD::SUBCARRY)) {
+ SDValue Args[] = { LHS.getOperand(0), LHS.getOperand(1), N->getOperand(2) };
+ return DAG.getNode(Opc, SDLoc(N), N->getVTList(), Args);
+ }
+ return SDValue();
+}
+
SDValue SITargetLowering::performFAddCombine(SDNode *N,
DAGCombinerInfo &DCI) const {
if (DCI.getDAGCombineLevel() < AfterLegalizeDAG)
@@ -5009,6 +5182,13 @@ SDValue SITargetLowering::PerformDAGCombine(SDNode *N,
switch (N->getOpcode()) {
default:
return AMDGPUTargetLowering::PerformDAGCombine(N, DCI);
+ case ISD::ADD:
+ return performAddCombine(N, DCI);
+ case ISD::SUB:
+ return performSubCombine(N, DCI);
+ case ISD::ADDCARRY:
+ case ISD::SUBCARRY:
+ return performAddCarrySubCarryCombine(N, DCI);
case ISD::FADD:
return performFAddCombine(N, DCI);
case ISD::FSUB:
@@ -5425,15 +5605,6 @@ MachineSDNode *SITargetLowering::buildRSRC(SelectionDAG &DAG, const SDLoc &DL,
return DAG.getMachineNode(AMDGPU::REG_SEQUENCE, DL, MVT::v4i32, Ops);
}
-SDValue SITargetLowering::CreateLiveInRegister(SelectionDAG &DAG,
- const TargetRegisterClass *RC,
- unsigned Reg, EVT VT) const {
- SDValue VReg = AMDGPUTargetLowering::CreateLiveInRegister(DAG, RC, Reg, VT);
-
- return DAG.getCopyFromReg(DAG.getEntryNode(), SDLoc(DAG.getEntryNode()),
- cast<RegisterSDNode>(VReg)->getReg(), VT);
-}
-
//===----------------------------------------------------------------------===//
// SI Inline Assembly Support
//===----------------------------------------------------------------------===//
diff --git a/lib/Target/AMDGPU/SIISelLowering.h b/lib/Target/AMDGPU/SIISelLowering.h
index 8e2ec40b224c..24f88e632d38 100644
--- a/lib/Target/AMDGPU/SIISelLowering.h
+++ b/lib/Target/AMDGPU/SIISelLowering.h
@@ -108,6 +108,9 @@ class SITargetLowering final : public AMDGPUTargetLowering {
unsigned getFusedOpcode(const SelectionDAG &DAG,
const SDNode *N0, const SDNode *N1) const;
+ SDValue performAddCombine(SDNode *N, DAGCombinerInfo &DCI) const;
+ SDValue performAddCarrySubCarryCombine(SDNode *N, DAGCombinerInfo &DCI) const;
+ SDValue performSubCombine(SDNode *N, DAGCombinerInfo &DCI) const;
SDValue performFAddCombine(SDNode *N, DAGCombinerInfo &DCI) const;
SDValue performFSubCombine(SDNode *N, DAGCombinerInfo &DCI) const;
SDValue performSetCCCombine(SDNode *N, DAGCombinerInfo &DCI) const;
@@ -216,8 +219,6 @@ public:
void AdjustInstrPostInstrSelection(MachineInstr &MI,
SDNode *Node) const override;
- SDValue CreateLiveInRegister(SelectionDAG &DAG, const TargetRegisterClass *RC,
- unsigned Reg, EVT VT) const override;
SDNode *legalizeTargetIndependentNode(SDNode *Node, SelectionDAG &DAG) const;
MachineSDNode *wrapAddr64Rsrc(SelectionDAG &DAG, const SDLoc &DL,
diff --git a/lib/Target/AMDGPU/SIInstrInfo.cpp b/lib/Target/AMDGPU/SIInstrInfo.cpp
index 1097814e99ce..c9b48fea7225 100644
--- a/lib/Target/AMDGPU/SIInstrInfo.cpp
+++ b/lib/Target/AMDGPU/SIInstrInfo.cpp
@@ -2108,7 +2108,9 @@ bool SIInstrInfo::isInlineConstant(const APInt &Imm) const {
bool SIInstrInfo::isInlineConstant(const MachineOperand &MO,
uint8_t OperandType) const {
- if (!MO.isImm() || OperandType < MCOI::OPERAND_FIRST_TARGET)
+ if (!MO.isImm() ||
+ OperandType < AMDGPU::OPERAND_SRC_FIRST ||
+ OperandType > AMDGPU::OPERAND_SRC_LAST)
return false;
// MachineOperand provides no way to tell the true operand size, since it only
@@ -2433,8 +2435,73 @@ bool SIInstrInfo::verifyInstruction(const MachineInstr &MI,
}
}
+ // Verify SDWA
+ if (isSDWA(MI)) {
+
+ if (!ST.hasSDWA()) {
+ ErrInfo = "SDWA is not supported on this target";
+ return false;
+ }
+
+ int DstIdx = AMDGPU::getNamedOperandIdx(Opcode, AMDGPU::OpName::vdst);
+ if ( DstIdx == -1)
+ DstIdx = AMDGPU::getNamedOperandIdx(Opcode, AMDGPU::OpName::sdst);
+
+ const int OpIndicies[] = { DstIdx, Src0Idx, Src1Idx, Src2Idx };
+
+ for (int OpIdx: OpIndicies) {
+ if (OpIdx == -1)
+ continue;
+ const MachineOperand &MO = MI.getOperand(OpIdx);
+
+ if (!ST.hasSDWAScalar()) {
+ // Only VGPRS on VI
+ if (!MO.isReg() || !RI.hasVGPRs(RI.getRegClassForReg(MRI, MO.getReg()))) {
+ ErrInfo = "Only VGPRs allowed as operands in SDWA instructions on VI";
+ return false;
+ }
+ } else {
+ // No immediates on GFX9
+ if (!MO.isReg()) {
+ ErrInfo = "Only reg allowed as operands in SDWA instructions on GFX9";
+ return false;
+ }
+ }
+ }
+
+ if (!ST.hasSDWAOmod()) {
+ // No omod allowed on VI
+ const MachineOperand *OMod = getNamedOperand(MI, AMDGPU::OpName::omod);
+ if (OMod != nullptr &&
+ (!OMod->isImm() || OMod->getImm() != 0)) {
+ ErrInfo = "OMod not allowed in SDWA instructions on VI";
+ return false;
+ }
+ }
+
+ uint16_t BasicOpcode = AMDGPU::getBasicFromSDWAOp(Opcode);
+ if (isVOPC(BasicOpcode)) {
+ if (!ST.hasSDWASdst() && DstIdx != -1) {
+ // Only vcc allowed as dst on VI for VOPC
+ const MachineOperand &Dst = MI.getOperand(DstIdx);
+ if (!Dst.isReg() || Dst.getReg() != AMDGPU::VCC) {
+ ErrInfo = "Only VCC allowed as dst in SDWA instructions on VI";
+ return false;
+ }
+ } else if (!ST.hasSDWAClampVOPC()) {
+ // No clamp allowed on GFX9 for VOPC
+ const MachineOperand *Clamp = getNamedOperand(MI, AMDGPU::OpName::clamp);
+ if (Clamp != nullptr &&
+ (!Clamp->isImm() || Clamp->getImm() != 0)) {
+ ErrInfo = "Clamp not allowed in VOPC SDWA instructions on VI";
+ return false;
+ }
+ }
+ }
+ }
+
// Verify VOP*
- if (isVOP1(MI) || isVOP2(MI) || isVOP3(MI) || isVOPC(MI)) {
+ if (isVOP1(MI) || isVOP2(MI) || isVOP3(MI) || isVOPC(MI) || isSDWA(MI)) {
// Only look at the true operands. Only a real operand can use the constant
// bus, and we don't want to check pseudo-operands like the source modifier
// flags.
diff --git a/lib/Target/AMDGPU/SIInstrInfo.h b/lib/Target/AMDGPU/SIInstrInfo.h
index f6e5e8883f63..74b48c761808 100644
--- a/lib/Target/AMDGPU/SIInstrInfo.h
+++ b/lib/Target/AMDGPU/SIInstrInfo.h
@@ -814,6 +814,9 @@ namespace AMDGPU {
int getSDWAOp(uint16_t Opcode);
LLVM_READONLY
+ int getBasicFromSDWAOp(uint16_t Opcode);
+
+ LLVM_READONLY
int getCommuteRev(uint16_t Opcode);
LLVM_READONLY
diff --git a/lib/Target/AMDGPU/SIInstrInfo.td b/lib/Target/AMDGPU/SIInstrInfo.td
index 470a47b02443..3b4a8b5d1e81 100644
--- a/lib/Target/AMDGPU/SIInstrInfo.td
+++ b/lib/Target/AMDGPU/SIInstrInfo.td
@@ -20,6 +20,8 @@ def SIEncodingFamily {
int NONE = -1;
int SI = 0;
int VI = 1;
+ int SDWA = 2;
+ int SDWA9 = 3;
}
//===----------------------------------------------------------------------===//
@@ -39,25 +41,41 @@ def SIatomic_dec : SDNode<"AMDGPUISD::ATOMIC_DEC", SDTAtomic2,
[SDNPMayLoad, SDNPMayStore, SDNPMemOperand, SDNPHasChain]
>;
-def SItbuffer_store : SDNode<"AMDGPUISD::TBUFFER_STORE_FORMAT",
- SDTypeProfile<0, 13,
- [SDTCisVT<0, v4i32>, // rsrc(SGPR)
- SDTCisVT<1, iAny>, // vdata(VGPR)
- SDTCisVT<2, i32>, // num_channels(imm)
- SDTCisVT<3, i32>, // vaddr(VGPR)
+def SItbuffer_load : SDNode<"AMDGPUISD::TBUFFER_LOAD_FORMAT",
+ SDTypeProfile<1, 9,
+ [ // vdata
+ SDTCisVT<1, v4i32>, // rsrc
+ SDTCisVT<2, i32>, // vindex(VGPR)
+ SDTCisVT<3, i32>, // voffset(VGPR)
SDTCisVT<4, i32>, // soffset(SGPR)
- SDTCisVT<5, i32>, // inst_offset(imm)
+ SDTCisVT<5, i32>, // offset(imm)
SDTCisVT<6, i32>, // dfmt(imm)
SDTCisVT<7, i32>, // nfmt(imm)
- SDTCisVT<8, i32>, // offen(imm)
- SDTCisVT<9, i32>, // idxen(imm)
- SDTCisVT<10, i32>, // glc(imm)
- SDTCisVT<11, i32>, // slc(imm)
- SDTCisVT<12, i32> // tfe(imm)
+ SDTCisVT<8, i32>, // glc(imm)
+ SDTCisVT<9, i32> // slc(imm)
]>,
- [SDNPMayStore, SDNPMemOperand, SDNPHasChain]
+ [SDNPMayLoad, SDNPMemOperand, SDNPHasChain]
>;
+def SDTtbuffer_store : SDTypeProfile<0, 10,
+ [ // vdata
+ SDTCisVT<1, v4i32>, // rsrc
+ SDTCisVT<2, i32>, // vindex(VGPR)
+ SDTCisVT<3, i32>, // voffset(VGPR)
+ SDTCisVT<4, i32>, // soffset(SGPR)
+ SDTCisVT<5, i32>, // offset(imm)
+ SDTCisVT<6, i32>, // dfmt(imm)
+ SDTCisVT<7, i32>, // nfmt(imm)
+ SDTCisVT<8, i32>, // glc(imm)
+ SDTCisVT<9, i32> // slc(imm)
+ ]>;
+
+def SItbuffer_store : SDNode<"AMDGPUISD::TBUFFER_STORE_FORMAT", SDTtbuffer_store,
+ [SDNPMayStore, SDNPMemOperand, SDNPHasChain]>;
+def SItbuffer_store_x3 : SDNode<"AMDGPUISD::TBUFFER_STORE_FORMAT_X3",
+ SDTtbuffer_store,
+ [SDNPMayStore, SDNPMemOperand, SDNPHasChain]>;
+
def SDTBufferLoad : SDTypeProfile<1, 5,
[ // vdata
SDTCisVT<1, v4i32>, // rsrc
@@ -452,25 +470,25 @@ def ExpSrc3 : RegisterOperand<VGPR_32> {
let ParserMatchClass = VReg32OrOffClass;
}
-class SDWA9Src : RegisterOperand<VS_32> {
+class SDWASrc : RegisterOperand<VS_32> {
let OperandNamespace = "AMDGPU";
- let OperandType = "OPERAND_SDWA9_SRC";
- let EncoderMethod = "getSDWA9SrcEncoding";
+ let OperandType = "OPERAND_SDWA_SRC";
+ let EncoderMethod = "getSDWASrcEncoding";
}
-def SDWA9Src32 : SDWA9Src {
- let DecoderMethod = "decodeSDWA9Src32";
+def SDWASrc32 : SDWASrc {
+ let DecoderMethod = "decodeSDWASrc32";
}
-def SDWA9Src16 : SDWA9Src {
- let DecoderMethod = "decodeSDWA9Src16";
+def SDWASrc16 : SDWASrc {
+ let DecoderMethod = "decodeSDWASrc16";
}
-def SDWA9VopcDst : VOPDstOperand<SReg_64> {
+def SDWAVopcDst : VOPDstOperand<SReg_64> {
let OperandNamespace = "AMDGPU";
- let OperandType = "OPERAND_SDWA9_VOPC_DST";
- let EncoderMethod = "getSDWA9VopcDstEncoding";
- let DecoderMethod = "decodeSDWA9VopcDst";
+ let OperandType = "OPERAND_SDWA_VOPC_DST";
+ let EncoderMethod = "getSDWAVopcDstEncoding";
+ let DecoderMethod = "decodeSDWAVopcDst";
}
class NamedMatchClass<string CName, bit Optional = 1> : AsmOperandClass {
@@ -525,7 +543,7 @@ def idxen : NamedOperandBit<"Idxen", NamedMatchClass<"Idxen">>;
def addr64 : NamedOperandBit<"Addr64", NamedMatchClass<"Addr64">>;
def offset_u12 : NamedOperandU12<"Offset", NamedMatchClass<"OffsetU12">>;
-def offset_s13 : NamedOperandS13<"Offset", NamedMatchClass<"OffsetS13">>;
+def offset_s13 : NamedOperandS13<"OffsetS13", NamedMatchClass<"OffsetS13">>;
def offset : NamedOperandU16<"Offset", NamedMatchClass<"Offset">>;
def offset0 : NamedOperandU8<"Offset0", NamedMatchClass<"Offset0">>;
def offset1 : NamedOperandU8<"Offset1", NamedMatchClass<"Offset1">>;
@@ -545,6 +563,9 @@ def lwe : NamedOperandBit<"LWE", NamedMatchClass<"LWE">>;
def exp_compr : NamedOperandBit<"ExpCompr", NamedMatchClass<"ExpCompr">>;
def exp_vm : NamedOperandBit<"ExpVM", NamedMatchClass<"ExpVM">>;
+def DFMT : NamedOperandU8<"DFMT", NamedMatchClass<"DFMT">>;
+def NFMT : NamedOperandU8<"NFMT", NamedMatchClass<"NFMT">>;
+
def dmask : NamedOperandU16<"DMask", NamedMatchClass<"DMask">>;
def dpp_ctrl : NamedOperandU32<"DPPCtrl", NamedMatchClass<"DPPCtrl", 0>>;
@@ -634,13 +655,13 @@ class IntInputMods <IntInputModsMatchClass matchClass> : InputMods <matchClass>
def Int32InputMods : IntInputMods<Int32InputModsMatchClass>;
def Int64InputMods : IntInputMods<Int64InputModsMatchClass>;
-def FPRegInputModsMatchClass : AsmOperandClass {
- let Name = "RegWithFPInputMods";
+def FPRegSDWAInputModsMatchClass : AsmOperandClass {
+ let Name = "SDWARegWithFPInputMods";
let ParserMethod = "parseRegWithFPInputMods";
- let PredicateMethod = "isRegKind";
+ let PredicateMethod = "isSDWARegKind";
}
-def FPRegInputMods : InputMods <FPRegInputModsMatchClass> {
+def FPRegSDWAInputMods : InputMods <FPRegSDWAInputModsMatchClass> {
let PrintMethod = "printOperandAndFPInputMods";
}
@@ -655,13 +676,13 @@ def FPVRegInputMods : InputMods <FPVRegInputModsMatchClass> {
}
-def IntRegInputModsMatchClass : AsmOperandClass {
- let Name = "RegWithIntInputMods";
+def IntRegSDWAInputModsMatchClass : AsmOperandClass {
+ let Name = "SDWARegWithIntInputMods";
let ParserMethod = "parseRegWithIntInputMods";
- let PredicateMethod = "isRegKind";
+ let PredicateMethod = "isSDWARegKind";
}
-def IntRegInputMods : InputMods <IntRegInputModsMatchClass> {
+def IntRegSDWAInputMods : InputMods <IntRegSDWAInputModsMatchClass> {
let PrintMethod = "printOperandAndIntInputMods";
}
@@ -851,10 +872,10 @@ class getVALUDstForVT<ValueType VT> {
}
// Returns the register class to use for the destination of VOP[12C]
-// instructions with GFX9 SDWA extension
-class getSDWA9DstForVT<ValueType VT> {
+// instructions with SDWA extension
+class getSDWADstForVT<ValueType VT> {
RegisterOperand ret = !if(!eq(VT.Size, 1),
- SDWA9VopcDst, // VOPC
+ SDWAVopcDst, // VOPC
VOPDstOperand<VGPR_32>); // VOP1/2 32-bit dst
}
@@ -898,8 +919,8 @@ class getVregSrcForVT<ValueType VT> {
!if(!eq(VT.Size, 64), VReg_64, VGPR_32));
}
-class getSDWA9SrcForVT <ValueType VT> {
- RegisterOperand ret = !if(!eq(VT.Size, 16), SDWA9Src16, SDWA9Src32);
+class getSDWASrcForVT <ValueType VT> {
+ RegisterOperand ret = !if(!eq(VT.Size, 16), SDWASrc16, SDWASrc32);
}
// Returns the register class to use for sources of VOP3 instructions for the
@@ -995,7 +1016,7 @@ class getSrcMod <ValueType VT> {
);
}
-// Return type of input modifiers operand specified input operand for SDWA/DPP
+// Return type of input modifiers operand specified input operand for DPP
class getSrcModExt <ValueType VT> {
bit isFP = !if(!eq(VT.Value, f16.Value), 1,
!if(!eq(VT.Value, f32.Value), 1,
@@ -1004,13 +1025,13 @@ class getSrcModExt <ValueType VT> {
Operand ret = !if(isFP, FPVRegInputMods, IntVRegInputMods);
}
-// Return type of input modifiers operand specified input operand for SDWA 9
-class getSrcModSDWA9 <ValueType VT> {
+// Return type of input modifiers operand specified input operand for SDWA
+class getSrcModSDWA <ValueType VT> {
bit isFP = !if(!eq(VT.Value, f16.Value), 1,
!if(!eq(VT.Value, f32.Value), 1,
!if(!eq(VT.Value, f64.Value), 1,
0)));
- Operand ret = !if(isFP, FPRegInputMods, IntRegInputMods);
+ Operand ret = !if(isFP, FPRegSDWAInputMods, IntRegSDWAInputMods);
}
// Returns the input arguments for VOP[12C] instructions for the given SrcVT.
@@ -1141,36 +1162,12 @@ class getInsDPP <RegisterClass Src0RC, RegisterClass Src1RC, int NumSrcArgs,
/* endif */)));
}
-class getInsSDWA <RegisterClass Src0RC, RegisterClass Src1RC, int NumSrcArgs,
- bit HasFloatModifiers, Operand Src0Mod, Operand Src1Mod,
- ValueType DstVT> {
- dag ret = !if(!eq(NumSrcArgs, 0),
- // VOP1 without input operands (V_NOP)
- (ins),
- !if(!eq(NumSrcArgs, 1),
- // VOP1_SDWA
- (ins Src0Mod:$src0_modifiers, Src0RC:$src0,
- clampmod:$clamp, dst_sel:$dst_sel, dst_unused:$dst_unused,
- src0_sel:$src0_sel),
- !if(!eq(NumSrcArgs, 2),
- !if(!eq(DstVT.Size, 1),
- // VOPC_SDWA with modifiers
- (ins Src0Mod:$src0_modifiers, Src0RC:$src0,
- Src1Mod:$src1_modifiers, Src1RC:$src1,
- clampmod:$clamp, src0_sel:$src0_sel, src1_sel:$src1_sel),
- // VOP2_SDWA with modifiers
- (ins Src0Mod:$src0_modifiers, Src0RC:$src0,
- Src1Mod:$src1_modifiers, Src1RC:$src1,
- clampmod:$clamp, dst_sel:$dst_sel, dst_unused:$dst_unused,
- src0_sel:$src0_sel, src1_sel:$src1_sel)),
- (ins)/* endif */)));
-}
-// Ins for GFX9 SDWA
-class getInsSDWA9 <RegisterOperand Src0RC, RegisterOperand Src1RC, int NumSrcArgs,
- bit HasSDWAOMod, Operand Src0Mod, Operand Src1Mod,
- ValueType DstVT> {
+// Ins for SDWA
+class getInsSDWA <RegisterOperand Src0RC, RegisterOperand Src1RC, int NumSrcArgs,
+ bit HasSDWAOMod, Operand Src0Mod, Operand Src1Mod,
+ ValueType DstVT> {
dag ret = !if(!eq(NumSrcArgs, 0),
// VOP1 without input operands (V_NOP)
@@ -1178,31 +1175,31 @@ class getInsSDWA9 <RegisterOperand Src0RC, RegisterOperand Src1RC, int NumSrcArg
!if(!eq(NumSrcArgs, 1),
// VOP1
!if(!eq(HasSDWAOMod, 0),
- // VOP1_SDWA9 without omod
+ // VOP1_SDWA without omod
(ins Src0Mod:$src0_modifiers, Src0RC:$src0,
clampmod:$clamp,
dst_sel:$dst_sel, dst_unused:$dst_unused,
src0_sel:$src0_sel),
- // VOP1_SDWA9 with omod
+ // VOP1_SDWA with omod
(ins Src0Mod:$src0_modifiers, Src0RC:$src0,
clampmod:$clamp, omod:$omod,
dst_sel:$dst_sel, dst_unused:$dst_unused,
src0_sel:$src0_sel)),
!if(!eq(NumSrcArgs, 2),
!if(!eq(DstVT.Size, 1),
- // VOPC_SDWA9
+ // VOPC_SDWA
(ins Src0Mod:$src0_modifiers, Src0RC:$src0,
Src1Mod:$src1_modifiers, Src1RC:$src1,
- src0_sel:$src0_sel, src1_sel:$src1_sel),
- // VOP2_SDWA9
+ clampmod:$clamp, src0_sel:$src0_sel, src1_sel:$src1_sel),
+ // VOP2_SDWA
!if(!eq(HasSDWAOMod, 0),
- // VOP2_SDWA9 without omod
+ // VOP2_SDWA without omod
(ins Src0Mod:$src0_modifiers, Src0RC:$src0,
Src1Mod:$src1_modifiers, Src1RC:$src1,
clampmod:$clamp,
dst_sel:$dst_sel, dst_unused:$dst_unused,
src0_sel:$src0_sel, src1_sel:$src1_sel),
- // VOP1_SDWA9 with omod
+ // VOP2_SDWA with omod
(ins Src0Mod:$src0_modifiers, Src0RC:$src0,
Src1Mod:$src1_modifiers, Src1RC:$src1,
clampmod:$clamp, omod:$omod,
@@ -1220,12 +1217,12 @@ class getOutsExt <bit HasDst, ValueType DstVT, RegisterOperand DstRCExt> {
(outs)); // V_NOP
}
-// Outs for GFX9 SDWA
-class getOutsSDWA9 <bit HasDst, ValueType DstVT, RegisterOperand DstRCSDWA9> {
+// Outs for SDWA
+class getOutsSDWA <bit HasDst, ValueType DstVT, RegisterOperand DstRCSDWA> {
dag ret = !if(HasDst,
!if(!eq(DstVT.Size, 1),
- (outs DstRCSDWA9:$sdst),
- (outs DstRCSDWA9:$vdst)),
+ (outs DstRCSDWA:$sdst),
+ (outs DstRCSDWA:$vdst)),
(outs)); // V_NOP
}
@@ -1387,8 +1384,7 @@ class VOPProfile <list<ValueType> _ArgVT> {
field ValueType Src2VT = ArgVT[3];
field RegisterOperand DstRC = getVALUDstForVT<DstVT>.ret;
field RegisterOperand DstRCDPP = getVALUDstForVT<DstVT>.ret;
- field RegisterOperand DstRCSDWA = getVALUDstForVT<DstVT>.ret;
- field RegisterOperand DstRCSDWA9 = getSDWA9DstForVT<DstVT>.ret;
+ field RegisterOperand DstRCSDWA = getSDWADstForVT<DstVT>.ret;
field RegisterOperand Src0RC32 = getVOPSrc0ForVT<Src0VT>.ret;
field RegisterClass Src1RC32 = getVregSrcForVT<Src1VT>.ret;
field RegisterOperand Src0RC64 = getVOP3SrcForVT<Src0VT>.ret;
@@ -1396,19 +1392,15 @@ class VOPProfile <list<ValueType> _ArgVT> {
field RegisterOperand Src2RC64 = getVOP3SrcForVT<Src2VT>.ret;
field RegisterClass Src0DPP = getVregSrcForVT<Src0VT>.ret;
field RegisterClass Src1DPP = getVregSrcForVT<Src1VT>.ret;
- field RegisterClass Src0SDWA = getVregSrcForVT<Src0VT>.ret;
- field RegisterClass Src1SDWA = getVregSrcForVT<Src1VT>.ret;
- field RegisterOperand Src0SDWA9 = getSDWA9SrcForVT<Src0VT>.ret;
- field RegisterOperand Src1SDWA9 = getSDWA9SrcForVT<Src0VT>.ret;
+ field RegisterOperand Src0SDWA = getSDWASrcForVT<Src0VT>.ret;
+ field RegisterOperand Src1SDWA = getSDWASrcForVT<Src0VT>.ret;
field Operand Src0Mod = getSrcMod<Src0VT>.ret;
field Operand Src1Mod = getSrcMod<Src1VT>.ret;
field Operand Src2Mod = getSrcMod<Src2VT>.ret;
field Operand Src0ModDPP = getSrcModExt<Src0VT>.ret;
field Operand Src1ModDPP = getSrcModExt<Src1VT>.ret;
- field Operand Src0ModSDWA = getSrcModExt<Src0VT>.ret;
- field Operand Src1ModSDWA = getSrcModExt<Src1VT>.ret;
- field Operand Src0ModSDWA9 = getSrcModSDWA9<Src0VT>.ret;
- field Operand Src1ModSDWA9 = getSrcModSDWA9<Src1VT>.ret;
+ field Operand Src0ModSDWA = getSrcModSDWA<Src0VT>.ret;
+ field Operand Src1ModSDWA = getSrcModSDWA<Src1VT>.ret;
field bit HasDst = !if(!eq(DstVT.Value, untyped.Value), 0, 1);
@@ -1457,8 +1449,7 @@ class VOPProfile <list<ValueType> _ArgVT> {
field dag Outs32 = Outs;
field dag Outs64 = Outs;
field dag OutsDPP = getOutsExt<HasDst, DstVT, DstRCDPP>.ret;
- field dag OutsSDWA = getOutsExt<HasDst, DstVT, DstRCSDWA>.ret;
- field dag OutsSDWA9 = getOutsSDWA9<HasDst, DstVT, DstRCSDWA9>.ret;
+ field dag OutsSDWA = getOutsSDWA<HasDst, DstVT, DstRCSDWA>.ret;
field dag Ins32 = getIns32<Src0RC32, Src1RC32, NumSrcArgs>.ret;
field dag Ins64 = getIns64<Src0RC64, Src1RC64, Src2RC64, NumSrcArgs,
@@ -1471,11 +1462,9 @@ class VOPProfile <list<ValueType> _ArgVT> {
field dag InsDPP = getInsDPP<Src0DPP, Src1DPP, NumSrcArgs,
HasModifiers, Src0ModDPP, Src1ModDPP>.ret;
field dag InsSDWA = getInsSDWA<Src0SDWA, Src1SDWA, NumSrcArgs,
- HasModifiers, Src0ModSDWA, Src1ModSDWA,
+ HasSDWAOMod, Src0ModSDWA, Src1ModSDWA,
DstVT>.ret;
- field dag InsSDWA9 = getInsSDWA9<Src0SDWA9, Src1SDWA9, NumSrcArgs,
- HasSDWAOMod, Src0ModSDWA9, Src1ModSDWA9,
- DstVT>.ret;
+
field string Asm32 = getAsm32<HasDst, NumSrcArgs, DstVT>.ret;
field string Asm64 = getAsm64<HasDst, NumSrcArgs, HasModifiers, HasOMod, DstVT>.ret;
@@ -1628,13 +1617,13 @@ def getSDWAOp : InstrMapping {
let ValueCols = [["SDWA"]];
}
-// Maps ordinary instructions to their SDWA GFX9 counterparts
-def getSDWA9Op : InstrMapping {
+// Maps SDWA instructions to their ordinary counterparts
+def getBasicFromSDWAOp : InstrMapping {
let FilterClass = "VOP";
let RowFields = ["OpName"];
let ColFields = ["AsmVariantName"];
- let KeyCol = ["Default"];
- let ValueCols = [["SDWA9"]];
+ let KeyCol = ["SDWA"];
+ let ValueCols = [["Default"]];
}
def getMaskedMIMGOp : InstrMapping {
@@ -1669,7 +1658,9 @@ def getMCOpcodeGen : InstrMapping {
let ColFields = ["Subtarget"];
let KeyCol = [!cast<string>(SIEncodingFamily.NONE)];
let ValueCols = [[!cast<string>(SIEncodingFamily.SI)],
- [!cast<string>(SIEncodingFamily.VI)]];
+ [!cast<string>(SIEncodingFamily.VI)],
+ [!cast<string>(SIEncodingFamily.SDWA)],
+ [!cast<string>(SIEncodingFamily.SDWA9)]];
}
// Get equivalent SOPK instruction.
diff --git a/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp b/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
index 18b197ddb7ae..3203c38dae34 100644
--- a/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+++ b/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
@@ -74,7 +74,7 @@ SIMachineFunctionInfo::SIMachineFunctionInfo(const MachineFunction &MF)
WorkItemIDX(false),
WorkItemIDY(false),
WorkItemIDZ(false),
- PrivateMemoryInputPtr(false) {
+ ImplicitBufferPtr(false) {
const SISubtarget &ST = MF.getSubtarget<SISubtarget>();
const Function *F = MF.getFunction();
FlatWorkGroupSizes = ST.getFlatWorkGroupSizes(*F);
@@ -86,6 +86,7 @@ SIMachineFunctionInfo::SIMachineFunctionInfo(const MachineFunction &MF)
ScratchRSrcReg = AMDGPU::SGPR0_SGPR1_SGPR2_SGPR3;
ScratchWaveOffsetReg = AMDGPU::SGPR4;
FrameOffsetReg = AMDGPU::SGPR5;
+ StackPtrOffsetReg = AMDGPU::SGPR32;
return;
}
@@ -150,7 +151,7 @@ SIMachineFunctionInfo::SIMachineFunctionInfo(const MachineFunction &MF)
DispatchID = true;
} else if (ST.isMesaGfxShader(MF)) {
if (HasStackObjects || MaySpill)
- PrivateMemoryInputPtr = true;
+ ImplicitBufferPtr = true;
}
// We don't need to worry about accessing spills with flat instructions.
@@ -203,11 +204,11 @@ unsigned SIMachineFunctionInfo::addFlatScratchInit(const SIRegisterInfo &TRI) {
return FlatScratchInitUserSGPR;
}
-unsigned SIMachineFunctionInfo::addPrivateMemoryPtr(const SIRegisterInfo &TRI) {
- PrivateMemoryPtrUserSGPR = TRI.getMatchingSuperReg(
+unsigned SIMachineFunctionInfo::addImplicitBufferPtr(const SIRegisterInfo &TRI) {
+ ImplicitBufferPtrUserSGPR = TRI.getMatchingSuperReg(
getNextUserSGPR(), AMDGPU::sub0, &AMDGPU::SReg_64RegClass);
NumUserSGPRs += 2;
- return PrivateMemoryPtrUserSGPR;
+ return ImplicitBufferPtrUserSGPR;
}
/// Reserve a slice of a VGPR to support spilling for FrameIndex \p FI.
diff --git a/lib/Target/AMDGPU/SIMachineFunctionInfo.h b/lib/Target/AMDGPU/SIMachineFunctionInfo.h
index 9fdb8caac6f2..05aa249584bf 100644
--- a/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+++ b/lib/Target/AMDGPU/SIMachineFunctionInfo.h
@@ -97,7 +97,7 @@ class SIMachineFunctionInfo final : public AMDGPUMachineFunction {
unsigned StackPtrOffsetReg;
// Input registers for non-HSA ABI
- unsigned PrivateMemoryPtrUserSGPR;
+ unsigned ImplicitBufferPtrUserSGPR;
// Input registers setup for the HSA ABI.
// User SGPRs in allocation order.
@@ -179,7 +179,7 @@ private:
// Private memory buffer
// Compute directly in sgpr[0:1]
// Other shaders indirect 64-bits at sgpr[0:1]
- bool PrivateMemoryInputPtr : 1;
+ bool ImplicitBufferPtr : 1;
MCPhysReg getNextUserSGPR() const {
assert(NumSystemSGPRs == 0 && "System SGPRs must be added after user SGPRs");
@@ -236,7 +236,7 @@ public:
unsigned addKernargSegmentPtr(const SIRegisterInfo &TRI);
unsigned addDispatchID(const SIRegisterInfo &TRI);
unsigned addFlatScratchInit(const SIRegisterInfo &TRI);
- unsigned addPrivateMemoryPtr(const SIRegisterInfo &TRI);
+ unsigned addImplicitBufferPtr(const SIRegisterInfo &TRI);
// Add system SGPRs.
unsigned addWorkGroupIDX() {
@@ -341,8 +341,8 @@ public:
return WorkItemIDZ;
}
- bool hasPrivateMemoryInputPtr() const {
- return PrivateMemoryInputPtr;
+ bool hasImplicitBufferPtr() const {
+ return ImplicitBufferPtr;
}
unsigned getNumUserSGPRs() const {
@@ -396,8 +396,8 @@ public:
return QueuePtrUserSGPR;
}
- unsigned getPrivateMemoryPtrUserSGPR() const {
- return PrivateMemoryPtrUserSGPR;
+ unsigned getImplicitBufferPtrUserSGPR() const {
+ return ImplicitBufferPtrUserSGPR;
}
bool hasSpilledSGPRs() const {
diff --git a/lib/Target/AMDGPU/SIPeepholeSDWA.cpp b/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
index f4ddf1891683..4ac23ef03cb3 100644
--- a/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
+++ b/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
@@ -67,9 +67,9 @@ public:
bool runOnMachineFunction(MachineFunction &MF) override;
void matchSDWAOperands(MachineFunction &MF);
- bool isConvertibleToSDWA(const MachineInstr &MI) const;
+ bool isConvertibleToSDWA(const MachineInstr &MI, const SISubtarget &ST) const;
bool convertToSDWA(MachineInstr &MI, const SDWAOperandsVector &SDWAOperands);
- void legalizeScalarOperands(MachineInstr &MI) const;
+ void legalizeScalarOperands(MachineInstr &MI, const SISubtarget &ST) const;
StringRef getPassName() const override { return "SI Peephole SDWA"; }
@@ -224,7 +224,7 @@ static bool isSameReg(const MachineOperand &LHS, const MachineOperand &RHS) {
static bool isSubregOf(const MachineOperand &SubReg,
const MachineOperand &SuperReg,
const TargetRegisterInfo *TRI) {
-
+
if (!SuperReg.isReg() || !SubReg.isReg())
return false;
@@ -557,7 +557,7 @@ void SIPeepholeSDWA::matchSDWAOperands(MachineFunction &MF) {
MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0);
MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst);
-
+
if (TRI->isPhysicalRegister(Src0->getReg()) ||
TRI->isPhysicalRegister(Dst->getReg()))
break;
@@ -590,7 +590,7 @@ void SIPeepholeSDWA::matchSDWAOperands(MachineFunction &MF) {
break;
MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst);
-
+
if (TRI->isPhysicalRegister(Src1->getReg()) ||
TRI->isPhysicalRegister(Dst->getReg()))
break;
@@ -607,16 +607,38 @@ void SIPeepholeSDWA::matchSDWAOperands(MachineFunction &MF) {
}
}
-bool SIPeepholeSDWA::isConvertibleToSDWA(const MachineInstr &MI) const {
+bool SIPeepholeSDWA::isConvertibleToSDWA(const MachineInstr &MI,
+ const SISubtarget &ST) const {
// Check if this instruction has opcode that supports SDWA
- unsigned Opc = MI.getOpcode();
- if (AMDGPU::getSDWAOp(Opc) != -1)
- return true;
- int Opc32 = AMDGPU::getVOPe32(Opc);
- if (Opc32 != -1 && AMDGPU::getSDWAOp(Opc32) != -1)
- return !TII->hasModifiersSet(MI, AMDGPU::OpName::omod) &&
- !TII->getNamedOperand(MI, AMDGPU::OpName::sdst);
- return false;
+ int Opc = MI.getOpcode();
+ if (AMDGPU::getSDWAOp(Opc) == -1)
+ Opc = AMDGPU::getVOPe32(Opc);
+
+ if (Opc == -1 || AMDGPU::getSDWAOp(Opc) == -1)
+ return false;
+
+ if (!ST.hasSDWAOmod() && TII->hasModifiersSet(MI, AMDGPU::OpName::omod))
+ return false;
+
+ if (TII->isVOPC(Opc)) {
+ if (!ST.hasSDWASdst()) {
+ const MachineOperand *SDst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst);
+ if (SDst && SDst->getReg() != AMDGPU::VCC)
+ return false;
+ }
+
+ if (!ST.hasSDWAClampVOPC() && TII->hasModifiersSet(MI, AMDGPU::OpName::clamp))
+ return false;
+
+ } else if (TII->getNamedOperand(MI, AMDGPU::OpName::sdst)) {
+ return false;
+ }
+
+ if (!ST.hasSDWAMac() && (Opc == AMDGPU::V_MAC_F16_e32 ||
+ Opc == AMDGPU::V_MAC_F32_e32))
+ return false;
+
+ return true;
}
bool SIPeepholeSDWA::convertToSDWA(MachineInstr &MI,
@@ -641,6 +663,11 @@ bool SIPeepholeSDWA::convertToSDWA(MachineInstr &MI,
if (Dst) {
assert(AMDGPU::getNamedOperandIdx(SDWAOpcode, AMDGPU::OpName::vdst) != -1);
SDWAInst.add(*Dst);
+ } else {
+ Dst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst);
+ assert(Dst &&
+ AMDGPU::getNamedOperandIdx(SDWAOpcode, AMDGPU::OpName::sdst) != -1);
+ SDWAInst.add(*Dst);
}
// Copy src0, initialize src0_modifiers. All sdwa instructions has src0 and
@@ -677,9 +704,23 @@ bool SIPeepholeSDWA::convertToSDWA(MachineInstr &MI,
SDWAInst.add(*Src2);
}
- // Initialize clamp.
+ // Copy clamp if present, initialize otherwise
assert(AMDGPU::getNamedOperandIdx(SDWAOpcode, AMDGPU::OpName::clamp) != -1);
- SDWAInst.addImm(0);
+ MachineOperand *Clamp = TII->getNamedOperand(MI, AMDGPU::OpName::clamp);
+ if (Clamp) {
+ SDWAInst.add(*Clamp);
+ } else {
+ SDWAInst.addImm(0);
+ }
+
+ // Copy omod if present, initialize otherwise if needed
+ MachineOperand *OMod = TII->getNamedOperand(MI, AMDGPU::OpName::omod);
+ if (OMod) {
+ assert(AMDGPU::getNamedOperandIdx(SDWAOpcode, AMDGPU::OpName::omod) != -1);
+ SDWAInst.add(*OMod);
+ } else if (AMDGPU::getNamedOperandIdx(SDWAOpcode, AMDGPU::OpName::omod) != -1) {
+ SDWAInst.addImm(0);
+ }
// Initialize dst_sel and dst_unused if present
if (Dst) {
@@ -733,16 +774,25 @@ bool SIPeepholeSDWA::convertToSDWA(MachineInstr &MI,
}
// If an instruction was converted to SDWA it should not have immediates or SGPR
-// operands. Copy its scalar operands into VGPRs.
-void SIPeepholeSDWA::legalizeScalarOperands(MachineInstr &MI) const {
+// operands (allowed one SGPR on GFX9). Copy its scalar operands into VGPRs.
+void SIPeepholeSDWA::legalizeScalarOperands(MachineInstr &MI, const SISubtarget &ST) const {
const MCInstrDesc &Desc = TII->get(MI.getOpcode());
- for (unsigned I = 0, E = MI.getNumExplicitOperands(); I != E; ++I) {
- MachineOperand &Op = MI.getOperand(I);
+ unsigned ConstantBusCount = 0;
+ for (MachineOperand &Op: MI.explicit_uses()) {
if (!Op.isImm() && !(Op.isReg() && !TRI->isVGPR(*MRI, Op.getReg())))
continue;
+
+ unsigned I = MI.getOperandNo(&Op);
if (Desc.OpInfo[I].RegClass == -1 ||
!TRI->hasVGPRs(TRI->getRegClass(Desc.OpInfo[I].RegClass)))
continue;
+
+ if (ST.hasSDWAScalar() && ConstantBusCount == 0 && Op.isReg() &&
+ TRI->isSGPRReg(*MRI, Op.getReg())) {
+ ++ConstantBusCount;
+ continue;
+ }
+
unsigned VGPR = MRI->createVirtualRegister(&AMDGPU::VGPR_32RegClass);
auto Copy = BuildMI(*MI.getParent(), MI.getIterator(), MI.getDebugLoc(),
TII->get(AMDGPU::V_MOV_B32_e32), VGPR);
@@ -758,22 +808,20 @@ void SIPeepholeSDWA::legalizeScalarOperands(MachineInstr &MI) const {
bool SIPeepholeSDWA::runOnMachineFunction(MachineFunction &MF) {
const SISubtarget &ST = MF.getSubtarget<SISubtarget>();
- if (!ST.hasSDWA() ||
- !AMDGPU::isVI(ST)) { // TODO: Add support for SDWA on gfx9
+ if (!ST.hasSDWA())
return false;
- }
MRI = &MF.getRegInfo();
TRI = ST.getRegisterInfo();
TII = ST.getInstrInfo();
-
+
// Find all SDWA operands in MF.
matchSDWAOperands(MF);
for (const auto &OperandPair : SDWAOperands) {
const auto &Operand = OperandPair.second;
MachineInstr *PotentialMI = Operand->potentialToConvert(TII);
- if (PotentialMI && isConvertibleToSDWA(*PotentialMI)) {
+ if (PotentialMI && isConvertibleToSDWA(*PotentialMI, ST)) {
PotentialMatches[PotentialMI].push_back(Operand.get());
}
}
@@ -788,7 +836,7 @@ bool SIPeepholeSDWA::runOnMachineFunction(MachineFunction &MF) {
bool Ret = !ConvertedInstructions.empty();
while (!ConvertedInstructions.empty())
- legalizeScalarOperands(*ConvertedInstructions.pop_back_val());
+ legalizeScalarOperands(*ConvertedInstructions.pop_back_val(), ST);
return Ret;
}
diff --git a/lib/Target/AMDGPU/SIRegisterInfo.cpp b/lib/Target/AMDGPU/SIRegisterInfo.cpp
index b611f28fcabd..ef6ad4ad0c8f 100644
--- a/lib/Target/AMDGPU/SIRegisterInfo.cpp
+++ b/lib/Target/AMDGPU/SIRegisterInfo.cpp
@@ -1044,18 +1044,29 @@ void SIRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator MI,
unsigned CarryOut
= MRI.createVirtualRegister(&AMDGPU::SReg_64_XEXECRegClass);
unsigned ScaledReg
- = MRI.createVirtualRegister(&AMDGPU::SReg_32_XM0RegClass);
+ = MRI.createVirtualRegister(&AMDGPU::VGPR_32RegClass);
- // XXX - Should this use a vector shift?
- BuildMI(*MBB, MI, DL, TII->get(AMDGPU::S_LSHR_B32), ScaledReg)
- .addReg(DiffReg, RegState::Kill)
- .addImm(Log2_32(ST.getWavefrontSize()));
+ BuildMI(*MBB, MI, DL, TII->get(AMDGPU::V_LSHRREV_B32_e64), ScaledReg)
+ .addImm(Log2_32(ST.getWavefrontSize()))
+ .addReg(DiffReg, RegState::Kill);
// TODO: Fold if use instruction is another add of a constant.
- BuildMI(*MBB, MI, DL, TII->get(AMDGPU::V_ADD_I32_e64), ResultReg)
- .addReg(CarryOut, RegState::Define | RegState::Dead)
- .addImm(Offset)
- .addReg(ScaledReg, RegState::Kill);
+ if (AMDGPU::isInlinableLiteral32(Offset, ST.hasInv2PiInlineImm())) {
+ BuildMI(*MBB, MI, DL, TII->get(AMDGPU::V_ADD_I32_e64), ResultReg)
+ .addReg(CarryOut, RegState::Define | RegState::Dead)
+ .addImm(Offset)
+ .addReg(ScaledReg, RegState::Kill);
+ } else {
+ unsigned ConstOffsetReg
+ = MRI.createVirtualRegister(&AMDGPU::SReg_32_XM0RegClass);
+
+ BuildMI(*MBB, MI, DL, TII->get(AMDGPU::S_MOV_B32), ConstOffsetReg)
+ .addImm(Offset);
+ BuildMI(*MBB, MI, DL, TII->get(AMDGPU::V_ADD_I32_e64), ResultReg)
+ .addReg(CarryOut, RegState::Define | RegState::Dead)
+ .addReg(ConstOffsetReg, RegState::Kill)
+ .addReg(ScaledReg, RegState::Kill);
+ }
MRI.setRegAllocationHint(CarryOut, 0, AMDGPU::VCC);
}
@@ -1341,12 +1352,11 @@ unsigned SIRegisterInfo::getPreloadedValue(const MachineFunction &MF,
case SIRegisterInfo::PRIVATE_SEGMENT_WAVE_BYTE_OFFSET:
return MFI->PrivateSegmentWaveByteOffsetSystemSGPR;
case SIRegisterInfo::PRIVATE_SEGMENT_BUFFER:
- if (ST.isAmdCodeObjectV2(MF)) {
- assert(MFI->hasPrivateSegmentBuffer());
- return MFI->PrivateSegmentBufferUserSGPR;
- }
- assert(MFI->hasPrivateMemoryInputPtr());
- return MFI->PrivateMemoryPtrUserSGPR;
+ assert(MFI->hasPrivateSegmentBuffer());
+ return MFI->PrivateSegmentBufferUserSGPR;
+ case SIRegisterInfo::IMPLICIT_BUFFER_PTR:
+ assert(MFI->hasImplicitBufferPtr());
+ return MFI->ImplicitBufferPtrUserSGPR;
case SIRegisterInfo::KERNARG_SEGMENT_PTR:
assert(MFI->hasKernargSegmentPtr());
return MFI->KernargSegmentPtrUserSGPR;
diff --git a/lib/Target/AMDGPU/SIRegisterInfo.h b/lib/Target/AMDGPU/SIRegisterInfo.h
index 8fed6d5f9710..600cc886cb59 100644
--- a/lib/Target/AMDGPU/SIRegisterInfo.h
+++ b/lib/Target/AMDGPU/SIRegisterInfo.h
@@ -197,12 +197,13 @@ public:
WORKGROUP_ID_Y = 11,
WORKGROUP_ID_Z = 12,
PRIVATE_SEGMENT_WAVE_BYTE_OFFSET = 14,
+ IMPLICIT_BUFFER_PTR = 15,
// VGPRS:
- FIRST_VGPR_VALUE = 15,
+ FIRST_VGPR_VALUE = 16,
WORKITEM_ID_X = FIRST_VGPR_VALUE,
- WORKITEM_ID_Y = 16,
- WORKITEM_ID_Z = 17
+ WORKITEM_ID_Y = 17,
+ WORKITEM_ID_Z = 18
};
/// \brief Returns the physical register that \p Value is stored in.
diff --git a/lib/Target/AMDGPU/SIShrinkInstructions.cpp b/lib/Target/AMDGPU/SIShrinkInstructions.cpp
index c5f121757e62..96a18544f02a 100644
--- a/lib/Target/AMDGPU/SIShrinkInstructions.cpp
+++ b/lib/Target/AMDGPU/SIShrinkInstructions.cpp
@@ -92,6 +92,8 @@ static bool canShrink(MachineInstr &MI, const SIInstrInfo *TII,
case AMDGPU::V_ADDC_U32_e64:
case AMDGPU::V_SUBB_U32_e64:
+ if (TII->getNamedOperand(MI, AMDGPU::OpName::src1)->isImm())
+ return false;
// Additional verification is needed for sdst/src2.
return true;
diff --git a/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp b/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
index f581e69980c7..26515b27bb77 100644
--- a/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+++ b/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
@@ -538,6 +538,27 @@ bool isSGPR(unsigned Reg, const MCRegisterInfo* TRI) {
Reg == AMDGPU::SCC;
}
+bool isRegIntersect(unsigned Reg0, unsigned Reg1, const MCRegisterInfo* TRI) {
+
+ if (Reg0 == Reg1) {
+ return true;
+ }
+
+ unsigned SubReg0 = TRI->getSubReg(Reg0, 1);
+ if (SubReg0 == 0) {
+ return TRI->getSubRegIndex(Reg1, Reg0) > 0;
+ }
+
+ for (unsigned Idx = 2; SubReg0 > 0; ++Idx) {
+ if (isRegIntersect(Reg1, SubReg0, TRI)) {
+ return true;
+ }
+ SubReg0 = TRI->getSubReg(Reg0, Idx);
+ }
+
+ return false;
+}
+
unsigned getMCReg(unsigned Reg, const MCSubtargetInfo &STI) {
switch(Reg) {
diff --git a/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h b/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
index eff0230d21f5..936e4921a709 100644
--- a/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
+++ b/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
@@ -271,6 +271,9 @@ bool isGFX9(const MCSubtargetInfo &STI);
/// \brief Is Reg - scalar register
bool isSGPR(unsigned Reg, const MCRegisterInfo* TRI);
+/// \brief Is there any intersection between registers
+bool isRegIntersect(unsigned Reg0, unsigned Reg1, const MCRegisterInfo* TRI);
+
/// If \p Reg is a pseudo reg, return the correct hardware register given
/// \p STI otherwise return \p Reg.
unsigned getMCReg(unsigned Reg, const MCSubtargetInfo &STI);
diff --git a/lib/Target/AMDGPU/VOP1Instructions.td b/lib/Target/AMDGPU/VOP1Instructions.td
index 95b5ef0a49db..96b33c373f05 100644
--- a/lib/Target/AMDGPU/VOP1Instructions.td
+++ b/lib/Target/AMDGPU/VOP1Instructions.td
@@ -93,11 +93,6 @@ class VOP1_SDWA_Pseudo <string OpName, VOPProfile P, list<dag> pattern=[]> :
let AsmMatchConverter = "cvtSdwaVOP1";
}
-class VOP1_SDWA9_Pseudo <string OpName, VOPProfile P, list<dag> pattern=[]> :
- VOP_SDWA9_Pseudo <OpName, P, pattern> {
- let AsmMatchConverter = "cvtSdwaVOP1";
-}
-
class getVOP1Pat64 <SDPatternOperator node, VOPProfile P> : LetDummies {
list<dag> ret =
!if(P.HasModifiers,
@@ -117,7 +112,6 @@ multiclass VOP1Inst <string opName, VOPProfile P,
def _e32 : VOP1_Pseudo <opName, P>;
def _e64 : VOP3_Pseudo <opName, P, getVOP1Pat64<node, P>.ret>;
def _sdwa : VOP1_SDWA_Pseudo <opName, P>;
- def _sdwa9 : VOP1_SDWA9_Pseudo <opName, P>;
}
// Special profile for instructions which have clamp
@@ -274,12 +268,10 @@ def VOP_MOVRELD : VOPProfile<[untyped, i32, untyped, untyped]> {
let Ins64 = (ins Src0RC64:$vdst, VSrc_b32:$src0);
let InsDPP = (ins Src0RC32:$vdst, Src0RC32:$src0, dpp_ctrl:$dpp_ctrl, row_mask:$row_mask,
bank_mask:$bank_mask, bound_ctrl:$bound_ctrl);
+
let InsSDWA = (ins Src0RC32:$vdst, Src0ModSDWA:$src0_modifiers, Src0SDWA:$src0,
- clampmod:$clamp, dst_sel:$dst_sel, dst_unused:$dst_unused,
+ clampmod:$clamp, omod:$omod, dst_sel:$dst_sel, dst_unused:$dst_unused,
src0_sel:$src0_sel);
- let InsSDWA9 = (ins Src0RC32:$vdst, Src0ModSDWA9:$src0_modifiers, Src0SDWA9:$src0,
- clampmod:$clamp, omod:$omod, dst_sel:$dst_sel, dst_unused:$dst_unused,
- src0_sel:$src0_sel);
let Asm32 = getAsm32<1, 1>.ret;
let Asm64 = getAsm64<1, 1, 0, 1>.ret;
@@ -545,8 +537,8 @@ multiclass VOP1_Real_vi <bits<10> op> {
VOP1_SDWAe <op{7-0}, !cast<VOP1_SDWA_Pseudo>(NAME#"_sdwa").Pfl>;
def _sdwa_gfx9 :
- VOP_SDWA9_Real <!cast<VOP1_SDWA9_Pseudo>(NAME#"_sdwa9")>,
- VOP1_SDWA9Ae <op{7-0}, !cast<VOP1_SDWA9_Pseudo>(NAME#"_sdwa9").Pfl>;
+ VOP_SDWA9_Real <!cast<VOP1_SDWA_Pseudo>(NAME#"_sdwa")>,
+ VOP1_SDWA9Ae <op{7-0}, !cast<VOP1_SDWA_Pseudo>(NAME#"_sdwa").Pfl>;
// For now left dpp only for asm/dasm
// TODO: add corresponding pseudo
diff --git a/lib/Target/AMDGPU/VOP2Instructions.td b/lib/Target/AMDGPU/VOP2Instructions.td
index 657cacaa792c..7b9bc71ad4c7 100644
--- a/lib/Target/AMDGPU/VOP2Instructions.td
+++ b/lib/Target/AMDGPU/VOP2Instructions.td
@@ -114,11 +114,6 @@ class VOP2_SDWA_Pseudo <string OpName, VOPProfile P, list<dag> pattern=[]> :
let AsmMatchConverter = "cvtSdwaVOP2";
}
-class VOP2_SDWA9_Pseudo <string OpName, VOPProfile P, list<dag> pattern=[]> :
- VOP_SDWA9_Pseudo <OpName, P, pattern> {
- let AsmMatchConverter = "cvtSdwaVOP2";
-}
-
class getVOP2Pat64 <SDPatternOperator node, VOPProfile P> : LetDummies {
list<dag> ret = !if(P.HasModifiers,
[(set P.DstVT:$vdst,
@@ -139,7 +134,6 @@ multiclass VOP2Inst <string opName,
Commutable_REV<revOp#"_e64", !eq(revOp, opName)>;
def _sdwa : VOP2_SDWA_Pseudo <opName, P>;
- def _sdwa9 : VOP2_SDWA9_Pseudo <opName, P>;
}
multiclass VOP2bInst <string opName,
@@ -156,10 +150,6 @@ multiclass VOP2bInst <string opName,
def _sdwa : VOP2_SDWA_Pseudo <opName, P> {
let AsmMatchConverter = "cvtSdwaVOP2b";
}
-
- def _sdwa9 : VOP2_SDWA9_Pseudo <opName, P> {
- let AsmMatchConverter = "cvtSdwaVOP2b";
- }
}
def _e64 : VOP3_Pseudo <opName, P, getVOP2Pat64<node, P>.ret>,
@@ -221,17 +211,13 @@ class VOP_MAC <ValueType vt> : VOPProfile <[vt, vt, vt, vt]> {
VGPR_32:$src2, // stub argument
dpp_ctrl:$dpp_ctrl, row_mask:$row_mask,
bank_mask:$bank_mask, bound_ctrl:$bound_ctrl);
+
let InsSDWA = (ins Src0ModSDWA:$src0_modifiers, Src0SDWA:$src0,
Src1ModSDWA:$src1_modifiers, Src1SDWA:$src1,
VGPR_32:$src2, // stub argument
- clampmod:$clamp, dst_sel:$dst_sel, dst_unused:$dst_unused,
+ clampmod:$clamp, omod:$omod,
+ dst_sel:$dst_sel, dst_unused:$dst_unused,
src0_sel:$src0_sel, src1_sel:$src1_sel);
- let InsSDWA9 = (ins Src0ModSDWA9:$src0_modifiers, Src0SDWA9:$src0,
- Src1ModSDWA9:$src1_modifiers, Src1SDWA9:$src1,
- VGPR_32:$src2, // stub argument
- clampmod:$clamp, omod:$omod,
- dst_sel:$dst_sel, dst_unused:$dst_unused,
- src0_sel:$src0_sel, src1_sel:$src1_sel);
let Asm32 = getAsm32<1, 2, vt>.ret;
let Asm64 = getAsm64<1, 2, HasModifiers, HasOMod, vt>.ret;
let AsmDPP = getAsmDPP<1, 2, HasModifiers, vt>.ret;
@@ -289,15 +275,10 @@ def VOP2b_I32_I1_I32_I32_I1 : VOPProfile<[i32, i32, i32, i1]> {
let InsSDWA = (ins Src0ModSDWA:$src0_modifiers, Src0SDWA:$src0,
Src1ModSDWA:$src1_modifiers, Src1SDWA:$src1,
- clampmod:$clamp, dst_sel:$dst_sel, dst_unused:$dst_unused,
+ clampmod:$clamp, omod:$omod,
+ dst_sel:$dst_sel, dst_unused:$dst_unused,
src0_sel:$src0_sel, src1_sel:$src1_sel);
- let InsSDWA9 = (ins Src0ModSDWA9:$src0_modifiers, Src0SDWA9:$src0,
- Src1ModSDWA9:$src1_modifiers, Src1SDWA9:$src1,
- clampmod:$clamp, omod:$omod,
- dst_sel:$dst_sel, dst_unused:$dst_unused,
- src0_sel:$src0_sel, src1_sel:$src1_sel);
-
let InsDPP = (ins Src0Mod:$src0_modifiers, Src0DPP:$src0,
Src1Mod:$src1_modifiers, Src1DPP:$src1,
dpp_ctrl:$dpp_ctrl, row_mask:$row_mask,
@@ -326,6 +307,8 @@ def VOP_READLANE : VOPProfile<[i32, i32, i32]> {
let Ins64 = Ins32;
let Asm32 = " $vdst, $src0, $src1";
let Asm64 = Asm32;
+ let HasExt = 0;
+ let HasSDWA9 = 0;
}
def VOP_WRITELANE : VOPProfile<[i32, i32, i32]> {
@@ -335,6 +318,8 @@ def VOP_WRITELANE : VOPProfile<[i32, i32, i32]> {
let Ins64 = Ins32;
let Asm32 = " $vdst, $src0, $src1";
let Asm64 = Asm32;
+ let HasExt = 0;
+ let HasSDWA9 = 0;
}
//===----------------------------------------------------------------------===//
@@ -397,20 +382,29 @@ def V_READLANE_B32 : VOP2_Pseudo<"v_readlane_b32", VOP_READLANE,
def V_WRITELANE_B32 : VOP2_Pseudo<"v_writelane_b32", VOP_WRITELANE, [], "">;
} // End isConvergent = 1
-defm V_BFM_B32 : VOP2Inst <"v_bfm_b32", VOP_I32_I32_I32>;
-defm V_BCNT_U32_B32 : VOP2Inst <"v_bcnt_u32_b32", VOP_I32_I32_I32>;
-defm V_MBCNT_LO_U32_B32 : VOP2Inst <"v_mbcnt_lo_u32_b32", VOP_I32_I32_I32, int_amdgcn_mbcnt_lo>;
-defm V_MBCNT_HI_U32_B32 : VOP2Inst <"v_mbcnt_hi_u32_b32", VOP_I32_I32_I32, int_amdgcn_mbcnt_hi>;
-defm V_LDEXP_F32 : VOP2Inst <"v_ldexp_f32", VOP_F32_F32_I32, AMDGPUldexp>;
-defm V_CVT_PKACCUM_U8_F32 : VOP2Inst <"v_cvt_pkaccum_u8_f32", VOP_I32_F32_I32>; // TODO: set "Uses = dst"
-defm V_CVT_PKNORM_I16_F32 : VOP2Inst <"v_cvt_pknorm_i16_f32", VOP_I32_F32_F32>;
-defm V_CVT_PKNORM_U16_F32 : VOP2Inst <"v_cvt_pknorm_u16_f32", VOP_I32_F32_F32>;
-defm V_CVT_PKRTZ_F16_F32 : VOP2Inst <"v_cvt_pkrtz_f16_f32", VOP_I32_F32_F32, AMDGPUpkrtz_f16_f32>;
-defm V_CVT_PK_U16_U32 : VOP2Inst <"v_cvt_pk_u16_u32", VOP_I32_I32_I32>;
-defm V_CVT_PK_I16_I32 : VOP2Inst <"v_cvt_pk_i16_i32", VOP_I32_I32_I32>;
+defm V_BFM_B32 : VOP2Inst <"v_bfm_b32", VOP_NO_EXT<VOP_I32_I32_I32>>;
+defm V_BCNT_U32_B32 : VOP2Inst <"v_bcnt_u32_b32", VOP_NO_EXT<VOP_I32_I32_I32>>;
+defm V_MBCNT_LO_U32_B32 : VOP2Inst <"v_mbcnt_lo_u32_b32", VOP_NO_EXT<VOP_I32_I32_I32>, int_amdgcn_mbcnt_lo>;
+defm V_MBCNT_HI_U32_B32 : VOP2Inst <"v_mbcnt_hi_u32_b32", VOP_NO_EXT<VOP_I32_I32_I32>, int_amdgcn_mbcnt_hi>;
+defm V_LDEXP_F32 : VOP2Inst <"v_ldexp_f32", VOP_NO_EXT<VOP_F32_F32_I32>, AMDGPUldexp>;
+defm V_CVT_PKACCUM_U8_F32 : VOP2Inst <"v_cvt_pkaccum_u8_f32", VOP_NO_EXT<VOP_I32_F32_I32>>; // TODO: set "Uses = dst"
+defm V_CVT_PKNORM_I16_F32 : VOP2Inst <"v_cvt_pknorm_i16_f32", VOP_NO_EXT<VOP_I32_F32_F32>>;
+defm V_CVT_PKNORM_U16_F32 : VOP2Inst <"v_cvt_pknorm_u16_f32", VOP_NO_EXT<VOP_I32_F32_F32>>;
+defm V_CVT_PKRTZ_F16_F32 : VOP2Inst <"v_cvt_pkrtz_f16_f32", VOP_NO_EXT<VOP_I32_F32_F32>, AMDGPUpkrtz_f16_f32>;
+defm V_CVT_PK_U16_U32 : VOP2Inst <"v_cvt_pk_u16_u32", VOP_NO_EXT<VOP_I32_I32_I32>>;
+defm V_CVT_PK_I16_I32 : VOP2Inst <"v_cvt_pk_i16_i32", VOP_NO_EXT<VOP_I32_I32_I32>>;
} // End SubtargetPredicate = isGCN
+def : Pat<
+ (AMDGPUadde i32:$src0, i32:$src1, i1:$src2),
+ (V_ADDC_U32_e64 $src0, $src1, $src2)
+>;
+
+def : Pat<
+ (AMDGPUsube i32:$src0, i32:$src1, i1:$src2),
+ (V_SUBB_U32_e64 $src0, $src1, $src2)
+>;
// These instructions only exist on SI and CI
let SubtargetPredicate = isSICI in {
@@ -728,8 +722,8 @@ multiclass VOP2_SDWA_Real <bits<6> op> {
multiclass VOP2_SDWA9_Real <bits<6> op> {
def _sdwa_gfx9 :
- VOP_SDWA9_Real <!cast<VOP2_SDWA9_Pseudo>(NAME#"_sdwa9")>,
- VOP2_SDWA9Ae <op{5-0}, !cast<VOP2_SDWA9_Pseudo>(NAME#"_sdwa9").Pfl>;
+ VOP_SDWA9_Real <!cast<VOP2_SDWA_Pseudo>(NAME#"_sdwa")>,
+ VOP2_SDWA9Ae <op{5-0}, !cast<VOP2_SDWA_Pseudo>(NAME#"_sdwa").Pfl>;
}
multiclass VOP2be_Real_e32e64_vi <bits<6> op> :
diff --git a/lib/Target/AMDGPU/VOPCInstructions.td b/lib/Target/AMDGPU/VOPCInstructions.td
index cd347b86d305..f3482a22d5dc 100644
--- a/lib/Target/AMDGPU/VOPCInstructions.td
+++ b/lib/Target/AMDGPU/VOPCInstructions.td
@@ -113,11 +113,6 @@ class VOPC_SDWA_Pseudo <string OpName, VOPProfile P, list<dag> pattern=[]> :
let AsmMatchConverter = "cvtSdwaVOPC";
}
-class VOPC_SDWA9_Pseudo <string OpName, VOPProfile P, list<dag> pattern=[]> :
- VOP_SDWA9_Pseudo <OpName, P, pattern> {
- let AsmMatchConverter = "cvtSdwaVOPC";
-}
-
// This class is used only with VOPC instructions. Use $sdst for out operand
class VOPCInstAlias <VOP3_Pseudo ps, Instruction inst, VOPProfile p = ps.Pfl> :
InstAlias <ps.OpName#" "#p.Asm32, (inst)>, PredicateControl {
@@ -189,13 +184,6 @@ multiclass VOPC_Pseudos <string opName,
let isConvergent = DefExec;
let isCompare = 1;
}
-
- def _sdwa9 : VOPC_SDWA9_Pseudo <opName, P> {
- let Defs = !if(DefExec, [VCC, EXEC], [VCC]);
- let SchedRW = P.Schedule;
- let isConvergent = DefExec;
- let isCompare = 1;
- }
}
def VOPC_I1_F16_F16 : VOPC_Profile<[Write32Bit], f16>;
@@ -540,14 +528,12 @@ class VOPC_Class_Profile<list<SchedReadWrite> sched, ValueType vt> :
VOPC_Profile<sched, vt, i32> {
let Ins64 = (ins Src0Mod:$src0_modifiers, Src0RC64:$src0, Src1RC64:$src1);
let Asm64 = "$sdst, $src0_modifiers, $src1";
+
let InsSDWA = (ins Src0ModSDWA:$src0_modifiers, Src0SDWA:$src0,
Src1ModSDWA:$src1_modifiers, Src1SDWA:$src1,
clampmod:$clamp, src0_sel:$src0_sel, src1_sel:$src1_sel);
- let InsSDWA9 = (ins Src0ModSDWA9:$src0_modifiers, Src0SDWA9:$src0,
- Src1ModSDWA9:$src1_modifiers, Src1SDWA9:$src1,
- src0_sel:$src0_sel, src1_sel:$src1_sel);
+
let AsmSDWA = " vcc, $src0_modifiers, $src1_modifiers$clamp $src0_sel $src1_sel";
- //let AsmSDWA9 = " $sdst, $src0_modifiers, $src1_modifiers $src0_sel $src1_sel";
let HasSrc1Mods = 0;
let HasClamp = 0;
let HasOMod = 0;
@@ -580,12 +566,6 @@ multiclass VOPC_Class_Pseudos <string opName, VOPC_Profile p, bit DefExec> {
let SchedRW = p.Schedule;
let isConvergent = DefExec;
}
-
- def _sdwa9 : VOPC_SDWA9_Pseudo <opName, p> {
- let Defs = !if(DefExec, [VCC, EXEC], [VCC]);
- let SchedRW = p.Schedule;
- let isConvergent = DefExec;
- }
}
def VOPC_I1_F16_I32 : VOPC_Class_Profile<[Write32Bit], f16>;
@@ -954,8 +934,8 @@ multiclass VOPC_Real_vi <bits<10> op> {
VOPC_SDWAe <op{7-0}, !cast<VOPC_SDWA_Pseudo>(NAME#"_sdwa").Pfl>;
def _sdwa_gfx9 :
- VOP_SDWA9_Real <!cast<VOPC_SDWA9_Pseudo>(NAME#"_sdwa9")>,
- VOPC_SDWA9e <op{7-0}, !cast<VOPC_SDWA9_Pseudo>(NAME#"_sdwa9").Pfl>;
+ VOP_SDWA9_Real <!cast<VOPC_SDWA_Pseudo>(NAME#"_sdwa")>,
+ VOPC_SDWA9e <op{7-0}, !cast<VOPC_SDWA_Pseudo>(NAME#"_sdwa").Pfl>;
def : VOPCInstAlias <!cast<VOP3_Pseudo>(NAME#"_e64"),
!cast<Instruction>(NAME#"_e32_vi")> {
diff --git a/lib/Target/AMDGPU/VOPInstructions.td b/lib/Target/AMDGPU/VOPInstructions.td
index 4da654f84f9d..e386f21c2ba4 100644
--- a/lib/Target/AMDGPU/VOPInstructions.td
+++ b/lib/Target/AMDGPU/VOPInstructions.td
@@ -232,11 +232,11 @@ class VOP3Pe <bits<10> op, VOPProfile P> : Enc64 {
let Inst{9} = !if(P.HasSrc1Mods, src1_modifiers{1}, 0); // neg_hi src1
let Inst{10} = !if(P.HasSrc2Mods, src2_modifiers{1}, 0); // neg_hi src2
- let Inst{11} = !if(P.HasOpSel, src0_modifiers{2}, 0); // op_sel(0)
- let Inst{12} = !if(P.HasOpSel, src1_modifiers{2}, 0); // op_sel(1)
- let Inst{13} = !if(P.HasOpSel, src2_modifiers{2}, 0); // op_sel(2)
+ let Inst{11} = !if(!and(P.HasSrc0, P.HasOpSel), src0_modifiers{2}, 0); // op_sel(0)
+ let Inst{12} = !if(!and(P.HasSrc1, P.HasOpSel), src1_modifiers{2}, 0); // op_sel(1)
+ let Inst{13} = !if(!and(P.HasSrc2, P.HasOpSel), src2_modifiers{2}, 0); // op_sel(2)
- let Inst{14} = !if(P.HasOpSel, src2_modifiers{3}, 0); // op_sel_hi(2)
+ let Inst{14} = !if(!and(P.HasSrc2, P.HasOpSel), src2_modifiers{3}, 0); // op_sel_hi(2)
let Inst{15} = !if(P.HasClamp, clamp{0}, 0);
@@ -245,8 +245,8 @@ class VOP3Pe <bits<10> op, VOPProfile P> : Enc64 {
let Inst{40-32} = !if(P.HasSrc0, src0, 0);
let Inst{49-41} = !if(P.HasSrc1, src1, 0);
let Inst{58-50} = !if(P.HasSrc2, src2, 0);
- let Inst{59} = !if(P.HasOpSel, src0_modifiers{3}, 0); // op_sel_hi(0)
- let Inst{60} = !if(P.HasOpSel, src1_modifiers{3}, 0); // op_sel_hi(1)
+ let Inst{59} = !if(!and(P.HasSrc0, P.HasOpSel), src0_modifiers{3}, 0); // op_sel_hi(0)
+ let Inst{60} = !if(!and(P.HasSrc1, P.HasOpSel), src1_modifiers{3}, 0); // op_sel_hi(1)
let Inst{61} = !if(P.HasSrc0Mods, src0_modifiers{0}, 0); // neg (lo)
let Inst{62} = !if(P.HasSrc1Mods, src1_modifiers{0}, 0); // neg (lo)
let Inst{63} = !if(P.HasSrc2Mods, src2_modifiers{0}, 0); // neg (lo)
@@ -300,6 +300,19 @@ class VOP_SDWAe<VOPProfile P> : Enc64 {
let Inst{61-60} = !if(P.HasSrc1FloatMods, src1_modifiers{1-0}, 0);
}
+// GFX9 adds two features to SDWA:
+// 1. Add 3 fields to the SDWA microcode word: S0, S1 and OMOD.
+// a. S0 and S1 indicate that source 0 and 1 respectively are SGPRs rather
+// than VGPRs (at most 1 can be an SGPR);
+// b. OMOD is the standard output modifier (result *2, *4, /2)
+// 2. Add a new version of the SDWA microcode word for VOPC: SDWAB. This
+// replaces OMOD and the dest fields with SD and SDST (SGPR destination)
+// field.
+// a. When SD=1, the SDST is used as the destination for the compare result;
+// b. When SD=0, VCC is used.
+//
+// In GFX9, V_MAC_F16, V_MAC_F32 opcodes cannot be used with SDWA
+
// gfx9 SDWA basic encoding
class VOP_SDWA9e<VOPProfile P> : Enc64 {
bits<9> src0; // {src0_sgpr{0}, src0{7-0}}
@@ -353,6 +366,7 @@ class VOP_SDWA_Pseudo <string opName, VOPProfile P, list<dag> pattern=[]> :
string Mnemonic = opName;
string AsmOperands = P.AsmSDWA;
+ string AsmOperands9 = P.AsmSDWA9;
let Size = 8;
let mayLoad = 0;
@@ -372,53 +386,9 @@ class VOP_SDWA_Pseudo <string opName, VOPProfile P, list<dag> pattern=[]> :
VOPProfile Pfl = P;
}
-// GFX9 adds two features to SDWA:
-// 1. Add 3 fields to the SDWA microcode word: S0, S1 and OMOD.
-// a. S0 and S1 indicate that source 0 and 1 respectively are SGPRs rather
-// than VGPRs (at most 1 can be an SGPR);
-// b. OMOD is the standard output modifier (result *2, *4, /2)
-// 2. Add a new version of the SDWA microcode word for VOPC: SDWAB. This
-// replaces OMOD and the dest fields with SD and SDST (SGPR destination)
-// field.
-// a. When SD=1, the SDST is used as the destination for the compare result;
-// b.when SD=0, VCC is used.
-//
-// In GFX9, V_MAC_F16, V_MAC_F32 opcodes cannot be used with SDWA
-
-class VOP_SDWA9_Pseudo <string opName, VOPProfile P, list<dag> pattern=[]> :
- InstSI <P.OutsSDWA9, P.InsSDWA9, "", pattern>,
- VOP <opName>,
- SIMCInstr <opName#"_sdwa9", SIEncodingFamily.NONE>,
- MnemonicAlias <opName#"_sdwa9", opName> {
-
- let isPseudo = 1;
- let isCodeGenOnly = 1;
- let UseNamedOperandTable = 1;
-
- string Mnemonic = opName;
- string AsmOperands = P.AsmSDWA9;
-
- let Size = 8;
- let mayLoad = 0;
- let mayStore = 0;
- let hasSideEffects = 0;
-
- let VALU = 1;
- let SDWA = 1;
- let Uses = [EXEC];
-
- let SubtargetPredicate = !if(P.HasSDWA9, HasSDWA9, DisableInst);
- let AssemblerPredicate = !if(P.HasSDWA9, HasSDWA9, DisableInst);
- let AsmVariantName = !if(P.HasSDWA9, AMDGPUAsmVariants.SDWA9,
- AMDGPUAsmVariants.Disable);
- let DecoderNamespace = "SDWA9";
-
- VOPProfile Pfl = P;
-}
-
class VOP_SDWA_Real <VOP_SDWA_Pseudo ps> :
InstSI <ps.OutOperandList, ps.InOperandList, ps.Mnemonic # ps.AsmOperands, []>,
- SIMCInstr <ps.PseudoInstr, SIEncodingFamily.VI> {
+ SIMCInstr <ps.PseudoInstr, SIEncodingFamily.SDWA> {
let isPseudo = 0;
let isCodeGenOnly = 0;
@@ -443,9 +413,9 @@ class VOP_SDWA_Real <VOP_SDWA_Pseudo ps> :
let TSFlags = ps.TSFlags;
}
-class VOP_SDWA9_Real <VOP_SDWA9_Pseudo ps> :
- InstSI <ps.OutOperandList, ps.InOperandList, ps.Mnemonic # ps.AsmOperands, []>,
- SIMCInstr <ps.PseudoInstr, SIEncodingFamily.VI> {
+class VOP_SDWA9_Real <VOP_SDWA_Pseudo ps> :
+ InstSI <ps.OutOperandList, ps.InOperandList, ps.Mnemonic # ps.AsmOperands9, []>,
+ SIMCInstr <ps.PseudoInstr, SIEncodingFamily.SDWA9> {
let isPseudo = 0;
let isCodeGenOnly = 0;
@@ -458,13 +428,15 @@ class VOP_SDWA9_Real <VOP_SDWA9_Pseudo ps> :
let Constraints = ps.Constraints;
let DisableEncoding = ps.DisableEncoding;
+ let SubtargetPredicate = !if(ps.Pfl.HasSDWA9, HasSDWA9, DisableInst);
+ let AssemblerPredicate = !if(ps.Pfl.HasSDWA9, HasSDWA9, DisableInst);
+ let AsmVariantName = !if(ps.Pfl.HasSDWA9, AMDGPUAsmVariants.SDWA9,
+ AMDGPUAsmVariants.Disable);
+ let DecoderNamespace = "SDWA9";
+
// Copy relevant pseudo op flags
- let SubtargetPredicate = ps.SubtargetPredicate;
- let AssemblerPredicate = ps.AssemblerPredicate;
let AsmMatchConverter = ps.AsmMatchConverter;
- let AsmVariantName = ps.AsmVariantName;
let UseNamedOperandTable = ps.UseNamedOperandTable;
- let DecoderNamespace = ps.DecoderNamespace;
let Constraints = ps.Constraints;
let DisableEncoding = ps.DisableEncoding;
let TSFlags = ps.TSFlags;
diff --git a/lib/Target/ARM/ARM.td b/lib/Target/ARM/ARM.td
index ca68f5d42c32..6f67183df6a1 100644
--- a/lib/Target/ARM/ARM.td
+++ b/lib/Target/ARM/ARM.td
@@ -100,7 +100,8 @@ def FeatureRAS : SubtargetFeature<"ras", "HasRAS", "true",
"Enable Reliability, Availability and Serviceability extensions">;
def FeatureFPAO : SubtargetFeature<"fpao", "HasFPAO", "true",
"Enable fast computation of positive address offsets">;
-
+def FeatureFuseAES : SubtargetFeature<"fuse-aes", "HasFuseAES", "true",
+ "CPU fuses AES crypto operations">;
// Cyclone has preferred instructions for zeroing VFP registers, which can
// execute in 0 cycles.
diff --git a/lib/Target/ARM/ARMAsmPrinter.cpp b/lib/Target/ARM/ARMAsmPrinter.cpp
index f9da036c7e46..90f635c81254 100644
--- a/lib/Target/ARM/ARMAsmPrinter.cpp
+++ b/lib/Target/ARM/ARMAsmPrinter.cpp
@@ -1504,6 +1504,9 @@ void ARMAsmPrinter::EmitInstruction(const MachineInstr *MI) {
return;
}
case ARM::CONSTPOOL_ENTRY: {
+ if (Subtarget->genExecuteOnly())
+ llvm_unreachable("execute-only should not generate constant pools");
+
/// CONSTPOOL_ENTRY - This instruction represents a floating constant pool
/// in the function. The first operand is the ID# for this instruction, the
/// second is the index into the MachineConstantPool that this is, the third
diff --git a/lib/Target/ARM/ARMBaseInstrInfo.cpp b/lib/Target/ARM/ARMBaseInstrInfo.cpp
index 8715657ad5e2..e0810c358f2d 100644
--- a/lib/Target/ARM/ARMBaseInstrInfo.cpp
+++ b/lib/Target/ARM/ARMBaseInstrInfo.cpp
@@ -665,12 +665,14 @@ bool ARMBaseInstrInfo::isPredicable(const MachineInstr &MI) const {
const ARMFunctionInfo *AFI =
MI.getParent()->getParent()->getInfo<ARMFunctionInfo>();
+ // Neon instructions in Thumb2 IT blocks are deprecated, see ARMARM.
+ // In their ARM encoding, they can't be encoded in a conditional form.
+ if ((MI.getDesc().TSFlags & ARMII::DomainMask) == ARMII::DomainNEON)
+ return false;
+
if (AFI->isThumb2Function()) {
if (getSubtarget().restrictIT())
return isV8EligibleForIT(&MI);
- } else { // non-Thumb
- if ((MI.getDesc().TSFlags & ARMII::DomainMask) == ARMII::DomainNEON)
- return false;
}
return true;
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp
index 5b2d093e8f0d..2bcc707e9fc3 100644
--- a/lib/Target/ARM/ARMISelLowering.cpp
+++ b/lib/Target/ARM/ARMISelLowering.cpp
@@ -2669,12 +2669,35 @@ static SDValue LowerWRITE_REGISTER(SDValue Op, SelectionDAG &DAG) {
// Select(N) returns N. So the raw TargetGlobalAddress nodes, etc. can only
// be used to form addressing mode. These wrapped nodes will be selected
// into MOVi.
-static SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) {
+SDValue ARMTargetLowering::LowerConstantPool(SDValue Op,
+ SelectionDAG &DAG) const {
EVT PtrVT = Op.getValueType();
// FIXME there is no actual debug info here
SDLoc dl(Op);
ConstantPoolSDNode *CP = cast<ConstantPoolSDNode>(Op);
SDValue Res;
+
+ // When generating execute-only code Constant Pools must be promoted to the
+ // global data section. It's a bit ugly that we can't share them across basic
+ // blocks, but this way we guarantee that execute-only behaves correct with
+ // position-independent addressing modes.
+ if (Subtarget->genExecuteOnly()) {
+ auto AFI = DAG.getMachineFunction().getInfo<ARMFunctionInfo>();
+ auto T = const_cast<Type*>(CP->getType());
+ auto C = const_cast<Constant*>(CP->getConstVal());
+ auto M = const_cast<Module*>(DAG.getMachineFunction().
+ getFunction()->getParent());
+ auto GV = new GlobalVariable(
+ *M, T, /*isConst=*/true, GlobalVariable::InternalLinkage, C,
+ Twine(DAG.getDataLayout().getPrivateGlobalPrefix()) + "CP" +
+ Twine(DAG.getMachineFunction().getFunctionNumber()) + "_" +
+ Twine(AFI->createPICLabelUId())
+ );
+ SDValue GA = DAG.getTargetGlobalAddress(dyn_cast<GlobalValue>(GV),
+ dl, PtrVT);
+ return LowerGlobalAddress(GA, DAG);
+ }
+
if (CP->isMachineConstantPoolEntry())
Res = DAG.getTargetConstantPool(CP->getMachineCPVal(), PtrVT,
CP->getAlignment());
@@ -3118,6 +3141,19 @@ static bool isReadOnly(const GlobalValue *GV) {
isa<Function>(GV);
}
+SDValue ARMTargetLowering::LowerGlobalAddress(SDValue Op,
+ SelectionDAG &DAG) const {
+ switch (Subtarget->getTargetTriple().getObjectFormat()) {
+ default: llvm_unreachable("unknown object format");
+ case Triple::COFF:
+ return LowerGlobalAddressWindows(Op, DAG);
+ case Triple::ELF:
+ return LowerGlobalAddressELF(Op, DAG);
+ case Triple::MachO:
+ return LowerGlobalAddressDarwin(Op, DAG);
+ }
+}
+
SDValue ARMTargetLowering::LowerGlobalAddressELF(SDValue Op,
SelectionDAG &DAG) const {
EVT PtrVT = getPointerTy(DAG.getDataLayout());
@@ -7634,21 +7670,9 @@ SDValue ARMTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
switch (Op.getOpcode()) {
default: llvm_unreachable("Don't know how to custom lower this!");
case ISD::WRITE_REGISTER: return LowerWRITE_REGISTER(Op, DAG);
- case ISD::ConstantPool:
- if (Subtarget->genExecuteOnly())
- llvm_unreachable("execute-only should not generate constant pools");
- return LowerConstantPool(Op, DAG);
+ case ISD::ConstantPool: return LowerConstantPool(Op, DAG);
case ISD::BlockAddress: return LowerBlockAddress(Op, DAG);
- case ISD::GlobalAddress:
- switch (Subtarget->getTargetTriple().getObjectFormat()) {
- default: llvm_unreachable("unknown object format");
- case Triple::COFF:
- return LowerGlobalAddressWindows(Op, DAG);
- case Triple::ELF:
- return LowerGlobalAddressELF(Op, DAG);
- case Triple::MachO:
- return LowerGlobalAddressDarwin(Op, DAG);
- }
+ case ISD::GlobalAddress: return LowerGlobalAddress(Op, DAG);
case ISD::GlobalTLSAddress: return LowerGlobalTLSAddress(Op, DAG);
case ISD::SELECT: return LowerSELECT(Op, DAG);
case ISD::SELECT_CC: return LowerSELECT_CC(Op, DAG);
diff --git a/lib/Target/ARM/ARMISelLowering.h b/lib/Target/ARM/ARMISelLowering.h
index 26da528c19e6..5044134f5b1e 100644
--- a/lib/Target/ARM/ARMISelLowering.h
+++ b/lib/Target/ARM/ARMISelLowering.h
@@ -601,6 +601,8 @@ class InstrItineraryData;
SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG,
const ARMSubtarget *Subtarget) const;
SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
+ SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
+ SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
SDValue LowerGlobalAddressDarwin(SDValue Op, SelectionDAG &DAG) const;
SDValue LowerGlobalAddressELF(SDValue Op, SelectionDAG &DAG) const;
SDValue LowerGlobalAddressWindows(SDValue Op, SelectionDAG &DAG) const;
diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td
index 45471a4e95b3..53db5acbe805 100644
--- a/lib/Target/ARM/ARMInstrThumb2.td
+++ b/lib/Target/ARM/ARMInstrThumb2.td
@@ -4756,6 +4756,16 @@ def t2MOVsr: t2AsmPseudo<"mov${p} $Rd, $shift",
def t2MOVSsr: t2AsmPseudo<"movs${p} $Rd, $shift",
(ins rGPR:$Rd, so_reg_reg:$shift, pred:$p)>;
+// Aliases for the above with the .w qualifier
+def : t2InstAlias<"mov${p}.w $Rd, $shift",
+ (t2MOVsi rGPR:$Rd, t2_so_reg:$shift, pred:$p)>;
+def : t2InstAlias<"movs${p}.w $Rd, $shift",
+ (t2MOVSsi rGPR:$Rd, t2_so_reg:$shift, pred:$p)>;
+def : t2InstAlias<"mov${p}.w $Rd, $shift",
+ (t2MOVsr rGPR:$Rd, so_reg_reg:$shift, pred:$p)>;
+def : t2InstAlias<"movs${p}.w $Rd, $shift",
+ (t2MOVSsr rGPR:$Rd, so_reg_reg:$shift, pred:$p)>;
+
// ADR w/o the .w suffix
def : t2InstAlias<"adr${p} $Rd, $addr",
(t2ADR rGPR:$Rd, t2adrlabel:$addr, pred:$p)>;
diff --git a/lib/Target/ARM/ARMInstructionSelector.cpp b/lib/Target/ARM/ARMInstructionSelector.cpp
index 2ae3bad4076b..4cb0eca5ee5f 100644
--- a/lib/Target/ARM/ARMInstructionSelector.cpp
+++ b/lib/Target/ARM/ARMInstructionSelector.cpp
@@ -42,6 +42,10 @@ public:
private:
bool selectImpl(MachineInstr &I) const;
+ bool selectICmp(MachineInstrBuilder &MIB, const ARMBaseInstrInfo &TII,
+ MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI,
+ const RegisterBankInfo &RBI) const;
+
const ARMBaseInstrInfo &TII;
const ARMBaseRegisterInfo &TRI;
const ARMBaseTargetMachine &TM;
@@ -243,6 +247,105 @@ static unsigned selectLoadStoreOpCode(unsigned Opc, unsigned RegBank,
return Opc;
}
+static ARMCC::CondCodes getComparePred(CmpInst::Predicate Pred) {
+ switch (Pred) {
+ // Needs two compares...
+ case CmpInst::FCMP_ONE:
+ case CmpInst::FCMP_UEQ:
+ default:
+ // AL is our "false" for now. The other two need more compares.
+ return ARMCC::AL;
+ case CmpInst::ICMP_EQ:
+ case CmpInst::FCMP_OEQ:
+ return ARMCC::EQ;
+ case CmpInst::ICMP_SGT:
+ case CmpInst::FCMP_OGT:
+ return ARMCC::GT;
+ case CmpInst::ICMP_SGE:
+ case CmpInst::FCMP_OGE:
+ return ARMCC::GE;
+ case CmpInst::ICMP_UGT:
+ case CmpInst::FCMP_UGT:
+ return ARMCC::HI;
+ case CmpInst::FCMP_OLT:
+ return ARMCC::MI;
+ case CmpInst::ICMP_ULE:
+ case CmpInst::FCMP_OLE:
+ return ARMCC::LS;
+ case CmpInst::FCMP_ORD:
+ return ARMCC::VC;
+ case CmpInst::FCMP_UNO:
+ return ARMCC::VS;
+ case CmpInst::FCMP_UGE:
+ return ARMCC::PL;
+ case CmpInst::ICMP_SLT:
+ case CmpInst::FCMP_ULT:
+ return ARMCC::LT;
+ case CmpInst::ICMP_SLE:
+ case CmpInst::FCMP_ULE:
+ return ARMCC::LE;
+ case CmpInst::FCMP_UNE:
+ case CmpInst::ICMP_NE:
+ return ARMCC::NE;
+ case CmpInst::ICMP_UGE:
+ return ARMCC::HS;
+ case CmpInst::ICMP_ULT:
+ return ARMCC::LO;
+ }
+}
+
+bool ARMInstructionSelector::selectICmp(MachineInstrBuilder &MIB,
+ const ARMBaseInstrInfo &TII,
+ MachineRegisterInfo &MRI,
+ const TargetRegisterInfo &TRI,
+ const RegisterBankInfo &RBI) const {
+ auto &MBB = *MIB->getParent();
+ auto InsertBefore = std::next(MIB->getIterator());
+ auto &DebugLoc = MIB->getDebugLoc();
+
+ // Move 0 into the result register.
+ auto Mov0I = BuildMI(MBB, InsertBefore, DebugLoc, TII.get(ARM::MOVi))
+ .addDef(MRI.createVirtualRegister(&ARM::GPRRegClass))
+ .addImm(0)
+ .add(predOps(ARMCC::AL))
+ .add(condCodeOp());
+ if (!constrainSelectedInstRegOperands(*Mov0I, TII, TRI, RBI))
+ return false;
+
+ // Perform the comparison.
+ auto LHSReg = MIB->getOperand(2).getReg();
+ auto RHSReg = MIB->getOperand(3).getReg();
+ assert(MRI.getType(LHSReg) == MRI.getType(RHSReg) &&
+ MRI.getType(LHSReg).getSizeInBits() == 32 &&
+ MRI.getType(RHSReg).getSizeInBits() == 32 &&
+ "Unsupported types for comparison operation");
+ auto CmpI = BuildMI(MBB, InsertBefore, DebugLoc, TII.get(ARM::CMPrr))
+ .addUse(LHSReg)
+ .addUse(RHSReg)
+ .add(predOps(ARMCC::AL));
+ if (!constrainSelectedInstRegOperands(*CmpI, TII, TRI, RBI))
+ return false;
+
+ // Move 1 into the result register if the flags say so.
+ auto ResReg = MIB->getOperand(0).getReg();
+ auto Cond =
+ static_cast<CmpInst::Predicate>(MIB->getOperand(1).getPredicate());
+ auto ARMCond = getComparePred(Cond);
+ if (ARMCond == ARMCC::AL)
+ return false;
+
+ auto Mov1I = BuildMI(MBB, InsertBefore, DebugLoc, TII.get(ARM::MOVCCi))
+ .addDef(ResReg)
+ .addUse(Mov0I->getOperand(0).getReg())
+ .addImm(1)
+ .add(predOps(ARMCond, ARM::CPSR));
+ if (!constrainSelectedInstRegOperands(*Mov1I, TII, TRI, RBI))
+ return false;
+
+ MIB->eraseFromParent();
+ return true;
+}
+
bool ARMInstructionSelector::select(MachineInstr &I) const {
assert(I.getParent() && "Instruction should be in a basic block!");
assert(I.getParent()->getParent() && "Instruction should be in a function!");
@@ -343,6 +446,8 @@ bool ARMInstructionSelector::select(MachineInstr &I) const {
I.setDesc(TII.get(COPY));
return selectCopy(I, TII, MRI, TRI, RBI);
}
+ case G_ICMP:
+ return selectICmp(MIB, TII, MRI, TRI, RBI);
case G_GEP:
I.setDesc(TII.get(ARM::ADDrr));
MIB.add(predOps(ARMCC::AL)).add(condCodeOp());
diff --git a/lib/Target/ARM/ARMLegalizerInfo.cpp b/lib/Target/ARM/ARMLegalizerInfo.cpp
index a706079d9866..5873c7fb3872 100644
--- a/lib/Target/ARM/ARMLegalizerInfo.cpp
+++ b/lib/Target/ARM/ARMLegalizerInfo.cpp
@@ -86,6 +86,12 @@ ARMLegalizerInfo::ARMLegalizerInfo(const ARMSubtarget &ST) {
setAction({G_CONSTANT, s32}, Legal);
+ setAction({G_ICMP, s1}, Legal);
+ for (auto Ty : {s8, s16})
+ setAction({G_ICMP, 1, Ty}, WidenScalar);
+ for (auto Ty : {s32, p0})
+ setAction({G_ICMP, 1, Ty}, Legal);
+
if (!ST.useSoftFloat() && ST.hasVFP2()) {
setAction({G_FADD, s32}, Legal);
setAction({G_FADD, s64}, Legal);
diff --git a/lib/Target/ARM/ARMMacroFusion.cpp b/lib/Target/ARM/ARMMacroFusion.cpp
new file mode 100644
index 000000000000..1b6e97c28d45
--- /dev/null
+++ b/lib/Target/ARM/ARMMacroFusion.cpp
@@ -0,0 +1,57 @@
+//===- ARMMacroFusion.cpp - ARM Macro Fusion ----------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+/// \file This file contains the ARM implementation of the DAG scheduling
+/// mutation to pair instructions back to back.
+//
+//===----------------------------------------------------------------------===//
+
+#include "ARMMacroFusion.h"
+#include "ARMSubtarget.h"
+#include "llvm/CodeGen/MacroFusion.h"
+#include "llvm/Target/TargetInstrInfo.h"
+
+namespace llvm {
+
+/// \brief Check if the instr pair, FirstMI and SecondMI, should be fused
+/// together. Given SecondMI, when FirstMI is unspecified, then check if
+/// SecondMI may be part of a fused pair at all.
+static bool shouldScheduleAdjacent(const TargetInstrInfo &TII,
+ const TargetSubtargetInfo &TSI,
+ const MachineInstr *FirstMI,
+ const MachineInstr &SecondMI) {
+ const ARMSubtarget &ST = static_cast<const ARMSubtarget&>(TSI);
+
+ // Assume wildcards for unspecified instrs.
+ unsigned FirstOpcode =
+ FirstMI ? FirstMI->getOpcode()
+ : static_cast<unsigned>(ARM::INSTRUCTION_LIST_END);
+ unsigned SecondOpcode = SecondMI.getOpcode();
+
+ if (ST.hasFuseAES())
+ // Fuse AES crypto operations.
+ switch(SecondOpcode) {
+ // AES encode.
+ case ARM::AESMC :
+ return FirstOpcode == ARM::AESE ||
+ FirstOpcode == ARM::INSTRUCTION_LIST_END;
+ // AES decode.
+ case ARM::AESIMC:
+ return FirstOpcode == ARM::AESD ||
+ FirstOpcode == ARM::INSTRUCTION_LIST_END;
+ }
+
+ return false;
+}
+
+std::unique_ptr<ScheduleDAGMutation> createARMMacroFusionDAGMutation () {
+ return createMacroFusionDAGMutation(shouldScheduleAdjacent);
+}
+
+} // end namespace llvm
diff --git a/lib/Target/ARM/ARMMacroFusion.h b/lib/Target/ARM/ARMMacroFusion.h
new file mode 100644
index 000000000000..1e4fc6687eae
--- /dev/null
+++ b/lib/Target/ARM/ARMMacroFusion.h
@@ -0,0 +1,24 @@
+//===- ARMMacroFusion.h - ARM Macro Fusion ------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+/// \file This file contains the ARM definition of the DAG scheduling mutation
+/// to pair instructions back to back.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/CodeGen/MachineScheduler.h"
+
+namespace llvm {
+
+/// Note that you have to add:
+/// DAG.addMutation(createARMMacroFusionDAGMutation());
+/// to ARMPassConfig::createMachineScheduler() to have an effect.
+std::unique_ptr<ScheduleDAGMutation> createARMMacroFusionDAGMutation();
+
+} // llvm
diff --git a/lib/Target/ARM/ARMRegisterBankInfo.cpp b/lib/Target/ARM/ARMRegisterBankInfo.cpp
index f59b075e6dd9..2350d0c6ef69 100644
--- a/lib/Target/ARM/ARMRegisterBankInfo.cpp
+++ b/lib/Target/ARM/ARMRegisterBankInfo.cpp
@@ -255,6 +255,16 @@ ARMRegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
OperandsMapping =
getOperandsMapping({&ARM::ValueMappings[ARM::GPR3OpsIdx], nullptr});
break;
+ case G_ICMP: {
+ LLT Ty2 = MRI.getType(MI.getOperand(2).getReg());
+ (void)Ty2;
+ assert(Ty2.getSizeInBits() == 32 && "Unsupported size for G_ICMP");
+ OperandsMapping =
+ getOperandsMapping({&ARM::ValueMappings[ARM::GPR3OpsIdx], nullptr,
+ &ARM::ValueMappings[ARM::GPR3OpsIdx],
+ &ARM::ValueMappings[ARM::GPR3OpsIdx]});
+ break;
+ }
case G_MERGE_VALUES: {
// We only support G_MERGE_VALUES for creating a double precision floating
// point value out of two GPRs.
diff --git a/lib/Target/ARM/ARMSubtarget.h b/lib/Target/ARM/ARMSubtarget.h
index af682dd8321c..d890d0fa777e 100644
--- a/lib/Target/ARM/ARMSubtarget.h
+++ b/lib/Target/ARM/ARMSubtarget.h
@@ -285,6 +285,10 @@ protected:
/// HasFPAO - if true, processor does positive address offset computation faster
bool HasFPAO = false;
+ /// HasFuseAES - if true, processor executes back to back AES instruction
+ /// pairs faster.
+ bool HasFuseAES = false;
+
/// If true, if conversion may decide to leave some instructions unpredicated.
bool IsProfitableToUnpredicate = false;
@@ -561,6 +565,10 @@ public:
bool hasD16() const { return HasD16; }
bool hasFullFP16() const { return HasFullFP16; }
+ bool hasFuseAES() const { return HasFuseAES; }
+ /// \brief Return true if the CPU supports any kind of instruction fusion.
+ bool hasFusion() const { return hasFuseAES(); }
+
const Triple &getTargetTriple() const { return TargetTriple; }
bool isTargetDarwin() const { return TargetTriple.isOSDarwin(); }
diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp
index c0506cfda612..eb71e557ec91 100644
--- a/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/lib/Target/ARM/ARMTargetMachine.cpp
@@ -17,6 +17,7 @@
#include "ARMRegisterBankInfo.h"
#endif
#include "ARMSubtarget.h"
+#include "ARMMacroFusion.h"
#include "ARMTargetMachine.h"
#include "ARMTargetObjectFile.h"
#include "ARMTargetTransformInfo.h"
@@ -394,6 +395,9 @@ public:
createMachineScheduler(MachineSchedContext *C) const override {
ScheduleDAGMILive *DAG = createGenericSchedLive(C);
// add DAG Mutations here.
+ const ARMSubtarget &ST = C->MF->getSubtarget<ARMSubtarget>();
+ if (ST.hasFusion())
+ DAG->addMutation(createARMMacroFusionDAGMutation());
return DAG;
}
@@ -401,6 +405,9 @@ public:
createPostMachineScheduler(MachineSchedContext *C) const override {
ScheduleDAGMI *DAG = createGenericSchedPostRA(C);
// add DAG Mutations here.
+ const ARMSubtarget &ST = C->MF->getSubtarget<ARMSubtarget>();
+ if (ST.hasFusion())
+ DAG->addMutation(createARMMacroFusionDAGMutation());
return DAG;
}
diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
index 19fba3033bb2..891b5c60e1fd 100644
--- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
@@ -6860,6 +6860,17 @@ static unsigned getRealVLDOpcode(unsigned Opc, unsigned &Spacing) {
bool ARMAsmParser::processInstruction(MCInst &Inst,
const OperandVector &Operands,
MCStreamer &Out) {
+ // Check if we have the wide qualifier, because if it's present we
+ // must avoid selecting a 16-bit thumb instruction.
+ bool HasWideQualifier = false;
+ for (auto &Op : Operands) {
+ ARMOperand &ARMOp = static_cast<ARMOperand&>(*Op);
+ if (ARMOp.isToken() && ARMOp.getToken() == ".w") {
+ HasWideQualifier = true;
+ break;
+ }
+ }
+
switch (Inst.getOpcode()) {
// Alias for alternate form of 'ldr{,b}t Rt, [Rn], #imm' instruction.
case ARM::LDRT_POST:
@@ -6939,8 +6950,7 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
// Select the narrow version if the immediate will fit.
if (Inst.getOperand(1).getImm() > 0 &&
Inst.getOperand(1).getImm() <= 0xff &&
- !(static_cast<ARMOperand &>(*Operands[2]).isToken() &&
- static_cast<ARMOperand &>(*Operands[2]).getToken() == ".w"))
+ !HasWideQualifier)
Inst.setOpcode(ARM::tLDRpci);
else
Inst.setOpcode(ARM::t2LDRpci);
@@ -6971,10 +6981,9 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
else if (Inst.getOpcode() == ARM::t2LDRConstPool)
TmpInst.setOpcode(ARM::t2LDRpci);
const ARMOperand &PoolOperand =
- (static_cast<ARMOperand &>(*Operands[2]).isToken() &&
- static_cast<ARMOperand &>(*Operands[2]).getToken() == ".w") ?
- static_cast<ARMOperand &>(*Operands[4]) :
- static_cast<ARMOperand &>(*Operands[3]);
+ (HasWideQualifier ?
+ static_cast<ARMOperand &>(*Operands[4]) :
+ static_cast<ARMOperand &>(*Operands[3]));
const MCExpr *SubExprVal = PoolOperand.getConstantPoolImm();
// If SubExprVal is a constant we may be able to use a MOV
if (isa<MCConstantExpr>(SubExprVal) &&
@@ -8117,8 +8126,7 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
if (isARMLowRegister(Inst.getOperand(0).getReg()) &&
isARMLowRegister(Inst.getOperand(1).getReg()) &&
Inst.getOperand(5).getReg() == (inITBlock() ? 0 : ARM::CPSR) &&
- !(static_cast<ARMOperand &>(*Operands[3]).isToken() &&
- static_cast<ARMOperand &>(*Operands[3]).getToken() == ".w")) {
+ !HasWideQualifier) {
unsigned NewOpc;
switch (Inst.getOpcode()) {
default: llvm_unreachable("unexpected opcode");
@@ -8152,7 +8160,8 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
isARMLowRegister(Inst.getOperand(1).getReg()) &&
isARMLowRegister(Inst.getOperand(2).getReg()) &&
Inst.getOperand(0).getReg() == Inst.getOperand(1).getReg() &&
- inITBlock() == (Inst.getOpcode() == ARM::t2MOVsr))
+ inITBlock() == (Inst.getOpcode() == ARM::t2MOVsr) &&
+ !HasWideQualifier)
isNarrow = true;
MCInst TmpInst;
unsigned newOpc;
@@ -8186,7 +8195,8 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
bool isNarrow = false;
if (isARMLowRegister(Inst.getOperand(0).getReg()) &&
isARMLowRegister(Inst.getOperand(1).getReg()) &&
- inITBlock() == (Inst.getOpcode() == ARM::t2MOVsi))
+ inITBlock() == (Inst.getOpcode() == ARM::t2MOVsi) &&
+ !HasWideQualifier)
isNarrow = true;
MCInst TmpInst;
unsigned newOpc;
@@ -8415,10 +8425,8 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
!isARMLowRegister(Inst.getOperand(0).getReg()) ||
(Inst.getOperand(2).isImm() &&
(unsigned)Inst.getOperand(2).getImm() > 255) ||
- ((!inITBlock() && Inst.getOperand(5).getReg() != ARM::CPSR) ||
- (inITBlock() && Inst.getOperand(5).getReg() != 0)) ||
- (static_cast<ARMOperand &>(*Operands[3]).isToken() &&
- static_cast<ARMOperand &>(*Operands[3]).getToken() == ".w"))
+ Inst.getOperand(5).getReg() != (inITBlock() ? 0 : ARM::CPSR) ||
+ HasWideQualifier)
break;
MCInst TmpInst;
TmpInst.setOpcode(Inst.getOpcode() == ARM::t2ADDri ?
@@ -8447,8 +8455,7 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
}
if (!Transform ||
Inst.getOperand(5).getReg() != 0 ||
- (static_cast<ARMOperand &>(*Operands[3]).isToken() &&
- static_cast<ARMOperand &>(*Operands[3]).getToken() == ".w"))
+ HasWideQualifier)
break;
MCInst TmpInst;
TmpInst.setOpcode(ARM::tADDhirr);
@@ -8568,11 +8575,8 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
if (isARMLowRegister(Inst.getOperand(0).getReg()) &&
(Inst.getOperand(1).isImm() &&
(unsigned)Inst.getOperand(1).getImm() <= 255) &&
- ((!inITBlock() && Inst.getOperand(2).getImm() == ARMCC::AL &&
- Inst.getOperand(4).getReg() == ARM::CPSR) ||
- (inITBlock() && Inst.getOperand(4).getReg() == 0)) &&
- (!static_cast<ARMOperand &>(*Operands[2]).isToken() ||
- static_cast<ARMOperand &>(*Operands[2]).getToken() != ".w")) {
+ Inst.getOperand(4).getReg() == (inITBlock() ? 0 : ARM::CPSR) &&
+ !HasWideQualifier) {
// The operands aren't in the same order for tMOVi8...
MCInst TmpInst;
TmpInst.setOpcode(ARM::tMOVi8);
@@ -8593,8 +8597,7 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
isARMLowRegister(Inst.getOperand(1).getReg()) &&
Inst.getOperand(2).getImm() == ARMCC::AL &&
Inst.getOperand(4).getReg() == ARM::CPSR &&
- (!static_cast<ARMOperand &>(*Operands[2]).isToken() ||
- static_cast<ARMOperand &>(*Operands[2]).getToken() != ".w")) {
+ !HasWideQualifier) {
// The operands aren't the same for tMOV[S]r... (no cc_out)
MCInst TmpInst;
TmpInst.setOpcode(Inst.getOperand(4).getReg() ? ARM::tMOVSr : ARM::tMOVr);
@@ -8616,8 +8619,7 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
if (isARMLowRegister(Inst.getOperand(0).getReg()) &&
isARMLowRegister(Inst.getOperand(1).getReg()) &&
Inst.getOperand(2).getImm() == 0 &&
- (!static_cast<ARMOperand &>(*Operands[2]).isToken() ||
- static_cast<ARMOperand &>(*Operands[2]).getToken() != ".w")) {
+ !HasWideQualifier) {
unsigned NewOpc;
switch (Inst.getOpcode()) {
default: llvm_unreachable("Illegal opcode!");
@@ -8716,11 +8718,8 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
if ((isARMLowRegister(Inst.getOperand(1).getReg()) &&
isARMLowRegister(Inst.getOperand(2).getReg())) &&
Inst.getOperand(0).getReg() == Inst.getOperand(1).getReg() &&
- ((!inITBlock() && Inst.getOperand(5).getReg() == ARM::CPSR) ||
- (inITBlock() && Inst.getOperand(5).getReg() != ARM::CPSR)) &&
- (!static_cast<ARMOperand &>(*Operands[3]).isToken() ||
- !static_cast<ARMOperand &>(*Operands[3]).getToken().equals_lower(
- ".w"))) {
+ Inst.getOperand(5).getReg() == (inITBlock() ? 0 : ARM::CPSR) &&
+ !HasWideQualifier) {
unsigned NewOpc;
switch (Inst.getOpcode()) {
default: llvm_unreachable("unexpected opcode");
@@ -8756,11 +8755,8 @@ bool ARMAsmParser::processInstruction(MCInst &Inst,
isARMLowRegister(Inst.getOperand(2).getReg())) &&
(Inst.getOperand(0).getReg() == Inst.getOperand(1).getReg() ||
Inst.getOperand(0).getReg() == Inst.getOperand(2).getReg()) &&
- ((!inITBlock() && Inst.getOperand(5).getReg() == ARM::CPSR) ||
- (inITBlock() && Inst.getOperand(5).getReg() != ARM::CPSR)) &&
- (!static_cast<ARMOperand &>(*Operands[3]).isToken() ||
- !static_cast<ARMOperand &>(*Operands[3]).getToken().equals_lower(
- ".w"))) {
+ Inst.getOperand(5).getReg() == (inITBlock() ? 0 : ARM::CPSR) &&
+ !HasWideQualifier) {
unsigned NewOpc;
switch (Inst.getOpcode()) {
default: llvm_unreachable("unexpected opcode");
diff --git a/lib/Target/ARM/CMakeLists.txt b/lib/Target/ARM/CMakeLists.txt
index 3cde43967568..cf6827fd6ca1 100644
--- a/lib/Target/ARM/CMakeLists.txt
+++ b/lib/Target/ARM/CMakeLists.txt
@@ -49,6 +49,7 @@ add_llvm_target(ARMCodeGen
ARMLoadStoreOptimizer.cpp
ARMMCInstLower.cpp
ARMMachineFunctionInfo.cpp
+ ARMMacroFusion.cpp
ARMRegisterInfo.cpp
ARMOptimizeBarriersPass.cpp
ARMSelectionDAGInfo.cpp
diff --git a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
index 716492ea2566..81760f03940a 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
+++ b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
@@ -358,11 +358,27 @@ static uint32_t joinHalfWords(uint32_t FirstHalf, uint32_t SecondHalf,
return Value;
}
-unsigned ARMAsmBackend::adjustFixupValue(const MCFixup &Fixup, uint64_t Value,
+unsigned ARMAsmBackend::adjustFixupValue(const MCAssembler &Asm,
+ const MCFixup &Fixup,
+ const MCValue &Target, uint64_t Value,
bool IsPCRel, MCContext &Ctx,
bool IsLittleEndian,
bool IsResolved) const {
unsigned Kind = Fixup.getKind();
+
+ // MachO tries to make .o files that look vaguely pre-linked, so for MOVW/MOVT
+ // and .word relocations they put the Thumb bit into the addend if possible.
+ // Other relocation types don't want this bit though (branches couldn't encode
+ // it if it *was* present, and no other relocations exist) and it can
+ // interfere with checking valid expressions.
+ if (const MCSymbolRefExpr *A = Target.getSymA()) {
+ if (A->hasSubsectionsViaSymbols() && Asm.isThumbFunc(&A->getSymbol()) &&
+ (Kind == FK_Data_4 || Kind == ARM::fixup_arm_movw_lo16 ||
+ Kind == ARM::fixup_arm_movt_hi16 || Kind == ARM::fixup_t2_movw_lo16 ||
+ Kind == ARM::fixup_t2_movt_hi16))
+ Value |= 1;
+ }
+
switch (Kind) {
default:
Ctx.reportError(Fixup.getLoc(), "bad relocation fixup type");
@@ -505,6 +521,13 @@ unsigned ARMAsmBackend::adjustFixupValue(const MCFixup &Fixup, uint64_t Value,
return swapHalfWords(out, IsLittleEndian);
}
case ARM::fixup_arm_thumb_bl: {
+ // FIXME: We get both thumb1 and thumb2 in here, so we can only check for
+ // the less strict thumb2 value.
+ if (!isInt<26>(Value - 4)) {
+ Ctx.reportError(Fixup.getLoc(), "Relocation out of range");
+ return 0;
+ }
+
// The value doesn't encode the low bit (always zero) and is offset by
// four. The 32-bit immediate value is encoded as
// imm32 = SignExtend(S:I1:I2:imm10:imm11:0)
@@ -716,29 +739,11 @@ unsigned ARMAsmBackend::adjustFixupValue(const MCFixup &Fixup, uint64_t Value,
}
void ARMAsmBackend::processFixupValue(const MCAssembler &Asm,
- const MCAsmLayout &Layout,
const MCFixup &Fixup,
- const MCFragment *DF,
- const MCValue &Target, uint64_t &Value,
- bool &IsResolved) {
+ const MCValue &Target, bool &IsResolved) {
const MCSymbolRefExpr *A = Target.getSymA();
const MCSymbol *Sym = A ? &A->getSymbol() : nullptr;
const unsigned FixupKind = Fixup.getKind() ;
- // MachO (the only user of "Value") tries to make .o files that look vaguely
- // pre-linked, so for MOVW/MOVT and .word relocations they put the Thumb bit
- // into the addend if possible. Other relocation types don't want this bit
- // though (branches couldn't encode it if it *was* present, and no other
- // relocations exist) and it can interfere with checking valid expressions.
- if (FixupKind == FK_Data_4 ||
- FixupKind == ARM::fixup_arm_movw_lo16 ||
- FixupKind == ARM::fixup_arm_movt_hi16 ||
- FixupKind == ARM::fixup_t2_movw_lo16 ||
- FixupKind == ARM::fixup_t2_movt_hi16) {
- if (Sym) {
- if (Asm.isThumbFunc(Sym))
- Value |= 1;
- }
- }
if (IsResolved && (unsigned)Fixup.getKind() == ARM::fixup_arm_thumb_bl) {
assert(Sym && "How did we resolve this?");
@@ -747,7 +752,7 @@ void ARMAsmBackend::processFixupValue(const MCAssembler &Asm,
// If the symbol is out of range, produce a relocation and hope the
// linker can handle it. GNU AS produces an error in this case.
- if (Sym->isExternal() || Value >= 0x400004)
+ if (Sym->isExternal())
IsResolved = false;
}
// Create relocations for unconditional branches to function symbols with
@@ -759,6 +764,7 @@ void ARMAsmBackend::processFixupValue(const MCAssembler &Asm,
IsResolved = false;
if (!Asm.isThumbFunc(Sym) && (FixupKind == ARM::fixup_arm_thumb_br ||
FixupKind == ARM::fixup_arm_thumb_bl ||
+ FixupKind == ARM::fixup_t2_condbranch ||
FixupKind == ARM::fixup_t2_uncondbranch))
IsResolved = false;
}
@@ -875,22 +881,25 @@ static unsigned getFixupKindContainerSizeBytes(unsigned Kind) {
}
}
-void ARMAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned DataSize, uint64_t Value, bool IsPCRel,
- MCContext &Ctx) const {
+void ARMAsmBackend::applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data, uint64_t Value,
+ bool IsPCRel) const {
unsigned NumBytes = getFixupKindNumBytes(Fixup.getKind());
- Value = adjustFixupValue(Fixup, Value, IsPCRel, Ctx, IsLittleEndian, true);
+ MCContext &Ctx = Asm.getContext();
+ Value = adjustFixupValue(Asm, Fixup, Target, Value, IsPCRel, Ctx,
+ IsLittleEndian, true);
if (!Value)
return; // Doesn't change encoding.
unsigned Offset = Fixup.getOffset();
- assert(Offset + NumBytes <= DataSize && "Invalid fixup offset!");
+ assert(Offset + NumBytes <= Data.size() && "Invalid fixup offset!");
// Used to point to big endian bytes.
unsigned FullSizeBytes;
if (!IsLittleEndian) {
FullSizeBytes = getFixupKindContainerSizeBytes(Fixup.getKind());
- assert((Offset + FullSizeBytes) <= DataSize && "Invalid fixup size!");
+ assert((Offset + FullSizeBytes) <= Data.size() && "Invalid fixup size!");
assert(NumBytes <= FullSizeBytes && "Invalid fixup size!");
}
diff --git a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
index 2ddedb5d6105..6a0ba2ed41c1 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
+++ b/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
@@ -40,17 +40,17 @@ public:
/// processFixupValue - Target hook to process the literal value of a fixup
/// if necessary.
- void processFixupValue(const MCAssembler &Asm, const MCAsmLayout &Layout,
- const MCFixup &Fixup, const MCFragment *DF,
- const MCValue &Target, uint64_t &Value,
- bool &IsResolved) override;
+ void processFixupValue(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, bool &IsResolved) override;
- unsigned adjustFixupValue(const MCFixup &Fixup, uint64_t Value, bool IsPCRel,
+ unsigned adjustFixupValue(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, uint64_t Value, bool IsPCRel,
MCContext &Ctx, bool IsLittleEndian,
bool IsResolved) const;
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
unsigned getRelaxedOpcode(unsigned Op) const;
diff --git a/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp b/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
index 00505a103e00..f74fb2e20b5a 100644
--- a/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
+++ b/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
@@ -33,8 +33,8 @@ public:
~ARMWinCOFFObjectWriter() override = default;
- unsigned getRelocType(const MCValue &Target, const MCFixup &Fixup,
- bool IsCrossSection,
+ unsigned getRelocType(MCContext &Ctx, const MCValue &Target,
+ const MCFixup &Fixup, bool IsCrossSection,
const MCAsmBackend &MAB) const override;
bool recordRelocation(const MCFixup &) const override;
@@ -42,7 +42,8 @@ public:
} // end anonymous namespace
-unsigned ARMWinCOFFObjectWriter::getRelocType(const MCValue &Target,
+unsigned ARMWinCOFFObjectWriter::getRelocType(MCContext &Ctx,
+ const MCValue &Target,
const MCFixup &Fixup,
bool IsCrossSection,
const MCAsmBackend &MAB) const {
diff --git a/lib/Target/BPF/BPFISelDAGToDAG.cpp b/lib/Target/BPF/BPFISelDAGToDAG.cpp
index 7d5fb6ca17b9..c6ddd6bdad5e 100644
--- a/lib/Target/BPF/BPFISelDAGToDAG.cpp
+++ b/lib/Target/BPF/BPFISelDAGToDAG.cpp
@@ -214,7 +214,12 @@ void BPFDAGToDAGISel::PreprocessISelDAG() {
if (Opcode != ISD::LOAD)
continue;
- unsigned char new_val[8]; // hold up the constant values replacing loads.
+ union {
+ uint8_t c[8];
+ uint16_t s;
+ uint32_t i;
+ uint64_t d;
+ } new_val; // hold up the constant values replacing loads.
bool to_replace = false;
SDLoc DL(Node);
const LoadSDNode *LD = cast<LoadSDNode>(Node);
@@ -242,7 +247,7 @@ void BPFDAGToDAGISel::PreprocessISelDAG() {
const ConstantSDNode *CDN = dyn_cast<ConstantSDNode>(OP2.getNode());
if (GADN && CDN)
to_replace =
- getConstantFieldValue(GADN, CDN->getZExtValue(), size, new_val);
+ getConstantFieldValue(GADN, CDN->getZExtValue(), size, new_val.c);
} else if (LDAddrNode->getOpcode() > ISD::BUILTIN_OP_END &&
LDAddrNode->getNumOperands() > 0) {
DEBUG(dbgs() << "Check candidate load: "; LD->dump(); dbgs() << '\n');
@@ -250,7 +255,7 @@ void BPFDAGToDAGISel::PreprocessISelDAG() {
SDValue OP1 = LDAddrNode->getOperand(0);
if (const GlobalAddressSDNode *GADN =
dyn_cast<GlobalAddressSDNode>(OP1.getNode()))
- to_replace = getConstantFieldValue(GADN, 0, size, new_val);
+ to_replace = getConstantFieldValue(GADN, 0, size, new_val.c);
}
if (!to_replace)
@@ -259,13 +264,13 @@ void BPFDAGToDAGISel::PreprocessISelDAG() {
// replacing the old with a new value
uint64_t val;
if (size == 1)
- val = *(uint8_t *)new_val;
+ val = new_val.c[0];
else if (size == 2)
- val = *(uint16_t *)new_val;
+ val = new_val.s;
else if (size == 4)
- val = *(uint32_t *)new_val;
+ val = new_val.i;
else {
- val = *(uint64_t *)new_val;
+ val = new_val.d;
}
DEBUG(dbgs() << "Replacing load of size " << size << " with constant "
@@ -318,14 +323,17 @@ bool BPFDAGToDAGISel::getConstantFieldValue(const GlobalAddressSDNode *Node,
}
// test whether host endianness matches target
- uint8_t test_buf[2];
+ union {
+ uint8_t c[2];
+ uint16_t s;
+ } test_buf;
uint16_t test_val = 0x2345;
if (DL.isLittleEndian())
- support::endian::write16le(test_buf, test_val);
+ support::endian::write16le(test_buf.c, test_val);
else
- support::endian::write16be(test_buf, test_val);
+ support::endian::write16be(test_buf.c, test_val);
- bool endian_match = *(uint16_t *)test_buf == test_val;
+ bool endian_match = test_buf.s == test_val;
for (uint64_t i = Offset, j = 0; i < Offset + Size; i++, j++)
ByteSeq[j] = endian_match ? TmpVal[i] : TmpVal[Offset + Size - 1 - j];
diff --git a/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp b/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
index 80357a63a4e1..15e89fb2a261 100644
--- a/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
+++ b/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
@@ -27,8 +27,9 @@ public:
: MCAsmBackend(), IsLittleEndian(IsLittleEndian) {}
~BPFAsmBackend() override = default;
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const override;
@@ -61,9 +62,10 @@ bool BPFAsmBackend::writeNopData(uint64_t Count, MCObjectWriter *OW) const {
return true;
}
-void BPFAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned DataSize, uint64_t Value, bool IsPCRel,
- MCContext &Ctx) const {
+void BPFAsmBackend::applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data, uint64_t Value,
+ bool IsPCRel) const {
if (Fixup.getKind() == FK_SecRel_4 || Fixup.getKind() == FK_SecRel_8) {
assert(Value == 0);
} else if (Fixup.getKind() == FK_Data_4 || Fixup.getKind() == FK_Data_8) {
diff --git a/lib/Target/Hexagon/HexagonExpandCondsets.cpp b/lib/Target/Hexagon/HexagonExpandCondsets.cpp
index 9f8c9ded8127..734f3c6658d9 100644
--- a/lib/Target/Hexagon/HexagonExpandCondsets.cpp
+++ b/lib/Target/Hexagon/HexagonExpandCondsets.cpp
@@ -567,8 +567,19 @@ unsigned HexagonExpandCondsets::getCondTfrOpcode(const MachineOperand &SO,
}
llvm_unreachable("Invalid register operand");
}
- if (SO.isImm() || SO.isFPImm())
- return IfTrue ? C2_cmoveit : C2_cmoveif;
+ switch (SO.getType()) {
+ case MachineOperand::MO_Immediate:
+ case MachineOperand::MO_FPImmediate:
+ case MachineOperand::MO_ConstantPoolIndex:
+ case MachineOperand::MO_TargetIndex:
+ case MachineOperand::MO_JumpTableIndex:
+ case MachineOperand::MO_ExternalSymbol:
+ case MachineOperand::MO_GlobalAddress:
+ case MachineOperand::MO_BlockAddress:
+ return IfTrue ? C2_cmoveit : C2_cmoveif;
+ default:
+ break;
+ }
llvm_unreachable("Unexpected source operand");
}
diff --git a/lib/Target/Hexagon/HexagonFrameLowering.cpp b/lib/Target/Hexagon/HexagonFrameLowering.cpp
index 18e49c69b8e3..2b0ceaa66258 100644
--- a/lib/Target/Hexagon/HexagonFrameLowering.cpp
+++ b/lib/Target/Hexagon/HexagonFrameLowering.cpp
@@ -1051,10 +1051,26 @@ int HexagonFrameLowering::getFrameIndexReference(const MachineFunction &MF,
bool HasExtraAlign = HRI.needsStackRealignment(MF);
bool NoOpt = MF.getTarget().getOptLevel() == CodeGenOpt::None;
+ unsigned FrameSize = MFI.getStackSize();
unsigned SP = HRI.getStackRegister(), FP = HRI.getFrameRegister();
auto &HMFI = *MF.getInfo<HexagonMachineFunctionInfo>();
unsigned AP = HMFI.getStackAlignBasePhysReg();
- unsigned FrameSize = MFI.getStackSize();
+ // It may happen that AP will be absent even HasAlloca && HasExtraAlign
+ // is true. HasExtraAlign may be set because of vector spills, without
+ // aligned locals or aligned outgoing function arguments. Since vector
+ // spills will ultimately be "unaligned", it is safe to use FP as the
+ // base register.
+ // In fact, in such a scenario the stack is actually not required to be
+ // aligned, although it may end up being aligned anyway, since this
+ // particular case is not easily detectable. The alignment will be
+ // unnecessary, but not incorrect.
+ // Unfortunately there is no quick way to verify that the above is
+ // indeed the case (and that it's not a result of an error), so just
+ // assume that missing AP will be replaced by FP.
+ // (A better fix would be to rematerialize AP from FP and always align
+ // vector spills.)
+ if (AP == 0)
+ AP = FP;
bool UseFP = false, UseAP = false; // Default: use SP (except at -O0).
// Use FP at -O0, except when there are objects with extra alignment.
@@ -2454,9 +2470,44 @@ bool HexagonFrameLowering::mayOverflowFrameOffset(MachineFunction &MF) const {
unsigned StackSize = MF.getFrameInfo().estimateStackSize(MF);
auto &HST = MF.getSubtarget<HexagonSubtarget>();
// A fairly simplistic guess as to whether a potential load/store to a
- // stack location could require an extra register. It does not account
- // for store-immediate instructions.
- if (HST.useHVXOps())
- return StackSize > 256;
+ // stack location could require an extra register.
+ if (HST.useHVXOps() && StackSize > 256)
+ return true;
+
+ // Check if the function has store-immediate instructions that access
+ // the stack. Since the offset field is not extendable, if the stack
+ // size exceeds the offset limit (6 bits, shifted), the stores will
+ // require a new base register.
+ bool HasImmStack = false;
+ unsigned MinLS = ~0u; // Log_2 of the memory access size.
+
+ for (const MachineBasicBlock &B : MF) {
+ for (const MachineInstr &MI : B) {
+ unsigned LS = 0;
+ switch (MI.getOpcode()) {
+ case Hexagon::S4_storeirit_io:
+ case Hexagon::S4_storeirif_io:
+ case Hexagon::S4_storeiri_io:
+ ++LS;
+ LLVM_FALLTHROUGH;
+ case Hexagon::S4_storeirht_io:
+ case Hexagon::S4_storeirhf_io:
+ case Hexagon::S4_storeirh_io:
+ ++LS;
+ LLVM_FALLTHROUGH;
+ case Hexagon::S4_storeirbt_io:
+ case Hexagon::S4_storeirbf_io:
+ case Hexagon::S4_storeirb_io:
+ if (MI.getOperand(0).isFI())
+ HasImmStack = true;
+ MinLS = std::min(MinLS, LS);
+ break;
+ }
+ }
+ }
+
+ if (HasImmStack)
+ return !isUInt<6>(StackSize >> MinLS);
+
return false;
}
diff --git a/lib/Target/Hexagon/HexagonGenMux.cpp b/lib/Target/Hexagon/HexagonGenMux.cpp
index 11ac5454f604..5abbcbba72dd 100644
--- a/lib/Target/Hexagon/HexagonGenMux.cpp
+++ b/lib/Target/Hexagon/HexagonGenMux.cpp
@@ -28,6 +28,7 @@
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
+#include "llvm/CodeGen/LivePhysRegs.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
@@ -295,15 +296,12 @@ bool HexagonGenMux::genMuxInBlock(MachineBasicBlock &B) {
unsigned SR1 = Src1->isReg() ? Src1->getReg() : 0;
unsigned SR2 = Src2->isReg() ? Src2->getReg() : 0;
bool Failure = false, CanUp = true, CanDown = true;
- bool Used1 = false, Used2 = false;
for (unsigned X = MinX+1; X < MaxX; X++) {
const DefUseInfo &DU = DUM.lookup(X);
if (DU.Defs[PR] || DU.Defs[DR] || DU.Uses[DR]) {
Failure = true;
break;
}
- Used1 |= DU.Uses[SR1];
- Used2 |= DU.Uses[SR2];
if (CanDown && DU.Defs[SR1])
CanDown = false;
if (CanUp && DU.Defs[SR2])
@@ -317,64 +315,52 @@ bool HexagonGenMux::genMuxInBlock(MachineBasicBlock &B) {
// Prefer "down", since this will move the MUX farther away from the
// predicate definition.
MachineBasicBlock::iterator At = CanDown ? Def2 : Def1;
- if (CanDown) {
- // If the MUX is placed "down", we need to make sure that there aren't
- // any kills of the source registers between the two defs.
- if (Used1 || Used2) {
- auto ResetKill = [this] (unsigned Reg, MachineInstr &MI) -> bool {
- if (MachineOperand *Op = MI.findRegisterUseOperand(Reg, true, HRI)) {
- Op->setIsKill(false);
- return true;
- }
- return false;
- };
- bool KilledSR1 = false, KilledSR2 = false;
- for (MachineInstr &MJ : make_range(std::next(It1), It2)) {
- if (SR1)
- KilledSR1 |= ResetKill(SR1, MJ);
- if (SR2)
- KilledSR2 |= ResetKill(SR1, MJ);
- }
- // If any of the source registers were killed in this range, transfer
- // the kills to the source operands: they will me "moved" to the
- // resulting MUX and their parent instructions will be deleted.
- if (KilledSR1) {
- assert(Src1->isReg());
- Src1->setIsKill(true);
- }
- if (KilledSR2) {
- assert(Src2->isReg());
- Src2->setIsKill(true);
- }
- }
- } else {
- // If the MUX is placed "up", it shouldn't kill any source registers
- // that are still used afterwards. We can reset the kill flags directly
- // on the operands, because the source instructions will be erased.
- if (Used1 && Src1->isReg())
- Src1->setIsKill(false);
- if (Used2 && Src2->isReg())
- Src2->setIsKill(false);
- }
ML.push_back(MuxInfo(At, DR, PR, SrcT, SrcF, Def1, Def2));
}
- for (unsigned I = 0, N = ML.size(); I < N; ++I) {
- MuxInfo &MX = ML[I];
- MachineBasicBlock &B = *MX.At->getParent();
- DebugLoc DL = MX.At->getDebugLoc();
+ for (MuxInfo &MX : ML) {
unsigned MxOpc = getMuxOpcode(*MX.SrcT, *MX.SrcF);
if (!MxOpc)
continue;
- BuildMI(B, MX.At, DL, HII->get(MxOpc), MX.DefR)
- .addReg(MX.PredR)
- .add(*MX.SrcT)
- .add(*MX.SrcF);
+ MachineBasicBlock &B = *MX.At->getParent();
+ const DebugLoc &DL = B.findDebugLoc(MX.At);
+ auto NewMux = BuildMI(B, MX.At, DL, HII->get(MxOpc), MX.DefR)
+ .addReg(MX.PredR)
+ .add(*MX.SrcT)
+ .add(*MX.SrcF);
+ NewMux->clearKillInfo();
B.erase(MX.Def1);
B.erase(MX.Def2);
Changed = true;
}
+ // Fix up kill flags.
+
+ LivePhysRegs LPR(*HRI);
+ LPR.addLiveOuts(B);
+ auto IsLive = [&LPR,this] (unsigned Reg) -> bool {
+ for (MCSubRegIterator S(Reg, HRI, true); S.isValid(); ++S)
+ if (LPR.contains(*S))
+ return true;
+ return false;
+ };
+ for (auto I = B.rbegin(), E = B.rend(); I != E; ++I) {
+ if (I->isDebugValue())
+ continue;
+ // This isn't 100% accurate, but it's safe.
+ // It won't detect (as a kill) a case like this
+ // r0 = add r0, 1 <-- r0 should be "killed"
+ // ... = r0
+ for (MachineOperand &Op : I->operands()) {
+ if (!Op.isReg() || !Op.isUse())
+ continue;
+ assert(Op.getSubReg() == 0 && "Should have physical registers only");
+ bool Live = IsLive(Op.getReg());
+ Op.setIsKill(!Live);
+ }
+ LPR.stepBackward(*I);
+ }
+
return Changed;
}
diff --git a/lib/Target/Hexagon/HexagonInstrInfo.cpp b/lib/Target/Hexagon/HexagonInstrInfo.cpp
index f43101fa456d..fec2dc5ce306 100644
--- a/lib/Target/Hexagon/HexagonInstrInfo.cpp
+++ b/lib/Target/Hexagon/HexagonInstrInfo.cpp
@@ -94,10 +94,6 @@ static cl::opt<bool> UseDFAHazardRec("dfa-hazard-rec",
///
/// Constants for Hexagon instructions.
///
-const int Hexagon_MEMV_OFFSET_MAX_128B = 896; // #s4: -8*128...7*128
-const int Hexagon_MEMV_OFFSET_MIN_128B = -1024; // #s4
-const int Hexagon_MEMV_OFFSET_MAX = 448; // #s4: -8*64...7*64
-const int Hexagon_MEMV_OFFSET_MIN = -512; // #s4
const int Hexagon_MEMW_OFFSET_MAX = 4095;
const int Hexagon_MEMW_OFFSET_MIN = -4096;
const int Hexagon_MEMD_OFFSET_MAX = 8191;
@@ -2443,8 +2439,7 @@ bool HexagonInstrInfo::isValidOffset(unsigned Opcode, int Offset,
case Hexagon::V6_vS32b_ai:
case Hexagon::V6_vL32Ub_ai:
case Hexagon::V6_vS32Ub_ai:
- return (Offset >= Hexagon_MEMV_OFFSET_MIN) &&
- (Offset <= Hexagon_MEMV_OFFSET_MAX);
+ return isShiftedInt<4,6>(Offset);
case Hexagon::PS_vstorerq_ai_128B:
case Hexagon::PS_vstorerw_ai_128B:
@@ -2454,8 +2449,7 @@ bool HexagonInstrInfo::isValidOffset(unsigned Opcode, int Offset,
case Hexagon::V6_vS32b_ai_128B:
case Hexagon::V6_vL32Ub_ai_128B:
case Hexagon::V6_vS32Ub_ai_128B:
- return (Offset >= Hexagon_MEMV_OFFSET_MIN_128B) &&
- (Offset <= Hexagon_MEMV_OFFSET_MAX_128B);
+ return isShiftedInt<4,7>(Offset);
case Hexagon::J2_loop0i:
case Hexagon::J2_loop1i:
diff --git a/lib/Target/Hexagon/HexagonNewValueJump.cpp b/lib/Target/Hexagon/HexagonNewValueJump.cpp
index d73fc7c73185..de6b203015d8 100644
--- a/lib/Target/Hexagon/HexagonNewValueJump.cpp
+++ b/lib/Target/Hexagon/HexagonNewValueJump.cpp
@@ -629,7 +629,7 @@ bool HexagonNewValueJump::runOnMachineFunction(MachineFunction &MF) {
if (MO.isReg() && MO.isUse()) {
unsigned feederReg = MO.getReg();
for (MachineBasicBlock::iterator localII = feederPos,
- end = jmpPos; localII != end; localII++) {
+ end = cmpInstr->getIterator(); localII != end; localII++) {
MachineInstr &localMI = *localII;
for (unsigned j = 0; j < localMI.getNumOperands(); j++) {
MachineOperand &localMO = localMI.getOperand(j);
diff --git a/lib/Target/Hexagon/HexagonPeephole.cpp b/lib/Target/Hexagon/HexagonPeephole.cpp
index ee3209354688..7d961a238ae2 100644
--- a/lib/Target/Hexagon/HexagonPeephole.cpp
+++ b/lib/Target/Hexagon/HexagonPeephole.cpp
@@ -100,9 +100,6 @@ namespace {
void getAnalysisUsage(AnalysisUsage &AU) const override {
MachineFunctionPass::getAnalysisUsage(AU);
}
-
- private:
- void ChangeOpInto(MachineOperand &Dst, MachineOperand &Src);
};
}
@@ -132,7 +129,9 @@ bool HexagonPeephole::runOnMachineFunction(MachineFunction &MF) {
PeepholeDoubleRegsMap.clear();
// Traverse the basic block.
- for (MachineInstr &MI : *MBB) {
+ for (auto I = MBB->begin(), E = MBB->end(), NextI = I; I != E; I = NextI) {
+ NextI = std::next(I);
+ MachineInstr &MI = *I;
// Look for sign extends:
// %vreg170<def> = SXTW %vreg166
if (!DisableOptSZExt && MI.getOpcode() == Hexagon::A2_sxtw) {
@@ -280,14 +279,13 @@ bool HexagonPeephole::runOnMachineFunction(MachineFunction &MF) {
if (NewOp) {
unsigned PSrc = MI.getOperand(PR).getReg();
if (unsigned POrig = PeepholeMap.lookup(PSrc)) {
- MI.getOperand(PR).setReg(POrig);
+ BuildMI(*MBB, MI.getIterator(), MI.getDebugLoc(),
+ QII->get(NewOp), MI.getOperand(0).getReg())
+ .addReg(POrig)
+ .add(MI.getOperand(S2))
+ .add(MI.getOperand(S1));
MRI->clearKillFlags(POrig);
- MI.setDesc(QII->get(NewOp));
- // Swap operands S1 and S2.
- MachineOperand Op1 = MI.getOperand(S1);
- MachineOperand Op2 = MI.getOperand(S2);
- ChangeOpInto(MI.getOperand(S1), Op2);
- ChangeOpInto(MI.getOperand(S2), Op1);
+ MI.eraseFromParent();
}
} // if (NewOp)
} // if (!Done)
@@ -299,40 +297,6 @@ bool HexagonPeephole::runOnMachineFunction(MachineFunction &MF) {
return true;
}
-void HexagonPeephole::ChangeOpInto(MachineOperand &Dst, MachineOperand &Src) {
- assert (&Dst != &Src && "Cannot duplicate into itself");
- switch (Dst.getType()) {
- case MachineOperand::MO_Register:
- if (Src.isReg()) {
- Dst.setReg(Src.getReg());
- Dst.setSubReg(Src.getSubReg());
- MRI->clearKillFlags(Src.getReg());
- } else if (Src.isImm()) {
- Dst.ChangeToImmediate(Src.getImm());
- } else {
- llvm_unreachable("Unexpected src operand type");
- }
- break;
-
- case MachineOperand::MO_Immediate:
- if (Src.isImm()) {
- Dst.setImm(Src.getImm());
- } else if (Src.isReg()) {
- Dst.ChangeToRegister(Src.getReg(), Src.isDef(), Src.isImplicit(),
- false, Src.isDead(), Src.isUndef(),
- Src.isDebug());
- Dst.setSubReg(Src.getSubReg());
- } else {
- llvm_unreachable("Unexpected src operand type");
- }
- break;
-
- default:
- llvm_unreachable("Unexpected dst operand type");
- break;
- }
-}
-
FunctionPass *llvm::createHexagonPeephole() {
return new HexagonPeephole();
}
diff --git a/lib/Target/Hexagon/HexagonSubtarget.cpp b/lib/Target/Hexagon/HexagonSubtarget.cpp
index 8851a23ae8ac..0aada8a53c97 100644
--- a/lib/Target/Hexagon/HexagonSubtarget.cpp
+++ b/lib/Target/Hexagon/HexagonSubtarget.cpp
@@ -1,4 +1,4 @@
-//===-- HexagonSubtarget.cpp - Hexagon Subtarget Information --------------===//
+//===- HexagonSubtarget.cpp - Hexagon Subtarget Information ---------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -11,13 +11,23 @@
//
//===----------------------------------------------------------------------===//
-#include "HexagonSubtarget.h"
#include "Hexagon.h"
+#include "HexagonInstrInfo.h"
#include "HexagonRegisterInfo.h"
+#include "HexagonSubtarget.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/SmallSet.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h"
+#include "MCTargetDesc/HexagonMCTargetDesc.h"
+#include "llvm/CodeGen/MachineInstr.h"
+#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/ScheduleDAG.h"
#include "llvm/CodeGen/ScheduleDAGInstrs.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
+#include <algorithm>
+#include <cassert>
#include <map>
using namespace llvm;
@@ -119,9 +129,7 @@ HexagonSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS) {
HexagonSubtarget::HexagonSubtarget(const Triple &TT, StringRef CPU,
StringRef FS, const TargetMachine &TM)
: HexagonGenSubtargetInfo(TT, CPU, FS), CPUString(CPU),
- InstrInfo(initializeSubtargetDependencies(CPU, FS)), TLInfo(TM, *this),
- FrameLowering() {
-
+ InstrInfo(initializeSubtargetDependencies(CPU, FS)), TLInfo(TM, *this) {
initializeEnvironment();
// Initialize scheduling itinerary for the specified CPU.
@@ -196,7 +204,6 @@ void HexagonSubtarget::adjustSchedDependency(SUnit *Src, SUnit *Dst,
updateLatency(*SrcInst, *DstInst, Dep);
}
-
void HexagonSubtarget::HexagonDAGMutation::apply(ScheduleDAGInstrs *DAG) {
for (auto &SU : DAG->SUnits) {
if (!SU.isInstr())
@@ -240,18 +247,18 @@ void HexagonSubtarget::HexagonDAGMutation::apply(ScheduleDAGInstrs *DAG) {
}
}
-
void HexagonSubtarget::getPostRAMutations(
- std::vector<std::unique_ptr<ScheduleDAGMutation>> &Mutations) const {
- Mutations.push_back(make_unique<HexagonSubtarget::HexagonDAGMutation>());
+ std::vector<std::unique_ptr<ScheduleDAGMutation>> &Mutations) const {
+ Mutations.push_back(
+ llvm::make_unique<HexagonSubtarget::HexagonDAGMutation>());
}
void HexagonSubtarget::getSMSMutations(
- std::vector<std::unique_ptr<ScheduleDAGMutation>> &Mutations) const {
- Mutations.push_back(make_unique<HexagonSubtarget::HexagonDAGMutation>());
+ std::vector<std::unique_ptr<ScheduleDAGMutation>> &Mutations) const {
+ Mutations.push_back(
+ llvm::make_unique<HexagonSubtarget::HexagonDAGMutation>());
}
-
// Pin the vtable to this file.
void HexagonSubtarget::anchor() {}
@@ -447,4 +454,3 @@ unsigned HexagonSubtarget::getL1PrefetchDistance() const {
bool HexagonSubtarget::enableSubRegLiveness() const {
return EnableSubregLiveness;
}
-
diff --git a/lib/Target/Hexagon/HexagonSubtarget.h b/lib/Target/Hexagon/HexagonSubtarget.h
index 4379efa79c9c..753dca000065 100644
--- a/lib/Target/Hexagon/HexagonSubtarget.h
+++ b/lib/Target/Hexagon/HexagonSubtarget.h
@@ -1,4 +1,4 @@
-//===-- HexagonSubtarget.h - Define Subtarget for the Hexagon ---*- C++ -*-===//
+//===- HexagonSubtarget.h - Define Subtarget for the Hexagon ----*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -15,12 +15,17 @@
#define LLVM_LIB_TARGET_HEXAGON_HEXAGONSUBTARGET_H
#include "HexagonFrameLowering.h"
-#include "HexagonISelLowering.h"
#include "HexagonInstrInfo.h"
+#include "HexagonISelLowering.h"
#include "HexagonSelectionDAGInfo.h"
-#include "llvm/Target/TargetMachine.h"
+#include "llvm/ADT/SmallSet.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/CodeGen/ScheduleDAGMutation.h"
+#include "llvm/MC/MCInstrItineraries.h"
#include "llvm/Target/TargetSubtargetInfo.h"
+#include <memory>
#include <string>
+#include <vector>
#define GET_SUBTARGETINFO_HEADER
#include "HexagonGenSubtargetInfo.inc"
@@ -30,6 +35,12 @@
namespace llvm {
+class MachineInstr;
+class SDep;
+class SUnit;
+class TargetMachine;
+class Triple;
+
class HexagonSubtarget : public HexagonGenSubtargetInfo {
virtual void anchor();
@@ -57,6 +68,7 @@ private:
HexagonSelectionDAGInfo TSInfo;
HexagonFrameLowering FrameLowering;
InstrItineraryData InstrItins;
+
void initializeEnvironment();
public:
@@ -108,6 +120,7 @@ public:
bool useBSBScheduling() const { return UseBSBScheduling; }
bool enableMachineScheduler() const override;
+
// Always use the TargetLowering default scheduler.
// FIXME: This will use the vliw scheduler which is probably just hurting
// compiler time and will be removed eventually anyway.
@@ -124,6 +137,7 @@ public:
unsigned getSmallDataThreshold() const {
return Hexagon_SMALL_DATA_THRESHOLD;
}
+
const HexagonArchEnum &getHexagonArchVersion() const {
return HexagonArchVersion;
}
@@ -155,4 +169,4 @@ private:
} // end namespace llvm
-#endif
+#endif // LLVM_LIB_TARGET_HEXAGON_HEXAGONSUBTARGET_H
diff --git a/lib/Target/Hexagon/HexagonTargetMachine.cpp b/lib/Target/Hexagon/HexagonTargetMachine.cpp
index e507a797871f..031a1bdefafb 100644
--- a/lib/Target/Hexagon/HexagonTargetMachine.cpp
+++ b/lib/Target/Hexagon/HexagonTargetMachine.cpp
@@ -291,7 +291,6 @@ bool HexagonPassConfig::addInstSelector() {
if (EnableBitSimplify)
addPass(createHexagonBitSimplify());
addPass(createHexagonPeephole());
- printAndVerify("After hexagon peephole pass");
// Constant propagation.
if (!DisableHCP) {
addPass(createHexagonConstPropagationPass());
diff --git a/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp b/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
index 545c8b6b2acd..093ce80bc2e3 100644
--- a/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
+++ b/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
@@ -202,10 +202,8 @@ public:
/// processFixupValue - Target hook to adjust the literal value of a fixup
/// if necessary. IsResolved signals whether the caller believes a relocation
/// is needed; the target can modify the value. The default does nothing.
- void processFixupValue(const MCAssembler &Asm, const MCAsmLayout &Layout,
- const MCFixup &Fixup, const MCFragment *DF,
- const MCValue &Target, uint64_t &Value,
- bool &IsResolved) override {
+ void processFixupValue(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, bool &IsResolved) override {
MCFixupKind Kind = Fixup.getKind();
switch((unsigned)Kind) {
@@ -415,9 +413,9 @@ public:
/// ApplyFixup - Apply the \arg Value for given \arg Fixup into the provided
/// data fragment, at the offset specified by the fixup and following the
/// fixup kind as appropriate.
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t FixupValue, bool IsPCRel,
- MCContext &Ctx) const override {
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t FixupValue, bool IsPCRel) const override {
// When FixupValue is 0 the relocation is external and there
// is nothing for us to do.
@@ -432,8 +430,8 @@ public:
// to a real offset before we can use it.
uint32_t Offset = Fixup.getOffset();
unsigned NumBytes = getFixupKindNumBytes(Kind);
- assert(Offset + NumBytes <= DataSize && "Invalid fixup offset!");
- char *InstAddr = Data + Offset;
+ assert(Offset + NumBytes <= Data.size() && "Invalid fixup offset!");
+ char *InstAddr = Data.data() + Offset;
Value = adjustFixupValue(Kind, FixupValue);
if(!Value)
@@ -517,7 +515,7 @@ public:
dbgs() << "\tBValue=0x"; dbgs().write_hex(Value) <<
": AValue=0x"; dbgs().write_hex(FixupValue) <<
": Offset=" << Offset <<
- ": Size=" << DataSize <<
+ ": Size=" << Data.size() <<
": OInst=0x"; dbgs().write_hex(OldData) <<
": Reloc=0x"; dbgs().write_hex(Reloc););
diff --git a/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp b/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp
index e8f154a1fa53..c7114c7f18a0 100644
--- a/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp
+++ b/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp
@@ -701,33 +701,32 @@ MCInst HexagonMCInstrInfo::deriveSubInst(MCInst const &Inst) {
break;
case Hexagon::A2_addi:
Absolute = Inst.getOperand(2).getExpr()->evaluateAsAbsolute(Value);
- assert(Absolute);(void)Absolute;
- if (Value == 1) {
- Result.setOpcode(Hexagon::SA1_inc);
- addOps(Result, Inst, 0);
- addOps(Result, Inst, 1);
- break;
- } // 1,2 SUBInst $Rd = add($Rs, #1)
- else if (Value == -1) {
- Result.setOpcode(Hexagon::SA1_dec);
- addOps(Result, Inst, 0);
- addOps(Result, Inst, 1);
- addOps(Result, Inst, 2);
- break;
- } // 1,2 SUBInst $Rd = add($Rs,#-1)
- else if (Inst.getOperand(1).getReg() == Hexagon::R29) {
- Result.setOpcode(Hexagon::SA1_addsp);
- addOps(Result, Inst, 0);
- addOps(Result, Inst, 2);
- break;
- } // 1,3 SUBInst $Rd = add(r29, #$u6_2)
- else {
- Result.setOpcode(Hexagon::SA1_addi);
- addOps(Result, Inst, 0);
- addOps(Result, Inst, 1);
- addOps(Result, Inst, 2);
- break;
- } // 1,2,3 SUBInst $Rx = add($Rx, #$s7)
+ if (Absolute) {
+ if (Value == 1) {
+ Result.setOpcode(Hexagon::SA1_inc);
+ addOps(Result, Inst, 0);
+ addOps(Result, Inst, 1);
+ break;
+ } // 1,2 SUBInst $Rd = add($Rs, #1)
+ if (Value == -1) {
+ Result.setOpcode(Hexagon::SA1_dec);
+ addOps(Result, Inst, 0);
+ addOps(Result, Inst, 1);
+ addOps(Result, Inst, 2);
+ break;
+ } // 1,2 SUBInst $Rd = add($Rs,#-1)
+ if (Inst.getOperand(1).getReg() == Hexagon::R29) {
+ Result.setOpcode(Hexagon::SA1_addsp);
+ addOps(Result, Inst, 0);
+ addOps(Result, Inst, 2);
+ break;
+ } // 1,3 SUBInst $Rd = add(r29, #$u6_2)
+ }
+ Result.setOpcode(Hexagon::SA1_addi);
+ addOps(Result, Inst, 0);
+ addOps(Result, Inst, 1);
+ addOps(Result, Inst, 2);
+ break; // 1,2,3 SUBInst $Rx = add($Rx, #$s7)
case Hexagon::A2_add:
Result.setOpcode(Hexagon::SA1_addrx);
addOps(Result, Inst, 0);
diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp b/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
index 0ef1401ef531..c212726113ab 100644
--- a/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
+++ b/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
@@ -49,8 +49,9 @@ public:
LanaiAsmBackend(const Target &T, Triple::OSType OST)
: MCAsmBackend(), OSType(OST) {}
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const override;
@@ -88,9 +89,10 @@ bool LanaiAsmBackend::writeNopData(uint64_t Count, MCObjectWriter *OW) const {
return true;
}
-void LanaiAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned /*DataSize*/, uint64_t Value,
- bool /*IsPCRel*/, MCContext & /*Ctx*/) const {
+void LanaiAsmBackend::applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data, uint64_t Value,
+ bool /*IsPCRel*/) const {
MCFixupKind Kind = Fixup.getKind();
Value = adjustFixupValue(static_cast<unsigned>(Kind), Value);
diff --git a/lib/Target/MSP430/MSP430TargetMachine.cpp b/lib/Target/MSP430/MSP430TargetMachine.cpp
index d8fdc8ba674e..982c6fea62d4 100644
--- a/lib/Target/MSP430/MSP430TargetMachine.cpp
+++ b/lib/Target/MSP430/MSP430TargetMachine.cpp
@@ -32,16 +32,20 @@ static Reloc::Model getEffectiveRelocModel(Optional<Reloc::Model> RM) {
return *RM;
}
+static std::string computeDataLayout(const Triple &TT, StringRef CPU,
+ const TargetOptions &Options) {
+ return "e-m:e-p:16:16-i32:16-i64:16-f32:16-f64:16-a:8-n8:16-S16";
+}
+
MSP430TargetMachine::MSP430TargetMachine(const Target &T, const Triple &TT,
StringRef CPU, StringRef FS,
const TargetOptions &Options,
Optional<Reloc::Model> RM,
CodeModel::Model CM,
CodeGenOpt::Level OL)
- : LLVMTargetMachine(T, "e-m:e-p:16:16-i32:16:32-a:16-n8:16", TT, CPU, FS,
+ : LLVMTargetMachine(T, computeDataLayout(TT, CPU, Options), TT, CPU, FS,
Options, getEffectiveRelocModel(RM), CM, OL),
TLOF(make_unique<TargetLoweringObjectFileELF>()),
- // FIXME: Check DataLayout string.
Subtarget(TT, CPU, FS, *this) {
initAsmInfo();
}
diff --git a/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
index 694c201cbe8d..9d5c179a0fd9 100644
--- a/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
+++ b/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
@@ -322,6 +322,7 @@ class MipsAsmParser : public MCTargetAsmParser {
bool parseDirectiveSet();
bool parseDirectiveOption();
bool parseInsnDirective();
+ bool parseRSectionDirective(StringRef Section);
bool parseSSectionDirective(StringRef Section, unsigned Type);
bool parseSetAtDirective();
@@ -5106,7 +5107,7 @@ int MipsAsmParser::matchCPURegisterName(StringRef Name) {
CC = StringSwitch<unsigned>(Name)
.Case("zero", 0)
- .Case("at", 1)
+ .Cases("at", "AT", 1)
.Case("a0", 4)
.Case("a1", 5)
.Case("a2", 6)
@@ -6952,6 +6953,23 @@ bool MipsAsmParser::parseInsnDirective() {
return false;
}
+/// parseRSectionDirective
+/// ::= .rdata
+bool MipsAsmParser::parseRSectionDirective(StringRef Section) {
+ // If this is not the end of the statement, report an error.
+ if (getLexer().isNot(AsmToken::EndOfStatement)) {
+ reportParseError("unexpected token, expected end of statement");
+ return false;
+ }
+
+ MCSection *ELFSection = getContext().getELFSection(
+ Section, ELF::SHT_PROGBITS, ELF::SHF_ALLOC);
+ getParser().getStreamer().SwitchSection(ELFSection);
+
+ getParser().Lex(); // Eat EndOfStatement token.
+ return false;
+}
+
/// parseSSectionDirective
/// ::= .sbss
/// ::= .sdata
@@ -7499,6 +7517,10 @@ bool MipsAsmParser::ParseDirective(AsmToken DirectiveID) {
parseInsnDirective();
return false;
}
+ if (IDVal == ".rdata") {
+ parseRSectionDirective(".rodata");
+ return false;
+ }
if (IDVal == ".sbss") {
parseSSectionDirective(IDVal, ELF::SHT_NOBITS);
return false;
diff --git a/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp b/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
index 6d3d4db03603..ae48d6e38fa0 100644
--- a/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
+++ b/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
@@ -235,10 +235,12 @@ static unsigned calculateMMLEIndex(unsigned i) {
/// ApplyFixup - Apply the \p Value for given \p Fixup into the provided
/// data fragment, at the offset specified by the fixup and following the
/// fixup kind as appropriate.
-void MipsAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned DataSize, uint64_t Value, bool IsPCRel,
- MCContext &Ctx) const {
+void MipsAsmBackend::applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data, uint64_t Value,
+ bool IsPCRel) const {
MCFixupKind Kind = Fixup.getKind();
+ MCContext &Ctx = Asm.getContext();
Value = adjustFixupValue(Fixup, Value, Ctx);
if (!Value)
diff --git a/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h b/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
index 4b3cc6e21f4c..bf3b290b7ed5 100644
--- a/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
+++ b/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
@@ -38,8 +38,9 @@ public:
MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const override;
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
Optional<MCFixupKind> getFixupKind(StringRef Name) const override;
const MCFixupKindInfo &getFixupKindInfo(MCFixupKind Kind) const override;
diff --git a/lib/Target/Mips/Mips32r6InstrInfo.td b/lib/Target/Mips/Mips32r6InstrInfo.td
index 3272319ad50f..7daea163b8a6 100644
--- a/lib/Target/Mips/Mips32r6InstrInfo.td
+++ b/lib/Target/Mips/Mips32r6InstrInfo.td
@@ -326,9 +326,9 @@ class AUIPC_DESC : ALUIPC_DESC_BASE<"auipc", GPR32Opnd, II_AUIPC>;
class AUI_DESC_BASE<string instr_asm, RegisterOperand GPROpnd,
InstrItinClass itin = NoItinerary>
: MipsR6Arch<instr_asm> {
- dag OutOperandList = (outs GPROpnd:$rs);
- dag InOperandList = (ins GPROpnd:$rt, uimm16:$imm);
- string AsmString = !strconcat(instr_asm, "\t$rs, $rt, $imm");
+ dag OutOperandList = (outs GPROpnd:$rt);
+ dag InOperandList = (ins GPROpnd:$rs, uimm16:$imm);
+ string AsmString = !strconcat(instr_asm, "\t$rt, $rs, $imm");
list<dag> Pattern = [];
InstrItinClass Itinerary = itin;
}
diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp
index 68708dc4f50f..02102d6b22f4 100644
--- a/lib/Target/Mips/MipsISelLowering.cpp
+++ b/lib/Target/Mips/MipsISelLowering.cpp
@@ -907,6 +907,11 @@ static SDValue performORCombine(SDNode *N, SelectionDAG &DAG,
if (!(CN1 = dyn_cast<ConstantSDNode>(N->getOperand(1))))
return SDValue();
}
+ // Don't generate INS if constant OR operand doesn't fit into bits
+ // cleared by constant AND operand.
+ if (CN->getSExtValue() & CN1->getSExtValue())
+ return SDValue();
+
SDLoc DL(N);
EVT ValTy = N->getOperand(0)->getValueType(0);
SDValue Const1;
diff --git a/lib/Target/Mips/MipsLongBranch.cpp b/lib/Target/Mips/MipsLongBranch.cpp
index 272595af5f6f..b95f1158fa56 100644
--- a/lib/Target/Mips/MipsLongBranch.cpp
+++ b/lib/Target/Mips/MipsLongBranch.cpp
@@ -274,8 +274,8 @@ void MipsLongBranch::expandToLongBranch(MBBInfo &I) {
if (IsPIC) {
MachineBasicBlock *BalTgtMBB = MF->CreateMachineBasicBlock(BB);
MF->insert(FallThroughMBB, BalTgtMBB);
- LongBrMBB->addSuccessor(BalTgtMBB, BranchProbability::getOne());
- BalTgtMBB->addSuccessor(&*FallThroughMBB, BranchProbability::getOne());
+ LongBrMBB->addSuccessor(BalTgtMBB);
+ BalTgtMBB->addSuccessor(TgtMBB);
// We must select between the MIPS32r6/MIPS64r6 BAL (which is a normal
// instruction) and the pre-MIPS32r6/MIPS64r6 definition (which is an
@@ -342,8 +342,8 @@ void MipsLongBranch::expandToLongBranch(MBBInfo &I) {
.addReg(Mips::SP).addImm(8);
if (Subtarget.hasMips32r6())
- BuildMI(*BalTgtMBB, Pos, DL, TII->get(Mips::JALR), Mips::ZERO)
- .addReg(Mips::AT);
+ BuildMI(*BalTgtMBB, Pos, DL, TII->get(Mips::JALR))
+ .addReg(Mips::ZERO).addReg(Mips::AT);
else
BuildMI(*BalTgtMBB, Pos, DL, TII->get(Mips::JR)).addReg(Mips::AT);
@@ -415,8 +415,8 @@ void MipsLongBranch::expandToLongBranch(MBBInfo &I) {
.addReg(Mips::SP_64).addImm(0);
if (Subtarget.hasMips64r6())
- BuildMI(*BalTgtMBB, Pos, DL, TII->get(Mips::JALR64), Mips::ZERO_64)
- .addReg(Mips::AT_64);
+ BuildMI(*BalTgtMBB, Pos, DL, TII->get(Mips::JALR64))
+ .addReg(Mips::ZERO_64).addReg(Mips::AT_64);
else
BuildMI(*BalTgtMBB, Pos, DL, TII->get(Mips::JR64)).addReg(Mips::AT_64);
diff --git a/lib/Target/Mips/MipsSEISelLowering.cpp b/lib/Target/Mips/MipsSEISelLowering.cpp
index 2382ea271661..b57bceb3c837 100644
--- a/lib/Target/Mips/MipsSEISelLowering.cpp
+++ b/lib/Target/Mips/MipsSEISelLowering.cpp
@@ -1257,19 +1257,22 @@ static SDValue lowerMSACopyIntr(SDValue Op, SelectionDAG &DAG, unsigned Opc) {
static SDValue lowerMSASplatZExt(SDValue Op, unsigned OpNr, SelectionDAG &DAG) {
EVT ResVecTy = Op->getValueType(0);
EVT ViaVecTy = ResVecTy;
+ bool BigEndian = !DAG.getSubtarget().getTargetTriple().isLittleEndian();
SDLoc DL(Op);
// When ResVecTy == MVT::v2i64, LaneA is the upper 32 bits of the lane and
// LaneB is the lower 32-bits. Otherwise LaneA and LaneB are alternating
// lanes.
- SDValue LaneA;
- SDValue LaneB = Op->getOperand(2);
+ SDValue LaneA = Op->getOperand(OpNr);
+ SDValue LaneB;
if (ResVecTy == MVT::v2i64) {
- LaneA = DAG.getConstant(0, DL, MVT::i32);
+ LaneB = DAG.getConstant(0, DL, MVT::i32);
ViaVecTy = MVT::v4i32;
+ if(BigEndian)
+ std::swap(LaneA, LaneB);
} else
- LaneA = LaneB;
+ LaneB = LaneA;
SDValue Ops[16] = { LaneA, LaneB, LaneA, LaneB, LaneA, LaneB, LaneA, LaneB,
LaneA, LaneB, LaneA, LaneB, LaneA, LaneB, LaneA, LaneB };
@@ -1277,8 +1280,11 @@ static SDValue lowerMSASplatZExt(SDValue Op, unsigned OpNr, SelectionDAG &DAG) {
SDValue Result = DAG.getBuildVector(
ViaVecTy, DL, makeArrayRef(Ops, ViaVecTy.getVectorNumElements()));
- if (ViaVecTy != ResVecTy)
- Result = DAG.getNode(ISD::BITCAST, DL, ResVecTy, Result);
+ if (ViaVecTy != ResVecTy) {
+ SDValue One = DAG.getConstant(1, DL, ViaVecTy);
+ Result = DAG.getNode(ISD::BITCAST, DL, ResVecTy,
+ DAG.getNode(ISD::AND, DL, ViaVecTy, Result, One));
+ }
return Result;
}
diff --git a/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp b/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
index 028c2cb562f8..6d7eb786a683 100644
--- a/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
+++ b/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
@@ -113,8 +113,9 @@ public:
return (IsLittleEndian? InfosLE : InfosBE)[Kind - FirstTargetFixupKind];
}
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override {
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override {
Value = adjustFixupValue(Fixup.getKind(), Value);
if (!Value) return; // Doesn't change encoding.
@@ -130,10 +131,8 @@ public:
}
}
- void processFixupValue(const MCAssembler &Asm, const MCAsmLayout &Layout,
- const MCFixup &Fixup, const MCFragment *DF,
- const MCValue &Target, uint64_t &Value,
- bool &IsResolved) override {
+ void processFixupValue(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, bool &IsResolved) override {
switch ((PPC::Fixups)Fixup.getKind()) {
default: break;
case PPC::fixup_ppc_br24:
diff --git a/lib/Target/PowerPC/PPC.h b/lib/Target/PowerPC/PPC.h
index 38ae62b26757..07c9c1f9f84c 100644
--- a/lib/Target/PowerPC/PPC.h
+++ b/lib/Target/PowerPC/PPC.h
@@ -24,7 +24,6 @@ namespace llvm {
class PPCTargetMachine;
class PassRegistry;
class FunctionPass;
- class ImmutablePass;
class MachineInstr;
class AsmPrinter;
class MCInst;
diff --git a/lib/Target/PowerPC/PPCFrameLowering.cpp b/lib/Target/PowerPC/PPCFrameLowering.cpp
index 57a1d373c88c..c2c115cb6daf 100644
--- a/lib/Target/PowerPC/PPCFrameLowering.cpp
+++ b/lib/Target/PowerPC/PPCFrameLowering.cpp
@@ -521,7 +521,7 @@ void PPCFrameLowering::replaceFPWithRealFP(MachineFunction &MF) const {
const PPCRegisterInfo *RegInfo = Subtarget.getRegisterInfo();
bool HasBP = RegInfo->hasBasePointer(MF);
unsigned BPReg = HasBP ? (unsigned) RegInfo->getBaseRegister(MF) : FPReg;
- unsigned BP8Reg = HasBP ? (unsigned) PPC::X30 : FPReg;
+ unsigned BP8Reg = HasBP ? (unsigned) PPC::X30 : FP8Reg;
for (MachineFunction::iterator BI = MF.begin(), BE = MF.end();
BI != BE; ++BI)
diff --git a/lib/Target/PowerPC/PPCISelLowering.cpp b/lib/Target/PowerPC/PPCISelLowering.cpp
index 662550f7a396..72f14e969138 100644
--- a/lib/Target/PowerPC/PPCISelLowering.cpp
+++ b/lib/Target/PowerPC/PPCISelLowering.cpp
@@ -2560,8 +2560,9 @@ SDValue PPCTargetLowering::LowerGlobalTLSAddress(SDValue Op,
PPCII::MO_TPREL_HA);
SDValue TGALo = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0,
PPCII::MO_TPREL_LO);
- SDValue TLSReg = DAG.getRegister(is64bit ? PPC::X13 : PPC::R2,
- is64bit ? MVT::i64 : MVT::i32);
+ SDValue TLSReg = is64bit ? DAG.getRegister(PPC::X13, MVT::i64)
+ : DAG.getRegister(PPC::R2, MVT::i32);
+
SDValue Hi = DAG.getNode(PPCISD::Hi, dl, PtrVT, TGAHi, TLSReg);
return DAG.getNode(PPCISD::Lo, dl, PtrVT, TGALo, Hi);
}
@@ -8377,9 +8378,9 @@ SDValue PPCTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op,
if (IntrinsicID == Intrinsic::thread_pointer) {
// Reads the thread pointer register, used for __builtin_thread_pointer.
- bool is64bit = Subtarget.isPPC64();
- return DAG.getRegister(is64bit ? PPC::X13 : PPC::R2,
- is64bit ? MVT::i64 : MVT::i32);
+ if (Subtarget.isPPC64())
+ return DAG.getRegister(PPC::X13, MVT::i64);
+ return DAG.getRegister(PPC::R2, MVT::i32);
}
// If this is a lowered altivec predicate compare, CompareOpc is set to the
diff --git a/lib/Target/PowerPC/PPCInstr64Bit.td b/lib/Target/PowerPC/PPCInstr64Bit.td
index 70536a6039b8..e2af5e529544 100644
--- a/lib/Target/PowerPC/PPCInstr64Bit.td
+++ b/lib/Target/PowerPC/PPCInstr64Bit.td
@@ -972,13 +972,15 @@ def LDMX : XForm_1<31, 309, (outs g8rc:$rD), (ins memrr:$src),
// Support for medium and large code model.
let hasSideEffects = 0 in {
+let isReMaterializable = 1 in {
def ADDIStocHA: Pseudo<(outs g8rc:$rD), (ins g8rc_nox0:$reg, tocentry:$disp),
"#ADDIStocHA", []>, isPPC64;
+def ADDItocL: Pseudo<(outs g8rc:$rD), (ins g8rc_nox0:$reg, tocentry:$disp),
+ "#ADDItocL", []>, isPPC64;
+}
let mayLoad = 1 in
def LDtocL: Pseudo<(outs g8rc:$rD), (ins tocentry:$disp, g8rc_nox0:$reg),
"#LDtocL", []>, isPPC64;
-def ADDItocL: Pseudo<(outs g8rc:$rD), (ins g8rc_nox0:$reg, tocentry:$disp),
- "#ADDItocL", []>, isPPC64;
}
// Support for thread-local storage.
@@ -994,7 +996,7 @@ def LDgotTprelL: Pseudo<(outs g8rc:$rD), (ins s16imm64:$disp, g8rc_nox0:$reg),
(PPCldGotTprelL tglobaltlsaddr:$disp, i64:$reg))]>,
isPPC64;
-let isBarrier = 1, isPseudo = 1, Defs = [CR7], Itinerary = IIC_LdStSync in
+let isPseudo = 1, Defs = [CR7], Itinerary = IIC_LdStSync in
def CFENCE8 : Pseudo<(outs), (ins g8rc:$cr), "#CFENCE8", []>;
def : Pat<(PPCaddTls i64:$in, tglobaltlsaddr:$g),
diff --git a/lib/Target/PowerPC/PPCInstrInfo.cpp b/lib/Target/PowerPC/PPCInstrInfo.cpp
index 236e513bec23..13b4f9ab962d 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.cpp
+++ b/lib/Target/PowerPC/PPCInstrInfo.cpp
@@ -292,6 +292,29 @@ unsigned PPCInstrInfo::isLoadFromStackSlot(const MachineInstr &MI,
return 0;
}
+// For opcodes with the ReMaterializable flag set, this function is called to
+// verify the instruction is really rematable.
+bool PPCInstrInfo::isReallyTriviallyReMaterializable(const MachineInstr &MI,
+ AliasAnalysis *AA) const {
+ switch (MI.getOpcode()) {
+ default:
+ // This function should only be called for opcodes with the ReMaterializable
+ // flag set.
+ llvm_unreachable("Unknown rematerializable operation!");
+ break;
+ case PPC::LI:
+ case PPC::LI8:
+ case PPC::LIS:
+ case PPC::LIS8:
+ case PPC::QVGPCI:
+ case PPC::ADDIStocHA:
+ case PPC::ADDItocL:
+ case PPC::LOAD_STACK_GUARD:
+ return true;
+ }
+ return false;
+}
+
unsigned PPCInstrInfo::isStoreToStackSlot(const MachineInstr &MI,
int &FrameIndex) const {
// Note: This list must be kept consistent with StoreRegToStackSlot.
diff --git a/lib/Target/PowerPC/PPCInstrInfo.h b/lib/Target/PowerPC/PPCInstrInfo.h
index 8dd4dbb60879..b0629c88cf57 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.h
+++ b/lib/Target/PowerPC/PPCInstrInfo.h
@@ -162,6 +162,8 @@ public:
unsigned &SubIdx) const override;
unsigned isLoadFromStackSlot(const MachineInstr &MI,
int &FrameIndex) const override;
+ bool isReallyTriviallyReMaterializable(const MachineInstr &MI,
+ AliasAnalysis *AA) const override;
unsigned isStoreToStackSlot(const MachineInstr &MI,
int &FrameIndex) const override;
diff --git a/lib/Target/PowerPC/PPCRegisterInfo.cpp b/lib/Target/PowerPC/PPCRegisterInfo.cpp
index 637e52bbdbee..8af7f7e98117 100644
--- a/lib/Target/PowerPC/PPCRegisterInfo.cpp
+++ b/lib/Target/PowerPC/PPCRegisterInfo.cpp
@@ -389,9 +389,14 @@ void PPCRegisterInfo::lowerDynamicAlloc(MachineBasicBlock::iterator II) const {
unsigned Reg = MF.getRegInfo().createVirtualRegister(LP64 ? G8RC : GPRC);
if (MaxAlign < TargetAlign && isInt<16>(FrameSize)) {
- BuildMI(MBB, II, dl, TII.get(PPC::ADDI), Reg)
- .addReg(PPC::R31)
- .addImm(FrameSize);
+ if (LP64)
+ BuildMI(MBB, II, dl, TII.get(PPC::ADDI8), Reg)
+ .addReg(PPC::X31)
+ .addImm(FrameSize);
+ else
+ BuildMI(MBB, II, dl, TII.get(PPC::ADDI), Reg)
+ .addReg(PPC::R31)
+ .addImm(FrameSize);
} else if (LP64) {
BuildMI(MBB, II, dl, TII.get(PPC::LD), Reg)
.addImm(0)
@@ -478,8 +483,10 @@ void PPCRegisterInfo::lowerDynamicAreaOffset(
const TargetInstrInfo &TII = *Subtarget.getInstrInfo();
unsigned maxCallFrameSize = MFI.getMaxCallFrameSize();
+ bool is64Bit = TM.isPPC64();
DebugLoc dl = MI.getDebugLoc();
- BuildMI(MBB, II, dl, TII.get(PPC::LI), MI.getOperand(0).getReg())
+ BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::LI8 : PPC::LI),
+ MI.getOperand(0).getReg())
.addImm(maxCallFrameSize);
MBB.erase(II);
}
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
index 5a226b23ff96..a88a6541e8d0 100644
--- a/lib/Target/PowerPC/PPCTargetMachine.cpp
+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -86,9 +86,9 @@ EnableMachineCombinerPass("ppc-machine-combiner",
extern "C" void LLVMInitializePowerPCTarget() {
// Register the targets
- RegisterTargetMachine<PPC32TargetMachine> A(getThePPC32Target());
- RegisterTargetMachine<PPC64TargetMachine> B(getThePPC64Target());
- RegisterTargetMachine<PPC64TargetMachine> C(getThePPC64LETarget());
+ RegisterTargetMachine<PPCTargetMachine> A(getThePPC32Target());
+ RegisterTargetMachine<PPCTargetMachine> B(getThePPC64Target());
+ RegisterTargetMachine<PPCTargetMachine> C(getThePPC64LETarget());
PassRegistry &PR = *PassRegistry::getPassRegistry();
initializePPCBoolRetToIntPass(PR);
@@ -177,32 +177,34 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT,
assert(Options.MCOptions.getABIName().empty() &&
"Unknown target-abi option!");
- if (!TT.isMacOSX()) {
- switch (TT.getArch()) {
- case Triple::ppc64le:
- return PPCTargetMachine::PPC_ABI_ELFv2;
- case Triple::ppc64:
- return PPCTargetMachine::PPC_ABI_ELFv1;
- default:
- // Fallthrough.
- ;
- }
+ if (TT.isMacOSX())
+ return PPCTargetMachine::PPC_ABI_UNKNOWN;
+
+ switch (TT.getArch()) {
+ case Triple::ppc64le:
+ return PPCTargetMachine::PPC_ABI_ELFv2;
+ case Triple::ppc64:
+ return PPCTargetMachine::PPC_ABI_ELFv1;
+ default:
+ return PPCTargetMachine::PPC_ABI_UNKNOWN;
}
- return PPCTargetMachine::PPC_ABI_UNKNOWN;
}
static Reloc::Model getEffectiveRelocModel(const Triple &TT,
Optional<Reloc::Model> RM) {
- if (!RM.hasValue()) {
- if (TT.getArch() == Triple::ppc64 || TT.getArch() == Triple::ppc64le) {
- if (!TT.isOSBinFormatMachO() && !TT.isMacOSX())
- return Reloc::PIC_;
- }
- if (TT.isOSDarwin())
- return Reloc::DynamicNoPIC;
- return Reloc::Static;
- }
- return *RM;
+ if (RM.hasValue())
+ return *RM;
+
+ // Darwin defaults to dynamic-no-pic.
+ if (TT.isOSDarwin())
+ return Reloc::DynamicNoPIC;
+
+ // Non-darwin 64-bit platforms are PIC by default.
+ if (TT.getArch() == Triple::ppc64 || TT.getArch() == Triple::ppc64le)
+ return Reloc::PIC_;
+
+ // 32-bit is static by default.
+ return Reloc::Static;
}
// The FeatureString here is a little subtle. We are modifying the feature
@@ -224,26 +226,6 @@ PPCTargetMachine::PPCTargetMachine(const Target &T, const Triple &TT,
PPCTargetMachine::~PPCTargetMachine() = default;
-void PPC32TargetMachine::anchor() {}
-
-PPC32TargetMachine::PPC32TargetMachine(const Target &T, const Triple &TT,
- StringRef CPU, StringRef FS,
- const TargetOptions &Options,
- Optional<Reloc::Model> RM,
- CodeModel::Model CM,
- CodeGenOpt::Level OL)
- : PPCTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL) {}
-
-void PPC64TargetMachine::anchor() {}
-
-PPC64TargetMachine::PPC64TargetMachine(const Target &T, const Triple &TT,
- StringRef CPU, StringRef FS,
- const TargetOptions &Options,
- Optional<Reloc::Model> RM,
- CodeModel::Model CM,
- CodeGenOpt::Level OL)
- : PPCTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL) {}
-
const PPCSubtarget *
PPCTargetMachine::getSubtargetImpl(const Function &F) const {
Attribute CPUAttr = F.getFnAttribute("target-cpu");
@@ -406,7 +388,7 @@ void PPCPassConfig::addPreRegAlloc() {
// FIXME: We probably don't need to run these for -fPIE.
if (getPPCTargetMachine().isPositionIndependent()) {
// FIXME: LiveVariables should not be necessary here!
- // PPCTLSDYnamicCallPass uses LiveIntervals which previously dependet on
+ // PPCTLSDynamicCallPass uses LiveIntervals which previously dependent on
// LiveVariables. This (unnecessary) dependency has been removed now,
// however a stage-2 clang build fails without LiveVariables computed here.
addPass(&LiveVariablesID, false);
diff --git a/lib/Target/PowerPC/PPCTargetMachine.h b/lib/Target/PowerPC/PPCTargetMachine.h
index b8f5a2083d80..5eb6ba785d1b 100644
--- a/lib/Target/PowerPC/PPCTargetMachine.h
+++ b/lib/Target/PowerPC/PPCTargetMachine.h
@@ -23,7 +23,7 @@ namespace llvm {
/// Common code between 32-bit and 64-bit PowerPC targets.
///
-class PPCTargetMachine : public LLVMTargetMachine {
+class PPCTargetMachine final : public LLVMTargetMachine {
public:
enum PPCABI { PPC_ABI_UNKNOWN, PPC_ABI_ELFv1, PPC_ABI_ELFv2 };
private:
@@ -60,29 +60,6 @@ public:
return false;
}
};
-
-/// PowerPC 32-bit target machine.
-///
-class PPC32TargetMachine : public PPCTargetMachine {
- virtual void anchor();
-public:
- PPC32TargetMachine(const Target &T, const Triple &TT, StringRef CPU,
- StringRef FS, const TargetOptions &Options,
- Optional<Reloc::Model> RM, CodeModel::Model CM,
- CodeGenOpt::Level OL);
-};
-
-/// PowerPC 64-bit target machine.
-///
-class PPC64TargetMachine : public PPCTargetMachine {
- virtual void anchor();
-public:
- PPC64TargetMachine(const Target &T, const Triple &TT, StringRef CPU,
- StringRef FS, const TargetOptions &Options,
- Optional<Reloc::Model> RM, CodeModel::Model CM,
- CodeGenOpt::Level OL);
-};
-
} // end namespace llvm
#endif
diff --git a/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp b/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
index d9a71893afee..f85c0cf111c4 100644
--- a/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
+++ b/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
@@ -32,8 +32,9 @@ public:
: MCAsmBackend(), OSABI(OSABI), Is64Bit(Is64Bit) {}
~RISCVAsmBackend() override {}
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const override;
@@ -69,9 +70,10 @@ bool RISCVAsmBackend::writeNopData(uint64_t Count, MCObjectWriter *OW) const {
return true;
}
-void RISCVAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned DataSize, uint64_t Value,
- bool IsPCRel, MCContext &Ctx) const {
+void RISCVAsmBackend::applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data, uint64_t Value,
+ bool IsPCRel) const {
return;
}
diff --git a/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp b/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
index d1d1334163a2..c72b47b09085 100644
--- a/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
+++ b/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
@@ -203,10 +203,8 @@ namespace {
return InfosBE[Kind - FirstTargetFixupKind];
}
- void processFixupValue(const MCAssembler &Asm, const MCAsmLayout &Layout,
- const MCFixup &Fixup, const MCFragment *DF,
- const MCValue &Target, uint64_t &Value,
- bool &IsResolved) override {
+ void processFixupValue(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, bool &IsResolved) override {
switch ((Sparc::Fixups)Fixup.getKind()) {
default: break;
case Sparc::fixup_sparc_wplt30:
@@ -273,9 +271,9 @@ namespace {
ELFSparcAsmBackend(const Target &T, Triple::OSType OSType) :
SparcAsmBackend(T), OSType(OSType) { }
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel,
- MCContext &Ctx) const override {
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override {
Value = adjustFixupValue(Fixup.getKind(), Value);
if (!Value) return; // Doesn't change encoding.
diff --git a/lib/Target/Sparc/SparcTargetObjectFile.cpp b/lib/Target/Sparc/SparcTargetObjectFile.cpp
index 627e49a95f3c..2c040dce994b 100644
--- a/lib/Target/Sparc/SparcTargetObjectFile.cpp
+++ b/lib/Target/Sparc/SparcTargetObjectFile.cpp
@@ -15,6 +15,12 @@
using namespace llvm;
+void SparcELFTargetObjectFile::Initialize(MCContext &Ctx,
+ const TargetMachine &TM) {
+ TargetLoweringObjectFileELF::Initialize(Ctx, TM);
+ InitializeELF(TM.Options.UseInitArray);
+}
+
const MCExpr *SparcELFTargetObjectFile::getTTypeGlobalReference(
const GlobalValue *GV, unsigned Encoding, const TargetMachine &TM,
MachineModuleInfo *MMI, MCStreamer &Streamer) const {
diff --git a/lib/Target/Sparc/SparcTargetObjectFile.h b/lib/Target/Sparc/SparcTargetObjectFile.h
index fe8800625a56..3b1b345c3b19 100644
--- a/lib/Target/Sparc/SparcTargetObjectFile.h
+++ b/lib/Target/Sparc/SparcTargetObjectFile.h
@@ -23,6 +23,8 @@ public:
TargetLoweringObjectFileELF()
{}
+ void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
+
const MCExpr *getTTypeGlobalReference(const GlobalValue *GV,
unsigned Encoding,
const TargetMachine &TM,
diff --git a/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp b/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
index fd1fd7bc40dc..6b32a7926437 100644
--- a/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
+++ b/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
@@ -50,8 +50,9 @@ public:
return SystemZ::NumTargetFixupKinds;
}
const MCFixupKindInfo &getFixupKindInfo(MCFixupKind Kind) const override;
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
bool mayNeedRelaxation(const MCInst &Inst) const override {
return false;
}
@@ -89,15 +90,17 @@ SystemZMCAsmBackend::getFixupKindInfo(MCFixupKind Kind) const {
return Infos[Kind - FirstTargetFixupKind];
}
-void SystemZMCAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned DataSize, uint64_t Value,
- bool IsPCRel, MCContext &Ctx) const {
+void SystemZMCAsmBackend::applyFixup(const MCAssembler &Asm,
+ const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data, uint64_t Value,
+ bool IsPCRel) const {
MCFixupKind Kind = Fixup.getKind();
unsigned Offset = Fixup.getOffset();
unsigned BitSize = getFixupKindInfo(Kind).TargetSize;
unsigned Size = (BitSize + 7) / 8;
- assert(Offset + Size <= DataSize && "Invalid fixup offset!");
+ assert(Offset + Size <= Data.size() && "Invalid fixup offset!");
// Big-endian insertion of Size bytes.
Value = extractBitsForFixup(Kind, Value);
diff --git a/lib/Target/SystemZ/SystemZFrameLowering.cpp b/lib/Target/SystemZ/SystemZFrameLowering.cpp
index a28a91e834f6..0cb2b5a14ce7 100644
--- a/lib/Target/SystemZ/SystemZFrameLowering.cpp
+++ b/lib/Target/SystemZ/SystemZFrameLowering.cpp
@@ -277,8 +277,21 @@ void SystemZFrameLowering::
processFunctionBeforeFrameFinalized(MachineFunction &MF,
RegScavenger *RS) const {
MachineFrameInfo &MFFrame = MF.getFrameInfo();
- uint64_t MaxReach = (MFFrame.estimateStackSize(MF) +
- SystemZMC::CallFrameSize * 2);
+ // Get the size of our stack frame to be allocated ...
+ uint64_t StackSize = (MFFrame.estimateStackSize(MF) +
+ SystemZMC::CallFrameSize);
+ // ... and the maximum offset we may need to reach into the
+ // caller's frame to access the save area or stack arguments.
+ int64_t MaxArgOffset = SystemZMC::CallFrameSize;
+ for (int I = MFFrame.getObjectIndexBegin(); I != 0; ++I)
+ if (MFFrame.getObjectOffset(I) >= 0) {
+ int64_t ArgOffset = SystemZMC::CallFrameSize +
+ MFFrame.getObjectOffset(I) +
+ MFFrame.getObjectSize(I);
+ MaxArgOffset = std::max(MaxArgOffset, ArgOffset);
+ }
+
+ uint64_t MaxReach = StackSize + MaxArgOffset;
if (!isUInt<12>(MaxReach)) {
// We may need register scavenging slots if some parts of the frame
// are outside the reach of an unsigned 12-bit displacement.
diff --git a/lib/Target/SystemZ/SystemZISelLowering.cpp b/lib/Target/SystemZ/SystemZISelLowering.cpp
index ac4c3f6db684..fef4a8c92a36 100644
--- a/lib/Target/SystemZ/SystemZISelLowering.cpp
+++ b/lib/Target/SystemZ/SystemZISelLowering.cpp
@@ -1322,11 +1322,6 @@ SystemZTargetLowering::LowerReturn(SDValue Chain, CallingConv::ID CallConv,
return DAG.getNode(SystemZISD::RET_FLAG, DL, MVT::Other, RetOps);
}
-SDValue SystemZTargetLowering::prepareVolatileOrAtomicLoad(
- SDValue Chain, const SDLoc &DL, SelectionDAG &DAG) const {
- return DAG.getNode(SystemZISD::SERIALIZE, DL, MVT::Other, Chain);
-}
-
// Return true if Op is an intrinsic node with chain that returns the CC value
// as its only (other) argument. Provide the associated SystemZISD opcode and
// the mask of valid CC values if so.
@@ -2059,6 +2054,7 @@ static void adjustForTestUnderMask(SelectionDAG &DAG, const SDLoc &DL,
if (NewC.ICmpType != SystemZICMP::SignedOnly &&
NewC.Op0.getOpcode() == ISD::SHL &&
isSimpleShift(NewC.Op0, ShiftVal) &&
+ (MaskVal >> ShiftVal != 0) &&
(NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask,
MaskVal >> ShiftVal,
CmpVal >> ShiftVal,
@@ -2068,6 +2064,7 @@ static void adjustForTestUnderMask(SelectionDAG &DAG, const SDLoc &DL,
} else if (NewC.ICmpType != SystemZICMP::SignedOnly &&
NewC.Op0.getOpcode() == ISD::SRL &&
isSimpleShift(NewC.Op0, ShiftVal) &&
+ (MaskVal << ShiftVal != 0) &&
(NewCCMask = getTestUnderMaskCond(BitSize, NewC.CCMask,
MaskVal << ShiftVal,
CmpVal << ShiftVal,
@@ -3212,12 +3209,15 @@ SDValue SystemZTargetLowering::lowerATOMIC_FENCE(SDValue Op,
return DAG.getNode(SystemZISD::MEMBARRIER, DL, MVT::Other, Op.getOperand(0));
}
-// Op is an atomic load. Lower it into a normal volatile load.
+// Op is an atomic load. Lower it into a serialization followed
+// by a normal volatile load.
SDValue SystemZTargetLowering::lowerATOMIC_LOAD(SDValue Op,
SelectionDAG &DAG) const {
auto *Node = cast<AtomicSDNode>(Op.getNode());
+ SDValue Chain = SDValue(DAG.getMachineNode(SystemZ::Serialize, SDLoc(Op),
+ MVT::Other, Node->getChain()), 0);
return DAG.getExtLoad(ISD::EXTLOAD, SDLoc(Op), Op.getValueType(),
- Node->getChain(), Node->getBasePtr(),
+ Chain, Node->getBasePtr(),
Node->getMemoryVT(), Node->getMemOperand());
}
@@ -4688,7 +4688,6 @@ const char *SystemZTargetLowering::getTargetNodeName(unsigned Opcode) const {
OPCODE(STRCMP);
OPCODE(SEARCH_STRING);
OPCODE(IPM);
- OPCODE(SERIALIZE);
OPCODE(MEMBARRIER);
OPCODE(TBEGIN);
OPCODE(TBEGIN_NOFLOAT);
diff --git a/lib/Target/SystemZ/SystemZISelLowering.h b/lib/Target/SystemZ/SystemZISelLowering.h
index 79c8c4d92669..5dcb19c0a35d 100644
--- a/lib/Target/SystemZ/SystemZISelLowering.h
+++ b/lib/Target/SystemZ/SystemZISelLowering.h
@@ -139,9 +139,6 @@ enum NodeType : unsigned {
// Store the CC value in bits 29 and 28 of an integer.
IPM,
- // Perform a serialization operation. (BCR 15,0 or BCR 14,0.)
- SERIALIZE,
-
// Compiler barrier only; generate a no-op.
MEMBARRIER,
@@ -471,8 +468,6 @@ public:
const SmallVectorImpl<ISD::OutputArg> &Outs,
const SmallVectorImpl<SDValue> &OutVals, const SDLoc &DL,
SelectionDAG &DAG) const override;
- SDValue prepareVolatileOrAtomicLoad(SDValue Chain, const SDLoc &DL,
- SelectionDAG &DAG) const override;
SDValue PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const override;
ISD::NodeType getExtendForAtomicOps() const override {
@@ -522,7 +517,6 @@ private:
unsigned Opcode) const;
SDValue lowerATOMIC_LOAD_SUB(SDValue Op, SelectionDAG &DAG) const;
SDValue lowerATOMIC_CMP_SWAP(SDValue Op, SelectionDAG &DAG) const;
- SDValue lowerLOAD_SEQUENCE_POINT(SDValue Op, SelectionDAG &DAG) const;
SDValue lowerSTACKSAVE(SDValue Op, SelectionDAG &DAG) const;
SDValue lowerSTACKRESTORE(SDValue Op, SelectionDAG &DAG) const;
SDValue lowerPREFETCH(SDValue Op, SelectionDAG &DAG) const;
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.td b/lib/Target/SystemZ/SystemZInstrInfo.td
index fa5ecdd85243..9f5e6288348e 100644
--- a/lib/Target/SystemZ/SystemZInstrInfo.td
+++ b/lib/Target/SystemZ/SystemZInstrInfo.td
@@ -189,18 +189,15 @@ let isBranch = 1, isTerminator = 1 in {
//===----------------------------------------------------------------------===//
// Unconditional trap.
-// FIXME: This trap instruction should be marked as isTerminator, but there is
-// currently a general bug that allows non-terminators to be placed between
-// terminators. Temporarily leave this unmarked until the bug is fixed.
-let isBarrier = 1, hasCtrlDep = 1 in
+let hasCtrlDep = 1 in
def Trap : Alias<4, (outs), (ins), [(trap)]>;
// Conditional trap.
-let isTerminator = 1, hasCtrlDep = 1, Uses = [CC] in
+let hasCtrlDep = 1, Uses = [CC] in
def CondTrap : Alias<4, (outs), (ins cond4:$valid, cond4:$R1), []>;
// Fused compare-and-trap instructions.
-let isTerminator = 1, hasCtrlDep = 1 in {
+let hasCtrlDep = 1 in {
// These patterns work the same way as for compare-and-branch.
defm CRT : CmpBranchRRFcPair<"crt", 0xB972, GR32>;
defm CGRT : CmpBranchRRFcPair<"cgrt", 0xB960, GR64>;
@@ -1449,7 +1446,7 @@ let Predicates = [FeatureExecutionHint] in {
// A serialization instruction that acts as a barrier for all memory
// accesses, which expands to "bcr 14, 0".
let hasSideEffects = 1 in
-def Serialize : Alias<2, (outs), (ins), [(z_serialize)]>;
+def Serialize : Alias<2, (outs), (ins), []>;
// A pseudo instruction that serves as a compiler barrier.
let hasSideEffects = 1, hasNoSchedulingInfo = 1 in
diff --git a/lib/Target/SystemZ/SystemZMachineScheduler.cpp b/lib/Target/SystemZ/SystemZMachineScheduler.cpp
index ab6020f3f189..b6feaa49d858 100644
--- a/lib/Target/SystemZ/SystemZMachineScheduler.cpp
+++ b/lib/Target/SystemZ/SystemZMachineScheduler.cpp
@@ -23,7 +23,7 @@ using namespace llvm;
#ifndef NDEBUG
// Print the set of SUs
void SystemZPostRASchedStrategy::SUSet::
-dump(SystemZHazardRecognizer &HazardRec) {
+dump(SystemZHazardRecognizer &HazardRec) const {
dbgs() << "{";
for (auto &SU : *this) {
HazardRec.dumpSU(SU, dbgs());
diff --git a/lib/Target/SystemZ/SystemZMachineScheduler.h b/lib/Target/SystemZ/SystemZMachineScheduler.h
index 12357e0348a9..3dfef388691e 100644
--- a/lib/Target/SystemZ/SystemZMachineScheduler.h
+++ b/lib/Target/SystemZ/SystemZMachineScheduler.h
@@ -72,7 +72,7 @@ class SystemZPostRASchedStrategy : public MachineSchedStrategy {
// A set of SUs with a sorter and dump method.
struct SUSet : std::set<SUnit*, SUSorter> {
#ifndef NDEBUG
- void dump(SystemZHazardRecognizer &HazardRec);
+ void dump(SystemZHazardRecognizer &HazardRec) const;
#endif
};
diff --git a/lib/Target/SystemZ/SystemZOperators.td b/lib/Target/SystemZ/SystemZOperators.td
index adfc69c5d4cf..ab2392809f3b 100644
--- a/lib/Target/SystemZ/SystemZOperators.td
+++ b/lib/Target/SystemZ/SystemZOperators.td
@@ -191,8 +191,6 @@ def z_sdivrem64 : SDNode<"SystemZISD::SDIVREM64", SDT_ZGR128Binary64>;
def z_udivrem32 : SDNode<"SystemZISD::UDIVREM32", SDT_ZGR128Binary32>;
def z_udivrem64 : SDNode<"SystemZISD::UDIVREM64", SDT_ZGR128Binary64>;
-def z_serialize : SDNode<"SystemZISD::SERIALIZE", SDTNone,
- [SDNPHasChain, SDNPMayStore]>;
def z_membarrier : SDNode<"SystemZISD::MEMBARRIER", SDTNone,
[SDNPHasChain, SDNPSideEffect]>;
diff --git a/lib/Target/SystemZ/SystemZTargetMachine.h b/lib/Target/SystemZ/SystemZTargetMachine.h
index eb2f17a2091c..a10ca64fa632 100644
--- a/lib/Target/SystemZ/SystemZTargetMachine.h
+++ b/lib/Target/SystemZ/SystemZTargetMachine.h
@@ -51,8 +51,6 @@ public:
}
bool targetSchedulesPostRAScheduling() const override { return true; };
-
- bool isMachineVerifierClean() const override { return false; }
};
} // end namespace llvm
diff --git a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
index 4f20096c1583..1357cb5735f8 100644
--- a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
+++ b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
@@ -37,8 +37,9 @@ public:
: MCAsmBackend(), Is64Bit(Is64Bit) {}
~WebAssemblyAsmBackendELF() override {}
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const override;
@@ -77,8 +78,9 @@ public:
const MCFixupKindInfo &getFixupKindInfo(MCFixupKind Kind) const override;
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override;
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override;
MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const override;
@@ -105,9 +107,11 @@ bool WebAssemblyAsmBackendELF::writeNopData(uint64_t Count,
return true;
}
-void WebAssemblyAsmBackendELF::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned DataSize, uint64_t Value,
- bool IsPCRel, MCContext &Ctx) const {
+void WebAssemblyAsmBackendELF::applyFixup(const MCAssembler &Asm,
+ const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const {
const MCFixupKindInfo &Info = getFixupKindInfo(Fixup.getKind());
assert(Info.Flags == 0 && "WebAssembly does not use MCFixupKindInfo flags");
@@ -119,7 +123,7 @@ void WebAssemblyAsmBackendELF::applyFixup(const MCFixup &Fixup, char *Data,
Value <<= Info.TargetOffset;
unsigned Offset = Fixup.getOffset();
- assert(Offset + NumBytes <= DataSize && "Invalid fixup offset!");
+ assert(Offset + NumBytes <= Data.size() && "Invalid fixup offset!");
// For each byte of the fragment that the fixup touches, mask in the
// bits from the fixup value.
@@ -163,9 +167,11 @@ bool WebAssemblyAsmBackend::writeNopData(uint64_t Count,
return true;
}
-void WebAssemblyAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
- unsigned DataSize, uint64_t Value,
- bool IsPCRel, MCContext &Ctx) const {
+void WebAssemblyAsmBackend::applyFixup(const MCAssembler &Asm,
+ const MCFixup &Fixup,
+ const MCValue &Target,
+ MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const {
const MCFixupKindInfo &Info = getFixupKindInfo(Fixup.getKind());
assert(Info.Flags == 0 && "WebAssembly does not use MCFixupKindInfo flags");
@@ -177,7 +183,7 @@ void WebAssemblyAsmBackend::applyFixup(const MCFixup &Fixup, char *Data,
Value <<= Info.TargetOffset;
unsigned Offset = Fixup.getOffset();
- assert(Offset + NumBytes <= DataSize && "Invalid fixup offset!");
+ assert(Offset + NumBytes <= Data.size() && "Invalid fixup offset!");
// For each byte of the fragment that the fixup touches, mask in the
// bits from the fixup value.
diff --git a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
index c56c591def36..3e3b52fca569 100644
--- a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
+++ b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
@@ -36,7 +36,6 @@ STATISTIC(MCNumFixups, "Number of MC fixups created.");
namespace {
class WebAssemblyMCCodeEmitter final : public MCCodeEmitter {
const MCInstrInfo &MCII;
- MCContext &Ctx;
// Implementation generated by tablegen.
uint64_t getBinaryCodeForInstr(const MCInst &MI,
@@ -48,14 +47,12 @@ class WebAssemblyMCCodeEmitter final : public MCCodeEmitter {
const MCSubtargetInfo &STI) const override;
public:
- WebAssemblyMCCodeEmitter(const MCInstrInfo &mcii, MCContext &ctx)
- : MCII(mcii), Ctx(ctx) {}
+ WebAssemblyMCCodeEmitter(const MCInstrInfo &mcii) : MCII(mcii) {}
};
} // end anonymous namespace
-MCCodeEmitter *llvm::createWebAssemblyMCCodeEmitter(const MCInstrInfo &MCII,
- MCContext &Ctx) {
- return new WebAssemblyMCCodeEmitter(MCII, Ctx);
+MCCodeEmitter *llvm::createWebAssemblyMCCodeEmitter(const MCInstrInfo &MCII) {
+ return new WebAssemblyMCCodeEmitter(MCII);
}
void WebAssemblyMCCodeEmitter::encodeInstruction(
@@ -89,11 +86,7 @@ void WebAssemblyMCCodeEmitter::encodeInstruction(
} else if (Info.OperandType == WebAssembly::OPERAND_I64IMM) {
encodeSLEB128(int64_t(MO.getImm()), OS);
} else if (Info.OperandType == WebAssembly::OPERAND_GLOBAL) {
- Fixups.push_back(MCFixup::create(
- OS.tell() - Start, MCConstantExpr::create(MO.getImm(), Ctx),
- MCFixupKind(WebAssembly::fixup_code_global_index), MI.getLoc()));
- ++MCNumFixups;
- encodeULEB128(uint64_t(MO.getImm()), OS);
+ llvm_unreachable("wasm globals should only be accessed symbolicly");
} else if (Info.OperandType == WebAssembly::OPERAND_SIGNATURE) {
encodeSLEB128(int64_t(MO.getImm()), OS);
} else {
@@ -135,6 +128,9 @@ void WebAssemblyMCCodeEmitter::encodeInstruction(
Info.OperandType == WebAssembly::OPERAND_TYPEINDEX) {
FixupKind = MCFixupKind(WebAssembly::fixup_code_uleb128_i32);
PaddedSize = 5;
+ } else if (Info.OperandType == WebAssembly::OPERAND_GLOBAL) {
+ FixupKind = MCFixupKind(WebAssembly::fixup_code_global_index);
+ PaddedSize = 5;
} else {
llvm_unreachable("unexpected symbolic operand kind");
}
diff --git a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
index 9fd3ec81c258..9580eeaa33d7 100644
--- a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
+++ b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
@@ -74,7 +74,7 @@ static MCInstPrinter *createMCInstPrinter(const Triple & /*T*/,
static MCCodeEmitter *createCodeEmitter(const MCInstrInfo &MCII,
const MCRegisterInfo & /*MRI*/,
MCContext &Ctx) {
- return createWebAssemblyMCCodeEmitter(MCII, Ctx);
+ return createWebAssemblyMCCodeEmitter(MCII);
}
static MCAsmBackend *createAsmBackend(const Target & /*T*/,
diff --git a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
index 0ba700a86b74..4d676c32a09c 100644
--- a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
+++ b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
@@ -35,8 +35,7 @@ class raw_pwrite_stream;
Target &getTheWebAssemblyTarget32();
Target &getTheWebAssemblyTarget64();
-MCCodeEmitter *createWebAssemblyMCCodeEmitter(const MCInstrInfo &MCII,
- MCContext &Ctx);
+MCCodeEmitter *createWebAssemblyMCCodeEmitter(const MCInstrInfo &MCII);
MCAsmBackend *createWebAssemblyAsmBackend(const Triple &TT);
diff --git a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
index 19e14f3261aa..9cf77829f3bc 100644
--- a/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
+++ b/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
@@ -68,6 +68,8 @@ WebAssemblyWasmObjectWriter::getRelocType(const MCValue &Target,
bool IsFunction = IsFunctionExpr(Fixup.getValue());
switch (unsigned(Fixup.getKind())) {
+ case WebAssembly::fixup_code_global_index:
+ return wasm::R_WEBASSEMBLY_GLOBAL_INDEX_LEB;
case WebAssembly::fixup_code_sleb128_i32:
if (IsFunction)
return wasm::R_WEBASSEMBLY_TABLE_INDEX_SLEB;
diff --git a/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp b/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
index b999091e2d29..f51585a10ca1 100644
--- a/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
+++ b/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
@@ -96,13 +96,6 @@ void WebAssemblyAsmPrinter::EmitEndOfAsmFile(Module &M) {
MCConstantExpr::create(Size, OutContext));
}
}
-
- if (!TM.getTargetTriple().isOSBinFormatELF()) {
- MachineModuleInfoWasm &MMIW = MMI->getObjFileInfo<MachineModuleInfoWasm>();
- getTargetStreamer()->emitGlobal(MMIW.getGlobals());
- if (MMIW.hasStackPointerGlobal())
- getTargetStreamer()->emitStackPointer(MMIW.getStackPointerGlobal());
- }
}
void WebAssemblyAsmPrinter::EmitConstantPool() {
diff --git a/lib/Target/WebAssembly/WebAssemblyFastISel.cpp b/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
index 09338a4898e0..c980f4b87f91 100644
--- a/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
+++ b/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
@@ -63,12 +63,16 @@ class WebAssemblyFastISel final : public FastISel {
public:
// Innocuous defaults for our address.
Address() : Kind(RegBase), Offset(0), GV(0) { Base.Reg = 0; }
- void setKind(BaseKind K) { Kind = K; }
+ void setKind(BaseKind K) {
+ assert(!isSet() && "Can't change kind with non-zero base");
+ Kind = K;
+ }
BaseKind getKind() const { return Kind; }
bool isRegBase() const { return Kind == RegBase; }
bool isFIBase() const { return Kind == FrameIndexBase; }
void setReg(unsigned Reg) {
assert(isRegBase() && "Invalid base register access!");
+ assert(Base.Reg == 0 && "Overwriting non-zero register");
Base.Reg = Reg;
}
unsigned getReg() const {
@@ -77,6 +81,7 @@ class WebAssemblyFastISel final : public FastISel {
}
void setFI(unsigned FI) {
assert(isFIBase() && "Invalid base frame index access!");
+ assert(Base.FI == 0 && "Overwriting non-zero frame index");
Base.FI = FI;
}
unsigned getFI() const {
@@ -91,6 +96,13 @@ class WebAssemblyFastISel final : public FastISel {
int64_t getOffset() const { return Offset; }
void setGlobalValue(const GlobalValue *G) { GV = G; }
const GlobalValue *getGlobalValue() const { return GV; }
+ bool isSet() const {
+ if (isRegBase()) {
+ return Base.Reg != 0;
+ } else {
+ return Base.FI != 0;
+ }
+ }
};
/// Keep a pointer to the WebAssemblySubtarget around so that we can make the
@@ -297,6 +309,9 @@ bool WebAssemblyFastISel::computeAddress(const Value *Obj, Address &Addr) {
DenseMap<const AllocaInst *, int>::iterator SI =
FuncInfo.StaticAllocaMap.find(AI);
if (SI != FuncInfo.StaticAllocaMap.end()) {
+ if (Addr.isSet()) {
+ return false;
+ }
Addr.setKind(Address::FrameIndexBase);
Addr.setFI(SI->second);
return true;
@@ -341,6 +356,9 @@ bool WebAssemblyFastISel::computeAddress(const Value *Obj, Address &Addr) {
break;
}
}
+ if (Addr.isSet()) {
+ return false;
+ }
Addr.setReg(getRegForValue(Obj));
return Addr.getReg() != 0;
}
diff --git a/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp b/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
index 4209bc333f23..a37d6136e44e 100644
--- a/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
+++ b/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
@@ -104,10 +104,10 @@ static void writeSPToMemory(unsigned SrcReg, MachineFunction &MF,
const DebugLoc &DL) {
const auto *TII = MF.getSubtarget<WebAssemblySubtarget>().getInstrInfo();
+ const char *ES = "__stack_pointer";
+ auto *SPSymbol = MF.createExternalSymbolName(ES);
if (MF.getSubtarget<WebAssemblySubtarget>()
.getTargetTriple().isOSBinFormatELF()) {
- const char *ES = "__stack_pointer";
- auto *SPSymbol = MF.createExternalSymbolName(ES);
MachineRegisterInfo &MRI = MF.getRegInfo();
const TargetRegisterClass *PtrRC =
MRI.getTargetRegisterInfo()->getPointerRegClass(MF);
@@ -125,10 +125,8 @@ static void writeSPToMemory(unsigned SrcReg, MachineFunction &MF,
.addReg(SrcReg)
.addMemOperand(MMO);
} else {
- MachineModuleInfoWasm &MMIW =
- MF.getMMI().getObjFileInfo<MachineModuleInfoWasm>();
BuildMI(MBB, InsertStore, DL, TII->get(WebAssembly::SET_GLOBAL_I32))
- .addImm(MMIW.getStackPointerGlobal())
+ .addExternalSymbol(SPSymbol)
.addReg(SrcReg);
}
}
@@ -171,10 +169,11 @@ void WebAssemblyFrameLowering::emitPrologue(MachineFunction &MF,
unsigned SPReg = WebAssembly::SP32;
if (StackSize)
SPReg = MRI.createVirtualRegister(PtrRC);
+
+ const char *ES = "__stack_pointer";
+ auto *SPSymbol = MF.createExternalSymbolName(ES);
if (MF.getSubtarget<WebAssemblySubtarget>()
.getTargetTriple().isOSBinFormatELF()) {
- const char *ES = "__stack_pointer";
- auto *SPSymbol = MF.createExternalSymbolName(ES);
unsigned Zero = MRI.createVirtualRegister(PtrRC);
BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::CONST_I32), Zero)
@@ -189,22 +188,8 @@ void WebAssemblyFrameLowering::emitPrologue(MachineFunction &MF,
.addReg(Zero) // addr
.addMemOperand(LoadMMO);
} else {
- auto &MMIW = MF.getMMI().getObjFileInfo<MachineModuleInfoWasm>();
- if (!MMIW.hasStackPointerGlobal()) {
- MMIW.setStackPointerGlobal(MMIW.getGlobals().size());
-
- // Create the stack-pointer global. For now, just use the
- // Emscripten/Binaryen ABI names.
- wasm::Global G;
- G.Type = wasm::ValType::I32;
- G.Mutable = true;
- G.InitialValue = 0;
- G.InitialModule = "env";
- G.InitialName = "STACKTOP";
- MMIW.addGlobal(G);
- }
BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::GET_GLOBAL_I32), SPReg)
- .addImm(MMIW.getStackPointerGlobal());
+ .addExternalSymbol(SPSymbol);
}
bool HasBP = hasBP(MF);
diff --git a/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp b/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
index 6650191807dc..ea9e3fa862ce 100644
--- a/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
+++ b/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
@@ -170,28 +170,16 @@ static void Query(const MachineInstr &MI, AliasAnalysis &AA, bool &Read,
if (MI.mayStore()) {
Write = true;
- const MachineFunction &MF = *MI.getParent()->getParent();
- if (MF.getSubtarget<WebAssemblySubtarget>()
- .getTargetTriple().isOSBinFormatELF()) {
- // Check for stores to __stack_pointer.
- for (auto MMO : MI.memoperands()) {
- const MachinePointerInfo &MPI = MMO->getPointerInfo();
- if (MPI.V.is<const PseudoSourceValue *>()) {
- auto PSV = MPI.V.get<const PseudoSourceValue *>();
- if (const ExternalSymbolPseudoSourceValue *EPSV =
- dyn_cast<ExternalSymbolPseudoSourceValue>(PSV))
- if (StringRef(EPSV->getSymbol()) == "__stack_pointer")
- StackPointer = true;
- }
- }
- } else {
- // Check for sets of the stack pointer.
- const MachineModuleInfoWasm &MMIW =
- MF.getMMI().getObjFileInfo<MachineModuleInfoWasm>();
- if ((MI.getOpcode() == WebAssembly::SET_LOCAL_I32 ||
- MI.getOpcode() == WebAssembly::SET_LOCAL_I64) &&
- MI.getOperand(0).getImm() == MMIW.getStackPointerGlobal()) {
- StackPointer = true;
+ // Check for stores to __stack_pointer.
+ for (auto MMO : MI.memoperands()) {
+ const MachinePointerInfo &MPI = MMO->getPointerInfo();
+ if (MPI.V.is<const PseudoSourceValue *>()) {
+ auto PSV = MPI.V.get<const PseudoSourceValue *>();
+ if (const ExternalSymbolPseudoSourceValue *EPSV =
+ dyn_cast<ExternalSymbolPseudoSourceValue>(PSV))
+ if (StringRef(EPSV->getSymbol()) == "__stack_pointer") {
+ StackPointer = true;
+ }
}
}
} else if (MI.hasOrderedMemoryRef()) {
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp
index e5d3209ec6a9..d30cc724c203 100644
--- a/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -1705,8 +1705,7 @@ bool X86AsmParser::ParseIntelDotOperator(const MCExpr *Disp,
if (isParsingInlineAsm() && Tok.is(AsmToken::Identifier)) {
SMLoc Loc = SMLoc::getFromPointer(DotDispStr.data());
unsigned Len = DotDispStr.size();
- unsigned Val = OrigDispVal + DotDispVal;
- InstInfo->AsmRewrites->emplace_back(AOK_DotOperator, Loc, Len, Val);
+ InstInfo->AsmRewrites->emplace_back(AOK_DotOperator, Loc, Len, DotDispVal);
}
NewDisp = MCConstantExpr::create(OrigDispVal + DotDispVal, getContext());
diff --git a/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
index 7a9e4f4468ec..914fb36f91a7 100644
--- a/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
+++ b/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
@@ -108,12 +108,12 @@ public:
return Infos[Kind - FirstTargetFixupKind];
}
- void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
- uint64_t Value, bool IsPCRel, MCContext &Ctx) const override {
+ void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,
+ const MCValue &Target, MutableArrayRef<char> Data,
+ uint64_t Value, bool IsPCRel) const override {
unsigned Size = 1 << getFixupKindLog2Size(Fixup.getKind());
- assert(Fixup.getOffset() + Size <= DataSize &&
- "Invalid fixup offset!");
+ assert(Fixup.getOffset() + Size <= Data.size() && "Invalid fixup offset!");
// Check that uppper bits are either all zeros or all ones.
// Specifically ignore overflow/underflow as long as the leakage is
diff --git a/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp b/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
index 4097ef224d50..caf98bffb80d 100644
--- a/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
+++ b/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
@@ -153,8 +153,7 @@ void X86MachObjectWriter::RecordX86_64Relocation(
const MCSymbol *B_Base = Asm.getAtom(*B);
// Neither symbol can be modified.
- if (Target.getSymA()->getKind() != MCSymbolRefExpr::VK_None ||
- Target.getSymB()->getKind() != MCSymbolRefExpr::VK_None) {
+ if (Target.getSymA()->getKind() != MCSymbolRefExpr::VK_None) {
Asm.getContext().reportError(Fixup.getLoc(),
"unsupported relocation of modified symbol");
return;
diff --git a/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp b/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
index 105580c913a1..5892f1de33ee 100644
--- a/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
+++ b/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
@@ -10,6 +10,7 @@
#include "MCTargetDesc/X86FixupKinds.h"
#include "MCTargetDesc/X86MCTargetDesc.h"
#include "llvm/BinaryFormat/COFF.h"
+#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCFixup.h"
#include "llvm/MC/MCValue.h"
@@ -25,8 +26,8 @@ public:
X86WinCOFFObjectWriter(bool Is64Bit);
~X86WinCOFFObjectWriter() override = default;
- unsigned getRelocType(const MCValue &Target, const MCFixup &Fixup,
- bool IsCrossSection,
+ unsigned getRelocType(MCContext &Ctx, const MCValue &Target,
+ const MCFixup &Fixup, bool IsCrossSection,
const MCAsmBackend &MAB) const override;
};
@@ -36,11 +37,19 @@ X86WinCOFFObjectWriter::X86WinCOFFObjectWriter(bool Is64Bit)
: MCWinCOFFObjectTargetWriter(Is64Bit ? COFF::IMAGE_FILE_MACHINE_AMD64
: COFF::IMAGE_FILE_MACHINE_I386) {}
-unsigned X86WinCOFFObjectWriter::getRelocType(const MCValue &Target,
+unsigned X86WinCOFFObjectWriter::getRelocType(MCContext &Ctx,
+ const MCValue &Target,
const MCFixup &Fixup,
bool IsCrossSection,
const MCAsmBackend &MAB) const {
- unsigned FixupKind = IsCrossSection ? FK_PCRel_4 : Fixup.getKind();
+ unsigned FixupKind = Fixup.getKind();
+ if (IsCrossSection) {
+ if (FixupKind != FK_Data_4) {
+ Ctx.reportError(Fixup.getLoc(), "Cannot represent this expression");
+ return COFF::IMAGE_REL_AMD64_ADDR32;
+ }
+ FixupKind = FK_PCRel_4;
+ }
MCSymbolRefExpr::VariantKind Modifier = Target.isAbsolute() ?
MCSymbolRefExpr::VK_None : Target.getSymA()->getKind();
diff --git a/lib/Target/X86/X86FrameLowering.cpp b/lib/Target/X86/X86FrameLowering.cpp
index 2777fa89330f..e3aa227702be 100644
--- a/lib/Target/X86/X86FrameLowering.cpp
+++ b/lib/Target/X86/X86FrameLowering.cpp
@@ -748,17 +748,7 @@ void X86FrameLowering::emitStackProbeCall(MachineFunction &MF,
else
CallOp = X86::CALLpcrel32;
- const char *Symbol;
- if (Is64Bit) {
- if (STI.isTargetCygMing()) {
- Symbol = "___chkstk_ms";
- } else {
- Symbol = "__chkstk";
- }
- } else if (STI.isTargetCygMing())
- Symbol = "_alloca";
- else
- Symbol = "_chkstk";
+ StringRef Symbol = STI.getTargetLowering()->getStackProbeSymbolName(MF);
MachineInstrBuilder CI;
MachineBasicBlock::iterator ExpansionMBBI = std::prev(MBBI);
@@ -769,10 +759,11 @@ void X86FrameLowering::emitStackProbeCall(MachineFunction &MF,
// For the large code model, we have to call through a register. Use R11,
// as it is scratch in all supported calling conventions.
BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64ri), X86::R11)
- .addExternalSymbol(Symbol);
+ .addExternalSymbol(MF.createExternalSymbolName(Symbol));
CI = BuildMI(MBB, MBBI, DL, TII.get(CallOp)).addReg(X86::R11);
} else {
- CI = BuildMI(MBB, MBBI, DL, TII.get(CallOp)).addExternalSymbol(Symbol);
+ CI = BuildMI(MBB, MBBI, DL, TII.get(CallOp))
+ .addExternalSymbol(MF.createExternalSymbolName(Symbol));
}
unsigned AX = Is64Bit ? X86::RAX : X86::EAX;
@@ -783,13 +774,16 @@ void X86FrameLowering::emitStackProbeCall(MachineFunction &MF,
.addReg(SP, RegState::Define | RegState::Implicit)
.addReg(X86::EFLAGS, RegState::Define | RegState::Implicit);
- if (Is64Bit) {
+ if (STI.isTargetWin64() || !STI.isOSWindows()) {
+ // MSVC x32's _chkstk and cygwin/mingw's _alloca adjust %esp themselves.
// MSVC x64's __chkstk and cygwin/mingw's ___chkstk_ms do not adjust %rsp
- // themselves. It also does not clobber %rax so we can reuse it when
+ // themselves. They also does not clobber %rax so we can reuse it when
// adjusting %rsp.
- BuildMI(MBB, MBBI, DL, TII.get(X86::SUB64rr), X86::RSP)
- .addReg(X86::RSP)
- .addReg(X86::RAX);
+ // All other platforms do not specify a particular ABI for the stack probe
+ // function, so we arbitrarily define it to not adjust %esp/%rsp itself.
+ BuildMI(MBB, MBBI, DL, TII.get(getSUBrrOpcode(Is64Bit)), SP)
+ .addReg(SP)
+ .addReg(AX);
}
if (InProlog) {
@@ -978,7 +972,8 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF,
X86FI->setCalleeSavedFrameSize(
X86FI->getCalleeSavedFrameSize() - TailCallReturnAddrDelta);
- bool UseStackProbe = (STI.isOSWindows() && !STI.isTargetMachO());
+ bool UseRedZone = false;
+ bool UseStackProbe = !STI.getTargetLowering()->getStackProbeSymbolName(MF).empty();
// The default stack probe size is 4096 if the function has no stackprobesize
// attribute.
@@ -1007,6 +1002,7 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF,
!TRI->needsStackRealignment(MF) &&
!MFI.hasVarSizedObjects() && // No dynamic alloca.
!MFI.adjustsStack() && // No calls.
+ !UseStackProbe && // No stack probes.
!IsWin64CC && // Win64 has no Red Zone
!MFI.hasCopyImplyingStackAdjustment() && // Don't push and pop.
!MF.shouldSplitStack()) { // Regular stack
@@ -1015,6 +1011,7 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF,
X86FI->setUsesRedZone(MinSize > 0 || StackSize > 0);
StackSize = std::max(MinSize, StackSize > 128 ? StackSize - 128 : 0);
MFI.setStackSize(StackSize);
+ UseRedZone = true;
}
// Insert stack pointer adjustment for later moving of return addr. Only
@@ -1192,6 +1189,8 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF,
if (IsWin64Prologue && !IsFunclet && TRI->needsStackRealignment(MF))
AlignedNumBytes = alignTo(AlignedNumBytes, MaxAlign);
if (AlignedNumBytes >= StackProbeSize && UseStackProbe) {
+ assert(!UseRedZone && "The Red Zone is not accounted for in stack probes");
+
// Check whether EAX is livein for this block.
bool isEAXAlive = isEAXLiveIn(MBB);
diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp
index 2a1633de0a23..3c4589ab18f6 100644
--- a/lib/Target/X86/X86ISelDAGToDAG.cpp
+++ b/lib/Target/X86/X86ISelDAGToDAG.cpp
@@ -204,6 +204,11 @@ namespace {
bool selectVectorAddr(SDNode *Parent, SDValue N, SDValue &Base,
SDValue &Scale, SDValue &Index, SDValue &Disp,
SDValue &Segment);
+ template <class GatherScatterSDNode>
+ bool selectAddrOfGatherScatterNode(GatherScatterSDNode *Parent, SDValue N,
+ SDValue &Base, SDValue &Scale,
+ SDValue &Index, SDValue &Disp,
+ SDValue &Segment);
bool selectMOV64Imm32(SDValue N, SDValue &Imm);
bool selectLEAAddr(SDValue N, SDValue &Base,
SDValue &Scale, SDValue &Index, SDValue &Disp,
@@ -1415,13 +1420,10 @@ bool X86DAGToDAGISel::matchAddressBase(SDValue N, X86ISelAddressMode &AM) {
return false;
}
-bool X86DAGToDAGISel::selectVectorAddr(SDNode *Parent, SDValue N, SDValue &Base,
- SDValue &Scale, SDValue &Index,
- SDValue &Disp, SDValue &Segment) {
-
- MaskedGatherScatterSDNode *Mgs = dyn_cast<MaskedGatherScatterSDNode>(Parent);
- if (!Mgs)
- return false;
+template <class GatherScatterSDNode>
+bool X86DAGToDAGISel::selectAddrOfGatherScatterNode(
+ GatherScatterSDNode *Mgs, SDValue N, SDValue &Base, SDValue &Scale,
+ SDValue &Index, SDValue &Disp, SDValue &Segment) {
X86ISelAddressMode AM;
unsigned AddrSpace = Mgs->getPointerInfo().getAddrSpace();
// AddrSpace 256 -> GS, 257 -> FS, 258 -> SS.
@@ -1453,6 +1455,18 @@ bool X86DAGToDAGISel::selectVectorAddr(SDNode *Parent, SDValue N, SDValue &Base,
return true;
}
+bool X86DAGToDAGISel::selectVectorAddr(SDNode *Parent, SDValue N, SDValue &Base,
+ SDValue &Scale, SDValue &Index,
+ SDValue &Disp, SDValue &Segment) {
+ if (auto Mgs = dyn_cast<MaskedGatherScatterSDNode>(Parent))
+ return selectAddrOfGatherScatterNode<MaskedGatherScatterSDNode>(
+ Mgs, N, Base, Scale, Index, Disp, Segment);
+ if (auto X86Gather = dyn_cast<X86MaskedGatherSDNode>(Parent))
+ return selectAddrOfGatherScatterNode<X86MaskedGatherSDNode>(
+ X86Gather, N, Base, Scale, Index, Disp, Segment);
+ return false;
+}
+
/// Returns true if it is able to pattern match an addressing mode.
/// It returns the operands which make up the maximal addressing mode it can
/// match by reference.
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index 172eba0002d4..f777e5628988 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -1662,6 +1662,12 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
MaxStoresPerMemcpyOptSize = 4;
MaxStoresPerMemmove = 8; // For @llvm.memmove -> sequence of stores
MaxStoresPerMemmoveOptSize = 4;
+
+ // TODO: These control memcmp expansion in CGP and are set low to prevent
+ // altering the vector expansion for 16/32 byte memcmp in SelectionDAGBuilder.
+ MaxLoadsPerMemcmp = 1;
+ MaxLoadsPerMemcmpOptSize = 1;
+
// Set loop alignment to 2^ExperimentalPrefLoopAlignment bytes (default: 2^4).
setPrefLoopAlignment(ExperimentalPrefLoopAlignment);
@@ -14272,9 +14278,8 @@ SDValue X86TargetLowering::LowerINSERT_VECTOR_ELT(SDValue Op,
// If we are inserting a element, see if we can do this more efficiently with
// a blend shuffle with a rematerializable vector than a costly integer
// insertion.
- // TODO: pre-SSE41 targets will tend to use bit masking - this could still
- // be beneficial if we are inserting several zeros and can combine the masks.
- if ((IsZeroElt || IsAllOnesElt) && Subtarget.hasSSE41() && NumElts <= 8) {
+ if ((IsZeroElt || IsAllOnesElt) && Subtarget.hasSSE41() &&
+ 16 <= EltVT.getSizeInBits()) {
SmallVector<int, 8> BlendMask;
for (unsigned i = 0; i != NumElts; ++i)
BlendMask.push_back(i == IdxVal ? i + NumElts : i);
@@ -17621,23 +17626,21 @@ SDValue X86TargetLowering::LowerSELECT(SDValue Op, SelectionDAG &DAG) const {
if ((isAllOnesConstant(Op1) || isAllOnesConstant(Op2)) &&
(CondCode == X86::COND_E || CondCode == X86::COND_NE)) {
SDValue Y = isAllOnesConstant(Op2) ? Op1 : Op2;
-
SDValue CmpOp0 = Cmp.getOperand(0);
+
// Apply further optimizations for special cases
// (select (x != 0), -1, 0) -> neg & sbb
// (select (x == 0), 0, -1) -> neg & sbb
if (isNullConstant(Y) &&
- (isAllOnesConstant(Op1) == (CondCode == X86::COND_NE))) {
- SDVTList VTs = DAG.getVTList(CmpOp0.getValueType(), MVT::i32);
- SDValue Neg = DAG.getNode(X86ISD::SUB, DL, VTs,
- DAG.getConstant(0, DL,
- CmpOp0.getValueType()),
- CmpOp0);
- SDValue Res = DAG.getNode(X86ISD::SETCC_CARRY, DL, Op.getValueType(),
- DAG.getConstant(X86::COND_B, DL, MVT::i8),
- SDValue(Neg.getNode(), 1));
- return Res;
- }
+ (isAllOnesConstant(Op1) == (CondCode == X86::COND_NE))) {
+ SDVTList VTs = DAG.getVTList(CmpOp0.getValueType(), MVT::i32);
+ SDValue Zero = DAG.getConstant(0, DL, CmpOp0.getValueType());
+ SDValue Neg = DAG.getNode(X86ISD::SUB, DL, VTs, Zero, CmpOp0);
+ SDValue Res = DAG.getNode(X86ISD::SETCC_CARRY, DL, Op.getValueType(),
+ DAG.getConstant(X86::COND_B, DL, MVT::i8),
+ SDValue(Neg.getNode(), 1));
+ return Res;
+ }
Cmp = DAG.getNode(X86ISD::CMP, DL, MVT::i32,
CmpOp0, DAG.getConstant(1, DL, CmpOp0.getValueType()));
@@ -18648,8 +18651,9 @@ X86TargetLowering::LowerDYNAMIC_STACKALLOC(SDValue Op,
SelectionDAG &DAG) const {
MachineFunction &MF = DAG.getMachineFunction();
bool SplitStack = MF.shouldSplitStack();
+ bool EmitStackProbe = !getStackProbeSymbolName(MF).empty();
bool Lower = (Subtarget.isOSWindows() && !Subtarget.isTargetMachO()) ||
- SplitStack;
+ SplitStack || EmitStackProbe;
SDLoc dl(Op);
// Get the inputs.
@@ -23705,6 +23709,57 @@ static SDValue LowerMGATHER(SDValue Op, const X86Subtarget &Subtarget,
SDValue RetOps[] = {Exract, NewGather.getValue(1)};
return DAG.getMergeValues(RetOps, dl);
}
+ if (N->getMemoryVT() == MVT::v2i32 && Subtarget.hasVLX()) {
+ // There is a special case when the return type is v2i32 is illegal and
+ // the type legaizer extended it to v2i64. Without this conversion we end up
+ // with VPGATHERQQ (reading q-words from the memory) instead of VPGATHERQD.
+ // In order to avoid this situation, we'll build an X86 specific Gather node
+ // with index v2i64 and value type v4i32.
+ assert(VT == MVT::v2i64 && Src0.getValueType() == MVT::v2i64 &&
+ "Unexpected type in masked gather");
+ Src0 = DAG.getVectorShuffle(MVT::v4i32, dl,
+ DAG.getBitcast(MVT::v4i32, Src0),
+ DAG.getUNDEF(MVT::v4i32), { 0, 2, -1, -1 });
+ // The mask should match the destination type. Extending mask with zeroes
+ // is not necessary since instruction itself reads only two values from
+ // memory.
+ Mask = ExtendToType(Mask, MVT::v4i1, DAG, false);
+ SDValue Ops[] = { N->getChain(), Src0, Mask, N->getBasePtr(), Index };
+ SDValue NewGather = DAG.getTargetMemSDNode<X86MaskedGatherSDNode>(
+ DAG.getVTList(MVT::v4i32, MVT::Other), Ops, dl, N->getMemoryVT(),
+ N->getMemOperand());
+
+ SDValue Sext = getExtendInVec(X86ISD::VSEXT, dl, MVT::v2i64,
+ NewGather.getValue(0), DAG);
+ SDValue RetOps[] = { Sext, NewGather.getValue(1) };
+ return DAG.getMergeValues(RetOps, dl);
+ }
+ if (N->getMemoryVT() == MVT::v2f32 && Subtarget.hasVLX()) {
+ // This transformation is for optimization only.
+ // The type legalizer extended mask and index to 4 elements vector
+ // in order to match requirements of the common gather node - same
+ // vector width of index and value. X86 Gather node allows mismatch
+ // of vector width in order to select more optimal instruction at the
+ // end.
+ assert(VT == MVT::v4f32 && Src0.getValueType() == MVT::v4f32 &&
+ "Unexpected type in masked gather");
+ if (Mask.getOpcode() == ISD::CONCAT_VECTORS &&
+ ISD::isBuildVectorAllZeros(Mask.getOperand(1).getNode()) &&
+ Index.getOpcode() == ISD::CONCAT_VECTORS &&
+ Index.getOperand(1).isUndef()) {
+ Mask = ExtendToType(Mask.getOperand(0), MVT::v4i1, DAG, false);
+ Index = Index.getOperand(0);
+ } else
+ return Op;
+ SDValue Ops[] = { N->getChain(), Src0, Mask, N->getBasePtr(), Index };
+ SDValue NewGather = DAG.getTargetMemSDNode<X86MaskedGatherSDNode>(
+ DAG.getVTList(MVT::v4f32, MVT::Other), Ops, dl, N->getMemoryVT(),
+ N->getMemOperand());
+
+ SDValue RetOps[] = { NewGather.getValue(0), NewGather.getValue(1) };
+ return DAG.getMergeValues(RetOps, dl);
+
+ }
return Op;
}
@@ -24508,6 +24563,7 @@ const char *X86TargetLowering::getTargetNodeName(unsigned Opcode) const {
case X86ISD::CVTS2SI_RND: return "X86ISD::CVTS2SI_RND";
case X86ISD::CVTS2UI_RND: return "X86ISD::CVTS2UI_RND";
case X86ISD::LWPINS: return "X86ISD::LWPINS";
+ case X86ISD::MGATHER: return "X86ISD::MGATHER";
}
return nullptr;
}
@@ -29868,7 +29924,7 @@ static SDValue combineSelectOfTwoConstants(SDNode *N, SelectionDAG &DAG) {
if (N->getValueType(0) == MVT::i32)
Diff = (unsigned)Diff;
- bool isFastMultiplier = false;
+ bool IsFastMultiplier = false;
if (Diff < 10) {
switch ((unsigned char)Diff) {
default:
@@ -29880,12 +29936,12 @@ static SDValue combineSelectOfTwoConstants(SDNode *N, SelectionDAG &DAG) {
case 5: // result = lea base(cond, cond*4)
case 8: // result = lea base( , cond*8)
case 9: // result = lea base(cond, cond*8)
- isFastMultiplier = true;
+ IsFastMultiplier = true;
break;
}
}
- if (isFastMultiplier) {
+ if (IsFastMultiplier) {
APInt Diff = TrueC->getAPIntValue() - FalseC->getAPIntValue();
if (NeedsCondInvert) // Invert the condition if needed.
Cond = DAG.getNode(ISD::XOR, DL, Cond.getValueType(), Cond,
@@ -34841,23 +34897,56 @@ static SDValue combineAddOrSubToADCOrSBB(SDNode *N, SelectionDAG &DAG) {
!Cmp.getOperand(0).getValueType().isInteger())
return SDValue();
- // (cmp Z, 1) sets the carry flag if Z is 0.
SDValue Z = Cmp.getOperand(0);
- SDValue NewCmp = DAG.getNode(X86ISD::CMP, DL, MVT::i32, Z,
- DAG.getConstant(1, DL, Z.getValueType()));
+ EVT ZVT = Z.getValueType();
+
+ // If X is -1 or 0, then we have an opportunity to avoid constants required in
+ // the general case below.
+ if (auto *ConstantX = dyn_cast<ConstantSDNode>(X)) {
+ // 'neg' sets the carry flag when Z != 0, so create 0 or -1 using 'sbb' with
+ // fake operands:
+ // 0 - (Z != 0) --> sbb %eax, %eax, (neg Z)
+ // -1 + (Z == 0) --> sbb %eax, %eax, (neg Z)
+ if ((IsSub && CC == X86::COND_NE && ConstantX->isNullValue()) ||
+ (!IsSub && CC == X86::COND_E && ConstantX->isAllOnesValue())) {
+ SDValue Zero = DAG.getConstant(0, DL, ZVT);
+ SDVTList X86SubVTs = DAG.getVTList(ZVT, MVT::i32);
+ SDValue Neg = DAG.getNode(X86ISD::SUB, DL, X86SubVTs, Zero, Z);
+ return DAG.getNode(X86ISD::SETCC_CARRY, DL, VT,
+ DAG.getConstant(X86::COND_B, DL, MVT::i8),
+ SDValue(Neg.getNode(), 1));
+ }
+
+ // cmp with 1 sets the carry flag when Z == 0, so create 0 or -1 using 'sbb'
+ // with fake operands:
+ // 0 - (Z == 0) --> sbb %eax, %eax, (cmp Z, 1)
+ // -1 + (Z != 0) --> sbb %eax, %eax, (cmp Z, 1)
+ if ((IsSub && CC == X86::COND_E && ConstantX->isNullValue()) ||
+ (!IsSub && CC == X86::COND_NE && ConstantX->isAllOnesValue())) {
+ SDValue One = DAG.getConstant(1, DL, ZVT);
+ SDValue Cmp1 = DAG.getNode(X86ISD::CMP, DL, MVT::i32, Z, One);
+ return DAG.getNode(X86ISD::SETCC_CARRY, DL, VT,
+ DAG.getConstant(X86::COND_B, DL, MVT::i8), Cmp1);
+ }
+ }
- SDVTList VTs = DAG.getVTList(N->getValueType(0), MVT::i32);
+ // (cmp Z, 1) sets the carry flag if Z is 0.
+ SDValue One = DAG.getConstant(1, DL, ZVT);
+ SDValue Cmp1 = DAG.getNode(X86ISD::CMP, DL, MVT::i32, Z, One);
+
+ // Add the flags type for ADC/SBB nodes.
+ SDVTList VTs = DAG.getVTList(VT, MVT::i32);
// X - (Z != 0) --> sub X, (zext(setne Z, 0)) --> adc X, -1, (cmp Z, 1)
// X + (Z != 0) --> add X, (zext(setne Z, 0)) --> sbb X, -1, (cmp Z, 1)
if (CC == X86::COND_NE)
return DAG.getNode(IsSub ? X86ISD::ADC : X86ISD::SBB, DL, VTs, X,
- DAG.getConstant(-1ULL, DL, VT), NewCmp);
+ DAG.getConstant(-1ULL, DL, VT), Cmp1);
// X - (Z == 0) --> sub X, (zext(sete Z, 0)) --> sbb X, 0, (cmp Z, 1)
// X + (Z == 0) --> add X, (zext(sete Z, 0)) --> adc X, 0, (cmp Z, 1)
return DAG.getNode(IsSub ? X86ISD::SBB : X86ISD::ADC, DL, VTs, X,
- DAG.getConstant(0, DL, VT), NewCmp);
+ DAG.getConstant(0, DL, VT), Cmp1);
}
static SDValue combineLoopMAddPattern(SDNode *N, SelectionDAG &DAG,
@@ -34976,6 +35065,32 @@ static SDValue combineLoopSADPattern(SDNode *N, SelectionDAG &DAG,
return DAG.getNode(ISD::ADD, DL, VT, Sad, Phi);
}
+/// Convert vector increment or decrement to sub/add with an all-ones constant:
+/// add X, <1, 1...> --> sub X, <-1, -1...>
+/// sub X, <1, 1...> --> add X, <-1, -1...>
+/// The all-ones vector constant can be materialized using a pcmpeq instruction
+/// that is commonly recognized as an idiom (has no register dependency), so
+/// that's better/smaller than loading a splat 1 constant.
+static SDValue combineIncDecVector(SDNode *N, SelectionDAG &DAG) {
+ assert(N->getOpcode() == ISD::ADD || N->getOpcode() == ISD::SUB &&
+ "Unexpected opcode for increment/decrement transform");
+
+ // Pseudo-legality check: getOnesVector() expects one of these types, so bail
+ // out and wait for legalization if we have an unsupported vector length.
+ EVT VT = N->getValueType(0);
+ if (!VT.is128BitVector() && !VT.is256BitVector() && !VT.is512BitVector())
+ return SDValue();
+
+ SDNode *N1 = N->getOperand(1).getNode();
+ APInt SplatVal;
+ if (!ISD::isConstantSplatVector(N1, SplatVal) || !SplatVal.isOneValue())
+ return SDValue();
+
+ SDValue AllOnesVec = getOnesVector(VT, DAG, SDLoc(N));
+ unsigned NewOpcode = N->getOpcode() == ISD::ADD ? ISD::SUB : ISD::ADD;
+ return DAG.getNode(NewOpcode, SDLoc(N), VT, N->getOperand(0), AllOnesVec);
+}
+
static SDValue combineAdd(SDNode *N, SelectionDAG &DAG,
const X86Subtarget &Subtarget) {
const SDNodeFlags Flags = N->getFlags();
@@ -34995,6 +35110,9 @@ static SDValue combineAdd(SDNode *N, SelectionDAG &DAG,
isHorizontalBinOp(Op0, Op1, true))
return DAG.getNode(X86ISD::HADD, SDLoc(N), VT, Op0, Op1);
+ if (SDValue V = combineIncDecVector(N, DAG))
+ return V;
+
return combineAddOrSubToADCOrSBB(N, DAG);
}
@@ -35028,6 +35146,9 @@ static SDValue combineSub(SDNode *N, SelectionDAG &DAG,
isHorizontalBinOp(Op0, Op1, false))
return DAG.getNode(X86ISD::HSUB, SDLoc(N), VT, Op0, Op1);
+ if (SDValue V = combineIncDecVector(N, DAG))
+ return V;
+
return combineAddOrSubToADCOrSBB(N, DAG);
}
@@ -36335,3 +36456,22 @@ void X86TargetLowering::insertCopiesSplitCSR(
bool X86TargetLowering::supportSwiftError() const {
return Subtarget.is64Bit();
}
+
+/// Returns the name of the symbol used to emit stack probes or the empty
+/// string if not applicable.
+StringRef X86TargetLowering::getStackProbeSymbolName(MachineFunction &MF) const {
+ // If the function specifically requests stack probes, emit them.
+ if (MF.getFunction()->hasFnAttribute("probe-stack"))
+ return MF.getFunction()->getFnAttribute("probe-stack").getValueAsString();
+
+ // Generally, if we aren't on Windows, the platform ABI does not include
+ // support for stack probes, so don't emit them.
+ if (!Subtarget.isOSWindows() || Subtarget.isTargetMachO())
+ return "";
+
+ // We need a stack probe to conform to the Windows ABI. Choose the right
+ // symbol.
+ if (Subtarget.is64Bit())
+ return Subtarget.isTargetCygMing() ? "___chkstk_ms" : "__chkstk";
+ return Subtarget.isTargetCygMing() ? "_alloca" : "_chkstk";
+}
diff --git a/lib/Target/X86/X86ISelLowering.h b/lib/Target/X86/X86ISelLowering.h
index f51b6641db2f..e1ade92979dc 100644
--- a/lib/Target/X86/X86ISelLowering.h
+++ b/lib/Target/X86/X86ISelLowering.h
@@ -615,7 +615,10 @@ namespace llvm {
// Vector truncating store with unsigned/signed saturation
VTRUNCSTOREUS, VTRUNCSTORES,
// Vector truncating masked store with unsigned/signed saturation
- VMTRUNCSTOREUS, VMTRUNCSTORES
+ VMTRUNCSTOREUS, VMTRUNCSTORES,
+
+ // X86 specific gather
+ MGATHER
// WARNING: Do not add anything in the end unless you want the node to
// have memop! In fact, starting from FIRST_TARGET_MEMORY_OPCODE all
@@ -1056,6 +1059,8 @@ namespace llvm {
bool supportSwiftError() const override;
+ StringRef getStackProbeSymbolName(MachineFunction &MF) const override;
+
unsigned getMaxSupportedInterleaveFactor() const override { return 4; }
/// \brief Lower interleaved load(s) into target specific
@@ -1065,6 +1070,12 @@ namespace llvm {
ArrayRef<unsigned> Indices,
unsigned Factor) const override;
+ /// \brief Lower interleaved store(s) into target specific
+ /// instructions/intrinsics.
+ bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
+ unsigned Factor) const override;
+
+
void finalizeLowering(MachineFunction &MF) const override;
protected:
@@ -1397,6 +1408,19 @@ namespace llvm {
}
};
+ // X86 specific Gather node.
+ class X86MaskedGatherSDNode : public MaskedGatherScatterSDNode {
+ public:
+ X86MaskedGatherSDNode(unsigned Order,
+ const DebugLoc &dl, SDVTList VTs, EVT MemVT,
+ MachineMemOperand *MMO)
+ : MaskedGatherScatterSDNode(X86ISD::MGATHER, Order, dl, VTs, MemVT, MMO)
+ {}
+ static bool classof(const SDNode *N) {
+ return N->getOpcode() == X86ISD::MGATHER;
+ }
+ };
+
} // end namespace llvm
#endif // LLVM_LIB_TARGET_X86_X86ISELLOWERING_H
diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td
index 2620679df251..01a70323224c 100644
--- a/lib/Target/X86/X86InstrAVX512.td
+++ b/lib/Target/X86/X86InstrAVX512.td
@@ -7265,13 +7265,13 @@ avx512_rndscale_scalar<bits<8> opc, string OpcodeStr, X86VectorVTInfo _> {
let Predicates = [HasAVX512] in {
def : Pat<(ffloor _.FRC:$src), (COPY_TO_REGCLASS
(_.VT (!cast<Instruction>(NAME##r) (_.VT (IMPLICIT_DEF)),
- (_.VT (COPY_TO_REGCLASS _.FRC:$src, _.RC)), (i32 0x1))), _.FRC)>;
+ (_.VT (COPY_TO_REGCLASS _.FRC:$src, _.RC)), (i32 0x9))), _.FRC)>;
def : Pat<(fceil _.FRC:$src), (COPY_TO_REGCLASS
(_.VT (!cast<Instruction>(NAME##r) (_.VT (IMPLICIT_DEF)),
- (_.VT (COPY_TO_REGCLASS _.FRC:$src, _.RC)), (i32 0x2))), _.FRC)>;
+ (_.VT (COPY_TO_REGCLASS _.FRC:$src, _.RC)), (i32 0xa))), _.FRC)>;
def : Pat<(ftrunc _.FRC:$src), (COPY_TO_REGCLASS
(_.VT (!cast<Instruction>(NAME##r) (_.VT (IMPLICIT_DEF)),
- (_.VT (COPY_TO_REGCLASS _.FRC:$src, _.RC)), (i32 0x3))), _.FRC)>;
+ (_.VT (COPY_TO_REGCLASS _.FRC:$src, _.RC)), (i32 0xb))), _.FRC)>;
def : Pat<(frint _.FRC:$src), (COPY_TO_REGCLASS
(_.VT (!cast<Instruction>(NAME##r) (_.VT (IMPLICIT_DEF)),
(_.VT (COPY_TO_REGCLASS _.FRC:$src, _.RC)), (i32 0x4))), _.FRC)>;
@@ -7281,13 +7281,13 @@ avx512_rndscale_scalar<bits<8> opc, string OpcodeStr, X86VectorVTInfo _> {
def : Pat<(ffloor (_.ScalarLdFrag addr:$src)), (COPY_TO_REGCLASS
(_.VT (!cast<Instruction>(NAME##m) (_.VT (IMPLICIT_DEF)),
- addr:$src, (i32 0x1))), _.FRC)>;
+ addr:$src, (i32 0x9))), _.FRC)>;
def : Pat<(fceil (_.ScalarLdFrag addr:$src)), (COPY_TO_REGCLASS
(_.VT (!cast<Instruction>(NAME##m) (_.VT (IMPLICIT_DEF)),
- addr:$src, (i32 0x2))), _.FRC)>;
+ addr:$src, (i32 0xa))), _.FRC)>;
def : Pat<(ftrunc (_.ScalarLdFrag addr:$src)), (COPY_TO_REGCLASS
(_.VT (!cast<Instruction>(NAME##m) (_.VT (IMPLICIT_DEF)),
- addr:$src, (i32 0x3))), _.FRC)>;
+ addr:$src, (i32 0xb))), _.FRC)>;
def : Pat<(frint (_.ScalarLdFrag addr:$src)), (COPY_TO_REGCLASS
(_.VT (!cast<Instruction>(NAME##m) (_.VT (IMPLICIT_DEF)),
addr:$src, (i32 0x4))), _.FRC)>;
@@ -7869,7 +7869,7 @@ let Predicates = [HasVLX] in {
defm NAME##D##SUFF##Z128: avx512_gather<dopc, OpcodeStr##"d", _.info128,
vx128xmem, mgatherv4i32>, EVEX_V128;
defm NAME##Q##SUFF##Z128: avx512_gather<qopc, OpcodeStr##"q", _.info128,
- vx64xmem, mgatherv2i64>, EVEX_V128;
+ vx64xmem, X86mgatherv2i64>, EVEX_V128;
}
}
@@ -8471,26 +8471,26 @@ multiclass avx512_shuff_packed_128<string OpcodeStr, AVX512VLVectorVTInfo _,
}
let Predicates = [HasAVX512] in {
def : Pat<(v16f32 (ffloor VR512:$src)),
- (VRNDSCALEPSZrri VR512:$src, (i32 0x1))>;
+ (VRNDSCALEPSZrri VR512:$src, (i32 0x9))>;
def : Pat<(v16f32 (fnearbyint VR512:$src)),
(VRNDSCALEPSZrri VR512:$src, (i32 0xC))>;
def : Pat<(v16f32 (fceil VR512:$src)),
- (VRNDSCALEPSZrri VR512:$src, (i32 0x2))>;
+ (VRNDSCALEPSZrri VR512:$src, (i32 0xA))>;
def : Pat<(v16f32 (frint VR512:$src)),
(VRNDSCALEPSZrri VR512:$src, (i32 0x4))>;
def : Pat<(v16f32 (ftrunc VR512:$src)),
- (VRNDSCALEPSZrri VR512:$src, (i32 0x3))>;
+ (VRNDSCALEPSZrri VR512:$src, (i32 0xB))>;
def : Pat<(v8f64 (ffloor VR512:$src)),
- (VRNDSCALEPDZrri VR512:$src, (i32 0x1))>;
+ (VRNDSCALEPDZrri VR512:$src, (i32 0x9))>;
def : Pat<(v8f64 (fnearbyint VR512:$src)),
(VRNDSCALEPDZrri VR512:$src, (i32 0xC))>;
def : Pat<(v8f64 (fceil VR512:$src)),
- (VRNDSCALEPDZrri VR512:$src, (i32 0x2))>;
+ (VRNDSCALEPDZrri VR512:$src, (i32 0xA))>;
def : Pat<(v8f64 (frint VR512:$src)),
(VRNDSCALEPDZrri VR512:$src, (i32 0x4))>;
def : Pat<(v8f64 (ftrunc VR512:$src)),
- (VRNDSCALEPDZrri VR512:$src, (i32 0x3))>;
+ (VRNDSCALEPDZrri VR512:$src, (i32 0xB))>;
}
defm VSHUFF32X4 : avx512_shuff_packed_128<"vshuff32x4",avx512vl_f32_info, 0x23>,
diff --git a/lib/Target/X86/X86InstrFragmentsSIMD.td b/lib/Target/X86/X86InstrFragmentsSIMD.td
index c28b35b22977..8b5bbf24f6f6 100644
--- a/lib/Target/X86/X86InstrFragmentsSIMD.td
+++ b/lib/Target/X86/X86InstrFragmentsSIMD.td
@@ -641,7 +641,7 @@ def sdmem : Operand<v2f64> {
// SSE pattern fragments
//===----------------------------------------------------------------------===//
-// Vector load wrappers to prevent folding of non-temporal aligned loads on
+// Vector load wrappers to prevent folding of non-temporal aligned loads on
// supporting targets.
def vec128load : PatFrag<(ops node:$ptr), (load node:$ptr), [{
return !Subtarget->hasSSE41() || !cast<LoadSDNode>(N)->isNonTemporal() ||
@@ -754,16 +754,6 @@ def memopv4f32 : PatFrag<(ops node:$ptr), (v4f32 (memop node:$ptr))>;
def memopv2f64 : PatFrag<(ops node:$ptr), (v2f64 (memop node:$ptr))>;
def memopv2i64 : PatFrag<(ops node:$ptr), (v2i64 (memop node:$ptr))>;
-// These are needed to match a scalar memop that is used in a vector-only
-// math instruction such as the FP logical ops: andps, andnps, orps, xorps.
-// The memory operand is required to be a 128-bit load, so it must be converted
-// from a vector to a scalar.
-def memopfsf32_128 : PatFrag<(ops node:$ptr),
- (f32 (extractelt (memopv4f32 node:$ptr), (iPTR 0)))>;
-def memopfsf64_128 : PatFrag<(ops node:$ptr),
- (f64 (extractelt (memopv2f64 node:$ptr), (iPTR 0)))>;
-
-
// SSSE3 uses MMX registers for some instructions. They aren't aligned on a
// 16-byte boundary.
// FIXME: 8 byte alignment for mmx reads is not required
@@ -773,6 +763,9 @@ def memop64 : PatFrag<(ops node:$ptr), (load node:$ptr), [{
def memopmmx : PatFrag<(ops node:$ptr), (x86mmx (memop64 node:$ptr))>;
+def X86masked_gather : SDNode<"X86ISD::MGATHER", SDTMaskedGather,
+ [SDNPHasChain, SDNPMayLoad, SDNPMemOperand]>;
+
def mgatherv4i32 : PatFrag<(ops node:$src1, node:$src2, node:$src3),
(masked_gather node:$src1, node:$src2, node:$src3) , [{
if (MaskedGatherSDNode *Mgt = dyn_cast<MaskedGatherSDNode>(N))
@@ -796,6 +789,15 @@ def mgatherv2i64 : PatFrag<(ops node:$src1, node:$src2, node:$src3),
Mgt->getBasePtr().getValueType() == MVT::v2i64);
return false;
}]>;
+def X86mgatherv2i64 : PatFrag<(ops node:$src1, node:$src2, node:$src3),
+ (X86masked_gather node:$src1, node:$src2, node:$src3) , [{
+ if (X86MaskedGatherSDNode *Mgt = dyn_cast<X86MaskedGatherSDNode>(N))
+ return (Mgt->getIndex().getValueType() == MVT::v2i64 ||
+ Mgt->getBasePtr().getValueType() == MVT::v2i64) &&
+ (Mgt->getMemoryVT() == MVT::v2i32 ||
+ Mgt->getMemoryVT() == MVT::v2f32);
+ return false;
+}]>;
def mgatherv4i64 : PatFrag<(ops node:$src1, node:$src2, node:$src3),
(masked_gather node:$src1, node:$src2, node:$src3) , [{
if (MaskedGatherSDNode *Mgt = dyn_cast<MaskedGatherSDNode>(N))
diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td
index 8490b972eb5c..fe87bbd99473 100644
--- a/lib/Target/X86/X86InstrSSE.td
+++ b/lib/Target/X86/X86InstrSSE.td
@@ -1744,7 +1744,7 @@ def VCVTSD2SSrm : I<0x5A, MRMSrcMem, (outs FR32:$dst),
Sched<[WriteCvtF2FLd, ReadAfterLd]>, VEX_WIG;
}
-def : Pat<(f32 (fpround FR64:$src)),
+def : Pat<(f32 (fpround FR64:$src)),
(VCVTSD2SSrr (COPY_TO_REGCLASS FR64:$src, FR32), FR64:$src)>,
Requires<[UseAVX]>;
diff --git a/lib/Target/X86/X86InstructionSelector.cpp b/lib/Target/X86/X86InstructionSelector.cpp
index 77dead8d2413..f98c2a7e802d 100644
--- a/lib/Target/X86/X86InstructionSelector.cpp
+++ b/lib/Target/X86/X86InstructionSelector.cpp
@@ -72,9 +72,24 @@ private:
MachineFunction &MF) const;
bool selectCmp(MachineInstr &I, MachineRegisterInfo &MRI,
MachineFunction &MF) const;
-
bool selectUadde(MachineInstr &I, MachineRegisterInfo &MRI,
MachineFunction &MF) const;
+ bool selectCopy(MachineInstr &I, MachineRegisterInfo &MRI) const;
+ bool selectInsert(MachineInstr &I, MachineRegisterInfo &MRI,
+ MachineFunction &MF) const;
+ bool selectExtract(MachineInstr &I, MachineRegisterInfo &MRI,
+ MachineFunction &MF) const;
+
+ // emit insert subreg instruction and insert it before MachineInstr &I
+ bool emitInsertSubreg(unsigned DstReg, unsigned SrcReg, MachineInstr &I,
+ MachineRegisterInfo &MRI, MachineFunction &MF) const;
+ // emit extract subreg instruction and insert it before MachineInstr &I
+ bool emitExtractSubreg(unsigned DstReg, unsigned SrcReg, MachineInstr &I,
+ MachineRegisterInfo &MRI, MachineFunction &MF) const;
+
+ const TargetRegisterClass *getRegClass(LLT Ty, const RegisterBank &RB) const;
+ const TargetRegisterClass *getRegClass(LLT Ty, unsigned Reg,
+ MachineRegisterInfo &MRI) const;
const X86TargetMachine &TM;
const X86Subtarget &STI;
@@ -113,8 +128,8 @@ X86InstructionSelector::X86InstructionSelector(const X86TargetMachine &TM,
// FIXME: This should be target-independent, inferred from the types declared
// for each class in the bank.
-static const TargetRegisterClass *
-getRegClassForTypeOnBank(LLT Ty, const RegisterBank &RB) {
+const TargetRegisterClass *
+X86InstructionSelector::getRegClass(LLT Ty, const RegisterBank &RB) const {
if (RB.getID() == X86::GPRRegBankID) {
if (Ty.getSizeInBits() <= 8)
return &X86::GR8RegClass;
@@ -127,13 +142,13 @@ getRegClassForTypeOnBank(LLT Ty, const RegisterBank &RB) {
}
if (RB.getID() == X86::VECRRegBankID) {
if (Ty.getSizeInBits() == 32)
- return &X86::FR32XRegClass;
+ return STI.hasAVX512() ? &X86::FR32XRegClass : &X86::FR32RegClass;
if (Ty.getSizeInBits() == 64)
- return &X86::FR64XRegClass;
+ return STI.hasAVX512() ? &X86::FR64XRegClass : &X86::FR64RegClass;
if (Ty.getSizeInBits() == 128)
- return &X86::VR128XRegClass;
+ return STI.hasAVX512() ? &X86::VR128XRegClass : &X86::VR128RegClass;
if (Ty.getSizeInBits() == 256)
- return &X86::VR256XRegClass;
+ return STI.hasAVX512() ? &X86::VR256XRegClass : &X86::VR256RegClass;
if (Ty.getSizeInBits() == 512)
return &X86::VR512RegClass;
}
@@ -141,10 +156,16 @@ getRegClassForTypeOnBank(LLT Ty, const RegisterBank &RB) {
llvm_unreachable("Unknown RegBank!");
}
+const TargetRegisterClass *
+X86InstructionSelector::getRegClass(LLT Ty, unsigned Reg,
+ MachineRegisterInfo &MRI) const {
+ const RegisterBank &RegBank = *RBI.getRegBank(Reg, MRI, TRI);
+ return getRegClass(Ty, RegBank);
+}
+
// Set X86 Opcode and constrain DestReg.
-static bool selectCopy(MachineInstr &I, const TargetInstrInfo &TII,
- MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI,
- const RegisterBankInfo &RBI) {
+bool X86InstructionSelector::selectCopy(MachineInstr &I,
+ MachineRegisterInfo &MRI) const {
unsigned DstReg = I.getOperand(0).getReg();
if (TargetRegisterInfo::isPhysicalRegister(DstReg)) {
@@ -171,7 +192,7 @@ static bool selectCopy(MachineInstr &I, const TargetInstrInfo &TII,
switch (RegBank.getID()) {
case X86::GPRRegBankID:
assert((DstSize <= 64) && "GPRs cannot get more than 64-bit width values.");
- RC = getRegClassForTypeOnBank(MRI.getType(DstReg), RegBank);
+ RC = getRegClass(MRI.getType(DstReg), RegBank);
// Change the physical register
if (SrcSize > DstSize && TargetRegisterInfo::isPhysicalRegister(SrcReg)) {
@@ -186,7 +207,7 @@ static bool selectCopy(MachineInstr &I, const TargetInstrInfo &TII,
}
break;
case X86::VECRRegBankID:
- RC = getRegClassForTypeOnBank(MRI.getType(DstReg), RegBank);
+ RC = getRegClass(MRI.getType(DstReg), RegBank);
break;
default:
llvm_unreachable("Unknown RegBank!");
@@ -220,7 +241,7 @@ bool X86InstructionSelector::select(MachineInstr &I) const {
// Certain non-generic instructions also need some special handling.
if (I.isCopy())
- return selectCopy(I, TII, MRI, TRI, RBI);
+ return selectCopy(I, MRI);
// TODO: handle more cases - LOAD_STACK_GUARD, PHI
return true;
@@ -249,6 +270,10 @@ bool X86InstructionSelector::select(MachineInstr &I) const {
return true;
if (selectUadde(I, MRI, MF))
return true;
+ if (selectExtract(I, MRI, MF))
+ return true;
+ if (selectInsert(I, MRI, MF))
+ return true;
return false;
}
@@ -326,6 +351,34 @@ unsigned X86InstructionSelector::getLoadStoreOp(LLT &Ty, const RegisterBank &RB,
return Opc;
}
+// Fill in an address from the given instruction.
+void X86SelectAddress(const MachineInstr &I, const MachineRegisterInfo &MRI,
+ X86AddressMode &AM) {
+
+ assert(I.getOperand(0).isReg() && "unsupported opperand.");
+ assert(MRI.getType(I.getOperand(0).getReg()).isPointer() &&
+ "unsupported type.");
+
+ if (I.getOpcode() == TargetOpcode::G_GEP) {
+ if (auto COff = getConstantVRegVal(I.getOperand(2).getReg(), MRI)) {
+ int64_t Imm = *COff;
+ if (isInt<32>(Imm)) { // Check for displacement overflow.
+ AM.Disp = static_cast<int32_t>(Imm);
+ AM.Base.Reg = I.getOperand(1).getReg();
+ return;
+ }
+ }
+ } else if (I.getOpcode() == TargetOpcode::G_FRAME_INDEX) {
+ AM.Base.FrameIndex = I.getOperand(1).getIndex();
+ AM.BaseType = X86AddressMode::FrameIndexBase;
+ return;
+ }
+
+ // Default behavior.
+ AM.Base.Reg = I.getOperand(0).getReg();
+ return;
+}
+
bool X86InstructionSelector::selectLoadStoreOp(MachineInstr &I,
MachineRegisterInfo &MRI,
MachineFunction &MF) const {
@@ -340,18 +393,28 @@ bool X86InstructionSelector::selectLoadStoreOp(MachineInstr &I,
const RegisterBank &RB = *RBI.getRegBank(DefReg, MRI, TRI);
auto &MemOp = **I.memoperands_begin();
+ if (MemOp.getOrdering() != AtomicOrdering::NotAtomic) {
+ DEBUG(dbgs() << "Atomic load/store not supported yet\n");
+ return false;
+ }
+
unsigned NewOpc = getLoadStoreOp(Ty, RB, Opc, MemOp.getAlignment());
if (NewOpc == Opc)
return false;
+ X86AddressMode AM;
+ X86SelectAddress(*MRI.getVRegDef(I.getOperand(1).getReg()), MRI, AM);
+
I.setDesc(TII.get(NewOpc));
MachineInstrBuilder MIB(MF, I);
- if (Opc == TargetOpcode::G_LOAD)
- addOffset(MIB, 0);
- else {
+ if (Opc == TargetOpcode::G_LOAD) {
+ I.RemoveOperand(1);
+ addFullAddress(MIB, AM);
+ } else {
// G_STORE (VAL, Addr), X86Store instruction (Addr, VAL)
+ I.RemoveOperand(1);
I.RemoveOperand(0);
- addOffset(MIB, 0).addUse(DefReg);
+ addFullAddress(MIB, AM).addUse(DefReg);
}
return constrainSelectedInstRegOperands(I, TII, TRI, RBI);
}
@@ -461,11 +524,11 @@ bool X86InstructionSelector::selectTrunc(MachineInstr &I,
if (DstRB.getID() != X86::GPRRegBankID)
return false;
- const TargetRegisterClass *DstRC = getRegClassForTypeOnBank(DstTy, DstRB);
+ const TargetRegisterClass *DstRC = getRegClass(DstTy, DstRB);
if (!DstRC)
return false;
- const TargetRegisterClass *SrcRC = getRegClassForTypeOnBank(SrcTy, SrcRB);
+ const TargetRegisterClass *SrcRC = getRegClass(SrcTy, SrcRB);
if (!SrcRC)
return false;
@@ -519,9 +582,8 @@ bool X86InstructionSelector::selectZext(MachineInstr &I,
else
return false;
- const RegisterBank &RegBank = *RBI.getRegBank(DstReg, MRI, TRI);
unsigned DefReg =
- MRI.createVirtualRegister(getRegClassForTypeOnBank(DstTy, RegBank));
+ MRI.createVirtualRegister(getRegClass(DstTy, DstReg, MRI));
BuildMI(*I.getParent(), I, I.getDebugLoc(),
TII.get(TargetOpcode::SUBREG_TO_REG), DefReg)
@@ -656,6 +718,202 @@ bool X86InstructionSelector::selectUadde(MachineInstr &I,
return true;
}
+bool X86InstructionSelector::selectExtract(MachineInstr &I,
+ MachineRegisterInfo &MRI,
+ MachineFunction &MF) const {
+
+ if (I.getOpcode() != TargetOpcode::G_EXTRACT)
+ return false;
+
+ const unsigned DstReg = I.getOperand(0).getReg();
+ const unsigned SrcReg = I.getOperand(1).getReg();
+ int64_t Index = I.getOperand(2).getImm();
+
+ const LLT DstTy = MRI.getType(DstReg);
+ const LLT SrcTy = MRI.getType(SrcReg);
+
+ // Meanwile handle vector type only.
+ if (!DstTy.isVector())
+ return false;
+
+ if (Index % DstTy.getSizeInBits() != 0)
+ return false; // Not extract subvector.
+
+ if (Index == 0) {
+ // Replace by extract subreg copy.
+ if (!emitExtractSubreg(DstReg, SrcReg, I, MRI, MF))
+ return false;
+
+ I.eraseFromParent();
+ return true;
+ }
+
+ bool HasAVX = STI.hasAVX();
+ bool HasAVX512 = STI.hasAVX512();
+ bool HasVLX = STI.hasVLX();
+
+ if (SrcTy.getSizeInBits() == 256 && DstTy.getSizeInBits() == 128) {
+ if (HasVLX)
+ I.setDesc(TII.get(X86::VEXTRACTF32x4Z256rr));
+ else if (HasAVX)
+ I.setDesc(TII.get(X86::VEXTRACTF128rr));
+ else
+ return false;
+ } else if (SrcTy.getSizeInBits() == 512 && HasAVX512) {
+ if (DstTy.getSizeInBits() == 128)
+ I.setDesc(TII.get(X86::VEXTRACTF32x4Zrr));
+ else if (DstTy.getSizeInBits() == 256)
+ I.setDesc(TII.get(X86::VEXTRACTF64x4Zrr));
+ else
+ return false;
+ } else
+ return false;
+
+ // Convert to X86 VEXTRACT immediate.
+ Index = Index / DstTy.getSizeInBits();
+ I.getOperand(2).setImm(Index);
+
+ return constrainSelectedInstRegOperands(I, TII, TRI, RBI);
+}
+
+bool X86InstructionSelector::emitExtractSubreg(unsigned DstReg, unsigned SrcReg,
+ MachineInstr &I,
+ MachineRegisterInfo &MRI,
+ MachineFunction &MF) const {
+
+ const LLT DstTy = MRI.getType(DstReg);
+ const LLT SrcTy = MRI.getType(SrcReg);
+ unsigned SubIdx = X86::NoSubRegister;
+
+ if (!DstTy.isVector() || !SrcTy.isVector())
+ return false;
+
+ assert(SrcTy.getSizeInBits() > DstTy.getSizeInBits() &&
+ "Incorrect Src/Dst register size");
+
+ if (DstTy.getSizeInBits() == 128)
+ SubIdx = X86::sub_xmm;
+ else if (DstTy.getSizeInBits() == 256)
+ SubIdx = X86::sub_ymm;
+ else
+ return false;
+
+ const TargetRegisterClass *DstRC = getRegClass(DstTy, DstReg, MRI);
+ const TargetRegisterClass *SrcRC = getRegClass(SrcTy, SrcReg, MRI);
+
+ SrcRC = TRI.getSubClassWithSubReg(SrcRC, SubIdx);
+
+ if (!RBI.constrainGenericRegister(SrcReg, *SrcRC, MRI) ||
+ !RBI.constrainGenericRegister(DstReg, *DstRC, MRI)) {
+ DEBUG(dbgs() << "Failed to constrain G_TRUNC\n");
+ return false;
+ }
+
+ BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(X86::COPY), DstReg)
+ .addReg(SrcReg, 0, SubIdx);
+
+ return true;
+}
+
+bool X86InstructionSelector::emitInsertSubreg(unsigned DstReg, unsigned SrcReg,
+ MachineInstr &I,
+ MachineRegisterInfo &MRI,
+ MachineFunction &MF) const {
+
+ const LLT DstTy = MRI.getType(DstReg);
+ const LLT SrcTy = MRI.getType(SrcReg);
+ unsigned SubIdx = X86::NoSubRegister;
+
+ // TODO: support scalar types
+ if (!DstTy.isVector() || !SrcTy.isVector())
+ return false;
+
+ assert(SrcTy.getSizeInBits() < DstTy.getSizeInBits() &&
+ "Incorrect Src/Dst register size");
+
+ if (SrcTy.getSizeInBits() == 128)
+ SubIdx = X86::sub_xmm;
+ else if (SrcTy.getSizeInBits() == 256)
+ SubIdx = X86::sub_ymm;
+ else
+ return false;
+
+ const TargetRegisterClass *SrcRC = getRegClass(SrcTy, SrcReg, MRI);
+ const TargetRegisterClass *DstRC = getRegClass(DstTy, DstReg, MRI);
+
+ if (!RBI.constrainGenericRegister(SrcReg, *SrcRC, MRI) ||
+ !RBI.constrainGenericRegister(DstReg, *DstRC, MRI)) {
+ DEBUG(dbgs() << "Failed to constrain INSERT_SUBREG\n");
+ return false;
+ }
+
+ BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(X86::COPY))
+ .addReg(DstReg, RegState::DefineNoRead, SubIdx)
+ .addReg(SrcReg);
+
+ return true;
+}
+
+bool X86InstructionSelector::selectInsert(MachineInstr &I,
+ MachineRegisterInfo &MRI,
+ MachineFunction &MF) const {
+
+ if (I.getOpcode() != TargetOpcode::G_INSERT)
+ return false;
+
+ const unsigned DstReg = I.getOperand(0).getReg();
+ const unsigned SrcReg = I.getOperand(1).getReg();
+ const unsigned InsertReg = I.getOperand(2).getReg();
+ int64_t Index = I.getOperand(3).getImm();
+
+ const LLT DstTy = MRI.getType(DstReg);
+ const LLT InsertRegTy = MRI.getType(InsertReg);
+
+ // Meanwile handle vector type only.
+ if (!DstTy.isVector())
+ return false;
+
+ if (Index % InsertRegTy.getSizeInBits() != 0)
+ return false; // Not insert subvector.
+
+ if (Index == 0 && MRI.getVRegDef(SrcReg)->isImplicitDef()) {
+ // Replace by subreg copy.
+ if (!emitInsertSubreg(DstReg, InsertReg, I, MRI, MF))
+ return false;
+
+ I.eraseFromParent();
+ return true;
+ }
+
+ bool HasAVX = STI.hasAVX();
+ bool HasAVX512 = STI.hasAVX512();
+ bool HasVLX = STI.hasVLX();
+
+ if (DstTy.getSizeInBits() == 256 && InsertRegTy.getSizeInBits() == 128) {
+ if (HasVLX)
+ I.setDesc(TII.get(X86::VINSERTF32x4Z256rr));
+ else if (HasAVX)
+ I.setDesc(TII.get(X86::VINSERTF128rr));
+ else
+ return false;
+ } else if (DstTy.getSizeInBits() == 512 && HasAVX512) {
+ if (InsertRegTy.getSizeInBits() == 128)
+ I.setDesc(TII.get(X86::VINSERTF32x4Zrr));
+ else if (InsertRegTy.getSizeInBits() == 256)
+ I.setDesc(TII.get(X86::VINSERTF64x4Zrr));
+ else
+ return false;
+ } else
+ return false;
+
+ // Convert to X86 VINSERT immediate.
+ Index = Index / InsertRegTy.getSizeInBits();
+
+ I.getOperand(3).setImm(Index);
+
+ return constrainSelectedInstRegOperands(I, TII, TRI, RBI);
+}
+
InstructionSelector *
llvm::createX86InstructionSelector(const X86TargetMachine &TM,
X86Subtarget &Subtarget,
diff --git a/lib/Target/X86/X86InterleavedAccess.cpp b/lib/Target/X86/X86InterleavedAccess.cpp
index 806d6cc888f0..f0ed4bc16e2f 100644
--- a/lib/Target/X86/X86InterleavedAccess.cpp
+++ b/lib/Target/X86/X86InterleavedAccess.cpp
@@ -16,6 +16,7 @@
#include "X86ISelLowering.h"
#include "X86TargetMachine.h"
+#include "llvm/Analysis/VectorUtils.h"
using namespace llvm;
@@ -50,9 +51,8 @@ class X86InterleavedAccessGroup {
IRBuilder<> &Builder;
/// \brief Breaks down a vector \p 'Inst' of N elements into \p NumSubVectors
- /// sub vectors of type \p T. Returns true and the sub-vectors in
- /// \p DecomposedVectors if it decomposes the Inst, returns false otherwise.
- bool decompose(Instruction *Inst, unsigned NumSubVectors, VectorType *T,
+ /// sub vectors of type \p T. Returns the sub-vectors in \p DecomposedVectors.
+ void decompose(Instruction *Inst, unsigned NumSubVectors, VectorType *T,
SmallVectorImpl<Instruction *> &DecomposedVectors);
/// \brief Performs matrix transposition on a 4x4 matrix \p InputVectors and
@@ -80,8 +80,7 @@ public:
/// target information \p STarget.
explicit X86InterleavedAccessGroup(Instruction *I,
ArrayRef<ShuffleVectorInst *> Shuffs,
- ArrayRef<unsigned> Ind,
- const unsigned F,
+ ArrayRef<unsigned> Ind, const unsigned F,
const X86Subtarget &STarget,
IRBuilder<> &B)
: Inst(I), Shuffles(Shuffs), Indices(Ind), Factor(F), Subtarget(STarget),
@@ -102,48 +101,61 @@ bool X86InterleavedAccessGroup::isSupported() const {
uint64_t ShuffleVecSize = DL.getTypeSizeInBits(ShuffleVecTy);
Type *ShuffleEltTy = ShuffleVecTy->getVectorElementType();
- if (DL.getTypeSizeInBits(Inst->getType()) < Factor * ShuffleVecSize)
- return false;
+ // Currently, lowering is supported for 4-element vectors of 64 bits on AVX.
+ uint64_t ExpectedShuffleVecSize;
+ if (isa<LoadInst>(Inst))
+ ExpectedShuffleVecSize = 256;
+ else
+ ExpectedShuffleVecSize = 1024;
- // Currently, lowering is supported for 64 bits on AVX.
- if (!Subtarget.hasAVX() || ShuffleVecSize != 256 ||
+ if (!Subtarget.hasAVX() || ShuffleVecSize != ExpectedShuffleVecSize ||
DL.getTypeSizeInBits(ShuffleEltTy) != 64 || Factor != 4)
return false;
return true;
}
-bool X86InterleavedAccessGroup::decompose(
+void X86InterleavedAccessGroup::decompose(
Instruction *VecInst, unsigned NumSubVectors, VectorType *SubVecTy,
SmallVectorImpl<Instruction *> &DecomposedVectors) {
+
+ assert((isa<LoadInst>(VecInst) || isa<ShuffleVectorInst>(VecInst)) &&
+ "Expected Load or Shuffle");
+
Type *VecTy = VecInst->getType();
(void)VecTy;
assert(VecTy->isVectorTy() &&
DL.getTypeSizeInBits(VecTy) >=
DL.getTypeSizeInBits(SubVecTy) * NumSubVectors &&
"Invalid Inst-size!!!");
- assert(VecTy->getVectorElementType() == SubVecTy->getVectorElementType() &&
- "Element type mismatched!!!");
- if (!isa<LoadInst>(VecInst))
- return false;
+ if (auto *SVI = dyn_cast<ShuffleVectorInst>(VecInst)) {
+ Value *Op0 = SVI->getOperand(0);
+ Value *Op1 = SVI->getOperand(1);
+
+ // Generate N(= NumSubVectors) shuffles of T(= SubVecTy) type.
+ for (unsigned i = 0; i < NumSubVectors; ++i)
+ DecomposedVectors.push_back(
+ cast<ShuffleVectorInst>(Builder.CreateShuffleVector(
+ Op0, Op1, createSequentialMask(Builder, Indices[i],
+ SubVecTy->getVectorNumElements(), 0))));
+ return;
+ }
+ // Decompose the load instruction.
LoadInst *LI = cast<LoadInst>(VecInst);
Type *VecBasePtrTy = SubVecTy->getPointerTo(LI->getPointerAddressSpace());
-
Value *VecBasePtr =
Builder.CreateBitCast(LI->getPointerOperand(), VecBasePtrTy);
- // Generate N loads of T type
+ // Generate N loads of T type.
for (unsigned i = 0; i < NumSubVectors; i++) {
- // TODO: Support inbounds GEP
+ // TODO: Support inbounds GEP.
Value *NewBasePtr = Builder.CreateGEP(VecBasePtr, Builder.getInt32(i));
Instruction *NewLoad =
Builder.CreateAlignedLoad(NewBasePtr, LI->getAlignment());
DecomposedVectors.push_back(NewLoad);
}
-
- return true;
}
void X86InterleavedAccessGroup::transpose_4x4(
@@ -181,21 +193,46 @@ void X86InterleavedAccessGroup::transpose_4x4(
// instructions/intrinsics.
bool X86InterleavedAccessGroup::lowerIntoOptimizedSequence() {
SmallVector<Instruction *, 4> DecomposedVectors;
- VectorType *VecTy = Shuffles[0]->getType();
- // Try to generate target-sized register(/instruction).
- if (!decompose(Inst, Factor, VecTy, DecomposedVectors))
- return false;
-
SmallVector<Value *, 4> TransposedVectors;
- // Perform matrix-transposition in order to compute interleaved
- // results by generating some sort of (optimized) target-specific
- // instructions.
+ VectorType *ShuffleTy = Shuffles[0]->getType();
+
+ if (isa<LoadInst>(Inst)) {
+ // Try to generate target-sized register(/instruction).
+ decompose(Inst, Factor, ShuffleTy, DecomposedVectors);
+
+ // Perform matrix-transposition in order to compute interleaved
+ // results by generating some sort of (optimized) target-specific
+ // instructions.
+ transpose_4x4(DecomposedVectors, TransposedVectors);
+
+ // Now replace the unoptimized-interleaved-vectors with the
+ // transposed-interleaved vectors.
+ for (unsigned i = 0, e = Shuffles.size(); i < e; ++i)
+ Shuffles[i]->replaceAllUsesWith(TransposedVectors[Indices[i]]);
+
+ return true;
+ }
+
+ Type *ShuffleEltTy = ShuffleTy->getVectorElementType();
+ unsigned NumSubVecElems = ShuffleTy->getVectorNumElements() / Factor;
+
+ // Lower the interleaved stores:
+ // 1. Decompose the interleaved wide shuffle into individual shuffle
+ // vectors.
+ decompose(Shuffles[0], Factor,
+ VectorType::get(ShuffleEltTy, NumSubVecElems), DecomposedVectors);
+
+ // 2. Transpose the interleaved-vectors into vectors of contiguous
+ // elements.
transpose_4x4(DecomposedVectors, TransposedVectors);
- // Now replace the unoptimized-interleaved-vectors with the
- // transposed-interleaved vectors.
- for (unsigned i = 0; i < Shuffles.size(); i++)
- Shuffles[i]->replaceAllUsesWith(TransposedVectors[Indices[i]]);
+ // 3. Concatenate the contiguous-vectors back into a wide vector.
+ Value *WideVec = concatenateVectors(Builder, TransposedVectors);
+
+ // 4. Generate a store instruction for wide-vec.
+ StoreInst *SI = cast<StoreInst>(Inst);
+ Builder.CreateAlignedStore(WideVec, SI->getPointerOperand(),
+ SI->getAlignment());
return true;
}
@@ -220,3 +257,29 @@ bool X86TargetLowering::lowerInterleavedLoad(
return Grp.isSupported() && Grp.lowerIntoOptimizedSequence();
}
+
+bool X86TargetLowering::lowerInterleavedStore(StoreInst *SI,
+ ShuffleVectorInst *SVI,
+ unsigned Factor) const {
+ assert(Factor >= 2 && Factor <= getMaxSupportedInterleaveFactor() &&
+ "Invalid interleave factor");
+
+ assert(SVI->getType()->getVectorNumElements() % Factor == 0 &&
+ "Invalid interleaved store");
+
+ // Holds the indices of SVI that correspond to the starting index of each
+ // interleaved shuffle.
+ SmallVector<unsigned, 4> Indices;
+ auto Mask = SVI->getShuffleMask();
+ for (unsigned i = 0; i < Factor; i++)
+ Indices.push_back(Mask[i]);
+
+ ArrayRef<ShuffleVectorInst *> Shuffles = makeArrayRef(SVI);
+
+ // Create an interleaved access group.
+ IRBuilder<> Builder(SI);
+ X86InterleavedAccessGroup Grp(SI, Shuffles, Indices, Factor, Subtarget,
+ Builder);
+
+ return Grp.isSupported() && Grp.lowerIntoOptimizedSequence();
+}
diff --git a/lib/Target/X86/X86IntrinsicsInfo.h b/lib/Target/X86/X86IntrinsicsInfo.h
index bc73bb1ae8c5..6b1add8ff8ed 100644
--- a/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/lib/Target/X86/X86IntrinsicsInfo.h
@@ -510,12 +510,6 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::SHUF128, 0),
X86_INTRINSIC_DATA(avx512_mask_broadcasti64x4_512, BRCST_SUBVEC_TO_VEC,
X86ISD::SHUF128, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_b_128, CMP_MASK_CC, X86ISD::CMPM, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_b_256, CMP_MASK_CC, X86ISD::CMPM, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_b_512, CMP_MASK_CC, X86ISD::CMPM, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_d_128, CMP_MASK_CC, X86ISD::CMPM, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_d_256, CMP_MASK_CC, X86ISD::CMPM, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_d_512, CMP_MASK_CC, X86ISD::CMPM, 0),
X86_INTRINSIC_DATA(avx512_mask_cmp_pd_128, CMP_MASK_CC, X86ISD::CMPM, 0),
X86_INTRINSIC_DATA(avx512_mask_cmp_pd_256, CMP_MASK_CC, X86ISD::CMPM, 0),
X86_INTRINSIC_DATA(avx512_mask_cmp_pd_512, CMP_MASK_CC, X86ISD::CMPM,
@@ -524,16 +518,10 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86_INTRINSIC_DATA(avx512_mask_cmp_ps_256, CMP_MASK_CC, X86ISD::CMPM, 0),
X86_INTRINSIC_DATA(avx512_mask_cmp_ps_512, CMP_MASK_CC, X86ISD::CMPM,
X86ISD::CMPM_RND),
- X86_INTRINSIC_DATA(avx512_mask_cmp_q_128, CMP_MASK_CC, X86ISD::CMPM, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_q_256, CMP_MASK_CC, X86ISD::CMPM, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_q_512, CMP_MASK_CC, X86ISD::CMPM, 0),
X86_INTRINSIC_DATA(avx512_mask_cmp_sd, CMP_MASK_SCALAR_CC,
X86ISD::FSETCCM, X86ISD::FSETCCM_RND),
X86_INTRINSIC_DATA(avx512_mask_cmp_ss, CMP_MASK_SCALAR_CC,
X86ISD::FSETCCM, X86ISD::FSETCCM_RND),
- X86_INTRINSIC_DATA(avx512_mask_cmp_w_128, CMP_MASK_CC, X86ISD::CMPM, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_w_256, CMP_MASK_CC, X86ISD::CMPM, 0),
- X86_INTRINSIC_DATA(avx512_mask_cmp_w_512, CMP_MASK_CC, X86ISD::CMPM, 0),
X86_INTRINSIC_DATA(avx512_mask_compress_d_128, COMPRESS_EXPAND_IN_REG,
X86ISD::COMPRESS, 0),
X86_INTRINSIC_DATA(avx512_mask_compress_d_256, COMPRESS_EXPAND_IN_REG,
@@ -1171,18 +1159,6 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::FSUBS_RND, 0),
X86_INTRINSIC_DATA(avx512_mask_sub_ss_round, INTR_TYPE_SCALAR_MASK_RM,
X86ISD::FSUBS_RND, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_b_128, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_b_256, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_b_512, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_d_128, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_d_256, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_d_512, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_q_128, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_q_256, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_q_512, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_w_128, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_w_256, CMP_MASK_CC, X86ISD::CMPMU, 0),
- X86_INTRINSIC_DATA(avx512_mask_ucmp_w_512, CMP_MASK_CC, X86ISD::CMPMU, 0),
X86_INTRINSIC_DATA(avx512_mask_vcvtph2ps_128, INTR_TYPE_1OP_MASK_RM,
X86ISD::CVTPH2PS, 0),
X86_INTRINSIC_DATA(avx512_mask_vcvtph2ps_256, INTR_TYPE_1OP_MASK_RM,
diff --git a/lib/Target/X86/X86LegalizerInfo.cpp b/lib/Target/X86/X86LegalizerInfo.cpp
index 979aaee110aa..a584eabcc1b2 100644
--- a/lib/Target/X86/X86LegalizerInfo.cpp
+++ b/lib/Target/X86/X86LegalizerInfo.cpp
@@ -214,12 +214,24 @@ void X86LegalizerInfo::setLegalizerInfoAVX() {
if (!Subtarget.hasAVX())
return;
+ const LLT v16s8 = LLT::vector(16, 8);
+ const LLT v8s16 = LLT::vector(8, 16);
+ const LLT v4s32 = LLT::vector(4, 32);
+ const LLT v2s64 = LLT::vector(2, 64);
+
+ const LLT v32s8 = LLT::vector(32, 8);
+ const LLT v16s16 = LLT::vector(16, 16);
const LLT v8s32 = LLT::vector(8, 32);
const LLT v4s64 = LLT::vector(4, 64);
for (unsigned MemOp : {G_LOAD, G_STORE})
for (auto Ty : {v8s32, v4s64})
setAction({MemOp, Ty}, Legal);
+
+ for (auto Ty : {v32s8, v16s16, v8s32, v4s64})
+ setAction({G_INSERT, Ty}, Legal);
+ for (auto Ty : {v16s8, v8s16, v4s32, v2s64})
+ setAction({G_INSERT, 1, Ty}, Legal);
}
void X86LegalizerInfo::setLegalizerInfoAVX2() {
@@ -243,6 +255,18 @@ void X86LegalizerInfo::setLegalizerInfoAVX512() {
if (!Subtarget.hasAVX512())
return;
+ const LLT v16s8 = LLT::vector(16, 8);
+ const LLT v8s16 = LLT::vector(8, 16);
+ const LLT v4s32 = LLT::vector(4, 32);
+ const LLT v2s64 = LLT::vector(2, 64);
+
+ const LLT v32s8 = LLT::vector(32, 8);
+ const LLT v16s16 = LLT::vector(16, 16);
+ const LLT v8s32 = LLT::vector(8, 32);
+ const LLT v4s64 = LLT::vector(4, 64);
+
+ const LLT v64s8 = LLT::vector(64, 8);
+ const LLT v32s16 = LLT::vector(32, 16);
const LLT v16s32 = LLT::vector(16, 32);
const LLT v8s64 = LLT::vector(8, 64);
@@ -256,13 +280,15 @@ void X86LegalizerInfo::setLegalizerInfoAVX512() {
for (auto Ty : {v16s32, v8s64})
setAction({MemOp, Ty}, Legal);
+ for (auto Ty : {v64s8, v32s16, v16s32, v8s64})
+ setAction({G_INSERT, Ty}, Legal);
+ for (auto Ty : {v32s8, v16s16, v8s32, v4s64, v16s8, v8s16, v4s32, v2s64})
+ setAction({G_INSERT, 1, Ty}, Legal);
+
/************ VLX *******************/
if (!Subtarget.hasVLX())
return;
- const LLT v4s32 = LLT::vector(4, 32);
- const LLT v8s32 = LLT::vector(8, 32);
-
for (auto Ty : {v4s32, v8s32})
setAction({G_MUL, Ty}, Legal);
}
diff --git a/lib/Target/X86/X86MacroFusion.cpp b/lib/Target/X86/X86MacroFusion.cpp
index dd21e2b7c4a1..8fdf10617059 100644
--- a/lib/Target/X86/X86MacroFusion.cpp
+++ b/lib/Target/X86/X86MacroFusion.cpp
@@ -2,39 +2,31 @@
//
// The LLVM Compiler Infrastructure
//
-// \file This file is distributed under the University of Illinois Open Source
+// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
-// This file contains the X86 implementation of the DAG scheduling mutation to
-// pair instructions back to back.
+/// \file This file contains the X86 implementation of the DAG scheduling
+/// mutation to pair instructions back to back.
//
//===----------------------------------------------------------------------===//
#include "X86MacroFusion.h"
#include "X86Subtarget.h"
-#include "llvm/ADT/Statistic.h"
-#include "llvm/Support/CommandLine.h"
#include "llvm/Target/TargetInstrInfo.h"
-
-#define DEBUG_TYPE "misched"
-
-STATISTIC(NumFused, "Number of instr pairs fused");
+#include "llvm/CodeGen/MacroFusion.h"
using namespace llvm;
-static cl::opt<bool> EnableMacroFusion("x86-misched-fusion", cl::Hidden,
- cl::desc("Enable scheduling for macro fusion."), cl::init(true));
-
-namespace {
-
-/// \brief Verify that the instruction pair, First and Second,
-/// should be scheduled back to back. If either instruction is unspecified,
-/// then verify that the other instruction may be part of a pair at all.
-static bool shouldScheduleAdjacent(const X86Subtarget &ST,
- const MachineInstr *First,
- const MachineInstr *Second) {
+/// \brief Check if the instr pair, FirstMI and SecondMI, should be fused
+/// together. Given SecondMI, when FirstMI is unspecified, then check if
+/// SecondMI may be part of a fused pair at all.
+static bool shouldScheduleAdjacent(const TargetInstrInfo &TII,
+ const TargetSubtargetInfo &TSI,
+ const MachineInstr *FirstMI,
+ const MachineInstr &SecondMI) {
+ const X86Subtarget &ST = static_cast<const X86Subtarget&>(TSI);
// Check if this processor supports macro-fusion. Since this is a minor
// heuristic, we haven't specifically reserved a feature. hasAVX is a decent
// proxy for SandyBridge+.
@@ -47,13 +39,10 @@ static bool shouldScheduleAdjacent(const X86Subtarget &ST,
FuseInc
} FuseKind;
- assert((First || Second) && "At least one instr must be specified");
- unsigned FirstOpcode = First
- ? First->getOpcode()
+ unsigned FirstOpcode = FirstMI
+ ? FirstMI->getOpcode()
: static_cast<unsigned>(X86::INSTRUCTION_LIST_END);
- unsigned SecondOpcode = Second
- ? Second->getOpcode()
- : static_cast<unsigned>(X86::INSTRUCTION_LIST_END);
+ unsigned SecondOpcode = SecondMI.getOpcode();
switch (SecondOpcode) {
default:
@@ -203,69 +192,11 @@ static bool shouldScheduleAdjacent(const X86Subtarget &ST,
}
}
-/// \brief Post-process the DAG to create cluster edges between instructions
-/// that may be fused by the processor into a single operation.
-class X86MacroFusion : public ScheduleDAGMutation {
-public:
- X86MacroFusion() {}
-
- void apply(ScheduleDAGInstrs *DAGInstrs) override;
-};
-
-void X86MacroFusion::apply(ScheduleDAGInstrs *DAGInstrs) {
- ScheduleDAGMI *DAG = static_cast<ScheduleDAGMI*>(DAGInstrs);
- const X86Subtarget &ST = DAG->MF.getSubtarget<X86Subtarget>();
-
- // For now, assume targets can only fuse with the branch.
- SUnit &ExitSU = DAG->ExitSU;
- MachineInstr *Branch = ExitSU.getInstr();
- if (!Branch || !shouldScheduleAdjacent(ST, nullptr, Branch))
- return;
-
- for (SDep &PredDep : ExitSU.Preds) {
- if (PredDep.isWeak())
- continue;
- SUnit &SU = *PredDep.getSUnit();
- MachineInstr &Pred = *SU.getInstr();
- if (!shouldScheduleAdjacent(ST, &Pred, Branch))
- continue;
-
- // Create a single weak edge from SU to ExitSU. The only effect is to cause
- // bottom-up scheduling to heavily prioritize the clustered SU. There is no
- // need to copy predecessor edges from ExitSU to SU, since top-down
- // scheduling cannot prioritize ExitSU anyway. To defer top-down scheduling
- // of SU, we could create an artificial edge from the deepest root, but it
- // hasn't been needed yet.
- bool Success = DAG->addEdge(&ExitSU, SDep(&SU, SDep::Cluster));
- (void)Success;
- assert(Success && "No DAG nodes should be reachable from ExitSU");
-
- // Adjust latency of data deps between the nodes.
- for (SDep &PredDep : ExitSU.Preds)
- if (PredDep.getSUnit() == &SU)
- PredDep.setLatency(0);
- for (SDep &SuccDep : SU.Succs)
- if (SuccDep.getSUnit() == &ExitSU)
- SuccDep.setLatency(0);
-
- ++NumFused;
- DEBUG(dbgs() << DAG->MF.getName() << "(): Macro fuse ";
- SU.print(dbgs(), DAG);
- dbgs() << " - ExitSU"
- << " / " << DAG->TII->getName(Pred.getOpcode()) << " - "
- << DAG->TII->getName(Branch->getOpcode()) << '\n';);
-
- break;
- }
-}
-
-} // end namespace
-
namespace llvm {
std::unique_ptr<ScheduleDAGMutation>
createX86MacroFusionDAGMutation () {
- return EnableMacroFusion ? make_unique<X86MacroFusion>() : nullptr;
+ return createBranchMacroFusionDAGMutation(shouldScheduleAdjacent);
}
} // end namespace llvm
diff --git a/lib/Target/X86/X86MacroFusion.h b/lib/Target/X86/X86MacroFusion.h
index e630f802e8e6..13fa2d78a018 100644
--- a/lib/Target/X86/X86MacroFusion.h
+++ b/lib/Target/X86/X86MacroFusion.h
@@ -2,23 +2,18 @@
//
// The LLVM Compiler Infrastructure
//
-// \file This file is distributed under the University of Illinois Open Source
+// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
-// This file contains the X86 definition of the DAG scheduling mutation to pair
-// instructions back to back.
+/// \file This file contains the X86 definition of the DAG scheduling mutation
+/// to pair instructions back to back.
//
//===----------------------------------------------------------------------===//
-#include "X86InstrInfo.h"
#include "llvm/CodeGen/MachineScheduler.h"
-//===----------------------------------------------------------------------===//
-// X86MacroFusion - DAG post-processing to encourage fusion of macro ops.
-//===----------------------------------------------------------------------===//
-
namespace llvm {
/// Note that you have to add:
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp
index 278b57eb00b7..a9f42cacf788 100644
--- a/lib/Target/X86/X86TargetMachine.cpp
+++ b/lib/Target/X86/X86TargetMachine.cpp
@@ -91,6 +91,8 @@ static std::unique_ptr<TargetLoweringObjectFile> createTLOF(const Triple &TT) {
return llvm::make_unique<X86FreeBSDTargetObjectFile>();
if (TT.isOSLinux() || TT.isOSNaCl() || TT.isOSIAMCU())
return llvm::make_unique<X86LinuxNaClTargetObjectFile>();
+ if (TT.isOSSolaris())
+ return llvm::make_unique<X86SolarisTargetObjectFile>();
if (TT.isOSFuchsia())
return llvm::make_unique<X86FuchsiaTargetObjectFile>();
if (TT.isOSBinFormatELF())
diff --git a/lib/Target/X86/X86TargetObjectFile.cpp b/lib/Target/X86/X86TargetObjectFile.cpp
index 4fd95717478e..8627c06d4431 100644
--- a/lib/Target/X86/X86TargetObjectFile.cpp
+++ b/lib/Target/X86/X86TargetObjectFile.cpp
@@ -86,6 +86,12 @@ X86LinuxNaClTargetObjectFile::Initialize(MCContext &Ctx,
InitializeELF(TM.Options.UseInitArray);
}
+void X86SolarisTargetObjectFile::Initialize(MCContext &Ctx,
+ const TargetMachine &TM) {
+ TargetLoweringObjectFileELF::Initialize(Ctx, TM);
+ InitializeELF(TM.Options.UseInitArray);
+}
+
const MCExpr *X86WindowsTargetObjectFile::lowerRelativeReference(
const GlobalValue *LHS, const GlobalValue *RHS,
const TargetMachine &TM) const {
diff --git a/lib/Target/X86/X86TargetObjectFile.h b/lib/Target/X86/X86TargetObjectFile.h
index 39d2e84e5ed7..f6aa570b6332 100644
--- a/lib/Target/X86/X86TargetObjectFile.h
+++ b/lib/Target/X86/X86TargetObjectFile.h
@@ -66,6 +66,11 @@ namespace llvm {
void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
};
+ /// \brief This implementation is used for Solaris on x86/x86-64.
+ class X86SolarisTargetObjectFile : public X86ELFTargetObjectFile {
+ void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
+ };
+
/// \brief This implementation is used for Windows targets on x86 and x86-64.
class X86WindowsTargetObjectFile : public TargetLoweringObjectFileCOFF {
const MCExpr *
diff --git a/lib/Target/X86/X86TargetTransformInfo.cpp b/lib/Target/X86/X86TargetTransformInfo.cpp
index 11ba7025e1b7..5ba8534d32d3 100644
--- a/lib/Target/X86/X86TargetTransformInfo.cpp
+++ b/lib/Target/X86/X86TargetTransformInfo.cpp
@@ -2178,17 +2178,6 @@ int X86TTIImpl::getGatherScatterOpCost(unsigned Opcode, Type *SrcVTy,
return getGSVectorCost(Opcode, SrcVTy, Ptr, Alignment, AddressSpace);
}
-bool X86TTIImpl::isLSRCostLess(TargetTransformInfo::LSRCost &C1,
- TargetTransformInfo::LSRCost &C2) {
- // X86 specific here are "instruction number 1st priority".
- return std::tie(C1.Insns, C1.NumRegs, C1.AddRecCost,
- C1.NumIVMuls, C1.NumBaseAdds,
- C1.ScaleCost, C1.ImmCost, C1.SetupCost) <
- std::tie(C2.Insns, C2.NumRegs, C2.AddRecCost,
- C2.NumIVMuls, C2.NumBaseAdds,
- C2.ScaleCost, C2.ImmCost, C2.SetupCost);
-}
-
bool X86TTIImpl::isLegalMaskedLoad(Type *DataTy) {
Type *ScalarTy = DataTy->getScalarType();
int DataWidth = isa<PointerType>(ScalarTy) ?
@@ -2243,6 +2232,12 @@ bool X86TTIImpl::areInlineCompatible(const Function *Caller,
return (CallerBits & CalleeBits) == CalleeBits;
}
+bool X86TTIImpl::expandMemCmp(Instruction *I, unsigned &MaxLoadSize) {
+ // TODO: We can increase these based on available vector ops.
+ MaxLoadSize = ST->is64Bit() ? 8 : 4;
+ return true;
+}
+
bool X86TTIImpl::enableInterleavedAccessVectorization() {
// TODO: We expect this to be beneficial regardless of arch,
// but there are currently some unexplained performance artifacts on Atom.
@@ -2250,6 +2245,114 @@ bool X86TTIImpl::enableInterleavedAccessVectorization() {
return !(ST->isAtom());
}
+// Get estimation for interleaved load/store operations for AVX2.
+// \p Factor is the interleaved-access factor (stride) - number of
+// (interleaved) elements in the group.
+// \p Indices contains the indices for a strided load: when the
+// interleaved load has gaps they indicate which elements are used.
+// If Indices is empty (or if the number of indices is equal to the size
+// of the interleaved-access as given in \p Factor) the access has no gaps.
+//
+// As opposed to AVX-512, AVX2 does not have generic shuffles that allow
+// computing the cost using a generic formula as a function of generic
+// shuffles. We therefore use a lookup table instead, filled according to
+// the instruction sequences that codegen currently generates.
+int X86TTIImpl::getInterleavedMemoryOpCostAVX2(unsigned Opcode, Type *VecTy,
+ unsigned Factor,
+ ArrayRef<unsigned> Indices,
+ unsigned Alignment,
+ unsigned AddressSpace) {
+
+ // We currently Support only fully-interleaved groups, with no gaps.
+ // TODO: Support also strided loads (interleaved-groups with gaps).
+ if (Indices.size() && Indices.size() != Factor)
+ return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices,
+ Alignment, AddressSpace);
+
+ // VecTy for interleave memop is <VF*Factor x Elt>.
+ // So, for VF=4, Interleave Factor = 3, Element type = i32 we have
+ // VecTy = <12 x i32>.
+ MVT LegalVT = getTLI()->getTypeLegalizationCost(DL, VecTy).second;
+
+ // This function can be called with VecTy=<6xi128>, Factor=3, in which case
+ // the VF=2, while v2i128 is an unsupported MVT vector type
+ // (see MachineValueType.h::getVectorVT()).
+ if (!LegalVT.isVector())
+ return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices,
+ Alignment, AddressSpace);
+
+ unsigned VF = VecTy->getVectorNumElements() / Factor;
+ Type *ScalarTy = VecTy->getVectorElementType();
+
+ // Calculate the number of memory operations (NumOfMemOps), required
+ // for load/store the VecTy.
+ unsigned VecTySize = DL.getTypeStoreSize(VecTy);
+ unsigned LegalVTSize = LegalVT.getStoreSize();
+ unsigned NumOfMemOps = (VecTySize + LegalVTSize - 1) / LegalVTSize;
+
+ // Get the cost of one memory operation.
+ Type *SingleMemOpTy = VectorType::get(VecTy->getVectorElementType(),
+ LegalVT.getVectorNumElements());
+ unsigned MemOpCost =
+ getMemoryOpCost(Opcode, SingleMemOpTy, Alignment, AddressSpace);
+
+ VectorType *VT = VectorType::get(ScalarTy, VF);
+ EVT ETy = TLI->getValueType(DL, VT);
+ if (!ETy.isSimple())
+ return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices,
+ Alignment, AddressSpace);
+
+ // TODO: Complete for other data-types and strides.
+ // Each combination of Stride, ElementTy and VF results in a different
+ // sequence; The cost tables are therefore accessed with:
+ // Factor (stride) and VectorType=VFxElemType.
+ // The Cost accounts only for the shuffle sequence;
+ // The cost of the loads/stores is accounted for separately.
+ //
+ static const CostTblEntry AVX2InterleavedLoadTbl[] = {
+ { 3, MVT::v2i8, 10 }, //(load 6i8 and) deinterleave into 3 x 2i8
+ { 3, MVT::v4i8, 4 }, //(load 12i8 and) deinterleave into 3 x 4i8
+ { 3, MVT::v8i8, 9 }, //(load 24i8 and) deinterleave into 3 x 8i8
+ { 3, MVT::v16i8, 18}, //(load 48i8 and) deinterleave into 3 x 16i8
+ { 3, MVT::v32i8, 42 }, //(load 96i8 and) deinterleave into 3 x 32i8
+
+ { 4, MVT::v2i8, 12 }, //(load 8i8 and) deinterleave into 4 x 2i8
+ { 4, MVT::v4i8, 4 }, //(load 16i8 and) deinterleave into 4 x 4i8
+ { 4, MVT::v8i8, 20 }, //(load 32i8 and) deinterleave into 4 x 8i8
+ { 4, MVT::v16i8, 39 }, //(load 64i8 and) deinterleave into 4 x 16i8
+ { 4, MVT::v32i8, 80 } //(load 128i8 and) deinterleave into 4 x 32i8
+ };
+
+ static const CostTblEntry AVX2InterleavedStoreTbl[] = {
+ { 3, MVT::v2i8, 7 }, //interleave 3 x 2i8 into 6i8 (and store)
+ { 3, MVT::v4i8, 8 }, //interleave 3 x 4i8 into 12i8 (and store)
+ { 3, MVT::v8i8, 11 }, //interleave 3 x 8i8 into 24i8 (and store)
+ { 3, MVT::v16i8, 17 }, //interleave 3 x 16i8 into 48i8 (and store)
+ { 3, MVT::v32i8, 32 }, //interleave 3 x 32i8 into 96i8 (and store)
+
+ { 4, MVT::v2i8, 12 }, //interleave 4 x 2i8 into 8i8 (and store)
+ { 4, MVT::v4i8, 9 }, //interleave 4 x 4i8 into 16i8 (and store)
+ { 4, MVT::v8i8, 16 }, //interleave 4 x 8i8 into 32i8 (and store)
+ { 4, MVT::v16i8, 20 }, //interleave 4 x 16i8 into 64i8 (and store)
+ { 4, MVT::v32i8, 40 } //interleave 4 x 32i8 into 128i8 (and store)
+ };
+
+ if (Opcode == Instruction::Load) {
+ if (const auto *Entry =
+ CostTableLookup(AVX2InterleavedLoadTbl, Factor, ETy.getSimpleVT()))
+ return NumOfMemOps * MemOpCost + Entry->Cost;
+ } else {
+ assert(Opcode == Instruction::Store &&
+ "Expected Store Instruction at this point");
+ if (const auto *Entry =
+ CostTableLookup(AVX2InterleavedStoreTbl, Factor, ETy.getSimpleVT()))
+ return NumOfMemOps * MemOpCost + Entry->Cost;
+ }
+
+ return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices,
+ Alignment, AddressSpace);
+}
+
// Get estimation for interleaved load/store operations and strided load.
// \p Indices contains indices for strided load.
// \p Factor - the factor of interleaving.
@@ -2358,6 +2461,10 @@ int X86TTIImpl::getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy,
if (ST->hasAVX512() && HasAVX512Solution && (!RequiresBW || ST->hasBWI()))
return getInterleavedMemoryOpCostAVX512(Opcode, VecTy, Factor, Indices,
Alignment, AddressSpace);
+ if (ST->hasAVX2())
+ return getInterleavedMemoryOpCostAVX2(Opcode, VecTy, Factor, Indices,
+ Alignment, AddressSpace);
+
return BaseT::getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices,
Alignment, AddressSpace);
}
diff --git a/lib/Target/X86/X86TargetTransformInfo.h b/lib/Target/X86/X86TargetTransformInfo.h
index 09ce2c90498d..ad0a0a211301 100644
--- a/lib/Target/X86/X86TargetTransformInfo.h
+++ b/lib/Target/X86/X86TargetTransformInfo.h
@@ -93,6 +93,9 @@ public:
int getInterleavedMemoryOpCostAVX512(unsigned Opcode, Type *VecTy,
unsigned Factor, ArrayRef<unsigned> Indices,
unsigned Alignment, unsigned AddressSpace);
+ int getInterleavedMemoryOpCostAVX2(unsigned Opcode, Type *VecTy,
+ unsigned Factor, ArrayRef<unsigned> Indices,
+ unsigned Alignment, unsigned AddressSpace);
int getIntImmCost(int64_t);
@@ -101,15 +104,13 @@ public:
int getIntImmCost(unsigned Opcode, unsigned Idx, const APInt &Imm, Type *Ty);
int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
Type *Ty);
- bool isLSRCostLess(TargetTransformInfo::LSRCost &C1,
- TargetTransformInfo::LSRCost &C2);
bool isLegalMaskedLoad(Type *DataType);
bool isLegalMaskedStore(Type *DataType);
bool isLegalMaskedGather(Type *DataType);
bool isLegalMaskedScatter(Type *DataType);
bool areInlineCompatible(const Function *Caller,
const Function *Callee) const;
-
+ bool expandMemCmp(Instruction *I, unsigned &MaxLoadSize);
bool enableInterleavedAccessVectorization();
private:
int getGSScalarCost(unsigned Opcode, Type *DataTy, bool VariableMask,
diff --git a/lib/Testing/Support/LLVMBuild.txt b/lib/Testing/Support/LLVMBuild.txt
index 40853e8172d5..173cfb4a5587 100644
--- a/lib/Testing/Support/LLVMBuild.txt
+++ b/lib/Testing/Support/LLVMBuild.txt
@@ -20,3 +20,4 @@ type = Library
name = TestingSupport
parent = Libraries
required_libraries = Support
+installed = 0
diff --git a/lib/ToolDrivers/llvm-lib/LibDriver.cpp b/lib/ToolDrivers/llvm-lib/LibDriver.cpp
index 797e4ffc2d45..f304b9c9a8da 100644
--- a/lib/ToolDrivers/llvm-lib/LibDriver.cpp
+++ b/lib/ToolDrivers/llvm-lib/LibDriver.cpp
@@ -31,7 +31,7 @@ namespace {
enum {
OPT_INVALID = 0,
-#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11) OPT_##ID,
+#define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID,
#include "Options.inc"
#undef OPTION
};
@@ -41,11 +41,9 @@ enum {
#undef PREFIX
static const llvm::opt::OptTable::Info infoTable[] = {
-#define OPTION(X1, X2, ID, KIND, GROUP, ALIAS, X6, X7, X8, X9, X10) \
- { \
- X1, X2, X9, X10, OPT_##ID, llvm::opt::Option::KIND##Class, X8, X7, \
- OPT_##GROUP, OPT_##ALIAS, X6 \
- },
+#define OPTION(X1, X2, ID, KIND, GROUP, ALIAS, X6, X7, X8, X9, X10, X11) \
+ {X1, X2, X9, X10, OPT_##ID, llvm::opt::Option::KIND##Class, \
+ X8, X7, OPT_##GROUP, OPT_##ALIAS, X6, X11},
#include "Options.inc"
#undef OPTION
};
diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp
index 4bc64ab698ff..087a8aa2c624 100644
--- a/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -72,10 +72,6 @@ static cl::opt<bool>
RunLoopRerolling("reroll-loops", cl::Hidden,
cl::desc("Run the loop rerolling pass"));
-static cl::opt<bool> RunLoadCombine("combine-loads", cl::init(false),
- cl::Hidden,
- cl::desc("Run the load combining pass"));
-
static cl::opt<bool> RunNewGVN("enable-newgvn", cl::init(false), cl::Hidden,
cl::desc("Run the NewGVN pass"));
@@ -174,7 +170,6 @@ PassManagerBuilder::PassManagerBuilder() {
SLPVectorize = RunSLPVectorization;
LoopVectorize = RunLoopVectorization;
RerollLoops = RunLoopRerolling;
- LoadCombine = RunLoadCombine;
NewGVN = RunNewGVN;
DisableGVNLoadPRE = false;
VerifyInput = false;
@@ -296,6 +291,8 @@ void PassManagerBuilder::addPGOInstrPasses(legacy::PassManagerBase &MPM) {
InstrProfOptions Options;
if (!PGOInstrGen.empty())
Options.InstrProfileOutput = PGOInstrGen;
+ Options.DoCounterPromotion = true;
+ MPM.add(createLoopRotatePass());
MPM.add(createInstrProfilingLegacyPass(Options));
}
if (!PGOInstrUse.empty())
@@ -407,9 +404,6 @@ void PassManagerBuilder::addFunctionSimplificationPasses(
}
}
- if (LoadCombine)
- MPM.add(createLoadCombinePass());
-
MPM.add(createAggressiveDCEPass()); // Delete dead instructions
MPM.add(createCFGSimplificationPass()); // Merge & remove BBs
// Clean up after everything.
@@ -850,9 +844,6 @@ void PassManagerBuilder::addLTOOptimizationPasses(legacy::PassManagerBase &PM) {
// alignments.
PM.add(createAlignmentFromAssumptionsPass());
- if (LoadCombine)
- PM.add(createLoadCombinePass());
-
// Cleanup and simplify the code after the scalar optimizations.
addInstructionCombiningPass(PM);
addExtensionsToPM(EP_Peephole, PM);
diff --git a/lib/Transforms/IPO/SampleProfile.cpp b/lib/Transforms/IPO/SampleProfile.cpp
index 67bc8f5f6b7a..656421ee58df 100644
--- a/lib/Transforms/IPO/SampleProfile.cpp
+++ b/lib/Transforms/IPO/SampleProfile.cpp
@@ -690,6 +690,9 @@ bool SampleProfileLoader::inlineHotFunctions(
for (auto I : CIS) {
InlineFunctionInfo IFI(nullptr, ACT ? &GetAssumptionCache : nullptr);
Function *CalledFunction = CallSite(I).getCalledFunction();
+ // Do not inline recursive calls.
+ if (CalledFunction == &F)
+ continue;
Instruction *DI = I;
if (!CalledFunction && !PromotedInsns.count(I) &&
CallSite(I).isIndirectCall())
diff --git a/lib/Transforms/InstCombine/InstCombineAddSub.cpp b/lib/Transforms/InstCombine/InstCombineAddSub.cpp
index 287a5167fe2a..d5f0dd191415 100644
--- a/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+++ b/lib/Transforms/InstCombine/InstCombineAddSub.cpp
@@ -988,15 +988,24 @@ static Instruction *foldAddWithConstant(BinaryOperator &Add,
return new ZExtInst(Builder.CreateNUWAdd(X, NewC), Ty);
}
- // Shifts and add used to flip and mask off the low bit:
- // add (ashr (shl i32 X, 31), 31), 1 --> and (not X), 1
- const APInt *C3;
- if (C->isOneValue() &&
- match(Op0,
- m_OneUse(m_AShr(m_Shl(m_Value(X), m_APInt(C2)), m_APInt(C3)))) &&
- C2 == C3 && *C2 == Ty->getScalarSizeInBits() - 1) {
- Value *NotX = Builder.CreateNot(X);
- return BinaryOperator::CreateAnd(NotX, ConstantInt::get(Ty, 1));
+ if (C->isOneValue() && Op0->hasOneUse()) {
+ // add (sext i1 X), 1 --> zext (not X)
+ // TODO: The smallest IR representation is (select X, 0, 1), and that would
+ // not require the one-use check. But we need to remove a transform in
+ // visitSelect and make sure that IR value tracking for select is equal or
+ // better than for these ops.
+ if (match(Op0, m_SExt(m_Value(X))) &&
+ X->getType()->getScalarSizeInBits() == 1)
+ return new ZExtInst(Builder.CreateNot(X), Ty);
+
+ // Shifts and add used to flip and mask off the low bit:
+ // add (ashr (shl i32 X, 31), 31), 1 --> and (not X), 1
+ const APInt *C3;
+ if (match(Op0, m_AShr(m_Shl(m_Value(X), m_APInt(C2)), m_APInt(C3))) &&
+ C2 == C3 && *C2 == Ty->getScalarSizeInBits() - 1) {
+ Value *NotX = Builder.CreateNot(X);
+ return BinaryOperator::CreateAnd(NotX, ConstantInt::get(Ty, 1));
+ }
}
return nullptr;
diff --git a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
index a881bda5ba98..d3d8cefe9735 100644
--- a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+++ b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
@@ -1097,20 +1097,11 @@ static Instruction *foldLogicCastConstant(BinaryOperator &Logic, CastInst *Cast,
Type *DestTy = Logic.getType();
Type *SrcTy = Cast->getSrcTy();
- // If the first operand is bitcast, move the logic operation ahead of the
- // bitcast (do the logic operation in the original type). This can eliminate
- // bitcasts and allow combines that would otherwise be impeded by the bitcast.
+ // Move the logic operation ahead of a zext if the constant is unchanged in
+ // the smaller source type. Performing the logic in a smaller type may provide
+ // more information to later folds, and the smaller logic instruction may be
+ // cheaper (particularly in the case of vectors).
Value *X;
- if (match(Cast, m_BitCast(m_Value(X)))) {
- Value *NewConstant = ConstantExpr::getBitCast(C, SrcTy);
- Value *NewOp = Builder->CreateBinOp(LogicOpc, X, NewConstant);
- return CastInst::CreateBitOrPointerCast(NewOp, DestTy);
- }
-
- // Similarly, move the logic operation ahead of a zext if the constant is
- // unchanged in the smaller source type. Performing the logic in a smaller
- // type may provide more information to later folds, and the smaller logic
- // instruction may be cheaper (particularly in the case of vectors).
if (match(Cast, m_OneUse(m_ZExt(m_Value(X))))) {
Constant *TruncC = ConstantExpr::getTrunc(C, SrcTy);
Constant *ZextTruncC = ConstantExpr::getZExt(TruncC, DestTy);
@@ -1239,9 +1230,10 @@ static Instruction *foldAndToXor(BinaryOperator &I,
// (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_Specific(B))))
- return BinaryOperator::CreateNot(Builder.CreateXor(A, B));
+ if (Op0->hasOneUse() || Op1->hasOneUse())
+ 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_Specific(B))))
+ return BinaryOperator::CreateNot(Builder.CreateXor(A, B));
return nullptr;
}
@@ -1256,9 +1248,10 @@ static Instruction *foldOrToXor(BinaryOperator &I,
// 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));
+ if (Op0->hasOneUse() || Op1->hasOneUse())
+ 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
@@ -1442,13 +1435,13 @@ Instruction *InstCombiner::visitAnd(BinaryOperator &I) {
// (A ^ B) & ((B ^ C) ^ A) -> (A ^ B) & ~C
if (match(Op0, m_Xor(m_Value(A), m_Value(B))))
if (match(Op1, m_Xor(m_Xor(m_Specific(B), m_Value(C)), m_Specific(A))))
- if (Op1->hasOneUse() || cast<BinaryOperator>(Op1)->hasOneUse())
+ if (Op1->hasOneUse() || IsFreeToInvert(C, C->hasOneUse()))
return BinaryOperator::CreateAnd(Op0, Builder->CreateNot(C));
// ((A ^ C) ^ B) & (B ^ A) -> (B ^ A) & ~C
if (match(Op0, m_Xor(m_Xor(m_Value(A), m_Value(C)), m_Value(B))))
if (match(Op1, m_Xor(m_Specific(B), m_Specific(A))))
- if (Op0->hasOneUse() || cast<BinaryOperator>(Op0)->hasOneUse())
+ if (Op0->hasOneUse() || IsFreeToInvert(C, C->hasOneUse()))
return BinaryOperator::CreateAnd(Op1, Builder->CreateNot(C));
// (A | B) & ((~A) ^ B) -> (A & B)
@@ -1579,11 +1572,14 @@ static Value *getSelectCondition(Value *A, Value *B,
// If A and B are sign-extended, look through the sexts to find the booleans.
Value *Cond;
+ Value *NotB;
if (match(A, m_SExt(m_Value(Cond))) &&
Cond->getType()->getScalarType()->isIntegerTy(1) &&
- match(B, m_CombineOr(m_Not(m_SExt(m_Specific(Cond))),
- m_SExt(m_Not(m_Specific(Cond))))))
- return Cond;
+ match(B, m_OneUse(m_Not(m_Value(NotB))))) {
+ NotB = peekThroughBitcast(NotB, true);
+ if (match(NotB, m_SExt(m_Specific(Cond))))
+ return Cond;
+ }
// All scalar (and most vector) possibilities should be handled now.
// Try more matches that only apply to non-splat constant vectors.
@@ -1615,12 +1611,8 @@ static Value *matchSelectFromAndOr(Value *A, Value *C, Value *B, Value *D,
// The potential condition of the select may be bitcasted. In that case, look
// through its bitcast and the corresponding bitcast of the 'not' condition.
Type *OrigType = A->getType();
- Value *SrcA, *SrcB;
- if (match(A, m_OneUse(m_BitCast(m_Value(SrcA)))) &&
- match(B, m_OneUse(m_BitCast(m_Value(SrcB))))) {
- A = SrcA;
- B = SrcB;
- }
+ A = peekThroughBitcast(A, true);
+ B = peekThroughBitcast(B, true);
if (Value *Cond = getSelectCondition(A, B, Builder)) {
// ((bc Cond) & C) | ((bc ~Cond) & D) --> bc (select Cond, (bc C), (bc D))
@@ -1922,8 +1914,9 @@ Value *InstCombiner::foldOrOfFCmps(FCmpInst *LHS, FCmpInst *RHS) {
/// (A & C1) | B
///
/// when the XOR of the two constants is "all ones" (-1).
-Instruction *InstCombiner::FoldOrWithConstants(BinaryOperator &I, Value *Op,
- Value *A, Value *B, Value *C) {
+static Instruction *FoldOrWithConstants(BinaryOperator &I, Value *Op,
+ Value *A, Value *B, Value *C,
+ InstCombiner::BuilderTy *Builder) {
ConstantInt *CI1 = dyn_cast<ConstantInt>(C);
if (!CI1) return nullptr;
@@ -1944,15 +1937,16 @@ Instruction *InstCombiner::FoldOrWithConstants(BinaryOperator &I, Value *Op,
/// \brief This helper function folds:
///
-/// ((A | B) & C1) ^ (B & C2)
+/// ((A ^ B) & C1) | (B & C2)
///
/// into:
///
/// (A & C1) ^ B
///
/// when the XOR of the two constants is "all ones" (-1).
-Instruction *InstCombiner::FoldXorWithConstants(BinaryOperator &I, Value *Op,
- Value *A, Value *B, Value *C) {
+static Instruction *FoldXorWithConstants(BinaryOperator &I, Value *Op,
+ Value *A, Value *B, Value *C,
+ InstCombiner::BuilderTy *Builder) {
ConstantInt *CI1 = dyn_cast<ConstantInt>(C);
if (!CI1)
return nullptr;
@@ -2112,46 +2106,36 @@ Instruction *InstCombiner::visitOr(BinaryOperator &I) {
}
// ((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)))) {
- Instruction *Ret = FoldOrWithConstants(I, Op1, V1, B, C);
- if (Ret) return Ret;
+ if (match(A, m_c_Or(m_Value(V1), m_Specific(B)))) {
+ if (Instruction *Ret = FoldOrWithConstants(I, Op1, V1, B, C, Builder))
+ return Ret;
}
// (B&-2)|((A|B)&1) -> (A&1) | B
- if (match(B, m_Or(m_Specific(A), m_Value(V1))) ||
- match(B, m_Or(m_Value(V1), m_Specific(A)))) {
- Instruction *Ret = FoldOrWithConstants(I, Op0, A, V1, D);
- if (Ret) return Ret;
+ if (match(B, m_c_Or(m_Specific(A), m_Value(V1)))) {
+ if (Instruction *Ret = FoldOrWithConstants(I, Op0, A, V1, D, Builder))
+ return Ret;
}
// ((A^B)&1)|(B&-2) -> (A&1) ^ B
- if (match(A, m_Xor(m_Value(V1), m_Specific(B))) ||
- match(A, m_Xor(m_Specific(B), m_Value(V1)))) {
- Instruction *Ret = FoldXorWithConstants(I, Op1, V1, B, C);
- if (Ret) return Ret;
+ if (match(A, m_c_Xor(m_Value(V1), m_Specific(B)))) {
+ if (Instruction *Ret = FoldXorWithConstants(I, Op1, V1, B, C, Builder))
+ return Ret;
}
// (B&-2)|((A^B)&1) -> (A&1) ^ B
- if (match(B, m_Xor(m_Specific(A), m_Value(V1))) ||
- match(B, m_Xor(m_Value(V1), m_Specific(A)))) {
- Instruction *Ret = FoldXorWithConstants(I, Op0, A, V1, D);
- if (Ret) return Ret;
+ if (match(B, m_c_Xor(m_Specific(A), m_Value(V1)))) {
+ if (Instruction *Ret = FoldXorWithConstants(I, Op0, A, V1, D, Builder))
+ return Ret;
}
}
// (A ^ B) | ((B ^ C) ^ A) -> (A ^ B) | C
- // FIXME: The two hasOneUse calls here are the same call, maybe we were
- // supposed to check Op1->operand(0)?
if (match(Op0, m_Xor(m_Value(A), m_Value(B))))
if (match(Op1, m_Xor(m_Xor(m_Specific(B), m_Value(C)), m_Specific(A))))
- if (Op1->hasOneUse() || cast<BinaryOperator>(Op1)->hasOneUse())
- return BinaryOperator::CreateOr(Op0, C);
+ return BinaryOperator::CreateOr(Op0, C);
// ((A ^ C) ^ B) | (B ^ A) -> (B ^ A) | C
- // FIXME: The two hasOneUse calls here are the same call, maybe we were
- // supposed to check Op0->operand(0)?
if (match(Op0, m_Xor(m_Xor(m_Value(A), m_Value(C)), m_Value(B))))
if (match(Op1, m_Xor(m_Specific(B), m_Specific(A))))
- if (Op0->hasOneUse() || cast<BinaryOperator>(Op0)->hasOneUse())
- return BinaryOperator::CreateOr(Op1, C);
+ return BinaryOperator::CreateOr(Op1, C);
// ((B | C) & A) | B -> B | (A & C)
if (match(Op0, m_And(m_Or(m_Specific(Op1), m_Value(C)), m_Value(A))))
@@ -2357,6 +2341,30 @@ Value *InstCombiner::foldXorOfICmps(ICmpInst *LHS, ICmpInst *RHS) {
}
}
+ // Instead of trying to imitate the folds for and/or, decompose this 'xor'
+ // into those logic ops. That is, try to turn this into an and-of-icmps
+ // because we have many folds for that pattern.
+ //
+ // This is based on a truth table definition of xor:
+ // X ^ Y --> (X | Y) & !(X & Y)
+ if (Value *OrICmp = SimplifyBinOp(Instruction::Or, LHS, RHS, SQ)) {
+ // TODO: If OrICmp is true, then the definition of xor simplifies to !(X&Y).
+ // TODO: If OrICmp is false, the whole thing is false (InstSimplify?).
+ if (Value *AndICmp = SimplifyBinOp(Instruction::And, LHS, RHS, SQ)) {
+ // TODO: Independently handle cases where the 'and' side is a constant.
+ if (OrICmp == LHS && AndICmp == RHS && RHS->hasOneUse()) {
+ // (LHS | RHS) & !(LHS & RHS) --> LHS & !RHS
+ RHS->setPredicate(RHS->getInversePredicate());
+ return Builder->CreateAnd(LHS, RHS);
+ }
+ if (OrICmp == RHS && AndICmp == LHS && LHS->hasOneUse()) {
+ // !(LHS & RHS) & (LHS | RHS) --> !LHS & RHS
+ LHS->setPredicate(LHS->getInversePredicate());
+ return Builder->CreateAnd(LHS, RHS);
+ }
+ }
+ }
+
return nullptr;
}
diff --git a/lib/Transforms/InstCombine/InstCombineCalls.cpp b/lib/Transforms/InstCombine/InstCombineCalls.cpp
index c0830a5d2112..dbed7ad4eae8 100644
--- a/lib/Transforms/InstCombine/InstCombineCalls.cpp
+++ b/lib/Transforms/InstCombine/InstCombineCalls.cpp
@@ -1409,6 +1409,47 @@ static Instruction *foldCttzCtlz(IntrinsicInst &II, InstCombiner &IC) {
}
}
+ // Add range metadata since known bits can't completely reflect what we know.
+ // TODO: Handle splat vectors.
+ auto *IT = dyn_cast<IntegerType>(Op0->getType());
+ if (IT && IT->getBitWidth() != 1 && !II.getMetadata(LLVMContext::MD_range)) {
+ Metadata *LowAndHigh[] = {
+ ConstantAsMetadata::get(ConstantInt::get(IT, DefiniteZeros)),
+ ConstantAsMetadata::get(ConstantInt::get(IT, PossibleZeros + 1))};
+ II.setMetadata(LLVMContext::MD_range,
+ MDNode::get(II.getContext(), LowAndHigh));
+ return &II;
+ }
+
+ return nullptr;
+}
+
+static Instruction *foldCtpop(IntrinsicInst &II, InstCombiner &IC) {
+ assert(II.getIntrinsicID() == Intrinsic::ctpop &&
+ "Expected ctpop intrinsic");
+ Value *Op0 = II.getArgOperand(0);
+ // FIXME: Try to simplify vectors of integers.
+ auto *IT = dyn_cast<IntegerType>(Op0->getType());
+ if (!IT)
+ return nullptr;
+
+ unsigned BitWidth = IT->getBitWidth();
+ KnownBits Known(BitWidth);
+ IC.computeKnownBits(Op0, Known, 0, &II);
+
+ unsigned MinCount = Known.countMinPopulation();
+ unsigned MaxCount = Known.countMaxPopulation();
+
+ // Add range metadata since known bits can't completely reflect what we know.
+ if (IT->getBitWidth() != 1 && !II.getMetadata(LLVMContext::MD_range)) {
+ Metadata *LowAndHigh[] = {
+ ConstantAsMetadata::get(ConstantInt::get(IT, MinCount)),
+ ConstantAsMetadata::get(ConstantInt::get(IT, MaxCount + 1))};
+ II.setMetadata(LLVMContext::MD_range,
+ MDNode::get(II.getContext(), LowAndHigh));
+ return &II;
+ }
+
return nullptr;
}
@@ -1981,6 +2022,11 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) {
return I;
break;
+ case Intrinsic::ctpop:
+ if (auto *I = foldCtpop(*II, *this))
+ return I;
+ break;
+
case Intrinsic::uadd_with_overflow:
case Intrinsic::sadd_with_overflow:
case Intrinsic::umul_with_overflow:
diff --git a/lib/Transforms/InstCombine/InstCombineCasts.cpp b/lib/Transforms/InstCombine/InstCombineCasts.cpp
index 38e95fb11639..d3049389dfb9 100644
--- a/lib/Transforms/InstCombine/InstCombineCasts.cpp
+++ b/lib/Transforms/InstCombine/InstCombineCasts.cpp
@@ -1896,6 +1896,18 @@ static Instruction *foldBitCastBitwiseLogic(BitCastInst &BitCast,
return BinaryOperator::Create(BO->getOpcode(), CastedOp0, X);
}
+ // Canonicalize vector bitcasts to come before vector bitwise logic with a
+ // constant. This eases recognition of special constants for later ops.
+ // Example:
+ // icmp u/s (a ^ signmask), (b ^ signmask) --> icmp s/u a, b
+ Constant *C;
+ if (match(BO->getOperand(1), m_Constant(C))) {
+ // bitcast (logic X, C) --> logic (bitcast X, C')
+ Value *CastedOp0 = Builder.CreateBitCast(BO->getOperand(0), DestTy);
+ Value *CastedC = ConstantExpr::getBitCast(C, DestTy);
+ return BinaryOperator::Create(BO->getOpcode(), CastedOp0, CastedC);
+ }
+
return nullptr;
}
diff --git a/lib/Transforms/InstCombine/InstCombineCompares.cpp b/lib/Transforms/InstCombine/InstCombineCompares.cpp
index 1ef4acfb058c..6ad32490a328 100644
--- a/lib/Transforms/InstCombine/InstCombineCompares.cpp
+++ b/lib/Transforms/InstCombine/InstCombineCompares.cpp
@@ -2434,6 +2434,77 @@ Instruction *InstCombiner::foldICmpAddConstant(ICmpInst &Cmp,
return nullptr;
}
+bool InstCombiner::matchThreeWayIntCompare(SelectInst *SI, Value *&LHS,
+ Value *&RHS, ConstantInt *&Less,
+ ConstantInt *&Equal,
+ ConstantInt *&Greater) {
+ // TODO: Generalize this to work with other comparison idioms or ensure
+ // they get canonicalized into this form.
+
+ // select i1 (a == b), i32 Equal, i32 (select i1 (a < b), i32 Less, i32
+ // Greater), where Equal, Less and Greater are placeholders for any three
+ // constants.
+ ICmpInst::Predicate PredA, PredB;
+ if (match(SI->getTrueValue(), m_ConstantInt(Equal)) &&
+ match(SI->getCondition(), m_ICmp(PredA, m_Value(LHS), m_Value(RHS))) &&
+ PredA == ICmpInst::ICMP_EQ &&
+ match(SI->getFalseValue(),
+ m_Select(m_ICmp(PredB, m_Specific(LHS), m_Specific(RHS)),
+ m_ConstantInt(Less), m_ConstantInt(Greater))) &&
+ PredB == ICmpInst::ICMP_SLT) {
+ return true;
+ }
+ return false;
+}
+
+Instruction *InstCombiner::foldICmpSelectConstant(ICmpInst &Cmp,
+ Instruction *Select,
+ ConstantInt *C) {
+
+ assert(C && "Cmp RHS should be a constant int!");
+ // If we're testing a constant value against the result of a three way
+ // comparison, the result can be expressed directly in terms of the
+ // original values being compared. Note: We could possibly be more
+ // aggressive here and remove the hasOneUse test. The original select is
+ // really likely to simplify or sink when we remove a test of the result.
+ Value *OrigLHS, *OrigRHS;
+ ConstantInt *C1LessThan, *C2Equal, *C3GreaterThan;
+ if (Cmp.hasOneUse() &&
+ matchThreeWayIntCompare(cast<SelectInst>(Select), OrigLHS, OrigRHS,
+ C1LessThan, C2Equal, C3GreaterThan)) {
+ assert(C1LessThan && C2Equal && C3GreaterThan);
+
+ bool TrueWhenLessThan =
+ ConstantExpr::getCompare(Cmp.getPredicate(), C1LessThan, C)
+ ->isAllOnesValue();
+ bool TrueWhenEqual =
+ ConstantExpr::getCompare(Cmp.getPredicate(), C2Equal, C)
+ ->isAllOnesValue();
+ bool TrueWhenGreaterThan =
+ ConstantExpr::getCompare(Cmp.getPredicate(), C3GreaterThan, C)
+ ->isAllOnesValue();
+
+ // This generates the new instruction that will replace the original Cmp
+ // Instruction. Instead of enumerating the various combinations when
+ // TrueWhenLessThan, TrueWhenEqual and TrueWhenGreaterThan are true versus
+ // false, we rely on chaining of ORs and future passes of InstCombine to
+ // simplify the OR further (i.e. a s< b || a == b becomes a s<= b).
+
+ // When none of the three constants satisfy the predicate for the RHS (C),
+ // the entire original Cmp can be simplified to a false.
+ Value *Cond = Builder->getFalse();
+ if (TrueWhenLessThan)
+ Cond = Builder->CreateOr(Cond, Builder->CreateICmp(ICmpInst::ICMP_SLT, OrigLHS, OrigRHS));
+ if (TrueWhenEqual)
+ Cond = Builder->CreateOr(Cond, Builder->CreateICmp(ICmpInst::ICMP_EQ, OrigLHS, OrigRHS));
+ if (TrueWhenGreaterThan)
+ Cond = Builder->CreateOr(Cond, Builder->CreateICmp(ICmpInst::ICMP_SGT, OrigLHS, OrigRHS));
+
+ return replaceInstUsesWith(Cmp, Cond);
+ }
+ return nullptr;
+}
+
/// Try to fold integer comparisons with a constant operand: icmp Pred X, C
/// where X is some kind of instruction.
Instruction *InstCombiner::foldICmpInstWithConstant(ICmpInst &Cmp) {
@@ -2493,11 +2564,28 @@ Instruction *InstCombiner::foldICmpInstWithConstant(ICmpInst &Cmp) {
return I;
}
+ // Match against CmpInst LHS being instructions other than binary operators.
Instruction *LHSI;
- if (match(Cmp.getOperand(0), m_Instruction(LHSI)) &&
- LHSI->getOpcode() == Instruction::Trunc)
- if (Instruction *I = foldICmpTruncConstant(Cmp, LHSI, C))
- return I;
+ if (match(Cmp.getOperand(0), m_Instruction(LHSI))) {
+ switch (LHSI->getOpcode()) {
+ case Instruction::Select:
+ {
+ // For now, we only support constant integers while folding the
+ // ICMP(SELECT)) pattern. We can extend this to support vector of integers
+ // similar to the cases handled by binary ops above.
+ if (ConstantInt *ConstRHS = dyn_cast<ConstantInt>(Cmp.getOperand(1)))
+ if (Instruction *I = foldICmpSelectConstant(Cmp, LHSI, ConstRHS))
+ return I;
+ break;
+ }
+ case Instruction::Trunc:
+ if (Instruction *I = foldICmpTruncConstant(Cmp, LHSI, C))
+ return I;
+ break;
+ default:
+ break;
+ }
+ }
if (Instruction *I = foldICmpIntrinsicWithConstant(Cmp, C))
return I;
@@ -3110,8 +3198,7 @@ Instruction *InstCombiner::foldICmpBinOp(ICmpInst &I) {
if (BO0) {
// Transform A & (L - 1) `ult` L --> L != 0
auto LSubOne = m_Add(m_Specific(Op1), m_AllOnes());
- auto BitwiseAnd =
- m_CombineOr(m_And(m_Value(), LSubOne), m_And(LSubOne, m_Value()));
+ auto BitwiseAnd = m_c_And(m_Value(), LSubOne);
if (match(BO0, BitwiseAnd) && Pred == ICmpInst::ICMP_ULT) {
auto *Zero = Constant::getNullValue(BO0->getType());
diff --git a/lib/Transforms/InstCombine/InstCombineInternal.h b/lib/Transforms/InstCombine/InstCombineInternal.h
index 1a7db146df42..1b0fe84dd4dd 100644
--- a/lib/Transforms/InstCombine/InstCombineInternal.h
+++ b/lib/Transforms/InstCombine/InstCombineInternal.h
@@ -95,6 +95,18 @@ static inline bool isCanonicalPredicate(CmpInst::Predicate Pred) {
}
}
+/// Return the source operand of a potentially bitcasted value while optionally
+/// checking if it has one use. If there is no bitcast or the one use check is
+/// not met, return the input value itself.
+static inline Value *peekThroughBitcast(Value *V, bool OneUseOnly = false) {
+ if (auto *BitCast = dyn_cast<BitCastInst>(V))
+ if (!OneUseOnly || BitCast->hasOneUse())
+ return BitCast->getOperand(0);
+
+ // V is not a bitcast or V has more than one use and OneUseOnly is true.
+ return V;
+}
+
/// \brief Add one to a Constant
static inline Constant *AddOne(Constant *C) {
return ConstantExpr::getAdd(C, ConstantInt::get(C->getType(), 1));
@@ -276,10 +288,6 @@ public:
Instruction *visitFDiv(BinaryOperator &I);
Value *simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, bool Inverted);
Instruction *visitAnd(BinaryOperator &I);
- Instruction *FoldOrWithConstants(BinaryOperator &I, Value *Op, Value *A,
- Value *B, Value *C);
- Instruction *FoldXorWithConstants(BinaryOperator &I, Value *Op, Value *A,
- Value *B, Value *C);
Instruction *visitOr(BinaryOperator &I);
Instruction *visitXor(BinaryOperator &I);
Instruction *visitShl(BinaryOperator &I);
@@ -595,6 +603,15 @@ private:
Instruction::BinaryOps, Value *, Value *, Value *,
Value *);
+ /// Match a select chain which produces one of three values based on whether
+ /// the LHS is less than, equal to, or greater than RHS respectively.
+ /// Return true if we matched a three way compare idiom. The LHS, RHS, Less,
+ /// Equal and Greater values are saved in the matching process and returned to
+ /// the caller.
+ bool matchThreeWayIntCompare(SelectInst *SI, Value *&LHS, Value *&RHS,
+ ConstantInt *&Less, ConstantInt *&Equal,
+ ConstantInt *&Greater);
+
/// \brief Attempts to replace V with a simpler value based on the demanded
/// bits.
Value *SimplifyDemandedUseBits(Value *V, APInt DemandedMask, KnownBits &Known,
@@ -672,6 +689,8 @@ private:
Instruction *foldICmpBinOp(ICmpInst &Cmp);
Instruction *foldICmpEquality(ICmpInst &Cmp);
+ Instruction *foldICmpSelectConstant(ICmpInst &Cmp, Instruction *Select,
+ ConstantInt *C);
Instruction *foldICmpTruncConstant(ICmpInst &Cmp, Instruction *Trunc,
const APInt *C);
Instruction *foldICmpAndConstant(ICmpInst &Cmp, BinaryOperator *And,
diff --git a/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp b/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
index a4d84ae81aa0..ca370c73fca4 100644
--- a/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
+++ b/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
@@ -169,6 +169,18 @@ isOnlyCopiedFromConstantGlobal(AllocaInst *AI,
return nullptr;
}
+/// Returns true if V is dereferenceable for size of alloca.
+static bool isDereferenceableForAllocaSize(const Value *V, const AllocaInst *AI,
+ const DataLayout &DL) {
+ if (AI->isArrayAllocation())
+ return false;
+ uint64_t AllocaSize = DL.getTypeStoreSize(AI->getAllocatedType());
+ if (!AllocaSize)
+ return false;
+ return isDereferenceableAndAlignedPointer(V, AI->getAlignment(),
+ APInt(64, AllocaSize), DL);
+}
+
static Instruction *simplifyAllocaArraySize(InstCombiner &IC, AllocaInst &AI) {
// Check for array size of 1 (scalar allocation).
if (!AI.isArrayAllocation()) {
@@ -390,7 +402,8 @@ Instruction *InstCombiner::visitAllocaInst(AllocaInst &AI) {
if (MemTransferInst *Copy = isOnlyCopiedFromConstantGlobal(&AI, ToDelete)) {
unsigned SourceAlign = getOrEnforceKnownAlignment(
Copy->getSource(), AI.getAlignment(), DL, &AI, &AC, &DT);
- if (AI.getAlignment() <= SourceAlign) {
+ if (AI.getAlignment() <= SourceAlign &&
+ isDereferenceableForAllocaSize(Copy->getSource(), &AI, DL)) {
DEBUG(dbgs() << "Found alloca equal to global: " << AI << '\n');
DEBUG(dbgs() << " memcpy = " << *Copy << '\n');
for (unsigned i = 0, e = ToDelete.size(); i != e; ++i)
@@ -476,21 +489,7 @@ static LoadInst *combineLoadToNewType(InstCombiner &IC, LoadInst &LI, Type *NewT
break;
case LLVMContext::MD_nonnull:
- // This only directly applies if the new type is also a pointer.
- if (NewTy->isPointerTy()) {
- NewLoad->setMetadata(ID, N);
- break;
- }
- // If it's integral now, translate it to !range metadata.
- if (NewTy->isIntegerTy()) {
- auto *ITy = cast<IntegerType>(NewTy);
- auto *NullInt = ConstantExpr::getPtrToInt(
- ConstantPointerNull::get(cast<PointerType>(Ptr->getType())), ITy);
- auto *NonNullInt =
- ConstantExpr::getAdd(NullInt, ConstantInt::get(ITy, 1));
- NewLoad->setMetadata(LLVMContext::MD_range,
- MDB.createRange(NonNullInt, NullInt));
- }
+ copyNonnullMetadata(LI, N, *NewLoad);
break;
case LLVMContext::MD_align:
case LLVMContext::MD_dereferenceable:
@@ -500,17 +499,7 @@ static LoadInst *combineLoadToNewType(InstCombiner &IC, LoadInst &LI, Type *NewT
NewLoad->setMetadata(ID, N);
break;
case LLVMContext::MD_range:
- // FIXME: It would be nice to propagate this in some way, but the type
- // conversions make it hard.
-
- // If it's a pointer now and the range does not contain 0, make it !nonnull.
- if (NewTy->isPointerTy()) {
- unsigned BitWidth = IC.getDataLayout().getTypeSizeInBits(NewTy);
- if (!getConstantRangeFromMetadata(*N).contains(APInt(BitWidth, 0))) {
- MDNode *NN = MDNode::get(LI.getContext(), None);
- NewLoad->setMetadata(LLVMContext::MD_nonnull, NN);
- }
- }
+ copyRangeMetadata(IC.getDataLayout(), LI, N, *NewLoad);
break;
}
}
diff --git a/lib/Transforms/InstCombine/InstCombineSelect.cpp b/lib/Transforms/InstCombine/InstCombineSelect.cpp
index b9674d85634d..33951e66497a 100644
--- a/lib/Transforms/InstCombine/InstCombineSelect.cpp
+++ b/lib/Transforms/InstCombine/InstCombineSelect.cpp
@@ -303,7 +303,7 @@ Instruction *InstCombiner::foldSelectIntoOp(SelectInst &SI, Value *TrueVal,
/// We want to turn:
/// (select (icmp eq (and X, C1), 0), Y, (or Y, C2))
/// into:
-/// (or (shl (and X, C1), C3), y)
+/// (or (shl (and X, C1), C3), Y)
/// iff:
/// C1 and C2 are both powers of 2
/// where:
@@ -317,19 +317,44 @@ static Value *foldSelectICmpAndOr(const SelectInst &SI, Value *TrueVal,
Value *FalseVal,
InstCombiner::BuilderTy *Builder) {
const ICmpInst *IC = dyn_cast<ICmpInst>(SI.getCondition());
- if (!IC || !IC->isEquality() || !SI.getType()->isIntegerTy())
+ if (!IC || !SI.getType()->isIntegerTy())
return nullptr;
Value *CmpLHS = IC->getOperand(0);
Value *CmpRHS = IC->getOperand(1);
- if (!match(CmpRHS, m_Zero()))
- return nullptr;
+ Value *V;
+ unsigned C1Log;
+ bool IsEqualZero;
+ bool NeedAnd = false;
+ if (IC->isEquality()) {
+ if (!match(CmpRHS, m_Zero()))
+ return nullptr;
+
+ const APInt *C1;
+ if (!match(CmpLHS, m_And(m_Value(), m_Power2(C1))))
+ return nullptr;
+
+ V = CmpLHS;
+ C1Log = C1->logBase2();
+ IsEqualZero = IC->getPredicate() == ICmpInst::ICMP_EQ;
+ } else if (IC->getPredicate() == ICmpInst::ICMP_SLT ||
+ IC->getPredicate() == ICmpInst::ICMP_SGT) {
+ // We also need to recognize (icmp slt (trunc (X)), 0) and
+ // (icmp sgt (trunc (X)), -1).
+ IsEqualZero = IC->getPredicate() == ICmpInst::ICMP_SGT;
+ if ((IsEqualZero && !match(CmpRHS, m_AllOnes())) ||
+ (!IsEqualZero && !match(CmpRHS, m_Zero())))
+ return nullptr;
+
+ if (!match(CmpLHS, m_OneUse(m_Trunc(m_Value(V)))))
+ return nullptr;
- Value *X;
- const APInt *C1;
- if (!match(CmpLHS, m_And(m_Value(X), m_Power2(C1))))
+ C1Log = CmpLHS->getType()->getScalarSizeInBits() - 1;
+ NeedAnd = true;
+ } else {
return nullptr;
+ }
const APInt *C2;
bool OrOnTrueVal = false;
@@ -340,11 +365,27 @@ static Value *foldSelectICmpAndOr(const SelectInst &SI, Value *TrueVal,
if (!OrOnFalseVal && !OrOnTrueVal)
return nullptr;
- Value *V = CmpLHS;
Value *Y = OrOnFalseVal ? TrueVal : FalseVal;
- unsigned C1Log = C1->logBase2();
unsigned C2Log = C2->logBase2();
+
+ bool NeedXor = (!IsEqualZero && OrOnFalseVal) || (IsEqualZero && OrOnTrueVal);
+ bool NeedShift = C1Log != C2Log;
+ bool NeedZExtTrunc = Y->getType()->getIntegerBitWidth() !=
+ V->getType()->getIntegerBitWidth();
+
+ // Make sure we don't create more instructions than we save.
+ Value *Or = OrOnFalseVal ? FalseVal : TrueVal;
+ if ((NeedShift + NeedXor + NeedZExtTrunc) >
+ (IC->hasOneUse() + Or->hasOneUse()))
+ return nullptr;
+
+ if (NeedAnd) {
+ // Insert the AND instruction on the input to the truncate.
+ APInt C1 = APInt::getOneBitSet(V->getType()->getScalarSizeInBits(), C1Log);
+ V = Builder->CreateAnd(V, ConstantInt::get(V->getType(), C1));
+ }
+
if (C2Log > C1Log) {
V = Builder->CreateZExtOrTrunc(V, Y->getType());
V = Builder->CreateShl(V, C2Log - C1Log);
@@ -354,9 +395,7 @@ static Value *foldSelectICmpAndOr(const SelectInst &SI, Value *TrueVal,
} else
V = Builder->CreateZExtOrTrunc(V, Y->getType());
- ICmpInst::Predicate Pred = IC->getPredicate();
- if ((Pred == ICmpInst::ICMP_NE && OrOnFalseVal) ||
- (Pred == ICmpInst::ICMP_EQ && OrOnTrueVal))
+ if (NeedXor)
V = Builder->CreateXor(V, *C2);
return Builder->CreateOr(V, Y);
diff --git a/lib/Transforms/InstCombine/InstCombineShifts.cpp b/lib/Transforms/InstCombine/InstCombineShifts.cpp
index 8cec865c6422..1bb1a85367d1 100644
--- a/lib/Transforms/InstCombine/InstCombineShifts.cpp
+++ b/lib/Transforms/InstCombine/InstCombineShifts.cpp
@@ -556,8 +556,7 @@ Instruction *InstCombiner::visitShl(BinaryOperator &I) {
// The inexact versions are deferred to DAGCombine, so we don't hide shl
// behind a bit mask.
const APInt *ShOp1;
- if (match(Op0, m_CombineOr(m_Exact(m_LShr(m_Value(X), m_APInt(ShOp1))),
- m_Exact(m_AShr(m_Value(X), m_APInt(ShOp1)))))) {
+ if (match(Op0, m_Exact(m_Shr(m_Value(X), m_APInt(ShOp1))))) {
unsigned ShrAmt = ShOp1->getZExtValue();
if (ShrAmt < ShAmt) {
// If C1 < C2: (X >>?,exact C1) << C2 --> X << (C2 - C1)
diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp
index 65e6d2e35905..02fac4fb37a4 100644
--- a/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -939,9 +939,19 @@ Instruction *InstCombiner::foldOpIntoPhi(Instruction &I, PHINode *PN) {
// `TrueVInPred`.
if (InC && !isa<ConstantExpr>(InC) && isa<ConstantInt>(InC))
InV = InC->isNullValue() ? FalseVInPred : TrueVInPred;
- else
+ else {
+ // Generate the select in the same block as PN's current incoming block.
+ // Note: ThisBB need not be the NonConstBB because vector constants
+ // which are constants by definition are handled here.
+ // FIXME: This can lead to an increase in IR generation because we might
+ // generate selects for vector constant phi operand, that could not be
+ // folded to TrueVInPred or FalseVInPred as done for ConstantInt. For
+ // non-vector phis, this transformation was always profitable because
+ // the select would be generated exactly once in the NonConstBB.
+ Builder->SetInsertPoint(ThisBB->getTerminator());
InV = Builder->CreateSelect(PN->getIncomingValue(i),
TrueVInPred, FalseVInPred, "phitmp");
+ }
NewPN->addIncoming(InV, ThisBB);
}
} else if (CmpInst *CI = dyn_cast<CmpInst>(&I)) {
@@ -3002,6 +3012,7 @@ static bool AddReachableCodeToWorklist(BasicBlock *BB, const DataLayout &DL,
++NumDeadInst;
DEBUG(dbgs() << "IC: DCE: " << *Inst << '\n');
Inst->eraseFromParent();
+ MadeIRChange = true;
continue;
}
@@ -3015,6 +3026,7 @@ static bool AddReachableCodeToWorklist(BasicBlock *BB, const DataLayout &DL,
++NumConstProp;
if (isInstructionTriviallyDead(Inst, TLI))
Inst->eraseFromParent();
+ MadeIRChange = true;
continue;
}
diff --git a/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp b/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
index 0d308810009d..4089d81ea3e1 100644
--- a/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
+++ b/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
@@ -642,7 +642,12 @@ static bool promoteIndirectCalls(Module &M, bool InLTO, bool SamplePGO) {
if (DisableICP)
return false;
InstrProfSymtab Symtab;
- Symtab.create(M, InLTO);
+ if (Error E = Symtab.create(M, InLTO)) {
+ std::string SymtabFailure = toString(std::move(E));
+ DEBUG(dbgs() << "Failed to create symtab: " << SymtabFailure << "\n");
+ (void)SymtabFailure;
+ return false;
+ }
bool Changed = false;
for (auto &F : M) {
if (F.isDeclaration())
diff --git a/lib/Transforms/Instrumentation/InstrProfiling.cpp b/lib/Transforms/Instrumentation/InstrProfiling.cpp
index 37f88d5f95f1..9c14b0149fdc 100644
--- a/lib/Transforms/Instrumentation/InstrProfiling.cpp
+++ b/lib/Transforms/Instrumentation/InstrProfiling.cpp
@@ -19,12 +19,14 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Triple.h"
#include "llvm/ADT/Twine.h"
+#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
+#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/GlobalVariable.h"
@@ -40,7 +42,10 @@
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Transforms/Utils/BasicBlockUtils.h"
+#include "llvm/Transforms/Utils/LoopSimplify.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
+#include "llvm/Transforms/Utils/SSAUpdater.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
@@ -92,6 +97,35 @@ cl::opt<double> NumCountersPerValueSite(
// is usually smaller than 2.
cl::init(1.0));
+cl::opt<bool> AtomicCounterUpdatePromoted(
+ "atomic-counter-update-promoted", cl::ZeroOrMore,
+ cl::desc("Do counter update using atomic fetch add "
+ " for promoted counters only"),
+ cl::init(false));
+
+// If the option is not specified, the default behavior about whether
+// counter promotion is done depends on how instrumentaiton lowering
+// pipeline is setup, i.e., the default value of true of this option
+// does not mean the promotion will be done by default. Explicitly
+// setting this option can override the default behavior.
+cl::opt<bool> DoCounterPromotion("do-counter-promotion", cl::ZeroOrMore,
+ cl::desc("Do counter register promotion"),
+ cl::init(false));
+cl::opt<unsigned> MaxNumOfPromotionsPerLoop(
+ cl::ZeroOrMore, "max-counter-promotions-per-loop", cl::init(10),
+ cl::desc("Max number counter promotions per loop to avoid"
+ " increasing register pressure too much"));
+
+// A debug option
+cl::opt<int>
+ MaxNumOfPromotions(cl::ZeroOrMore, "max-counter-promotions", cl::init(-1),
+ cl::desc("Max number of allowed counter promotions"));
+
+cl::opt<bool> SpeculativeCounterPromotion(
+ cl::ZeroOrMore, "speculative-counter-promotion", cl::init(false),
+ cl::desc("Allow counter promotion for loops with multiple exiting blocks "
+ " or top-tested loops. "));
+
class InstrProfilingLegacyPass : public ModulePass {
InstrProfiling InstrProf;
@@ -116,6 +150,123 @@ public:
}
};
+/// A helper class to promote one counter RMW operation in the loop
+/// into register update.
+///
+/// RWM update for the counter will be sinked out of the loop after
+/// the transformation.
+///
+class PGOCounterPromoterHelper : public LoadAndStorePromoter {
+public:
+ PGOCounterPromoterHelper(Instruction *L, Instruction *S, SSAUpdater &SSA,
+ Value *Init, BasicBlock *PH,
+ ArrayRef<BasicBlock *> ExitBlocks,
+ ArrayRef<Instruction *> InsertPts)
+ : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks),
+ InsertPts(InsertPts) {
+ assert(isa<LoadInst>(L));
+ assert(isa<StoreInst>(S));
+ SSA.AddAvailableValue(PH, Init);
+ }
+ void doExtraRewritesBeforeFinalDeletion() const override {
+ for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) {
+ BasicBlock *ExitBlock = ExitBlocks[i];
+ Instruction *InsertPos = InsertPts[i];
+ // Get LiveIn value into the ExitBlock. If there are multiple
+ // predecessors, the value is defined by a PHI node in this
+ // block.
+ Value *LiveInValue = SSA.GetValueInMiddleOfBlock(ExitBlock);
+ Value *Addr = cast<StoreInst>(Store)->getPointerOperand();
+ IRBuilder<> Builder(InsertPos);
+ if (AtomicCounterUpdatePromoted)
+ Builder.CreateAtomicRMW(AtomicRMWInst::Add, Addr, LiveInValue,
+ AtomicOrdering::SequentiallyConsistent);
+ else {
+ LoadInst *OldVal = Builder.CreateLoad(Addr, "pgocount.promoted");
+ auto *NewVal = Builder.CreateAdd(OldVal, LiveInValue);
+ Builder.CreateStore(NewVal, Addr);
+ }
+ }
+ }
+
+private:
+ Instruction *Store;
+ ArrayRef<BasicBlock *> ExitBlocks;
+ ArrayRef<Instruction *> InsertPts;
+};
+
+/// A helper class to do register promotion for all profile counter
+/// updates in a loop.
+///
+class PGOCounterPromoter {
+public:
+ PGOCounterPromoter(ArrayRef<LoadStorePair> Cands, Loop &Loop)
+ : Candidates(Cands), ExitBlocks(), InsertPts(), ParentLoop(Loop) {
+
+ SmallVector<BasicBlock *, 8> LoopExitBlocks;
+ SmallPtrSet<BasicBlock *, 8> BlockSet;
+ ParentLoop.getExitBlocks(LoopExitBlocks);
+
+ for (BasicBlock *ExitBlock : LoopExitBlocks) {
+ if (BlockSet.insert(ExitBlock).second) {
+ ExitBlocks.push_back(ExitBlock);
+ InsertPts.push_back(&*ExitBlock->getFirstInsertionPt());
+ }
+ }
+ }
+
+ bool run(int64_t *NumPromoted) {
+ // We can't insert into a catchswitch.
+ bool HasCatchSwitch = llvm::any_of(ExitBlocks, [](BasicBlock *Exit) {
+ return isa<CatchSwitchInst>(Exit->getTerminator());
+ });
+
+ if (HasCatchSwitch)
+ return false;
+
+ if (!ParentLoop.hasDedicatedExits())
+ return false;
+
+ BasicBlock *PH = ParentLoop.getLoopPreheader();
+ if (!PH)
+ return false;
+
+ BasicBlock *H = ParentLoop.getHeader();
+ bool TopTested =
+ ((ParentLoop.getBlocks().size() > 1) && ParentLoop.isLoopExiting(H));
+ if (!SpeculativeCounterPromotion &&
+ (TopTested || ParentLoop.getExitingBlock() == nullptr))
+ return false;
+
+ unsigned Promoted = 0;
+ for (auto &Cand : Candidates) {
+
+ SmallVector<PHINode *, 4> NewPHIs;
+ SSAUpdater SSA(&NewPHIs);
+ Value *InitVal = ConstantInt::get(Cand.first->getType(), 0);
+ PGOCounterPromoterHelper Promoter(Cand.first, Cand.second, SSA, InitVal,
+ PH, ExitBlocks, InsertPts);
+ Promoter.run(SmallVector<Instruction *, 2>({Cand.first, Cand.second}));
+ Promoted++;
+ if (Promoted >= MaxNumOfPromotionsPerLoop)
+ break;
+ (*NumPromoted)++;
+ if (MaxNumOfPromotions != -1 && *NumPromoted >= MaxNumOfPromotions)
+ break;
+ }
+
+ DEBUG(dbgs() << Promoted << " counters promoted for loop (depth="
+ << ParentLoop.getLoopDepth() << ")\n");
+ return Promoted != 0;
+ }
+
+private:
+ ArrayRef<LoadStorePair> Candidates;
+ SmallVector<BasicBlock *, 8> ExitBlocks;
+ SmallVector<Instruction *, 8> InsertPts;
+ Loop &ParentLoop;
+};
+
} // end anonymous namespace
PreservedAnalyses InstrProfiling::run(Module &M, ModuleAnalysisManager &AM) {
@@ -147,6 +298,63 @@ static InstrProfIncrementInst *castToIncrementInst(Instruction *Instr) {
return dyn_cast<InstrProfIncrementInst>(Instr);
}
+bool InstrProfiling::lowerIntrinsics(Function *F) {
+ bool MadeChange = false;
+ PromotionCandidates.clear();
+ for (BasicBlock &BB : *F) {
+ for (auto I = BB.begin(), E = BB.end(); I != E;) {
+ auto Instr = I++;
+ InstrProfIncrementInst *Inc = castToIncrementInst(&*Instr);
+ if (Inc) {
+ lowerIncrement(Inc);
+ MadeChange = true;
+ } else if (auto *Ind = dyn_cast<InstrProfValueProfileInst>(Instr)) {
+ lowerValueProfileInst(Ind);
+ MadeChange = true;
+ }
+ }
+ }
+
+ if (!MadeChange)
+ return false;
+
+ promoteCounterLoadStores(F);
+ return true;
+}
+
+bool InstrProfiling::isCounterPromotionEnabled() const {
+ if (DoCounterPromotion.getNumOccurrences() > 0)
+ return DoCounterPromotion;
+
+ return Options.DoCounterPromotion;
+}
+
+void InstrProfiling::promoteCounterLoadStores(Function *F) {
+ if (!isCounterPromotionEnabled())
+ return;
+
+ DominatorTree DT(*F);
+ LoopInfo LI(DT);
+ DenseMap<Loop *, SmallVector<LoadStorePair, 8>> LoopPromotionCandidates;
+
+ for (const auto &LoadStore : PromotionCandidates) {
+ auto *CounterLoad = LoadStore.first;
+ auto *CounterStore = LoadStore.second;
+ BasicBlock *BB = CounterLoad->getParent();
+ Loop *ParentLoop = LI.getLoopFor(BB);
+ if (!ParentLoop)
+ continue;
+ LoopPromotionCandidates[ParentLoop].emplace_back(CounterLoad, CounterStore);
+ }
+
+ SmallVector<Loop *, 4> Loops = LI.getLoopsInPreorder();
+
+ for (auto *Loop : Loops) {
+ PGOCounterPromoter Promoter(LoopPromotionCandidates[Loop], *Loop);
+ Promoter.run(&TotalCountersPromoted);
+ }
+}
+
bool InstrProfiling::run(Module &M, const TargetLibraryInfo &TLI) {
bool MadeChange = false;
@@ -179,18 +387,7 @@ bool InstrProfiling::run(Module &M, const TargetLibraryInfo &TLI) {
}
for (Function &F : M)
- for (BasicBlock &BB : F)
- for (auto I = BB.begin(), E = BB.end(); I != E;) {
- auto Instr = I++;
- InstrProfIncrementInst *Inc = castToIncrementInst(&*Instr);
- if (Inc) {
- lowerIncrement(Inc);
- MadeChange = true;
- } else if (auto *Ind = dyn_cast<InstrProfValueProfileInst>(Instr)) {
- lowerValueProfileInst(Ind);
- MadeChange = true;
- }
- }
+ MadeChange |= lowerIntrinsics(&F);
if (GlobalVariable *CoverageNamesVar =
M.getNamedGlobal(getCoverageUnusedNamesVarName())) {
@@ -303,9 +500,12 @@ void InstrProfiling::lowerIncrement(InstrProfIncrementInst *Inc) {
IRBuilder<> Builder(Inc);
uint64_t Index = Inc->getIndex()->getZExtValue();
Value *Addr = Builder.CreateConstInBoundsGEP2_64(Counters, 0, Index);
- Value *Count = Builder.CreateLoad(Addr, "pgocount");
- Count = Builder.CreateAdd(Count, Inc->getStep());
- Inc->replaceAllUsesWith(Builder.CreateStore(Count, Addr));
+ Value *Load = Builder.CreateLoad(Addr, "pgocount");
+ auto *Count = Builder.CreateAdd(Load, Inc->getStep());
+ auto *Store = Builder.CreateStore(Count, Addr);
+ Inc->replaceAllUsesWith(Store);
+ if (isCounterPromotionEnabled())
+ PromotionCandidates.emplace_back(cast<Instruction>(Load), Store);
Inc->eraseFromParent();
}
diff --git a/lib/Transforms/Instrumentation/PGOInstrumentation.cpp b/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
index b2d95271479c..0e7d11c55397 100644
--- a/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
+++ b/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
@@ -1177,7 +1177,7 @@ void MemIntrinsicVisitor::instrumentOneMemIntrinsic(MemIntrinsic &MI) {
Builder.CreateCall(
Intrinsic::getDeclaration(M, Intrinsic::instrprof_value_profile),
{llvm::ConstantExpr::getBitCast(FuncNameVar, I8PtrTy),
- Builder.getInt64(FuncHash), Builder.CreatePtrToInt(Length, Int64Ty),
+ Builder.getInt64(FuncHash), Builder.CreateZExtOrTrunc(Length, Int64Ty),
Builder.getInt32(IPVK_MemOPSize), Builder.getInt32(CurCtrId)});
++CurCtrId;
}
diff --git a/lib/Transforms/Scalar/CMakeLists.txt b/lib/Transforms/Scalar/CMakeLists.txt
index f5196cc46181..457c9427ab9a 100644
--- a/lib/Transforms/Scalar/CMakeLists.txt
+++ b/lib/Transforms/Scalar/CMakeLists.txt
@@ -22,7 +22,6 @@ add_llvm_library(LLVMScalarOpts
LICM.cpp
LoopAccessAnalysisPrinter.cpp
LoopSink.cpp
- LoadCombine.cpp
LoopDeletion.cpp
LoopDataPrefetch.cpp
LoopDistribute.cpp
diff --git a/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp b/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
index 2a4c9526dfcd..28157783daa7 100644
--- a/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
+++ b/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
@@ -232,8 +232,7 @@ static bool processSwitch(SwitchInst *SI, LazyValueInfo *LVI) {
pred_iterator PB = pred_begin(BB), PE = pred_end(BB);
if (PB == PE) return false;
- // Analyse each switch case in turn. This is done in reverse order so that
- // removing a case doesn't cause trouble for the iteration.
+ // Analyse each switch case in turn.
bool Changed = false;
for (auto CI = SI->case_begin(), CE = SI->case_end(); CI != CE;) {
ConstantInt *Case = CI->getCaseValue();
@@ -291,7 +290,7 @@ static bool processSwitch(SwitchInst *SI, LazyValueInfo *LVI) {
break;
}
- // Increment the case iterator sense we didn't delete it.
+ // Increment the case iterator since we didn't delete it.
++CI;
}
diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp
index 0490d93f6455..c0f628eb61e6 100644
--- a/lib/Transforms/Scalar/GVN.cpp
+++ b/lib/Transforms/Scalar/GVN.cpp
@@ -80,9 +80,10 @@ MaxRecurseDepth("max-recurse-depth", cl::Hidden, cl::init(1000), cl::ZeroOrMore,
struct llvm::GVN::Expression {
uint32_t opcode;
Type *type;
+ bool commutative;
SmallVector<uint32_t, 4> varargs;
- Expression(uint32_t o = ~2U) : opcode(o) {}
+ Expression(uint32_t o = ~2U) : opcode(o), commutative(false) {}
bool operator==(const Expression &other) const {
if (opcode != other.opcode)
@@ -246,6 +247,7 @@ GVN::Expression GVN::ValueTable::createExpr(Instruction *I) {
assert(I->getNumOperands() == 2 && "Unsupported commutative instruction!");
if (e.varargs[0] > e.varargs[1])
std::swap(e.varargs[0], e.varargs[1]);
+ e.commutative = true;
}
if (CmpInst *C = dyn_cast<CmpInst>(I)) {
@@ -256,6 +258,7 @@ GVN::Expression GVN::ValueTable::createExpr(Instruction *I) {
Predicate = CmpInst::getSwappedPredicate(Predicate);
}
e.opcode = (C->getOpcode() << 8) | Predicate;
+ e.commutative = true;
} else if (InsertValueInst *E = dyn_cast<InsertValueInst>(I)) {
for (InsertValueInst::idx_iterator II = E->idx_begin(), IE = E->idx_end();
II != IE; ++II)
@@ -281,6 +284,7 @@ GVN::Expression GVN::ValueTable::createCmpExpr(unsigned Opcode,
Predicate = CmpInst::getSwappedPredicate(Predicate);
}
e.opcode = (Opcode << 8) | Predicate;
+ e.commutative = true;
return e;
}
@@ -348,25 +352,25 @@ GVN::ValueTable::~ValueTable() = default;
/// add - Insert a value into the table with a specified value number.
void GVN::ValueTable::add(Value *V, uint32_t num) {
valueNumbering.insert(std::make_pair(V, num));
+ if (PHINode *PN = dyn_cast<PHINode>(V))
+ NumberingPhi[num] = PN;
}
uint32_t GVN::ValueTable::lookupOrAddCall(CallInst *C) {
if (AA->doesNotAccessMemory(C)) {
Expression exp = createExpr(C);
- uint32_t &e = expressionNumbering[exp];
- if (!e) e = nextValueNumber++;
+ uint32_t e = assignExpNewValueNum(exp).first;
valueNumbering[C] = e;
return e;
} else if (AA->onlyReadsMemory(C)) {
Expression exp = createExpr(C);
- uint32_t &e = expressionNumbering[exp];
- if (!e) {
- e = nextValueNumber++;
- valueNumbering[C] = e;
- return e;
+ auto ValNum = assignExpNewValueNum(exp);
+ if (ValNum.second) {
+ valueNumbering[C] = ValNum.first;
+ return ValNum.first;
}
if (!MD) {
- e = nextValueNumber++;
+ uint32_t e = assignExpNewValueNum(exp).first;
valueNumbering[C] = e;
return e;
}
@@ -522,23 +526,29 @@ uint32_t GVN::ValueTable::lookupOrAdd(Value *V) {
case Instruction::ExtractValue:
exp = createExtractvalueExpr(cast<ExtractValueInst>(I));
break;
+ case Instruction::PHI:
+ valueNumbering[V] = nextValueNumber;
+ NumberingPhi[nextValueNumber] = cast<PHINode>(V);
+ return nextValueNumber++;
default:
valueNumbering[V] = nextValueNumber;
return nextValueNumber++;
}
- uint32_t& e = expressionNumbering[exp];
- if (!e) e = nextValueNumber++;
+ uint32_t e = assignExpNewValueNum(exp).first;
valueNumbering[V] = e;
return e;
}
/// Returns the value number of the specified value. Fails if
/// the value has not yet been numbered.
-uint32_t GVN::ValueTable::lookup(Value *V) const {
+uint32_t GVN::ValueTable::lookup(Value *V, bool Verify) const {
DenseMap<Value*, uint32_t>::const_iterator VI = valueNumbering.find(V);
- assert(VI != valueNumbering.end() && "Value not numbered?");
- return VI->second;
+ if (Verify) {
+ assert(VI != valueNumbering.end() && "Value not numbered?");
+ return VI->second;
+ }
+ return (VI != valueNumbering.end()) ? VI->second : 0;
}
/// Returns the value number of the given comparison,
@@ -549,21 +559,28 @@ uint32_t GVN::ValueTable::lookupOrAddCmp(unsigned Opcode,
CmpInst::Predicate Predicate,
Value *LHS, Value *RHS) {
Expression exp = createCmpExpr(Opcode, Predicate, LHS, RHS);
- uint32_t& e = expressionNumbering[exp];
- if (!e) e = nextValueNumber++;
- return e;
+ return assignExpNewValueNum(exp).first;
}
/// Remove all entries from the ValueTable.
void GVN::ValueTable::clear() {
valueNumbering.clear();
expressionNumbering.clear();
+ NumberingPhi.clear();
+ PhiTranslateTable.clear();
nextValueNumber = 1;
+ Expressions.clear();
+ ExprIdx.clear();
+ nextExprNumber = 0;
}
/// Remove a value from the value numbering.
void GVN::ValueTable::erase(Value *V) {
+ uint32_t Num = valueNumbering.lookup(V);
valueNumbering.erase(V);
+ // If V is PHINode, V <--> value number is an one-to-one mapping.
+ if (isa<PHINode>(V))
+ NumberingPhi.erase(Num);
}
/// verifyRemoved - Verify that the value is removed from all internal data
@@ -602,7 +619,7 @@ PreservedAnalyses GVN::run(Function &F, FunctionAnalysisManager &AM) {
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
-LLVM_DUMP_METHOD void GVN::dump(DenseMap<uint32_t, Value*>& d) {
+LLVM_DUMP_METHOD void GVN::dump(DenseMap<uint32_t, Value*>& d) const {
errs() << "{\n";
for (DenseMap<uint32_t, Value*>::iterator I = d.begin(),
E = d.end(); I != E; ++I) {
@@ -1451,6 +1468,95 @@ bool GVN::processLoad(LoadInst *L) {
return false;
}
+/// Return a pair the first field showing the value number of \p Exp and the
+/// second field showing whether it is a value number newly created.
+std::pair<uint32_t, bool>
+GVN::ValueTable::assignExpNewValueNum(Expression &Exp) {
+ uint32_t &e = expressionNumbering[Exp];
+ bool CreateNewValNum = !e;
+ if (CreateNewValNum) {
+ Expressions.push_back(Exp);
+ if (ExprIdx.size() < nextValueNumber + 1)
+ ExprIdx.resize(nextValueNumber * 2);
+ e = nextValueNumber;
+ ExprIdx[nextValueNumber++] = nextExprNumber++;
+ }
+ return {e, CreateNewValNum};
+}
+
+/// Return whether all the values related with the same \p num are
+/// defined in \p BB.
+bool GVN::ValueTable::areAllValsInBB(uint32_t Num, const BasicBlock *BB,
+ GVN &Gvn) {
+ LeaderTableEntry *Vals = &Gvn.LeaderTable[Num];
+ while (Vals && Vals->BB == BB)
+ Vals = Vals->Next;
+ return !Vals;
+}
+
+/// Wrap phiTranslateImpl to provide caching functionality.
+uint32_t GVN::ValueTable::phiTranslate(const BasicBlock *Pred,
+ const BasicBlock *PhiBlock, uint32_t Num,
+ GVN &Gvn) {
+ auto FindRes = PhiTranslateTable.find({Num, Pred});
+ if (FindRes != PhiTranslateTable.end())
+ return FindRes->second;
+ uint32_t NewNum = phiTranslateImpl(Pred, PhiBlock, Num, Gvn);
+ PhiTranslateTable.insert({{Num, Pred}, NewNum});
+ return NewNum;
+}
+
+/// Translate value number \p Num using phis, so that it has the values of
+/// the phis in BB.
+uint32_t GVN::ValueTable::phiTranslateImpl(const BasicBlock *Pred,
+ const BasicBlock *PhiBlock,
+ uint32_t Num, GVN &Gvn) {
+ if (PHINode *PN = NumberingPhi[Num]) {
+ for (unsigned i = 0; i != PN->getNumIncomingValues(); ++i) {
+ if (PN->getParent() == PhiBlock && PN->getIncomingBlock(i) == Pred)
+ if (uint32_t TransVal = lookup(PN->getIncomingValue(i), false))
+ return TransVal;
+ }
+ return Num;
+ }
+
+ // If there is any value related with Num is defined in a BB other than
+ // PhiBlock, it cannot depend on a phi in PhiBlock without going through
+ // a backedge. We can do an early exit in that case to save compile time.
+ if (!areAllValsInBB(Num, PhiBlock, Gvn))
+ return Num;
+
+ if (Num >= ExprIdx.size() || ExprIdx[Num] == 0)
+ return Num;
+ Expression Exp = Expressions[ExprIdx[Num]];
+
+ for (unsigned i = 0; i < Exp.varargs.size(); i++) {
+ // For InsertValue and ExtractValue, some varargs are index numbers
+ // instead of value numbers. Those index numbers should not be
+ // translated.
+ if ((i > 1 && Exp.opcode == Instruction::InsertValue) ||
+ (i > 0 && Exp.opcode == Instruction::ExtractValue))
+ continue;
+ Exp.varargs[i] = phiTranslate(Pred, PhiBlock, Exp.varargs[i], Gvn);
+ }
+
+ if (Exp.commutative) {
+ assert(Exp.varargs.size() == 2 && "Unsupported commutative expression!");
+ if (Exp.varargs[0] > Exp.varargs[1]) {
+ std::swap(Exp.varargs[0], Exp.varargs[1]);
+ uint32_t Opcode = Exp.opcode >> 8;
+ if (Opcode == Instruction::ICmp || Opcode == Instruction::FCmp)
+ Exp.opcode = (Opcode << 8) |
+ CmpInst::getSwappedPredicate(
+ static_cast<CmpInst::Predicate>(Exp.opcode & 255));
+ }
+ }
+
+ if (uint32_t NewNum = expressionNumbering[Exp])
+ return NewNum;
+ return Num;
+}
+
// In order to find a leader for a given value number at a
// specific basic block, we first obtain the list of all Values for that number,
// and then scan the list to find one whose block dominates the block in
@@ -1495,6 +1601,15 @@ static bool isOnlyReachableViaThisEdge(const BasicBlockEdge &E,
return Pred != nullptr;
}
+
+void GVN::assignBlockRPONumber(Function &F) {
+ uint32_t NextBlockNumber = 1;
+ ReversePostOrderTraversal<Function *> RPOT(&F);
+ for (BasicBlock *BB : RPOT)
+ BlockRPONumber[BB] = NextBlockNumber++;
+}
+
+
// Tries to replace instruction with const, using information from
// ReplaceWithConstMap.
bool GVN::replaceOperandsWithConsts(Instruction *Instr) const {
@@ -1856,6 +1971,7 @@ bool GVN::runImpl(Function &F, AssumptionCache &RunAC, DominatorTree &RunDT,
// Fabricate val-num for dead-code in order to suppress assertion in
// performPRE().
assignValNumForDeadCode();
+ assignBlockRPONumber(F);
bool PREChanged = true;
while (PREChanged) {
PREChanged = performPRE(F);
@@ -1927,7 +2043,7 @@ bool GVN::processBlock(BasicBlock *BB) {
// Instantiate an expression in a predecessor that lacked it.
bool GVN::performScalarPREInsertion(Instruction *Instr, BasicBlock *Pred,
- unsigned int ValNo) {
+ BasicBlock *Curr, unsigned int ValNo) {
// Because we are going top-down through the block, all value numbers
// will be available in the predecessor by the time we need them. Any
// that weren't originally present will have been instantiated earlier
@@ -1945,7 +2061,9 @@ bool GVN::performScalarPREInsertion(Instruction *Instr, BasicBlock *Pred,
success = false;
break;
}
- if (Value *V = findLeader(Pred, VN.lookup(Op))) {
+ uint32_t TValNo =
+ VN.phiTranslate(Pred, Curr, VN.lookup(Op), *this);
+ if (Value *V = findLeader(Pred, TValNo)) {
Instr->setOperand(i, V);
} else {
success = false;
@@ -1962,10 +2080,12 @@ bool GVN::performScalarPREInsertion(Instruction *Instr, BasicBlock *Pred,
Instr->insertBefore(Pred->getTerminator());
Instr->setName(Instr->getName() + ".pre");
Instr->setDebugLoc(Instr->getDebugLoc());
- VN.add(Instr, ValNo);
+
+ unsigned Num = VN.lookupOrAdd(Instr);
+ VN.add(Instr, Num);
// Update the availability map to include the new instruction.
- addToLeaderTable(ValNo, Instr, Pred);
+ addToLeaderTable(Num, Instr, Pred);
return true;
}
@@ -2003,18 +2123,27 @@ bool GVN::performScalarPRE(Instruction *CurInst) {
SmallVector<std::pair<Value *, BasicBlock *>, 8> predMap;
for (BasicBlock *P : predecessors(CurrentBlock)) {
- // We're not interested in PRE where the block is its
- // own predecessor, or in blocks with predecessors
- // that are not reachable.
- if (P == CurrentBlock) {
+ // We're not interested in PRE where blocks with predecessors that are
+ // not reachable.
+ if (!DT->isReachableFromEntry(P)) {
NumWithout = 2;
break;
- } else if (!DT->isReachableFromEntry(P)) {
+ }
+ // It is not safe to do PRE when P->CurrentBlock is a loop backedge, and
+ // when CurInst has operand defined in CurrentBlock (so it may be defined
+ // by phi in the loop header).
+ if (BlockRPONumber[P] >= BlockRPONumber[CurrentBlock] &&
+ any_of(CurInst->operands(), [&](const Use &U) {
+ if (auto *Inst = dyn_cast<Instruction>(U.get()))
+ return Inst->getParent() == CurrentBlock;
+ return false;
+ })) {
NumWithout = 2;
break;
}
- Value *predV = findLeader(P, ValNo);
+ uint32_t TValNo = VN.phiTranslate(P, CurrentBlock, ValNo, *this);
+ Value *predV = findLeader(P, TValNo);
if (!predV) {
predMap.push_back(std::make_pair(static_cast<Value *>(nullptr), P));
PREPred = P;
@@ -2054,7 +2183,7 @@ bool GVN::performScalarPRE(Instruction *CurInst) {
}
// We need to insert somewhere, so let's give it a shot
PREInstr = CurInst->clone();
- if (!performScalarPREInsertion(PREInstr, PREPred, ValNo)) {
+ if (!performScalarPREInsertion(PREInstr, PREPred, CurrentBlock, ValNo)) {
// If we failed insertion, make sure we remove the instruction.
DEBUG(verifyRemoved(PREInstr));
PREInstr->deleteValue();
@@ -2168,6 +2297,7 @@ bool GVN::iterateOnFunction(Function &F) {
void GVN::cleanupGlobalSets() {
VN.clear();
LeaderTable.clear();
+ BlockRPONumber.clear();
TableAllocator.Reset();
}
diff --git a/lib/Transforms/Scalar/JumpThreading.cpp b/lib/Transforms/Scalar/JumpThreading.cpp
index c120036464d0..05293eb0079f 100644
--- a/lib/Transforms/Scalar/JumpThreading.cpp
+++ b/lib/Transforms/Scalar/JumpThreading.cpp
@@ -25,6 +25,7 @@
#include "llvm/Analysis/Loads.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/ValueTracking.h"
+#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/LLVMContext.h"
@@ -576,7 +577,12 @@ bool JumpThreadingPass::ComputeValueKnownInPredecessors(
// Handle compare with phi operand, where the PHI is defined in this block.
if (CmpInst *Cmp = dyn_cast<CmpInst>(I)) {
assert(Preference == WantInteger && "Compares only produce integers");
- PHINode *PN = dyn_cast<PHINode>(Cmp->getOperand(0));
+ Type *CmpType = Cmp->getType();
+ Value *CmpLHS = Cmp->getOperand(0);
+ Value *CmpRHS = Cmp->getOperand(1);
+ CmpInst::Predicate Pred = Cmp->getPredicate();
+
+ PHINode *PN = dyn_cast<PHINode>(CmpLHS);
if (PN && PN->getParent() == BB) {
const DataLayout &DL = PN->getModule()->getDataLayout();
// We can do this simplification if any comparisons fold to true or false.
@@ -584,15 +590,15 @@ bool JumpThreadingPass::ComputeValueKnownInPredecessors(
for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) {
BasicBlock *PredBB = PN->getIncomingBlock(i);
Value *LHS = PN->getIncomingValue(i);
- Value *RHS = Cmp->getOperand(1)->DoPHITranslation(BB, PredBB);
+ Value *RHS = CmpRHS->DoPHITranslation(BB, PredBB);
- Value *Res = SimplifyCmpInst(Cmp->getPredicate(), LHS, RHS, {DL});
+ Value *Res = SimplifyCmpInst(Pred, LHS, RHS, {DL});
if (!Res) {
if (!isa<Constant>(RHS))
continue;
LazyValueInfo::Tristate
- ResT = LVI->getPredicateOnEdge(Cmp->getPredicate(), LHS,
+ ResT = LVI->getPredicateOnEdge(Pred, LHS,
cast<Constant>(RHS), PredBB, BB,
CxtI ? CxtI : Cmp);
if (ResT == LazyValueInfo::Unknown)
@@ -609,27 +615,67 @@ bool JumpThreadingPass::ComputeValueKnownInPredecessors(
// If comparing a live-in value against a constant, see if we know the
// live-in value on any predecessors.
- if (isa<Constant>(Cmp->getOperand(1)) && !Cmp->getType()->isVectorTy()) {
- Constant *CmpConst = cast<Constant>(Cmp->getOperand(1));
+ if (isa<Constant>(CmpRHS) && !CmpType->isVectorTy()) {
+ Constant *CmpConst = cast<Constant>(CmpRHS);
- if (!isa<Instruction>(Cmp->getOperand(0)) ||
- cast<Instruction>(Cmp->getOperand(0))->getParent() != BB) {
+ if (!isa<Instruction>(CmpLHS) ||
+ cast<Instruction>(CmpLHS)->getParent() != BB) {
for (BasicBlock *P : predecessors(BB)) {
// If the value is known by LazyValueInfo to be a constant in a
// predecessor, use that information to try to thread this block.
LazyValueInfo::Tristate Res =
- LVI->getPredicateOnEdge(Cmp->getPredicate(), Cmp->getOperand(0),
+ LVI->getPredicateOnEdge(Pred, CmpLHS,
CmpConst, P, BB, CxtI ? CxtI : Cmp);
if (Res == LazyValueInfo::Unknown)
continue;
- Constant *ResC = ConstantInt::get(Cmp->getType(), Res);
+ Constant *ResC = ConstantInt::get(CmpType, Res);
Result.push_back(std::make_pair(ResC, P));
}
return !Result.empty();
}
+ // InstCombine can fold some forms of constant range checks into
+ // (icmp (add (x, C1)), C2). See if we have we have such a thing with
+ // x as a live-in.
+ {
+ using namespace PatternMatch;
+ Value *AddLHS;
+ ConstantInt *AddConst;
+ if (isa<ConstantInt>(CmpConst) &&
+ match(CmpLHS, m_Add(m_Value(AddLHS), m_ConstantInt(AddConst)))) {
+ if (!isa<Instruction>(AddLHS) ||
+ cast<Instruction>(AddLHS)->getParent() != BB) {
+ for (BasicBlock *P : predecessors(BB)) {
+ // If the value is known by LazyValueInfo to be a ConstantRange in
+ // a predecessor, use that information to try to thread this
+ // block.
+ ConstantRange CR = LVI->getConstantRangeOnEdge(
+ AddLHS, P, BB, CxtI ? CxtI : cast<Instruction>(CmpLHS));
+ // Propagate the range through the addition.
+ CR = CR.add(AddConst->getValue());
+
+ // Get the range where the compare returns true.
+ ConstantRange CmpRange = ConstantRange::makeExactICmpRegion(
+ Pred, cast<ConstantInt>(CmpConst)->getValue());
+
+ Constant *ResC;
+ if (CmpRange.contains(CR))
+ ResC = ConstantInt::getTrue(CmpType);
+ else if (CmpRange.inverse().contains(CR))
+ ResC = ConstantInt::getFalse(CmpType);
+ else
+ continue;
+
+ Result.push_back(std::make_pair(ResC, P));
+ }
+
+ return !Result.empty();
+ }
+ }
+ }
+
// Try to find a constant value for the LHS of a comparison,
// and evaluate it statically if we can.
PredValueInfoTy LHSVals;
@@ -638,8 +684,7 @@ bool JumpThreadingPass::ComputeValueKnownInPredecessors(
for (const auto &LHSVal : LHSVals) {
Constant *V = LHSVal.first;
- Constant *Folded = ConstantExpr::getCompare(Cmp->getPredicate(),
- V, CmpConst);
+ Constant *Folded = ConstantExpr::getCompare(Pred, V, CmpConst);
if (Constant *KC = getKnownConstant(Folded, WantInteger))
Result.push_back(std::make_pair(KC, LHSVal.second));
}
@@ -752,6 +797,37 @@ bool JumpThreadingPass::ProcessBlock(BasicBlock *BB) {
LVI->eraseBlock(SinglePred);
MergeBasicBlockIntoOnlyPred(BB);
+ // Now that BB is merged into SinglePred (i.e. SinglePred Code followed by
+ // BB code within one basic block `BB`), we need to invalidate the LVI
+ // information associated with BB, because the LVI information need not be
+ // true for all of BB after the merge. For example,
+ // Before the merge, LVI info and code is as follows:
+ // SinglePred: <LVI info1 for %p val>
+ // %y = use of %p
+ // call @exit() // need not transfer execution to successor.
+ // assume(%p) // from this point on %p is true
+ // br label %BB
+ // BB: <LVI info2 for %p val, i.e. %p is true>
+ // %x = use of %p
+ // br label exit
+ //
+ // Note that this LVI info for blocks BB and SinglPred is correct for %p
+ // (info2 and info1 respectively). After the merge and the deletion of the
+ // LVI info1 for SinglePred. We have the following code:
+ // BB: <LVI info2 for %p val>
+ // %y = use of %p
+ // call @exit()
+ // assume(%p)
+ // %x = use of %p <-- LVI info2 is correct from here onwards.
+ // br label exit
+ // LVI info2 for BB is incorrect at the beginning of BB.
+
+ // Invalidate LVI information for BB if the LVI is not provably true for
+ // all of BB.
+ if (any_of(*BB, [](Instruction &I) {
+ return !isGuaranteedToTransferExecutionToSuccessor(&I);
+ }))
+ LVI->eraseBlock(BB);
return true;
}
}
diff --git a/lib/Transforms/Scalar/LoadCombine.cpp b/lib/Transforms/Scalar/LoadCombine.cpp
deleted file mode 100644
index 025ba1bfedc1..000000000000
--- a/lib/Transforms/Scalar/LoadCombine.cpp
+++ /dev/null
@@ -1,295 +0,0 @@
-//===- LoadCombine.cpp - Combine Adjacent Loads ---------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-/// \file
-/// This transformation combines adjacent loads.
-///
-//===----------------------------------------------------------------------===//
-
-#include "llvm/ADT/DenseMap.h"
-#include "llvm/ADT/Statistic.h"
-#include "llvm/Analysis/AliasAnalysis.h"
-#include "llvm/Analysis/AliasSetTracker.h"
-#include "llvm/Analysis/GlobalsModRef.h"
-#include "llvm/Analysis/TargetFolder.h"
-#include "llvm/IR/DataLayout.h"
-#include "llvm/IR/Dominators.h"
-#include "llvm/IR/Function.h"
-#include "llvm/IR/IRBuilder.h"
-#include "llvm/IR/Instructions.h"
-#include "llvm/IR/Module.h"
-#include "llvm/Pass.h"
-#include "llvm/Support/Debug.h"
-#include "llvm/Support/MathExtras.h"
-#include "llvm/Support/raw_ostream.h"
-#include "llvm/Transforms/Scalar.h"
-
-using namespace llvm;
-
-#define DEBUG_TYPE "load-combine"
-
-STATISTIC(NumLoadsAnalyzed, "Number of loads analyzed for combining");
-STATISTIC(NumLoadsCombined, "Number of loads combined");
-
-#define LDCOMBINE_NAME "Combine Adjacent Loads"
-
-namespace {
-struct PointerOffsetPair {
- Value *Pointer;
- APInt Offset;
-};
-
-struct LoadPOPPair {
- LoadInst *Load;
- PointerOffsetPair POP;
- /// \brief The new load needs to be created before the first load in IR order.
- unsigned InsertOrder;
-};
-
-class LoadCombine : public BasicBlockPass {
- LLVMContext *C;
- AliasAnalysis *AA;
- DominatorTree *DT;
-
-public:
- LoadCombine() : BasicBlockPass(ID), C(nullptr), AA(nullptr) {
- initializeLoadCombinePass(*PassRegistry::getPassRegistry());
- }
-
- using llvm::Pass::doInitialization;
- bool doInitialization(Function &) override;
- bool runOnBasicBlock(BasicBlock &BB) override;
- void getAnalysisUsage(AnalysisUsage &AU) const override {
- AU.setPreservesCFG();
- AU.addRequired<AAResultsWrapperPass>();
- AU.addRequired<DominatorTreeWrapperPass>();
- AU.addPreserved<GlobalsAAWrapperPass>();
- }
-
- StringRef getPassName() const override { return LDCOMBINE_NAME; }
- static char ID;
-
- typedef IRBuilder<TargetFolder> BuilderTy;
-
-private:
- BuilderTy *Builder;
-
- PointerOffsetPair getPointerOffsetPair(LoadInst &);
- bool combineLoads(DenseMap<const Value *, SmallVector<LoadPOPPair, 8>> &);
- bool aggregateLoads(SmallVectorImpl<LoadPOPPair> &);
- bool combineLoads(SmallVectorImpl<LoadPOPPair> &);
-};
-}
-
-bool LoadCombine::doInitialization(Function &F) {
- DEBUG(dbgs() << "LoadCombine function: " << F.getName() << "\n");
- C = &F.getContext();
- return true;
-}
-
-PointerOffsetPair LoadCombine::getPointerOffsetPair(LoadInst &LI) {
- auto &DL = LI.getModule()->getDataLayout();
-
- PointerOffsetPair POP;
- POP.Pointer = LI.getPointerOperand();
- unsigned BitWidth = DL.getPointerSizeInBits(LI.getPointerAddressSpace());
- POP.Offset = APInt(BitWidth, 0);
-
- while (isa<BitCastInst>(POP.Pointer) || isa<GetElementPtrInst>(POP.Pointer)) {
- if (auto *GEP = dyn_cast<GetElementPtrInst>(POP.Pointer)) {
- APInt LastOffset = POP.Offset;
- if (!GEP->accumulateConstantOffset(DL, POP.Offset)) {
- // Can't handle GEPs with variable indices.
- POP.Offset = LastOffset;
- return POP;
- }
- POP.Pointer = GEP->getPointerOperand();
- } else if (auto *BC = dyn_cast<BitCastInst>(POP.Pointer)) {
- POP.Pointer = BC->getOperand(0);
- }
- }
- return POP;
-}
-
-bool LoadCombine::combineLoads(
- DenseMap<const Value *, SmallVector<LoadPOPPair, 8>> &LoadMap) {
- bool Combined = false;
- for (auto &Loads : LoadMap) {
- if (Loads.second.size() < 2)
- continue;
- std::sort(Loads.second.begin(), Loads.second.end(),
- [](const LoadPOPPair &A, const LoadPOPPair &B) {
- return A.POP.Offset.slt(B.POP.Offset);
- });
- if (aggregateLoads(Loads.second))
- Combined = true;
- }
- return Combined;
-}
-
-/// \brief Try to aggregate loads from a sorted list of loads to be combined.
-///
-/// It is guaranteed that no writes occur between any of the loads. All loads
-/// have the same base pointer. There are at least two loads.
-bool LoadCombine::aggregateLoads(SmallVectorImpl<LoadPOPPair> &Loads) {
- assert(Loads.size() >= 2 && "Insufficient loads!");
- LoadInst *BaseLoad = nullptr;
- SmallVector<LoadPOPPair, 8> AggregateLoads;
- bool Combined = false;
- bool ValidPrevOffset = false;
- APInt PrevOffset;
- uint64_t PrevSize = 0;
- for (auto &L : Loads) {
- if (ValidPrevOffset == false) {
- BaseLoad = L.Load;
- PrevOffset = L.POP.Offset;
- PrevSize = L.Load->getModule()->getDataLayout().getTypeStoreSize(
- L.Load->getType());
- AggregateLoads.push_back(L);
- ValidPrevOffset = true;
- continue;
- }
- if (L.Load->getAlignment() > BaseLoad->getAlignment())
- continue;
- APInt PrevEnd = PrevOffset + PrevSize;
- if (L.POP.Offset.sgt(PrevEnd)) {
- // No other load will be combinable
- if (combineLoads(AggregateLoads))
- Combined = true;
- AggregateLoads.clear();
- ValidPrevOffset = false;
- continue;
- }
- if (L.POP.Offset != PrevEnd)
- // This load is offset less than the size of the last load.
- // FIXME: We may want to handle this case.
- continue;
- PrevOffset = L.POP.Offset;
- PrevSize = L.Load->getModule()->getDataLayout().getTypeStoreSize(
- L.Load->getType());
- AggregateLoads.push_back(L);
- }
- if (combineLoads(AggregateLoads))
- Combined = true;
- return Combined;
-}
-
-/// \brief Given a list of combinable load. Combine the maximum number of them.
-bool LoadCombine::combineLoads(SmallVectorImpl<LoadPOPPair> &Loads) {
- // Remove loads from the end while the size is not a power of 2.
- unsigned TotalSize = 0;
- for (const auto &L : Loads)
- TotalSize += L.Load->getType()->getPrimitiveSizeInBits();
- while (TotalSize != 0 && !isPowerOf2_32(TotalSize))
- TotalSize -= Loads.pop_back_val().Load->getType()->getPrimitiveSizeInBits();
- if (Loads.size() < 2)
- return false;
-
- DEBUG({
- dbgs() << "***** Combining Loads ******\n";
- for (const auto &L : Loads) {
- dbgs() << L.POP.Offset << ": " << *L.Load << "\n";
- }
- });
-
- // Find first load. This is where we put the new load.
- LoadPOPPair FirstLP;
- FirstLP.InsertOrder = -1u;
- for (const auto &L : Loads)
- if (L.InsertOrder < FirstLP.InsertOrder)
- FirstLP = L;
-
- unsigned AddressSpace =
- FirstLP.POP.Pointer->getType()->getPointerAddressSpace();
-
- Builder->SetInsertPoint(FirstLP.Load);
- Value *Ptr = Builder->CreateConstGEP1_64(
- Builder->CreatePointerCast(Loads[0].POP.Pointer,
- Builder->getInt8PtrTy(AddressSpace)),
- Loads[0].POP.Offset.getSExtValue());
- LoadInst *NewLoad = new LoadInst(
- Builder->CreatePointerCast(
- Ptr, PointerType::get(IntegerType::get(Ptr->getContext(), TotalSize),
- Ptr->getType()->getPointerAddressSpace())),
- Twine(Loads[0].Load->getName()) + ".combined", false,
- Loads[0].Load->getAlignment(), FirstLP.Load);
-
- for (const auto &L : Loads) {
- Builder->SetInsertPoint(L.Load);
- Value *V = Builder->CreateExtractInteger(
- L.Load->getModule()->getDataLayout(), NewLoad,
- cast<IntegerType>(L.Load->getType()),
- (L.POP.Offset - Loads[0].POP.Offset).getZExtValue(), "combine.extract");
- L.Load->replaceAllUsesWith(V);
- }
-
- NumLoadsCombined += Loads.size();
- return true;
-}
-
-bool LoadCombine::runOnBasicBlock(BasicBlock &BB) {
- if (skipBasicBlock(BB))
- return false;
-
- AA = &getAnalysis<AAResultsWrapperPass>().getAAResults();
- DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree();
-
- // Skip analysing dead blocks (not forward reachable from function entry).
- if (!DT->isReachableFromEntry(&BB)) {
- DEBUG(dbgs() << "LC: skipping unreachable " << BB.getName() <<
- " in " << BB.getParent()->getName() << "\n");
- return false;
- }
-
- IRBuilder<TargetFolder> TheBuilder(
- BB.getContext(), TargetFolder(BB.getModule()->getDataLayout()));
- Builder = &TheBuilder;
-
- DenseMap<const Value *, SmallVector<LoadPOPPair, 8>> LoadMap;
- AliasSetTracker AST(*AA);
-
- bool Combined = false;
- unsigned Index = 0;
- for (auto &I : BB) {
- if (I.mayThrow() || AST.containsUnknown(&I)) {
- if (combineLoads(LoadMap))
- Combined = true;
- LoadMap.clear();
- AST.clear();
- continue;
- }
- if (I.mayWriteToMemory()) {
- AST.add(&I);
- continue;
- }
- LoadInst *LI = dyn_cast<LoadInst>(&I);
- if (!LI)
- continue;
- ++NumLoadsAnalyzed;
- if (!LI->isSimple() || !LI->getType()->isIntegerTy())
- continue;
- auto POP = getPointerOffsetPair(*LI);
- if (!POP.Pointer)
- continue;
- LoadMap[POP.Pointer].push_back({LI, std::move(POP), Index++});
- AST.add(LI);
- }
- if (combineLoads(LoadMap))
- Combined = true;
- return Combined;
-}
-
-char LoadCombine::ID = 0;
-
-BasicBlockPass *llvm::createLoadCombinePass() {
- return new LoadCombine();
-}
-
-INITIALIZE_PASS_BEGIN(LoadCombine, "load-combine", LDCOMBINE_NAME, false, false)
-INITIALIZE_PASS_DEPENDENCY(AAResultsWrapperPass)
-INITIALIZE_PASS_END(LoadCombine, "load-combine", LDCOMBINE_NAME, false, false)
diff --git a/lib/Transforms/Scalar/LoopDeletion.cpp b/lib/Transforms/Scalar/LoopDeletion.cpp
index 3151ccd279c4..c41cc42db5e2 100644
--- a/lib/Transforms/Scalar/LoopDeletion.cpp
+++ b/lib/Transforms/Scalar/LoopDeletion.cpp
@@ -31,20 +31,19 @@ using namespace llvm;
STATISTIC(NumDeleted, "Number of loops deleted");
/// This function deletes dead loops. The caller of this function needs to
-/// guarantee that the loop is infact dead. Here we handle two kinds of dead
+/// guarantee that the loop is infact dead. Here we handle two kinds of dead
/// loop. The first kind (\p isLoopDead) is where only invariant values from
/// within the loop are used outside of it. The second kind (\p
/// isLoopNeverExecuted) is where the loop is provably never executed. We can
-/// always remove never executed loops since they will not cause any
-/// difference to program behaviour.
+/// always remove never executed loops since they will not cause any difference
+/// to program behaviour.
///
/// This also updates the relevant analysis information in \p DT, \p SE, and \p
/// LI. It also updates the loop PM if an updater struct is provided.
// TODO: This function will be used by loop-simplifyCFG as well. So, move this
// to LoopUtils.cpp
static void deleteDeadLoop(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
- LoopInfo &LI, bool LoopIsNeverExecuted,
- LPMUpdater *Updater = nullptr);
+ LoopInfo &LI, LPMUpdater *Updater = nullptr);
/// Determines if a loop is dead.
///
/// This assumes that we've already checked for unique exit and exiting blocks,
@@ -168,7 +167,14 @@ static bool deleteLoopIfDead(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
BasicBlock *ExitBlock = L->getUniqueExitBlock();
if (ExitBlock && isLoopNeverExecuted(L)) {
- deleteDeadLoop(L, DT, SE, LI, true /* LoopIsNeverExecuted */, Updater);
+ // Set incoming value to undef for phi nodes in the exit block.
+ BasicBlock::iterator BI = ExitBlock->begin();
+ while (PHINode *P = dyn_cast<PHINode>(BI)) {
+ for (unsigned i = 0; i < P->getNumIncomingValues(); i++)
+ P->setIncomingValue(i, UndefValue::get(P->getType()));
+ BI++;
+ }
+ deleteDeadLoop(L, DT, SE, LI, Updater);
++NumDeleted;
return true;
}
@@ -196,15 +202,14 @@ static bool deleteLoopIfDead(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
if (isa<SCEVCouldNotCompute>(S))
return Changed;
- deleteDeadLoop(L, DT, SE, LI, false /* LoopIsNeverExecuted */, Updater);
+ deleteDeadLoop(L, DT, SE, LI, Updater);
++NumDeleted;
return true;
}
static void deleteDeadLoop(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
- LoopInfo &LI, bool LoopIsNeverExecuted,
- LPMUpdater *Updater) {
+ LoopInfo &LI, LPMUpdater *Updater) {
assert(L->isLCSSAForm(DT) && "Expected LCSSA!");
auto *Preheader = L->getLoopPreheader();
assert(Preheader && "Preheader should exist!");
@@ -227,6 +232,8 @@ static void deleteDeadLoop(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
auto *ExitBlock = L->getUniqueExitBlock();
assert(ExitBlock && "Should have a unique exit block!");
+ assert(L->hasDedicatedExits() && "Loop should have dedicated exits!");
+
// Connect the preheader directly to the exit block.
// Even when the loop is never executed, we cannot remove the edge from the
// source block to the exit block. Consider the case where the unexecuted loop
@@ -236,20 +243,28 @@ static void deleteDeadLoop(Loop *L, DominatorTree &DT, ScalarEvolution &SE,
// non-loop, it will be deleted in a future iteration of loop deletion pass.
Preheader->getTerminator()->replaceUsesOfWith(L->getHeader(), ExitBlock);
- SmallVector<BasicBlock *, 4> ExitingBlocks;
- L->getExitingBlocks(ExitingBlocks);
// Rewrite phis in the exit block to get their inputs from the Preheader
// instead of the exiting block.
- BasicBlock *ExitingBlock = ExitingBlocks[0];
BasicBlock::iterator BI = ExitBlock->begin();
while (PHINode *P = dyn_cast<PHINode>(BI)) {
- int j = P->getBasicBlockIndex(ExitingBlock);
- assert(j >= 0 && "Can't find exiting block in exit block's phi node!");
- if (LoopIsNeverExecuted)
- P->setIncomingValue(j, UndefValue::get(P->getType()));
- P->setIncomingBlock(j, Preheader);
- for (unsigned i = 1; i < ExitingBlocks.size(); ++i)
- P->removeIncomingValue(ExitingBlocks[i]);
+ // Set the zero'th element of Phi to be from the preheader and remove all
+ // other incoming values. Given the loop has dedicated exits, all other
+ // incoming values must be from the exiting blocks.
+ int PredIndex = 0;
+ P->setIncomingBlock(PredIndex, Preheader);
+ // Removes all incoming values from all other exiting blocks (including
+ // duplicate values from an exiting block).
+ // Nuke all entries except the zero'th entry which is the preheader entry.
+ // NOTE! We need to remove Incoming Values in the reverse order as done
+ // below, to keep the indices valid for deletion (removeIncomingValues
+ // updates getNumIncomingValues and shifts all values down into the operand
+ // being deleted).
+ for (unsigned i = 0, e = P->getNumIncomingValues() - 1; i != e; ++i)
+ P->removeIncomingValue(e-i, false);
+
+ assert((P->getNumIncomingValues() == 1 &&
+ P->getIncomingBlock(PredIndex) == Preheader) &&
+ "Should have exactly one value and that's from the preheader!");
++BI;
}
diff --git a/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/lib/Transforms/Scalar/LoopStrengthReduce.cpp
index b027278b24f2..73436f13c94e 100644
--- a/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+++ b/lib/Transforms/Scalar/LoopStrengthReduce.cpp
@@ -131,7 +131,7 @@ static cl::opt<bool> EnablePhiElim(
// The flag adds instruction count to solutions cost comparision.
static cl::opt<bool> InsnsCost(
- "lsr-insns-cost", cl::Hidden, cl::init(true),
+ "lsr-insns-cost", cl::Hidden, cl::init(false),
cl::desc("Add instruction count to a LSR cost model"));
// Flag to choose how to narrow complex lsr solution
diff --git a/lib/Transforms/Scalar/NewGVN.cpp b/lib/Transforms/Scalar/NewGVN.cpp
index cbbd55512c9f..7a7624f77542 100644
--- a/lib/Transforms/Scalar/NewGVN.cpp
+++ b/lib/Transforms/Scalar/NewGVN.cpp
@@ -1244,27 +1244,24 @@ const Expression *NewGVN::performSymbolicStoreEvaluation(Instruction *I) const {
// only do this for simple stores, we should expand to cover memcpys, etc.
const auto *LastStore = createStoreExpression(SI, StoreRHS);
const auto *LastCC = ExpressionToClass.lookup(LastStore);
- // Basically, check if the congruence class the store is in is defined by a
- // store that isn't us, and has the same value. MemorySSA takes care of
- // ensuring the store has the same memory state as us already.
- // The RepStoredValue gets nulled if all the stores disappear in a class, so
- // we don't need to check if the class contains a store besides us.
- if (LastCC &&
- LastCC->getStoredValue() == lookupOperandLeader(SI->getValueOperand()))
+ // We really want to check whether the expression we matched was a store. No
+ // easy way to do that. However, we can check that the class we found has a
+ // store, which, assuming the value numbering state is not corrupt, is
+ // sufficient, because we must also be equivalent to that store's expression
+ // for it to be in the same class as the load.
+ if (LastCC && LastCC->getStoredValue() == LastStore->getStoredValue())
return LastStore;
- deleteExpression(LastStore);
// Also check if our value operand is defined by a load of the same memory
// location, and the memory state is the same as it was then (otherwise, it
// could have been overwritten later. See test32 in
// transforms/DeadStoreElimination/simple.ll).
- if (auto *LI =
- dyn_cast<LoadInst>(lookupOperandLeader(SI->getValueOperand()))) {
+ if (auto *LI = dyn_cast<LoadInst>(LastStore->getStoredValue()))
if ((lookupOperandLeader(LI->getPointerOperand()) ==
- lookupOperandLeader(SI->getPointerOperand())) &&
+ LastStore->getOperand(0)) &&
(lookupMemoryLeader(getMemoryAccess(LI)->getDefiningAccess()) ==
StoreRHS))
- return createStoreExpression(SI, StoreRHS);
- }
+ return LastStore;
+ deleteExpression(LastStore);
}
// If the store is not equivalent to anything, value number it as a store that
@@ -2332,9 +2329,7 @@ void NewGVN::updateReachableEdge(BasicBlock *From, BasicBlock *To) {
// see if we know some constant value for it already.
Value *NewGVN::findConditionEquivalence(Value *Cond) const {
auto Result = lookupOperandLeader(Cond);
- if (isa<Constant>(Result))
- return Result;
- return nullptr;
+ return isa<Constant>(Result) ? Result : nullptr;
}
// Process the outgoing edges of a block for reachability.
@@ -3014,14 +3009,27 @@ void NewGVN::verifyIterationSettled(Function &F) {
// a no-longer valid StoreExpression.
void NewGVN::verifyStoreExpressions() const {
#ifndef NDEBUG
- DenseSet<std::pair<const Value *, const Value *>> StoreExpressionSet;
+ // This is the only use of this, and it's not worth defining a complicated
+ // densemapinfo hash/equality function for it.
+ std::set<
+ std::pair<const Value *,
+ std::tuple<const Value *, const CongruenceClass *, Value *>>>
+ StoreExpressionSet;
for (const auto &KV : ExpressionToClass) {
if (auto *SE = dyn_cast<StoreExpression>(KV.first)) {
// Make sure a version that will conflict with loads is not already there
- auto Res =
- StoreExpressionSet.insert({SE->getOperand(0), SE->getMemoryLeader()});
- assert(Res.second &&
- "Stored expression conflict exists in expression table");
+ auto Res = StoreExpressionSet.insert(
+ {SE->getOperand(0), std::make_tuple(SE->getMemoryLeader(), KV.second,
+ SE->getStoredValue())});
+ bool Okay = Res.second;
+ // It's okay to have the same expression already in there if it is
+ // identical in nature.
+ // This can happen when the leader of the stored value changes over time.
+ if (!Okay)
+ Okay = (std::get<1>(Res.first->second) == KV.second) &&
+ (lookupOperandLeader(std::get<2>(Res.first->second)) ==
+ lookupOperandLeader(SE->getStoredValue()));
+ assert(Okay && "Stored expression conflict exists in expression table");
auto *ValueExpr = ValueToExpression.lookup(SE->getStoreInst());
assert(ValueExpr && ValueExpr->equals(*SE) &&
"StoreExpression in ExpressionToClass is not latest "
diff --git a/lib/Transforms/Scalar/Reassociate.cpp b/lib/Transforms/Scalar/Reassociate.cpp
index a20890b22603..6da551bd7efd 100644
--- a/lib/Transforms/Scalar/Reassociate.cpp
+++ b/lib/Transforms/Scalar/Reassociate.cpp
@@ -35,6 +35,7 @@
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
+#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
@@ -106,11 +107,12 @@ XorOpnd::XorOpnd(Value *V) {
I->getOpcode() == Instruction::And)) {
Value *V0 = I->getOperand(0);
Value *V1 = I->getOperand(1);
- if (isa<ConstantInt>(V0))
+ const APInt *C;
+ if (match(V0, PatternMatch::m_APInt(C)))
std::swap(V0, V1);
- if (ConstantInt *C = dyn_cast<ConstantInt>(V1)) {
- ConstPart = C->getValue();
+ if (match(V1, PatternMatch::m_APInt(C))) {
+ ConstPart = *C;
SymbolicPart = V0;
isOr = (I->getOpcode() == Instruction::Or);
return;
@@ -119,7 +121,7 @@ XorOpnd::XorOpnd(Value *V) {
// view the operand as "V | 0"
SymbolicPart = V;
- ConstPart = APInt::getNullValue(V->getType()->getIntegerBitWidth());
+ ConstPart = APInt::getNullValue(V->getType()->getScalarSizeInBits());
isOr = true;
}
@@ -955,8 +957,8 @@ static BinaryOperator *ConvertShiftToMul(Instruction *Shl) {
/// Scan backwards and forwards among values with the same rank as element i
/// to see if X exists. If X does not exist, return i. This is useful when
/// scanning for 'x' when we see '-x' because they both get the same rank.
-static unsigned FindInOperandList(SmallVectorImpl<ValueEntry> &Ops, unsigned i,
- Value *X) {
+static unsigned FindInOperandList(const SmallVectorImpl<ValueEntry> &Ops,
+ unsigned i, Value *X) {
unsigned XRank = Ops[i].Rank;
unsigned e = Ops.size();
for (unsigned j = i+1; j != e && Ops[j].Rank == XRank; ++j) {
@@ -1134,20 +1136,19 @@ static Value *OptimizeAndOrXor(unsigned Opcode,
/// instruction. There are two special cases: 1) if the constant operand is 0,
/// it will return NULL. 2) if the constant is ~0, the symbolic operand will
/// be returned.
-static Value *createAndInstr(Instruction *InsertBefore, Value *Opnd,
+static Value *createAndInstr(Instruction *InsertBefore, Value *Opnd,
const APInt &ConstOpnd) {
- if (ConstOpnd != 0) {
- if (!ConstOpnd.isAllOnesValue()) {
- LLVMContext &Ctx = Opnd->getType()->getContext();
- Instruction *I;
- I = BinaryOperator::CreateAnd(Opnd, ConstantInt::get(Ctx, ConstOpnd),
- "and.ra", InsertBefore);
- I->setDebugLoc(InsertBefore->getDebugLoc());
- return I;
- }
+ if (ConstOpnd.isNullValue())
+ return nullptr;
+
+ if (ConstOpnd.isAllOnesValue())
return Opnd;
- }
- return nullptr;
+
+ Instruction *I = BinaryOperator::CreateAnd(
+ Opnd, ConstantInt::get(Opnd->getType(), ConstOpnd), "and.ra",
+ InsertBefore);
+ I->setDebugLoc(InsertBefore->getDebugLoc());
+ return I;
}
// Helper function of OptimizeXor(). It tries to simplify "Opnd1 ^ ConstOpnd"
@@ -1163,24 +1164,24 @@ bool ReassociatePass::CombineXorOpnd(Instruction *I, XorOpnd *Opnd1,
// = ((x | c1) ^ c1) ^ (c1 ^ c2)
// = (x & ~c1) ^ (c1 ^ c2)
// It is useful only when c1 == c2.
- if (Opnd1->isOrExpr() && Opnd1->getConstPart() != 0) {
- if (!Opnd1->getValue()->hasOneUse())
- return false;
+ if (!Opnd1->isOrExpr() || Opnd1->getConstPart().isNullValue())
+ return false;
- const APInt &C1 = Opnd1->getConstPart();
- if (C1 != ConstOpnd)
- return false;
+ if (!Opnd1->getValue()->hasOneUse())
+ return false;
- Value *X = Opnd1->getSymbolicPart();
- Res = createAndInstr(I, X, ~C1);
- // ConstOpnd was C2, now C1 ^ C2.
- ConstOpnd ^= C1;
+ const APInt &C1 = Opnd1->getConstPart();
+ if (C1 != ConstOpnd)
+ return false;
- if (Instruction *T = dyn_cast<Instruction>(Opnd1->getValue()))
- RedoInsts.insert(T);
- return true;
- }
- return false;
+ Value *X = Opnd1->getSymbolicPart();
+ Res = createAndInstr(I, X, ~C1);
+ // ConstOpnd was C2, now C1 ^ C2.
+ ConstOpnd ^= C1;
+
+ if (Instruction *T = dyn_cast<Instruction>(Opnd1->getValue()))
+ RedoInsts.insert(T);
+ return true;
}
@@ -1221,8 +1222,8 @@ bool ReassociatePass::CombineXorOpnd(Instruction *I, XorOpnd *Opnd1,
APInt C3((~C1) ^ C2);
// Do not increase code size!
- if (C3 != 0 && !C3.isAllOnesValue()) {
- int NewInstNum = ConstOpnd != 0 ? 1 : 2;
+ if (!C3.isNullValue() && !C3.isAllOnesValue()) {
+ int NewInstNum = ConstOpnd.getBoolValue() ? 1 : 2;
if (NewInstNum > DeadInstNum)
return false;
}
@@ -1238,8 +1239,8 @@ bool ReassociatePass::CombineXorOpnd(Instruction *I, XorOpnd *Opnd1,
APInt C3 = C1 ^ C2;
// Do not increase code size
- if (C3 != 0 && !C3.isAllOnesValue()) {
- int NewInstNum = ConstOpnd != 0 ? 1 : 2;
+ if (!C3.isNullValue() && !C3.isAllOnesValue()) {
+ int NewInstNum = ConstOpnd.getBoolValue() ? 1 : 2;
if (NewInstNum > DeadInstNum)
return false;
}
@@ -1279,17 +1280,20 @@ Value *ReassociatePass::OptimizeXor(Instruction *I,
SmallVector<XorOpnd, 8> Opnds;
SmallVector<XorOpnd*, 8> OpndPtrs;
Type *Ty = Ops[0].Op->getType();
- APInt ConstOpnd(Ty->getIntegerBitWidth(), 0);
+ APInt ConstOpnd(Ty->getScalarSizeInBits(), 0);
// Step 1: Convert ValueEntry to XorOpnd
for (unsigned i = 0, e = Ops.size(); i != e; ++i) {
Value *V = Ops[i].Op;
- if (!isa<ConstantInt>(V)) {
+ const APInt *C;
+ // TODO: Support non-splat vectors.
+ if (match(V, PatternMatch::m_APInt(C))) {
+ ConstOpnd ^= *C;
+ } else {
XorOpnd O(V);
O.setSymbolicRank(getRank(O.getSymbolicPart()));
Opnds.push_back(O);
- } else
- ConstOpnd ^= cast<ConstantInt>(V)->getValue();
+ }
}
// NOTE: From this point on, do *NOT* add/delete element to/from "Opnds".
@@ -1327,7 +1331,8 @@ Value *ReassociatePass::OptimizeXor(Instruction *I,
Value *CV;
// Step 3.1: Try simplifying "CurrOpnd ^ ConstOpnd"
- if (ConstOpnd != 0 && CombineXorOpnd(I, CurrOpnd, ConstOpnd, CV)) {
+ if (!ConstOpnd.isNullValue() &&
+ CombineXorOpnd(I, CurrOpnd, ConstOpnd, CV)) {
Changed = true;
if (CV)
*CurrOpnd = XorOpnd(CV);
@@ -1369,17 +1374,17 @@ Value *ReassociatePass::OptimizeXor(Instruction *I,
ValueEntry VE(getRank(O.getValue()), O.getValue());
Ops.push_back(VE);
}
- if (ConstOpnd != 0) {
- Value *C = ConstantInt::get(Ty->getContext(), ConstOpnd);
+ if (!ConstOpnd.isNullValue()) {
+ Value *C = ConstantInt::get(Ty, ConstOpnd);
ValueEntry VE(getRank(C), C);
Ops.push_back(VE);
}
- int Sz = Ops.size();
+ unsigned Sz = Ops.size();
if (Sz == 1)
return Ops.back().Op;
- else if (Sz == 0) {
- assert(ConstOpnd == 0);
- return ConstantInt::get(Ty->getContext(), ConstOpnd);
+ if (Sz == 0) {
+ assert(ConstOpnd.isNullValue());
+ return ConstantInt::get(Ty, ConstOpnd);
}
}
@@ -1627,8 +1632,8 @@ Value *ReassociatePass::OptimizeAdd(Instruction *I,
/// ((((x*y)*x)*y)*x) -> [(x, 3), (y, 2)]
///
/// \returns Whether any factors have a power greater than one.
-bool ReassociatePass::collectMultiplyFactors(SmallVectorImpl<ValueEntry> &Ops,
- SmallVectorImpl<Factor> &Factors) {
+static bool collectMultiplyFactors(SmallVectorImpl<ValueEntry> &Ops,
+ SmallVectorImpl<Factor> &Factors) {
// FIXME: Have Ops be (ValueEntry, Multiplicity) pairs, simplifying this.
// Compute the sum of powers of simplifiable factors.
unsigned FactorPowerSum = 0;
@@ -1999,11 +2004,6 @@ void ReassociatePass::OptimizeInst(Instruction *I) {
if (I->isCommutative())
canonicalizeOperands(I);
- // TODO: We should optimize vector Xor instructions, but they are
- // currently unsupported.
- if (I->getType()->isVectorTy() && I->getOpcode() == Instruction::Xor)
- return;
-
// Don't optimize floating point instructions that don't have unsafe algebra.
if (I->getType()->isFPOrFPVectorTy() && !I->hasUnsafeAlgebra())
return;
diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp
index c6929c33b3e9..7a6fa1711411 100644
--- a/lib/Transforms/Scalar/SCCP.cpp
+++ b/lib/Transforms/Scalar/SCCP.cpp
@@ -536,9 +536,10 @@ private:
void visitUnreachableInst(TerminatorInst &I) { /*returns void*/ }
void visitFenceInst (FenceInst &I) { /*returns void*/ }
void visitInstruction(Instruction &I) {
- // If a new instruction is added to LLVM that we don't handle.
+ // All the instructions we don't do any special handling for just
+ // go to overdefined.
DEBUG(dbgs() << "SCCP: Don't know how to handle: " << I << '\n');
- markOverdefined(&I); // Just in case
+ markOverdefined(&I);
}
};
@@ -1814,15 +1815,11 @@ static bool runIPSCCP(Module &M, const DataLayout &DL,
if (F.isDeclaration())
continue;
- if (Solver.isBlockExecutable(&F.front())) {
+ if (Solver.isBlockExecutable(&F.front()))
for (Function::arg_iterator AI = F.arg_begin(), E = F.arg_end(); AI != E;
- ++AI) {
- if (AI->use_empty())
- continue;
- if (tryToReplaceWithConstant(Solver, &*AI))
+ ++AI)
+ if (!AI->use_empty() && tryToReplaceWithConstant(Solver, &*AI))
++IPNumArgsElimed;
- }
- }
for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) {
if (!Solver.isBlockExecutable(&*BB)) {
diff --git a/lib/Transforms/Scalar/SROA.cpp b/lib/Transforms/Scalar/SROA.cpp
index 1527f15f18a3..80fbbeb6829b 100644
--- a/lib/Transforms/Scalar/SROA.cpp
+++ b/lib/Transforms/Scalar/SROA.cpp
@@ -1252,7 +1252,7 @@ static bool isSafeSelectToSpeculate(SelectInst &SI) {
if (!LI || !LI->isSimple())
return false;
- // Both operands to the select need to be dereferencable, either
+ // Both operands to the select need to be dereferenceable, either
// absolutely (e.g. allocas) or at this point because we can see other
// accesses to it.
if (!isSafeToLoadUnconditionally(TValue, LI->getAlignment(), DL, LI))
@@ -1637,8 +1637,17 @@ static bool canConvertValue(const DataLayout &DL, Type *OldTy, Type *NewTy) {
return cast<PointerType>(NewTy)->getPointerAddressSpace() ==
cast<PointerType>(OldTy)->getPointerAddressSpace();
}
- if (NewTy->isIntegerTy() || OldTy->isIntegerTy())
- return true;
+
+ // We can convert integers to integral pointers, but not to non-integral
+ // pointers.
+ if (OldTy->isIntegerTy())
+ return !DL.isNonIntegralPointerType(NewTy);
+
+ // We can convert integral pointers to integers, but non-integral pointers
+ // need to remain pointers.
+ if (!DL.isNonIntegralPointerType(OldTy))
+ return NewTy->isIntegerTy();
+
return false;
}
diff --git a/lib/Transforms/Scalar/Scalar.cpp b/lib/Transforms/Scalar/Scalar.cpp
index 850a01114eeb..ce6f93eb0c15 100644
--- a/lib/Transforms/Scalar/Scalar.cpp
+++ b/lib/Transforms/Scalar/Scalar.cpp
@@ -91,7 +91,6 @@ void llvm::initializeScalarOpts(PassRegistry &Registry) {
initializeSeparateConstOffsetFromGEPPass(Registry);
initializeSpeculativeExecutionLegacyPassPass(Registry);
initializeStraightLineStrengthReducePass(Registry);
- initializeLoadCombinePass(Registry);
initializePlaceBackedgeSafepointsImplPass(Registry);
initializePlaceSafepointsPass(Registry);
initializeFloat2IntLegacyPassPass(Registry);
diff --git a/lib/Transforms/Scalar/TailRecursionElimination.cpp b/lib/Transforms/Scalar/TailRecursionElimination.cpp
index 3e5993618c4c..9397b87cdf56 100644
--- a/lib/Transforms/Scalar/TailRecursionElimination.cpp
+++ b/lib/Transforms/Scalar/TailRecursionElimination.cpp
@@ -321,7 +321,7 @@ static bool markTails(Function &F, bool &AllCallsAreTailCalls) {
/// instruction from after the call to before the call, assuming that all
/// instructions between the call and this instruction are movable.
///
-static bool canMoveAboveCall(Instruction *I, CallInst *CI) {
+static bool canMoveAboveCall(Instruction *I, CallInst *CI, AliasAnalysis *AA) {
// FIXME: We can move load/store/call/free instructions above the call if the
// call does not mod/ref the memory location being processed.
if (I->mayHaveSideEffects()) // This also handles volatile loads.
@@ -332,10 +332,10 @@ static bool canMoveAboveCall(Instruction *I, CallInst *CI) {
if (CI->mayHaveSideEffects()) {
// Non-volatile loads may be moved above a call with side effects if it
// does not write to memory and the load provably won't trap.
- // FIXME: Writes to memory only matter if they may alias the pointer
+ // Writes to memory only matter if they may alias the pointer
// being loaded from.
const DataLayout &DL = L->getModule()->getDataLayout();
- if (CI->mayWriteToMemory() ||
+ if ((AA->getModRefInfo(CI, MemoryLocation::get(L)) & MRI_Mod) ||
!isSafeToLoadUnconditionally(L->getPointerOperand(),
L->getAlignment(), DL, L))
return false;
@@ -492,10 +492,11 @@ static CallInst *findTRECandidate(Instruction *TI,
return CI;
}
-static bool
-eliminateRecursiveTailCall(CallInst *CI, ReturnInst *Ret, BasicBlock *&OldEntry,
- bool &TailCallsAreMarkedTail,
- SmallVectorImpl<PHINode *> &ArgumentPHIs) {
+static bool eliminateRecursiveTailCall(CallInst *CI, ReturnInst *Ret,
+ BasicBlock *&OldEntry,
+ bool &TailCallsAreMarkedTail,
+ SmallVectorImpl<PHINode *> &ArgumentPHIs,
+ AliasAnalysis *AA) {
// If we are introducing accumulator recursion to eliminate operations after
// the call instruction that are both associative and commutative, the initial
// value for the accumulator is placed in this variable. If this value is set
@@ -515,7 +516,8 @@ eliminateRecursiveTailCall(CallInst *CI, ReturnInst *Ret, BasicBlock *&OldEntry,
// Check that this is the case now.
BasicBlock::iterator BBI(CI);
for (++BBI; &*BBI != Ret; ++BBI) {
- if (canMoveAboveCall(&*BBI, CI)) continue;
+ if (canMoveAboveCall(&*BBI, CI, AA))
+ continue;
// If we can't move the instruction above the call, it might be because it
// is an associative and commutative operation that could be transformed
@@ -674,12 +676,17 @@ static bool foldReturnAndProcessPred(BasicBlock *BB, ReturnInst *Ret,
bool &TailCallsAreMarkedTail,
SmallVectorImpl<PHINode *> &ArgumentPHIs,
bool CannotTailCallElimCallsMarkedTail,
- const TargetTransformInfo *TTI) {
+ const TargetTransformInfo *TTI,
+ AliasAnalysis *AA) {
bool Change = false;
+ // Make sure this block is a trivial return block.
+ assert(BB->getFirstNonPHIOrDbg() == Ret &&
+ "Trying to fold non-trivial return block");
+
// If the return block contains nothing but the return and PHI's,
// there might be an opportunity to duplicate the return in its
- // predecessors and perform TRC there. Look for predecessors that end
+ // predecessors and perform TRE there. Look for predecessors that end
// in unconditional branch and recursive call(s).
SmallVector<BranchInst*, 8> UncondBranchPreds;
for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI) {
@@ -706,7 +713,7 @@ static bool foldReturnAndProcessPred(BasicBlock *BB, ReturnInst *Ret,
BB->eraseFromParent();
eliminateRecursiveTailCall(CI, RI, OldEntry, TailCallsAreMarkedTail,
- ArgumentPHIs);
+ ArgumentPHIs, AA);
++NumRetDuped;
Change = true;
}
@@ -719,16 +726,18 @@ static bool processReturningBlock(ReturnInst *Ret, BasicBlock *&OldEntry,
bool &TailCallsAreMarkedTail,
SmallVectorImpl<PHINode *> &ArgumentPHIs,
bool CannotTailCallElimCallsMarkedTail,
- const TargetTransformInfo *TTI) {
+ const TargetTransformInfo *TTI,
+ AliasAnalysis *AA) {
CallInst *CI = findTRECandidate(Ret, CannotTailCallElimCallsMarkedTail, TTI);
if (!CI)
return false;
return eliminateRecursiveTailCall(CI, Ret, OldEntry, TailCallsAreMarkedTail,
- ArgumentPHIs);
+ ArgumentPHIs, AA);
}
-static bool eliminateTailRecursion(Function &F, const TargetTransformInfo *TTI) {
+static bool eliminateTailRecursion(Function &F, const TargetTransformInfo *TTI,
+ AliasAnalysis *AA) {
if (F.getFnAttribute("disable-tail-calls").getValueAsString() == "true")
return false;
@@ -763,11 +772,11 @@ static bool eliminateTailRecursion(Function &F, const TargetTransformInfo *TTI)
if (ReturnInst *Ret = dyn_cast<ReturnInst>(BB->getTerminator())) {
bool Change =
processReturningBlock(Ret, OldEntry, TailCallsAreMarkedTail,
- ArgumentPHIs, !CanTRETailMarkedCall, TTI);
+ ArgumentPHIs, !CanTRETailMarkedCall, TTI, AA);
if (!Change && BB->getFirstNonPHIOrDbg() == Ret)
- Change =
- foldReturnAndProcessPred(BB, Ret, OldEntry, TailCallsAreMarkedTail,
- ArgumentPHIs, !CanTRETailMarkedCall, TTI);
+ Change = foldReturnAndProcessPred(BB, Ret, OldEntry,
+ TailCallsAreMarkedTail, ArgumentPHIs,
+ !CanTRETailMarkedCall, TTI, AA);
MadeChange |= Change;
}
}
@@ -797,6 +806,7 @@ struct TailCallElim : public FunctionPass {
void getAnalysisUsage(AnalysisUsage &AU) const override {
AU.addRequired<TargetTransformInfoWrapperPass>();
+ AU.addRequired<AAResultsWrapperPass>();
AU.addPreserved<GlobalsAAWrapperPass>();
}
@@ -805,7 +815,8 @@ struct TailCallElim : public FunctionPass {
return false;
return eliminateTailRecursion(
- F, &getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F));
+ F, &getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F),
+ &getAnalysis<AAResultsWrapperPass>().getAAResults());
}
};
}
@@ -826,8 +837,9 @@ PreservedAnalyses TailCallElimPass::run(Function &F,
FunctionAnalysisManager &AM) {
TargetTransformInfo &TTI = AM.getResult<TargetIRAnalysis>(F);
+ AliasAnalysis &AA = AM.getResult<AAManager>(F);
- bool Changed = eliminateTailRecursion(F, &TTI);
+ bool Changed = eliminateTailRecursion(F, &TTI, &AA);
if (!Changed)
return PreservedAnalyses::all();
diff --git a/lib/Transforms/Utils/BuildLibCalls.cpp b/lib/Transforms/Utils/BuildLibCalls.cpp
index ebde1f9a17dd..b60dfb4f3541 100644
--- a/lib/Transforms/Utils/BuildLibCalls.cpp
+++ b/lib/Transforms/Utils/BuildLibCalls.cpp
@@ -116,6 +116,7 @@ bool llvm::inferLibFuncAttributes(Function &F, const TargetLibraryInfo &TLI) {
case LibFunc_wcslen:
Changed |= setOnlyReadsMemory(F);
Changed |= setDoesNotThrow(F);
+ Changed |= setOnlyAccessesArgMemory(F);
Changed |= setDoesNotCapture(F, 0);
return Changed;
case LibFunc_strchr:
diff --git a/lib/Transforms/Utils/Local.cpp b/lib/Transforms/Utils/Local.cpp
index 2af671636cbd..5127eba3f9ae 100644
--- a/lib/Transforms/Utils/Local.cpp
+++ b/lib/Transforms/Utils/Local.cpp
@@ -26,6 +26,7 @@
#include "llvm/Analysis/MemoryBuiltins.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/CFG.h"
+#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DIBuilder.h"
#include "llvm/IR/DataLayout.h"
@@ -1081,7 +1082,7 @@ static bool LdStHasDebugValue(DILocalVariable *DIVar, DIExpression *DIExpr,
}
/// See if there is a dbg.value intrinsic for DIVar for the PHI node.
-static bool PhiHasDebugValue(DILocalVariable *DIVar,
+static bool PhiHasDebugValue(DILocalVariable *DIVar,
DIExpression *DIExpr,
PHINode *APN) {
// Since we can't guarantee that the original dbg.declare instrinsic
@@ -1159,7 +1160,7 @@ void llvm::ConvertDebugDeclareToDebugValue(DbgDeclareInst *DDI,
DbgValue->insertAfter(LI);
}
-/// Inserts a llvm.dbg.value intrinsic after a phi
+/// Inserts a llvm.dbg.value intrinsic after a phi
/// that has an associated llvm.dbg.decl intrinsic.
void llvm::ConvertDebugDeclareToDebugValue(DbgDeclareInst *DDI,
PHINode *APN, DIBuilder &Builder) {
@@ -1742,12 +1743,12 @@ void llvm::combineMetadata(Instruction *K, const Instruction *J,
// Preserve !invariant.group in K.
break;
case LLVMContext::MD_align:
- K->setMetadata(Kind,
+ K->setMetadata(Kind,
MDNode::getMostGenericAlignmentOrDereferenceable(JMD, KMD));
break;
case LLVMContext::MD_dereferenceable:
case LLVMContext::MD_dereferenceable_or_null:
- K->setMetadata(Kind,
+ K->setMetadata(Kind,
MDNode::getMostGenericAlignmentOrDereferenceable(JMD, KMD));
break;
}
@@ -1847,6 +1848,49 @@ bool llvm::callsGCLeafFunction(ImmutableCallSite CS) {
return false;
}
+void llvm::copyNonnullMetadata(const LoadInst &OldLI, MDNode *N,
+ LoadInst &NewLI) {
+ auto *NewTy = NewLI.getType();
+
+ // This only directly applies if the new type is also a pointer.
+ if (NewTy->isPointerTy()) {
+ NewLI.setMetadata(LLVMContext::MD_nonnull, N);
+ return;
+ }
+
+ // The only other translation we can do is to integral loads with !range
+ // metadata.
+ if (!NewTy->isIntegerTy())
+ return;
+
+ MDBuilder MDB(NewLI.getContext());
+ const Value *Ptr = OldLI.getPointerOperand();
+ auto *ITy = cast<IntegerType>(NewTy);
+ auto *NullInt = ConstantExpr::getPtrToInt(
+ ConstantPointerNull::get(cast<PointerType>(Ptr->getType())), ITy);
+ auto *NonNullInt = ConstantExpr::getAdd(NullInt, ConstantInt::get(ITy, 1));
+ NewLI.setMetadata(LLVMContext::MD_range,
+ MDB.createRange(NonNullInt, NullInt));
+}
+
+void llvm::copyRangeMetadata(const DataLayout &DL, const LoadInst &OldLI,
+ MDNode *N, LoadInst &NewLI) {
+ auto *NewTy = NewLI.getType();
+
+ // Give up unless it is converted to a pointer where there is a single very
+ // valuable mapping we can do reliably.
+ // FIXME: It would be nice to propagate this in more ways, but the type
+ // conversions make it hard.
+ if (!NewTy->isPointerTy())
+ return;
+
+ unsigned BitWidth = DL.getTypeSizeInBits(NewTy);
+ if (!getConstantRangeFromMetadata(*N).contains(APInt(BitWidth, 0))) {
+ MDNode *NN = MDNode::get(OldLI.getContext(), None);
+ NewLI.setMetadata(LLVMContext::MD_nonnull, NN);
+ }
+}
+
namespace {
/// A potential constituent of a bitreverse or bswap expression. See
/// collectBitParts for a fuller explanation.
@@ -1968,7 +2012,7 @@ collectBitParts(Value *V, bool MatchBSwaps, bool MatchBitReversals,
unsigned NumMaskedBits = AndMask.countPopulation();
if (!MatchBitReversals && NumMaskedBits % 8 != 0)
return Result;
-
+
auto &Res = collectBitParts(I->getOperand(0), MatchBSwaps,
MatchBitReversals, BPS);
if (!Res)
diff --git a/lib/Transforms/Utils/LoopSimplify.cpp b/lib/Transforms/Utils/LoopSimplify.cpp
index f3db278ef1e4..e21e34df8ded 100644
--- a/lib/Transforms/Utils/LoopSimplify.cpp
+++ b/lib/Transforms/Utils/LoopSimplify.cpp
@@ -72,7 +72,6 @@ using namespace llvm;
#define DEBUG_TYPE "loop-simplify"
-STATISTIC(NumInserted, "Number of pre-header or exit blocks inserted");
STATISTIC(NumNested , "Number of nested loops split out");
// If the block isn't already, move the new block to right after some 'outside
@@ -152,37 +151,6 @@ BasicBlock *llvm::InsertPreheaderForLoop(Loop *L, DominatorTree *DT,
return PreheaderBB;
}
-/// \brief Ensure that the loop preheader dominates all exit blocks.
-///
-/// This method is used to split exit blocks that have predecessors outside of
-/// the loop.
-static BasicBlock *rewriteLoopExitBlock(Loop *L, BasicBlock *Exit,
- DominatorTree *DT, LoopInfo *LI,
- bool PreserveLCSSA) {
- SmallVector<BasicBlock*, 8> LoopBlocks;
- for (pred_iterator I = pred_begin(Exit), E = pred_end(Exit); I != E; ++I) {
- BasicBlock *P = *I;
- if (L->contains(P)) {
- // Don't do this if the loop is exited via an indirect branch.
- if (isa<IndirectBrInst>(P->getTerminator())) return nullptr;
-
- LoopBlocks.push_back(P);
- }
- }
-
- assert(!LoopBlocks.empty() && "No edges coming in from outside the loop?");
- BasicBlock *NewExitBB = nullptr;
-
- NewExitBB = SplitBlockPredecessors(Exit, LoopBlocks, ".loopexit", DT, LI,
- PreserveLCSSA);
- if (!NewExitBB)
- return nullptr;
-
- DEBUG(dbgs() << "LoopSimplify: Creating dedicated exit block "
- << NewExitBB->getName() << "\n");
- return NewExitBB;
-}
-
/// Add the specified block, and all of its predecessors, to the specified set,
/// if it's not already in there. Stop predecessor traversal when we reach
/// StopBlock.
@@ -346,16 +314,7 @@ static Loop *separateNestedLoop(Loop *L, BasicBlock *Preheader,
// Split edges to exit blocks from the inner loop, if they emerged in the
// process of separating the outer one.
- SmallVector<BasicBlock *, 8> ExitBlocks;
- L->getExitBlocks(ExitBlocks);
- SmallSetVector<BasicBlock *, 8> ExitBlockSet(ExitBlocks.begin(),
- ExitBlocks.end());
- for (BasicBlock *ExitBlock : ExitBlockSet) {
- if (any_of(predecessors(ExitBlock),
- [L](BasicBlock *BB) { return !L->contains(BB); })) {
- rewriteLoopExitBlock(L, ExitBlock, DT, LI, PreserveLCSSA);
- }
- }
+ formDedicatedExitBlocks(L, DT, LI, PreserveLCSSA);
if (PreserveLCSSA) {
// Fix LCSSA form for L. Some values, which previously were only used inside
@@ -563,29 +522,16 @@ ReprocessLoop:
BasicBlock *Preheader = L->getLoopPreheader();
if (!Preheader) {
Preheader = InsertPreheaderForLoop(L, DT, LI, PreserveLCSSA);
- if (Preheader) {
- ++NumInserted;
+ if (Preheader)
Changed = true;
- }
}
// Next, check to make sure that all exit nodes of the loop only have
// predecessors that are inside of the loop. This check guarantees that the
// loop preheader/header will dominate the exit blocks. If the exit block has
// predecessors from outside of the loop, split the edge now.
- SmallVector<BasicBlock*, 8> ExitBlocks;
- L->getExitBlocks(ExitBlocks);
-
- SmallSetVector<BasicBlock *, 8> ExitBlockSet(ExitBlocks.begin(),
- ExitBlocks.end());
- for (BasicBlock *ExitBlock : ExitBlockSet) {
- if (any_of(predecessors(ExitBlock),
- [L](BasicBlock *BB) { return !L->contains(BB); })) {
- rewriteLoopExitBlock(L, ExitBlock, DT, LI, PreserveLCSSA);
- ++NumInserted;
- Changed = true;
- }
- }
+ if (formDedicatedExitBlocks(L, DT, LI, PreserveLCSSA))
+ Changed = true;
// If the header has more than two predecessors at this point (from the
// preheader and from multiple backedges), we must adjust the loop.
@@ -614,10 +560,8 @@ ReprocessLoop:
// insert a new block that all backedges target, then make it jump to the
// loop header.
LoopLatch = insertUniqueBackedgeBlock(L, Preheader, DT, LI);
- if (LoopLatch) {
- ++NumInserted;
+ if (LoopLatch)
Changed = true;
- }
}
const DataLayout &DL = L->getHeader()->getModule()->getDataLayout();
@@ -645,7 +589,22 @@ ReprocessLoop:
// loop-invariant instructions out of the way to open up more
// opportunities, and the disadvantage of having the responsibility
// to preserve dominator information.
- if (ExitBlockSet.size() == 1) {
+ auto HasUniqueExitBlock = [&]() {
+ BasicBlock *UniqueExit = nullptr;
+ for (auto *ExitingBB : ExitingBlocks)
+ for (auto *SuccBB : successors(ExitingBB)) {
+ if (L->contains(SuccBB))
+ continue;
+
+ if (!UniqueExit)
+ UniqueExit = SuccBB;
+ else if (UniqueExit != SuccBB)
+ return false;
+ }
+
+ return true;
+ };
+ if (HasUniqueExitBlock()) {
for (unsigned i = 0, e = ExitingBlocks.size(); i != e; ++i) {
BasicBlock *ExitingBlock = ExitingBlocks[i];
if (!ExitingBlock->getSinglePredecessor()) continue;
diff --git a/lib/Transforms/Utils/LoopUnrollRuntime.cpp b/lib/Transforms/Utils/LoopUnrollRuntime.cpp
index a920cd86a26a..5f85e17927fa 100644
--- a/lib/Transforms/Utils/LoopUnrollRuntime.cpp
+++ b/lib/Transforms/Utils/LoopUnrollRuntime.cpp
@@ -472,10 +472,22 @@ bool llvm::UnrollRuntimeLoopRemainder(Loop *L, unsigned Count,
// exit block only.
if (!L->isLoopSimplifyForm())
return false;
- BasicBlock *Exit = L->getUniqueExitBlock(); // successor out of loop
- if (!Exit)
- return false;
+ // Guaranteed by LoopSimplifyForm.
+ BasicBlock *Latch = L->getLoopLatch();
+
+ BasicBlock *LatchExit = L->getUniqueExitBlock(); // successor out of loop
+ if (!LatchExit)
+ return false;
+ // Cloning the loop basic blocks (`CloneLoopBlocks`) requires that one of the
+ // targets of the Latch be the single exit block out of the loop. This needs
+ // to be guaranteed by the callers of UnrollRuntimeLoopRemainder.
+ BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator());
+ assert((LatchBR->getSuccessor(0) == LatchExit ||
+ LatchBR->getSuccessor(1) == LatchExit) &&
+ "one of the loop latch successors should be "
+ "the exit block!");
+ (void)LatchBR;
// Use Scalar Evolution to compute the trip count. This allows more loops to
// be unrolled than relying on induction var simplification.
if (!SE)
@@ -510,25 +522,13 @@ bool llvm::UnrollRuntimeLoopRemainder(Loop *L, unsigned Count,
if (Log2_32(Count) > BEWidth)
return false;
- BasicBlock *Latch = L->getLoopLatch();
-
- // Cloning the loop basic blocks (`CloneLoopBlocks`) requires that one of the
- // targets of the Latch be the single exit block out of the loop. This needs
- // to be guaranteed by the callers of UnrollRuntimeLoopRemainder.
- BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator());
- assert(
- (LatchBR->getSuccessor(0) == Exit || LatchBR->getSuccessor(1) == Exit) &&
- "one of the loop latch successors should be "
- "the exit block!");
- // Avoid warning of unused `LatchBR` variable in release builds.
- (void)LatchBR;
// Loop structure is the following:
//
// PreHeader
// Header
// ...
// Latch
- // Exit
+ // LatchExit
BasicBlock *NewPreHeader;
BasicBlock *NewExit = nullptr;
@@ -541,9 +541,9 @@ bool llvm::UnrollRuntimeLoopRemainder(Loop *L, unsigned Count,
// Split PreHeader to insert a branch around loop for unrolling.
NewPreHeader = SplitBlock(PreHeader, PreHeader->getTerminator(), DT, LI);
NewPreHeader->setName(PreHeader->getName() + ".new");
- // Split Exit to create phi nodes from branch above.
- SmallVector<BasicBlock*, 4> Preds(predecessors(Exit));
- NewExit = SplitBlockPredecessors(Exit, Preds, ".unr-lcssa",
+ // Split LatchExit to create phi nodes from branch above.
+ SmallVector<BasicBlock*, 4> Preds(predecessors(LatchExit));
+ NewExit = SplitBlockPredecessors(LatchExit, Preds, ".unr-lcssa",
DT, LI, PreserveLCSSA);
// Split NewExit to insert epilog remainder loop.
EpilogPreHeader = SplitBlock(NewExit, NewExit->getTerminator(), DT, LI);
@@ -570,7 +570,7 @@ bool llvm::UnrollRuntimeLoopRemainder(Loop *L, unsigned Count,
// Latch Header
// *NewExit ...
// *EpilogPreHeader Latch
- // Exit Exit
+ // LatchExit LatchExit
// Calculate conditions for branch around loop for unrolling
// in epilog case and around prolog remainder loop in prolog case.
@@ -648,7 +648,7 @@ bool llvm::UnrollRuntimeLoopRemainder(Loop *L, unsigned Count,
// Clone all the basic blocks in the loop. If Count is 2, we don't clone
// the loop, otherwise we create a cloned loop to execute the extra
// iterations. This function adds the appropriate CFG connections.
- BasicBlock *InsertBot = UseEpilogRemainder ? Exit : PrologExit;
+ BasicBlock *InsertBot = UseEpilogRemainder ? LatchExit : PrologExit;
BasicBlock *InsertTop = UseEpilogRemainder ? EpilogPreHeader : PrologPreHeader;
CloneLoopBlocks(L, ModVal, CreateRemainderLoop, UseEpilogRemainder, InsertTop,
InsertBot, NewPreHeader, NewBlocks, LoopBlocks, VMap, DT, LI);
@@ -672,7 +672,7 @@ bool llvm::UnrollRuntimeLoopRemainder(Loop *L, unsigned Count,
// EpilogHeader Header
// ... ...
// EpilogLatch Latch
- // Exit Exit
+ // LatchExit LatchExit
// Rewrite the cloned instruction operands to use the values created when the
// clone is created.
@@ -686,7 +686,7 @@ bool llvm::UnrollRuntimeLoopRemainder(Loop *L, unsigned Count,
if (UseEpilogRemainder) {
// Connect the epilog code to the original loop and update the
// PHI functions.
- ConnectEpilog(L, ModVal, NewExit, Exit, PreHeader,
+ ConnectEpilog(L, ModVal, NewExit, LatchExit, PreHeader,
EpilogPreHeader, NewPreHeader, VMap, DT, LI,
PreserveLCSSA);
diff --git a/lib/Transforms/Utils/LoopUtils.cpp b/lib/Transforms/Utils/LoopUtils.cpp
index 412f6129407e..0ed33945ef40 100644
--- a/lib/Transforms/Utils/LoopUtils.cpp
+++ b/lib/Transforms/Utils/LoopUtils.cpp
@@ -12,6 +12,7 @@
//===----------------------------------------------------------------------===//
#include "llvm/Transforms/Utils/LoopUtils.h"
+#include "llvm/ADT/ScopeExit.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/BasicAliasAnalysis.h"
#include "llvm/Analysis/GlobalsModRef.h"
@@ -29,6 +30,7 @@
#include "llvm/IR/ValueHandle.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Transforms/Utils/BasicBlockUtils.h"
using namespace llvm;
using namespace llvm::PatternMatch;
@@ -87,8 +89,7 @@ RecurrenceDescriptor::lookThroughAnd(PHINode *Phi, Type *&RT,
// Matches either I & 2^x-1 or 2^x-1 & I. If we find a match, we update RT
// with a new integer type of the corresponding bit width.
- if (match(J, m_CombineOr(m_And(m_Instruction(I), m_APInt(M)),
- m_And(m_APInt(M), m_Instruction(I))))) {
+ if (match(J, m_c_And(m_Instruction(I), m_APInt(M)))) {
int32_t Bits = (*M + 1).exactLogBase2();
if (Bits > 0) {
RT = IntegerType::get(Phi->getContext(), Bits);
@@ -923,6 +924,69 @@ bool InductionDescriptor::isInductionPHI(PHINode *Phi, const Loop *TheLoop,
return true;
}
+bool llvm::formDedicatedExitBlocks(Loop *L, DominatorTree *DT, LoopInfo *LI,
+ bool PreserveLCSSA) {
+ bool Changed = false;
+
+ // We re-use a vector for the in-loop predecesosrs.
+ SmallVector<BasicBlock *, 4> InLoopPredecessors;
+
+ auto RewriteExit = [&](BasicBlock *BB) {
+ assert(InLoopPredecessors.empty() &&
+ "Must start with an empty predecessors list!");
+ auto Cleanup = make_scope_exit([&] { InLoopPredecessors.clear(); });
+
+ // See if there are any non-loop predecessors of this exit block and
+ // keep track of the in-loop predecessors.
+ bool IsDedicatedExit = true;
+ for (auto *PredBB : predecessors(BB))
+ if (L->contains(PredBB)) {
+ if (isa<IndirectBrInst>(PredBB->getTerminator()))
+ // We cannot rewrite exiting edges from an indirectbr.
+ return false;
+
+ InLoopPredecessors.push_back(PredBB);
+ } else {
+ IsDedicatedExit = false;
+ }
+
+ assert(!InLoopPredecessors.empty() && "Must have *some* loop predecessor!");
+
+ // Nothing to do if this is already a dedicated exit.
+ if (IsDedicatedExit)
+ return false;
+
+ auto *NewExitBB = SplitBlockPredecessors(
+ BB, InLoopPredecessors, ".loopexit", DT, LI, PreserveLCSSA);
+
+ if (!NewExitBB)
+ DEBUG(dbgs() << "WARNING: Can't create a dedicated exit block for loop: "
+ << *L << "\n");
+ else
+ DEBUG(dbgs() << "LoopSimplify: Creating dedicated exit block "
+ << NewExitBB->getName() << "\n");
+ return true;
+ };
+
+ // Walk the exit blocks directly rather than building up a data structure for
+ // them, but only visit each one once.
+ SmallPtrSet<BasicBlock *, 4> Visited;
+ for (auto *BB : L->blocks())
+ for (auto *SuccBB : successors(BB)) {
+ // We're looking for exit blocks so skip in-loop successors.
+ if (L->contains(SuccBB))
+ continue;
+
+ // Visit each exit block exactly once.
+ if (!Visited.insert(SuccBB).second)
+ continue;
+
+ Changed |= RewriteExit(SuccBB);
+ }
+
+ return Changed;
+}
+
/// \brief Returns the instructions that use values defined in the loop.
SmallVector<Instruction *, 8> llvm::findDefsUsedOutsideOfLoop(Loop *L) {
SmallVector<Instruction *, 8> UsedOutside;
diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp
index 1abdb2484850..eac2867233bc 100644
--- a/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -5702,14 +5702,14 @@ bool LoopVectorizationLegality::memoryInstructionCanBeWidened(Instruction *I,
void LoopVectorizationCostModel::collectLoopUniforms(unsigned VF) {
// We should not collect Uniforms more than once per VF. Right now,
- // this function is called from collectUniformsAndScalars(), which
+ // this function is called from collectUniformsAndScalars(), which
// already does this check. Collecting Uniforms for VF=1 does not make any
// sense.
assert(VF >= 2 && !Uniforms.count(VF) &&
"This function should not be visited twice for the same VF");
- // Visit the list of Uniforms. If we'll not find any uniform value, we'll
+ // Visit the list of Uniforms. If we'll not find any uniform value, we'll
// not analyze again. Uniforms.count(VF) will return 1.
Uniforms[VF].clear();
@@ -5988,10 +5988,10 @@ void InterleavedAccessInfo::collectConstStrideAccesses(
continue;
Value *Ptr = getPointerOperand(&I);
- // We don't check wrapping here because we don't know yet if Ptr will be
- // part of a full group or a group with gaps. Checking wrapping for all
+ // We don't check wrapping here because we don't know yet if Ptr will be
+ // part of a full group or a group with gaps. Checking wrapping for all
// pointers (even those that end up in groups with no gaps) will be overly
- // conservative. For full groups, wrapping should be ok since if we would
+ // conservative. For full groups, wrapping should be ok since if we would
// wrap around the address space we would do a memory access at nullptr
// even without the transformation. The wrapping checks are therefore
// deferred until after we've formed the interleaved groups.
@@ -6244,7 +6244,7 @@ void InterleavedAccessInfo::analyzeInterleaving(
Instruction *LastMember = Group->getMember(Group->getFactor() - 1);
if (LastMember) {
Value *LastMemberPtr = getPointerOperand(LastMember);
- if (!getPtrStride(PSE, LastMemberPtr, TheLoop, Strides, /*Assume=*/false,
+ if (!getPtrStride(PSE, LastMemberPtr, TheLoop, Strides, /*Assume=*/false,
/*ShouldCheckWrap=*/true)) {
DEBUG(dbgs() << "LV: Invalidate candidate interleaved group due to "
"last group member potentially pointer-wrapping.\n");
@@ -6252,9 +6252,9 @@ void InterleavedAccessInfo::analyzeInterleaving(
}
} else {
// Case 3: A non-reversed interleaved load group with gaps: We need
- // to execute at least one scalar epilogue iteration. This will ensure
+ // to execute at least one scalar epilogue iteration. This will ensure
// we don't speculatively access memory out-of-bounds. We only need
- // to look for a member at index factor - 1, since every group must have
+ // to look for a member at index factor - 1, since every group must have
// a member at index zero.
if (Group->isReverse()) {
releaseGroup(Group);
@@ -7789,8 +7789,18 @@ bool LoopVectorizePass::processLoop(Loop *L) {
// Check the loop for a trip count threshold:
// do not vectorize loops with a tiny trip count.
- const unsigned MaxTC = SE->getSmallConstantMaxTripCount(L);
- if (MaxTC > 0u && MaxTC < TinyTripCountVectorThreshold) {
+ unsigned ExpectedTC = SE->getSmallConstantMaxTripCount(L);
+ bool HasExpectedTC = (ExpectedTC > 0);
+
+ if (!HasExpectedTC && LoopVectorizeWithBlockFrequency) {
+ auto EstimatedTC = getLoopEstimatedTripCount(L);
+ if (EstimatedTC) {
+ ExpectedTC = *EstimatedTC;
+ HasExpectedTC = true;
+ }
+ }
+
+ if (HasExpectedTC && ExpectedTC < TinyTripCountVectorThreshold) {
DEBUG(dbgs() << "LV: Found a loop with a very small trip count. "
<< "This loop is not worth vectorizing.");
if (Hints.getForce() == LoopVectorizeHints::FK_Enabled)
@@ -7822,18 +7832,6 @@ bool LoopVectorizePass::processLoop(Loop *L) {
bool OptForSize =
Hints.getForce() != LoopVectorizeHints::FK_Enabled && F->optForSize();
- // Compute the weighted frequency of this loop being executed and see if it
- // is less than 20% of the function entry baseline frequency. Note that we
- // always have a canonical loop here because we think we *can* vectorize.
- // FIXME: This is hidden behind a flag due to pervasive problems with
- // exactly what block frequency models.
- if (LoopVectorizeWithBlockFrequency) {
- BlockFrequency LoopEntryFreq = BFI->getBlockFreq(L->getLoopPreheader());
- if (Hints.getForce() != LoopVectorizeHints::FK_Enabled &&
- LoopEntryFreq < ColdEntryFreq)
- OptForSize = true;
- }
-
// Check the function attributes to see if implicit floats are allowed.
// FIXME: This check doesn't seem possibly correct -- what if the loop is
// an integer loop and the vector instructions selected are purely integer
@@ -8015,11 +8013,6 @@ bool LoopVectorizePass::runImpl(
DB = &DB_;
ORE = &ORE_;
- // Compute some weights outside of the loop over the loops. Compute this
- // using a BranchProbability to re-use its scaling math.
- const BranchProbability ColdProb(1, 5); // 20%
- ColdEntryFreq = BlockFrequency(BFI->getEntryFreq()) * ColdProb;
-
// Don't attempt if
// 1. the target claims to have no vector registers, and
// 2. interleaving won't help ILP.
diff --git a/lib/Transforms/Vectorize/SLPVectorizer.cpp b/lib/Transforms/Vectorize/SLPVectorizer.cpp
index d1349535f298..b267230d3185 100644
--- a/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -3327,12 +3327,10 @@ void BoUpSLP::BlockScheduling::calculateDependencies(ScheduleData *SD,
if (UseSD && isInSchedulingRegion(UseSD->FirstInBundle)) {
BundleMember->Dependencies++;
ScheduleData *DestBundle = UseSD->FirstInBundle;
- if (!DestBundle->IsScheduled) {
+ if (!DestBundle->IsScheduled)
BundleMember->incrementUnscheduledDeps(1);
- }
- if (!DestBundle->hasValidDependencies()) {
+ if (!DestBundle->hasValidDependencies())
WorkList.push_back(DestBundle);
- }
}
} else {
// I'm not sure if this can ever happen. But we need to be safe.
diff --git a/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll b/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll
index 8388d6c97adf..200e24f428ef 100644
--- a/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll
+++ b/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll
@@ -3,9 +3,9 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
; CHECK: Function: foo
-; CHECK: PartialAlias: i32* %Ipointer, i32* %Jpointer
+; CHECK: MayAlias: i32* %Ipointer, i32* %Jpointer
; CHECK: 9 no alias responses
-; CHECK: 6 partial alias responses
+; CHECK: 6 may alias responses
define void @foo(i32* noalias %p, i32* noalias %q, i32 %i, i32 %j) {
%Ipointer = getelementptr i32, i32* %p, i32 %i
diff --git a/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll b/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll
index b2e7a60047bd..79421824e6ea 100644
--- a/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll
+++ b/test/Analysis/BasicAA/2010-09-15-GEP-SignedArithmetic.ll
@@ -3,7 +3,7 @@
target datalayout = "e-p:32:32:32"
-; CHECK: 1 partial alias response
+; CHECK: 1 may alias responses
define i32 @test(i32* %tab, i32 %indvar) nounwind {
%tmp31 = mul i32 %indvar, -2
diff --git a/test/Analysis/BasicAA/bug.23540.ll b/test/Analysis/BasicAA/bug.23540.ll
index f693bcf73cd6..6a00abdce3a1 100644
--- a/test/Analysis/BasicAA/bug.23540.ll
+++ b/test/Analysis/BasicAA/bug.23540.ll
@@ -5,7 +5,7 @@ target triple = "x86_64-unknown-linux-gnu"
@c = external global i32
; CHECK-LABEL: f
-; CHECK: PartialAlias: i32* %arrayidx, i32* %arrayidx6
+; CHECK: MayAlias: i32* %arrayidx, i32* %arrayidx6
define void @f() {
%idxprom = zext i32 undef to i64
%add4 = add i32 0, 1
diff --git a/test/Analysis/BasicAA/bug.23626.ll b/test/Analysis/BasicAA/bug.23626.ll
index 6a1478c65cef..7d5b5ad06698 100644
--- a/test/Analysis/BasicAA/bug.23626.ll
+++ b/test/Analysis/BasicAA/bug.23626.ll
@@ -3,12 +3,12 @@ target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-darwin13.4.0"
; CHECK-LABEL: compute1
-; CHECK: PartialAlias: i32* %arrayidx8, i32* %out
-; CHECK: PartialAlias: i32* %arrayidx11, i32* %out
-; CHECK: PartialAlias: i32* %arrayidx11, i32* %arrayidx8
-; CHECK: PartialAlias: i32* %arrayidx14, i32* %out
-; CHECK: PartialAlias: i32* %arrayidx14, i32* %arrayidx8
-; CHECK: PartialAlias: i32* %arrayidx11, i32* %arrayidx14
+; CHECK: MayAlias: i32* %arrayidx8, i32* %out
+; CHECK: MayAlias: i32* %arrayidx11, i32* %out
+; CHECK: MayAlias: i32* %arrayidx11, i32* %arrayidx8
+; CHECK: MayAlias: i32* %arrayidx14, i32* %out
+; CHECK: MayAlias: i32* %arrayidx14, i32* %arrayidx8
+; CHECK: MayAlias: i32* %arrayidx11, i32* %arrayidx14
define void @compute1(i32 %num.0.lcssa, i32* %out) {
%idxprom = zext i32 %num.0.lcssa to i64
%arrayidx8 = getelementptr inbounds i32, i32* %out, i64 %idxprom
@@ -22,7 +22,7 @@ define void @compute1(i32 %num.0.lcssa, i32* %out) {
}
; CHECK-LABEL: compute2
-; CHECK: PartialAlias: i32* %arrayidx11, i32* %out.addr
+; CHECK: MayAlias: i32* %arrayidx11, i32* %out.addr
define void @compute2(i32 %num, i32* %out.addr) {
%add9 = add i32 %num, 1
%idxprom10 = zext i32 %add9 to i64
diff --git a/test/Analysis/BasicAA/constant-over-index.ll b/test/Analysis/BasicAA/constant-over-index.ll
index f5e2c7c13617..f77156305c26 100644
--- a/test/Analysis/BasicAA/constant-over-index.ll
+++ b/test/Analysis/BasicAA/constant-over-index.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-; CHECK: PartialAlias: double* %p.0.i.0, double* %p3
+; CHECK: MayAlias: double* %p.0.i.0, double* %p3
; %p3 is equal to %p.0.i.0 on the second iteration of the loop,
; so MayAlias is needed. In practice, basicaa returns PartialAlias
diff --git a/test/Analysis/BasicAA/fallback-mayalias.ll b/test/Analysis/BasicAA/fallback-mayalias.ll
new file mode 100644
index 000000000000..a1e4b12d20ad
--- /dev/null
+++ b/test/Analysis/BasicAA/fallback-mayalias.ll
@@ -0,0 +1,23 @@
+; RUN: opt -basicaa -aa-eval -print-all-alias-modref-info -disable-output < %s 2>&1 | FileCheck %s
+
+; Check that BasicAA falls back to MayAlias (instead of PartialAlias) when none
+; of its little tricks are applicable.
+
+; CHECK: MayAlias: float* %arrayidxA, float* %arrayidxB
+
+define void @fallback_mayalias(float* noalias nocapture %C, i64 %i, i64 %j) local_unnamed_addr {
+entry:
+ %shl = shl i64 %i, 3
+ %mul = shl nsw i64 %j, 4
+ %addA = add nsw i64 %mul, %shl
+ %orB = or i64 %shl, 1
+ %addB = add nsw i64 %mul, %orB
+
+ %arrayidxA = getelementptr inbounds float, float* %C, i64 %addA
+ store float undef, float* %arrayidxA, align 4
+
+ %arrayidxB = getelementptr inbounds float, float* %C, i64 %addB
+ store float undef, float* %arrayidxB, align 4
+
+ ret void
+}
diff --git a/test/Analysis/BasicAA/q.bad.ll b/test/Analysis/BasicAA/q.bad.ll
index f2de6a76c5e0..2c7bc1d8591e 100644
--- a/test/Analysis/BasicAA/q.bad.ll
+++ b/test/Analysis/BasicAA/q.bad.ll
@@ -15,7 +15,7 @@ define void @test_zext_sext_amounts255(i8* %mem) {
}
; CHECK-LABEL: test_zext_sext_amounts
-; CHECK: PartialAlias: i8* %a, i8* %b
+; CHECK: MayAlias: i8* %a, i8* %b
; %a and %b only PartialAlias as, although they're both zext(sext(%num)) they'll extend the sign by a different
; number of bits before zext-ing the remainder.
define void @test_zext_sext_amounts(i8* %mem, i8 %num) {
@@ -44,9 +44,9 @@ define void @based_on_pr18068(i32 %loaded, i8* %mem) {
}
; CHECK-LABEL: test_path_dependence
-; CHECK: PartialAlias: i8* %a, i8* %b
+; CHECK: MayAlias: i8* %a, i8* %b
; CHECK: MustAlias: i8* %a, i8* %c
-; CHECK: PartialAlias: i8* %a, i8* %d
+; CHECK: MayAlias: i8* %a, i8* %d
define void @test_path_dependence(i32 %p, i8* %mem) {
%p.minus1 = add i32 %p, -1 ; this will always unsigned-wrap, unless %p == 0
%p.minus1.64 = zext i32 %p.minus1 to i64
@@ -83,7 +83,7 @@ define void @test_zext_sext_255(i8* %mem) {
}
; CHECK-LABEL: test_zext_sext_num
-; CHECK: PartialAlias: i8* %a, i8* %b
+; CHECK: MayAlias: i8* %a, i8* %b
; %a and %b NoAlias if %num == 255 (see @test_zext_sext_255), but %a and %b NoAlias for other values of %num (e.g. 0)
define void @test_zext_sext_num(i8* %mem, i8 %num) {
%zext.num = zext i8 %num to i16
@@ -142,9 +142,9 @@ define void @constantOffsetHeuristic_i8_i32(i32* %mem, i8 %val) {
}
; CHECK-LABEL: constantOffsetHeuristic_i3_i8
-; CHECK: PartialAlias: i32* %a, i32* %b
+; CHECK: MayAlias: i32* %a, i32* %b
; CHECK: NoAlias: i32* %a, i32* %c
-; CHECK: PartialAlias: i32* %b, i32* %c
+; CHECK: MayAlias: i32* %b, i32* %c
define void @constantOffsetHeuristic_i3_i8(i8* %mem, i3 %val) {
%zext.plus.7 = add nsw i3 %val, 7
%zext.plus.4 = add nsw i3 %val, 4
@@ -161,7 +161,7 @@ define void @constantOffsetHeuristic_i3_i8(i8* %mem, i3 %val) {
}
; CHECK-LABEL: constantOffsetHeuristic_i8_i8
-; CHECK: PartialAlias: i32* %a, i32* %b
+; CHECK: MayAlias: i32* %a, i32* %b
; CHECK: NoAlias: i32* %a, i32* %c
; CHECK: NoAlias: i32* %b, i32* %c
define void @constantOffsetHeuristic_i8_i8(i8* %mem, i8 %val) {
diff --git a/test/Analysis/BasicAA/returned.ll b/test/Analysis/BasicAA/returned.ll
index c6ef6806140d..f0d0f1ec1fe9 100644
--- a/test/Analysis/BasicAA/returned.ll
+++ b/test/Analysis/BasicAA/returned.ll
@@ -8,20 +8,20 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
; CHECK-DAG: MustAlias: %struct* %st, %struct* %sta
-; CHECK-DAG: PartialAlias: %struct* %st, i32* %x
-; CHECK-DAG: PartialAlias: %struct* %st, i32* %y
-; CHECK-DAG: PartialAlias: %struct* %st, i32* %z
+; CHECK-DAG: MayAlias: %struct* %st, i32* %x
+; CHECK-DAG: MayAlias: %struct* %st, i32* %y
+; CHECK-DAG: MayAlias: %struct* %st, i32* %z
; CHECK-DAG: NoAlias: i32* %x, i32* %y
; CHECK-DAG: NoAlias: i32* %x, i32* %z
; CHECK-DAG: NoAlias: i32* %y, i32* %z
-; CHECK-DAG: PartialAlias: %struct* %st, %struct* %y_12
-; CHECK-DAG: PartialAlias: %struct* %y_12, i32* %x
-; CHECK-DAG: PartialAlias: i32* %x, i80* %y_10
+; CHECK-DAG: MayAlias: %struct* %st, %struct* %y_12
+; CHECK-DAG: MayAlias: %struct* %y_12, i32* %x
+; CHECK-DAG: MayAlias: i32* %x, i80* %y_10
-; CHECK-DAG: PartialAlias: %struct* %st, i64* %y_8
-; CHECK-DAG: PartialAlias: i32* %z, i64* %y_8
+; CHECK-DAG: MayAlias: %struct* %st, i64* %y_8
+; CHECK-DAG: MayAlias: i32* %z, i64* %y_8
; CHECK-DAG: NoAlias: i32* %x, i64* %y_8
; CHECK-DAG: MustAlias: %struct* %y_12, i32* %y
diff --git a/test/Analysis/BasicAA/sequential-gep.ll b/test/Analysis/BasicAA/sequential-gep.ll
index c17a782aa04b..5bedab61e17d 100644
--- a/test/Analysis/BasicAA/sequential-gep.ll
+++ b/test/Analysis/BasicAA/sequential-gep.ll
@@ -11,7 +11,7 @@ define void @t1([8 x i32]* %p, i32 %addend, i32* %q) {
}
; CHECK: Function: t2
-; CHECK: PartialAlias: i32* %gep1, i32* %gep2
+; CHECK: MayAlias: i32* %gep1, i32* %gep2
define void @t2([8 x i32]* %p, i32 %addend, i32* %q) {
%knownnonzero = load i32, i32* %q, !range !0
%add = add nsw nuw i32 %addend, %knownnonzero
@@ -31,7 +31,7 @@ define void @t3([8 x i32]* %p, i32 %addend, i32* %q) {
}
; CHECK: Function: t4
-; CHECK: PartialAlias: i32* %gep1, i32* %gep2
+; CHECK: MayAlias: i32* %gep1, i32* %gep2
define void @t4([8 x i32]* %p, i32 %addend, i32* %q) {
%knownnonzero = load i32, i32* %q, !range !0
%add = add nsw nuw i32 %addend, %knownnonzero
@@ -41,7 +41,7 @@ define void @t4([8 x i32]* %p, i32 %addend, i32* %q) {
}
; CHECK: Function: t5
-; CHECK: PartialAlias: i32* %gep2, i64* %bc
+; CHECK: MayAlias: i32* %gep2, i64* %bc
define void @t5([8 x i32]* %p, i32 %addend, i32* %q) {
%knownnonzero = load i32, i32* %q, !range !0
%add = add nsw nuw i32 %addend, %knownnonzero
diff --git a/test/Analysis/BasicAA/struct-geps.ll b/test/Analysis/BasicAA/struct-geps.ll
index 2d85e1dd0173..e048baf4c64a 100644
--- a/test/Analysis/BasicAA/struct-geps.ll
+++ b/test/Analysis/BasicAA/struct-geps.ll
@@ -6,20 +6,20 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
; CHECK-LABEL: test_simple
-; CHECK-DAG: PartialAlias: %struct* %st, i32* %x
-; CHECK-DAG: PartialAlias: %struct* %st, i32* %y
-; CHECK-DAG: PartialAlias: %struct* %st, i32* %z
+; CHECK-DAG: MayAlias: %struct* %st, i32* %x
+; CHECK-DAG: MayAlias: %struct* %st, i32* %y
+; CHECK-DAG: MayAlias: %struct* %st, i32* %z
; CHECK-DAG: NoAlias: i32* %x, i32* %y
; CHECK-DAG: NoAlias: i32* %x, i32* %z
; CHECK-DAG: NoAlias: i32* %y, i32* %z
-; CHECK-DAG: PartialAlias: %struct* %st, %struct* %y_12
-; CHECK-DAG: PartialAlias: %struct* %y_12, i32* %x
-; CHECK-DAG: PartialAlias: i32* %x, i80* %y_10
+; CHECK-DAG: MayAlias: %struct* %st, %struct* %y_12
+; CHECK-DAG: MayAlias: %struct* %y_12, i32* %x
+; CHECK-DAG: MayAlias: i32* %x, i80* %y_10
-; CHECK-DAG: PartialAlias: %struct* %st, i64* %y_8
-; CHECK-DAG: PartialAlias: i32* %z, i64* %y_8
+; CHECK-DAG: MayAlias: %struct* %st, i64* %y_8
+; CHECK-DAG: MayAlias: i32* %z, i64* %y_8
; CHECK-DAG: NoAlias: i32* %x, i64* %y_8
; CHECK-DAG: MustAlias: %struct* %y_12, i32* %y
@@ -38,20 +38,20 @@ define void @test_simple(%struct* %st, i64 %i, i64 %j, i64 %k) {
; CHECK-LABEL: test_in_array
-; CHECK-DAG: PartialAlias: [1 x %struct]* %st, i32* %x
-; CHECK-DAG: PartialAlias: [1 x %struct]* %st, i32* %y
-; CHECK-DAG: PartialAlias: [1 x %struct]* %st, i32* %z
+; CHECK-DAG: MayAlias: [1 x %struct]* %st, i32* %x
+; CHECK-DAG: MayAlias: [1 x %struct]* %st, i32* %y
+; CHECK-DAG: MayAlias: [1 x %struct]* %st, i32* %z
; CHECK-DAG: NoAlias: i32* %x, i32* %y
; CHECK-DAG: NoAlias: i32* %x, i32* %z
; CHECK-DAG: NoAlias: i32* %y, i32* %z
-; CHECK-DAG: PartialAlias: %struct* %y_12, [1 x %struct]* %st
-; CHECK-DAG: PartialAlias: %struct* %y_12, i32* %x
-; CHECK-DAG: PartialAlias: i32* %x, i80* %y_10
+; CHECK-DAG: MayAlias: %struct* %y_12, [1 x %struct]* %st
+; CHECK-DAG: MayAlias: %struct* %y_12, i32* %x
+; CHECK-DAG: MayAlias: i32* %x, i80* %y_10
-; CHECK-DAG: PartialAlias: [1 x %struct]* %st, i64* %y_8
-; CHECK-DAG: PartialAlias: i32* %z, i64* %y_8
+; CHECK-DAG: MayAlias: [1 x %struct]* %st, i64* %y_8
+; CHECK-DAG: MayAlias: i32* %z, i64* %y_8
; CHECK-DAG: NoAlias: i32* %x, i64* %y_8
; CHECK-DAG: MustAlias: %struct* %y_12, i32* %y
@@ -70,20 +70,20 @@ define void @test_in_array([1 x %struct]* %st, i64 %i, i64 %j, i64 %k, i64 %i1,
; CHECK-LABEL: test_in_3d_array
-; CHECK-DAG: PartialAlias: [1 x [1 x [1 x %struct]]]* %st, i32* %x
-; CHECK-DAG: PartialAlias: [1 x [1 x [1 x %struct]]]* %st, i32* %y
-; CHECK-DAG: PartialAlias: [1 x [1 x [1 x %struct]]]* %st, i32* %z
+; CHECK-DAG: MayAlias: [1 x [1 x [1 x %struct]]]* %st, i32* %x
+; CHECK-DAG: MayAlias: [1 x [1 x [1 x %struct]]]* %st, i32* %y
+; CHECK-DAG: MayAlias: [1 x [1 x [1 x %struct]]]* %st, i32* %z
; CHECK-DAG: NoAlias: i32* %x, i32* %y
; CHECK-DAG: NoAlias: i32* %x, i32* %z
; CHECK-DAG: NoAlias: i32* %y, i32* %z
-; CHECK-DAG: PartialAlias: %struct* %y_12, [1 x [1 x [1 x %struct]]]* %st
-; CHECK-DAG: PartialAlias: %struct* %y_12, i32* %x
-; CHECK-DAG: PartialAlias: i32* %x, i80* %y_10
+; CHECK-DAG: MayAlias: %struct* %y_12, [1 x [1 x [1 x %struct]]]* %st
+; CHECK-DAG: MayAlias: %struct* %y_12, i32* %x
+; CHECK-DAG: MayAlias: i32* %x, i80* %y_10
-; CHECK-DAG: PartialAlias: [1 x [1 x [1 x %struct]]]* %st, i64* %y_8
-; CHECK-DAG: PartialAlias: i32* %z, i64* %y_8
+; CHECK-DAG: MayAlias: [1 x [1 x [1 x %struct]]]* %st, i64* %y_8
+; CHECK-DAG: MayAlias: i32* %z, i64* %y_8
; CHECK-DAG: NoAlias: i32* %x, i64* %y_8
; CHECK-DAG: MustAlias: %struct* %y_12, i32* %y
@@ -106,14 +106,14 @@ define void @test_in_3d_array([1 x [1 x [1 x %struct]]]* %st, i64 %i, i64 %j, i6
; CHECK-DAG: NoAlias: i32* %y, i32* %y2
; CHECK-DAG: NoAlias: i32* %z, i32* %z2
-; CHECK-DAG: PartialAlias: i32* %x, i32* %y2
-; CHECK-DAG: PartialAlias: i32* %x, i32* %z2
+; CHECK-DAG: MayAlias: i32* %x, i32* %y2
+; CHECK-DAG: MayAlias: i32* %x, i32* %z2
-; CHECK-DAG: PartialAlias: i32* %x2, i32* %y
-; CHECK-DAG: PartialAlias: i32* %y, i32* %z2
+; CHECK-DAG: MayAlias: i32* %x2, i32* %y
+; CHECK-DAG: MayAlias: i32* %y, i32* %z2
-; CHECK-DAG: PartialAlias: i32* %x2, i32* %z
-; CHECK-DAG: PartialAlias: i32* %y2, i32* %z
+; CHECK-DAG: MayAlias: i32* %x2, i32* %z
+; CHECK-DAG: MayAlias: i32* %y2, i32* %z
define void @test_same_underlying_object_same_indices(%struct* %st, i64 %i, i64 %j, i64 %k) {
%st2 = getelementptr %struct, %struct* %st, i32 10
@@ -128,18 +128,18 @@ define void @test_same_underlying_object_same_indices(%struct* %st, i64 %i, i64
; CHECK-LABEL: test_same_underlying_object_different_indices
-; CHECK-DAG: PartialAlias: i32* %x, i32* %x2
-; CHECK-DAG: PartialAlias: i32* %y, i32* %y2
-; CHECK-DAG: PartialAlias: i32* %z, i32* %z2
+; CHECK-DAG: MayAlias: i32* %x, i32* %x2
+; CHECK-DAG: MayAlias: i32* %y, i32* %y2
+; CHECK-DAG: MayAlias: i32* %z, i32* %z2
-; CHECK-DAG: PartialAlias: i32* %x, i32* %y2
-; CHECK-DAG: PartialAlias: i32* %x, i32* %z2
+; CHECK-DAG: MayAlias: i32* %x, i32* %y2
+; CHECK-DAG: MayAlias: i32* %x, i32* %z2
-; CHECK-DAG: PartialAlias: i32* %x2, i32* %y
-; CHECK-DAG: PartialAlias: i32* %y, i32* %z2
+; CHECK-DAG: MayAlias: i32* %x2, i32* %y
+; CHECK-DAG: MayAlias: i32* %y, i32* %z2
-; CHECK-DAG: PartialAlias: i32* %x2, i32* %z
-; CHECK-DAG: PartialAlias: i32* %y2, i32* %z
+; CHECK-DAG: MayAlias: i32* %x2, i32* %z
+; CHECK-DAG: MayAlias: i32* %y2, i32* %z
define void @test_same_underlying_object_different_indices(%struct* %st, i64 %i1, i64 %j1, i64 %k1, i64 %i2, i64 %k2, i64 %j2) {
%st2 = getelementptr %struct, %struct* %st, i32 10
diff --git a/test/Analysis/BasicAA/zext.ll b/test/Analysis/BasicAA/zext.ll
index 685d45be6151..f8f02353db2e 100644
--- a/test/Analysis/BasicAA/zext.ll
+++ b/test/Analysis/BasicAA/zext.ll
@@ -69,7 +69,7 @@ for.loop.exit:
}
; CHECK-LABEL: test_sign_extension
-; CHECK: PartialAlias: i64* %b.i64, i8* %a
+; CHECK: MayAlias: i64* %b.i64, i8* %a
define void @test_sign_extension(i32 %p) {
%1 = tail call i8* @malloc(i64 120)
@@ -83,7 +83,7 @@ define void @test_sign_extension(i32 %p) {
}
; CHECK-LABEL: test_fe_tools
-; CHECK: PartialAlias: i32* %a, i32* %b
+; CHECK: MayAlias: i32* %a, i32* %b
define void @test_fe_tools([8 x i32]* %values) {
br label %reorder
@@ -108,7 +108,7 @@ for.loop.exit:
@d = global i32 0, align 4
; CHECK-LABEL: test_spec2006
-; CHECK: PartialAlias: i32** %x, i32** %y
+; CHECK: MayAlias: i32** %x, i32** %y
define void @test_spec2006() {
%h = alloca [1 x [2 x i32*]], align 16
@@ -164,7 +164,7 @@ for.loop.exit:
}
; CHECK-LABEL: test_modulo_analysis_with_global
-; CHECK: PartialAlias: i32** %x, i32** %y
+; CHECK: MayAlias: i32** %x, i32** %y
define void @test_modulo_analysis_with_global() {
%h = alloca [1 x [2 x i32*]], align 16
diff --git a/test/Analysis/CostModel/X86/arith.ll b/test/Analysis/CostModel/X86/arith.ll
index b7a615f55cde..d9e06a3e7b41 100644
--- a/test/Analysis/CostModel/X86/arith.ll
+++ b/test/Analysis/CostModel/X86/arith.ll
@@ -1,516 +1,564 @@
-; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+ssse3 | FileCheck %s --check-prefix=CHECK --check-prefix=SSSE3
-; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+sse4.2 | FileCheck %s --check-prefix=CHECK --check-prefix=SSE42
-; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx | FileCheck %s --check-prefix=CHECK --check-prefix=AVX
-; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx2 | FileCheck %s --check-prefix=CHECK --check-prefix=AVX2
-; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx512f | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512F
-; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512BW
-; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx512f,+avx512dq | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512DQ
+; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+ssse3 | FileCheck %s --check-prefix=CHECK --check-prefix=SSSE3
+; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+sse4.2 | FileCheck %s --check-prefix=CHECK --check-prefix=SSE42
+; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx | FileCheck %s --check-prefix=CHECK --check-prefix=AVX
+; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx2 | FileCheck %s --check-prefix=CHECK --check-prefix=AVX2
+; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx512f | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512F
+; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512BW
+; RUN: opt < %s -cost-model -analyze -mtriple=x86_64-apple-macosx10.8.0 -mattr=+avx512f,+avx512dq | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512DQ
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.8.0"
; CHECK-LABEL: 'add'
define i32 @add(i32 %arg) {
- ; SSSE3: cost of 1 {{.*}} %A = add
- ; SSE42: cost of 1 {{.*}} %A = add
- ; AVX: cost of 1 {{.*}} %A = add
- ; AVX2: cost of 1 {{.*}} %A = add
- ; AVX512: cost of 1 {{.*}} %A = add
- %A = add <2 x i64> undef, undef
- ; SSSE3: cost of 2 {{.*}} %B = add
- ; SSE42: cost of 2 {{.*}} %B = add
- ; AVX: cost of 4 {{.*}} %B = add
- ; AVX2: cost of 1 {{.*}} %B = add
- ; AVX512: cost of 1 {{.*}} %B = add
- %B = add <4 x i64> undef, undef
- ; SSSE3: cost of 4 {{.*}} %C = add
- ; SSE42: cost of 4 {{.*}} %C = add
- ; AVX: cost of 8 {{.*}} %C = add
- ; AVX2: cost of 2 {{.*}} %C = add
- ; AVX512: cost of 1 {{.*}} %C = add
- %C = add <8 x i64> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %D = add
- ; SSE42: cost of 1 {{.*}} %D = add
- ; AVX: cost of 1 {{.*}} %D = add
- ; AVX2: cost of 1 {{.*}} %D = add
- ; AVX512: cost of 1 {{.*}} %D = add
- %D = add <4 x i32> undef, undef
- ; SSSE3: cost of 2 {{.*}} %E = add
- ; SSE42: cost of 2 {{.*}} %E = add
- ; AVX: cost of 4 {{.*}} %E = add
- ; AVX2: cost of 1 {{.*}} %E = add
- ; AVX512: cost of 1 {{.*}} %E = add
- %E = add <8 x i32> undef, undef
- ; SSSE3: cost of 4 {{.*}} %F = add
- ; SSE42: cost of 4 {{.*}} %F = add
- ; AVX: cost of 8 {{.*}} %F = add
- ; AVX2: cost of 2 {{.*}} %F = add
- ; AVX512: cost of 1 {{.*}} %F = add
- %F = add <16 x i32> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %G = add
- ; SSE42: cost of 1 {{.*}} %G = add
- ; AVX: cost of 1 {{.*}} %G = add
- ; AVX2: cost of 1 {{.*}} %G = add
- ; AVX512: cost of 1 {{.*}} %G = add
- %G = add <8 x i16> undef, undef
- ; SSSE3: cost of 2 {{.*}} %H = add
- ; SSE42: cost of 2 {{.*}} %H = add
- ; AVX: cost of 4 {{.*}} %H = add
- ; AVX2: cost of 1 {{.*}} %H = add
- ; AVX512: cost of 1 {{.*}} %H = add
- %H = add <16 x i16> undef, undef
- ; SSSE3: cost of 4 {{.*}} %I = add
- ; SSE42: cost of 4 {{.*}} %I = add
- ; AVX: cost of 8 {{.*}} %I = add
- ; AVX2: cost of 2 {{.*}} %I = add
- ; AVX512F: cost of 2 {{.*}} %I = add
- ; AVX512BW: cost of 1 {{.*}} %I = add
- %I = add <32 x i16> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %J = add
- ; SSE42: cost of 1 {{.*}} %J = add
- ; AVX: cost of 1 {{.*}} %J = add
- ; AVX2: cost of 1 {{.*}} %J = add
- ; AVX512: cost of 1 {{.*}} %J = add
- %J = add <16 x i8> undef, undef
- ; SSSE3: cost of 2 {{.*}} %K = add
- ; SSE42: cost of 2 {{.*}} %K = add
- ; AVX: cost of 4 {{.*}} %K = add
- ; AVX2: cost of 1 {{.*}} %K = add
- ; AVX512: cost of 1 {{.*}} %K = add
- %K = add <32 x i8> undef, undef
- ; SSSE3: cost of 4 {{.*}} %L = add
- ; SSE42: cost of 4 {{.*}} %L = add
- ; AVX: cost of 8 {{.*}} %L = add
- ; AVX2: cost of 2 {{.*}} %L = add
- ; AVX512F: cost of 2 {{.*}} %L = add
- ; AVX512BW: cost of 1 {{.*}} %L = add
- %L = add <64 x i8> undef, undef
+ ; CHECK: cost of 1 {{.*}} %I64 = add
+ %I64 = add i64 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V2I64 = add
+ ; SSE42: cost of 1 {{.*}} %V2I64 = add
+ ; AVX: cost of 1 {{.*}} %V2I64 = add
+ ; AVX2: cost of 1 {{.*}} %V2I64 = add
+ ; AVX512: cost of 1 {{.*}} %V2I64 = add
+ %V2I64 = add <2 x i64> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V4I64 = add
+ ; SSE42: cost of 2 {{.*}} %V4I64 = add
+ ; AVX: cost of 4 {{.*}} %V4I64 = add
+ ; AVX2: cost of 1 {{.*}} %V4I64 = add
+ ; AVX512: cost of 1 {{.*}} %V4I64 = add
+ %V4I64 = add <4 x i64> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V8I64 = add
+ ; SSE42: cost of 4 {{.*}} %V8I64 = add
+ ; AVX: cost of 8 {{.*}} %V8I64 = add
+ ; AVX2: cost of 2 {{.*}} %V8I64 = add
+ ; AVX512: cost of 1 {{.*}} %V8I64 = add
+ %V8I64 = add <8 x i64> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I32 = add
+ %I32 = add i32 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V4I32 = add
+ ; SSE42: cost of 1 {{.*}} %V4I32 = add
+ ; AVX: cost of 1 {{.*}} %V4I32 = add
+ ; AVX2: cost of 1 {{.*}} %V4I32 = add
+ ; AVX512: cost of 1 {{.*}} %V4I32 = add
+ %V4I32 = add <4 x i32> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V8I32 = add
+ ; SSE42: cost of 2 {{.*}} %V8I32 = add
+ ; AVX: cost of 4 {{.*}} %V8I32 = add
+ ; AVX2: cost of 1 {{.*}} %V8I32 = add
+ ; AVX512: cost of 1 {{.*}} %V8I32 = add
+ %V8I32 = add <8 x i32> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V16I32 = add
+ ; SSE42: cost of 4 {{.*}} %V16I32 = add
+ ; AVX: cost of 8 {{.*}} %V16I32 = add
+ ; AVX2: cost of 2 {{.*}} %V16I32 = add
+ ; AVX512: cost of 1 {{.*}} %V16I32 = add
+ %V16I32 = add <16 x i32> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I16 = add
+ %I16 = add i16 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V8I16 = add
+ ; SSE42: cost of 1 {{.*}} %V8I16 = add
+ ; AVX: cost of 1 {{.*}} %V8I16 = add
+ ; AVX2: cost of 1 {{.*}} %V8I16 = add
+ ; AVX512: cost of 1 {{.*}} %V8I16 = add
+ %V8I16 = add <8 x i16> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V16I16 = add
+ ; SSE42: cost of 2 {{.*}} %V16I16 = add
+ ; AVX: cost of 4 {{.*}} %V16I16 = add
+ ; AVX2: cost of 1 {{.*}} %V16I16 = add
+ ; AVX512: cost of 1 {{.*}} %V16I16 = add
+ %V16I16 = add <16 x i16> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V32I16 = add
+ ; SSE42: cost of 4 {{.*}} %V32I16 = add
+ ; AVX: cost of 8 {{.*}} %V32I16 = add
+ ; AVX2: cost of 2 {{.*}} %V32I16 = add
+ ; AVX512F: cost of 2 {{.*}} %V32I16 = add
+ ; AVX512BW: cost of 1 {{.*}} %V32I16 = add
+ %V32I16 = add <32 x i16> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I8 = add
+ %I8 = add i8 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V16I8 = add
+ ; SSE42: cost of 1 {{.*}} %V16I8 = add
+ ; AVX: cost of 1 {{.*}} %V16I8 = add
+ ; AVX2: cost of 1 {{.*}} %V16I8 = add
+ ; AVX512: cost of 1 {{.*}} %V16I8 = add
+ %V16I8 = add <16 x i8> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V32I8 = add
+ ; SSE42: cost of 2 {{.*}} %V32I8 = add
+ ; AVX: cost of 4 {{.*}} %V32I8 = add
+ ; AVX2: cost of 1 {{.*}} %V32I8 = add
+ ; AVX512: cost of 1 {{.*}} %V32I8 = add
+ %V32I8 = add <32 x i8> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V64I8 = add
+ ; SSE42: cost of 4 {{.*}} %V64I8 = add
+ ; AVX: cost of 8 {{.*}} %V64I8 = add
+ ; AVX2: cost of 2 {{.*}} %V64I8 = add
+ ; AVX512F: cost of 2 {{.*}} %V64I8 = add
+ ; AVX512BW: cost of 1 {{.*}} %V64I8 = add
+ %V64I8 = add <64 x i8> undef, undef
ret i32 undef
}
; CHECK-LABEL: 'sub'
define i32 @sub(i32 %arg) {
- ; SSSE3: cost of 1 {{.*}} %A = sub
- ; SSE42: cost of 1 {{.*}} %A = sub
- ; AVX: cost of 1 {{.*}} %A = sub
- ; AVX2: cost of 1 {{.*}} %A = sub
- ; AVX512: cost of 1 {{.*}} %A = sub
- %A = sub <2 x i64> undef, undef
- ; SSSE3: cost of 2 {{.*}} %B = sub
- ; SSE42: cost of 2 {{.*}} %B = sub
- ; AVX: cost of 4 {{.*}} %B = sub
- ; AVX2: cost of 1 {{.*}} %B = sub
- ; AVX512: cost of 1 {{.*}} %B = sub
- %B = sub <4 x i64> undef, undef
- ; SSSE3: cost of 4 {{.*}} %C = sub
- ; SSE42: cost of 4 {{.*}} %C = sub
- ; AVX: cost of 8 {{.*}} %C = sub
- ; AVX2: cost of 2 {{.*}} %C = sub
- ; AVX512: cost of 1 {{.*}} %C = sub
- %C = sub <8 x i64> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %D = sub
- ; SSE42: cost of 1 {{.*}} %D = sub
- ; AVX: cost of 1 {{.*}} %D = sub
- ; AVX2: cost of 1 {{.*}} %D = sub
- ; AVX512: cost of 1 {{.*}} %D = sub
- %D = sub <4 x i32> undef, undef
- ; SSSE3: cost of 2 {{.*}} %E = sub
- ; SSE42: cost of 2 {{.*}} %E = sub
- ; AVX: cost of 4 {{.*}} %E = sub
- ; AVX2: cost of 1 {{.*}} %E = sub
- ; AVX512: cost of 1 {{.*}} %E = sub
- %E = sub <8 x i32> undef, undef
- ; SSSE3: cost of 4 {{.*}} %F = sub
- ; SSE42: cost of 4 {{.*}} %F = sub
- ; AVX: cost of 8 {{.*}} %F = sub
- ; AVX2: cost of 2 {{.*}} %F = sub
- ; AVX512: cost of 1 {{.*}} %F = sub
- %F = sub <16 x i32> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %G = sub
- ; SSE42: cost of 1 {{.*}} %G = sub
- ; AVX: cost of 1 {{.*}} %G = sub
- ; AVX2: cost of 1 {{.*}} %G = sub
- ; AVX512: cost of 1 {{.*}} %G = sub
- %G = sub <8 x i16> undef, undef
- ; SSSE3: cost of 2 {{.*}} %H = sub
- ; SSE42: cost of 2 {{.*}} %H = sub
- ; AVX: cost of 4 {{.*}} %H = sub
- ; AVX2: cost of 1 {{.*}} %H = sub
- ; AVX512: cost of 1 {{.*}} %H = sub
- %H = sub <16 x i16> undef, undef
- ; SSSE3: cost of 4 {{.*}} %I = sub
- ; SSE42: cost of 4 {{.*}} %I = sub
- ; AVX: cost of 8 {{.*}} %I = sub
- ; AVX2: cost of 2 {{.*}} %I = sub
- ; AVX512F: cost of 2 {{.*}} %I = sub
- ; AVX512BW: cost of 1 {{.*}} %I = sub
- %I = sub <32 x i16> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %J = sub
- ; SSE42: cost of 1 {{.*}} %J = sub
- ; AVX: cost of 1 {{.*}} %J = sub
- ; AVX2: cost of 1 {{.*}} %J = sub
- ; AVX512: cost of 1 {{.*}} %J = sub
- %J = sub <16 x i8> undef, undef
- ; SSSE3: cost of 2 {{.*}} %K = sub
- ; SSE42: cost of 2 {{.*}} %K = sub
- ; AVX: cost of 4 {{.*}} %K = sub
- ; AVX2: cost of 1 {{.*}} %K = sub
- ; AVX512: cost of 1 {{.*}} %K = sub
- %K = sub <32 x i8> undef, undef
- ; SSSE3: cost of 4 {{.*}} %L = sub
- ; SSE42: cost of 4 {{.*}} %L = sub
- ; AVX: cost of 8 {{.*}} %L = sub
- ; AVX2: cost of 2 {{.*}} %L = sub
- ; AVX512F: cost of 2 {{.*}} %L = sub
- ; AVX512BW: cost of 1 {{.*}} %L = sub
- %L = sub <64 x i8> undef, undef
+ ; CHECK: cost of 1 {{.*}} %I64 = sub
+ %I64 = sub i64 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V2I64 = sub
+ ; SSE42: cost of 1 {{.*}} %V2I64 = sub
+ ; AVX: cost of 1 {{.*}} %V2I64 = sub
+ ; AVX2: cost of 1 {{.*}} %V2I64 = sub
+ ; AVX512: cost of 1 {{.*}} %V2I64 = sub
+ %V2I64 = sub <2 x i64> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V4I64 = sub
+ ; SSE42: cost of 2 {{.*}} %V4I64 = sub
+ ; AVX: cost of 4 {{.*}} %V4I64 = sub
+ ; AVX2: cost of 1 {{.*}} %V4I64 = sub
+ ; AVX512: cost of 1 {{.*}} %V4I64 = sub
+ %V4I64 = sub <4 x i64> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V8I64 = sub
+ ; SSE42: cost of 4 {{.*}} %V8I64 = sub
+ ; AVX: cost of 8 {{.*}} %V8I64 = sub
+ ; AVX2: cost of 2 {{.*}} %V8I64 = sub
+ ; AVX512: cost of 1 {{.*}} %V8I64 = sub
+ %V8I64 = sub <8 x i64> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I32 = sub
+ %I32 = sub i32 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V4I32 = sub
+ ; SSE42: cost of 1 {{.*}} %V4I32 = sub
+ ; AVX: cost of 1 {{.*}} %V4I32 = sub
+ ; AVX2: cost of 1 {{.*}} %V4I32 = sub
+ ; AVX512: cost of 1 {{.*}} %V4I32 = sub
+ %V4I32 = sub <4 x i32> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V8I32 = sub
+ ; SSE42: cost of 2 {{.*}} %V8I32 = sub
+ ; AVX: cost of 4 {{.*}} %V8I32 = sub
+ ; AVX2: cost of 1 {{.*}} %V8I32 = sub
+ ; AVX512: cost of 1 {{.*}} %V8I32 = sub
+ %V8I32 = sub <8 x i32> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V16I32 = sub
+ ; SSE42: cost of 4 {{.*}} %V16I32 = sub
+ ; AVX: cost of 8 {{.*}} %V16I32 = sub
+ ; AVX2: cost of 2 {{.*}} %V16I32 = sub
+ ; AVX512: cost of 1 {{.*}} %V16I32 = sub
+ %V16I32 = sub <16 x i32> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I16 = sub
+ %I16 = sub i16 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V8I16 = sub
+ ; SSE42: cost of 1 {{.*}} %V8I16 = sub
+ ; AVX: cost of 1 {{.*}} %V8I16 = sub
+ ; AVX2: cost of 1 {{.*}} %V8I16 = sub
+ ; AVX512: cost of 1 {{.*}} %V8I16 = sub
+ %V8I16 = sub <8 x i16> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V16I16 = sub
+ ; SSE42: cost of 2 {{.*}} %V16I16 = sub
+ ; AVX: cost of 4 {{.*}} %V16I16 = sub
+ ; AVX2: cost of 1 {{.*}} %V16I16 = sub
+ ; AVX512: cost of 1 {{.*}} %V16I16 = sub
+ %V16I16 = sub <16 x i16> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V32I16 = sub
+ ; SSE42: cost of 4 {{.*}} %V32I16 = sub
+ ; AVX: cost of 8 {{.*}} %V32I16 = sub
+ ; AVX2: cost of 2 {{.*}} %V32I16 = sub
+ ; AVX512F: cost of 2 {{.*}} %V32I16 = sub
+ ; AVX512BW: cost of 1 {{.*}} %V32I16 = sub
+ %V32I16 = sub <32 x i16> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I8 = sub
+ %I8 = sub i8 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V16I8 = sub
+ ; SSE42: cost of 1 {{.*}} %V16I8 = sub
+ ; AVX: cost of 1 {{.*}} %V16I8 = sub
+ ; AVX2: cost of 1 {{.*}} %V16I8 = sub
+ ; AVX512: cost of 1 {{.*}} %V16I8 = sub
+ %V16I8 = sub <16 x i8> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V32I8 = sub
+ ; SSE42: cost of 2 {{.*}} %V32I8 = sub
+ ; AVX: cost of 4 {{.*}} %V32I8 = sub
+ ; AVX2: cost of 1 {{.*}} %V32I8 = sub
+ ; AVX512: cost of 1 {{.*}} %V32I8 = sub
+ %V32I8 = sub <32 x i8> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V64I8 = sub
+ ; SSE42: cost of 4 {{.*}} %V64I8 = sub
+ ; AVX: cost of 8 {{.*}} %V64I8 = sub
+ ; AVX2: cost of 2 {{.*}} %V64I8 = sub
+ ; AVX512F: cost of 2 {{.*}} %V64I8 = sub
+ ; AVX512BW: cost of 1 {{.*}} %V64I8 = sub
+ %V64I8 = sub <64 x i8> undef, undef
ret i32 undef
}
; CHECK-LABEL: 'or'
define i32 @or(i32 %arg) {
- ; SSSE3: cost of 1 {{.*}} %A = or
- ; SSE42: cost of 1 {{.*}} %A = or
- ; AVX: cost of 1 {{.*}} %A = or
- ; AVX2: cost of 1 {{.*}} %A = or
- ; AVX512: cost of 1 {{.*}} %A = or
- %A = or <2 x i64> undef, undef
- ; SSSE3: cost of 2 {{.*}} %B = or
- ; SSE42: cost of 2 {{.*}} %B = or
- ; AVX: cost of 1 {{.*}} %B = or
- ; AVX2: cost of 1 {{.*}} %B = or
- ; AVX512: cost of 1 {{.*}} %B = or
- %B = or <4 x i64> undef, undef
- ; SSSE3: cost of 4 {{.*}} %C = or
- ; SSE42: cost of 4 {{.*}} %C = or
- ; AVX: cost of 2 {{.*}} %C = or
- ; AVX2: cost of 2 {{.*}} %C = or
- ; AVX512: cost of 1 {{.*}} %C = or
- %C = or <8 x i64> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %D = or
- ; SSE42: cost of 1 {{.*}} %D = or
- ; AVX: cost of 1 {{.*}} %D = or
- ; AVX2: cost of 1 {{.*}} %D = or
- ; AVX512: cost of 1 {{.*}} %D = or
- %D = or <4 x i32> undef, undef
- ; SSSE3: cost of 2 {{.*}} %E = or
- ; SSE42: cost of 2 {{.*}} %E = or
- ; AVX: cost of 1 {{.*}} %E = or
- ; AVX2: cost of 1 {{.*}} %E = or
- ; AVX512: cost of 1 {{.*}} %E = or
- %E = or <8 x i32> undef, undef
- ; SSSE3: cost of 4 {{.*}} %F = or
- ; SSE42: cost of 4 {{.*}} %F = or
- ; AVX: cost of 2 {{.*}} %F = or
- ; AVX2: cost of 2 {{.*}} %F = or
- ; AVX512: cost of 1 {{.*}} %F = or
- %F = or <16 x i32> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %G = or
- ; SSE42: cost of 1 {{.*}} %G = or
- ; AVX: cost of 1 {{.*}} %G = or
- ; AVX2: cost of 1 {{.*}} %G = or
- ; AVX512: cost of 1 {{.*}} %G = or
- %G = or <8 x i16> undef, undef
- ; SSSE3: cost of 2 {{.*}} %H = or
- ; SSE42: cost of 2 {{.*}} %H = or
- ; AVX: cost of 1 {{.*}} %H = or
- ; AVX2: cost of 1 {{.*}} %H = or
- ; AVX512: cost of 1 {{.*}} %H = or
- %H = or <16 x i16> undef, undef
- ; SSSE3: cost of 4 {{.*}} %I = or
- ; SSE42: cost of 4 {{.*}} %I = or
- ; AVX: cost of 2 {{.*}} %I = or
- ; AVX2: cost of 2 {{.*}} %I = or
- ; AVX512F: cost of 2 {{.*}} %I = or
- ; AVX512BW: cost of 1 {{.*}} %I = or
- %I = or <32 x i16> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %J = or
- ; SSE42: cost of 1 {{.*}} %J = or
- ; AVX: cost of 1 {{.*}} %J = or
- ; AVX2: cost of 1 {{.*}} %J = or
- ; AVX512: cost of 1 {{.*}} %J = or
- %J = or <16 x i8> undef, undef
- ; SSSE3: cost of 2 {{.*}} %K = or
- ; SSE42: cost of 2 {{.*}} %K = or
- ; AVX: cost of 1 {{.*}} %K = or
- ; AVX2: cost of 1 {{.*}} %K = or
- ; AVX512: cost of 1 {{.*}} %K = or
- %K = or <32 x i8> undef, undef
- ; SSSE3: cost of 4 {{.*}} %L = or
- ; SSE42: cost of 4 {{.*}} %L = or
- ; AVX: cost of 2 {{.*}} %L = or
- ; AVX2: cost of 2 {{.*}} %L = or
- ; AVX512F: cost of 2 {{.*}} %L = or
- ; AVX512BW: cost of 1 {{.*}} %L = or
- %L = or <64 x i8> undef, undef
+ ; CHECK: cost of 1 {{.*}} %I64 = or
+ %I64 = or i64 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V2I64 = or
+ ; SSE42: cost of 1 {{.*}} %V2I64 = or
+ ; AVX: cost of 1 {{.*}} %V2I64 = or
+ ; AVX2: cost of 1 {{.*}} %V2I64 = or
+ ; AVX512: cost of 1 {{.*}} %V2I64 = or
+ %V2I64 = or <2 x i64> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V4I64 = or
+ ; SSE42: cost of 2 {{.*}} %V4I64 = or
+ ; AVX: cost of 1 {{.*}} %V4I64 = or
+ ; AVX2: cost of 1 {{.*}} %V4I64 = or
+ ; AVX512: cost of 1 {{.*}} %V4I64 = or
+ %V4I64 = or <4 x i64> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V8I64 = or
+ ; SSE42: cost of 4 {{.*}} %V8I64 = or
+ ; AVX: cost of 2 {{.*}} %V8I64 = or
+ ; AVX2: cost of 2 {{.*}} %V8I64 = or
+ ; AVX512: cost of 1 {{.*}} %V8I64 = or
+ %V8I64 = or <8 x i64> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I32 = or
+ %I32 = or i32 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V4I32 = or
+ ; SSE42: cost of 1 {{.*}} %V4I32 = or
+ ; AVX: cost of 1 {{.*}} %V4I32 = or
+ ; AVX2: cost of 1 {{.*}} %V4I32 = or
+ ; AVX512: cost of 1 {{.*}} %V4I32 = or
+ %V4I32 = or <4 x i32> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V8I32 = or
+ ; SSE42: cost of 2 {{.*}} %V8I32 = or
+ ; AVX: cost of 1 {{.*}} %V8I32 = or
+ ; AVX2: cost of 1 {{.*}} %V8I32 = or
+ ; AVX512: cost of 1 {{.*}} %V8I32 = or
+ %V8I32 = or <8 x i32> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V16I32 = or
+ ; SSE42: cost of 4 {{.*}} %V16I32 = or
+ ; AVX: cost of 2 {{.*}} %V16I32 = or
+ ; AVX2: cost of 2 {{.*}} %V16I32 = or
+ ; AVX512: cost of 1 {{.*}} %V16I32 = or
+ %V16I32 = or <16 x i32> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I16 = or
+ %I16 = or i16 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V8I16 = or
+ ; SSE42: cost of 1 {{.*}} %V8I16 = or
+ ; AVX: cost of 1 {{.*}} %V8I16 = or
+ ; AVX2: cost of 1 {{.*}} %V8I16 = or
+ ; AVX512: cost of 1 {{.*}} %V8I16 = or
+ %V8I16 = or <8 x i16> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V16I16 = or
+ ; SSE42: cost of 2 {{.*}} %V16I16 = or
+ ; AVX: cost of 1 {{.*}} %V16I16 = or
+ ; AVX2: cost of 1 {{.*}} %V16I16 = or
+ ; AVX512: cost of 1 {{.*}} %V16I16 = or
+ %V16I16 = or <16 x i16> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V32I16 = or
+ ; SSE42: cost of 4 {{.*}} %V32I16 = or
+ ; AVX: cost of 2 {{.*}} %V32I16 = or
+ ; AVX2: cost of 2 {{.*}} %V32I16 = or
+ ; AVX512F: cost of 2 {{.*}} %V32I16 = or
+ ; AVX512BW: cost of 1 {{.*}} %V32I16 = or
+ %V32I16 = or <32 x i16> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I8 = or
+ %I8 = or i8 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V16I8 = or
+ ; SSE42: cost of 1 {{.*}} %V16I8 = or
+ ; AVX: cost of 1 {{.*}} %V16I8 = or
+ ; AVX2: cost of 1 {{.*}} %V16I8 = or
+ ; AVX512: cost of 1 {{.*}} %V16I8 = or
+ %V16I8 = or <16 x i8> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V32I8 = or
+ ; SSE42: cost of 2 {{.*}} %V32I8 = or
+ ; AVX: cost of 1 {{.*}} %V32I8 = or
+ ; AVX2: cost of 1 {{.*}} %V32I8 = or
+ ; AVX512: cost of 1 {{.*}} %V32I8 = or
+ %V32I8 = or <32 x i8> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V64I8 = or
+ ; SSE42: cost of 4 {{.*}} %V64I8 = or
+ ; AVX: cost of 2 {{.*}} %V64I8 = or
+ ; AVX2: cost of 2 {{.*}} %V64I8 = or
+ ; AVX512F: cost of 2 {{.*}} %V64I8 = or
+ ; AVX512BW: cost of 1 {{.*}} %V64I8 = or
+ %V64I8 = or <64 x i8> undef, undef
ret i32 undef
}
; CHECK-LABEL: 'xor'
define i32 @xor(i32 %arg) {
- ; SSSE3: cost of 1 {{.*}} %A = xor
- ; SSE42: cost of 1 {{.*}} %A = xor
- ; AVX: cost of 1 {{.*}} %A = xor
- ; AVX2: cost of 1 {{.*}} %A = xor
- ; AVX512: cost of 1 {{.*}} %A = xor
- %A = xor <2 x i64> undef, undef
- ; SSSE3: cost of 2 {{.*}} %B = xor
- ; SSE42: cost of 2 {{.*}} %B = xor
- ; AVX: cost of 1 {{.*}} %B = xor
- ; AVX2: cost of 1 {{.*}} %B = xor
- ; AVX512: cost of 1 {{.*}} %B = xor
- %B = xor <4 x i64> undef, undef
- ; SSSE3: cost of 4 {{.*}} %C = xor
- ; SSE42: cost of 4 {{.*}} %C = xor
- ; AVX: cost of 2 {{.*}} %C = xor
- ; AVX2: cost of 2 {{.*}} %C = xor
- ; AVX512: cost of 1 {{.*}} %C = xor
- %C = xor <8 x i64> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %D = xor
- ; SSE42: cost of 1 {{.*}} %D = xor
- ; AVX: cost of 1 {{.*}} %D = xor
- ; AVX2: cost of 1 {{.*}} %D = xor
- ; AVX512: cost of 1 {{.*}} %D = xor
- %D = xor <4 x i32> undef, undef
- ; SSSE3: cost of 2 {{.*}} %E = xor
- ; SSE42: cost of 2 {{.*}} %E = xor
- ; AVX: cost of 1 {{.*}} %E = xor
- ; AVX2: cost of 1 {{.*}} %E = xor
- ; AVX512: cost of 1 {{.*}} %E = xor
- %E = xor <8 x i32> undef, undef
- ; SSSE3: cost of 4 {{.*}} %F = xor
- ; SSE42: cost of 4 {{.*}} %F = xor
- ; AVX: cost of 2 {{.*}} %F = xor
- ; AVX2: cost of 2 {{.*}} %F = xor
- ; AVX512: cost of 1 {{.*}} %F = xor
- %F = xor <16 x i32> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %G = xor
- ; SSE42: cost of 1 {{.*}} %G = xor
- ; AVX: cost of 1 {{.*}} %G = xor
- ; AVX2: cost of 1 {{.*}} %G = xor
- ; AVX512: cost of 1 {{.*}} %G = xor
- %G = xor <8 x i16> undef, undef
- ; SSSE3: cost of 2 {{.*}} %H = xor
- ; SSE42: cost of 2 {{.*}} %H = xor
- ; AVX: cost of 1 {{.*}} %H = xor
- ; AVX2: cost of 1 {{.*}} %H = xor
- ; AVX512: cost of 1 {{.*}} %H = xor
- %H = xor <16 x i16> undef, undef
- ; SSSE3: cost of 4 {{.*}} %I = xor
- ; SSE42: cost of 4 {{.*}} %I = xor
- ; AVX: cost of 2 {{.*}} %I = xor
- ; AVX2: cost of 2 {{.*}} %I = xor
- ; AVX512F: cost of 2 {{.*}} %I = xor
- ; AVX512BW: cost of 1 {{.*}} %I = xor
- %I = xor <32 x i16> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %J = xor
- ; SSE42: cost of 1 {{.*}} %J = xor
- ; AVX: cost of 1 {{.*}} %J = xor
- ; AVX2: cost of 1 {{.*}} %J = xor
- ; AVX512: cost of 1 {{.*}} %J = xor
- %J = xor <16 x i8> undef, undef
- ; SSSE3: cost of 2 {{.*}} %K = xor
- ; SSE42: cost of 2 {{.*}} %K = xor
- ; AVX: cost of 1 {{.*}} %K = xor
- ; AVX2: cost of 1 {{.*}} %K = xor
- ; AVX512: cost of 1 {{.*}} %K = xor
- %K = xor <32 x i8> undef, undef
- ; SSSE3: cost of 4 {{.*}} %L = xor
- ; SSE42: cost of 4 {{.*}} %L = xor
- ; AVX: cost of 2 {{.*}} %L = xor
- ; AVX2: cost of 2 {{.*}} %L = xor
- ; AVX512F: cost of 2 {{.*}} %L = xor
- ; AVX512BW: cost of 1 {{.*}} %L = xor
- %L = xor <64 x i8> undef, undef
+ ; CHECK: cost of 1 {{.*}} %I64 = xor
+ %I64 = xor i64 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V2I64 = xor
+ ; SSE42: cost of 1 {{.*}} %V2I64 = xor
+ ; AVX: cost of 1 {{.*}} %V2I64 = xor
+ ; AVX2: cost of 1 {{.*}} %V2I64 = xor
+ ; AVX512: cost of 1 {{.*}} %V2I64 = xor
+ %V2I64 = xor <2 x i64> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V4I64 = xor
+ ; SSE42: cost of 2 {{.*}} %V4I64 = xor
+ ; AVX: cost of 1 {{.*}} %V4I64 = xor
+ ; AVX2: cost of 1 {{.*}} %V4I64 = xor
+ ; AVX512: cost of 1 {{.*}} %V4I64 = xor
+ %V4I64 = xor <4 x i64> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V8I64 = xor
+ ; SSE42: cost of 4 {{.*}} %V8I64 = xor
+ ; AVX: cost of 2 {{.*}} %V8I64 = xor
+ ; AVX2: cost of 2 {{.*}} %V8I64 = xor
+ ; AVX512: cost of 1 {{.*}} %V8I64 = xor
+ %V8I64 = xor <8 x i64> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I32 = xor
+ %I32 = xor i32 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V4I32 = xor
+ ; SSE42: cost of 1 {{.*}} %V4I32 = xor
+ ; AVX: cost of 1 {{.*}} %V4I32 = xor
+ ; AVX2: cost of 1 {{.*}} %V4I32 = xor
+ ; AVX512: cost of 1 {{.*}} %V4I32 = xor
+ %V4I32 = xor <4 x i32> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V8I32 = xor
+ ; SSE42: cost of 2 {{.*}} %V8I32 = xor
+ ; AVX: cost of 1 {{.*}} %V8I32 = xor
+ ; AVX2: cost of 1 {{.*}} %V8I32 = xor
+ ; AVX512: cost of 1 {{.*}} %V8I32 = xor
+ %V8I32 = xor <8 x i32> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V16I32 = xor
+ ; SSE42: cost of 4 {{.*}} %V16I32 = xor
+ ; AVX: cost of 2 {{.*}} %V16I32 = xor
+ ; AVX2: cost of 2 {{.*}} %V16I32 = xor
+ ; AVX512: cost of 1 {{.*}} %V16I32 = xor
+ %V16I32 = xor <16 x i32> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I16 = xor
+ %I16 = xor i16 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V8I16 = xor
+ ; SSE42: cost of 1 {{.*}} %V8I16 = xor
+ ; AVX: cost of 1 {{.*}} %V8I16 = xor
+ ; AVX2: cost of 1 {{.*}} %V8I16 = xor
+ ; AVX512: cost of 1 {{.*}} %V8I16 = xor
+ %V8I16 = xor <8 x i16> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V16I16 = xor
+ ; SSE42: cost of 2 {{.*}} %V16I16 = xor
+ ; AVX: cost of 1 {{.*}} %V16I16 = xor
+ ; AVX2: cost of 1 {{.*}} %V16I16 = xor
+ ; AVX512: cost of 1 {{.*}} %V16I16 = xor
+ %V16I16 = xor <16 x i16> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V32I16 = xor
+ ; SSE42: cost of 4 {{.*}} %V32I16 = xor
+ ; AVX: cost of 2 {{.*}} %V32I16 = xor
+ ; AVX2: cost of 2 {{.*}} %V32I16 = xor
+ ; AVX512F: cost of 2 {{.*}} %V32I16 = xor
+ ; AVX512BW: cost of 1 {{.*}} %V32I16 = xor
+ %V32I16 = xor <32 x i16> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I8 = xor
+ %I8 = xor i8 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V16I8 = xor
+ ; SSE42: cost of 1 {{.*}} %V16I8 = xor
+ ; AVX: cost of 1 {{.*}} %V16I8 = xor
+ ; AVX2: cost of 1 {{.*}} %V16I8 = xor
+ ; AVX512: cost of 1 {{.*}} %V16I8 = xor
+ %V16I8 = xor <16 x i8> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V32I8 = xor
+ ; SSE42: cost of 2 {{.*}} %V32I8 = xor
+ ; AVX: cost of 1 {{.*}} %V32I8 = xor
+ ; AVX2: cost of 1 {{.*}} %V32I8 = xor
+ ; AVX512: cost of 1 {{.*}} %V32I8 = xor
+ %V32I8 = xor <32 x i8> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V64I8 = xor
+ ; SSE42: cost of 4 {{.*}} %V64I8 = xor
+ ; AVX: cost of 2 {{.*}} %V64I8 = xor
+ ; AVX2: cost of 2 {{.*}} %V64I8 = xor
+ ; AVX512F: cost of 2 {{.*}} %V64I8 = xor
+ ; AVX512BW: cost of 1 {{.*}} %V64I8 = xor
+ %V64I8 = xor <64 x i8> undef, undef
ret i32 undef
}
; CHECK-LABEL: 'and'
define i32 @and(i32 %arg) {
- ; SSSE3: cost of 1 {{.*}} %A = and
- ; SSE42: cost of 1 {{.*}} %A = and
- ; AVX: cost of 1 {{.*}} %A = and
- ; AVX2: cost of 1 {{.*}} %A = and
- ; AVX512: cost of 1 {{.*}} %A = and
- %A = and <2 x i64> undef, undef
- ; SSSE3: cost of 2 {{.*}} %B = and
- ; SSE42: cost of 2 {{.*}} %B = and
- ; AVX: cost of 1 {{.*}} %B = and
- ; AVX2: cost of 1 {{.*}} %B = and
- ; AVX512: cost of 1 {{.*}} %B = and
- %B = and <4 x i64> undef, undef
- ; SSSE3: cost of 4 {{.*}} %C = and
- ; SSE42: cost of 4 {{.*}} %C = and
- ; AVX: cost of 2 {{.*}} %C = and
- ; AVX2: cost of 2 {{.*}} %C = and
- ; AVX512: cost of 1 {{.*}} %C = and
- %C = and <8 x i64> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %D = and
- ; SSE42: cost of 1 {{.*}} %D = and
- ; AVX: cost of 1 {{.*}} %D = and
- ; AVX2: cost of 1 {{.*}} %D = and
- ; AVX512: cost of 1 {{.*}} %D = and
- %D = and <4 x i32> undef, undef
- ; SSSE3: cost of 2 {{.*}} %E = and
- ; SSE42: cost of 2 {{.*}} %E = and
- ; AVX: cost of 1 {{.*}} %E = and
- ; AVX2: cost of 1 {{.*}} %E = and
- ; AVX512: cost of 1 {{.*}} %E = and
- %E = and <8 x i32> undef, undef
- ; SSSE3: cost of 4 {{.*}} %F = and
- ; SSE42: cost of 4 {{.*}} %F = and
- ; AVX: cost of 2 {{.*}} %F = and
- ; AVX2: cost of 2 {{.*}} %F = and
- ; AVX512: cost of 1 {{.*}} %F = and
- %F = and <16 x i32> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %G = and
- ; SSE42: cost of 1 {{.*}} %G = and
- ; AVX: cost of 1 {{.*}} %G = and
- ; AVX2: cost of 1 {{.*}} %G = and
- ; AVX512: cost of 1 {{.*}} %G = and
- %G = and <8 x i16> undef, undef
- ; SSSE3: cost of 2 {{.*}} %H = and
- ; SSE42: cost of 2 {{.*}} %H = and
- ; AVX: cost of 1 {{.*}} %H = and
- ; AVX2: cost of 1 {{.*}} %H = and
- ; AVX512: cost of 1 {{.*}} %H = and
- %H = and <16 x i16> undef, undef
- ; SSSE3: cost of 4 {{.*}} %I = and
- ; SSE42: cost of 4 {{.*}} %I = and
- ; AVX: cost of 2 {{.*}} %I = and
- ; AVX2: cost of 2 {{.*}} %I = and
- ; AVX512F: cost of 2 {{.*}} %I = and
- ; AVX512BW: cost of 1 {{.*}} %I = and
- %I = and <32 x i16> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %J = and
- ; SSE42: cost of 1 {{.*}} %J = and
- ; AVX: cost of 1 {{.*}} %J = and
- ; AVX2: cost of 1 {{.*}} %J = and
- ; AVX512: cost of 1 {{.*}} %J = and
- %J = and <16 x i8> undef, undef
- ; SSSE3: cost of 2 {{.*}} %K = and
- ; SSE42: cost of 2 {{.*}} %K = and
- ; AVX: cost of 1 {{.*}} %K = and
- ; AVX2: cost of 1 {{.*}} %K = and
- ; AVX512: cost of 1 {{.*}} %K = and
- %K = and <32 x i8> undef, undef
- ; SSSE3: cost of 4 {{.*}} %L = and
- ; SSE42: cost of 4 {{.*}} %L = and
- ; AVX: cost of 2 {{.*}} %L = and
- ; AVX2: cost of 2 {{.*}} %L = and
- ; AVX512F: cost of 2 {{.*}} %L = and
- ; AVX512BW: cost of 1 {{.*}} %L = and
- %L = and <64 x i8> undef, undef
+ ; CHECK: cost of 1 {{.*}} %I64 = and
+ %I64 = and i64 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V2I64 = and
+ ; SSE42: cost of 1 {{.*}} %V2I64 = and
+ ; AVX: cost of 1 {{.*}} %V2I64 = and
+ ; AVX2: cost of 1 {{.*}} %V2I64 = and
+ ; AVX512: cost of 1 {{.*}} %V2I64 = and
+ %V2I64 = and <2 x i64> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V4I64 = and
+ ; SSE42: cost of 2 {{.*}} %V4I64 = and
+ ; AVX: cost of 1 {{.*}} %V4I64 = and
+ ; AVX2: cost of 1 {{.*}} %V4I64 = and
+ ; AVX512: cost of 1 {{.*}} %V4I64 = and
+ %V4I64 = and <4 x i64> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V8I64 = and
+ ; SSE42: cost of 4 {{.*}} %V8I64 = and
+ ; AVX: cost of 2 {{.*}} %V8I64 = and
+ ; AVX2: cost of 2 {{.*}} %V8I64 = and
+ ; AVX512: cost of 1 {{.*}} %V8I64 = and
+ %V8I64 = and <8 x i64> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I32 = and
+ %I32 = and i32 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V4I32 = and
+ ; SSE42: cost of 1 {{.*}} %V4I32 = and
+ ; AVX: cost of 1 {{.*}} %V4I32 = and
+ ; AVX2: cost of 1 {{.*}} %V4I32 = and
+ ; AVX512: cost of 1 {{.*}} %V4I32 = and
+ %V4I32 = and <4 x i32> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V8I32 = and
+ ; SSE42: cost of 2 {{.*}} %V8I32 = and
+ ; AVX: cost of 1 {{.*}} %V8I32 = and
+ ; AVX2: cost of 1 {{.*}} %V8I32 = and
+ ; AVX512: cost of 1 {{.*}} %V8I32 = and
+ %V8I32 = and <8 x i32> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V16I32 = and
+ ; SSE42: cost of 4 {{.*}} %V16I32 = and
+ ; AVX: cost of 2 {{.*}} %V16I32 = and
+ ; AVX2: cost of 2 {{.*}} %V16I32 = and
+ ; AVX512: cost of 1 {{.*}} %V16I32 = and
+ %V16I32 = and <16 x i32> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I16 = and
+ %I16 = and i16 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V8I16 = and
+ ; SSE42: cost of 1 {{.*}} %V8I16 = and
+ ; AVX: cost of 1 {{.*}} %V8I16 = and
+ ; AVX2: cost of 1 {{.*}} %V8I16 = and
+ ; AVX512: cost of 1 {{.*}} %V8I16 = and
+ %V8I16 = and <8 x i16> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V16I16 = and
+ ; SSE42: cost of 2 {{.*}} %V16I16 = and
+ ; AVX: cost of 1 {{.*}} %V16I16 = and
+ ; AVX2: cost of 1 {{.*}} %V16I16 = and
+ ; AVX512: cost of 1 {{.*}} %V16I16 = and
+ %V16I16 = and <16 x i16> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V32I16 = and
+ ; SSE42: cost of 4 {{.*}} %V32I16 = and
+ ; AVX: cost of 2 {{.*}} %V32I16 = and
+ ; AVX2: cost of 2 {{.*}} %V32I16 = and
+ ; AVX512F: cost of 2 {{.*}} %V32I16 = and
+ ; AVX512BW: cost of 1 {{.*}} %V32I16 = and
+ %V32I16 = and <32 x i16> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I8 = and
+ %I8 = and i8 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V16I8 = and
+ ; SSE42: cost of 1 {{.*}} %V16I8 = and
+ ; AVX: cost of 1 {{.*}} %V16I8 = and
+ ; AVX2: cost of 1 {{.*}} %V16I8 = and
+ ; AVX512: cost of 1 {{.*}} %V16I8 = and
+ %V16I8 = and <16 x i8> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V32I8 = and
+ ; SSE42: cost of 2 {{.*}} %V32I8 = and
+ ; AVX: cost of 1 {{.*}} %V32I8 = and
+ ; AVX2: cost of 1 {{.*}} %V32I8 = and
+ ; AVX512: cost of 1 {{.*}} %V32I8 = and
+ %V32I8 = and <32 x i8> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V64I8 = and
+ ; SSE42: cost of 4 {{.*}} %V64I8 = and
+ ; AVX: cost of 2 {{.*}} %V64I8 = and
+ ; AVX2: cost of 2 {{.*}} %V64I8 = and
+ ; AVX512F: cost of 2 {{.*}} %V64I8 = and
+ ; AVX512BW: cost of 1 {{.*}} %V64I8 = and
+ %V64I8 = and <64 x i8> undef, undef
ret i32 undef
}
; CHECK-LABEL: 'mul'
define i32 @mul(i32 %arg) {
- ; SSSE3: cost of 8 {{.*}} %A = mul
- ; SSE42: cost of 8 {{.*}} %A = mul
- ; AVX: cost of 8 {{.*}} %A = mul
- ; AVX2: cost of 8 {{.*}} %A = mul
- ; AVX512F: cost of 8 {{.*}} %A = mul
- ; AVX512BW: cost of 8 {{.*}} %A = mul
- ; AVX512DQ: cost of 1 {{.*}} %A = mul
- %A = mul <2 x i64> undef, undef
- ; SSSE3: cost of 16 {{.*}} %B = mul
- ; SSE42: cost of 16 {{.*}} %B = mul
- ; AVX: cost of 18 {{.*}} %B = mul
- ; AVX2: cost of 8 {{.*}} %B = mul
- ; AVX512F: cost of 8 {{.*}} %B = mul
- ; AVX512BW: cost of 8 {{.*}} %B = mul
- ; AVX512DQ: cost of 1 {{.*}} %B = mul
- %B = mul <4 x i64> undef, undef
- ; SSSE3: cost of 32 {{.*}} %C = mul
- ; SSE42: cost of 32 {{.*}} %C = mul
- ; AVX: cost of 36 {{.*}} %C = mul
- ; AVX2: cost of 16 {{.*}} %C = mul
- ; AVX512F: cost of 8 {{.*}} %C = mul
- ; AVX512BW: cost of 8 {{.*}} %C = mul
- ; AVX512DQ: cost of 1 {{.*}} %C = mul
- %C = mul <8 x i64> undef, undef
-
- ; SSSE3: cost of 6 {{.*}} %D = mul
- ; SSE42: cost of 1 {{.*}} %D = mul
- ; AVX: cost of 1 {{.*}} %D = mul
- ; AVX2: cost of 1 {{.*}} %D = mul
- ; AVX512: cost of 1 {{.*}} %D = mul
- %D = mul <4 x i32> undef, undef
- ; SSSE3: cost of 12 {{.*}} %E = mul
- ; SSE42: cost of 2 {{.*}} %E = mul
- ; AVX: cost of 4 {{.*}} %E = mul
- ; AVX2: cost of 1 {{.*}} %E = mul
- ; AVX512: cost of 1 {{.*}} %E = mul
- %E = mul <8 x i32> undef, undef
- ; SSSE3: cost of 24 {{.*}} %F = mul
- ; SSE42: cost of 4 {{.*}} %F = mul
- ; AVX: cost of 8 {{.*}} %F = mul
- ; AVX2: cost of 2 {{.*}} %F = mul
- ; AVX512: cost of 1 {{.*}} %F = mul
- %F = mul <16 x i32> undef, undef
-
- ; SSSE3: cost of 1 {{.*}} %G = mul
- ; SSE42: cost of 1 {{.*}} %G = mul
- ; AVX: cost of 1 {{.*}} %G = mul
- ; AVX2: cost of 1 {{.*}} %G = mul
- ; AVX512: cost of 1 {{.*}} %G = mul
- %G = mul <8 x i16> undef, undef
- ; SSSE3: cost of 2 {{.*}} %H = mul
- ; SSE42: cost of 2 {{.*}} %H = mul
- ; AVX: cost of 4 {{.*}} %H = mul
- ; AVX2: cost of 1 {{.*}} %H = mul
- ; AVX512: cost of 1 {{.*}} %H = mul
- %H = mul <16 x i16> undef, undef
- ; SSSE3: cost of 4 {{.*}} %I = mul
- ; SSE42: cost of 4 {{.*}} %I = mul
- ; AVX: cost of 8 {{.*}} %I = mul
- ; AVX2: cost of 2 {{.*}} %I = mul
- ; AVX512F: cost of 2 {{.*}} %I = mul
- ; AVX512BW: cost of 1 {{.*}} %I = mul
- %I = mul <32 x i16> undef, undef
-
- ; SSSE3: cost of 12 {{.*}} %J = mul
- ; SSE42: cost of 12 {{.*}} %J = mul
- ; AVX: cost of 12 {{.*}} %J = mul
- ; AVX2: cost of 7 {{.*}} %J = mul
- ; AVX512F: cost of 5 {{.*}} %J = mul
- ; AVX512BW: cost of 4 {{.*}} %J = mul
- %J = mul <16 x i8> undef, undef
- ; SSSE3: cost of 24 {{.*}} %K = mul
- ; SSE42: cost of 24 {{.*}} %K = mul
- ; AVX: cost of 26 {{.*}} %K = mul
- ; AVX2: cost of 17 {{.*}} %K = mul
- ; AVX512F: cost of 13 {{.*}} %K = mul
- ; AVX512BW: cost of 4 {{.*}} %K = mul
- %K = mul <32 x i8> undef, undef
- ; SSSE3: cost of 48 {{.*}} %L = mul
- ; SSE42: cost of 48 {{.*}} %L = mul
- ; AVX: cost of 52 {{.*}} %L = mul
- ; AVX2: cost of 34 {{.*}} %L = mul
- ; AVX512F: cost of 26 {{.*}} %L = mul
- ; AVX512BW: cost of 11 {{.*}} %L = mul
- %L = mul <64 x i8> undef, undef
+ ; CHECK: cost of 1 {{.*}} %I64 = mul
+ %I64 = mul i64 undef, undef
+ ; SSSE3: cost of 8 {{.*}} %V2I64 = mul
+ ; SSE42: cost of 8 {{.*}} %V2I64 = mul
+ ; AVX: cost of 8 {{.*}} %V2I64 = mul
+ ; AVX2: cost of 8 {{.*}} %V2I64 = mul
+ ; AVX512F: cost of 8 {{.*}} %V2I64 = mul
+ ; AVX512BW: cost of 8 {{.*}} %V2I64 = mul
+ ; AVX512DQ: cost of 1 {{.*}} %V2I64 = mul
+ %V2I64 = mul <2 x i64> undef, undef
+ ; SSSE3: cost of 16 {{.*}} %V4I64 = mul
+ ; SSE42: cost of 16 {{.*}} %V4I64 = mul
+ ; AVX: cost of 18 {{.*}} %V4I64 = mul
+ ; AVX2: cost of 8 {{.*}} %V4I64 = mul
+ ; AVX512F: cost of 8 {{.*}} %V4I64 = mul
+ ; AVX512BW: cost of 8 {{.*}} %V4I64 = mul
+ ; AVX512DQ: cost of 1 {{.*}} %V4I64 = mul
+ %V4I64 = mul <4 x i64> undef, undef
+ ; SSSE3: cost of 32 {{.*}} %V8I64 = mul
+ ; SSE42: cost of 32 {{.*}} %V8I64 = mul
+ ; AVX: cost of 36 {{.*}} %V8I64 = mul
+ ; AVX2: cost of 16 {{.*}} %V8I64 = mul
+ ; AVX512F: cost of 8 {{.*}} %V8I64 = mul
+ ; AVX512BW: cost of 8 {{.*}} %V8I64 = mul
+ ; AVX512DQ: cost of 1 {{.*}} %V8I64 = mul
+ %V8I64 = mul <8 x i64> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I32 = mul
+ %I32 = mul i32 undef, undef
+ ; SSSE3: cost of 6 {{.*}} %V4I32 = mul
+ ; SSE42: cost of 1 {{.*}} %V4I32 = mul
+ ; AVX: cost of 1 {{.*}} %V4I32 = mul
+ ; AVX2: cost of 1 {{.*}} %V4I32 = mul
+ ; AVX512: cost of 1 {{.*}} %V4I32 = mul
+ %V4I32 = mul <4 x i32> undef, undef
+ ; SSSE3: cost of 12 {{.*}} %V8I32 = mul
+ ; SSE42: cost of 2 {{.*}} %V8I32 = mul
+ ; AVX: cost of 4 {{.*}} %V8I32 = mul
+ ; AVX2: cost of 1 {{.*}} %V8I32 = mul
+ ; AVX512: cost of 1 {{.*}} %V8I32 = mul
+ %V8I32 = mul <8 x i32> undef, undef
+ ; SSSE3: cost of 24 {{.*}} %V16I32 = mul
+ ; SSE42: cost of 4 {{.*}} %V16I32 = mul
+ ; AVX: cost of 8 {{.*}} %V16I32 = mul
+ ; AVX2: cost of 2 {{.*}} %V16I32 = mul
+ ; AVX512: cost of 1 {{.*}} %V16I32 = mul
+ %V16I32 = mul <16 x i32> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I16 = mul
+ %I16 = mul i16 undef, undef
+ ; SSSE3: cost of 1 {{.*}} %V8I16 = mul
+ ; SSE42: cost of 1 {{.*}} %V8I16 = mul
+ ; AVX: cost of 1 {{.*}} %V8I16 = mul
+ ; AVX2: cost of 1 {{.*}} %V8I16 = mul
+ ; AVX512: cost of 1 {{.*}} %V8I16 = mul
+ %V8I16 = mul <8 x i16> undef, undef
+ ; SSSE3: cost of 2 {{.*}} %V16I16 = mul
+ ; SSE42: cost of 2 {{.*}} %V16I16 = mul
+ ; AVX: cost of 4 {{.*}} %V16I16 = mul
+ ; AVX2: cost of 1 {{.*}} %V16I16 = mul
+ ; AVX512: cost of 1 {{.*}} %V16I16 = mul
+ %V16I16 = mul <16 x i16> undef, undef
+ ; SSSE3: cost of 4 {{.*}} %V32I16 = mul
+ ; SSE42: cost of 4 {{.*}} %V32I16 = mul
+ ; AVX: cost of 8 {{.*}} %V32I16 = mul
+ ; AVX2: cost of 2 {{.*}} %V32I16 = mul
+ ; AVX512F: cost of 2 {{.*}} %V32I16 = mul
+ ; AVX512BW: cost of 1 {{.*}} %V32I16 = mul
+ %V32I16 = mul <32 x i16> undef, undef
+
+ ; CHECK: cost of 1 {{.*}} %I8 = mul
+ %I8 = mul i8 undef, undef
+ ; SSSE3: cost of 12 {{.*}} %V16I8 = mul
+ ; SSE42: cost of 12 {{.*}} %V16I8 = mul
+ ; AVX: cost of 12 {{.*}} %V16I8 = mul
+ ; AVX2: cost of 7 {{.*}} %V16I8 = mul
+ ; AVX512F: cost of 5 {{.*}} %V16I8 = mul
+ ; AVX512BW: cost of 4 {{.*}} %V16I8 = mul
+ %V16I8 = mul <16 x i8> undef, undef
+ ; SSSE3: cost of 24 {{.*}} %V32I8 = mul
+ ; SSE42: cost of 24 {{.*}} %V32I8 = mul
+ ; AVX: cost of 26 {{.*}} %V32I8 = mul
+ ; AVX2: cost of 17 {{.*}} %V32I8 = mul
+ ; AVX512F: cost of 13 {{.*}} %V32I8 = mul
+ ; AVX512BW: cost of 4 {{.*}} %V32I8 = mul
+ %V32I8 = mul <32 x i8> undef, undef
+ ; SSSE3: cost of 48 {{.*}} %V64I8 = mul
+ ; SSE42: cost of 48 {{.*}} %V64I8 = mul
+ ; AVX: cost of 52 {{.*}} %V64I8 = mul
+ ; AVX2: cost of 34 {{.*}} %V64I8 = mul
+ ; AVX512F: cost of 26 {{.*}} %V64I8 = mul
+ ; AVX512BW: cost of 11 {{.*}} %V64I8 = mul
+ %V64I8 = mul <64 x i8> undef, undef
ret i32 undef
}
diff --git a/test/Analysis/CostModel/X86/interleaved-load-i8.ll b/test/Analysis/CostModel/X86/interleaved-load-i8.ll
new file mode 100644
index 000000000000..382e5e5301d6
--- /dev/null
+++ b/test/Analysis/CostModel/X86/interleaved-load-i8.ll
@@ -0,0 +1,98 @@
+; REQUIRES: asserts
+; RUN: opt -loop-vectorize -S -mcpu=core-avx2 --debug-only=loop-vectorize -vectorizer-maximize-bandwidth < %s 2>&1 | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+; Function Attrs: norecurse nounwind readonly uwtable
+define i32 @doit_stride3(i8* nocapture readonly %Ptr, i32 %Nels) {
+;CHECK: LV: Found an estimated cost of 1 for VF 1 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 11 for VF 2 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 5 for VF 4 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 10 for VF 8 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 20 for VF 16 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 45 for VF 32 For instruction: %0 = load i8
+entry:
+ %cmp13 = icmp sgt i32 %Nels, 0
+ br i1 %cmp13, label %for.body.preheader, label %for.end
+
+for.body.preheader:
+ br label %for.body
+
+for.body:
+ %Ptr.addr.016 = phi i8* [ %incdec.ptr2, %for.body ], [ %Ptr, %for.body.preheader ]
+ %i.015 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
+ %s.014 = phi i32 [ %add6, %for.body ], [ 0, %for.body.preheader ]
+ %incdec.ptr = getelementptr inbounds i8, i8* %Ptr.addr.016, i64 1
+ %0 = load i8, i8* %Ptr.addr.016, align 1
+ %incdec.ptr1 = getelementptr inbounds i8, i8* %Ptr.addr.016, i64 2
+ %1 = load i8, i8* %incdec.ptr, align 1
+ %incdec.ptr2 = getelementptr inbounds i8, i8* %Ptr.addr.016, i64 3
+ %2 = load i8, i8* %incdec.ptr1, align 1
+ %conv = zext i8 %0 to i32
+ %conv3 = zext i8 %1 to i32
+ %conv4 = zext i8 %2 to i32
+ %add = add i32 %s.014, %conv
+ %add5 = add i32 %add, %conv3
+ %add6 = add i32 %add5, %conv4
+ %inc = add nuw nsw i32 %i.015, 1
+ %exitcond = icmp eq i32 %inc, %Nels
+ br i1 %exitcond, label %for.end.loopexit, label %for.body
+
+for.end.loopexit:
+ %add6.lcssa = phi i32 [ %add6, %for.body ]
+ br label %for.end
+
+for.end:
+ %s.0.lcssa = phi i32 [ 0, %entry ], [ %add6.lcssa, %for.end.loopexit ]
+ ret i32 %s.0.lcssa
+}
+
+; Function Attrs: norecurse nounwind readonly uwtable
+define i32 @doit_stride4(i8* nocapture readonly %Ptr, i32 %Nels) local_unnamed_addr {
+;CHECK: LV: Found an estimated cost of 1 for VF 1 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 13 for VF 2 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 5 for VF 4 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 21 for VF 8 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 41 for VF 16 For instruction: %0 = load i8
+;CHECK: LV: Found an estimated cost of 84 for VF 32 For instruction: %0 = load i8
+entry:
+ %cmp59 = icmp sgt i32 %Nels, 0
+ br i1 %cmp59, label %for.body.preheader, label %for.end
+
+for.body.preheader:
+ br label %for.body
+
+for.body: ; preds = %for.body.preheader, %for.body
+ %Ptr.addr.062 = phi i8* [ %incdec.ptr3, %for.body ], [ %Ptr, %for.body.preheader ]
+ %i.061 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
+ %s.060 = phi i32 [ %cond39, %for.body ], [ 0, %for.body.preheader ]
+ %incdec.ptr = getelementptr inbounds i8, i8* %Ptr.addr.062, i64 1
+ %0 = load i8, i8* %Ptr.addr.062, align 1
+ %incdec.ptr1 = getelementptr inbounds i8, i8* %Ptr.addr.062, i64 2
+ %1 = load i8, i8* %incdec.ptr, align 1
+ %incdec.ptr2 = getelementptr inbounds i8, i8* %Ptr.addr.062, i64 3
+ %2 = load i8, i8* %incdec.ptr1, align 1
+ %incdec.ptr3 = getelementptr inbounds i8, i8* %Ptr.addr.062, i64 4
+ %3 = load i8, i8* %incdec.ptr2, align 1
+ %cmp5 = icmp ult i8 %0, %1
+ %.sink = select i1 %cmp5, i8 %0, i8 %1
+ %cmp12 = icmp ult i8 %.sink, %2
+ %.sink40 = select i1 %cmp12, i8 %.sink, i8 %2
+ %cmp23 = icmp ult i8 %.sink40, %3
+ %.sink41 = select i1 %cmp23, i8 %.sink40, i8 %3
+ %conv28 = zext i8 %.sink41 to i32
+ %cmp33 = icmp slt i32 %s.060, %conv28
+ %cond39 = select i1 %cmp33, i32 %s.060, i32 %conv28
+ %inc = add nuw nsw i32 %i.061, 1
+ %exitcond = icmp eq i32 %inc, %Nels
+ br i1 %exitcond, label %for.end.loopexit, label %for.body
+
+for.end.loopexit:
+ %cond39.lcssa = phi i32 [ %cond39, %for.body ]
+ br label %for.end
+
+for.end:
+ %s.0.lcssa = phi i32 [ 0, %entry ], [ %cond39.lcssa, %for.end.loopexit ]
+ ret i32 %s.0.lcssa
+}
diff --git a/test/Analysis/CostModel/X86/interleaved-store-i8.ll b/test/Analysis/CostModel/X86/interleaved-store-i8.ll
new file mode 100644
index 000000000000..d8408c152763
--- /dev/null
+++ b/test/Analysis/CostModel/X86/interleaved-store-i8.ll
@@ -0,0 +1,85 @@
+; REQUIRES: asserts
+; RUN: opt -loop-vectorize -S -mcpu=core-avx2 --debug-only=loop-vectorize -vectorizer-maximize-bandwidth < %s 2>&1 | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+; Function Attrs: norecurse nounwind uwtable
+define void @doit_stride3(i8* nocapture %Ptr, i32 %Nels) local_unnamed_addr {
+;CHECK: LV: Found an estimated cost of 1 for VF 1 For instruction: store i8 %conv4
+;CHECK: LV: Found an estimated cost of 8 for VF 2 For instruction: store i8 %conv4
+;CHECK: LV: Found an estimated cost of 9 for VF 4 For instruction: store i8 %conv4
+;CHECK: LV: Found an estimated cost of 12 for VF 8 For instruction: store i8 %conv4
+;CHECK: LV: Found an estimated cost of 19 for VF 16 For instruction: store i8 %conv4
+;CHECK: LV: Found an estimated cost of 35 for VF 32 For instruction: store i8 %conv4
+entry:
+ %cmp14 = icmp sgt i32 %Nels, 0
+ br i1 %cmp14, label %for.body.lr.ph, label %for.end
+
+for.body.lr.ph:
+ %conv = trunc i32 %Nels to i8
+ %conv1 = shl i8 %conv, 1
+ %conv4 = shl i8 %conv, 2
+ br label %for.body
+
+for.body:
+ %i.016 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.body ]
+ %Ptr.addr.015 = phi i8* [ %Ptr, %for.body.lr.ph ], [ %incdec.ptr5, %for.body ]
+ %incdec.ptr = getelementptr inbounds i8, i8* %Ptr.addr.015, i64 1
+ store i8 %conv, i8* %Ptr.addr.015, align 1
+ %incdec.ptr2 = getelementptr inbounds i8, i8* %Ptr.addr.015, i64 2
+ store i8 %conv1, i8* %incdec.ptr, align 1
+ %incdec.ptr5 = getelementptr inbounds i8, i8* %Ptr.addr.015, i64 3
+ store i8 %conv4, i8* %incdec.ptr2, align 1
+ %inc = add nuw nsw i32 %i.016, 1
+ %exitcond = icmp eq i32 %inc, %Nels
+ br i1 %exitcond, label %for.end.loopexit, label %for.body
+
+for.end.loopexit:
+ br label %for.end
+
+for.end:
+ ret void
+}
+
+; Function Attrs: norecurse nounwind uwtable
+define void @doit_stride4(i8* nocapture %Ptr, i32 %Nels) local_unnamed_addr {
+;CHECK: LV: Found an estimated cost of 1 for VF 1 For instruction: store i8 %conv7
+;CHECK: LV: Found an estimated cost of 13 for VF 2 For instruction: store i8 %conv7
+;CHECK: LV: Found an estimated cost of 10 for VF 4 For instruction: store i8 %conv7
+;CHECK: LV: Found an estimated cost of 17 for VF 8 For instruction: store i8 %conv7
+;CHECK: LV: Found an estimated cost of 22 for VF 16 For instruction: store i8 %conv7
+;CHECK: LV: Found an estimated cost of 44 for VF 32 For instruction: store i8 %conv7
+entry:
+ %cmp19 = icmp sgt i32 %Nels, 0
+ br i1 %cmp19, label %for.body.lr.ph, label %for.end
+
+for.body.lr.ph:
+ %conv = trunc i32 %Nels to i8
+ %conv1 = shl i8 %conv, 1
+ %conv4 = shl i8 %conv, 2
+ %mul6 = mul nsw i32 %Nels, 5
+ %conv7 = trunc i32 %mul6 to i8
+ br label %for.body
+
+for.body:
+ %i.021 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.body ]
+ %Ptr.addr.020 = phi i8* [ %Ptr, %for.body.lr.ph ], [ %incdec.ptr8, %for.body ]
+ %incdec.ptr = getelementptr inbounds i8, i8* %Ptr.addr.020, i64 1
+ store i8 %conv, i8* %Ptr.addr.020, align 1
+ %incdec.ptr2 = getelementptr inbounds i8, i8* %Ptr.addr.020, i64 2
+ store i8 %conv1, i8* %incdec.ptr, align 1
+ %incdec.ptr5 = getelementptr inbounds i8, i8* %Ptr.addr.020, i64 3
+ store i8 %conv4, i8* %incdec.ptr2, align 1
+ %incdec.ptr8 = getelementptr inbounds i8, i8* %Ptr.addr.020, i64 4
+ store i8 %conv7, i8* %incdec.ptr5, align 1
+ %inc = add nuw nsw i32 %i.021, 1
+ %exitcond = icmp eq i32 %inc, %Nels
+ br i1 %exitcond, label %for.end.loopexit, label %for.body
+
+for.end.loopexit:
+ br label %for.end
+
+for.end:
+ ret void
+}
diff --git a/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll b/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll
index 3a0ab0f03b99..e797b377556e 100644
--- a/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll
+++ b/test/Analysis/LazyValueAnalysis/lvi-after-jumpthreading.ll
@@ -100,3 +100,90 @@ backedge:
exit:
ret i8 0
}
+
+; Merging cont block into do block. Make sure that we do not incorrectly have the cont
+; LVI info as LVI info for the beginning of do block. LVI info for %i is Range[0,1)
+; at beginning of cont Block, which is incorrect at the beginning of do block.
+define i32 @test3(i32 %i, i1 %f, i32 %n) {
+; CHECK-LABEL: LVI for function 'test3':
+; CHECK-LABEL: entry
+; CHECK: ; LatticeVal for: 'i32 %i' is: overdefined
+; CHECK: %c = icmp ne i32 %i, -2134
+; CHECK: br i1 %c, label %cont, label %exit
+entry:
+ %c = icmp ne i32 %i, -2134
+ br i1 %c, label %do, label %exit
+
+exit:
+ %c1 = icmp ne i32 %i, -42
+ br i1 %c1, label %exit2, label %exit
+
+; CHECK-LABEL: cont:
+; Here cont is merged to do and i is any value except -2134.
+; i is not the single value: zero.
+; CHECK-NOT: ; LatticeVal for: 'i32 %i' is: constantrange<0, 1>
+; CHECK: ; LatticeVal for: 'i32 %i' is: constantrange<-2133, -2134>
+; CHECK: ; LatticeVal for: ' %cond.0 = icmp sgt i32 %i, 0' in BB: '%cont' is: overdefined
+; CHECK: %cond.0 = icmp sgt i32 %i, 0
+; CHECK: %consume = call i32 @consume
+; CHECK: %cond = icmp eq i32 %i, 0
+; CHECK: call void (i1, ...) @llvm.experimental.guard(i1 %cond)
+; CHECK: %cond.3 = icmp sgt i32 %i, %n
+; CHECK: br i1 %cond.3, label %exit2, label %exit
+cont:
+ %cond.3 = icmp sgt i32 %i, %n
+ br i1 %cond.3, label %exit2, label %exit
+
+do:
+ %cond.0 = icmp sgt i32 %i, 0
+ %consume = call i32 @consume(i1 %cond.0)
+ %cond = icmp eq i32 %i, 0
+ call void (i1, ...) @llvm.experimental.guard(i1 %cond) [ "deopt"() ]
+ %cond.2 = icmp sgt i32 %i, 0
+ br i1 %cond.2, label %exit, label %cont
+
+exit2:
+; CHECK-LABEL: exit2:
+; LatticeVal for: 'i32 %i' is: constantrange<-2134, 1>
+ ret i32 30
+}
+
+; FIXME: We should be able to merge cont into do.
+; When we do so, LVI for cont cannot be the one for the merged do block.
+define i32 @test4(i32 %i, i1 %f, i32 %n) {
+; CHECK-LABEL: LVI for function 'test4':
+entry:
+ %c = icmp ne i32 %i, -2134
+ br i1 %c, label %do, label %exit
+
+exit: ; preds = %do, %cont, %exit, %entry
+ %c1 = icmp ne i32 %i, -42
+ br i1 %c1, label %exit2, label %exit
+
+cont: ; preds = %do
+; CHECK-LABEL: cont:
+; CHECK: ; LatticeVal for: 'i1 %f' is: constantrange<-1, 0>
+; CHECK: call void @dummy(i1 %f)
+ call void @dummy(i1 %f)
+ br label %exit2
+
+do: ; preds = %entry
+; CHECK-LABEL: do:
+; CHECK: ; LatticeVal for: 'i1 %f' is: overdefined
+; CHECK: call void @dummy(i1 %f)
+; CHECK: br i1 %cond, label %exit, label %cont
+ call void @dummy(i1 %f)
+ %consume = call i32 @exit()
+ call void @llvm.assume(i1 %f)
+ %cond = icmp eq i1 %f, false
+ br i1 %cond, label %exit, label %cont
+
+exit2: ; preds = %cont, %exit
+ ret i32 30
+}
+
+declare i32 @exit()
+declare i32 @consume(i1)
+declare void @llvm.assume(i1) nounwind
+declare void @dummy(i1) nounwind
+declare void @llvm.experimental.guard(i1, ...)
diff --git a/test/Analysis/TypeBasedAliasAnalysis/dynamic-indices.ll b/test/Analysis/TypeBasedAliasAnalysis/dynamic-indices.ll
index 455968d7a401..8ac6301f9318 100644
--- a/test/Analysis/TypeBasedAliasAnalysis/dynamic-indices.ll
+++ b/test/Analysis/TypeBasedAliasAnalysis/dynamic-indices.ll
@@ -26,21 +26,21 @@ for.body: ; preds = %entry, %for.body
%idxprom = sext i32 %sub to i64
%half = bitcast %union.vector_t* %vb to [8 x i16]*
%arrayidx = getelementptr inbounds [8 x i16], [8 x i16]* %half, i64 0, i64 %idxprom
- %tmp4 = load i16, i16* %arrayidx, align 2, !tbaa !0
+ %tmp4 = load i16, i16* %arrayidx, align 2, !tbaa !10
%conv = zext i16 %tmp4 to i32
%and = and i32 %conv, 15
%sub6 = sub nsw i32 7, %i.01
%idxprom7 = sext i32 %sub6 to i64
%half9 = bitcast %union.vector_t* %va to [8 x i16]*
%arrayidx10 = getelementptr inbounds [8 x i16], [8 x i16]* %half9, i64 0, i64 %idxprom7
- %tmp11 = load i16, i16* %arrayidx10, align 2, !tbaa !0
+ %tmp11 = load i16, i16* %arrayidx10, align 2, !tbaa !10
%conv12 = zext i16 %tmp11 to i32
%shl = shl i32 %conv12, %and
%sub15 = sub nsw i32 7, %i.01
%idxprom16 = sext i32 %sub15 to i64
%half18 = bitcast %union.vector_t* %va to [8 x i16]*
%arrayidx19 = getelementptr inbounds [8 x i16], [8 x i16]* %half18, i64 0, i64 %idxprom16
- %tmp20 = load i16, i16* %arrayidx19, align 2, !tbaa !0
+ %tmp20 = load i16, i16* %arrayidx19, align 2, !tbaa !10
%conv21 = zext i16 %tmp20 to i32
%sub23 = sub nsw i32 16, %and
%shr = lshr i32 %conv21, %sub23
@@ -50,20 +50,20 @@ for.body: ; preds = %entry, %for.body
%idxprom27 = sext i32 %sub26 to i64
%half28 = bitcast %union.vector_t* %t to [8 x i16]*
%arrayidx29 = getelementptr inbounds [8 x i16], [8 x i16]* %half28, i64 0, i64 %idxprom27
- store i16 %conv24, i16* %arrayidx29, align 2, !tbaa !0
+ store i16 %conv24, i16* %arrayidx29, align 2, !tbaa !10
%inc = add nsw i32 %i.01, 1
%cmp = icmp slt i32 %inc, 8
br i1 %cmp, label %for.body, label %for.end
for.end: ; preds = %for.body
%arrayidx31 = getelementptr inbounds %union.vector_t, %union.vector_t* %t, i64 0, i32 0, i64 1
- %tmp32 = load i64, i64* %arrayidx31, align 8, !tbaa !3
+ %tmp32 = load i64, i64* %arrayidx31, align 8, !tbaa !10
%arrayidx35 = getelementptr inbounds %union.vector_t, %union.vector_t* %vd, i64 0, i32 0, i64 1
- store i64 %tmp32, i64* %arrayidx35, align 8, !tbaa !3
+ store i64 %tmp32, i64* %arrayidx35, align 8, !tbaa !10
%arrayidx37 = getelementptr inbounds %union.vector_t, %union.vector_t* %t, i64 0, i32 0, i64 0
- %tmp38 = load i64, i64* %arrayidx37, align 8, !tbaa !3
+ %tmp38 = load i64, i64* %arrayidx37, align 8, !tbaa !10
%arrayidx41 = getelementptr inbounds %union.vector_t, %union.vector_t* %vd, i64 0, i32 0, i64 0
- store i64 %tmp38, i64* %arrayidx41, align 8, !tbaa !3
+ store i64 %tmp38, i64* %arrayidx41, align 8, !tbaa !10
ret void
}
@@ -124,7 +124,7 @@ for.end: ; preds = %for.body
}
; CHECK: [[TAG]] = !{[[TYPE_LL:!.*]], [[TYPE_LL]], i64 0}
-; CHECK: [[TYPE_LL]] = !{!"long long", {{!.*}}}
+; CHECK: [[TYPE_LL]] = !{!"omnipotent char", {{!.*}}}
!0 = !{!6, !6, i64 0}
!1 = !{!"omnipotent char", !2}
!2 = !{!"Simple C/C++ TBAA"}
@@ -135,3 +135,4 @@ for.end: ; preds = %for.body
!7 = !{!"long long", !1}
!8 = !{!"int", !1}
!9 = !{!"float", !1}
+!10 = !{!1, !1, i64 0}
diff --git a/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll b/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
index 65b8ba570701..81b42d064810 100644
--- a/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
+++ b/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
@@ -807,7 +807,9 @@ define float @test_frem(float %arg1, float %arg2) {
; CHECK: [[RHS:%[0-9]+]](s32) = COPY %w1
; CHECK: [[ADDR:%[0-9]+]](p0) = COPY %x2
; CHECK: [[VAL:%[0-9]+]](s32), [[OVERFLOW:%[0-9]+]](s1) = G_SADDO [[LHS]], [[RHS]]
-; CHECK: [[RES:%[0-9]+]](s64) = G_SEQUENCE [[VAL]](s32), 0, [[OVERFLOW]](s1), 32
+; CHECK: [[TMP:%[0-9]+]](s64) = IMPLICIT_DEF
+; CHECK: [[TMP1:%[0-9]+]](s64) = G_INSERT [[TMP]], [[VAL]](s32), 0
+; CHECK: [[RES:%[0-9]+]](s64) = G_INSERT [[TMP1]], [[OVERFLOW]](s1), 32
; CHECK: G_STORE [[RES]](s64), [[ADDR]](p0)
declare { i32, i1 } @llvm.sadd.with.overflow.i32(i32, i32)
define void @test_sadd_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %addr) {
@@ -822,7 +824,9 @@ define void @test_sadd_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %addr) {
; CHECK: [[ADDR:%[0-9]+]](p0) = COPY %x2
; CHECK: [[ZERO:%[0-9]+]](s1) = G_CONSTANT i1 false
; CHECK: [[VAL:%[0-9]+]](s32), [[OVERFLOW:%[0-9]+]](s1) = G_UADDE [[LHS]], [[RHS]], [[ZERO]]
-; CHECK: [[RES:%[0-9]+]](s64) = G_SEQUENCE [[VAL]](s32), 0, [[OVERFLOW]](s1), 32
+; CHECK: [[TMP:%[0-9]+]](s64) = IMPLICIT_DEF
+; CHECK: [[TMP1:%[0-9]+]](s64) = G_INSERT [[TMP]], [[VAL]](s32), 0
+; CHECK: [[RES:%[0-9]+]](s64) = G_INSERT [[TMP1]], [[OVERFLOW]](s1), 32
; CHECK: G_STORE [[RES]](s64), [[ADDR]](p0)
declare { i32, i1 } @llvm.uadd.with.overflow.i32(i32, i32)
define void @test_uadd_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %addr) {
@@ -836,7 +840,9 @@ define void @test_uadd_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %addr) {
; CHECK: [[RHS:%[0-9]+]](s32) = COPY %w1
; CHECK: [[ADDR:%[0-9]+]](p0) = COPY %x2
; CHECK: [[VAL:%[0-9]+]](s32), [[OVERFLOW:%[0-9]+]](s1) = G_SSUBO [[LHS]], [[RHS]]
-; CHECK: [[RES:%[0-9]+]](s64) = G_SEQUENCE [[VAL]](s32), 0, [[OVERFLOW]](s1), 32
+; CHECK: [[TMP:%[0-9]+]](s64) = IMPLICIT_DEF
+; CHECK: [[TMP1:%[0-9]+]](s64) = G_INSERT [[TMP]], [[VAL]](s32), 0
+; CHECK: [[RES:%[0-9]+]](s64) = G_INSERT [[TMP1]], [[OVERFLOW]](s1), 32
; CHECK: G_STORE [[RES]](s64), [[ADDR]](p0)
declare { i32, i1 } @llvm.ssub.with.overflow.i32(i32, i32)
define void @test_ssub_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %subr) {
@@ -851,7 +857,9 @@ define void @test_ssub_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %subr) {
; CHECK: [[ADDR:%[0-9]+]](p0) = COPY %x2
; CHECK: [[ZERO:%[0-9]+]](s1) = G_CONSTANT i1 false
; CHECK: [[VAL:%[0-9]+]](s32), [[OVERFLOW:%[0-9]+]](s1) = G_USUBE [[LHS]], [[RHS]], [[ZERO]]
-; CHECK: [[RES:%[0-9]+]](s64) = G_SEQUENCE [[VAL]](s32), 0, [[OVERFLOW]](s1), 32
+; CHECK: [[TMP:%[0-9]+]](s64) = IMPLICIT_DEF
+; CHECK: [[TMP1:%[0-9]+]](s64) = G_INSERT [[TMP]], [[VAL]](s32), 0
+; CHECK: [[RES:%[0-9]+]](s64) = G_INSERT [[TMP1]], [[OVERFLOW]](s1), 32
; CHECK: G_STORE [[RES]](s64), [[ADDR]](p0)
declare { i32, i1 } @llvm.usub.with.overflow.i32(i32, i32)
define void @test_usub_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %subr) {
@@ -865,7 +873,9 @@ define void @test_usub_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %subr) {
; CHECK: [[RHS:%[0-9]+]](s32) = COPY %w1
; CHECK: [[ADDR:%[0-9]+]](p0) = COPY %x2
; CHECK: [[VAL:%[0-9]+]](s32), [[OVERFLOW:%[0-9]+]](s1) = G_SMULO [[LHS]], [[RHS]]
-; CHECK: [[RES:%[0-9]+]](s64) = G_SEQUENCE [[VAL]](s32), 0, [[OVERFLOW]](s1), 32
+; CHECK: [[TMP:%[0-9]+]](s64) = IMPLICIT_DEF
+; CHECK: [[TMP1:%[0-9]+]](s64) = G_INSERT [[TMP]], [[VAL]](s32), 0
+; CHECK: [[RES:%[0-9]+]](s64) = G_INSERT [[TMP1]], [[OVERFLOW]](s1), 32
; CHECK: G_STORE [[RES]](s64), [[ADDR]](p0)
declare { i32, i1 } @llvm.smul.with.overflow.i32(i32, i32)
define void @test_smul_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %addr) {
@@ -879,7 +889,9 @@ define void @test_smul_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %addr) {
; CHECK: [[RHS:%[0-9]+]](s32) = COPY %w1
; CHECK: [[ADDR:%[0-9]+]](p0) = COPY %x2
; CHECK: [[VAL:%[0-9]+]](s32), [[OVERFLOW:%[0-9]+]](s1) = G_UMULO [[LHS]], [[RHS]]
-; CHECK: [[RES:%[0-9]+]](s64) = G_SEQUENCE [[VAL]](s32), 0, [[OVERFLOW]](s1), 32
+; CHECK: [[TMP:%[0-9]+]](s64) = IMPLICIT_DEF
+; CHECK: [[TMP1:%[0-9]+]](s64) = G_INSERT [[TMP]], [[VAL]](s32), 0
+; CHECK: [[RES:%[0-9]+]](s64) = G_INSERT [[TMP1]], [[OVERFLOW]](s1), 32
; CHECK: G_STORE [[RES]](s64), [[ADDR]](p0)
declare { i32, i1 } @llvm.umul.with.overflow.i32(i32, i32)
define void @test_umul_overflow(i32 %lhs, i32 %rhs, { i32, i1 }* %addr) {
@@ -1247,6 +1259,18 @@ define float @test_pow_intrin(float %l, float %r) {
ret float %res
}
+declare float @llvm.fma.f32(float, float, float)
+define float @test_fma_intrin(float %a, float %b, float %c) {
+; CHECK-LABEL: name: test_fma_intrin
+; CHECK: [[A:%[0-9]+]](s32) = COPY %s0
+; CHECK: [[B:%[0-9]+]](s32) = COPY %s1
+; CHECK: [[C:%[0-9]+]](s32) = COPY %s2
+; CHECK: [[RES:%[0-9]+]](s32) = G_FMA [[A]], [[B]], [[C]]
+; CHECK: %s0 = COPY [[RES]]
+ %res = call float @llvm.fma.f32(float %a, float %b, float %c)
+ ret float %res
+}
+
declare void @llvm.lifetime.start.p0i8(i64, i8*)
declare void @llvm.lifetime.end.p0i8(i64, i8*)
define void @test_lifetime_intrin() {
diff --git a/test/CodeGen/AArch64/GlobalISel/call-translator.ll b/test/CodeGen/AArch64/GlobalISel/call-translator.ll
index e923a0b2847f..0e593fdb7b85 100644
--- a/test/CodeGen/AArch64/GlobalISel/call-translator.ll
+++ b/test/CodeGen/AArch64/GlobalISel/call-translator.ll
@@ -113,7 +113,7 @@ define {double, i64, i32} @test_struct_return({double, i64, i32}* %addr) {
; CHECK: [[E1:%[0-9]+]](s64) = COPY %x1
; CHECK: [[E2:%[0-9]+]](s64) = COPY %x2
; CHECK: [[E3:%[0-9]+]](s64) = COPY %x3
-; CHECK: [[RES:%[0-9]+]](s256) = G_SEQUENCE [[E0]](s64), 0, [[E1]](s64), 64, [[E2]](s64), 128, [[E3]](s64), 192
+; CHECK: [[RES:%[0-9]+]](s256) = G_MERGE_VALUES [[E0]](s64), [[E1]](s64), [[E2]](s64), [[E3]](s64)
; CHECK: G_EXTRACT [[RES]](s256), 64
declare [4 x i64] @arr_callee([4 x i64])
define i64 @test_arr_call([4 x i64]* %addr) {
diff --git a/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir b/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
index fab6dcf43346..e3e0175d39ac 100644
--- a/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
+++ b/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
@@ -3,7 +3,6 @@
--- |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "aarch64--"
- define void @test_combines_1() { ret void }
define void @test_combines_2() { ret void }
define void @test_combines_3() { ret void }
define void @test_combines_4() { ret void }
@@ -12,31 +11,6 @@
...
---
-name: test_combines_1
-body: |
- bb.0:
- liveins: %w0
-
- %0:_(s32) = COPY %w0
- %1:_(s8) = G_TRUNC %0
-
- ; Only one of these extracts can be eliminated, the offsets don't match
- ; properly in the other cases.
- ; CHECK-LABEL: name: test_combines_1
- ; CHECK: %2(s32) = G_SEQUENCE %1(s8), 1
- ; CHECK: %3(s8) = G_EXTRACT %2(s32), 0
- ; CHECK-NOT: G_EXTRACT
- ; CHECK: %5(s8) = G_EXTRACT %2(s32), 2
- ; CHECK: %6(s32) = G_ZEXT %1(s8)
-
- %2:_(s32) = G_SEQUENCE %1, 1
- %3:_(s8) = G_EXTRACT %2, 0
- %4:_(s8) = G_EXTRACT %2, 1
- %5:_(s8) = G_EXTRACT %2, 2
- %6:_(s32) = G_ZEXT %4
-...
-
----
name: test_combines_2
body: |
bb.0:
@@ -46,11 +20,11 @@ body: |
; Similarly, here the types don't match.
; CHECK-LABEL: name: test_combines_2
- ; CHECK: %2(s64) = G_SEQUENCE %0(s32), 0, %1(s32), 32
+ ; CHECK: %2(s64) = G_MERGE_VALUES %0(s32), %1(s32)
; CHECK: %3(s1) = G_EXTRACT %2(s64), 0
; CHECK: %4(s64) = G_EXTRACT %2(s64), 0
%1:_(s32) = G_ADD %0, %0
- %2:_(s64) = G_SEQUENCE %0, 0, %1, 32
+ %2:_(s64) = G_MERGE_VALUES %0, %1
%3:_(s1) = G_EXTRACT %2, 0
%4:_(s64) = G_EXTRACT %2, 0
...
@@ -69,9 +43,8 @@ body: |
; CHECK-NOT: G_EXTRACT
; CHECK: %5(s32) = G_ADD %0, %1
%1:_(s32) = G_ADD %0, %0
- %2:_(s64) = G_SEQUENCE %0, 0, %1, 32
- %3:_(s32) = G_EXTRACT %2, 0
- %4:_(s32) = G_EXTRACT %2, 32
+ %2:_(s64) = G_MERGE_VALUES %0, %1
+ %3:_(s32), %4:_(s32) = G_UNMERGE_VALUES %2
%5:_(s32) = G_ADD %3, %4
...
@@ -86,7 +59,7 @@ body: |
; CHECK-LABEL: name: test_combines_4
; CHECK: %2(<2 x s32>) = G_EXTRACT %1(s128), 0
; CHECK: %3(<2 x s32>) = G_ADD %2, %2
- %1:_(s128) = G_SEQUENCE %0, 0, %0, 64
+ %1:_(s128) = G_MERGE_VALUES %0, %0
%2:_(<2 x s32>) = G_EXTRACT %1, 0
%3:_(<2 x s32>) = G_ADD %2, %2
...
@@ -100,13 +73,12 @@ body: |
%0:_(s32) = COPY %w0
; CHECK-LABEL: name: test_combines_5
- ; CHECK-NOT: G_SEQUENCE
+ ; CHECK-NOT: G_MERGE_VALUES
; CHECK-NOT: G_EXTRACT
; CHECK: %5(s32) = G_ADD %0, %1
%1:_(s32) = G_ADD %0, %0
- %2:_(s64) = G_SEQUENCE %0, 0, %1, 32
- %3:_(s32) = G_EXTRACT %2, 0
- %4:_(s32) = G_EXTRACT %2, 32
+ %2:_(s64) = G_MERGE_VALUES %0, %1
+ %3:_(s32), %4:_(s32) = G_UNMERGE_VALUES %2
%5:_(s32) = G_ADD %3, %4
...
@@ -121,12 +93,12 @@ body: |
%0:_(s32) = COPY %w0
; Check that we replace all the uses of a G_EXTRACT.
- ; CHECK-NOT: G_SEQUENCE
+ ; CHECK-NOT: G_MERGE_VALUES
; CHECK-NOT: G_EXTRACT
; CHECK: %3(s32) = G_MUL %0, %0
; CHECK: %4(s32) = G_ADD %0, %3
- %1:_(s32) = G_SEQUENCE %0, 0
- %2:_(s32) = G_EXTRACT %1, 0
+ %1:_(s32) = G_MERGE_VALUES %0
+ %2:_(s32) = G_UNMERGE_VALUES %1
%3:_(s32) = G_MUL %2, %2
%4:_(s32) = G_ADD %2, %3
...
diff --git a/test/CodeGen/AArch64/GlobalISel/no-regclass.mir b/test/CodeGen/AArch64/GlobalISel/no-regclass.mir
index 6832ce0ee8bd..741d76b830c1 100644
--- a/test/CodeGen/AArch64/GlobalISel/no-regclass.mir
+++ b/test/CodeGen/AArch64/GlobalISel/no-regclass.mir
@@ -24,7 +24,7 @@ body: |
bb.0:
liveins: %w0
%0:gpr(s32) = COPY %w0
- %1:gpr(s32) = G_SEQUENCE %0(s32), 0
- %2:gpr(s32) = G_EXTRACT %1(s32), 0
+ %1:gpr(s32) = G_MERGE_VALUES %0(s32)
+ %2:gpr(s32) = G_UNMERGE_VALUES %1(s32)
%w0 = COPY %2(s32)
...
diff --git a/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir b/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
index d871a80661a8..5e4034d16242 100644
--- a/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
+++ b/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
@@ -95,7 +95,7 @@ regBankSelected: true
# CHECK: registers:
# CHECK-NEXT: - { id: 0, class: fpr32, preferred-register: '' }
-# CHECK-NEXT: - { id: 1, class: gpr32all, preferred-register: '' }
+# CHECK-NEXT: - { id: 1, class: gpr32, preferred-register: '' }
registers:
- { id: 0, class: fpr }
- { id: 1, class: gpr }
@@ -194,7 +194,7 @@ regBankSelected: true
# CHECK: registers:
# CHECK-NEXT: - { id: 0, class: fpr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 1, class: gpr64all, preferred-register: '' }
+# CHECK-NEXT: - { id: 1, class: gpr64, preferred-register: '' }
registers:
- { id: 0, class: fpr }
- { id: 1, class: gpr }
diff --git a/test/CodeGen/AArch64/arm64-early-ifcvt.ll b/test/CodeGen/AArch64/arm64-early-ifcvt.ll
index 388f50c3edb6..bf5db5058cee 100644
--- a/test/CodeGen/AArch64/arm64-early-ifcvt.ll
+++ b/test/CodeGen/AArch64/arm64-early-ifcvt.ll
@@ -27,7 +27,7 @@ if.else:
do.cond:
%max.1 = phi i32 [ %0, %do.body ], [ %max.0, %if.else ]
%min.1 = phi i32 [ %min.0, %do.body ], [ %.min.0, %if.else ]
-; CHECK: cbnz
+; CHECK: b.ne
%dec = add i32 %n.addr.0, -1
%tobool = icmp eq i32 %dec, 0
br i1 %tobool, label %do.end, label %do.body
diff --git a/test/CodeGen/AArch64/arm64-neon-copy.ll b/test/CodeGen/AArch64/arm64-neon-copy.ll
index a7b95e717910..16834b7e315b 100644
--- a/test/CodeGen/AArch64/arm64-neon-copy.ll
+++ b/test/CodeGen/AArch64/arm64-neon-copy.ll
@@ -1378,7 +1378,7 @@ entry:
define <2 x i64> @test_concat_v2i64_v2i64_v1i64(<2 x i64> %x, <1 x i64> %y) #0 {
; CHECK-LABEL: test_concat_v2i64_v2i64_v1i64:
-; CHECK: ins {{v[0-9]+}}.d[1], {{v[0-9]+}}.d[0]
+; CHECK: zip1 {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, {{v[0-9]+}}.2d
entry:
%vecext = extractelement <2 x i64> %x, i32 0
%vecinit = insertelement <2 x i64> undef, i64 %vecext, i32 0
diff --git a/test/CodeGen/AArch64/arm64-shrink-v1i64.ll b/test/CodeGen/AArch64/arm64-shrink-v1i64.ll
index 3e926d427403..57cc8120b91a 100644
--- a/test/CodeGen/AArch64/arm64-shrink-v1i64.ll
+++ b/test/CodeGen/AArch64/arm64-shrink-v1i64.ll
@@ -3,7 +3,7 @@
; The DAGCombiner tries to do following shrink:
; Convert x+y to (VT)((SmallVT)x+(SmallVT)y)
; But currently it can't handle vector type and will trigger an assertion failure
-; when it tries to generate an add mixed using vector type and scaler type.
+; when it tries to generate an add mixed using vector type and scalar type.
; This test checks that such assertion failur should not happen.
define <1 x i64> @dotest(<1 x i64> %in0) {
entry:
diff --git a/test/CodeGen/AArch64/arm64-shrink-wrapping.ll b/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
index 4df220eddbbb..0253229c0d7f 100644
--- a/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
+++ b/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
@@ -78,9 +78,9 @@ declare i32 @doSomething(i32, i32*)
; Next BB.
; CHECK: [[LOOP:LBB[0-9_]+]]: ; %for.body
; CHECK: bl _something
-; CHECK-NEXT: sub [[IV]], [[IV]], #1
+; CHECK-NEXT: subs [[IV]], [[IV]], #1
; CHECK-NEXT: add [[SUM]], w0, [[SUM]]
-; CHECK-NEXT: cbnz [[IV]], [[LOOP]]
+; CHECK-NEXT: b.ne [[LOOP]]
;
; Next BB.
; Copy SUM into the returned register + << 3.
@@ -144,9 +144,9 @@ declare i32 @something(...)
; Next BB.
; CHECK: [[LOOP_LABEL:LBB[0-9_]+]]: ; %for.body
; CHECK: bl _something
-; CHECK-NEXT: sub [[IV]], [[IV]], #1
+; CHECK-NEXT: subs [[IV]], [[IV]], #1
; CHECK-NEXT: add [[SUM]], w0, [[SUM]]
-; CHECK-NEXT: cbnz [[IV]], [[LOOP_LABEL]]
+; CHECK-NEXT: b.ne [[LOOP_LABEL]]
; Next BB.
; CHECK: ; %for.end
; CHECK: mov w0, [[SUM]]
@@ -188,9 +188,9 @@ for.end: ; preds = %for.body
;
; CHECK: [[LOOP_LABEL:LBB[0-9_]+]]: ; %for.body
; CHECK: bl _something
-; CHECK-NEXT: sub [[IV]], [[IV]], #1
+; CHECK-NEXT: subs [[IV]], [[IV]], #1
; CHECK-NEXT: add [[SUM]], w0, [[SUM]]
-; CHECK-NEXT: cbnz [[IV]], [[LOOP_LABEL]]
+; CHECK-NEXT: b.ne [[LOOP_LABEL]]
; Next BB.
; CHECK: bl _somethingElse
; CHECK-NEXT: lsl w0, [[SUM]], #3
@@ -259,9 +259,9 @@ declare void @somethingElse(...)
;
; CHECK: [[LOOP_LABEL:LBB[0-9_]+]]: ; %for.body
; CHECK: bl _something
-; CHECK-NEXT: sub [[IV]], [[IV]], #1
+; CHECK-NEXT: subs [[IV]], [[IV]], #1
; CHECK-NEXT: add [[SUM]], w0, [[SUM]]
-; CHECK-NEXT: cbnz [[IV]], [[LOOP_LABEL]]
+; CHECK-NEXT: b.ne [[LOOP_LABEL]]
; Next BB.
; CHECK: lsl w0, [[SUM]], #3
;
@@ -343,9 +343,9 @@ entry:
; CHECK-NEXT: add [[NEXT_VA_ADDR:x[0-9]+]], [[VA_ADDR]], #8
; CHECK-NEXT: str [[NEXT_VA_ADDR]], [sp, #8]
; CHECK-NEXT: ldr [[VA_VAL:w[0-9]+]], {{\[}}[[VA_ADDR]]]
-; CHECK-NEXT: sub w1, w1, #1
+; CHECK-NEXT: subs w1, w1, #1
; CHECK-NEXT: add [[SUM]], [[SUM]], [[VA_VAL]]
-; CHECK-NEXT: cbnz w1, [[LOOP_LABEL]]
+; CHECK-NEXT: b.ne [[LOOP_LABEL]]
; CHECK-NEXT: [[IFEND_LABEL]]:
; Epilogue code.
; CHECK: add sp, sp, #16
@@ -409,9 +409,9 @@ declare void @llvm.va_end(i8*)
;
; CHECK: [[LOOP_LABEL:LBB[0-9_]+]]: ; %for.body
; Inline asm statement.
-; CHECK: sub [[IV]], [[IV]], #1
+; CHECK: subs [[IV]], [[IV]], #1
; CHECK: add x19, x19, #1
-; CHECK: cbnz [[IV]], [[LOOP_LABEL]]
+; CHECK: b.ne [[LOOP_LABEL]]
; Next BB.
; CHECK: mov w0, wzr
; Epilogue code.
diff --git a/test/CodeGen/AArch64/atomic-ops-lse.ll b/test/CodeGen/AArch64/atomic-ops-lse.ll
new file mode 100644
index 000000000000..a85eb6b46aff
--- /dev/null
+++ b/test/CodeGen/AArch64/atomic-ops-lse.ll
@@ -0,0 +1,683 @@
+; RUN: llc -mtriple=aarch64-none-linux-gnu -disable-post-ra -verify-machineinstrs -mattr=+lse < %s | FileCheck %s
+; RUN: llc -mtriple=aarch64-none-linux-gnu -disable-post-ra -verify-machineinstrs -mattr=+lse < %s | FileCheck %s --check-prefix=CHECK-REG
+
+; Point of CHECK-REG is to make sure UNPREDICTABLE instructions aren't created
+; (i.e. reusing a register for status & data in store exclusive).
+; CHECK-REG-NOT: stlxrb w[[NEW:[0-9]+]], w[[NEW]], [x{{[0-9]+}}]
+; CHECK-REG-NOT: stlxrb w[[NEW:[0-9]+]], x[[NEW]], [x{{[0-9]+}}]
+
+@var8 = global i8 0
+@var16 = global i16 0
+@var32 = global i32 0
+@var64 = global i64 0
+
+define i8 @test_atomic_load_add_i8(i8 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_add_i8:
+ %old = atomicrmw add i8* @var8, i8 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
+
+; CHECK: ldaddalb w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i8 %old
+}
+
+define i16 @test_atomic_load_add_i16(i16 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_add_i16:
+ %old = atomicrmw add i16* @var16, i16 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
+
+; CHECK: ldaddalh w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i16 %old
+}
+
+define i32 @test_atomic_load_add_i32(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_add_i32:
+ %old = atomicrmw add i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldaddal w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i32 %old
+}
+
+define i64 @test_atomic_load_add_i64(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_add_i64:
+ %old = atomicrmw add i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldaddal x[[OLD:[0-9]+]], x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i64 %old
+}
+
+define void @test_atomic_load_add_i32_noret(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_add_i32_noret:
+ atomicrmw add i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldaddal w0, w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define void @test_atomic_load_add_i64_noret(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_add_i64_noret:
+ atomicrmw add i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldaddal x0, x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define i8 @test_atomic_load_or_i8(i8 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_or_i8:
+ %old = atomicrmw or i8* @var8, i8 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
+
+; CHECK: ldsetalb w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i8 %old
+}
+
+define i16 @test_atomic_load_or_i16(i16 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_or_i16:
+ %old = atomicrmw or i16* @var16, i16 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
+
+; CHECK: ldsetalh w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i16 %old
+}
+
+define i32 @test_atomic_load_or_i32(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_or_i32:
+ %old = atomicrmw or i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldsetal w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i32 %old
+}
+
+define i64 @test_atomic_load_or_i64(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_or_i64:
+ %old = atomicrmw or i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldsetal x[[OLD:[0-9]+]], x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i64 %old
+}
+
+define void @test_atomic_load_or_i32_noret(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_or_i32_noret:
+ atomicrmw or i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldsetal w0, w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define void @test_atomic_load_or_i64_noret(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_or_i64_noret:
+ atomicrmw or i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldsetal x0, x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define i8 @test_atomic_load_xor_i8(i8 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xor_i8:
+ %old = atomicrmw xor i8* @var8, i8 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
+
+; CHECK: ldeoralb w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i8 %old
+}
+
+define i16 @test_atomic_load_xor_i16(i16 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xor_i16:
+ %old = atomicrmw xor i16* @var16, i16 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
+
+; CHECK: ldeoralh w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i16 %old
+}
+
+define i32 @test_atomic_load_xor_i32(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xor_i32:
+ %old = atomicrmw xor i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldeoral w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i32 %old
+}
+
+define i64 @test_atomic_load_xor_i64(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xor_i64:
+ %old = atomicrmw xor i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldeoral x[[OLD:[0-9]+]], x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i64 %old
+}
+
+define void @test_atomic_load_xor_i32_noret(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xor_i32_noret:
+ atomicrmw xor i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldeoral w0, w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define void @test_atomic_load_xor_i64_noret(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xor_i64_noret:
+ atomicrmw xor i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldeoral x0, x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define i8 @test_atomic_load_min_i8(i8 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_min_i8:
+ %old = atomicrmw min i8* @var8, i8 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
+
+; CHECK: ldsminalb w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i8 %old
+}
+
+define i16 @test_atomic_load_min_i16(i16 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_min_i16:
+ %old = atomicrmw min i16* @var16, i16 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
+
+; CHECK: ldsminalh w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i16 %old
+}
+
+define i32 @test_atomic_load_min_i32(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_min_i32:
+ %old = atomicrmw min i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldsminal w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i32 %old
+}
+
+define i64 @test_atomic_load_min_i64(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_min_i64:
+ %old = atomicrmw min i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldsminal x[[OLD:[0-9]+]], x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i64 %old
+}
+
+define void @test_atomic_load_min_i32_noret(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_min_i32_noret:
+ atomicrmw min i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldsminal w0, w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define void @test_atomic_load_min_i64_noret(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_min_i64_noret:
+ atomicrmw min i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldsminal x0, x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define i8 @test_atomic_load_umin_i8(i8 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umin_i8:
+ %old = atomicrmw umin i8* @var8, i8 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
+
+; CHECK: lduminalb w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i8 %old
+}
+
+define i16 @test_atomic_load_umin_i16(i16 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umin_i16:
+ %old = atomicrmw umin i16* @var16, i16 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
+
+; CHECK: lduminalh w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i16 %old
+}
+
+define i32 @test_atomic_load_umin_i32(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umin_i32:
+ %old = atomicrmw umin i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: lduminal w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i32 %old
+}
+
+define i64 @test_atomic_load_umin_i64(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umin_i64:
+ %old = atomicrmw umin i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: lduminal x[[OLD:[0-9]+]], x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i64 %old
+}
+
+define void @test_atomic_load_umin_i32_noret(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umin_i32_noret:
+ atomicrmw umin i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: lduminal w0, w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define void @test_atomic_load_umin_i64_noret(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umin_i64_noret:
+ atomicrmw umin i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: lduminal x0, x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define i8 @test_atomic_load_max_i8(i8 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_max_i8:
+ %old = atomicrmw max i8* @var8, i8 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
+
+; CHECK: ldsmaxalb w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i8 %old
+}
+
+define i16 @test_atomic_load_max_i16(i16 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_max_i16:
+ %old = atomicrmw max i16* @var16, i16 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
+
+; CHECK: ldsmaxalh w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i16 %old
+}
+
+define i32 @test_atomic_load_max_i32(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_max_i32:
+ %old = atomicrmw max i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldsmaxal w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i32 %old
+}
+
+define i64 @test_atomic_load_max_i64(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_max_i64:
+ %old = atomicrmw max i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldsmaxal x[[OLD:[0-9]+]], x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i64 %old
+}
+
+define void @test_atomic_load_max_i32_noret(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_max_i32_noret:
+ atomicrmw max i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldsmaxal w0, w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define void @test_atomic_load_max_i64_noret(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_max_i64_noret:
+ atomicrmw max i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldsmaxal x0, x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define i8 @test_atomic_load_umax_i8(i8 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umax_i8:
+ %old = atomicrmw umax i8* @var8, i8 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
+
+; CHECK: ldumaxalb w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i8 %old
+}
+
+define i16 @test_atomic_load_umax_i16(i16 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umax_i16:
+ %old = atomicrmw umax i16* @var16, i16 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
+
+; CHECK: ldumaxalh w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i16 %old
+}
+
+define i32 @test_atomic_load_umax_i32(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umax_i32:
+ %old = atomicrmw umax i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldumaxal w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i32 %old
+}
+
+define i64 @test_atomic_load_umax_i64(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umax_i64:
+ %old = atomicrmw umax i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldumaxal x[[OLD:[0-9]+]], x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i64 %old
+}
+
+define void @test_atomic_load_umax_i32_noret(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umax_i32_noret:
+ atomicrmw umax i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: ldumaxal w0, w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define void @test_atomic_load_umax_i64_noret(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_umax_i64_noret:
+ atomicrmw umax i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: ldumaxal x0, x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+ ret void
+}
+
+define i8 @test_atomic_load_xchg_i8(i8 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xchg_i8:
+ %old = atomicrmw xchg i8* @var8, i8 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
+
+; CHECK: swpalb w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i8 %old
+}
+
+define i16 @test_atomic_load_xchg_i16(i16 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xchg_i16:
+ %old = atomicrmw xchg i16* @var16, i16 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
+
+; CHECK: swpalh w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i16 %old
+}
+
+define i32 @test_atomic_load_xchg_i32(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xchg_i32:
+ %old = atomicrmw xchg i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: swpal w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i32 %old
+}
+
+define i64 @test_atomic_load_xchg_i64(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xchg_i64:
+ %old = atomicrmw xchg i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: swpal x[[OLD:[0-9]+]], x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i64 %old
+}
+
+define void @test_atomic_load_xchg_i32_noret(i32 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xchg_i32_noret:
+ atomicrmw xchg i32* @var32, i32 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: swpal w[[OLD:[0-9]+]], w[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret void
+}
+
+define void @test_atomic_load_xchg_i64_noret(i64 %offset) nounwind {
+; CHECK-LABEL: test_atomic_load_xchg_i64_noret:
+ atomicrmw xchg i64* @var64, i64 %offset seq_cst
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: swpal x[[OLD:[0-9]+]], x[[NEW:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret void
+}
+
+define i8 @test_atomic_cmpxchg_i8(i8 %wanted, i8 %new) nounwind {
+; CHECK-LABEL: test_atomic_cmpxchg_i8:
+ %pair = cmpxchg i8* @var8, i8 %wanted, i8 %new acquire acquire
+ %old = extractvalue { i8, i1 } %pair, 0
+
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
+
+; CHECK: casalb w[[NEW:[0-9]+]], w[[OLD:[0-9]+]], [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i8 %old
+}
+
+define i16 @test_atomic_cmpxchg_i16(i16 %wanted, i16 %new) nounwind {
+; CHECK-LABEL: test_atomic_cmpxchg_i16:
+ %pair = cmpxchg i16* @var16, i16 %wanted, i16 %new acquire acquire
+ %old = extractvalue { i16, i1 } %pair, 0
+
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
+
+; CHECK: casalh w0, w1, [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i16 %old
+}
+
+define i32 @test_atomic_cmpxchg_i32(i32 %wanted, i32 %new) nounwind {
+; CHECK-LABEL: test_atomic_cmpxchg_i32:
+ %pair = cmpxchg i32* @var32, i32 %wanted, i32 %new acquire acquire
+ %old = extractvalue { i32, i1 } %pair, 0
+
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
+
+; CHECK: casal w0, w1, [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i32 %old
+}
+
+define i64 @test_atomic_cmpxchg_i64(i64 %wanted, i64 %new) nounwind {
+; CHECK-LABEL: test_atomic_cmpxchg_i64:
+ %pair = cmpxchg i64* @var64, i64 %wanted, i64 %new acquire acquire
+ %old = extractvalue { i64, i1 } %pair, 0
+
+; CHECK-NOT: dmb
+; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
+; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
+
+; CHECK: casal x0, x1, [x[[ADDR]]]
+; CHECK-NOT: dmb
+
+ ret i64 %old
+}
+
diff --git a/test/CodeGen/AArch64/cond-br-tuning.ll b/test/CodeGen/AArch64/cond-br-tuning.ll
new file mode 100644
index 000000000000..628d89e34a01
--- /dev/null
+++ b/test/CodeGen/AArch64/cond-br-tuning.ll
@@ -0,0 +1,169 @@
+; RUN: llc < %s -O3 -mtriple=aarch64-eabi -verify-machineinstrs | FileCheck %s
+
+target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
+target triple = "aarch64-linaro-linux-gnueabi"
+
+; CMN is an alias of ADDS.
+; CHECK-LABEL: test_add_cbz:
+; CHECK: cmn w0, w1
+; CHECK: b.eq
+; CHECK: ret
+define void @test_add_cbz(i32 %a, i32 %b, i32* %ptr) {
+ %c = add nsw i32 %a, %b
+ %d = icmp ne i32 %c, 0
+ br i1 %d, label %L1, label %L2
+L1:
+ store i32 0, i32* %ptr, align 4
+ ret void
+L2:
+ store i32 1, i32* %ptr, align 4
+ ret void
+}
+
+; CHECK-LABEL: test_add_cbz_multiple_use:
+; CHECK: adds
+; CHECK: b.eq
+; CHECK: ret
+define void @test_add_cbz_multiple_use(i32 %a, i32 %b, i32* %ptr) {
+ %c = add nsw i32 %a, %b
+ %d = icmp ne i32 %c, 0
+ br i1 %d, label %L1, label %L2
+L1:
+ store i32 0, i32* %ptr, align 4
+ ret void
+L2:
+ store i32 %c, i32* %ptr, align 4
+ ret void
+}
+
+; CHECK-LABEL: test_add_cbz_64:
+; CHECK: cmn x0, x1
+; CHECK: b.eq
+define void @test_add_cbz_64(i64 %a, i64 %b, i64* %ptr) {
+ %c = add nsw i64 %a, %b
+ %d = icmp ne i64 %c, 0
+ br i1 %d, label %L1, label %L2
+L1:
+ store i64 0, i64* %ptr, align 4
+ ret void
+L2:
+ store i64 1, i64* %ptr, align 4
+ ret void
+}
+
+; CHECK-LABEL: test_and_cbz:
+; CHECK: tst w0, #0x6
+; CHECK: b.eq
+define void @test_and_cbz(i32 %a, i32* %ptr) {
+ %c = and i32 %a, 6
+ %d = icmp ne i32 %c, 0
+ br i1 %d, label %L1, label %L2
+L1:
+ store i32 0, i32* %ptr, align 4
+ ret void
+L2:
+ store i32 1, i32* %ptr, align 4
+ ret void
+}
+
+; CHECK-LABEL: test_bic_cbnz:
+; CHECK: bics wzr, w1, w0
+; CHECK: b.ne
+define void @test_bic_cbnz(i32 %a, i32 %b, i32* %ptr) {
+ %c = and i32 %a, %b
+ %d = icmp eq i32 %c, %b
+ br i1 %d, label %L1, label %L2
+L1:
+ store i32 0, i32* %ptr, align 4
+ ret void
+L2:
+ store i32 1, i32* %ptr, align 4
+ ret void
+}
+
+; CHECK-LABEL: test_add_tbz:
+; CHECK: adds
+; CHECK: b.ge
+; CHECK: ret
+define void @test_add_tbz(i32 %a, i32 %b, i32* %ptr) {
+entry:
+ %add = add nsw i32 %a, %b
+ %cmp36 = icmp sge i32 %add, 0
+ br i1 %cmp36, label %L2, label %L1
+L1:
+ store i32 %add, i32* %ptr, align 8
+ br label %L2
+L2:
+ ret void
+}
+
+; CHECK-LABEL: test_subs_tbz:
+; CHECK: subs
+; CHECK: b.ge
+; CHECK: ret
+define void @test_subs_tbz(i32 %a, i32 %b, i32* %ptr) {
+entry:
+ %sub = sub nsw i32 %a, %b
+ %cmp36 = icmp sge i32 %sub, 0
+ br i1 %cmp36, label %L2, label %L1
+L1:
+ store i32 %sub, i32* %ptr, align 8
+ br label %L2
+L2:
+ ret void
+}
+
+; CHECK-LABEL: test_add_tbnz
+; CHECK: adds
+; CHECK: b.lt
+; CHECK: ret
+define void @test_add_tbnz(i32 %a, i32 %b, i32* %ptr) {
+entry:
+ %add = add nsw i32 %a, %b
+ %cmp36 = icmp slt i32 %add, 0
+ br i1 %cmp36, label %L2, label %L1
+L1:
+ store i32 %add, i32* %ptr, align 8
+ br label %L2
+L2:
+ ret void
+}
+
+; CHECK-LABEL: test_subs_tbnz
+; CHECK: subs
+; CHECK: b.lt
+; CHECK: ret
+define void @test_subs_tbnz(i32 %a, i32 %b, i32* %ptr) {
+entry:
+ %sub = sub nsw i32 %a, %b
+ %cmp36 = icmp slt i32 %sub, 0
+ br i1 %cmp36, label %L2, label %L1
+L1:
+ store i32 %sub, i32* %ptr, align 8
+ br label %L2
+L2:
+ ret void
+}
+
+declare void @foo()
+declare void @bar(i32)
+
+; Don't transform since the call will clobber the NZCV bits.
+; CHECK-LABEL: test_call_clobber:
+; CHECK: and w[[DST:[0-9]+]], w1, #0x6
+; CHECK: bl bar
+; CHECK: cbnz w[[DST]]
+define void @test_call_clobber(i32 %unused, i32 %a) {
+entry:
+ %c = and i32 %a, 6
+ call void @bar(i32 %c)
+ %tobool = icmp eq i32 %c, 0
+ br i1 %tobool, label %if.end, label %if.then
+
+if.then:
+ tail call void @foo()
+ unreachable
+
+if.end:
+ ret void
+}
diff --git a/test/CodeGen/AArch64/ldst-opt.ll b/test/CodeGen/AArch64/ldst-opt.ll
index b09fab8d8b46..975e5ae8b953 100644
--- a/test/CodeGen/AArch64/ldst-opt.ll
+++ b/test/CodeGen/AArch64/ldst-opt.ll
@@ -1608,3 +1608,63 @@ entry:
store <4 x double> zeroinitializer, <4 x double>* %p
ret void
}
+
+; Verify that non-consecutive merges do not generate q0
+define void @merge_multiple_128bit_stores(i64* %p) {
+; CHECK-LABEL: merge_multiple_128bit_stores
+; CHECK: // %entry
+; NOSTRICTALIGN-NEXT: movi v[[REG:[0-9]]].2d, #0000000000000000
+; NOSTRICTALIGN-NEXT: str q0, [x0]
+; NOSTRICTALIGN-NEXT: stur q0, [x0, #24]
+; NOSTRICTALIGN-NEXT: str q0, [x0, #48]
+; STRICTALIGN-NEXT: stp xzr, xzr, [x0]
+; STRICTALIGN-NEXT: stp xzr, xzr, [x0, #24]
+; STRICTALIGN-NEXT: stp xzr, xzr, [x0, #48]
+; CHECK-NEXT: ret
+entry:
+ store i64 0, i64* %p
+ %p1 = getelementptr i64, i64* %p, i64 1
+ store i64 0, i64* %p1
+ %p3 = getelementptr i64, i64* %p, i64 3
+ store i64 0, i64* %p3
+ %p4 = getelementptr i64, i64* %p, i64 4
+ store i64 0, i64* %p4
+ %p6 = getelementptr i64, i64* %p, i64 6
+ store i64 0, i64* %p6
+ %p7 = getelementptr i64, i64* %p, i64 7
+ store i64 0, i64* %p7
+ ret void
+}
+
+; Verify that large stores generate stp q
+define void @merge_multiple_128bit_stores_consec(i64* %p) {
+; CHECK-LABEL: merge_multiple_128bit_stores_consec
+; CHECK: // %entry
+; NOSTRICTALIGN-NEXT: movi v[[REG:[0-9]]].2d, #0000000000000000
+; NOSTRICTALIGN-NEXT: stp q[[REG]], q[[REG]], [x{{[0-9]+}}]
+; NOSTRICTALIGN-NEXT: stp q[[REG]], q[[REG]], [x{{[0-9]+}}, #32]
+; STRICTALIGN-NEXT: stp xzr, xzr, [x0]
+; STRICTALIGN-NEXT: stp xzr, xzr, [x0, #16]
+; STRICTALIGN-NEXT: stp xzr, xzr, [x0, #32]
+; STRICTALIGN-NEXT: stp xzr, xzr, [x0, #48]
+; CHECK-NEXT: ret
+entry:
+ store i64 0, i64* %p
+ %p1 = getelementptr i64, i64* %p, i64 1
+ store i64 0, i64* %p1
+ %p2 = getelementptr i64, i64* %p, i64 2
+ store i64 0, i64* %p2
+ %p3 = getelementptr i64, i64* %p, i64 3
+ store i64 0, i64* %p3
+ %p4 = getelementptr i64, i64* %p, i64 4
+ store i64 0, i64* %p4
+ %p5 = getelementptr i64, i64* %p, i64 5
+ store i64 0, i64* %p5
+ %p6 = getelementptr i64, i64* %p, i64 6
+ store i64 0, i64* %p6
+ %p7 = getelementptr i64, i64* %p, i64 7
+ store i64 0, i64* %p7
+ ret void
+}
+
+
diff --git a/test/CodeGen/AArch64/ldst-opt.mir b/test/CodeGen/AArch64/ldst-opt.mir
index f7641d3ffd04..9cb9528cc62e 100644
--- a/test/CodeGen/AArch64/ldst-opt.mir
+++ b/test/CodeGen/AArch64/ldst-opt.mir
@@ -34,7 +34,7 @@ body: |
# Don't count transient instructions towards search limits.
# CHECK-LABEL: name: promote-load-from-store
# CHECK: STRWui %w1
-# CHECK: UBFMWri %w1
+# CHECK: UBFMWri killed %w1
---
name: store-pair
tracksRegLiveness: true
@@ -144,3 +144,40 @@ body: |
# CHECK: %wzr = COPY %w1
# CHECK: %w11 = ORRWrs %wzr, %w1, 0
# CHECK: HINT 0, implicit %w11
+---
+name: promote-load-from-store-undef
+tracksRegLiveness: true
+body: |
+ bb.0:
+ liveins: %x0, %x2, %lr
+
+ STRWui undef %w1, %x0, 0 :: (store 4)
+ %w0 = LDRBBui %x0, 1 :: (load 2)
+ STRHHui undef %w3, %x2, 0 :: (store 4)
+ %w1 = LDRBBui %x2, 0 :: (load 4)
+ RET %lr, implicit %w0
+...
+# CHECK-LABEL: name: promote-load-from-store-undef
+# CHECK: STRWui undef %w1
+# CHECK: UBFMWri undef %w1
+# CHECK: STRHHui undef %w3
+# CHECK: ANDWri undef %w3
+---
+name: promote-load-from-store-trivial-kills
+tracksRegLiveness: true
+body: |
+ bb.0:
+ liveins: %x0, %lr
+
+ STRXui %x0, %sp, 0 :: (store 8)
+ STRXui killed %x0, %sp, 2 :: (store 8)
+ %x0 = LDRXui %sp, 0 :: (load 8)
+ BL $bar, csr_aarch64_aapcs, implicit-def %lr, implicit %sp, implicit %x0, implicit-def %sp
+ RET %lr
+...
+# CHECK-LABEL: name: promote-load-from-store-trivial-kills
+# CHECK: STRXui %x0, %sp, 0
+# CHECK: STRXui %x0, %sp, 2
+# CHECK-NOT: LDRXui
+# CHECK-NOT: ORR
+# CHECK: BL $bar, csr_aarch64_aapcs, implicit-def %lr, implicit %sp, implicit %x0, implicit-def %sp
diff --git a/test/CodeGen/AArch64/mergestores_noimplicitfloat.ll b/test/CodeGen/AArch64/mergestores_noimplicitfloat.ll
new file mode 100644
index 000000000000..74aeaf75d037
--- /dev/null
+++ b/test/CodeGen/AArch64/mergestores_noimplicitfloat.ll
@@ -0,0 +1,23 @@
+; RUN: llc -o - %s | FileCheck %s
+
+target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
+target triple = "arm64-apple-ios10.0.0"
+
+; PR33475 - Expect 64-bit operations as 128-operations are not legal
+
+; CHECK-LABEL: pr33475
+; CHECK-DAG: ldr [[R0:x[0-9]+]], [x1]
+; CHECK-DAG: str [[R0]], [x0]
+; CHECK-DAG: ldr [[R1:x[0-9]+]], [x1, #8]
+; CHECK-DAG: str [[R1]], [x0, #8]
+; CHECK-DAG: ldr [[R2:x[0-9]+]], [x1, #16]
+; CHECK-DAG: str [[R2]], [x0, #16]
+; CHECK-DAG: ldr [[R3:x[0-9]+]], [x1, #24]
+; CHECK-DAG: str [[R3]], [x0, #24]
+
+define void @pr33475(i8* %p0, i8* %p1) noimplicitfloat {
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* %p0, i8* %p1, i64 32, i32 4, i1 false)
+ ret void
+}
+
+declare void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8*, i64, i32, i1)
diff --git a/test/CodeGen/AArch64/misched-fusion.ll b/test/CodeGen/AArch64/misched-fusion.ll
index 1d504a2f1931..ee6007e393c9 100644
--- a/test/CodeGen/AArch64/misched-fusion.ll
+++ b/test/CodeGen/AArch64/misched-fusion.ll
@@ -7,8 +7,8 @@ declare void @foobar(i32 %v0, i32 %v1)
; Make sure sub is scheduled in front of cbnz
; CHECK-LABEL: test_sub_cbz:
-; CHECK: sub w[[SUBRES:[0-9]+]], w0, #13
-; CHECK-NEXT: cbnz w[[SUBRES]], {{.?LBB[0-9_]+}}
+; CHECK: subs w[[SUBRES:[0-9]+]], w0, #13
+; CHECK: b.ne {{.?LBB[0-9_]+}}
define void @test_sub_cbz(i32 %a0, i32 %a1) {
entry:
; except for the fusion opportunity the sub/add should be equal so the
diff --git a/test/CodeGen/AArch64/reg-scavenge-frame.mir b/test/CodeGen/AArch64/reg-scavenge-frame.mir
index 3300bb1e5831..f79e75e248b9 100644
--- a/test/CodeGen/AArch64/reg-scavenge-frame.mir
+++ b/test/CodeGen/AArch64/reg-scavenge-frame.mir
@@ -45,8 +45,42 @@ body: |
%fp = COPY %xzr
%lr = COPY %xzr
ST1Fourv1d killed %d16_d17_d18_d19, %stack.0 :: (store 32 into %stack.0, align 8)
-# CHECK: STRXui killed %[[SCAVREG:x[0-9]+|fp|lr]], %sp, [[SPOFFSET:[0-9]+]] :: (store 8 into %stack.1)
-# CHECK-NEXT: %[[SCAVREG]] = ADDXri %sp, {{[0-9]+}}, 0
-# CHECK-NEXT: ST1Fourv1d killed %d16_d17_d18_d19, killed %[[SCAVREG]] :: (store 32 into %stack.0, align 8)
-# CHECK-NEXT: %[[SCAVREG]] = LDRXui %sp, [[SPOFFSET]] :: (load 8 from %stack.1)
+ ; CHECK: STRXui killed %[[SCAVREG:x[0-9]+|fp|lr]], %sp, [[SPOFFSET:[0-9]+]] :: (store 8 into %stack.1)
+ ; CHECK-NEXT: %[[SCAVREG]] = ADDXri %sp, {{[0-9]+}}, 0
+ ; CHECK-NEXT: ST1Fourv1d killed %d16_d17_d18_d19, killed %[[SCAVREG]] :: (store 32 into %stack.0, align 8)
+ ; CHECK-NEXT: %[[SCAVREG]] = LDRXui %sp, [[SPOFFSET]] :: (load 8 from %stack.1)
+
+ HINT 0, implicit %x0
+ HINT 0, implicit %x1
+ HINT 0, implicit %x2
+ HINT 0, implicit %x3
+ HINT 0, implicit %x4
+ HINT 0, implicit %x5
+ HINT 0, implicit %x6
+ HINT 0, implicit %x7
+ HINT 0, implicit %x8
+ HINT 0, implicit %x9
+ HINT 0, implicit %x10
+ HINT 0, implicit %x11
+ HINT 0, implicit %x12
+ HINT 0, implicit %x13
+ HINT 0, implicit %x14
+ HINT 0, implicit %x15
+ HINT 0, implicit %x16
+ HINT 0, implicit %x17
+ HINT 0, implicit %x18
+ HINT 0, implicit %x19
+ HINT 0, implicit %x20
+ HINT 0, implicit %x21
+ HINT 0, implicit %x22
+ HINT 0, implicit %x23
+ HINT 0, implicit %x24
+ HINT 0, implicit %x25
+ HINT 0, implicit %x26
+ HINT 0, implicit %x27
+ HINT 0, implicit %x28
+ HINT 0, implicit %fp
+ HINT 0, implicit %lr
+
+ RET_ReallyLR
...
diff --git a/test/CodeGen/AArch64/stack-guard-remat-bitcast.ll b/test/CodeGen/AArch64/stack-guard-remat-bitcast.ll
index 6f1515a98264..8f1a7b41c010 100644
--- a/test/CodeGen/AArch64/stack-guard-remat-bitcast.ll
+++ b/test/CodeGen/AArch64/stack-guard-remat-bitcast.ll
@@ -13,8 +13,8 @@
; CHECK: ldur [[R3:x[0-9]+]], {{\[}}x29, [[SLOT0]]{{\]}}
; CHECK: ldr [[GUARD_ADDR:x[0-9]+]], {{\[}}[[GUARD_PAGE]], ___stack_chk_guard@GOTPAGEOFF{{\]}}
; CHECK: ldr [[GUARD:x[0-9]+]], {{\[}}[[GUARD_ADDR]]{{\]}}
-; CHECK: sub [[R4:x[0-9]+]], [[GUARD]], [[R3]]
-; CHECK: cbnz [[R4]], LBB
+; CHECK: cmp [[GUARD]], [[R3]]
+; CHECK: b.ne LBB
define i32 @test_stack_guard_remat2() {
entry:
diff --git a/test/CodeGen/AArch64/swiftself-scavenger.ll b/test/CodeGen/AArch64/swiftself-scavenger.ll
index 6d0278440931..da069f472b47 100644
--- a/test/CodeGen/AArch64/swiftself-scavenger.ll
+++ b/test/CodeGen/AArch64/swiftself-scavenger.ll
@@ -5,7 +5,7 @@
; CHECK: str [[REG:x[0-9]+]], [sp, #8]
; CHECK: add [[REG]], sp, #248
; CHECK: str xzr, [{{\s*}}[[REG]], #32760]
-; CHECK: ldr x30, [sp, #8]
+; CHECK: ldr [[REG]], [sp, #8]
target triple = "arm64-apple-ios"
@ptr8 = external global i8*
diff --git a/test/CodeGen/AArch64/tbz-tbnz.ll b/test/CodeGen/AArch64/tbz-tbnz.ll
index 7ef78ca52a24..8dc943b79624 100644
--- a/test/CodeGen/AArch64/tbz-tbnz.ll
+++ b/test/CodeGen/AArch64/tbz-tbnz.ll
@@ -1,4 +1,4 @@
-; RUN: llc < %s -O1 -mtriple=aarch64-eabi | FileCheck %s
+; RUN: llc < %s -O1 -mtriple=aarch64-eabi -aarch64-enable-cond-br-tune=false | FileCheck %s
declare void @t()
diff --git a/test/CodeGen/AArch64/thread-pointer.ll b/test/CodeGen/AArch64/thread-pointer.ll
index 91585791a58e..7fea719436f9 100644
--- a/test/CodeGen/AArch64/thread-pointer.ll
+++ b/test/CodeGen/AArch64/thread-pointer.ll
@@ -13,8 +13,8 @@
; CHECK: .LBB0_2:
; CHECK: ldr w0, [x[[REG2]]]
; CHECK: bl bar
-; CHECK: sub w[[REG3:[0-9]+]], w{{[0-9]+}}, #1
-; CHECK: cbnz w[[REG3]], .LBB0_2
+; CHECK: subs w[[REG3:[0-9]+]], w{{[0-9]+}}, #1
+; CHECK: b.ne .LBB0_2
define void @test1(i32 %n) local_unnamed_addr {
entry:
diff --git a/test/CodeGen/AArch64/xray-attribute-instrumentation.ll b/test/CodeGen/AArch64/xray-attribute-instrumentation.ll
index 38b62a72a20f..5f01c7c8be84 100644
--- a/test/CodeGen/AArch64/xray-attribute-instrumentation.ll
+++ b/test/CodeGen/AArch64/xray-attribute-instrumentation.ll
@@ -25,9 +25,9 @@ define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always"
; CHECK-NEXT: ret
}
; CHECK: .p2align 4
-; CHECK-NEXT: .xword .Lxray_synthetic_0
; CHECK-NEXT: .xword .Lxray_fn_idx_synth_0
; CHECK-NEXT: .section xray_instr_map,{{.*}}
-; CHECK-LABEL: Lxray_synthetic_0:
+; CHECK-LABEL: Lxray_sleds_start0
; CHECK: .xword .Lxray_sled_0
; CHECK: .xword .Lxray_sled_1
+; CHECK-LABEL: Lxray_sleds_end0
diff --git a/test/CodeGen/AArch64/xray-tail-call-sled.ll b/test/CodeGen/AArch64/xray-tail-call-sled.ll
index fb89950b99c8..a7e993b3dbac 100644
--- a/test/CodeGen/AArch64/xray-tail-call-sled.ll
+++ b/test/CodeGen/AArch64/xray-tail-call-sled.ll
@@ -28,21 +28,20 @@ define i32 @callee() nounwind noinline uwtable "function-instrument"="xray-alway
; CHECK-NEXT: ret
}
; CHECK: .p2align 4
-; CHECK-NEXT: .xword .Lxray_synthetic_0
; CHECK-NEXT: .xword .Lxray_fn_idx_synth_0
; CHECK-NEXT: .section xray_instr_map,{{.*}}
-; CHECK-LABEL: Lxray_synthetic_0:
+; CHECK-LABEL: Lxray_sleds_start0:
; CHECK: .xword .Lxray_sled_0
; CHECK: .xword .Lxray_sled_1
-; CHECK-LABEL: Lxray_synthetic_end0:
+; CHECK-LABEL: Lxray_sleds_end0:
; CHECK: .section xray_fn_idx,{{.*}}
; CHECK-LABEL: Lxray_fn_idx_synth_0:
-; CHECK: .xword .Lxray_synthetic_0
-; CHECK-NEXT: .xword .Lxray_synthetic_end0
+; CHECK: .xword .Lxray_sleds_start0
+; CHECK-NEXT: .xword .Lxray_sleds_end0
define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-always" {
; CHECK: .p2align 2
-; CHECK-LABEL: .Lxray_sled_2:
+; CHECK-LABEL: Lxray_sled_2:
; CHECK-NEXT: b #32
; CHECK-NEXT: nop
; CHECK-NEXT: nop
@@ -53,7 +52,7 @@ define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-alway
; CHECK-NEXT: nop
; CHECK-LABEL: .Ltmp2:
; CHECK: .p2align 2
-; CHECK-LABEL: .Lxray_sled_3:
+; CHECK-LABEL: Lxray_sled_3:
; CHECK-NEXT: b #32
; CHECK-NEXT: nop
; CHECK-NEXT: nop
@@ -68,14 +67,13 @@ define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-alway
ret i32 %retval
}
; CHECK: .p2align 4
-; CHECK-NEXT: .xword .Lxray_synthetic_1
; CHECK-NEXT: .xword .Lxray_fn_idx_synth_1
; CHECK-NEXT: .section xray_instr_map,{{.*}}
-; CHECK-LABEL: Lxray_synthetic_1:
+; CHECK-LABEL: Lxray_sleds_start1:
; CHECK: .xword .Lxray_sled_2
; CHECK: .xword .Lxray_sled_3
-; CHECK-LABEL: Lxray_synthetic_end1:
+; CHECK-LABEL: Lxray_sleds_end1:
; CHECK: .section xray_fn_idx,{{.*}}
; CHECK-LABEL: Lxray_fn_idx_synth_1:
-; CHECK: .xword .Lxray_synthetic_1
-; CHECK-NEXT: .xword .Lxray_synthetic_end1
+; CHECK: .xword .Lxray_sleds_start1
+; CHECK-NEXT: .xword .Lxray_sleds_end1
diff --git a/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir b/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
new file mode 100644
index 000000000000..50ef150510d2
--- /dev/null
+++ b/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
@@ -0,0 +1,22 @@
+# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -O0 -run-pass=legalizer -global-isel %s -o - | FileCheck %s
+
+--- |
+ define void @test_and() { ret void }
+...
+
+---
+name: test_and
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %vgpr0, %vgpr1
+ ; CHECK-LABEL: name: test_and
+ ; CHECK: %2(s32) = G_AND %0, %1
+
+ %0(s32) = COPY %vgpr0
+ %1(s32) = COPY %vgpr1
+ %2(s32) = G_AND %0, %1
+...
diff --git a/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir b/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
new file mode 100644
index 000000000000..e27c313b8ec0
--- /dev/null
+++ b/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
@@ -0,0 +1,23 @@
+# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -run-pass=legalizer -global-isel %s -o - | FileCheck %s
+
+--- |
+ define void @test_bitcast() { ret void }
+...
+
+---
+name: test_bitcast
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %vgpr0
+ ; CHECK-LABEL: name: test_bitcast
+ ; CHECK: %1(<2 x s16>) = G_BITCAST %0
+ ; CHECK: %2(s32) = G_BITCAST %1
+
+ %0(s32) = COPY %vgpr0
+ %1(<2 x s16>) = G_BITCAST %0
+ %2(s32) = G_BITCAST %1
+...
diff --git a/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir b/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
new file mode 100644
index 000000000000..3d5251d10207
--- /dev/null
+++ b/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
@@ -0,0 +1,18 @@
+# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -O0 -run-pass=legalizer -global-isel %s -o - | FileCheck %s
+
+---
+name: test_shl
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0.entry:
+ liveins: %vgpr0, %vgpr1
+ ; CHECK-LABEL: name: test_shl
+ ; CHECK: %2(s32) = G_SHL %0, %1
+
+ %0(s32) = COPY %vgpr0
+ %1(s32) = COPY %vgpr1
+ %2(s32) = G_SHL %0, %1
+...
diff --git a/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll b/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
index ac2f7b4a4a4b..822ea803194d 100644
--- a/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
+++ b/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
@@ -39,44 +39,49 @@ define amdgpu_kernel void @max_9_sgprs(i32 addrspace(1)* %out1,
; features when the number of registers is frozen), this ends up using
; more than expected.
-; ALL-LABEL: {{^}}max_12_sgprs_14_input_sgprs:
-; TOSGPR: SGPRBlocks: 1
-; TOSGPR: NumSGPRsForWavesPerEU: 16
+; XALL-LABEL: {{^}}max_12_sgprs_14_input_sgprs:
+; XTOSGPR: SGPRBlocks: 1
+; XTOSGPR: NumSGPRsForWavesPerEU: 16
-; TOSMEM: s_mov_b64 s[10:11], s[2:3]
-; TOSMEM: s_mov_b64 s[8:9], s[0:1]
-; TOSMEM: s_mov_b32 s7, s13
+; XTOSMEM: s_mov_b64 s[10:11], s[2:3]
+; XTOSMEM: s_mov_b64 s[8:9], s[0:1]
+; XTOSMEM: s_mov_b32 s7, s13
-; TOSMEM: SGPRBlocks: 1
-; TOSMEM: NumSGPRsForWavesPerEU: 16
-define amdgpu_kernel void @max_12_sgprs_14_input_sgprs(i32 addrspace(1)* %out1,
- i32 addrspace(1)* %out2,
- i32 addrspace(1)* %out3,
- i32 addrspace(1)* %out4,
- i32 %one, i32 %two, i32 %three, i32 %four) #2 {
- %x.0 = call i32 @llvm.amdgcn.workgroup.id.x()
- %x.1 = call i32 @llvm.amdgcn.workgroup.id.y()
- %x.2 = call i32 @llvm.amdgcn.workgroup.id.z()
- %x.3 = call i64 @llvm.amdgcn.dispatch.id()
- %x.4 = call i8 addrspace(2)* @llvm.amdgcn.dispatch.ptr()
- %x.5 = call i8 addrspace(2)* @llvm.amdgcn.queue.ptr()
- store volatile i32 0, i32* undef
- br label %stores
-
-stores:
- store volatile i32 %x.0, i32 addrspace(1)* undef
- store volatile i32 %x.0, i32 addrspace(1)* undef
- store volatile i32 %x.0, i32 addrspace(1)* undef
- store volatile i64 %x.3, i64 addrspace(1)* undef
- store volatile i8 addrspace(2)* %x.4, i8 addrspace(2)* addrspace(1)* undef
- store volatile i8 addrspace(2)* %x.5, i8 addrspace(2)* addrspace(1)* undef
-
- store i32 %one, i32 addrspace(1)* %out1
- store i32 %two, i32 addrspace(1)* %out2
- store i32 %three, i32 addrspace(1)* %out3
- store i32 %four, i32 addrspace(1)* %out4
- ret void
-}
+; XTOSMEM: SGPRBlocks: 1
+; XTOSMEM: NumSGPRsForWavesPerEU: 16
+;
+; This test case is disabled: When calculating the spillslot addresses AMDGPU
+; creates an extra vreg to save/restore m0 which in a point of maximum register
+; pressure would trigger an endless loop; the compiler aborts earlier with
+; "Incomplete scavenging after 2nd pass" in practice.
+;define amdgpu_kernel void @max_12_sgprs_14_input_sgprs(i32 addrspace(1)* %out1,
+; i32 addrspace(1)* %out2,
+; i32 addrspace(1)* %out3,
+; i32 addrspace(1)* %out4,
+; i32 %one, i32 %two, i32 %three, i32 %four) #2 {
+; %x.0 = call i32 @llvm.amdgcn.workgroup.id.x()
+; %x.1 = call i32 @llvm.amdgcn.workgroup.id.y()
+; %x.2 = call i32 @llvm.amdgcn.workgroup.id.z()
+; %x.3 = call i64 @llvm.amdgcn.dispatch.id()
+; %x.4 = call i8 addrspace(2)* @llvm.amdgcn.dispatch.ptr()
+; %x.5 = call i8 addrspace(2)* @llvm.amdgcn.queue.ptr()
+; store volatile i32 0, i32* undef
+; br label %stores
+;
+;stores:
+; store volatile i32 %x.0, i32 addrspace(1)* undef
+; store volatile i32 %x.0, i32 addrspace(1)* undef
+; store volatile i32 %x.0, i32 addrspace(1)* undef
+; store volatile i64 %x.3, i64 addrspace(1)* undef
+; store volatile i8 addrspace(2)* %x.4, i8 addrspace(2)* addrspace(1)* undef
+; store volatile i8 addrspace(2)* %x.5, i8 addrspace(2)* addrspace(1)* undef
+;
+; store i32 %one, i32 addrspace(1)* %out1
+; store i32 %two, i32 addrspace(1)* %out2
+; store i32 %three, i32 addrspace(1)* %out3
+; store i32 %four, i32 addrspace(1)* %out4
+; ret void
+;}
; The following test is commented out for now; http://llvm.org/PR31230
; XALL-LABEL: max_12_sgprs_12_input_sgprs{{$}}
diff --git a/test/CodeGen/AMDGPU/branch-relaxation.ll b/test/CodeGen/AMDGPU/branch-relaxation.ll
index d3f835bdf163..15f579eb06d8 100644
--- a/test/CodeGen/AMDGPU/branch-relaxation.ll
+++ b/test/CodeGen/AMDGPU/branch-relaxation.ll
@@ -1,4 +1,14 @@
; RUN: llc -march=amdgcn -verify-machineinstrs -amdgpu-s-branch-bits=4 < %s | FileCheck -check-prefix=GCN %s
+
+
+; FIXME: We should use llvm-mc for this, but we can't even parse our own output.
+; See PR33579.
+; RUN: llc -march=amdgcn -verify-machineinstrs -amdgpu-s-branch-bits=4 -o %t.o -filetype=obj %s
+; RUN: llvm-readobj -r %t.o | FileCheck --check-prefix=OBJ %s
+
+; OBJ: Relocations [
+; OBJ-NEXT: ]
+
; Restrict maximum branch to between +7 and -8 dwords
; Used to emit an always 4 byte instruction. Inline asm always assumes
diff --git a/test/CodeGen/AMDGPU/callee-frame-setup.ll b/test/CodeGen/AMDGPU/callee-frame-setup.ll
new file mode 100644
index 000000000000..6c3594bb44eb
--- /dev/null
+++ b/test/CodeGen/AMDGPU/callee-frame-setup.ll
@@ -0,0 +1,27 @@
+; RUN: llc -march=amdgcn -mcpu=hawaii -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN -check-prefix=CI %s
+
+; GCN-LABEL: {{^}}callee_no_stack:
+; GCN: ; BB#0:
+; GCN-NEXT: s_waitcnt
+; GCN-NEXT: s_setpc_b64
+define void @callee_no_stack() #0 {
+ ret void
+}
+
+; Requires frame pointer for access to local regular object.
+
+; GCN-LABEL: {{^}}callee_with_stack:
+; GCN: ; BB#0:
+; GCN-NEXT: s_waitcnt
+; GCN-NEXT: s_mov_b32 s5, s32
+; GCN-NEXT: v_mov_b32_e32 v0, 0{{$}}
+; GCN-NEXT: buffer_store_dword v0, off, s[0:3], s5 offset:4{{$}}
+; GCN-NEXT: s_waitcnt
+; GCN-NEXT: s_setpc_b64
+define void @callee_with_stack() #0 {
+ %alloca = alloca i32
+ store volatile i32 0, i32* %alloca
+ ret void
+}
+
+attributes #0 = { nounwind }
diff --git a/test/CodeGen/AMDGPU/code-object-metadata-kernel-debug-props.ll b/test/CodeGen/AMDGPU/code-object-metadata-kernel-debug-props.ll
index 0796c24b3317..0ffc92203153 100644
--- a/test/CodeGen/AMDGPU/code-object-metadata-kernel-debug-props.ll
+++ b/test/CodeGen/AMDGPU/code-object-metadata-kernel-debug-props.ll
@@ -12,8 +12,8 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata)
; CHECK: DebugProps:
; CHECK: DebuggerABIVersion: [ 1, 0 ]
; CHECK: ReservedNumVGPRs: 4
-; GFX700: ReservedFirstVGPR: 11
-; GFX800: ReservedFirstVGPR: 11
+; GFX700: ReservedFirstVGPR: 8
+; GFX800: ReservedFirstVGPR: 8
; GFX9: ReservedFirstVGPR: 14
; CHECK: PrivateSegmentBufferSGPR: 0
; CHECK: WavefrontPrivateSegmentOffsetSGPR: 11
diff --git a/test/CodeGen/AMDGPU/combine-cond-add-sub.ll b/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
new file mode 100644
index 000000000000..187fb24dfb66
--- /dev/null
+++ b/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
@@ -0,0 +1,159 @@
+; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
+
+; GCN-LABEL: {{^}}add1:
+; GCN: v_cmp_gt_u32_e{{32|64}} [[CC:[^,]+]], v{{[0-9]+}}, v{{[0-9]+}}
+; GCN: v_addc_u32_e{{32|64}} v{{[0-9]+}}, {{[^,]+}}, 0, v{{[0-9]+}}, [[CC]]
+; GCN-NOT: v_cndmask
+
+define amdgpu_kernel void @add1(i32 addrspace(1)* nocapture %arg) {
+bb:
+ %x = tail call i32 @llvm.amdgcn.workitem.id.x()
+ %y = tail call i32 @llvm.amdgcn.workitem.id.y()
+ %gep = getelementptr inbounds i32, i32 addrspace(1)* %arg, i32 %x
+ %v = load i32, i32 addrspace(1)* %gep, align 4
+ %cmp = icmp ugt i32 %x, %y
+ %ext = zext i1 %cmp to i32
+ %add = add i32 %v, %ext
+ store i32 %add, i32 addrspace(1)* %gep, align 4
+ ret void
+}
+
+; GCN-LABEL: {{^}}sub1:
+; GCN: v_cmp_gt_u32_e{{32|64}} [[CC:[^,]+]], v{{[0-9]+}}, v{{[0-9]+}}
+; GCN: v_subb_u32_e{{32|64}} v{{[0-9]+}}, {{[^,]+}}, v{{[0-9]+}}, 0, [[CC]]
+; GCN-NOT: v_cndmask
+
+define amdgpu_kernel void @sub1(i32 addrspace(1)* nocapture %arg) {
+bb:
+ %x = tail call i32 @llvm.amdgcn.workitem.id.x()
+ %y = tail call i32 @llvm.amdgcn.workitem.id.y()
+ %gep = getelementptr inbounds i32, i32 addrspace(1)* %arg, i32 %x
+ %v = load i32, i32 addrspace(1)* %gep, align 4
+ %cmp = icmp ugt i32 %x, %y
+ %ext = sext i1 %cmp to i32
+ %add = add i32 %v, %ext
+ store i32 %add, i32 addrspace(1)* %gep, align 4
+ ret void
+}
+
+; GCN-LABEL: {{^}}add_adde:
+; GCN: v_cmp_gt_u32_e{{32|64}} [[CC:[^,]+]], v{{[0-9]+}}, v{{[0-9]+}}
+; GCN: v_addc_u32_e{{32|64}} v{{[0-9]+}}, {{[^,]+}}, v{{[0-9]+}}, v{{[0-9]+}}, [[CC]]
+; GCN-NOT: v_cndmask
+; GCN-NOT: v_add
+
+define amdgpu_kernel void @add_adde(i32 addrspace(1)* nocapture %arg, i32 %a) {
+bb:
+ %x = tail call i32 @llvm.amdgcn.workitem.id.x()
+ %y = tail call i32 @llvm.amdgcn.workitem.id.y()
+ %gep = getelementptr inbounds i32, i32 addrspace(1)* %arg, i32 %x
+ %v = load i32, i32 addrspace(1)* %gep, align 4
+ %cmp = icmp ugt i32 %x, %y
+ %ext = zext i1 %cmp to i32
+ %adde = add i32 %v, %ext
+ %add2 = add i32 %adde, %a
+ store i32 %add2, i32 addrspace(1)* %gep, align 4
+ ret void
+}
+
+; GCN-LABEL: {{^}}adde_add:
+; GCN: v_cmp_gt_u32_e{{32|64}} [[CC:[^,]+]], v{{[0-9]+}}, v{{[0-9]+}}
+; GCN: v_addc_u32_e{{32|64}} v{{[0-9]+}}, {{[^,]+}}, v{{[0-9]+}}, v{{[0-9]+}}, [[CC]]
+; GCN-NOT: v_cndmask
+; GCN-NOT: v_add
+
+define amdgpu_kernel void @adde_add(i32 addrspace(1)* nocapture %arg, i32 %a) {
+bb:
+ %x = tail call i32 @llvm.amdgcn.workitem.id.x()
+ %y = tail call i32 @llvm.amdgcn.workitem.id.y()
+ %gep = getelementptr inbounds i32, i32 addrspace(1)* %arg, i32 %x
+ %v = load i32, i32 addrspace(1)* %gep, align 4
+ %cmp = icmp ugt i32 %x, %y
+ %ext = zext i1 %cmp to i32
+ %add = add i32 %v, %a
+ %adde = add i32 %add, %ext
+ store i32 %adde, i32 addrspace(1)* %gep, align 4
+ ret void
+}
+
+; GCN-LABEL: {{^}}sub_sube:
+; GCN: v_cmp_gt_u32_e{{32|64}} [[CC:[^,]+]], v{{[0-9]+}}, v{{[0-9]+}}
+; GCN: v_subb_u32_e{{32|64}} v{{[0-9]+}}, {{[^,]+}}, v{{[0-9]+}}, v{{[0-9]+}}, [[CC]]
+; GCN-NOT: v_cndmask
+; GCN-NOT: v_sub
+
+define amdgpu_kernel void @sub_sube(i32 addrspace(1)* nocapture %arg, i32 %a) {
+bb:
+ %x = tail call i32 @llvm.amdgcn.workitem.id.x()
+ %y = tail call i32 @llvm.amdgcn.workitem.id.y()
+ %gep = getelementptr inbounds i32, i32 addrspace(1)* %arg, i32 %x
+ %v = load i32, i32 addrspace(1)* %gep, align 4
+ %cmp = icmp ugt i32 %x, %y
+ %ext = sext i1 %cmp to i32
+ %adde = add i32 %v, %ext
+ %sub = sub i32 %adde, %a
+ store i32 %sub, i32 addrspace(1)* %gep, align 4
+ ret void
+}
+
+; GCN-LABEL: {{^}}sube_sub:
+; GCN: v_cmp_gt_u32_e{{32|64}} [[CC:[^,]+]], v{{[0-9]+}}, v{{[0-9]+}}
+; GCN: v_subb_u32_e{{32|64}} v{{[0-9]+}}, {{[^,]+}}, v{{[0-9]+}}, v{{[0-9]+}}, [[CC]]
+; GCN-NOT: v_cndmask
+; GCN-NOT: v_sub
+
+define amdgpu_kernel void @sube_sub(i32 addrspace(1)* nocapture %arg, i32 %a) {
+bb:
+ %x = tail call i32 @llvm.amdgcn.workitem.id.x()
+ %y = tail call i32 @llvm.amdgcn.workitem.id.y()
+ %gep = getelementptr inbounds i32, i32 addrspace(1)* %arg, i32 %x
+ %v = load i32, i32 addrspace(1)* %gep, align 4
+ %cmp = icmp ugt i32 %x, %y
+ %ext = sext i1 %cmp to i32
+ %sub = sub i32 %v, %a
+ %adde = add i32 %sub, %ext
+ store i32 %adde, i32 addrspace(1)* %gep, align 4
+ ret void
+}
+
+; GCN-LABEL: {{^}}zext_flclass:
+; GCN: v_cmp_class_f32_e{{32|64}} [[CC:[^,]+]],
+; GCN: v_addc_u32_e{{32|64}} v{{[0-9]+}}, {{[^,]+}}, 0, v{{[0-9]+}}, [[CC]]
+; GCN-NOT: v_cndmask
+
+define amdgpu_kernel void @zext_flclass(i32 addrspace(1)* nocapture %arg, float %x) {
+bb:
+ %id = tail call i32 @llvm.amdgcn.workitem.id.x()
+ %gep = getelementptr inbounds i32, i32 addrspace(1)* %arg, i32 %id
+ %v = load i32, i32 addrspace(1)* %gep, align 4
+ %cmp = tail call zeroext i1 @llvm.amdgcn.class.f32(float %x, i32 608)
+ %ext = zext i1 %cmp to i32
+ %add = add i32 %v, %ext
+ store i32 %add, i32 addrspace(1)* %gep, align 4
+ ret void
+}
+
+; GCN-LABEL: {{^}}sext_flclass:
+; GCN: v_cmp_class_f32_e{{32|64}} [[CC:[^,]+]],
+; GCN: v_subb_u32_e{{32|64}} v{{[0-9]+}}, {{[^,]+}}, v{{[0-9]+}}, 0, [[CC]]
+; GCN-NOT: v_cndmask
+
+define amdgpu_kernel void @sext_flclass(i32 addrspace(1)* nocapture %arg, float %x) {
+bb:
+ %id = tail call i32 @llvm.amdgcn.workitem.id.x()
+ %gep = getelementptr inbounds i32, i32 addrspace(1)* %arg, i32 %id
+ %v = load i32, i32 addrspace(1)* %gep, align 4
+ %cmp = tail call zeroext i1 @llvm.amdgcn.class.f32(float %x, i32 608)
+ %ext = sext i1 %cmp to i32
+ %add = add i32 %v, %ext
+ store i32 %add, i32 addrspace(1)* %gep, align 4
+ ret void
+}
+
+declare i1 @llvm.amdgcn.class.f32(float, i32) #0
+
+declare i32 @llvm.amdgcn.workitem.id.x() #0
+
+declare i32 @llvm.amdgcn.workitem.id.y() #0
+
+attributes #0 = { nounwind readnone speculatable }
diff --git a/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir b/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
index 62b47beb1251..ed78ccc9b617 100644
--- a/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
+++ b/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
@@ -68,6 +68,10 @@
ret void
}
+ define amdgpu_kernel void @undefined_vreg_operand() {
+ unreachable
+ }
+
declare i32 @llvm.amdgcn.workitem.id.x() #1
attributes #0 = { nounwind }
@@ -856,3 +860,26 @@ body: |
S_ENDPGM
...
+---
+# There is only an undef use operand for %1, so there is no
+# corresponding defining instruction
+
+# GCN-LABEL: name: undefined_vreg_operand{{$}}
+# GCN: bb.0
+# GCN-NEXT: FLAT_STORE_DWORD undef %3, undef %1,
+# GCN-NEXT: S_ENDPGM
+name: undefined_vreg_operand
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vgpr_32, preferred-register: '' }
+ - { id: 1, class: vgpr_32, preferred-register: '' }
+ - { id: 2, class: vgpr_32, preferred-register: '' }
+ - { id: 3, class: vreg_64, preferred-register: '' }
+body: |
+ bb.0:
+ %0 = V_MOV_B32_e32 0, implicit %exec
+ %2 = V_XOR_B32_e64 killed %0, undef %1, implicit %exec
+ FLAT_STORE_DWORD undef %3, %2, 0, 0, 0, implicit %exec, implicit %flat_scr
+ S_ENDPGM
+
+...
diff --git a/test/CodeGen/AMDGPU/fneg.f16.ll b/test/CodeGen/AMDGPU/fneg.f16.ll
index 59745a9352ce..2d94726cbe20 100644
--- a/test/CodeGen/AMDGPU/fneg.f16.ll
+++ b/test/CodeGen/AMDGPU/fneg.f16.ll
@@ -134,11 +134,10 @@ define amdgpu_kernel void @v_fneg_fold_v2f16(<2 x half> addrspace(1)* %out, <2 x
; CI-DAG: v_mul_f32_e32 v{{[0-9]+}}, -4.0, v{{[0-9]+}}
; CI-DAG: v_sub_f32_e32 v{{[0-9]+}}, 2.0, v{{[0-9]+}}
-; GFX9: v_lshrrev_b32_e32 [[ELT1:v[0-9]+]], 16, [[VAL]]
; GFX89-DAG: v_mul_f16_e32 v{{[0-9]+}}, -4.0, [[VAL]]
-; GFX9-DAG: v_sub_f16_e32 v{{[0-9]+}}, 2.0, [[ELT1]]
-; VI-DAG: v_mov_b32_e32 [[CONST2:v[0-9]+]], 0x4000
-; VI-DAG: v_sub_f16_sdwa v{{[0-9]+}}, [[CONST2]], [[VAL]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+; GFX89-DAG: v_mov_b32_e32 [[CONST2:v[0-9]+]], 0x4000
+; GFX89-DAG: v_sub_f16_sdwa v{{[0-9]+}}, [[CONST2]], [[VAL]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+
define amdgpu_kernel void @v_extract_fneg_fold_v2f16(<2 x half> addrspace(1)* %in) #0 {
%val = load <2 x half>, <2 x half> addrspace(1)* %in
%fneg = fsub <2 x half> <half -0.0, half -0.0>, %val
diff --git a/test/CodeGen/AMDGPU/fold-operands-order.mir b/test/CodeGen/AMDGPU/fold-operands-order.mir
new file mode 100644
index 000000000000..afde89d6b64b
--- /dev/null
+++ b/test/CodeGen/AMDGPU/fold-operands-order.mir
@@ -0,0 +1,47 @@
+# RUN: llc -mtriple=amdgcn--amdhsa -mcpu=hawaii -verify-machineinstrs -run-pass si-fold-operands -o - %s | FileCheck -check-prefix=GCN %s
+
+--- |
+ define amdgpu_kernel void @mov_in_use_list_2x() {
+ unreachable
+ }
+
+...
+---
+
+# Blocks should be processed in program order to make sure folds
+# aren't made in users before the def is seen.
+
+# GCN-LABEL: name: mov_in_use_list_2x{{$}}
+# GCN: %2 = V_MOV_B32_e32 0, implicit %exec
+# GCN-NEXT: %3 = COPY undef %0
+
+# GCN: %1 = V_MOV_B32_e32 0, implicit %exec
+
+
+name: mov_in_use_list_2x
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vgpr_32, preferred-register: '' }
+ - { id: 1, class: vgpr_32, preferred-register: '' }
+ - { id: 2, class: vgpr_32, preferred-register: '' }
+ - { id: 3, class: vgpr_32, preferred-register: '' }
+liveins:
+body: |
+ bb.0:
+ successors: %bb.2
+
+ S_BRANCH %bb.2
+
+ bb.1:
+ successors: %bb.2
+
+ %2 = COPY %1
+ %3 = V_XOR_B32_e64 killed %2, undef %0, implicit %exec
+
+ bb.2:
+ successors: %bb.1
+
+ %1 = V_MOV_B32_e32 0, implicit %exec
+ S_BRANCH %bb.1
+
+...
diff --git a/test/CodeGen/AMDGPU/fpext.f16.ll b/test/CodeGen/AMDGPU/fpext.f16.ll
index 03657176c383..15cc73b9ee53 100644
--- a/test/CodeGen/AMDGPU/fpext.f16.ll
+++ b/test/CodeGen/AMDGPU/fpext.f16.ll
@@ -1,6 +1,6 @@
-; RUN: llc -march=amdgcn -verify-machineinstrs -enable-unsafe-fp-math < %s | FileCheck -check-prefix=GCN -check-prefix=SI -check-prefix=SIVI -check-prefix=SIGFX9 %s
+; RUN: llc -march=amdgcn -verify-machineinstrs -enable-unsafe-fp-math < %s | FileCheck -check-prefix=GCN -check-prefix=SI -check-prefix=SIVI %s
; RUN: llc -march=amdgcn -mcpu=fiji -mattr=-flat-for-global -verify-machineinstrs -enable-unsafe-fp-math < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=GFX89 %s
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-unsafe-fp-math < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 -check-prefix=GFX89 -check-prefix=SIGFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-unsafe-fp-math < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 -check-prefix=GFX89 %s
; GCN-LABEL: {{^}}fpext_f16_to_f32
; GCN: buffer_load_ushort v[[A_F16:[0-9]+]]
@@ -35,11 +35,10 @@ entry:
; GCN-LABEL: {{^}}fpext_v2f16_to_v2f32
; GCN: buffer_load_dword v[[A_V2_F16:[0-9]+]]
-; GFX9-DAG: v_lshrrev_b32_e32 v[[A_F16_1:[0-9]+]], 16, v[[A_V2_F16]]
; GCN-DAG: v_cvt_f32_f16_e32 v[[R_F32_0:[0-9]+]], v[[A_V2_F16]]
; SI: v_lshrrev_b32_e32 v[[A_F16_1:[0-9]+]], 16, v[[A_V2_F16]]
-; SIGFX9: v_cvt_f32_f16_e32 v[[R_F32_1:[0-9]+]], v[[A_F16_1]]
-; VI: v_cvt_f32_f16_sdwa v[[R_F32_1:[0-9]+]], v[[A_V2_F16]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+; SI: v_cvt_f32_f16_e32 v[[R_F32_1:[0-9]+]], v[[A_F16_1]]
+; GFX89: v_cvt_f32_f16_sdwa v[[R_F32_1:[0-9]+]], v[[A_V2_F16]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
; GCN: buffer_store_dwordx2 v{{\[}}[[R_F32_0]]:[[R_F32_1]]{{\]}}
; GCN: s_endpgm
@@ -55,9 +54,9 @@ entry:
; GCN-LABEL: {{^}}fpext_v2f16_to_v2f64
; GCN: buffer_load_dword
-; SIGFX9-DAG: v_lshrrev_b32_e32
-; SIGFX9-DAG: v_cvt_f32_f16_e32
-; VI: v_cvt_f32_f16_sdwa
+; SI-DAG: v_lshrrev_b32_e32
+; SI-DAG: v_cvt_f32_f16_e32
+; GFX89: v_cvt_f32_f16_sdwa
; GCN: v_cvt_f32_f16_e32
; GCN: v_cvt_f64_f32_e32
diff --git a/test/CodeGen/AMDGPU/frame-index-elimination.ll b/test/CodeGen/AMDGPU/frame-index-elimination.ll
index d67988b46325..25cbb7b105f0 100644
--- a/test/CodeGen/AMDGPU/frame-index-elimination.ll
+++ b/test/CodeGen/AMDGPU/frame-index-elimination.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
+; RUN: llc -mtriple=amdgcn-amd-amdhsa -mattr=-promote-alloca -amdgpu-sroa=0 -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN %s
; Test that non-entry function frame indices are expanded properly to
; give an index relative to the scratch wave offset register
@@ -6,9 +6,9 @@
; Materialize into a mov. Make sure there isn't an unnecessary copy.
; GCN-LABEL: {{^}}func_mov_fi_i32:
; GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GCN: s_sub_u32 vcc_hi, s5, s4
-; GCN-NEXT: s_lshr_b32 vcc_hi, vcc_hi, 6
-; GCN-NEXT: v_add_i32_e64 v0, vcc, vcc_hi, 4
+; GCN: s_sub_u32 s6, s5, s4
+; GCN-NEXT: v_lshr_b32_e64 [[SCALED:v[0-9]+]], s6, 6
+; GCN-NEXT: v_add_i32_e64 v0, s[6:7], 4, [[SCALED]]
; GCN-NOT: v_mov
; GCN: ds_write_b32 v0, v0
define void @func_mov_fi_i32() #0 {
@@ -23,8 +23,8 @@ define void @func_mov_fi_i32() #0 {
; GCN-LABEL: {{^}}func_add_constant_to_fi_i32:
; GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GCN: s_sub_u32 s6, s5, s4
-; GCN-NEXT: s_lshr_b32 s6, s6, 6
-; GCN-NEXT: v_add_i32_e64 v0, s{{\[[0-9]+:[0-9]+\]}}, s6, 4
+; GCN-NEXT: v_lshr_b32_e64 [[SCALED:v[0-9]+]], s6, 6
+; GCN-NEXT: v_add_i32_e64 v0, s[6:7], 4, [[SCALED]]
; GCN-NEXT: v_add_i32_e32 v0, vcc, 4, v0
; GCN-NOT: v_mov
; GCN: ds_write_b32 v0, v0
@@ -39,9 +39,9 @@ define void @func_add_constant_to_fi_i32() #0 {
; into.
; GCN-LABEL: {{^}}func_other_fi_user_i32:
-; GCN: s_sub_u32 vcc_hi, s5, s4
-; GCN-NEXT: s_lshr_b32 vcc_hi, vcc_hi, 6
-; GCN-NEXT: v_add_i32_e64 v0, vcc, vcc_hi, 4
+; GCN: s_sub_u32 s6, s5, s4
+; GCN-NEXT: v_lshr_b32_e64 [[SCALED:v[0-9]+]], s6, 6
+; GCN-NEXT: v_add_i32_e64 v0, s[6:7], 4, [[SCALED]]
; GCN-NEXT: v_mul_lo_i32 v0, v0, 9
; GCN-NOT: v_mov
; GCN: ds_write_b32 v0, v0
@@ -71,8 +71,9 @@ define void @func_load_private_arg_i32_ptr(i32* %ptr) #0 {
; GCN-LABEL: {{^}}void_func_byval_struct_i8_i32_ptr:
; GCN: s_waitcnt
-; GCN-NEXT: s_sub_u32 s6, s5, s4
-; GCN-NEXT: v_lshr_b32_e64 v0, s6, 6
+; GCN-NEXT: s_mov_b32 s5, s32
+; GCN-NEXT: s_sub_u32 [[SUB:s[0-9]+]], s5, s4
+; GCN-NEXT: v_lshr_b32_e64 v0, [[SUB]], 6
; GCN-NEXT: v_add_i32_e32 v0, vcc, 4, v0
; GCN-NOT: v_mov
; GCN: ds_write_b32 v0, v0
@@ -86,6 +87,7 @@ define void @void_func_byval_struct_i8_i32_ptr({ i8, i32 }* byval %arg0) #0 {
; GCN-LABEL: {{^}}void_func_byval_struct_i8_i32_ptr_value:
; GCN: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GCN-NEXT: s_mov_b32 s5, s32
; GCN-NEXT: buffer_load_ubyte v0, off, s[0:3], s5
; GCN_NEXT: buffer_load_dword v1, off, s[0:3], s5 offset:4
define void @void_func_byval_struct_i8_i32_ptr_value({ i8, i32 }* byval %arg0) #0 {
@@ -99,8 +101,8 @@ define void @void_func_byval_struct_i8_i32_ptr_value({ i8, i32 }* byval %arg0) #
}
; GCN-LABEL: {{^}}void_func_byval_struct_i8_i32_ptr_nonentry_block:
-; GCN: s_sub_u32 s8, s5, s4
-; GCN: v_lshr_b32_e64 v1, s8, 6
+; GCN: s_sub_u32 s6, s5, s4
+; GCN: v_lshr_b32_e64 v1, s6, 6
; GCN: s_and_saveexec_b64
; GCN: v_add_i32_e32 v0, vcc, 4, v1
@@ -121,4 +123,44 @@ ret:
ret void
}
+; Added offset can't be used with VOP3 add
+; GCN-LABEL: {{^}}func_other_fi_user_non_inline_imm_offset_i32:
+; GCN: s_sub_u32 s6, s5, s4
+; GCN-DAG: v_lshr_b32_e64 [[SCALED:v[0-9]+]], s6, 6
+; GCN-DAG: s_movk_i32 s6, 0x204
+; GCN: v_add_i32_e64 v0, s[6:7], s6, [[SCALED]]
+; GCN: v_mul_lo_i32 v0, v0, 9
+; GCN: ds_write_b32 v0, v0
+define void @func_other_fi_user_non_inline_imm_offset_i32() #0 {
+ %alloca0 = alloca [128 x i32], align 4
+ %alloca1 = alloca [8 x i32], align 4
+ %gep0 = getelementptr inbounds [128 x i32], [128 x i32]* %alloca0, i32 0, i32 65
+ %gep1 = getelementptr inbounds [8 x i32], [8 x i32]* %alloca1, i32 0, i32 0
+ store volatile i32 7, i32* %gep0
+ %ptrtoint = ptrtoint i32* %gep1 to i32
+ %mul = mul i32 %ptrtoint, 9
+ store volatile i32 %mul, i32 addrspace(3)* undef
+ ret void
+}
+; GCN-LABEL: {{^}}func_other_fi_user_non_inline_imm_offset_i32_vcc_live:
+; GCN: s_sub_u32 [[DIFF:s[0-9]+]], s5, s4
+; GCN-DAG: v_lshr_b32_e64 [[SCALED:v[0-9]+]], [[DIFF]], 6
+; GCN-DAG: s_movk_i32 [[OFFSET:s[0-9]+]], 0x204
+; GCN: v_add_i32_e64 v0, s{{\[[0-9]+:[0-9]+\]}}, [[OFFSET]], [[SCALED]]
+; GCN: v_mul_lo_i32 v0, v0, 9
+; GCN: ds_write_b32 v0, v0
+define void @func_other_fi_user_non_inline_imm_offset_i32_vcc_live() #0 {
+ %alloca0 = alloca [128 x i32], align 4
+ %alloca1 = alloca [8 x i32], align 4
+ %vcc = call i64 asm sideeffect "; def $0", "={VCC}"()
+ %gep0 = getelementptr inbounds [128 x i32], [128 x i32]* %alloca0, i32 0, i32 65
+ %gep1 = getelementptr inbounds [8 x i32], [8 x i32]* %alloca1, i32 0, i32 0
+ store volatile i32 7, i32* %gep0
+ call void asm sideeffect "; use $0", "{VCC}"(i64 %vcc)
+ %ptrtoint = ptrtoint i32* %gep1 to i32
+ %mul = mul i32 %ptrtoint, 9
+ store volatile i32 %mul, i32 addrspace(3)* undef
+ ret void
+}
+
attributes #0 = { nounwind }
diff --git a/test/CodeGen/AMDGPU/infer-addrpace-pipeline.ll b/test/CodeGen/AMDGPU/infer-addrpace-pipeline.ll
new file mode 100644
index 000000000000..912b5ea949da
--- /dev/null
+++ b/test/CodeGen/AMDGPU/infer-addrpace-pipeline.ll
@@ -0,0 +1,10 @@
+; RUN: opt -mtriple=amdgcn--amdhsa -disable-output -disable-verify -debug-pass=Structure -O2 %s 2>&1 | FileCheck -check-prefix=GCN %s
+
+; GCN: Function Integration/Inlining
+; GCN: FunctionPass Manager
+; GCN: Infer address spaces
+; GCN: SROA
+
+define void @empty() {
+ ret void
+}
diff --git a/test/CodeGen/AMDGPU/llvm.SI.tbuffer.store.ll b/test/CodeGen/AMDGPU/llvm.SI.tbuffer.store.ll
index 645c6a6b8d7e..cd9c082ed941 100644
--- a/test/CodeGen/AMDGPU/llvm.SI.tbuffer.store.ll
+++ b/test/CodeGen/AMDGPU/llvm.SI.tbuffer.store.ll
@@ -2,7 +2,7 @@
;RUN: llc < %s -march=amdgcn -mcpu=tonga -verify-machineinstrs | FileCheck %s
;CHECK-LABEL: {{^}}test1:
-;CHECK: tbuffer_store_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, 0x20, -1, 0, -1, 0, 14, 4, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, -1, 0, 0
+;CHECK: tbuffer_store_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, 0 offen offset:32 glc slc
define amdgpu_vs void @test1(i32 %a1, i32 %vaddr) {
%vdata = insertelement <4 x i32> undef, i32 %a1, i32 0
call void @llvm.SI.tbuffer.store.v4i32(<16 x i8> undef, <4 x i32> %vdata,
@@ -11,8 +11,38 @@ define amdgpu_vs void @test1(i32 %a1, i32 %vaddr) {
ret void
}
+;CHECK-LABEL: {{^}}test1_idx:
+;CHECK: tbuffer_store_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, 0 idxen offset:32 glc slc
+define amdgpu_vs void @test1_idx(i32 %a1, i32 %vaddr) {
+ %vdata = insertelement <4 x i32> undef, i32 %a1, i32 0
+ call void @llvm.SI.tbuffer.store.v4i32(<16 x i8> undef, <4 x i32> %vdata,
+ i32 4, i32 %vaddr, i32 0, i32 32, i32 14, i32 4, i32 0, i32 1, i32 1,
+ i32 1, i32 0)
+ ret void
+}
+
+;CHECK-LABEL: {{^}}test1_scalar_offset:
+;CHECK: tbuffer_store_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, {{s[0-9]+}} idxen offset:32 glc slc
+define amdgpu_vs void @test1_scalar_offset(i32 %a1, i32 %vaddr, i32 inreg %soffset) {
+ %vdata = insertelement <4 x i32> undef, i32 %a1, i32 0
+ call void @llvm.SI.tbuffer.store.v4i32(<16 x i8> undef, <4 x i32> %vdata,
+ i32 4, i32 %vaddr, i32 %soffset, i32 32, i32 14, i32 4, i32 0, i32 1, i32 1,
+ i32 1, i32 0)
+ ret void
+}
+
+;CHECK-LABEL: {{^}}test1_no_glc_slc:
+;CHECK: tbuffer_store_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, 0 offen offset:32
+define amdgpu_vs void @test1_no_glc_slc(i32 %a1, i32 %vaddr) {
+ %vdata = insertelement <4 x i32> undef, i32 %a1, i32 0
+ call void @llvm.SI.tbuffer.store.v4i32(<16 x i8> undef, <4 x i32> %vdata,
+ i32 4, i32 %vaddr, i32 0, i32 32, i32 14, i32 4, i32 1, i32 0, i32 0,
+ i32 0, i32 0)
+ ret void
+}
+
;CHECK-LABEL: {{^}}test2:
-;CHECK: tbuffer_store_format_xyz {{v\[[0-9]+:[0-9]+\]}}, 0x18, -1, 0, -1, 0, 13, 4, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, -1, 0, 0
+;CHECK: tbuffer_store_format_xyz {{v\[[0-9]+:[0-9]+\]}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:13, nfmt:4, 0 offen offset:24 glc slc
define amdgpu_vs void @test2(i32 %a1, i32 %vaddr) {
%vdata = insertelement <4 x i32> undef, i32 %a1, i32 0
call void @llvm.SI.tbuffer.store.v4i32(<16 x i8> undef, <4 x i32> %vdata,
@@ -22,7 +52,7 @@ define amdgpu_vs void @test2(i32 %a1, i32 %vaddr) {
}
;CHECK-LABEL: {{^}}test3:
-;CHECK: tbuffer_store_format_xy {{v\[[0-9]+:[0-9]+\]}}, 0x10, -1, 0, -1, 0, 11, 4, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, -1, 0, 0
+;CHECK: tbuffer_store_format_xy {{v\[[0-9]+:[0-9]+\]}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:11, nfmt:4, 0 offen offset:16 glc slc
define amdgpu_vs void @test3(i32 %a1, i32 %vaddr) {
%vdata = insertelement <2 x i32> undef, i32 %a1, i32 0
call void @llvm.SI.tbuffer.store.v2i32(<16 x i8> undef, <2 x i32> %vdata,
@@ -32,7 +62,7 @@ define amdgpu_vs void @test3(i32 %a1, i32 %vaddr) {
}
;CHECK-LABEL: {{^}}test4:
-;CHECK: tbuffer_store_format_x {{v[0-9]+}}, 0x8, -1, 0, -1, 0, 4, 4, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, -1, 0, 0
+;CHECK: tbuffer_store_format_x {{v[0-9]+}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:4, nfmt:4, 0 offen offset:8 glc slc
define amdgpu_vs void @test4(i32 %vdata, i32 %vaddr) {
call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 %vdata,
i32 1, i32 %vaddr, i32 0, i32 8, i32 4, i32 4, i32 1, i32 0, i32 1,
diff --git a/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.hsa.ll b/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.hsa.ll
new file mode 100644
index 000000000000..437ce7f373db
--- /dev/null
+++ b/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.hsa.ll
@@ -0,0 +1,24 @@
+; RUN: not llc -mtriple=amdgcn-amd-amdhsa < %s 2>&1 | FileCheck -check-prefix=ERROR %s
+
+; ERROR: in function test_kernel{{.*}}: non-hsa intrinsic with hsa target
+define amdgpu_kernel void @test_kernel(i32 addrspace(1)* %out) #1 {
+ %implicit_buffer_ptr = call i8 addrspace(2)* @llvm.amdgcn.implicit.buffer.ptr()
+ %header_ptr = bitcast i8 addrspace(2)* %implicit_buffer_ptr to i32 addrspace(2)*
+ %value = load i32, i32 addrspace(2)* %header_ptr
+ store i32 %value, i32 addrspace(1)* %out
+ ret void
+}
+
+; ERROR: in function test_func{{.*}}: non-hsa intrinsic with hsa target
+define void @test_func(i32 addrspace(1)* %out) #1 {
+ %implicit_buffer_ptr = call i8 addrspace(2)* @llvm.amdgcn.implicit.buffer.ptr()
+ %header_ptr = bitcast i8 addrspace(2)* %implicit_buffer_ptr to i32 addrspace(2)*
+ %value = load i32, i32 addrspace(2)* %header_ptr
+ store i32 %value, i32 addrspace(1)* %out
+ ret void
+}
+
+declare i8 addrspace(2)* @llvm.amdgcn.implicit.buffer.ptr() #0
+
+attributes #0 = { nounwind readnone speculatable }
+attributes #1 = { nounwind }
diff --git a/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.ll b/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.ll
new file mode 100644
index 000000000000..dda91bcfbebb
--- /dev/null
+++ b/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.buffer.ptr.ll
@@ -0,0 +1,35 @@
+; RUN: llc -mtriple=amdgcn-mesa-mesa3d -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
+
+; FIXME: Requires stack object to not assert
+; GCN-LABEL: {{^}}test_ps:
+; GCN: s_load_dwordx2 s[4:5], s[0:1], 0x0
+; GCN: buffer_store_dword v0, off, s[4:7], s2 offset:4
+; GCN: s_load_dword s{{[0-9]+}}, s[0:1], 0x0
+; GCN-NEXT: s_waitcnt
+; GCN-NEXT: ; return
+define amdgpu_ps i32 @test_ps() #1 {
+ %alloca = alloca i32
+ store volatile i32 0, i32* %alloca
+ %implicit_buffer_ptr = call i8 addrspace(2)* @llvm.amdgcn.implicit.buffer.ptr()
+ %buffer_ptr = bitcast i8 addrspace(2)* %implicit_buffer_ptr to i32 addrspace(2)*
+ %value = load volatile i32, i32 addrspace(2)* %buffer_ptr
+ ret i32 %value
+}
+
+; GCN-LABEL: {{^}}test_cs:
+; GCN: s_mov_b64 s[4:5], s[0:1]
+; GCN: buffer_store_dword v{{[0-9]+}}, off, s[4:7], s2 offset:4
+; GCN: s_load_dword s0, s[0:1], 0x0
+define amdgpu_cs i32 @test_cs() #1 {
+ %alloca = alloca i32
+ store volatile i32 0, i32* %alloca
+ %implicit_buffer_ptr = call i8 addrspace(2)* @llvm.amdgcn.implicit.buffer.ptr()
+ %buffer_ptr = bitcast i8 addrspace(2)* %implicit_buffer_ptr to i32 addrspace(2)*
+ %value = load volatile i32, i32 addrspace(2)* %buffer_ptr
+ ret i32 %value
+}
+
+declare i8 addrspace(2)* @llvm.amdgcn.implicit.buffer.ptr() #0
+
+attributes #0 = { nounwind readnone speculatable }
+attributes #1 = { nounwind }
diff --git a/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.pk.u16.u8.ll b/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.pk.u16.u8.ll
index 83bc8b234724..bc04f6f28f60 100644
--- a/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.pk.u16.u8.ll
+++ b/test/CodeGen/AMDGPU/llvm.amdgcn.mqsad.pk.u16.u8.ll
@@ -4,7 +4,7 @@
declare i64 @llvm.amdgcn.mqsad.pk.u16.u8(i64, i32, i64) #0
; GCN-LABEL: {{^}}v_mqsad_pk_u16_u8:
-; GCN: v_mqsad_pk_u16_u8 v[0:1], v[4:5], s{{[0-9]+}}, v[{{[0-9]+:[0-9]+}}]
+; GCN: v_mqsad_pk_u16_u8 v[0:1], v[4:5], v{{[0-9]+}}, s[{{[0-9]+:[0-9]+}}]
; GCN-DAG: v_mov_b32_e32 v5, v1
; GCN-DAG: v_mov_b32_e32 v4, v0
define amdgpu_kernel void @v_mqsad_pk_u16_u8(i64 addrspace(1)* %out, i64 %src) {
diff --git a/test/CodeGen/AMDGPU/llvm.amdgcn.qsad.pk.u16.u8.ll b/test/CodeGen/AMDGPU/llvm.amdgcn.qsad.pk.u16.u8.ll
index 1f46613a8db0..2cab9c28db37 100644
--- a/test/CodeGen/AMDGPU/llvm.amdgcn.qsad.pk.u16.u8.ll
+++ b/test/CodeGen/AMDGPU/llvm.amdgcn.qsad.pk.u16.u8.ll
@@ -4,7 +4,7 @@
declare i64 @llvm.amdgcn.qsad.pk.u16.u8(i64, i32, i64) #0
; GCN-LABEL: {{^}}v_qsad_pk_u16_u8:
-; GCN: v_qsad_pk_u16_u8 v[0:1], v[4:5], s{{[0-9]+}}, v[{{[0-9]+:[0-9]+}}]
+; GCN: v_qsad_pk_u16_u8 v[0:1], v[4:5], v{{[0-9]+}}, s[{{[0-9]+:[0-9]+}}]
; GCN-DAG: v_mov_b32_e32 v5, v1
; GCN-DAG: v_mov_b32_e32 v4, v0
define amdgpu_kernel void @v_qsad_pk_u16_u8(i64 addrspace(1)* %out, i64 %src) {
diff --git a/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.ll b/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.ll
new file mode 100644
index 000000000000..712ee7ad1e5c
--- /dev/null
+++ b/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.ll
@@ -0,0 +1,109 @@
+;RUN: llc < %s -march=amdgcn -mcpu=verde -verify-machineinstrs | FileCheck -check-prefix=GCN %s
+;RUN: llc < %s -march=amdgcn -mcpu=tonga -verify-machineinstrs | FileCheck -check-prefix=GCN %s
+
+; GCN-LABEL: {{^}}tbuffer_load:
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, 0
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:15, nfmt:3, 0 glc
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:6, nfmt:1, 0 slc
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:6, nfmt:1, 0
+; GCN: s_waitcnt
+define amdgpu_vs {<4 x float>, <4 x float>, <4 x float>, <4 x float>} @tbuffer_load(<4 x i32> inreg) {
+main_body:
+ %vdata = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 0, i32 0, i32 0, i32 0, i32 14, i32 4, i1 0, i1 0)
+ %vdata_glc = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 0, i32 0, i32 0, i32 0, i32 15, i32 3, i1 1, i1 0)
+ %vdata_slc = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 0, i32 0, i32 0, i32 0, i32 6, i32 1, i1 0, i1 1)
+ %vdata_f32 = call <4 x float> @llvm.amdgcn.tbuffer.load.v4f32(<4 x i32> %0, i32 0, i32 0, i32 0, i32 0, i32 6, i32 1, i1 0, i1 0)
+ %vdata.f = bitcast <4 x i32> %vdata to <4 x float>
+ %vdata_glc.f = bitcast <4 x i32> %vdata_glc to <4 x float>
+ %vdata_slc.f = bitcast <4 x i32> %vdata_slc to <4 x float>
+ %r0 = insertvalue {<4 x float>, <4 x float>, <4 x float>, <4 x float>} undef, <4 x float> %vdata.f, 0
+ %r1 = insertvalue {<4 x float>, <4 x float>, <4 x float>, <4 x float>} %r0, <4 x float> %vdata_glc.f, 1
+ %r2 = insertvalue {<4 x float>, <4 x float>, <4 x float>, <4 x float>} %r1, <4 x float> %vdata_slc.f, 2
+ %r3 = insertvalue {<4 x float>, <4 x float>, <4 x float>, <4 x float>} %r2, <4 x float> %vdata_f32, 3
+ ret {<4 x float>, <4 x float>, <4 x float>, <4 x float>} %r3
+}
+
+; GCN-LABEL: {{^}}tbuffer_load_immoffs:
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, 0 offset:42
+define amdgpu_vs <4 x float> @tbuffer_load_immoffs(<4 x i32> inreg) {
+main_body:
+ %vdata = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 0, i32 0, i32 0, i32 42, i32 14, i32 4, i1 0, i1 0)
+ %vdata.f = bitcast <4 x i32> %vdata to <4 x float>
+ ret <4 x float> %vdata.f
+}
+
+; GCN-LABEL: {{^}}tbuffer_load_immoffs_large
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:15, nfmt:2, 61 offset:4095
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:3, {{s[0-9]+}} offset:73
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:13, nfmt:4, {{s[0-9]+}} offset:1
+; GCN: s_waitcnt
+define amdgpu_vs {<4 x float>, <4 x float>, <4 x float>} @tbuffer_load_immoffs_large(<4 x i32> inreg, i32 inreg %soffs) {
+ %vdata = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 0, i32 0, i32 61, i32 4095, i32 15, i32 2, i1 0, i1 0)
+ %vdata_glc = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 0, i32 0, i32 %soffs, i32 73, i32 14, i32 3, i1 0, i1 0)
+ %vdata_slc = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 0, i32 0, i32 %soffs, i32 1, i32 13, i32 4, i1 0, i1 0)
+ %vdata.f = bitcast <4 x i32> %vdata to <4 x float>
+ %vdata_glc.f = bitcast <4 x i32> %vdata_glc to <4 x float>
+ %vdata_slc.f = bitcast <4 x i32> %vdata_slc to <4 x float>
+ %r0 = insertvalue {<4 x float>, <4 x float>, <4 x float>} undef, <4 x float> %vdata.f, 0
+ %r1 = insertvalue {<4 x float>, <4 x float>, <4 x float>} %r0, <4 x float> %vdata_glc.f, 1
+ %r2 = insertvalue {<4 x float>, <4 x float>, <4 x float>} %r1, <4 x float> %vdata_slc.f, 2
+ ret {<4 x float>, <4 x float>, <4 x float>} %r2
+}
+
+; GCN-LABEL: {{^}}tbuffer_load_idx:
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, 0 idxen
+define amdgpu_vs <4 x float> @tbuffer_load_idx(<4 x i32> inreg, i32 %vindex) {
+main_body:
+ %vdata = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 %vindex, i32 0, i32 0, i32 0, i32 14, i32 4, i1 0, i1 0)
+ %vdata.f = bitcast <4 x i32> %vdata to <4 x float>
+ ret <4 x float> %vdata.f
+}
+
+; GCN-LABEL: {{^}}tbuffer_load_ofs:
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, 0 offen
+define amdgpu_vs <4 x float> @tbuffer_load_ofs(<4 x i32> inreg, i32 %voffs) {
+main_body:
+ %vdata = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 0, i32 %voffs, i32 0, i32 0, i32 14, i32 4, i1 0, i1 0)
+ %vdata.f = bitcast <4 x i32> %vdata to <4 x float>
+ ret <4 x float> %vdata.f
+}
+
+; GCN-LABEL: {{^}}tbuffer_load_ofs_imm:
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, 0 offen offset:52
+define amdgpu_vs <4 x float> @tbuffer_load_ofs_imm(<4 x i32> inreg, i32 %voffs) {
+main_body:
+ %vdata = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 0, i32 %voffs, i32 0, i32 52, i32 14, i32 4, i1 0, i1 0)
+ %vdata.f = bitcast <4 x i32> %vdata to <4 x float>
+ ret <4 x float> %vdata.f
+}
+
+; GCN-LABEL: {{^}}tbuffer_load_both:
+; GCN: tbuffer_load_format_xyzw {{v\[[0-9]+:[0-9]+\]}}, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, dfmt:14, nfmt:4, 0 idxen offen
+define amdgpu_vs <4 x float> @tbuffer_load_both(<4 x i32> inreg, i32 %vindex, i32 %voffs) {
+main_body:
+ %vdata = call <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32> %0, i32 %vindex, i32 %voffs, i32 0, i32 0, i32 14, i32 4, i1 0, i1 0)
+ %vdata.f = bitcast <4 x i32> %vdata to <4 x float>
+ ret <4 x float> %vdata.f
+}
+
+
+; GCN-LABEL: {{^}}buffer_load_xy:
+; GCN: tbuffer_load_format_xy {{v\[[0-9]+:[0-9]+\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:13, nfmt:4, 0
+define amdgpu_vs <2 x float> @buffer_load_xy(<4 x i32> inreg %rsrc) {
+ %vdata = call <2 x i32> @llvm.amdgcn.tbuffer.load.v2i32(<4 x i32> %rsrc, i32 0, i32 0, i32 0, i32 0, i32 13, i32 4, i1 0, i1 0)
+ %vdata.f = bitcast <2 x i32> %vdata to <2 x float>
+ ret <2 x float> %vdata.f
+}
+
+; GCN-LABEL: {{^}}buffer_load_x:
+; GCN: tbuffer_load_format_x {{v[0-9]+}}, off, {{s\[[0-9]+:[0-9]+\]}}, dfmt:13, nfmt:4, 0
+define amdgpu_vs float @buffer_load_x(<4 x i32> inreg %rsrc) {
+ %vdata = call i32 @llvm.amdgcn.tbuffer.load.i32(<4 x i32> %rsrc, i32 0, i32 0, i32 0, i32 0, i32 13, i32 4, i1 0, i1 0)
+ %vdata.f = bitcast i32 %vdata to float
+ ret float %vdata.f
+}
+
+declare i32 @llvm.amdgcn.tbuffer.load.i32(<4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1)
+declare <2 x i32> @llvm.amdgcn.tbuffer.load.v2i32(<4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1)
+declare <4 x i32> @llvm.amdgcn.tbuffer.load.v4i32(<4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1)
+declare <4 x float> @llvm.amdgcn.tbuffer.load.v4f32(<4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1)
diff --git a/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.store.ll b/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.store.ll
new file mode 100644
index 000000000000..997d7f529461
--- /dev/null
+++ b/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.store.ll
@@ -0,0 +1,110 @@
+;RUN: llc < %s -march=amdgcn -mcpu=verde -verify-machineinstrs | FileCheck -check-prefix=GCN %s
+;RUN: llc < %s -march=amdgcn -mcpu=tonga -verify-machineinstrs | FileCheck -check-prefix=GCN %s
+
+; GCN-LABEL: {{^}}tbuffer_store:
+; GCN: tbuffer_store_format_xyzw v[0:3], off, s[0:3], dfmt:12, nfmt:2, 0
+; GCN: tbuffer_store_format_xyzw v[4:7], off, s[0:3], dfmt:13, nfmt:3, 0 glc
+; GCN: tbuffer_store_format_xyzw v[8:11], off, s[0:3], dfmt:14, nfmt:4, 0 slc
+; GCN: tbuffer_store_format_xyzw v[8:11], off, s[0:3], dfmt:14, nfmt:4, 0
+define amdgpu_ps void @tbuffer_store(<4 x i32> inreg, <4 x float>, <4 x float>, <4 x float>) {
+main_body:
+ %in1 = bitcast <4 x float> %1 to <4 x i32>
+ %in2 = bitcast <4 x float> %2 to <4 x i32>
+ %in3 = bitcast <4 x float> %3 to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %in1, <4 x i32> %0, i32 0, i32 0, i32 0, i32 0, i32 12, i32 2, i1 0, i1 0)
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %in2, <4 x i32> %0, i32 0, i32 0, i32 0, i32 0, i32 13, i32 3, i1 1, i1 0)
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %in3, <4 x i32> %0, i32 0, i32 0, i32 0, i32 0, i32 14, i32 4, i1 0, i1 1)
+ call void @llvm.amdgcn.tbuffer.store.v4f32(<4 x float> %3, <4 x i32> %0, i32 0, i32 0, i32 0, i32 0, i32 14, i32 4, i1 0, i1 0)
+ ret void
+}
+
+; GCN-LABEL: {{^}}tbuffer_store_immoffs:
+; GCN: tbuffer_store_format_xyzw v[0:3], off, s[0:3], dfmt:5, nfmt:7, 0 offset:42
+define amdgpu_ps void @tbuffer_store_immoffs(<4 x i32> inreg, <4 x float>) {
+main_body:
+ %in1 = bitcast <4 x float> %1 to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %in1, <4 x i32> %0, i32 0, i32 0, i32 0, i32 42, i32 5, i32 7, i1 0, i1 0)
+ ret void
+}
+
+; GCN-LABEL: {{^}}tbuffer_store_scalar_and_imm_offs:
+; GCN: tbuffer_store_format_xyzw v[0:3], off, s[0:3], dfmt:5, nfmt:7, {{s[0-9]+}} offset:42
+define amdgpu_ps void @tbuffer_store_scalar_and_imm_offs(<4 x i32> inreg, <4 x float> %vdata, i32 inreg %soffset) {
+main_body:
+ %in1 = bitcast <4 x float> %vdata to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %in1, <4 x i32> %0, i32 0, i32 0, i32 %soffset, i32 42, i32 5, i32 7, i1 0, i1 0)
+ ret void
+}
+
+; GCN-LABEL: {{^}}buffer_store_idx:
+; GCN: tbuffer_store_format_xyzw v[0:3], v4, s[0:3], dfmt:15, nfmt:2, 0 idxen
+define amdgpu_ps void @buffer_store_idx(<4 x i32> inreg, <4 x float> %vdata, i32 %vindex) {
+main_body:
+ %in1 = bitcast <4 x float> %vdata to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %in1, <4 x i32> %0, i32 %vindex, i32 0, i32 0, i32 0, i32 15, i32 2, i1 0, i1 0)
+ ret void
+}
+
+; GCN-LABEL: {{^}}buffer_store_ofs:
+; GCN: tbuffer_store_format_xyzw v[0:3], v4, s[0:3], dfmt:3, nfmt:7, 0 offen
+define amdgpu_ps void @buffer_store_ofs(<4 x i32> inreg, <4 x float> %vdata, i32 %voffset) {
+main_body:
+ %in1 = bitcast <4 x float> %vdata to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %in1, <4 x i32> %0, i32 0, i32 %voffset, i32 0, i32 0, i32 3, i32 7, i1 0, i1 0)
+ ret void
+}
+
+; GCN-LABEL: {{^}}buffer_store_both:
+; GCN: tbuffer_store_format_xyzw v[0:3], v[4:5], s[0:3], dfmt:6, nfmt:4, 0 idxen offen
+define amdgpu_ps void @buffer_store_both(<4 x i32> inreg, <4 x float> %vdata, i32 %vindex, i32 %voffset) {
+main_body:
+ %in1 = bitcast <4 x float> %vdata to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %in1, <4 x i32> %0, i32 %vindex, i32 %voffset, i32 0, i32 0, i32 6, i32 4, i1 0, i1 0)
+ ret void
+}
+
+; Ideally, the register allocator would avoid the wait here
+;
+; GCN-LABEL: {{^}}buffer_store_wait:
+; GCN: tbuffer_store_format_xyzw v[0:3], v4, s[0:3], dfmt:15, nfmt:3, 0 idxen
+; GCN: s_waitcnt expcnt(0)
+; GCN: buffer_load_format_xyzw v[0:3], v5, s[0:3], 0 idxen
+; GCN: s_waitcnt vmcnt(0)
+; GCN: tbuffer_store_format_xyzw v[0:3], v6, s[0:3], dfmt:16, nfmt:2, 0 idxen
+define amdgpu_ps void @buffer_store_wait(<4 x i32> inreg, <4 x float> %vdata, i32 %vindex.1, i32 %vindex.2, i32 %vindex.3) {
+main_body:
+ %in1 = bitcast <4 x float> %vdata to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %in1, <4 x i32> %0, i32 %vindex.1, i32 0, i32 0, i32 0, i32 15, i32 3, i1 0, i1 0)
+ %data = call <4 x float> @llvm.amdgcn.buffer.load.format.v4f32(<4 x i32> %0, i32 %vindex.2, i32 0, i1 0, i1 0)
+ %data.i = bitcast <4 x float> %data to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %data.i, <4 x i32> %0, i32 %vindex.3, i32 0, i32 0, i32 0, i32 16, i32 2, i1 0, i1 0)
+ ret void
+}
+
+; GCN-LABEL: {{^}}buffer_store_x1:
+; GCN: tbuffer_store_format_x v0, v1, s[0:3], dfmt:13, nfmt:7, 0 idxen
+define amdgpu_ps void @buffer_store_x1(<4 x i32> inreg %rsrc, float %data, i32 %vindex) {
+main_body:
+ %data.i = bitcast float %data to i32
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 %data.i, <4 x i32> %rsrc, i32 %vindex, i32 0, i32 0, i32 0, i32 13, i32 7, i1 0, i1 0)
+ ret void
+}
+
+; GCN-LABEL: {{^}}buffer_store_x2:
+; GCN: tbuffer_store_format_xy v[0:1], v2, s[0:3], dfmt:1, nfmt:2, 0 idxen
+define amdgpu_ps void @buffer_store_x2(<4 x i32> inreg %rsrc, <2 x float> %data, i32 %vindex) {
+main_body:
+ %data.i = bitcast <2 x float> %data to <2 x i32>
+ call void @llvm.amdgcn.tbuffer.store.v2i32(<2 x i32> %data.i, <4 x i32> %rsrc, i32 %vindex, i32 0, i32 0, i32 0, i32 1, i32 2, i1 0, i1 0)
+ ret void
+}
+
+declare void @llvm.amdgcn.tbuffer.store.i32(i32, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1) #0
+declare void @llvm.amdgcn.tbuffer.store.v2i32(<2 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1) #0
+declare void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1) #0
+declare void @llvm.amdgcn.tbuffer.store.v4f32(<4 x float>, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1) #0
+declare <4 x float> @llvm.amdgcn.buffer.load.format.v4f32(<4 x i32>, i32, i32, i1, i1) #1
+
+attributes #0 = { nounwind }
+attributes #1 = { nounwind readonly }
+
diff --git a/test/CodeGen/AMDGPU/llvm.rint.f16.ll b/test/CodeGen/AMDGPU/llvm.rint.f16.ll
index 59e81a7acc0b..30cb969a76e5 100644
--- a/test/CodeGen/AMDGPU/llvm.rint.f16.ll
+++ b/test/CodeGen/AMDGPU/llvm.rint.f16.ll
@@ -42,13 +42,13 @@ entry:
; VI: v_or_b32_e32 v[[R_V2_F16:[0-9]+]], v[[R_F16_1]], v[[R_F16_0]]
; GFX9: v_rndne_f16_e32 v[[R_F16_0:[0-9]+]], v[[A_V2_F16]]
-; GFX9: v_lshrrev_b32_e32 v[[A_F16_1:[0-9]+]], 16, v[[A_V2_F16]]
-; GFX9: v_rndne_f16_e32 v[[R_F16_1:[0-9]+]], v[[A_F16_1]]
+; GFX9: v_rndne_f16_sdwa v[[R_F16_1:[0-9]+]], v[[A_V2_F16]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
; GFX9: v_and_b32_e32 v[[R_F16_LO:[0-9]+]], 0xffff, v[[R_F16_0]]
; GFX9: v_lshl_or_b32 v[[R_V2_F16:[0-9]+]], v[[R_F16_1]], 16, v[[R_F16_LO]]
; GCN: buffer_store_dword v[[R_V2_F16]]
; GCN: s_endpgm
+
define amdgpu_kernel void @rint_v2f16(
<2 x half> addrspace(1)* %r,
<2 x half> addrspace(1)* %a) {
diff --git a/test/CodeGen/AMDGPU/merge-store-crash.ll b/test/CodeGen/AMDGPU/merge-store-crash.ll
index ef552e295fd4..1252a5c0c02a 100644
--- a/test/CodeGen/AMDGPU/merge-store-crash.ll
+++ b/test/CodeGen/AMDGPU/merge-store-crash.ll
@@ -26,11 +26,11 @@ main_body:
%tmp9 = insertelement <4 x i32> %tmp8, i32 %tmp7, i32 1
%tmp10 = insertelement <4 x i32> %tmp9, i32 undef, i32 2
%tmp11 = insertelement <4 x i32> %tmp10, i32 undef, i32 3
- call void @llvm.SI.tbuffer.store.v4i32(<16 x i8> undef, <4 x i32> %tmp11, i32 4, i32 undef, i32 %arg, i32 0, i32 14, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+ call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %tmp11, <4 x i32> undef, i32 undef, i32 0, i32 %arg, i32 0, i32 14, i32 4, i1 1, i1 1)
ret void
}
; Function Attrs: nounwind
-declare void @llvm.SI.tbuffer.store.v4i32(<16 x i8>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) #0
+declare void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1) #0
attributes #0 = { nounwind }
diff --git a/test/CodeGen/AMDGPU/merge-store-usedef.ll b/test/CodeGen/AMDGPU/merge-store-usedef.ll
index 1c82aeb9b7f5..958692e0c92b 100644
--- a/test/CodeGen/AMDGPU/merge-store-usedef.ll
+++ b/test/CodeGen/AMDGPU/merge-store-usedef.ll
@@ -11,13 +11,13 @@ define amdgpu_vs void @test1(i32 %v) #0 {
store i32 %v, i32 addrspace(3)* %p0
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 %v, i32 1, i32 undef, i32 undef, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 %v, <4 x i32> undef, i32 0, i32 0, i32 0, i32 0, i32 4, i32 4, i1 1, i1 0)
%w = load i32, i32 addrspace(3)* %p0
store i32 %w, i32 addrspace(3)* %p1
ret void
}
-declare void @llvm.SI.tbuffer.store.i32(<16 x i8>, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) #0
+declare void @llvm.amdgcn.tbuffer.store.i32(i32, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1) #0
attributes #0 = { nounwind }
diff --git a/test/CodeGen/AMDGPU/mubuf.ll b/test/CodeGen/AMDGPU/mubuf.ll
index 9e1d2e0490c7..d883b87ec401 100644
--- a/test/CodeGen/AMDGPU/mubuf.ll
+++ b/test/CodeGen/AMDGPU/mubuf.ll
@@ -62,7 +62,8 @@ main_body:
%tmp2 = shl i32 %6, 2
%tmp3 = call i32 @llvm.SI.buffer.load.dword.i32.i32(<16 x i8> %tmp1, i32 %tmp2, i32 64, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0)
%tmp4 = add i32 %6, 16
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> %tmp1, i32 %tmp3, i32 1, i32 %tmp4, i32 %4, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+ %tmp1.4xi32 = bitcast <16 x i8> %tmp1 to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 %tmp3, <4 x i32> %tmp1.4xi32, i32 0, i32 %tmp4, i32 %4, i32 0, i32 4, i32 4, i1 1, i1 1)
ret void
}
@@ -80,7 +81,8 @@ main_body:
%tmp2 = shl i32 %6, 2
%tmp3 = call i32 @llvm.SI.buffer.load.dword.i32.i32(<16 x i8> %tmp1, i32 %tmp2, i32 65, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0)
%tmp4 = add i32 %6, 16
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> %tmp1, i32 %tmp3, i32 1, i32 %tmp4, i32 %4, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+ %tmp1.4xi32 = bitcast <16 x i8> %tmp1 to <4 x i32>
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 %tmp3, <4 x i32> %tmp1.4xi32, i32 0, i32 %tmp4, i32 %4, i32 0, i32 4, i32 4, i1 1, i1 1)
ret void
}
@@ -175,6 +177,6 @@ define amdgpu_kernel void @store_vgpr_ptr(i32 addrspace(1)* %out) #0 {
}
declare i32 @llvm.SI.buffer.load.dword.i32.i32(<16 x i8>, i32, i32, i32, i32, i32, i32, i32, i32) #0
-declare void @llvm.SI.tbuffer.store.i32(<16 x i8>, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32)
+declare void @llvm.amdgcn.tbuffer.store.i32(i32, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1)
attributes #0 = { nounwind readonly }
diff --git a/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir b/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
new file mode 100644
index 000000000000..0a6c8a41130d
--- /dev/null
+++ b/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
@@ -0,0 +1,341 @@
+# RUN: llc -march=amdgcn -run-pass si-fix-sgpr-copies,si-fold-operands,dead-mi-elimination -verify-machineinstrs -o - %s | FileCheck -check-prefix=GCN %s
+
+# Check that constant is in SGPR registers
+
+# GCN-LABEL: {{^}}name: const_to_sgpr{{$}}
+# GCN: %[[HI:[0-9]+]] = S_MOV_B32 0
+# GCN-NEXT: %[[LO:[0-9]+]] = S_MOV_B32 1048576
+# GCN-NEXT: %[[SGPR_PAIR:[0-9]+]] = REG_SEQUENCE killed %[[LO]], 1, killed %[[HI]], 2
+# GCN-NEXT: V_CMP_LT_U64_e64 killed %{{[0-9]+}}, %[[SGPR_PAIR]], implicit %exec
+
+
+# GCN-LABEL: {{^}}name: const_to_sgpr_multiple_use{{$}}
+# GCN: %[[HI:[0-9]+]] = S_MOV_B32 0
+# GCN-NEXT: %[[LO:[0-9]+]] = S_MOV_B32 1048576
+# GCN-NEXT: %[[SGPR_PAIR:[0-9]+]] = REG_SEQUENCE killed %[[LO]], 1, killed %[[HI]], 2
+# GCN-NEXT: V_CMP_LT_U64_e64 killed %{{[0-9]+}}, %[[SGPR_PAIR]], implicit %exec
+# GCN-NEXT: V_CMP_LT_U64_e64 killed %{{[0-9]+}}, %[[SGPR_PAIR]], implicit %exec
+
+# GCN-LABEL: {{^}}name: const_to_sgpr_subreg{{$}}
+# GCN: %[[OP0:[0-9]+]] = REG_SEQUENCE killed %{{[0-9]+}}, 1, killed %{{[0-9]+}}, 2
+# GCN-NEXT: V_CMP_LT_U32_e64 killed %[[OP0]].sub0, 12, implicit %exec
+
+--- |
+ define amdgpu_kernel void @const_to_sgpr(i32 addrspace(1)* nocapture %arg, i64 %id) {
+ bb:
+ br i1 undef, label %bb1, label %bb2
+
+ bb1: ; preds = %bb
+ br label %bb2
+
+ bb2: ; preds = %bb1, %bb
+ ret void
+ }
+
+ define amdgpu_kernel void @const_to_sgpr_multiple_use(i32 addrspace(1)* nocapture %arg, i64 %id1, i64 %id2) {
+ bb:
+ br i1 undef, label %bb1, label %bb2
+
+ bb1: ; preds = %bb
+ br label %bb2
+
+ bb2: ; preds = %bb1, %bb
+ ret void
+ }
+
+ define amdgpu_kernel void @const_to_sgpr_subreg(i32 addrspace(1)* nocapture %arg, i64 %id) {
+ bb:
+ br i1 undef, label %bb1, label %bb2
+
+ bb1: ; preds = %bb
+ br label %bb2
+
+ bb2: ; preds = %bb1, %bb
+ ret void
+ }
+
+...
+---
+name: const_to_sgpr
+alignment: 0
+exposesReturnsTwice: false
+legalized: false
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: sreg_64 }
+ - { id: 1, class: sreg_64 }
+ - { id: 2, class: vgpr_32 }
+ - { id: 3, class: sgpr_64 }
+ - { id: 4, class: sreg_32_xm0 }
+ - { id: 5, class: sgpr_32 }
+ - { id: 6, class: sreg_64 }
+ - { id: 7, class: sreg_64_xexec }
+ - { id: 8, class: sreg_64_xexec }
+ - { id: 9, class: sreg_32 }
+ - { id: 10, class: sreg_64 }
+ - { id: 11, class: sreg_32_xm0 }
+ - { id: 12, class: sreg_32_xm0 }
+ - { id: 13, class: sreg_32_xm0 }
+ - { id: 14, class: sreg_32_xm0 }
+ - { id: 15, class: sreg_32_xm0 }
+ - { id: 16, class: sreg_32_xm0 }
+ - { id: 17, class: sreg_64 }
+ - { id: 18, class: sreg_32_xm0 }
+ - { id: 19, class: sreg_32_xm0 }
+ - { id: 20, class: sreg_64 }
+ - { id: 21, class: sreg_64 }
+ - { id: 22, class: vreg_64 }
+ - { id: 23, class: sreg_32_xm0 }
+ - { id: 24, class: sreg_64 }
+ - { id: 25, class: sreg_32_xm0 }
+ - { id: 26, class: sreg_32_xm0 }
+ - { id: 27, class: sgpr_64 }
+ - { id: 28, class: sgpr_128 }
+ - { id: 29, class: vgpr_32 }
+ - { id: 30, class: vreg_64 }
+liveins:
+ - { reg: '%vgpr0', virtual-reg: '%2' }
+ - { reg: '%sgpr0_sgpr1', virtual-reg: '%3' }
+body: |
+ bb.0.bb:
+ successors: %bb.1.bb1(0x40000000), %bb.2.bb2(0x40000000)
+ liveins: %vgpr0, %sgpr0_sgpr1
+
+ %3 = COPY %sgpr0_sgpr1
+ %2 = COPY %vgpr0
+ %7 = S_LOAD_DWORDX2_IMM %3, 9, 0
+ %8 = S_LOAD_DWORDX2_IMM %3, 11, 0
+ %6 = COPY %7
+ %9 = S_MOV_B32 0
+ %10 = REG_SEQUENCE %2, 1, killed %9, 2
+ %0 = COPY %10
+ %11 = COPY %10.sub0
+ %12 = COPY %10.sub1
+ %13 = COPY %8.sub0
+ %14 = COPY %8.sub1
+ %15 = S_ADD_U32 killed %11, killed %13, implicit-def %scc
+ %16 = S_ADDC_U32 killed %12, killed %14, implicit-def dead %scc, implicit %scc
+ %17 = REG_SEQUENCE killed %15, 1, killed %16, 2
+ %18 = S_MOV_B32 0
+ %19 = S_MOV_B32 1048576
+ %20 = REG_SEQUENCE killed %19, 1, killed %18, 2
+ %22 = COPY killed %20
+ %21 = V_CMP_LT_U64_e64 killed %17, %22, implicit %exec
+ %1 = SI_IF killed %21, %bb.2.bb2, implicit-def dead %exec, implicit-def dead %scc, implicit %exec
+ S_BRANCH %bb.1.bb1
+
+ bb.1.bb1:
+ successors: %bb.2.bb2(0x80000000)
+
+ %23 = S_MOV_B32 2
+ %24 = S_LSHL_B64 %0, killed %23, implicit-def dead %scc
+ %25 = S_MOV_B32 61440
+ %26 = S_MOV_B32 0
+ %27 = REG_SEQUENCE killed %26, 1, killed %25, 2
+ %28 = REG_SEQUENCE %6, 17, killed %27, 18
+ %29 = V_MOV_B32_e32 0, implicit %exec
+ %30 = COPY %24
+ BUFFER_STORE_DWORD_ADDR64 killed %29, killed %30, killed %28, 0, 0, 0, 0, 0, implicit %exec
+
+ bb.2.bb2:
+ SI_END_CF %1, implicit-def dead %exec, implicit-def dead %scc, implicit %exec
+ S_ENDPGM
+
+...
+---
+name: const_to_sgpr_multiple_use
+alignment: 0
+exposesReturnsTwice: false
+legalized: false
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: sreg_64 }
+ - { id: 1, class: sreg_64 }
+ - { id: 2, class: vgpr_32 }
+ - { id: 3, class: sgpr_64 }
+ - { id: 4, class: sreg_32_xm0 }
+ - { id: 5, class: sgpr_32 }
+ - { id: 6, class: sreg_64 }
+ - { id: 7, class: sreg_64_xexec }
+ - { id: 8, class: sreg_64_xexec }
+ - { id: 9, class: sreg_64_xexec }
+ - { id: 10, class: sreg_32 }
+ - { id: 11, class: sreg_64 }
+ - { id: 12, class: sreg_32_xm0 }
+ - { id: 13, class: sreg_32_xm0 }
+ - { id: 14, class: sreg_32_xm0 }
+ - { id: 15, class: sreg_32_xm0 }
+ - { id: 16, class: sreg_32_xm0 }
+ - { id: 17, class: sreg_32_xm0 }
+ - { id: 18, class: sreg_64 }
+ - { id: 19, class: sreg_32_xm0 }
+ - { id: 20, class: sreg_32_xm0 }
+ - { id: 21, class: sreg_32_xm0 }
+ - { id: 22, class: sreg_32_xm0 }
+ - { id: 23, class: sreg_64 }
+ - { id: 24, class: sreg_32_xm0 }
+ - { id: 25, class: sreg_32_xm0 }
+ - { id: 26, class: sreg_64 }
+ - { id: 27, class: sreg_64 }
+ - { id: 28, class: vreg_64 }
+ - { id: 29, class: sreg_64 }
+ - { id: 30, class: vreg_64 }
+ - { id: 31, class: sreg_64 }
+ - { id: 32, class: sreg_32_xm0 }
+ - { id: 33, class: sreg_64 }
+ - { id: 34, class: sreg_32_xm0 }
+ - { id: 35, class: sreg_32_xm0 }
+ - { id: 36, class: sgpr_64 }
+ - { id: 37, class: sgpr_128 }
+ - { id: 38, class: vgpr_32 }
+ - { id: 39, class: vreg_64 }
+liveins:
+ - { reg: '%vgpr0', virtual-reg: '%2' }
+ - { reg: '%sgpr0_sgpr1', virtual-reg: '%3' }
+body: |
+ bb.0.bb:
+ successors: %bb.1.bb1(0x40000000), %bb.2.bb2(0x40000000)
+ liveins: %vgpr0, %sgpr0_sgpr1
+
+ %3 = COPY %sgpr0_sgpr1
+ %2 = COPY %vgpr0
+ %7 = S_LOAD_DWORDX2_IMM %3, 9, 0
+ %8 = S_LOAD_DWORDX2_IMM %3, 11, 0
+ %9 = S_LOAD_DWORDX2_IMM %3, 13, 0
+ %6 = COPY %7
+ %10 = S_MOV_B32 0
+ %11 = REG_SEQUENCE %2, 1, killed %10, 2
+ %0 = COPY %11
+ %12 = COPY %11.sub0
+ %13 = COPY %11.sub1
+ %14 = COPY %8.sub0
+ %15 = COPY %8.sub1
+ %16 = S_ADD_U32 %12, killed %14, implicit-def %scc
+ %17 = S_ADDC_U32 %13, killed %15, implicit-def dead %scc, implicit %scc
+ %18 = REG_SEQUENCE killed %16, 1, killed %17, 2
+ %19 = COPY %9.sub0
+ %20 = COPY %9.sub1
+ %21 = S_ADD_U32 %12, killed %19, implicit-def %scc
+ %22 = S_ADDC_U32 %13, killed %20, implicit-def dead %scc, implicit %scc
+ %23 = REG_SEQUENCE killed %21, 1, killed %22, 2
+ %24 = S_MOV_B32 0
+ %25 = S_MOV_B32 1048576
+ %26 = REG_SEQUENCE killed %25, 1, killed %24, 2
+ %28 = COPY %26
+ %27 = V_CMP_LT_U64_e64 killed %18, %28, implicit %exec
+ %29 = V_CMP_LT_U64_e64 killed %23, %28, implicit %exec
+ %31 = S_AND_B64 killed %27, killed %29, implicit-def dead %scc
+ %1 = SI_IF killed %31, %bb.2.bb2, implicit-def dead %exec, implicit-def dead %scc, implicit %exec
+ S_BRANCH %bb.1.bb1
+
+ bb.1.bb1:
+ successors: %bb.2.bb2(0x80000000)
+
+ %32 = S_MOV_B32 2
+ %33 = S_LSHL_B64 %0, killed %32, implicit-def dead %scc
+ %34 = S_MOV_B32 61440
+ %35 = S_MOV_B32 0
+ %36 = REG_SEQUENCE killed %35, 1, killed %34, 2
+ %37 = REG_SEQUENCE %6, 17, killed %36, 18
+ %38 = V_MOV_B32_e32 0, implicit %exec
+ %39 = COPY %33
+ BUFFER_STORE_DWORD_ADDR64 killed %38, killed %39, killed %37, 0, 0, 0, 0, 0, implicit %exec
+
+ bb.2.bb2:
+ SI_END_CF %1, implicit-def dead %exec, implicit-def dead %scc, implicit %exec
+ S_ENDPGM
+
+...
+---
+name: const_to_sgpr_subreg
+alignment: 0
+exposesReturnsTwice: false
+legalized: false
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: sreg_64 }
+ - { id: 1, class: sreg_64 }
+ - { id: 2, class: vgpr_32 }
+ - { id: 3, class: sgpr_64 }
+ - { id: 4, class: sreg_32_xm0 }
+ - { id: 5, class: sgpr_32 }
+ - { id: 6, class: sreg_64 }
+ - { id: 7, class: sreg_64_xexec }
+ - { id: 8, class: sreg_64_xexec }
+ - { id: 9, class: sreg_32 }
+ - { id: 10, class: sreg_64 }
+ - { id: 11, class: sreg_32_xm0 }
+ - { id: 12, class: sreg_32_xm0 }
+ - { id: 13, class: sreg_32_xm0 }
+ - { id: 14, class: sreg_32_xm0 }
+ - { id: 15, class: sreg_32_xm0 }
+ - { id: 16, class: sreg_32_xm0 }
+ - { id: 17, class: sreg_64 }
+ - { id: 18, class: sreg_32_xm0 }
+ - { id: 19, class: sreg_32_xm0 }
+ - { id: 20, class: sreg_64 }
+ - { id: 21, class: sreg_64 }
+ - { id: 22, class: vgpr_32 }
+ - { id: 23, class: sreg_32_xm0 }
+ - { id: 24, class: sreg_64 }
+ - { id: 25, class: sreg_32_xm0 }
+ - { id: 26, class: sreg_32_xm0 }
+ - { id: 27, class: sgpr_64 }
+ - { id: 28, class: sgpr_128 }
+ - { id: 29, class: vgpr_32 }
+ - { id: 30, class: vreg_64 }
+liveins:
+ - { reg: '%vgpr0', virtual-reg: '%2' }
+ - { reg: '%sgpr0_sgpr1', virtual-reg: '%3' }
+body: |
+ bb.0.bb:
+ successors: %bb.1.bb1(0x40000000), %bb.2.bb2(0x40000000)
+ liveins: %vgpr0, %sgpr0_sgpr1
+
+ %3 = COPY %sgpr0_sgpr1
+ %2 = COPY %vgpr0
+ %7 = S_LOAD_DWORDX2_IMM %3, 9, 0
+ %8 = S_LOAD_DWORDX2_IMM %3, 11, 0
+ %6 = COPY %7
+ %9 = S_MOV_B32 0
+ %10 = REG_SEQUENCE %2, 1, killed %9, 2
+ %0 = COPY %10
+ %11 = COPY %10.sub0
+ %12 = COPY %10.sub1
+ %13 = COPY %8.sub0
+ %14 = COPY %8.sub1
+ %15 = S_ADD_U32 killed %11, killed %13, implicit-def %scc
+ %16 = S_ADDC_U32 killed %12, killed %14, implicit-def dead %scc, implicit %scc
+ %17 = REG_SEQUENCE killed %15, 1, killed %16, 2
+ %18 = S_MOV_B32 12
+ %19 = S_MOV_B32 1048576
+ %20 = REG_SEQUENCE killed %19, 1, killed %18, 2
+ %22 = COPY killed %20.sub1
+ %21 = V_CMP_LT_U32_e64 killed %17.sub0, %22, implicit %exec
+ %1 = SI_IF killed %21, %bb.2.bb2, implicit-def dead %exec, implicit-def dead %scc, implicit %exec
+ S_BRANCH %bb.1.bb1
+
+ bb.1.bb1:
+ successors: %bb.2.bb2(0x80000000)
+
+ %23 = S_MOV_B32 2
+ %24 = S_LSHL_B64 %0, killed %23, implicit-def dead %scc
+ %25 = S_MOV_B32 61440
+ %26 = S_MOV_B32 0
+ %27 = REG_SEQUENCE killed %26, 1, killed %25, 2
+ %28 = REG_SEQUENCE %6, 17, killed %27, 18
+ %29 = V_MOV_B32_e32 0, implicit %exec
+ %30 = COPY %24
+ BUFFER_STORE_DWORD_ADDR64 killed %29, killed %30, killed %28, 0, 0, 0, 0, 0, implicit %exec
+
+ bb.2.bb2:
+ SI_END_CF %1, implicit-def dead %exec, implicit-def dead %scc, implicit %exec
+ S_ENDPGM
+
+...
diff --git a/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll b/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
index c0e8e58556fc..47e32724d9ca 100644
--- a/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
+++ b/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
@@ -25,29 +25,29 @@ main_body:
%array_vector10 = insertelement <4 x float> %array_vector9, float 0.000000e+00, i32 2
%array_vector11 = insertelement <4 x float> %array_vector10, float undef, i32 3
%tmp3 = call i32 @llvm.SI.buffer.load.dword.i32.i32(<16 x i8> undef, i32 undef, i32 4864, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0)
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 %tmp3, i32 1, i32 36, i32 %arg, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 %tmp3, <4 x i32> undef, i32 0, i32 0, i32 %arg, i32 36, i32 4, i32 4, i1 1, i1 1)
%bc = bitcast <4 x float> %array_vector3 to <4 x i32>
%tmp4 = extractelement <4 x i32> %bc, i32 undef
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 %tmp4, i32 1, i32 48, i32 %arg, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 %tmp4, <4 x i32> undef, i32 0, i32 0, i32 %arg, i32 48, i32 4, i32 4, i1 1, i1 1)
%bc49 = bitcast <4 x float> %array_vector11 to <4 x i32>
%tmp5 = extractelement <4 x i32> %bc49, i32 undef
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 %tmp5, i32 1, i32 72, i32 %arg, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 %tmp5, <4 x i32> undef, i32 0, i32 0, i32 %arg, i32 72, i32 4, i32 4, i1 1, i1 1)
%array_vector21 = insertelement <4 x float> <float 0.000000e+00, float undef, float undef, float undef>, float %tmp, i32 1
%array_vector22 = insertelement <4 x float> %array_vector21, float undef, i32 2
%array_vector23 = insertelement <4 x float> %array_vector22, float undef, i32 3
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 undef, i32 1, i32 28, i32 %arg, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 undef, <4 x i32> undef, i32 0, i32 0, i32 %arg, i32 28, i32 4, i32 4, i1 1, i1 1)
%bc52 = bitcast <4 x float> %array_vector23 to <4 x i32>
%tmp6 = extractelement <4 x i32> %bc52, i32 undef
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 %tmp6, i32 1, i32 64, i32 %arg, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 undef, i32 1, i32 20, i32 %arg, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 undef, i32 1, i32 56, i32 %arg, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
- call void @llvm.SI.tbuffer.store.i32(<16 x i8> undef, i32 undef, i32 1, i32 92, i32 %arg, i32 0, i32 4, i32 4, i32 1, i32 0, i32 1, i32 1, i32 0)
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 %tmp6, <4 x i32> undef, i32 0, i32 0, i32 %arg, i32 64, i32 4, i32 4, i1 1, i1 1)
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 undef, <4 x i32> undef, i32 0, i32 0, i32 %arg, i32 20, i32 4, i32 4, i1 1, i1 1)
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 undef, <4 x i32> undef, i32 0, i32 0, i32 %arg, i32 56, i32 4, i32 4, i1 1, i1 1)
+ call void @llvm.amdgcn.tbuffer.store.i32(i32 undef, <4 x i32> undef, i32 0, i32 0, i32 %arg, i32 92, i32 4, i32 4, i1 1, i1 1)
ret void
}
declare float @llvm.SI.load.const(<16 x i8>, i32) #1
declare i32 @llvm.SI.buffer.load.dword.i32.i32(<16 x i8>, i32, i32, i32, i32, i32, i32, i32, i32) #2
-declare void @llvm.SI.tbuffer.store.i32(<16 x i8>, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) #3
+declare void @llvm.amdgcn.tbuffer.store.i32(i32, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1) #3
attributes #0 = { nounwind "target-cpu"="tonga" }
attributes #1 = { nounwind readnone }
diff --git a/test/CodeGen/AMDGPU/sdwa-gfx9.mir b/test/CodeGen/AMDGPU/sdwa-gfx9.mir
new file mode 100644
index 000000000000..90cb14bf50d3
--- /dev/null
+++ b/test/CodeGen/AMDGPU/sdwa-gfx9.mir
@@ -0,0 +1,88 @@
+# RUN: llc -march=amdgcn -mcpu=kaveri -run-pass=si-peephole-sdwa -o - %s | FileCheck -check-prefix=CI -check-prefix=GCN %s
+# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=si-peephole-sdwa -o - %s | FileCheck -check-prefix=VI -check-prefix=GCN %s
+# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=si-peephole-sdwa -o - %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
+
+# GCN-LABEL: {{^}}name: add_shr_i32
+# GCN: [[SMOV:%[0-9]+]] = S_MOV_B32 123
+
+# CI: [[SHIFT:%[0-9]+]] = V_LSHRREV_B32_e64 16, %{{[0-9]+}}, implicit %exec
+# CI: %{{[0-9]+}} = V_ADD_I32_e32 [[SMOV]], killed [[SHIFT]], implicit-def %vcc, implicit %exec
+
+# VI: [[VMOV:%[0-9]+]] = V_MOV_B32_e32 [[SMOV]], implicit %exec
+# VI: %{{[0-9]+}} = V_ADD_I32_sdwa 0, [[VMOV]], 0, %{{[0-9]+}}, 0, 6, 0, 6, 5, implicit-def %vcc, implicit %exec
+
+# GFX9: %{{[0-9]+}} = V_ADD_I32_sdwa 0, [[SMOV]], 0, %{{[0-9]+}}, 0, 6, 0, 6, 5, implicit-def %vcc, implicit %exec
+
+---
+name: add_shr_i32
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vreg_64 }
+ - { id: 1, class: vreg_64 }
+ - { id: 2, class: sreg_64 }
+ - { id: 3, class: vgpr_32 }
+ - { id: 4, class: sreg_32_xm0 }
+ - { id: 5, class: sreg_32_xm0 }
+ - { id: 6, class: sreg_32 }
+ - { id: 7, class: sreg_32_xm0 }
+ - { id: 8, class: sreg_32 }
+ - { id: 9, class: vgpr_32 }
+ - { id: 10, class: vgpr_32 }
+ - { id: 11, class: vgpr_32 }
+ - { id: 12, class: sreg_32_xm0 }
+body: |
+ bb.0:
+ liveins: %vgpr0_vgpr1, %vgpr2_vgpr3, %sgpr30_sgpr31
+
+ %2 = COPY %sgpr30_sgpr31
+ %1 = COPY %vgpr2_vgpr3
+ %0 = COPY %vgpr0_vgpr1
+ %3 = FLAT_LOAD_DWORD %1, 0, 0, 0, implicit %exec, implicit %flat_scr :: (load 4)
+ %12 = S_MOV_B32 123
+ %10 = V_LSHRREV_B32_e64 16, %3, implicit %exec
+ %11 = V_ADD_I32_e32 %12, killed %10, implicit-def %vcc, implicit %exec
+ FLAT_STORE_DWORD %0, %11, 0, 0, 0, implicit %exec, implicit %flat_scr :: (store 4)
+ %sgpr30_sgpr31 = COPY %2
+ S_SETPC_B64_return %sgpr30_sgpr31
+
+...
+
+# GCN-LABEL: {{^}}name: trunc_shr_f32
+
+# CI: [[SHIFT:%[0-9]+]] = V_LSHRREV_B32_e64 16, %{{[0-9]+}}, implicit %exec
+# CI: %{{[0-9]+}} = V_TRUNC_F32_e64 0, killed [[SHIFT]], 1, 2, implicit-def %vcc, implicit %exec
+
+# VI: [[SHIFT:%[0-9]+]] = V_LSHRREV_B32_e64 16, %{{[0-9]+}}, implicit %exec
+# VI: %{{[0-9]+}} = V_TRUNC_F32_e64 0, killed [[SHIFT]], 1, 2, implicit-def %vcc, implicit %exec
+
+#GFX9: %{{[0-9]+}} = V_TRUNC_F32_sdwa 0, %{{[0-9]+}}, 1, 2, 6, 0, 5, implicit %exec
+
+---
+name: trunc_shr_f32
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vreg_64 }
+ - { id: 1, class: vreg_64 }
+ - { id: 2, class: sreg_64 }
+ - { id: 3, class: vgpr_32 }
+ - { id: 4, class: sreg_32_xm0 }
+ - { id: 5, class: sreg_32_xm0 }
+ - { id: 6, class: sreg_32 }
+ - { id: 7, class: sreg_32_xm0 }
+ - { id: 8, class: sreg_32 }
+ - { id: 9, class: vgpr_32 }
+ - { id: 10, class: vgpr_32 }
+ - { id: 11, class: vgpr_32 }
+body: |
+ bb.0:
+ liveins: %vgpr0_vgpr1, %vgpr2_vgpr3, %sgpr30_sgpr31
+
+ %2 = COPY %sgpr30_sgpr31
+ %1 = COPY %vgpr2_vgpr3
+ %0 = COPY %vgpr0_vgpr1
+ %3 = FLAT_LOAD_DWORD %1, 0, 0, 0, implicit %exec, implicit %flat_scr :: (load 4)
+ %10 = V_LSHRREV_B32_e64 16, %3, implicit %exec
+ %11 = V_TRUNC_F32_e64 0, killed %10, 1, 2, implicit-def %vcc, implicit %exec
+ FLAT_STORE_DWORD %0, %11, 0, 0, 0, implicit %exec, implicit %flat_scr :: (store 4)
+ %sgpr30_sgpr31 = COPY %2
+ S_SETPC_B64_return %sgpr30_sgpr31
diff --git a/test/CodeGen/AMDGPU/sdwa-peephole.ll b/test/CodeGen/AMDGPU/sdwa-peephole.ll
index 66e166d283f7..0dc7cc309f7c 100644
--- a/test/CodeGen/AMDGPU/sdwa-peephole.ll
+++ b/test/CodeGen/AMDGPU/sdwa-peephole.ll
@@ -1,5 +1,6 @@
; RUN: llc -march=amdgcn -mcpu=fiji -amdgpu-sdwa-peephole=0 -mattr=-fp64-fp16-denormals -verify-machineinstrs < %s | FileCheck -check-prefix=NOSDWA -check-prefix=GCN %s
-; RUN: llc -march=amdgcn -mcpu=fiji -amdgpu-sdwa-peephole -mattr=-fp64-fp16-denormals -verify-machineinstrs < %s | FileCheck -check-prefix=SDWA -check-prefix=GCN %s
+; RUN: llc -march=amdgcn -mcpu=fiji -amdgpu-sdwa-peephole -mattr=-fp64-fp16-denormals -verify-machineinstrs < %s | FileCheck -check-prefix=VI -check-prefix=SDWA -check-prefix=GCN %s
+; RUN: llc -march=amdgcn -mcpu=gfx900 -amdgpu-sdwa-peephole -mattr=-fp64-fp16-denormals -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 -check-prefix=SDWA -check-prefix=GCN %s
; GCN-LABEL: {{^}}add_shr_i32:
; NOSDWA: v_lshrrev_b32_e32 v[[DST:[0-9]+]], 16, v{{[0-9]+}}
@@ -72,9 +73,11 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v[[DST_SHL]], v{{[0-9]+}}
; NOSDWA-NOT: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL_LO:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL_HI:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL_LO]], v[[DST_MUL_HI]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL_LO:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL_HI:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL_LO]], v[[DST_MUL_HI]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+
+; GFX9: v_pk_mul_lo_u16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define amdgpu_kernel void @mul_v2i16(<2 x i16> addrspace(1)* %out, <2 x i16> addrspace(1)* %ina, <2 x i16> addrspace(1)* %inb) {
entry:
@@ -93,12 +96,15 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-NOT: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL0:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL1:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL2:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL3:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL2]], v[[DST_MUL3]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
-; SDWA-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL0]], v[[DST_MUL1]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL0:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL1:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL2:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL3:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL2]], v[[DST_MUL3]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+; VI-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL0]], v[[DST_MUL1]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+
+; GFX9-DAG: v_pk_mul_lo_u16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9-DAG: v_pk_mul_lo_u16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define amdgpu_kernel void @mul_v4i16(<4 x i16> addrspace(1)* %out, <4 x i16> addrspace(1)* %ina, <4 x i16> addrspace(1)* %inb) {
entry:
@@ -117,18 +123,23 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-NOT: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL0:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL1:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL2:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL3:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL4:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL5:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL6:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
-; SDWA-DAG: v_mul_u32_u24_sdwa v[[DST_MUL7:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL6]], v[[DST_MUL7]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
-; SDWA-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL4]], v[[DST_MUL5]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
-; SDWA-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL2]], v[[DST_MUL3]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
-; SDWA-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL0]], v[[DST_MUL1]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL0:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL1:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL2:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL3:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL4:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL5:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL6:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:WORD_0
+; VI-DAG: v_mul_u32_u24_sdwa v[[DST_MUL7:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL6]], v[[DST_MUL7]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+; VI-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL4]], v[[DST_MUL5]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+; VI-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL2]], v[[DST_MUL3]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+; VI-DAG: v_or_b32_sdwa v{{[0-9]+}}, v[[DST_MUL0]], v[[DST_MUL1]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+
+; GFX9-DAG: v_pk_mul_lo_u16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9-DAG: v_pk_mul_lo_u16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9-DAG: v_pk_mul_lo_u16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9-DAG: v_pk_mul_lo_u16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define amdgpu_kernel void @mul_v8i16(<8 x i16> addrspace(1)* %out, <8 x i16> addrspace(1)* %ina, <8 x i16> addrspace(1)* %inb) {
entry:
@@ -162,9 +173,12 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v[[DST_SHL]], v{{[0-9]+}}
; NOSDWA-NOT: v_mul_f16_sdwa
-; SDWA-DAG: v_mul_f16_sdwa v[[DST_MUL_HI:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_mul_f16_e32 v[[DST_MUL_LO:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}}
-; SDWA: v_or_b32_e32 v{{[0-9]+}}, v[[DST_MUL_HI]], v[[DST_MUL_LO]]
+; VI-DAG: v_mul_f16_sdwa v[[DST_MUL_HI:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_mul_f16_e32 v[[DST_MUL_LO:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}}
+; VI: v_or_b32_e32 v{{[0-9]+}}, v[[DST_MUL_HI]], v[[DST_MUL_LO]]
+
+; GFX9: v_pk_mul_f16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+
define amdgpu_kernel void @mul_v2half(<2 x half> addrspace(1)* %out, <2 x half> addrspace(1)* %ina, <2 x half> addrspace(1)* %inb) {
entry:
%a = load <2 x half>, <2 x half> addrspace(1)* %ina, align 4
@@ -182,10 +196,13 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-NOT: v_mul_f16_sdwa
-; SDWA-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
-; SDWA-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; VI-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; VI-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+
+; GFX9-DAG: v_pk_mul_f16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9-DAG: v_pk_mul_f16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define amdgpu_kernel void @mul_v4half(<4 x half> addrspace(1)* %out, <4 x half> addrspace(1)* %ina, <4 x half> addrspace(1)* %inb) {
entry:
@@ -204,14 +221,19 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-NOT: v_mul_f16_sdwa
-; SDWA-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
-; SDWA-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
-; SDWA-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
-; SDWA-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; VI-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_mul_f16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; VI-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; VI-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; VI-DAG: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+
+; GFX9-DAG: v_pk_mul_f16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9-DAG: v_pk_mul_f16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9-DAG: v_pk_mul_f16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9-DAG: v_pk_mul_f16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define amdgpu_kernel void @mul_v8half(<8 x half> addrspace(1)* %out, <8 x half> addrspace(1)* %ina, <8 x half> addrspace(1)* %inb) {
entry:
@@ -245,7 +267,11 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-NOT: v_mul_u32_u24_sdwa
-; SDWA: v_mul_u32_u24_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:BYTE_1
+; VI: v_mul_u32_u24_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:BYTE_1
+
+; GFX9-DAG: v_mul_lo_u16_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:BYTE_1
+; GFX9-DAG: v_mul_lo_u16_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9: v_or_b32_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
define amdgpu_kernel void @mul_v2i8(<2 x i8> addrspace(1)* %out, <2 x i8> addrspace(1)* %ina, <2 x i8> addrspace(1)* %inb) {
entry:
@@ -264,9 +290,13 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-NOT: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa
+; VI-DAG: v_mul_u32_u24_sdwa
+; VI-DAG: v_mul_u32_u24_sdwa
+; VI-DAG: v_mul_u32_u24_sdwa
+
+; GFX9-DAG: v_mul_lo_u16_sdwa
+; GFX9-DAG: v_mul_lo_u16_sdwa
+; GFX9-DAG: v_mul_lo_u16_sdwa
define amdgpu_kernel void @mul_v4i8(<4 x i8> addrspace(1)* %out, <4 x i8> addrspace(1)* %ina, <4 x i8> addrspace(1)* %inb) {
entry:
@@ -285,12 +315,19 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-NOT: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mul_u32_u24_sdwa
+; VI-DAG: v_mul_u32_u24_sdwa
+; VI-DAG: v_mul_u32_u24_sdwa
+; VI-DAG: v_mul_u32_u24_sdwa
+; VI-DAG: v_mul_u32_u24_sdwa
+; VI-DAG: v_mul_u32_u24_sdwa
+; VI-DAG: v_mul_u32_u24_sdwa
+
+; GFX9-DAG: v_mul_lo_u16_sdwa
+; GFX9-DAG: v_mul_lo_u16_sdwa
+; GFX9-DAG: v_mul_lo_u16_sdwa
+; GFX9-DAG: v_mul_lo_u16_sdwa
+; GFX9-DAG: v_mul_lo_u16_sdwa
+; GFX9-DAG: v_mul_lo_u16_sdwa
define amdgpu_kernel void @mul_v8i8(<8 x i8> addrspace(1)* %out, <8 x i8> addrspace(1)* %ina, <8 x i8> addrspace(1)* %inb) {
entry:
@@ -330,8 +367,11 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v[[DST_SHL]], v{{[0-9]+}}
; NOSDWA-NOT: v_mac_f16_sdwa
-; SDWA: v_mac_f16_sdwa v[[DST_MAC:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
-; SDWA: v_lshlrev_b32_e32 v[[DST_SHL:[0-9]+]], 16, v[[DST_MAC]]
+; VI: v_mac_f16_sdwa v[[DST_MAC:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI: v_lshlrev_b32_e32 v[[DST_SHL:[0-9]+]], 16, v[[DST_MAC]]
+
+; GFX9: v_pk_mul_f16 v[[DST_MUL:[0-9]+]], v{{[0-9]+}}, v[[SRC:[0-9]+]]
+; GFX9: v_pk_add_f16 v{{[0-9]+}}, v[[DST_MUL]], v[[SRC]]
define amdgpu_kernel void @mac_v2half(<2 x half> addrspace(1)* %out, <2 x half> addrspace(1)* %ina, <2 x half> addrspace(1)* %inb) {
entry:
@@ -345,10 +385,13 @@ entry:
; GCN-LABEL: {{^}}immediate_mul_v2i16:
; NOSDWA-NOT: v_mul_u32_u24_sdwa
-; SDWA-DAG: v_mov_b32_e32 v[[M321:[0-9]+]], 0x141
-; SDWA-DAG: v_mov_b32_e32 v[[M123:[0-9]+]], 0x7b
-; SDWA-DAG: v_mul_u32_u24_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v[[M123]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
-; SDWA-DAG: v_mul_u32_u24_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v[[M321]] dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-DAG: v_mov_b32_e32 v[[M321:[0-9]+]], 0x141
+; VI-DAG: v_mov_b32_e32 v[[M123:[0-9]+]], 0x7b
+; VI-DAG: v_mul_u32_u24_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v[[M123]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+; VI-DAG: v_mul_u32_u24_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v[[M321]] dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+
+; GFX9: s_mov_b32 s[[IMM:[0-9]+]], 0x141007b
+; GFX9: v_pk_mul_lo_u16 v{{[0-9]+}}, v{{[0-9]+}}, s[[IMM]]
define amdgpu_kernel void @immediate_mul_v2i16(<2 x i16> addrspace(1)* %out, <2 x i16> addrspace(1)* %in) {
entry:
@@ -367,7 +410,10 @@ entry:
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-NOT: v_mul_u32_u24_sdwa
-; SDWA: v_mul_u32_u24_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI: v_mul_u32_u24_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+
+; GFX9: v_pk_mul_lo_u16 v[[DST1:[0-9]+]], v{{[0-9]+}}, v{{[0-9]+}}
+; GFX9: v_pk_mul_lo_u16 v{{[0-9]+}}, v[[DST1]], v{{[0-9]+}}
define amdgpu_kernel void @mulmul_v2i16(<2 x i16> addrspace(1)* %out, <2 x i16> addrspace(1)* %ina, <2 x i16> addrspace(1)* %inb) {
entry:
@@ -382,7 +428,9 @@ entry:
; GCN-LABEL: {{^}}add_bb_v2i16:
; NOSDWA-NOT: v_add_i32_sdwa
-; SDWA: v_add_i32_sdwa v{{[0-9]+}}, vcc, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+; VI: v_add_i32_sdwa v{{[0-9]+}}, vcc, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1
+
+; GFX9: v_pk_add_u16 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define amdgpu_kernel void @add_bb_v2i16(<2 x i16> addrspace(1)* %out, <2 x i16> addrspace(1)* %ina, <2 x i16> addrspace(1)* %inb) {
entry:
@@ -400,17 +448,19 @@ store_label:
; Check that "pulling out" SDWA operands works correctly.
; GCN-LABEL: {{^}}pulled_out_test:
-; NOSDWA-DAG: v_and_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; NOSDWA-DAG: v_and_b32_e32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-DAG: v_lshlrev_b16_e32 v{{[0-9]+}}, 8, v{{[0-9]+}}
-; NOSDWA-DAG: v_and_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
+; NOSDWA-DAG: v_and_b32_e32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-DAG: v_lshlrev_b16_e32 v{{[0-9]+}}, 8, v{{[0-9]+}}
; NOSDWA: v_or_b32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
; NOSDWA-NOT: v_and_b32_sdwa
; NOSDWA-NOT: v_or_b32_sdwa
-; SDWA-DAG: v_and_b32_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-DAG: v_and_b32_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; GFX9-DAG: v_and_b32_sdwa v{{[0-9]+}}, v{{[0-9]+}}, s{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; SDWA-DAG: v_lshlrev_b16_e32 v{{[0-9]+}}, 8, v{{[0-9]+}}
-; SDWA-DAG: v_and_b32_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; VI-DAG: v_and_b32_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+; GFX9-DAG: v_and_b32_sdwa v{{[0-9]+}}, v{{[0-9]+}}, s{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
; SDWA-DAG: v_lshlrev_b16_e32 v{{[0-9]+}}, 8, v{{[0-9]+}}
; SDWA: v_or_b32_sdwa v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
diff --git a/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir b/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
index ba937c927c70..52803ae3259d 100644
--- a/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
+++ b/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
@@ -1,4 +1,5 @@
-# RUN: llc -march=amdgcn -mcpu=fiji -start-before si-peephole-sdwa -o - %s | FileCheck -check-prefix=GCN %s
+# RUN: llc -march=amdgcn -mcpu=fiji -start-before si-peephole-sdwa -o - %s | FileCheck -check-prefix=VI -check-prefix=GCN %s
+# RUN: llc -march=amdgcn -mcpu=gfx900 -start-before si-peephole-sdwa -o - %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
# GCN-LABEL: {{^}}sdwa_imm_operand:
# GCN: v_mov_b32_e32 v[[SHIFT:[0-9]+]], 2
@@ -8,11 +9,17 @@
# GCN: v_lshlrev_b32_sdwa v{{[0-9]+}}, v[[SHIFT]], v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
# GCN-LABEL: {{^}}sdwa_sgpr_operand:
-# GCN: v_mov_b32_e32 v[[SHIFT:[0-9]+]], 2
-# GCN-NOT: v_mov_b32_e32 v{{[0-9]+}}, 2
-# GCN: BB1_1:
-# GCN: v_lshlrev_b32_sdwa v{{[0-9]+}}, v[[SHIFT]], v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
-# GCN: v_lshlrev_b32_sdwa v{{[0-9]+}}, v[[SHIFT]], v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+# VI: v_mov_b32_e32 v[[SHIFT:[0-9]+]], 2
+# VI-NOT: v_mov_b32_e32 v{{[0-9]+}}, 2
+# VI: BB1_1:
+# VI: v_lshlrev_b32_sdwa v{{[0-9]+}}, v[[SHIFT]], v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+# VI: v_lshlrev_b32_sdwa v{{[0-9]+}}, v[[SHIFT]], v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+
+# GFX9: s_mov_b32 s[[SHIFT:[0-9]+]], 2
+# GFX9-NOT: v_mov_b32_e32 v{{[0-9]+}}, 2
+# GFX9: BB1_1:
+# GFX9: v_lshlrev_b32_sdwa v{{[0-9]+}}, s[[SHIFT]], v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+# GFX9: v_lshlrev_b32_sdwa v{{[0-9]+}}, s[[SHIFT]], v{{[0-9]+}} dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
--- |
; ModuleID = 'sdwa-scalar-ops.opt.ll'
diff --git a/test/CodeGen/AMDGPU/sdwa-vop2-64bit.mir b/test/CodeGen/AMDGPU/sdwa-vop2-64bit.mir
new file mode 100644
index 000000000000..913b54332119
--- /dev/null
+++ b/test/CodeGen/AMDGPU/sdwa-vop2-64bit.mir
@@ -0,0 +1,61 @@
+# RUN: llc -march=amdgcn -mcpu=kaveri -run-pass=si-peephole-sdwa -o - %s | FileCheck -check-prefix=CI -check-prefix=GCN %s
+# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=si-peephole-sdwa -o - %s | FileCheck -check-prefix=VI -check-prefix=GCN %s
+# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=si-peephole-sdwa -o - %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
+
+# No conversion for VOP2 instructions that have only 64-bit encoding
+
+# GCN-LABEL: {{^}}name: vop2_64bit
+
+# GCN: %{{[0-9]+}} = V_BCNT_U32_B32_e64 %{{[0-9]+}}, killed %{{[0-9]+}}, implicit-def %vcc, implicit %exec
+# GCN: %{{[0-9]+}} = V_BFM_B32_e64 %{{[0-9]+}}, killed %{{[0-9]+}}, implicit-def %vcc, implicit %exec
+# GCN: %{{[0-9]+}} = V_CVT_PKNORM_I16_F32_e64 0, %{{[0-9]+}}, 0, killed %{{[0-9]+}}, 0, 0, implicit-def %vcc, implicit %exec
+# GCN: %{{[0-9]+}} = V_READLANE_B32 killed %{{[0-9]+}}, 0, implicit-def %vcc, implicit %exec
+
+---
+name: vop2_64bit
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vreg_64 }
+ - { id: 1, class: vreg_64 }
+ - { id: 2, class: sreg_64 }
+ - { id: 3, class: vgpr_32 }
+ - { id: 4, class: sreg_32_xm0 }
+ - { id: 5, class: sreg_32_xm0 }
+ - { id: 6, class: sreg_32 }
+ - { id: 7, class: sreg_32_xm0 }
+ - { id: 8, class: sreg_32 }
+ - { id: 9, class: vgpr_32 }
+ - { id: 12, class: vgpr_32 }
+ - { id: 13, class: vgpr_32 }
+ - { id: 14, class: vgpr_32 }
+ - { id: 15, class: vgpr_32 }
+ - { id: 16, class: vgpr_32 }
+ - { id: 17, class: vgpr_32 }
+ - { id: 18, class: vgpr_32 }
+ - { id: 19, class: sgpr_32 }
+ - { id: 20, class: vgpr_32 }
+body: |
+ bb.0:
+ liveins: %vgpr0_vgpr1, %vgpr2_vgpr3, %sgpr30_sgpr31
+
+ %2 = COPY %sgpr30_sgpr31
+ %1 = COPY %vgpr2_vgpr3
+ %0 = COPY %vgpr0_vgpr1
+ %3 = FLAT_LOAD_DWORD %1, 0, 0, 0, implicit %exec, implicit %flat_scr :: (load 4)
+
+ %12 = V_LSHRREV_B32_e64 16, %3, implicit %exec
+ %13 = V_BCNT_U32_B32_e64 %3, killed %12, implicit-def %vcc, implicit %exec
+
+ %14 = V_LSHRREV_B32_e64 16, %13, implicit %exec
+ %15 = V_BFM_B32_e64 %13, killed %14, implicit-def %vcc, implicit %exec
+
+ %16 = V_LSHRREV_B32_e64 16, %15, implicit %exec
+ %17 = V_CVT_PKNORM_I16_F32_e64 0, %15, 0, killed %16, 0, 0, implicit-def %vcc, implicit %exec
+
+ %18 = V_LSHRREV_B32_e64 16, %17, implicit %exec
+ %19 = V_READLANE_B32 killed %18, 0, implicit-def %vcc, implicit %exec
+ %20 = V_MOV_B32_e64 %19, implicit %exec
+
+ FLAT_STORE_DWORD %0, %20, 0, 0, 0, implicit %exec, implicit %flat_scr :: (store 4)
+ %sgpr30_sgpr31 = COPY %2
+ S_SETPC_B64_return %sgpr30_sgpr31
diff --git a/test/CodeGen/AMDGPU/shrink-carry.mir b/test/CodeGen/AMDGPU/shrink-carry.mir
new file mode 100644
index 000000000000..ce0cec75403c
--- /dev/null
+++ b/test/CodeGen/AMDGPU/shrink-carry.mir
@@ -0,0 +1,101 @@
+# RUN: llc -march=amdgcn -verify-machineinstrs -start-before si-shrink-instructions -stop-before si-insert-skips -o - %s | FileCheck -check-prefix=GCN %s
+
+# GCN-LABEL: name: subbrev{{$}}
+# GCN: V_SUBBREV_U32_e64 0, undef %vgpr0, killed %vcc, implicit %exec
+
+---
+name: subbrev
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vgpr_32 }
+ - { id: 1, class: vgpr_32 }
+ - { id: 2, class: vgpr_32 }
+ - { id: 3, class: sreg_64 }
+ - { id: 4, class: vgpr_32 }
+ - { id: 5, class: sreg_64 }
+body: |
+ bb.0:
+
+ %0 = IMPLICIT_DEF
+ %1 = IMPLICIT_DEF
+ %2 = IMPLICIT_DEF
+ %3 = V_CMP_GT_U32_e64 %0, %1, implicit %exec
+ %4, %5 = V_SUBBREV_U32_e64 0, %0, %3, implicit %exec
+ S_ENDPGM
+
+...
+
+# GCN-LABEL: name: subb{{$}}
+# GCN: V_SUBB_U32_e64 undef %vgpr0, 0, killed %vcc, implicit %exec
+
+---
+name: subb
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vgpr_32 }
+ - { id: 1, class: vgpr_32 }
+ - { id: 2, class: vgpr_32 }
+ - { id: 3, class: sreg_64 }
+ - { id: 4, class: vgpr_32 }
+ - { id: 5, class: sreg_64 }
+body: |
+ bb.0:
+
+ %0 = IMPLICIT_DEF
+ %1 = IMPLICIT_DEF
+ %2 = IMPLICIT_DEF
+ %3 = V_CMP_GT_U32_e64 %0, %1, implicit %exec
+ %4, %5 = V_SUBB_U32_e64 %0, 0, %3, implicit %exec
+ S_ENDPGM
+
+...
+
+# GCN-LABEL: name: addc{{$}}
+# GCN: V_ADDC_U32_e32 0, undef %vgpr0, implicit-def %vcc, implicit killed %vcc, implicit %exec
+
+---
+name: addc
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vgpr_32 }
+ - { id: 1, class: vgpr_32 }
+ - { id: 2, class: vgpr_32 }
+ - { id: 3, class: sreg_64 }
+ - { id: 4, class: vgpr_32 }
+ - { id: 5, class: sreg_64 }
+body: |
+ bb.0:
+
+ %0 = IMPLICIT_DEF
+ %1 = IMPLICIT_DEF
+ %2 = IMPLICIT_DEF
+ %3 = V_CMP_GT_U32_e64 %0, %1, implicit %exec
+ %4, %5 = V_ADDC_U32_e64 0, %0, %3, implicit %exec
+ S_ENDPGM
+
+...
+
+# GCN-LABEL: name: addc2{{$}}
+# GCN: V_ADDC_U32_e32 0, undef %vgpr0, implicit-def %vcc, implicit killed %vcc, implicit %exec
+
+---
+name: addc2
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vgpr_32 }
+ - { id: 1, class: vgpr_32 }
+ - { id: 2, class: vgpr_32 }
+ - { id: 3, class: sreg_64 }
+ - { id: 4, class: vgpr_32 }
+ - { id: 5, class: sreg_64 }
+body: |
+ bb.0:
+
+ %0 = IMPLICIT_DEF
+ %1 = IMPLICIT_DEF
+ %2 = IMPLICIT_DEF
+ %3 = V_CMP_GT_U32_e64 %0, %1, implicit %exec
+ %4, %5 = V_ADDC_U32_e64 %0, 0, %3, implicit %exec
+ S_ENDPGM
+
+...
diff --git a/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll b/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
index 8a4cee264fd8..348c7200c0bc 100644
--- a/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
+++ b/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
@@ -1,7 +1,7 @@
; RUN: llc -march=amdgcn -mcpu=bonaire -enable-amdgpu-aa=0 -verify-machineinstrs -enable-misched -enable-aa-sched-mi < %s | FileCheck -check-prefix=FUNC -check-prefix=CI %s
-declare void @llvm.SI.tbuffer.store.i32(<16 x i8>, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32)
-declare void @llvm.SI.tbuffer.store.v4i32(<16 x i8>, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32)
+declare void @llvm.amdgcn.tbuffer.store.i32(i32, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1)
+declare void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32>, <4 x i32>, i32, i32, i32, i32, i32, i32, i1, i1)
declare void @llvm.amdgcn.s.barrier() #1
declare i32 @llvm.amdgcn.workitem.id.x() #2
@@ -258,9 +258,8 @@ define amdgpu_kernel void @reorder_global_offsets_addr64_soffset0(i32 addrspace(
; %tmp1 = load i32, i32 addrspace(3)* %ptr1, align 4
; %vdata = insertelement <4 x i32> undef, i32 %a1, i32 0
-; call void @llvm.SI.tbuffer.store.v4i32(<16 x i8> undef, <4 x i32> %vdata,
-; i32 4, i32 %vaddr, i32 0, i32 32, i32 14, i32 4, i32 1, i32 0, i32 1,
-; i32 1, i32 0)
+; call void @llvm.amdgcn.tbuffer.store.v4i32(<4 x i32> %vdata, <4 x i32> undef,
+; i32 %vaddr, i32 0, i32 0, i32 32, i32 14, i32 4, i1 1, i1 1)
; %tmp2 = load i32, i32 addrspace(3)* %ptr2, align 4
diff --git a/test/CodeGen/AMDGPU/sint_to_fp.i64.ll b/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
index 04cd199b81ae..6f28516ffbfe 100644
--- a/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
+++ b/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
@@ -22,7 +22,7 @@ define amdgpu_kernel void @s_sint_to_fp_i64_to_f16(half addrspace(1)* %out, i64
; GCN: v_cndmask
; GCN-DAG: v_cmp_eq_u64
-; GCN-DAG: v_cmp_lt_u64
+; GCN-DAG: v_cmp_gt_u64
; GCN: v_xor_b32_e32 v{{[0-9]+}}, 0x80000000, v{{[0-9]+}}
; GCN: v_cndmask_b32_e{{32|64}} [[SIGN_SEL:v[0-9]+]],
@@ -57,7 +57,7 @@ define amdgpu_kernel void @s_sint_to_fp_i64_to_f32(float addrspace(1)* %out, i64
; GCN: v_cndmask
; GCN-DAG: v_cmp_eq_u64
-; GCN-DAG: v_cmp_lt_u64
+; GCN-DAG: v_cmp_gt_u64
; GCN: v_xor_b32_e32 v{{[0-9]+}}, 0x80000000, v{{[0-9]+}}
; GCN: v_cndmask_b32_e{{32|64}} [[SIGN_SEL:v[0-9]+]],
diff --git a/test/CodeGen/AMDGPU/spill-m0.ll b/test/CodeGen/AMDGPU/spill-m0.ll
index 7e8fa118c2c2..1147464c1dda 100644
--- a/test/CodeGen/AMDGPU/spill-m0.ll
+++ b/test/CodeGen/AMDGPU/spill-m0.ll
@@ -119,10 +119,10 @@ endif: ; preds = %else, %if
; GCN: ; clobber m0
-; TOSMEM: s_mov_b32 vcc_hi, m0
+; TOSMEM: s_mov_b32 s2, m0
; TOSMEM: s_add_u32 m0, s3, 0x100
; TOSMEM-NEXT: s_buffer_store_dwordx2 s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, m0 ; 8-byte Folded Spill
-; TOSMEM: s_mov_b32 m0, vcc_hi
+; TOSMEM: s_mov_b32 m0, s2
; TOSMEM: s_mov_b64 exec,
; TOSMEM: s_cbranch_execz
@@ -170,10 +170,10 @@ endif:
; TOSMEM: s_mov_b32 m0, -1
-; TOSMEM: s_mov_b32 vcc_hi, m0
+; TOSMEM: s_mov_b32 s0, m0
; TOSMEM: s_add_u32 m0, s3, 0x100
; TOSMEM: s_buffer_load_dwordx2 s{{\[[0-9]+:[0-9]+\]}}, s[88:91], m0 ; 8-byte Folded Reload
-; TOSMEM: s_mov_b32 m0, vcc_hi
+; TOSMEM: s_mov_b32 m0, s0
; TOSMEM: s_waitcnt lgkmcnt(0)
; TOSMEM: ds_write_b64
diff --git a/test/CodeGen/AMDGPU/uint_to_fp.i64.ll b/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
index 4168326e14c6..8d4ac3bd6f14 100644
--- a/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
+++ b/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
@@ -19,7 +19,7 @@ define amdgpu_kernel void @s_uint_to_fp_i64_to_f16(half addrspace(1)* %out, i64
; GCN: v_cndmask
; GCN-DAG: v_cmp_eq_u64
-; GCN-DAG: v_cmp_lt_u64
+; GCN-DAG: v_cmp_gt_u64
; GCN: v_add_i32_e32 [[VR:v[0-9]+]]
; GCN: v_cvt_f16_f32_e32 [[VR_F16:v[0-9]+]], [[VR]]
@@ -50,7 +50,7 @@ define amdgpu_kernel void @s_uint_to_fp_i64_to_f32(float addrspace(1)* %out, i64
; GCN: v_cndmask
; GCN-DAG: v_cmp_eq_u64
-; GCN-DAG: v_cmp_lt_u64
+; GCN-DAG: v_cmp_gt_u64
; GCN: v_add_i32_e32 [[VR:v[0-9]+]]
; GCN: {{buffer|flat}}_store_dword {{.*}}[[VR]]
diff --git a/test/CodeGen/ARM/2012-08-30-select.ll b/test/CodeGen/ARM/2012-08-30-select.ll
index dbedad2637b7..97b732beb4d7 100644
--- a/test/CodeGen/ARM/2012-08-30-select.ll
+++ b/test/CodeGen/ARM/2012-08-30-select.ll
@@ -2,10 +2,9 @@
; rdar://12201387
;CHECK-LABEL: select_s_v_v:
-;CHECK: itee ne
-;CHECK-NEXT: vmovne.i32
-;CHECK-NEXT: vmoveq
-;CHECK-NEXT: vmoveq
+;CHECK: vmov
+;CHECK-NEXT: vmov
+;CHECK: vmov.i32
;CHECK: bx
define <16 x i8> @select_s_v_v(<16 x i8> %vec, i32 %avail) {
entry:
diff --git a/test/CodeGen/ARM/GlobalISel/arm-instruction-select-cmp.mir b/test/CodeGen/ARM/GlobalISel/arm-instruction-select-cmp.mir
new file mode 100644
index 000000000000..111375ece51b
--- /dev/null
+++ b/test/CodeGen/ARM/GlobalISel/arm-instruction-select-cmp.mir
@@ -0,0 +1,373 @@
+# RUN: llc -O0 -mtriple arm-- -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
+--- |
+ define void @test_icmp_eq_s32() { ret void }
+ define void @test_icmp_ne_s32() { ret void }
+ define void @test_icmp_ugt_s32() { ret void }
+ define void @test_icmp_uge_s32() { ret void }
+ define void @test_icmp_ult_s32() { ret void }
+ define void @test_icmp_ule_s32() { ret void }
+ define void @test_icmp_sgt_s32() { ret void }
+ define void @test_icmp_sge_s32() { ret void }
+ define void @test_icmp_slt_s32() { ret void }
+ define void @test_icmp_sle_s32() { ret void }
+...
+---
+name: test_icmp_eq_s32
+# CHECK-LABEL: name: test_icmp_eq_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(eq), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 0, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_ne_s32
+# CHECK-LABEL: name: test_icmp_ne_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(ne), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 1, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_ugt_s32
+# CHECK-LABEL: name: test_icmp_ugt_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(ugt), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 8, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_uge_s32
+# CHECK-LABEL: name: test_icmp_uge_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(uge), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 2, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_ult_s32
+# CHECK-LABEL: name: test_icmp_ult_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(ult), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 3, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_ule_s32
+# CHECK-LABEL: name: test_icmp_ule_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(ule), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 9, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_sgt_s32
+# CHECK-LABEL: name: test_icmp_sgt_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(sgt), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 12, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_sge_s32
+# CHECK-LABEL: name: test_icmp_sge_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(sge), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 10, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_slt_s32
+# CHECK-LABEL: name: test_icmp_slt_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(slt), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 11, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_sle_s32
+# CHECK-LABEL: name: test_icmp_sle_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+ - { id: 3, class: gprb }
+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(s1) = G_ICMP intpred(sle), %0(s32), %1
+ ; CHECK: [[ZERO:%[0-9]+]] = MOVi 0, 14, _, _
+ ; CHECK: CMPrr [[VREGX]], [[VREGY]], 14, _, implicit-def %cpsr
+ ; CHECK: [[RES:%[0-9]+]] = MOVCCi [[ZERO]], 1, 13, %cpsr
+
+ %3(s32) = G_ZEXT %2(s1)
+ ; CHECK: [[RET:%[0-9]+]] = ANDri [[RES]], 1, 14, _, _
+
+ %r0 = COPY %3(s32)
+ ; CHECK: %r0 = COPY [[RET]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
diff --git a/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll b/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
index 6663a9210b87..0ff8d52e94c6 100644
--- a/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
+++ b/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
@@ -1009,8 +1009,11 @@ define i32 @test_constantstruct_v2s32_s32_s32() {
; CHECK: [[VEC:%[0-9]+]](<2 x s32>) = G_MERGE_VALUES [[C1]](s32), [[C2]](s32)
; CHECK: [[C3:%[0-9]+]](s32) = G_CONSTANT i32 3
; CHECK: [[C4:%[0-9]+]](s32) = G_CONSTANT i32 4
-; CHECK: [[CS:%[0-9]+]](s128) = G_SEQUENCE [[VEC]](<2 x s32>), 0, [[C3]](s32), 64, [[C4]](s32), 96
-; CHECK: [[EXT:%[0-9]+]](<2 x s32>) = G_EXTRACT [[CS]](s128), 0
+; CHECK: [[C5:%[0-9]+]](s128) = IMPLICIT_DEF
+; CHECK: [[C6:%[0-9]+]](s128) = G_INSERT [[C5]], [[VEC]](<2 x s32>), 0
+; CHECK: [[C7:%[0-9]+]](s128) = G_INSERT [[C6]], [[C3]](s32), 64
+; CHECK: [[C8:%[0-9]+]](s128) = G_INSERT [[C7]], [[C4]](s32), 96
+; CHECK: [[EXT:%[0-9]+]](<2 x s32>) = G_EXTRACT [[C8]](s128), 0
; CHECK: G_EXTRACT_VECTOR_ELT [[EXT]](<2 x s32>)
%vec = extractvalue %struct.v2s32.s32.s32 {<2 x i32><i32 1, i32 2>, i32 3, i32 4}, 0
%elt = extractelement <2 x i32> %vec, i32 0
diff --git a/test/CodeGen/ARM/GlobalISel/arm-isel.ll b/test/CodeGen/ARM/GlobalISel/arm-isel.ll
index 6ddc29a3bbba..76fb39ecea01 100644
--- a/test/CodeGen/ARM/GlobalISel/arm-isel.ll
+++ b/test/CodeGen/ARM/GlobalISel/arm-isel.ll
@@ -359,3 +359,44 @@ entry:
%v = fadd double %f0, %f1
ret double %v
}
+
+define arm_aapcscc i32 @test_cmp_i32_eq(i32 %a, i32 %b) {
+; CHECK-LABEL: test_cmp_i32_eq:
+; CHECK: mov [[V:r[0-9]+]], #0
+; CHECK: cmp r0, r1
+; CHECK: moveq [[V]], #1
+; CHECK: and r0, [[V]], #1
+; CHECK: bx lr
+entry:
+ %v = icmp eq i32 %a, %b
+ %r = zext i1 %v to i32
+ ret i32 %r
+}
+
+define arm_aapcscc i32 @test_cmp_ptr_neq(double *%a, double *%b) {
+; CHECK-LABEL: test_cmp_ptr_neq:
+; CHECK: mov [[V:r[0-9]+]], #0
+; CHECK: cmp r0, r1
+; CHECK: movne [[V]], #1
+; CHECK: and r0, [[V]], #1
+; CHECK: bx lr
+entry:
+ %v = icmp ne double * %a, %b
+ %r = zext i1 %v to i32
+ ret i32 %r
+}
+
+define arm_aapcscc i32 @test_cmp_i16_slt(i16 %a, i16 %b) {
+; CHECK-LABEL: test_cmp_i16_slt:
+; CHECK-DAG: sxth r0, r0
+; CHECK-DAG: sxth r1, r1
+; CHECK-DAG: mov [[V:r[0-9]+]], #0
+; CHECK: cmp r0, r1
+; CHECK: movlt [[V]], #1
+; CHECK: and r0, [[V]], #1
+; CHECK: bx lr
+entry:
+ %v = icmp slt i16 %a, %b
+ %r = zext i1 %v to i32
+ ret i32 %r
+}
diff --git a/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir b/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir
index c6f6ca81c279..2def31eb1592 100644
--- a/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir
+++ b/test/CodeGen/ARM/GlobalISel/arm-legalizer.mir
@@ -35,6 +35,10 @@
define void @test_constants() { ret void }
+ define void @test_icmp_s8() { ret void }
+ define void @test_icmp_s16() { ret void }
+ define void @test_icmp_s32() { ret void }
+
define void @test_fadd_s32() #0 { ret void }
define void @test_fadd_s64() #0 { ret void }
@@ -691,6 +695,86 @@ body: |
BX_RET 14, _, implicit %r0
...
---
+name: test_icmp_s8
+# CHECK-LABEL: name: test_icmp_s8
+legalized: false
+# CHECK: legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+ - { id: 3, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ %0(s8) = COPY %r0
+ %1(s8) = COPY %r1
+ %2(s1) = G_ICMP intpred(ne), %0(s8), %1
+ ; G_ICMP with s8 should widen
+ ; CHECK: {{%[0-9]+}}(s1) = G_ICMP intpred(ne), {{%[0-9]+}}(s32), {{%[0-9]+}}
+ ; CHECK-NOT: {{%[0-9]+}}(s1) = G_ICMP intpred(ne), {{%[0-9]+}}(s8), {{%[0-9]+}}
+ %3(s32) = G_ZEXT %2(s1)
+ %r0 = COPY %3(s32)
+ BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_s16
+# CHECK-LABEL: name: test_icmp_s16
+legalized: false
+# CHECK: legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+ - { id: 3, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ %0(s16) = COPY %r0
+ %1(s16) = COPY %r1
+ %2(s1) = G_ICMP intpred(slt), %0(s16), %1
+ ; G_ICMP with s16 should widen
+ ; CHECK: {{%[0-9]+}}(s1) = G_ICMP intpred(slt), {{%[0-9]+}}(s32), {{%[0-9]+}}
+ ; CHECK-NOT: {{%[0-9]+}}(s1) = G_ICMP intpred(slt), {{%[0-9]+}}(s16), {{%[0-9]+}}
+ %3(s32) = G_ZEXT %2(s1)
+ %r0 = COPY %3(s32)
+ BX_RET 14, _, implicit %r0
+...
+---
+name: test_icmp_s32
+# CHECK-LABEL: name: test_icmp_s32
+legalized: false
+# CHECK: legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+ - { id: 3, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ %0(s32) = COPY %r0
+ %1(s32) = COPY %r1
+ %2(s1) = G_ICMP intpred(eq), %0(s32), %1
+ ; G_ICMP with s32 is legal, so we should find it unchanged in the output
+ ; CHECK: {{%[0-9]+}}(s1) = G_ICMP intpred(eq), {{%[0-9]+}}(s32), {{%[0-9]+}}
+ %3(s32) = G_ZEXT %2(s1)
+ %r0 = COPY %3(s32)
+ BX_RET 14, _, implicit %r0
+...
+---
name: test_fadd_s32
# CHECK-LABEL: name: test_fadd_s32
legalized: false
diff --git a/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir b/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir
index cc1df80c6019..d97dd60bac22 100644
--- a/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir
+++ b/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir
@@ -34,6 +34,8 @@
define void @test_trunc_s32_16() { ret void }
+ define void @test_icmp_eq_s32() { ret void }
+
define void @test_fadd_s32() #0 { ret void }
define void @test_fadd_s64() #0 { ret void }
@@ -711,6 +713,34 @@ body: |
BX_RET 14, _, implicit %r0
...
---
+name: test_icmp_eq_s32
+# CHECK-LABEL: name: test_icmp_eq_s32
+legalized: true
+regBankSelected: false
+selected: false
+# CHECK: registers:
+# CHECK: - { id: 0, class: gprb, preferred-register: '' }
+# CHECK: - { id: 1, class: gprb, preferred-register: '' }
+# CHECK: - { id: 2, class: gprb, preferred-register: '' }
+
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+ - { id: 3, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ %0(s32) = COPY %r0
+ %1(s32) = COPY %r1
+ %2(s1) = G_ICMP intpred(eq), %0(s32), %1
+ %3(s32) = G_ZEXT %2(s1)
+ %r0 = COPY %3(s32)
+ BX_RET 14, _, implicit %r0
+
+...
+---
name: test_fadd_s32
# CHECK-LABEL: name: test_fadd_s32
legalized: true
diff --git a/test/CodeGen/ARM/alloca-align.ll b/test/CodeGen/ARM/alloca-align.ll
index 3bba156f0ee0..6186d137ef7f 100644
--- a/test/CodeGen/ARM/alloca-align.ll
+++ b/test/CodeGen/ARM/alloca-align.ll
@@ -12,7 +12,7 @@ declare void @bar(i32*, [20000 x i8]* byval)
; And a base pointer getting used.
; CHECK: mov r6, sp
; Which is passed to the call
-; CHECK: add [[REG:r[0-9]+]], r6, #19456
+; CHECK: add [[REG:r[0-9]+|lr]], r6, #19456
; CHECK: add r0, [[REG]], #536
; CHECK: bl bar
define void @foo([20000 x i8]* %addr) {
diff --git a/test/CodeGen/ARM/constantfp.ll b/test/CodeGen/ARM/constantfp.ll
index b5aeadc05eba..0b431f47f50b 100644
--- a/test/CodeGen/ARM/constantfp.ll
+++ b/test/CodeGen/ARM/constantfp.ll
@@ -11,6 +11,9 @@
; RUN: llc -mtriple=thumbv7meb -arm-execute-only -mcpu=cortex-m4 %s -o - \
; RUN: | FileCheck --check-prefix=CHECK-XO-FLOAT --check-prefix=CHECK-XO-DOUBLE-BE %s
+; RUN: llc -mtriple=thumbv7m -arm-execute-only -mcpu=cortex-m4 -relocation-model=ropi %s -o - \
+; RUN: | FileCheck --check-prefix=CHECK-XO-ROPI %s
+
; RUN: llc -mtriple=thumbv8m.main -mattr=fp-armv8 %s -o - \
; RUN: | FileCheck --check-prefix=CHECK-NO-XO %s
@@ -20,6 +23,8 @@
; RUN: llc -mtriple=thumbv8m.maineb -arm-execute-only -mattr=fp-armv8 %s -o - \
; RUN: | FileCheck --check-prefix=CHECK-XO-FLOAT --check-prefix=CHECK-XO-DOUBLE-BE %s
+; RUN: llc -mtriple=thumbv8m.main -arm-execute-only -mattr=fp-armv8 -relocation-model=ropi %s -o - \
+; RUN: | FileCheck --check-prefix=CHECK-XO-ROPI %s
define arm_aapcs_vfpcc float @test_vmov_f32() {
; CHECK-LABEL: test_vmov_f32:
@@ -176,3 +181,48 @@ define arm_aapcs_vfpcc double @lower_const_f64_xo() {
; CHECK-XO-DOUBLE-BE-NOT: vldr
ret double 3.140000e-01
}
+
+; This is a target independent optimization, performed by the
+; DAG Combiner, which promotes floating point literals into
+; constant pools:
+;
+; (a cond b) ? 1.0f : 2.0f -> load (ConstPoolAddr + ((a cond b) ? 0 : 4)
+;
+; We need to make sure that the constant pools are placed in
+; the data section when generating execute-only code:
+
+define arm_aapcs_vfpcc float @lower_fpconst_select(float %f) {
+
+; CHECK-NO-XO-LABEL: lower_fpconst_select
+; CHECK-NO-XO: adr [[REG:r[0-9]+]], [[LABEL:.?LCPI[0-9]+_[0-9]+]]
+; CHECK-NO-XO: vldr {{s[0-9]+}}, {{[[]}}[[REG]]{{[]]}}
+; CHECK-NO-XO-NOT: .rodata
+; CHECK-NO-XO: [[LABEL]]:
+; CHECK-NO-XO: .long 1335165689
+; CHECK-NO-XO: .long 1307470632
+
+; CHECK-XO-FLOAT-LABEL: lower_fpconst_select
+; CHECK-XO-FLOAT: movw [[REG:r[0-9]+]], :lower16:[[LABEL:.?LCP[0-9]+_[0-9]+]]
+; CHECK-XO-FLOAT: movt [[REG]], :upper16:[[LABEL]]
+; CHECK-XO-FLOAT: vldr {{s[0-9]+}}, {{[[]}}[[REG]]{{[]]}}
+; CHECK-XO-FLOAT: .rodata
+; CHECK-XO-FLOAT-NOT: .text
+; CHECK-XO-FLOAT: [[LABEL]]:
+; CHECK-XO-FLOAT: .long 1335165689
+; CHECK-XO-FLOAT: .long 1307470632
+
+; CHECK-XO-ROPI-LABEL: lower_fpconst_select
+; CHECK-XO-ROPI: movw [[REG:r[0-9]+]], :lower16:([[LABEL1:.?LCP[0-9]+_[0-9]+]]-([[LABEL2:.?LPC[0-9]+_[0-9]+]]+4))
+; CHECK-XO-ROPI: movt [[REG]], :upper16:([[LABEL1]]-([[LABEL2]]+4))
+; CHECK-XO-ROPI: [[LABEL2]]:
+; CHECK-XO-ROPI: vldr {{s[0-9]+}}, {{[[]}}[[REG]]{{[]]}}
+; CHECK-XO-ROPI: .rodata
+; CHECK-XO-ROPI-NOT: .text
+; CHECK-XO-ROPI: [[LABEL1]]:
+; CHECK-XO-ROPI: .long 1335165689
+; CHECK-XO-ROPI: .long 1307470632
+
+ %cmp = fcmp nnan oeq float %f, 0.000000e+00
+ %sel = select i1 %cmp, float 5.000000e+08, float 5.000000e+09
+ ret float %sel
+}
diff --git a/test/CodeGen/ARM/execute-only-big-stack-frame.ll b/test/CodeGen/ARM/execute-only-big-stack-frame.ll
index fb498a81e390..0fe67f9863a5 100644
--- a/test/CodeGen/ARM/execute-only-big-stack-frame.ll
+++ b/test/CodeGen/ARM/execute-only-big-stack-frame.ll
@@ -10,10 +10,10 @@ define i8 @test_big_stack_frame() {
; CHECK-SUBW-ADDW-NOT: ldr {{r[0-9]+}}, .{{.*}}
; CHECK-SUBW-ADDW: sub.w sp, sp, #65536
; CHECK-SUBW-ADDW-NOT: ldr {{r[0-9]+}}, .{{.*}}
-; CHECK-SUBW-ADDW: add.w [[REG1:r[0-9]+]], sp, #255
+; CHECK-SUBW-ADDW: add.w [[REG1:r[0-9]+|lr]], sp, #255
; CHECK-SUBW-ADDW: add.w {{r[0-9]+}}, [[REG1]], #65280
; CHECK-SUBW-ADDW-NOT: ldr {{r[0-9]+}}, .{{.*}}
-; CHECK-SUBW-ADDW: add.w lr, sp, #61440
+; CHECK-SUBW-ADDW: add.w [[REGX:r[0-9]+|lr]], sp, #61440
; CHECK-SUBW-ADDW-NOT: ldr {{r[0-9]+}}, .{{.*}}
; CHECK-SUBW-ADDW: add.w sp, sp, #65536
diff --git a/test/CodeGen/ARM/fpoffset_overflow.mir b/test/CodeGen/ARM/fpoffset_overflow.mir
index 9c6cd931b153..4f3524bf7d11 100644
--- a/test/CodeGen/ARM/fpoffset_overflow.mir
+++ b/test/CodeGen/ARM/fpoffset_overflow.mir
@@ -3,10 +3,10 @@
# This should trigger an emergency spill in the register scavenger because the
# frame offset into the large argument is too large.
# CHECK-LABEL: name: func0
-# CHECK: t2STRi12 killed %r7, %sp, 0, 14, _ :: (store 4 into %stack.0)
-# CHECK: %r7 = t2ADDri killed %sp, 4096, 14, _, _
-# CHECK: %r11 = t2LDRi12 killed %r7, 36, 14, _ :: (load 4)
-# CHECK: %r7 = t2LDRi12 %sp, 0, 14, _ :: (load 4 from %stack.0)
+# CHECK: t2STRi12 killed [[SPILLED:%r[0-9]+]], %sp, 0, 14, _ :: (store 4 into %stack.0)
+# CHECK: [[SPILLED]] = t2ADDri killed %sp, 4096, 14, _, _
+# CHECK: %sp = t2LDRi12 killed [[SPILLED]], 40, 14, _ :: (load 4)
+# CHECK: [[SPILLED]] = t2LDRi12 %sp, 0, 14, _ :: (load 4 from %stack.0)
name: func0
tracksRegLiveness: true
fixedStack:
@@ -23,6 +23,7 @@ body: |
%r4 = IMPLICIT_DEF
%r5 = IMPLICIT_DEF
%r6 = IMPLICIT_DEF
+ %r7 = IMPLICIT_DEF
%r8 = IMPLICIT_DEF
%r9 = IMPLICIT_DEF
%r10 = IMPLICIT_DEF
@@ -30,7 +31,7 @@ body: |
%r12 = IMPLICIT_DEF
%lr = IMPLICIT_DEF
- %r11 = t2LDRi12 %fixed-stack.0, 0, 14, _ :: (load 4)
+ %sp = t2LDRi12 %fixed-stack.0, 0, 14, _ :: (load 4)
KILL %r0
KILL %r1
@@ -39,6 +40,7 @@ body: |
KILL %r4
KILL %r5
KILL %r6
+ KILL %r7
KILL %r8
KILL %r9
KILL %r10
diff --git a/test/CodeGen/ARM/misched-fusion-aes.ll b/test/CodeGen/ARM/misched-fusion-aes.ll
new file mode 100644
index 000000000000..d3558ab4abb0
--- /dev/null
+++ b/test/CodeGen/ARM/misched-fusion-aes.ll
@@ -0,0 +1,203 @@
+; RUN: llc %s -o - -mtriple=armv8 -mattr=+crypto,+fuse-aes -enable-misched -disable-post-ra | FileCheck %s
+
+declare <16 x i8> @llvm.arm.neon.aese(<16 x i8> %d, <16 x i8> %k)
+declare <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %d)
+declare <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %d, <16 x i8> %k)
+declare <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %d)
+
+define void @aesea(<16 x i8>* %a0, <16 x i8>* %b0, <16 x i8>* %c0, <16 x i8> %d, <16 x i8> %e) {
+ %d0 = load <16 x i8>, <16 x i8>* %a0
+ %a1 = getelementptr inbounds <16 x i8>, <16 x i8>* %a0, i64 1
+ %d1 = load <16 x i8>, <16 x i8>* %a1
+ %a2 = getelementptr inbounds <16 x i8>, <16 x i8>* %a0, i64 2
+ %d2 = load <16 x i8>, <16 x i8>* %a2
+ %a3 = getelementptr inbounds <16 x i8>, <16 x i8>* %a0, i64 3
+ %d3 = load <16 x i8>, <16 x i8>* %a3
+ %k0 = load <16 x i8>, <16 x i8>* %b0
+ %e00 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %d0, <16 x i8> %k0)
+ %f00 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e00)
+ %e01 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %d1, <16 x i8> %k0)
+ %f01 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e01)
+ %e02 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %d2, <16 x i8> %k0)
+ %f02 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e02)
+ %e03 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %d3, <16 x i8> %k0)
+ %f03 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e03)
+ %b1 = getelementptr inbounds <16 x i8>, <16 x i8>* %b0, i64 1
+ %k1 = load <16 x i8>, <16 x i8>* %b1
+ %e10 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f00, <16 x i8> %k1)
+ %f10 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e00)
+ %e11 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f01, <16 x i8> %k1)
+ %f11 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e01)
+ %e12 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f02, <16 x i8> %k1)
+ %f12 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e02)
+ %e13 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f03, <16 x i8> %k1)
+ %f13 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e03)
+ %b2 = getelementptr inbounds <16 x i8>, <16 x i8>* %b0, i64 2
+ %k2 = load <16 x i8>, <16 x i8>* %b2
+ %e20 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f10, <16 x i8> %k2)
+ %f20 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e10)
+ %e21 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f11, <16 x i8> %k2)
+ %f21 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e11)
+ %e22 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f12, <16 x i8> %k2)
+ %f22 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e12)
+ %e23 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f13, <16 x i8> %k2)
+ %f23 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e13)
+ %b3 = getelementptr inbounds <16 x i8>, <16 x i8>* %b0, i64 3
+ %k3 = load <16 x i8>, <16 x i8>* %b3
+ %e30 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f20, <16 x i8> %k3)
+ %f30 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e20)
+ %e31 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f21, <16 x i8> %k3)
+ %f31 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e21)
+ %e32 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f22, <16 x i8> %k3)
+ %f32 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e22)
+ %e33 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f23, <16 x i8> %k3)
+ %f33 = call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %e23)
+ %g0 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f30, <16 x i8> %d)
+ %h0 = xor <16 x i8> %g0, %e
+ %g1 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f31, <16 x i8> %d)
+ %h1 = xor <16 x i8> %g1, %e
+ %g2 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f32, <16 x i8> %d)
+ %h2 = xor <16 x i8> %g2, %e
+ %g3 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %f33, <16 x i8> %d)
+ %h3 = xor <16 x i8> %g3, %e
+ store <16 x i8> %h0, <16 x i8>* %c0
+ %c1 = getelementptr inbounds <16 x i8>, <16 x i8>* %c0, i64 1
+ store <16 x i8> %h1, <16 x i8>* %c1
+ %c2 = getelementptr inbounds <16 x i8>, <16 x i8>* %c0, i64 2
+ store <16 x i8> %h2, <16 x i8>* %c2
+ %c3 = getelementptr inbounds <16 x i8>, <16 x i8>* %c0, i64 3
+ store <16 x i8> %h3, <16 x i8>* %c3
+ ret void
+
+; CHECK-LABEL: aesea:
+; CHECK: aese.8 [[QA:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QA]]
+; CHECK: aese.8 [[QB:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QB]]
+; CHECK: aese.8 [[QC:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QC]]
+; CHECK: aese.8 [[QD:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QD]]
+; CHECK: aese.8 [[QE:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QE]]
+; CHECK: aese.8 [[QF:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QF]]
+; CHECK: aese.8 {{q[0-9][0-9]?}}, {{q[0-9][0-9]?}}
+; CHECK: aese.8 [[QG:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QG]]
+; CHECK: aese.8 {{q[0-9][0-9]?}}, {{q[0-9][0-9]?}}
+; CHECK: aese.8 [[QH:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QH]]
+}
+
+define void @aesda(<16 x i8>* %a0, <16 x i8>* %b0, <16 x i8>* %c0, <16 x i8> %d, <16 x i8> %e) {
+ %d0 = load <16 x i8>, <16 x i8>* %a0
+ %a1 = getelementptr inbounds <16 x i8>, <16 x i8>* %a0, i64 1
+ %d1 = load <16 x i8>, <16 x i8>* %a1
+ %a2 = getelementptr inbounds <16 x i8>, <16 x i8>* %a0, i64 2
+ %d2 = load <16 x i8>, <16 x i8>* %a2
+ %a3 = getelementptr inbounds <16 x i8>, <16 x i8>* %a0, i64 3
+ %d3 = load <16 x i8>, <16 x i8>* %a3
+ %k0 = load <16 x i8>, <16 x i8>* %b0
+ %e00 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %d0, <16 x i8> %k0)
+ %f00 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e00)
+ %e01 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %d1, <16 x i8> %k0)
+ %f01 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e01)
+ %e02 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %d2, <16 x i8> %k0)
+ %f02 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e02)
+ %e03 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %d3, <16 x i8> %k0)
+ %f03 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e03)
+ %b1 = getelementptr inbounds <16 x i8>, <16 x i8>* %b0, i64 1
+ %k1 = load <16 x i8>, <16 x i8>* %b1
+ %e10 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f00, <16 x i8> %k1)
+ %f10 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e00)
+ %e11 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f01, <16 x i8> %k1)
+ %f11 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e01)
+ %e12 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f02, <16 x i8> %k1)
+ %f12 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e02)
+ %e13 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f03, <16 x i8> %k1)
+ %f13 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e03)
+ %b2 = getelementptr inbounds <16 x i8>, <16 x i8>* %b0, i64 2
+ %k2 = load <16 x i8>, <16 x i8>* %b2
+ %e20 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f10, <16 x i8> %k2)
+ %f20 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e10)
+ %e21 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f11, <16 x i8> %k2)
+ %f21 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e11)
+ %e22 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f12, <16 x i8> %k2)
+ %f22 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e12)
+ %e23 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f13, <16 x i8> %k2)
+ %f23 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e13)
+ %b3 = getelementptr inbounds <16 x i8>, <16 x i8>* %b0, i64 3
+ %k3 = load <16 x i8>, <16 x i8>* %b3
+ %e30 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f20, <16 x i8> %k3)
+ %f30 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e20)
+ %e31 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f21, <16 x i8> %k3)
+ %f31 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e21)
+ %e32 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f22, <16 x i8> %k3)
+ %f32 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e22)
+ %e33 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f23, <16 x i8> %k3)
+ %f33 = call <16 x i8> @llvm.arm.neon.aesimc(<16 x i8> %e23)
+ %g0 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f30, <16 x i8> %d)
+ %h0 = xor <16 x i8> %g0, %e
+ %g1 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f31, <16 x i8> %d)
+ %h1 = xor <16 x i8> %g1, %e
+ %g2 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f32, <16 x i8> %d)
+ %h2 = xor <16 x i8> %g2, %e
+ %g3 = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %f33, <16 x i8> %d)
+ %h3 = xor <16 x i8> %g3, %e
+ store <16 x i8> %h0, <16 x i8>* %c0
+ %c1 = getelementptr inbounds <16 x i8>, <16 x i8>* %c0, i64 1
+ store <16 x i8> %h1, <16 x i8>* %c1
+ %c2 = getelementptr inbounds <16 x i8>, <16 x i8>* %c0, i64 2
+ store <16 x i8> %h2, <16 x i8>* %c2
+ %c3 = getelementptr inbounds <16 x i8>, <16 x i8>* %c0, i64 3
+ store <16 x i8> %h3, <16 x i8>* %c3
+ ret void
+
+; CHECK-LABEL: aesda:
+; CHECK: aesd.8 [[QA:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesimc.8 {{q[0-9][0-9]?}}, [[QA]]
+; CHECK: aesd.8 [[QB:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesimc.8 {{q[0-9][0-9]?}}, [[QB]]
+; CHECK: aesd.8 [[QC:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesimc.8 {{q[0-9][0-9]?}}, [[QC]]
+; CHECK: aesd.8 [[QD:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesimc.8 {{q[0-9][0-9]?}}, [[QD]]
+; CHECK: aesd.8 [[QE:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesimc.8 {{q[0-9][0-9]?}}, [[QE]]
+; CHECK: aesd.8 [[QF:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesimc.8 {{q[0-9][0-9]?}}, [[QF]]
+; CHECK: aesd.8 {{q[0-9][0-9]?}}, {{q[0-9][0-9]?}}
+; CHECK: aesd.8 [[QG:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesimc.8 {{q[0-9][0-9]?}}, [[QG]]
+; CHECK: aesd.8 {{q[0-9][0-9]?}}, {{q[0-9][0-9]?}}
+; CHECK: aesd.8 [[QH:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesimc.8 {{q[0-9][0-9]?}}, [[QH]]
+}
+
+define void @aes_load_store(<16 x i8> *%p1, <16 x i8> *%p2 , <16 x i8> *%p3) {
+entry:
+ %x1 = alloca <16 x i8>, align 16
+ %x2 = alloca <16 x i8>, align 16
+ %x3 = alloca <16 x i8>, align 16
+ %x4 = alloca <16 x i8>, align 16
+ %x5 = alloca <16 x i8>, align 16
+ %in1 = load <16 x i8>, <16 x i8>* %p1, align 16
+ store <16 x i8> %in1, <16 x i8>* %x1, align 16
+ %aese1 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %in1, <16 x i8> %in1) #2
+ store <16 x i8> %aese1, <16 x i8>* %x2, align 16
+ %in2 = load <16 x i8>, <16 x i8>* %p2, align 16
+ %aesmc1= call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %aese1) #2
+ store <16 x i8> %aesmc1, <16 x i8>* %x3, align 16
+ %aese2 = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %in1, <16 x i8> %in2) #2
+ store <16 x i8> %aese2, <16 x i8>* %x4, align 16
+ %aesmc2= call <16 x i8> @llvm.arm.neon.aesmc(<16 x i8> %aese2) #2
+ store <16 x i8> %aesmc2, <16 x i8>* %x5, align 16
+ ret void
+
+; CHECK-LABEL: aes_load_store:
+; CHECK: aese.8 [[QA:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QA]]
+; CHECK: aese.8 [[QB:q[0-9][0-9]?]], {{q[0-9][0-9]?}}
+; CHECK-NEXT: aesmc.8 {{q[0-9][0-9]?}}, [[QB]]
+}
diff --git a/test/CodeGen/ARM/v6m-umul-with-overflow.ll b/test/CodeGen/ARM/v6m-umul-with-overflow.ll
new file mode 100644
index 000000000000..4e3146d71102
--- /dev/null
+++ b/test/CodeGen/ARM/v6m-umul-with-overflow.ll
@@ -0,0 +1,16 @@
+; RUN: llc < %s -mtriple=thumbv6m-none-eabi | FileCheck %s
+
+define i1 @unsigned_multiplication_did_overflow(i32, i32) {
+; CHECK-LABEL: unsigned_multiplication_did_overflow:
+entry-block:
+ %2 = tail call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %0, i32 %1)
+ %3 = extractvalue { i32, i1 } %2, 1
+ ret i1 %3
+
+; CHECK: mov{{s?}} r2, r1
+; CHECK: mov{{s?}} r1, #0
+; CHECK: mov{{s?}} r3, {{#0|r1}}
+; CHECK: bl __aeabi_lmul
+}
+
+declare { i32, i1 } @llvm.umul.with.overflow.i32(i32, i32)
diff --git a/test/CodeGen/ARM/vector-promotion.ll b/test/CodeGen/ARM/vector-promotion.ll
index 1dabee386089..9e2b35fe8258 100644
--- a/test/CodeGen/ARM/vector-promotion.ll
+++ b/test/CodeGen/ARM/vector-promotion.ll
@@ -53,8 +53,8 @@ define void @unsupportedInstructionForPromotion(<2 x i32>* %addr1, i32 %in2, i1*
; IR-BOTH: ret
;
; ASM-LABEL: unsupportedChainInDifferentBBs:
-; ASM: vldrne [[LOAD:d[0-9]+]], [r0]
-; ASM: vmovne.32 {{r[0-9]+}}, [[LOAD]]
+; ASM: vldr [[LOAD:d[0-9]+]], [r0]
+; ASM: vmov.32 {{r[0-9]+}}, [[LOAD]]
; ASM: bx
define void @unsupportedChainInDifferentBBs(<2 x i32>* %addr1, i32* %dest, i1 %bool) {
bb1:
diff --git a/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll b/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
index 5e3c45c3454d..5017de835b5d 100644
--- a/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
+++ b/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
@@ -24,14 +24,13 @@ define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always"
; CHECK-NEXT: bx lr
}
; CHECK: .p2align 4
-; CHECK-NEXT: .long {{.*}}Lxray_synthetic_0
; CHECK-NEXT: .long {{.*}}Lxray_fn_idx_synth_0
; CHECK-NEXT: .section {{.*}}xray_instr_map{{.*}}
-; CHECK-LABEL: Lxray_synthetic_0:
+; CHECK-LABEL: Lxray_sleds_start0:
; CHECK: .long {{.*}}Lxray_sled_0
; CHECK: .long {{.*}}Lxray_sled_1
-; CHECK-LABEL: Lxray_synthetic_end0:
+; CHECK-LABEL: Lxray_sleds_end0:
; CHECK: .section {{.*}}xray_fn_idx{{.*}}
; CHECK-LABEL: Lxray_fn_idx_synth_0:
-; CHECK: .long {{.*}}Lxray_synthetic_0
-; CHECK-NEXT: .long {{.*}}Lxray_synthetic_end0
+; CHECK: .long {{.*}}Lxray_sleds_start0
+; CHECK-NEXT: .long {{.*}}Lxray_sleds_end0
diff --git a/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll b/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll
index 739151fbdd5e..118c02adeb8a 100644
--- a/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll
+++ b/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll
@@ -24,15 +24,14 @@ define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always"
; CHECK-NEXT: bx lr
}
; CHECK: .p2align 4
-; CHECK-NEXT: .long {{.*}}Lxray_synthetic_0
; CHECK-NEXT: .long {{.*}}Lxray_fn_idx_synth_0
; CHECK-NEXT: .section {{.*}}xray_instr_map{{.*}}
-; CHECK-LABEL: Lxray_synthetic_0:
+; CHECK-LABEL: Lxray_sleds_start0:
; CHECK: .long {{.*}}Lxray_sled_0
; CHECK: .long {{.*}}Lxray_sled_1
-; CHECK-LABEL: Lxray_synthetic_end0:
+; CHECK-LABEL: Lxray_sleds_end0:
; CHECK: .section {{.*}}xray_fn_idx{{.*}}
; CHECK-LABEL: Lxray_fn_idx_synth_0:
-; CHECK: .long {{.*}}xray_synthetic_0
-; CHECK-NEXT: .long {{.*}}xray_synthetic_end0
+; CHECK: .long {{.*}}xray_sleds_start0
+; CHECK-NEXT: .long {{.*}}xray_sleds_end0
diff --git a/test/CodeGen/Generic/llc-start-stop.ll b/test/CodeGen/Generic/llc-start-stop.ll
index 49407fbb2d88..becd1cc453c7 100644
--- a/test/CodeGen/Generic/llc-start-stop.ll
+++ b/test/CodeGen/Generic/llc-start-stop.ll
@@ -1,7 +1,10 @@
-; RUN: llc < %s -debug-pass=Structure -stop-after=loop-reduce -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER
+; Note: -verify-machineinstrs is used in order to make this test compatible with EXPENSIVE_CHECKS.
+; RUN: llc < %s -debug-pass=Structure -stop-after=loop-reduce -verify-machineinstrs -o /dev/null 2>&1 \
+; RUN: | FileCheck %s -check-prefix=STOP-AFTER
; STOP-AFTER: -loop-reduce
; STOP-AFTER: Dominator Tree Construction
; STOP-AFTER: Loop Strength Reduction
+; STOP-AFTER-NEXT: Verify generated machine code
; STOP-AFTER-NEXT: MIR Printing Pass
; RUN: llc < %s -debug-pass=Structure -stop-before=loop-reduce -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE
diff --git a/test/CodeGen/Generic/print-machineinstrs.ll b/test/CodeGen/Generic/print-machineinstrs.ll
index 26bccaae572c..b33e0929edc8 100644
--- a/test/CodeGen/Generic/print-machineinstrs.ll
+++ b/test/CodeGen/Generic/print-machineinstrs.ll
@@ -1,12 +1,25 @@
-; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs=branch-folder -o /dev/null 2>&1 | FileCheck %s
-; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs -o /dev/null 2>&1 | FileCheck %s
-; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs= -o /dev/null 2>&1 | FileCheck %s
+; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs=branch-folder -verify-machineinstrs -o /dev/null 2>&1 \
+; RUN: | FileCheck %s -check-prefix=PRINT-BRANCH-FOLD
+; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs -verify-machineinstrs -o /dev/null 2>&1 \
+; RUN: | FileCheck %s -check-prefix=PRINT
+; RUN: llc < %s -O3 -debug-pass=Structure -print-machineinstrs= -verify-machineinstrs -o /dev/null 2>&1 \
+; RUN: | FileCheck %s -check-prefix=PRINT
+
+; Note: -verify-machineinstrs is used in order to make this test compatible with EXPENSIVE_CHECKS.
define i64 @foo(i64 %a, i64 %b) nounwind {
-; CHECK: -branch-folder -machineinstr-printer
-; CHECK: Control Flow Optimizer
-; CHECK-NEXT: MachineFunction Printer
-; CHECK: Machine code for function foo:
+; PRINT-BRANCH-FOLD: -branch-folder -machineverifier -machineinstr-printer
+; PRINT-BRANCH-FOLD: Control Flow Optimizer
+; PRINT-BRANCH-FOLD-NEXT: Verify generated machine code
+; PRINT-BRANCH-FOLD-NEXT: MachineFunction Printer
+; PRINT-BRANCH-FOLD: Machine code for function foo:
+
+; PRINT: -branch-folder -machineinstr-printer
+; PRINT: Control Flow Optimizer
+; PRINT-NEXT: MachineFunction Printer
+; PRINT-NEXT: Verify generated machine code
+; PRINT: Machine code for function foo:
+
%c = add i64 %a, %b
%d = trunc i64 %c to i32
%e = zext i32 %d to i64
diff --git a/test/CodeGen/Hexagon/duplex-addi-global-imm.mir b/test/CodeGen/Hexagon/duplex-addi-global-imm.mir
new file mode 100644
index 000000000000..926703256354
--- /dev/null
+++ b/test/CodeGen/Hexagon/duplex-addi-global-imm.mir
@@ -0,0 +1,22 @@
+# RUN: llc -march=hexagon -start-after if-converter %s -o - | FileCheck %s
+# This used to crash.
+# CHECK: add(r0,##g)
+
+--- |
+ @g = global i32 0
+ define void @fred() {
+ ret void
+ }
+...
+
+---
+name: fred
+tracksRegLiveness: true
+
+body: |
+ bb.0:
+ liveins: %r0
+ %r0 = A2_addi %r0, @g
+ %r1 = A2_tfrsi 0
+...
+
diff --git a/test/CodeGen/Hexagon/expand-condsets-imm.mir b/test/CodeGen/Hexagon/expand-condsets-imm.mir
new file mode 100644
index 000000000000..1b0988393b7c
--- /dev/null
+++ b/test/CodeGen/Hexagon/expand-condsets-imm.mir
@@ -0,0 +1,22 @@
+# RUN: llc -march=hexagon -run-pass expand-condsets %s -o - | FileCheck %s
+# Check that we can expand a mux with a global as an immediate operand.
+# CHECK: C2_cmoveif undef %0, @G
+
+--- |
+ @G = global i32 0, align 4
+ define void @fred() { ret void }
+...
+---
+name: fred
+tracksRegLiveness: true
+
+registers:
+ - { id: 0, class: predregs }
+ - { id: 1, class: intregs }
+body: |
+ bb.1:
+ %1 = IMPLICIT_DEF
+ %1 = C2_muxir undef %0, %1, @G
+ %r0 = COPY %1
+...
+
diff --git a/test/CodeGen/Hexagon/mux-kill.mir b/test/CodeGen/Hexagon/mux-kill1.mir
index 6944050e3dab..098620bfb4fe 100644
--- a/test/CodeGen/Hexagon/mux-kill.mir
+++ b/test/CodeGen/Hexagon/mux-kill1.mir
@@ -1,5 +1,5 @@
# RUN: llc -march=hexagon -run-pass hexagon-gen-mux -o - %s -verify-machineinstrs | FileCheck %s
-# CHECK: %r2 = C2_mux %p0, %r0, %r1
+# CHECK: %r2 = C2_mux killed %p0, killed %r0, %r1
---
name: fred
tracksRegLiveness: true
diff --git a/test/CodeGen/Hexagon/mux-kill2.mir b/test/CodeGen/Hexagon/mux-kill2.mir
index 5f34097af7cf..23469f96c359 100644
--- a/test/CodeGen/Hexagon/mux-kill2.mir
+++ b/test/CodeGen/Hexagon/mux-kill2.mir
@@ -1,6 +1,6 @@
# RUN: llc -march=hexagon -run-pass hexagon-gen-mux -o - -verify-machineinstrs %s | FileCheck %s
# CHECK: %r1 = C2_muxri %p0, 123, %r0
-# CHECK: %r2 = C2_muxir %p0, killed %r0, 321
+# CHECK: %r2 = C2_muxir killed %p0, killed %r0, 321
---
name: fred
tracksRegLiveness: true
diff --git a/test/CodeGen/Hexagon/mux-kill3.mir b/test/CodeGen/Hexagon/mux-kill3.mir
new file mode 100644
index 000000000000..ac4df95b274f
--- /dev/null
+++ b/test/CodeGen/Hexagon/mux-kill3.mir
@@ -0,0 +1,31 @@
+# RUN: llc -march=hexagon -run-pass hexagon-gen-mux -o - %s -verify-machineinstrs | FileCheck %s
+# Make sure this verifies correctly.
+# CHECK: PS_jmpret killed %r31, implicit-def %pc
+---
+name: fred
+tracksRegLiveness: true
+
+body: |
+ bb.0:
+ liveins: %d0, %d1, %d2, %d3
+
+ %p0 = C2_cmpeqi killed %r4, 128
+ %d4 = A2_tfrpi 0
+ %r3 = A2_tfrsi 0
+ %r4 = A2_tfrsi 0
+ %r7 = A2_tfrt %p0, %r0
+ %p1 = C2_cmpeqp %d0, killed %d4
+ %r8 = A2_tfrt %p0, killed %r0
+ %r9 = A2_tfrt %p0, killed %r1
+ %r7 = A2_tfrf %p0, %r3, implicit killed %r7
+ %r9 = A2_tfrf %p0, killed %r3, implicit killed %r9
+ %r8 = C2_cmoveif killed %p0, 1, implicit killed %r8
+ %d0 = A4_combineri killed %r4, 0
+ %r2 = A2_tfrt %p1, killed %r7, implicit killed %r2
+ %r3 = A2_tfr killed %r9
+ %r2 = A2_tfrf killed %p1, killed %r8, implicit killed %r2
+ S2_storerd_io killed %r6, 0, killed %d1
+ S2_storerd_io killed %r5, 0, killed %d0
+ PS_jmpret %r31, implicit-def %pc
+...
+
diff --git a/test/CodeGen/Hexagon/newvaluejump-kill.ll b/test/CodeGen/Hexagon/newvaluejump-kill.ll
new file mode 100644
index 000000000000..5aab4f82b72e
--- /dev/null
+++ b/test/CodeGen/Hexagon/newvaluejump-kill.ll
@@ -0,0 +1,53 @@
+; RUN: llc -march=hexagon -O3 -verify-machineinstrs < %s | FileCheck %s
+;
+; Check that this testcase compiles successfully and that a new-value jump
+; has been created.
+; CHECK: if (cmp.gtu(r{{[0-9]+}}.new,r{{[0-9]+}})) jump
+
+target triple = "hexagon"
+
+@g0 = external hidden unnamed_addr global [182 x i16], align 8
+
+define void @fred(i16 signext %a0) local_unnamed_addr #0 {
+b1:
+ %v2 = getelementptr inbounds [182 x i16], [182 x i16]* @g0, i32 0, i32 0
+ %v3 = sext i16 %a0 to i32
+ %v4 = call i32 @llvm.hexagon.A2.asrh(i32 undef)
+ %v5 = trunc i32 %v4 to i16
+ br i1 undef, label %b6, label %b14
+
+b6: ; preds = %b1
+ %v7 = sext i16 %v5 to i32
+ br label %b8
+
+b8: ; preds = %b8, %b6
+ %v9 = phi i32 [ 128, %b6 ], [ %v13, %b8 ]
+ %v10 = sub nsw i32 %v9, %v7
+ %v11 = getelementptr inbounds [182 x i16], [182 x i16]* @g0, i32 0, i32 %v10
+ %v12 = load i16, i16* %v11, align 2
+ %v13 = add nuw nsw i32 %v9, 1
+ br label %b8
+
+b14: ; preds = %b1
+ br i1 undef, label %b16, label %b15
+
+b15: ; preds = %b14
+ unreachable
+
+b16: ; preds = %b14
+ %v17 = getelementptr [182 x i16], [182 x i16]* @g0, i32 0, i32 %v3
+ %v18 = icmp ugt i16* %v17, %v2
+ %v19 = or i1 %v18, undef
+ br i1 %v19, label %b20, label %b21
+
+b20: ; preds = %b16
+ unreachable
+
+b21: ; preds = %b16
+ ret void
+}
+
+declare i32 @llvm.hexagon.A2.asrh(i32) #1
+
+attributes #0 = { nounwind "target-cpu"="hexagonv62" }
+attributes #1 = { nounwind readnone }
diff --git a/test/CodeGen/Hexagon/stack-align-reset.ll b/test/CodeGen/Hexagon/stack-align-reset.ll
new file mode 100644
index 000000000000..0d028fb95b24
--- /dev/null
+++ b/test/CodeGen/Hexagon/stack-align-reset.ll
@@ -0,0 +1,51 @@
+; RUN: llc -march=hexagon < %s | FileCheck %s
+;
+; This used to crash.
+; CHECK: call f1
+
+target triple = "hexagon-unknown--elf"
+
+%struct.0 = type { [5 x i32] }
+%struct.2 = type { i32, i32, i32, %struct.1* }
+%struct.1 = type { i16*, i32, i32, i32 }
+
+@g0 = external hidden unnamed_addr constant [52 x i8], align 1
+@g1 = external hidden unnamed_addr constant [3 x i8], align 1
+
+declare extern_weak void @f0(i32, i8*, i32, i8*, ...) #0
+declare void @f1(%struct.0*, i32) #0
+
+define void @fred(i8* %a0) #0 {
+b1:
+ %v2 = alloca %struct.0, align 4
+ %v3 = alloca %struct.2, i32 undef, align 8
+ br i1 undef, label %b5, label %b4
+
+b4: ; preds = %b1
+ br label %b7
+
+b5: ; preds = %b5, %b1
+ %v6 = getelementptr inbounds %struct.2, %struct.2* %v3, i32 undef, i32 3
+ store %struct.1* undef, %struct.1** %v6, align 4
+ br label %b5
+
+b7: ; preds = %b10, %b4
+ %v8 = call i32 @llvm.hexagon.V6.extractw(<16 x i32> zeroinitializer, i32 0)
+ br i1 icmp eq (void (i32, i8*, i32, i8*, ...)* @f0, void (i32, i8*, i32, i8*, ...)* null), label %b11, label %b9
+
+b9: ; preds = %b7
+ call void (i32, i8*, i32, i8*, ...) @f0(i32 2, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @g0, i32 0, i32 0), i32 2346, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @g1, i32 0, i32 0), i32 %v8)
+ unreachable
+
+b10: ; preds = %b11
+ call void @f1(%struct.0* nonnull %v2, i32 28)
+ br label %b7
+
+b11: ; preds = %b11, %b7
+ br i1 undef, label %b10, label %b11
+}
+
+declare i32 @llvm.hexagon.V6.extractw(<16 x i32>, i32) #1
+
+attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="+hvx,-hvx-double" }
+attributes #1 = { nounwind readnone }
diff --git a/test/CodeGen/Hexagon/store-imm-large-stack.ll b/test/CodeGen/Hexagon/store-imm-large-stack.ll
new file mode 100644
index 000000000000..c7e493aaedc4
--- /dev/null
+++ b/test/CodeGen/Hexagon/store-imm-large-stack.ll
@@ -0,0 +1,151 @@
+; RUN: llc -march=hexagon < %s | FileCheck %s
+; Check that this testcase compiles successfully.
+; CHECK: allocframe
+
+target triple = "hexagon"
+
+@g0 = external global [1024 x i8], align 8
+@g1 = external global [1024 x i8], align 8
+@g2 = external global [1024 x i8], align 8
+@g3 = external global [1024 x i8], align 8
+@g4 = external hidden unnamed_addr constant [40 x i8], align 1
+
+; Function Attrs: nounwind
+define void @fred() local_unnamed_addr #0 {
+b0:
+ %v1 = alloca i32, align 4
+ %v2 = alloca i32, align 4
+ %v3 = load i8, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 9), align 1
+ %v4 = load i8, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 10), align 2
+ store i32 24, i32* %v1, align 4
+ store i8 %v3, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 16), align 8
+ store i8 %v4, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 10), align 2
+ store i32 44, i32* %v2, align 4
+ store i16 0, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 4) to i16*), align 4
+ %v5 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 11) to i16*), align 1
+ store i16 %v5, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 18) to i16*), align 2
+ %v6 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 13) to i32*), align 1
+ store i32 %v6, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 20) to i32*), align 4
+ %v7 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 17) to i16*), align 1
+ store i16 %v7, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 24) to i16*), align 8
+ %v8 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 23) to i16*), align 1
+ store i16 %v8, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 32) to i16*), align 8
+ %v9 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 25) to i32*), align 1
+ store i32 %v9, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 36) to i32*), align 4
+ %v10 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 29) to i16*), align 1
+ store i16 %v10, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 40) to i16*), align 8
+ %v11 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 31) to i32*), align 1
+ store i32 %v11, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 44) to i32*), align 4
+ %v12 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 35) to i16*), align 1
+ store i16 %v12, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 48) to i16*), align 8
+ %v13 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 37) to i32*), align 1
+ store i32 %v13, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 52) to i32*), align 4
+ %v14 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 41) to i16*), align 1
+ store i16 %v14, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 56) to i16*), align 8
+ %v15 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 43) to i32*), align 1
+ store i32 %v15, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 60) to i32*), align 4
+ %v16 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 47) to i16*), align 1
+ store i16 %v16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 64) to i16*), align 8
+ %v17 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 49) to i32*), align 1
+ store i32 %v17, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 68) to i32*), align 4
+ %v18 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 53) to i16*), align 1
+ store i16 %v18, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 72) to i16*), align 8
+ %v19 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 55) to i32*), align 1
+ store i32 %v19, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 76) to i32*), align 4
+ %v20 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 61) to i32*), align 1
+ store i32 %v20, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 84) to i32*), align 4
+ %v21 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 73) to i32*), align 1
+ store i32 %v21, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 100) to i32*), align 4
+ store i32 104, i32* %v1, align 4
+ store i8 %v4, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 10), align 2
+ store i16 %v8, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 23) to i16*), align 1
+ store i32 %v9, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 25) to i32*), align 1
+ store i16 %v10, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 29) to i16*), align 1
+ store i32 %v11, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 31) to i32*), align 1
+ store i16 %v12, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 35) to i16*), align 1
+ store i32 %v13, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 37) to i32*), align 1
+ store i16 %v14, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 41) to i16*), align 1
+ store i32 %v15, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 43) to i32*), align 1
+ store i16 %v16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 47) to i16*), align 1
+ store i32 %v17, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 49) to i32*), align 1
+ store i32 %v19, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 55) to i32*), align 1
+ store i32 %v20, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 61) to i32*), align 1
+ store i32 %v21, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 73) to i32*), align 1
+ %v22 = trunc i32 %v6 to i8
+ store i8 %v22, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 20), align 4
+ store i32 24, i32* %v1, align 4
+ store i16 0, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 4) to i16*), align 4
+ store i8 %v3, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 9), align 1
+ store i16 %v5, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 11) to i16*), align 1
+ store i8 %v22, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 13), align 1
+ store i32 14, i32* %v2, align 4
+ store i8 %v4, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 17), align 1
+ %v23 = load i64, i64* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 11) to i64*), align 1
+ store i64 %v23, i64* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 24) to i64*), align 8
+ %v24 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 19) to i16*), align 1
+ store i16 %v24, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 32) to i16*), align 8
+ %v25 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 21) to i32*), align 1
+ store i32 %v25, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 36) to i32*), align 4
+ %v26 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 25) to i32*), align 1
+ store i32 %v26, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 40) to i32*), align 8
+ %v27 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 29) to i16*), align 1
+ store i16 %v27, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 44) to i16*), align 4
+ %v28 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 31) to i16*), align 1
+ store i16 %v28, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 46) to i16*), align 2
+ %v29 = load i8, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 33), align 1
+ store i8 %v29, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 48), align 8
+ %v30 = load i8, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 34), align 2
+ store i8 %v30, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 56), align 8
+ %v31 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 35) to i32*), align 1
+ store i32 %v31, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 60) to i32*), align 4
+ %v32 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 39) to i32*), align 1
+ store i32 72, i32* %v1, align 4
+ store i32 0, i32* bitcast ([1024 x i8]* @g2 to i32*), align 8
+ store i16 0, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 4) to i16*), align 4
+ store i8 %v3, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 9), align 1
+ store i32 %v25, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 21) to i32*), align 1
+ store i32 %v26, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 25) to i32*), align 1
+ store i16 %v27, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 29) to i16*), align 1
+ store i16 %v28, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 31) to i16*), align 1
+ store i8 %v29, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 33), align 1
+ store i8 %v30, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 34), align 2
+ store i32 %v31, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 35) to i32*), align 1
+ store i32 %v32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 39) to i32*), align 1
+ store i32 43, i32* %v2, align 4
+ %v33 = load i8, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g1, i32 0, i32 0), align 8
+ %v34 = zext i8 %v33 to i32
+ tail call void (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @g4, i32 0, i32 0), i32 %v34, i32 0) #0
+ %v35 = load i8, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 7), align 1
+ store i8 %v35, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 7), align 1
+ %v36 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 17) to i16*), align 1
+ store i16 %v36, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 24) to i16*), align 8
+ %v37 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 19) to i32*), align 1
+ %v38 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 31) to i32*), align 1
+ store i32 %v38, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 44) to i32*), align 4
+ %v39 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 35) to i16*), align 1
+ %v40 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 37) to i32*), align 1
+ store i32 %v40, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 52) to i32*), align 4
+ %v41 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 43) to i32*), align 1
+ store i32 %v41, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 60) to i32*), align 4
+ %v42 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 47) to i16*), align 1
+ store i16 %v42, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 64) to i16*), align 8
+ %v43 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 49) to i32*), align 1
+ store i32 %v43, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 68) to i32*), align 4
+ %v44 = load i16, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 59) to i16*), align 1
+ store i16 %v44, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 80) to i16*), align 8
+ %v45 = load i32, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g0, i32 0, i32 67) to i32*), align 1
+ store i32 %v45, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g3, i32 0, i32 92) to i32*), align 4
+ store i32 96, i32* %v1, align 4
+ store i8 %v35, i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 7), align 1
+ store i16 %v36, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 17) to i16*), align 1
+ store i32 %v37, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 19) to i32*), align 1
+ store i32 %v38, i32* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 31) to i32*), align 1
+ store i16 %v39, i16* bitcast (i8* getelementptr inbounds ([1024 x i8], [1024 x i8]* @g2, i32 0, i32 35) to i16*), align 1
+ call void (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @g4, i32 0, i32 0), i32 0, i32 0) #0
+ call void (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @g4, i32 0, i32 0), i32 undef, i32 0) #0
+ unreachable
+}
+
+declare void @printf(i8* nocapture readonly, ...) local_unnamed_addr #0
+
+attributes #0 = { nounwind "target-cpu"="hexagonv5" }
diff --git a/test/CodeGen/Hexagon/vec-vararg-align.ll b/test/CodeGen/Hexagon/vec-vararg-align.ll
new file mode 100644
index 000000000000..d4c6bd3ef61b
--- /dev/null
+++ b/test/CodeGen/Hexagon/vec-vararg-align.ll
@@ -0,0 +1,30 @@
+; RUN: llc -march=hexagon < %s | FileCheck %s
+;
+; Check that the stack is aligned according to the outgoing function arguments.
+; CHECK: r29 = and(r29,#-128)
+
+target triple = "hexagon-unknown--elf"
+
+@.str = private unnamed_addr constant [32 x i8] c"\0AMixed Vectors, Pairs, int flt\0A\00", align 1
+@.str.1 = private unnamed_addr constant [11 x i8] c"\0AVar args\0A\00", align 1
+@gVec0 = common global <16 x i32> zeroinitializer, align 64
+@gVec10 = common global <32 x i32> zeroinitializer, align 128
+@gi1 = common global i32 0, align 4
+@gf1 = common global float 0.000000e+00, align 4
+
+define i32 @main() #0 {
+b0:
+ %v1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str, i32 0, i32 0)) #0
+ %v2 = load <16 x i32>, <16 x i32>* @gVec0, align 64
+ %v3 = load <32 x i32>, <32 x i32>* @gVec10, align 128
+ %v4 = load i32, i32* @gi1, align 4
+ %v5 = load float, float* @gf1, align 4
+ %v6 = fpext float %v5 to double
+ call void (i8*, i32, ...) @VarVec1(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.1, i32 0, i32 0), i32 4, <16 x i32> %v2, <32 x i32> %v3, i32 %v4, double %v6)
+ ret i32 0
+}
+
+declare i32 @printf(i8*, ...) #0
+declare void @VarVec1(i8*, i32, ...) #0
+
+attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="+hvx" }
diff --git a/test/CodeGen/MSP430/Inst16mm.ll b/test/CodeGen/MSP430/Inst16mm.ll
index a48d8592c1a6..951002d60a03 100644
--- a/test/CodeGen/MSP430/Inst16mm.ll
+++ b/test/CodeGen/MSP430/Inst16mm.ll
@@ -64,6 +64,6 @@ entry:
%0 = load i16, i16* %retval ; <i16> [#uses=1]
ret i16 %0
; CHECK-LABEL: mov2:
-; CHECK: mov.w 2(r1), 6(r1)
; CHECK: mov.w 0(r1), 4(r1)
+; CHECK: mov.w 2(r1), 6(r1)
}
diff --git a/test/CodeGen/MSP430/struct_layout.ll b/test/CodeGen/MSP430/struct_layout.ll
new file mode 100644
index 000000000000..60ae9f09b4ed
--- /dev/null
+++ b/test/CodeGen/MSP430/struct_layout.ll
@@ -0,0 +1,57 @@
+; RUN: llc < %s | FileCheck %s
+
+target triple = "msp430"
+
+%struct.X = type { i8 }
+
+; CHECK-LABEL: @foo
+; CHECK: sub.w #4, r1
+; CHECK: mov.b #1, 3(r1)
+define void @foo() {
+ %1 = alloca %struct.X
+ %2 = alloca %struct.X
+ %3 = alloca %struct.X
+ %4 = getelementptr inbounds %struct.X, %struct.X* %1, i32 0, i32 0
+ store i8 1, i8* %4
+ %5 = getelementptr inbounds %struct.X, %struct.X* %2, i32 0, i32 0
+ store i8 1, i8* %5
+ %6 = getelementptr inbounds %struct.X, %struct.X* %3, i32 0, i32 0
+ store i8 1, i8* %6
+ ret void
+}
+
+; CHECK-LABEL: @bar
+; CHECK: sub.w #4, r1
+; CHECK: mov.b #1, 3(r1)
+define void @bar() {
+ %1 = alloca [3 x %struct.X]
+ %2 = getelementptr inbounds [3 x %struct.X], [3 x %struct.X]* %1, i16 0, i16 0
+ %3 = getelementptr inbounds %struct.X, %struct.X* %2, i32 0, i32 0
+ store i8 1, i8* %3
+ %4 = getelementptr inbounds [3 x %struct.X], [3 x %struct.X]* %1, i16 0, i16 1
+ %5 = getelementptr inbounds %struct.X, %struct.X* %4, i32 0, i32 0
+ store i8 1, i8* %5
+ %6 = getelementptr inbounds [3 x %struct.X], [3 x %struct.X]* %1, i16 0, i16 2
+ %7 = getelementptr inbounds %struct.X, %struct.X* %6, i32 0, i32 0
+ store i8 1, i8* %7
+ ret void
+}
+
+%struct.Y = type { i8, i16 }
+
+; CHECK-LABEL: @baz
+; CHECK: sub.w #8, r1
+; CHECK: mov.w #2, 6(r1)
+define void @baz() {
+ %1 = alloca %struct.Y, align 2
+ %2 = alloca %struct.Y, align 2
+ %3 = getelementptr inbounds %struct.Y, %struct.Y* %1, i32 0, i32 0
+ store i8 1, i8* %3, align 2
+ %4 = getelementptr inbounds %struct.Y, %struct.Y* %1, i32 0, i32 1
+ store i16 2, i16* %4, align 2
+ %5 = getelementptr inbounds %struct.Y, %struct.Y* %2, i32 0, i32 0
+ store i8 1, i8* %5, align 2
+ %6 = getelementptr inbounds %struct.Y, %struct.Y* %2, i32 0, i32 1
+ store i16 2, i16* %6, align 2
+ ret void
+}
diff --git a/test/CodeGen/Mips/dins.ll b/test/CodeGen/Mips/dins.ll
index be3865703ba2..5c0415759266 100644
--- a/test/CodeGen/Mips/dins.ll
+++ b/test/CodeGen/Mips/dins.ll
@@ -1,6 +1,7 @@
; RUN: llc -O2 -march=mips64 -mcpu=mips64r2 -target-abi=n64 < %s -o - | FileCheck %s -check-prefix=MIPS64R2
; RUN: llc -O2 -march=mips -mcpu=mips32r2 < %s -o - | FileCheck %s -check-prefix=MIPS32R2
; RUN: llc -O2 -march=mips -mattr=mips16 < %s -o - | FileCheck %s -check-prefix=MIPS16
+; RUN: llc -O2 -march=mips64 -mcpu=mips64r2 -target-abi=n32 < %s -o - | FileCheck %s -check-prefix=MIPS64R2N32
; #include <stdint.h>
; #include <stdio.h>
@@ -55,16 +56,42 @@ entry:
ret i64 %bf.lshr18
}
-
; CHECK-LABEL: f123:
-; MIPS64R2: daddiu $[[R0:[0-9]+]], $zero, 123
+; MIPS64R2: daddiu $[[R0:[0-9]+]], $zero, 123
; MIPS64R2: dins $[[R0:[0-9]+]], $[[R1:[0-9]+]], 27, 37
-; MIPS64R2: daddiu $[[R0:[0-9]+]], $zero, 5
-; MIPS64R2: daddiu $[[R0:[0-9]+]], $zero, 4
+; MIPS64R2: daddiu $[[R0:[0-9]+]], $zero, 5
+; MIPS64R2: daddiu $[[R0:[0-9]+]], $zero, 4
; MIPS64R2: dins $[[R0:[0-9]+]], $[[R1:[0-9]+]], 28, 6
; MIPS64R2: dins $[[R0:[0-9]+]], $[[R1:[0-9]+]], 50, 14
-; MIPS64R2: dsrl $[[R0:[0-9]+]], $[[R1:[0-9]+]], 50
+; MIPS64R2: dsrl $[[R0:[0-9]+]], $[[R1:[0-9]+]], 50
; MIPS64R2: dins $[[R0:[0-9]+]], $[[R1:[0-9]+]], 34, 16
; MIPS32R2: ins $[[R0:[0-9]+]], $[[R1:[0-9]+]], 2, 16
; MIPS32R2-NOT: ins $[[R0:[0-9]+]], $[[R1:[0-9]+]], 18, 46
-; MIPS16-NOT: ins{{[[:space:]].*}} \ No newline at end of file
+; MIPS16-NOT: ins{{[[:space:]].*}}
+
+
+; int foo(volatile int x) {
+; int y = x;
+; y = y & -4;
+; x = y | 8;
+; return y;
+; }
+
+define i32 @foo(i32 signext %x) {
+entry:
+ %x.addr = alloca i32, align 4
+ store volatile i32 %x, i32* %x.addr, align 4
+ %x.addr.0.x.addr.0. = load volatile i32, i32* %x.addr, align 4
+ %and = and i32 %x.addr.0.x.addr.0., -4
+ %or = or i32 %and, 8
+ store volatile i32 %or, i32* %x.addr, align 4
+ ret i32 %and
+}
+
+; CHECK-LABEL: foo:
+; MIPS64R2: ori $[[R0:[0-9]+]], $[[R0:[0-9]+]], 8
+; MIPS64R2-NOT: ins {{[[:space:]].*}}
+; MIPS32R2: ori $[[R0:[0-9]+]], $[[R0:[0-9]+]], 8
+; MIPS32R2-NOT: ins {{[[:space:]].*}}
+; MIPS64R2N32: ori $[[R0:[0-9]+]], $[[R0:[0-9]+]], 8
+; MIPS64R2N32-NOT: ins {{[[:space:]].*}} \ No newline at end of file
diff --git a/test/CodeGen/Mips/emergency-spill-slot-near-fp.ll b/test/CodeGen/Mips/emergency-spill-slot-near-fp.ll
index a08b68149a70..625abc1a7e04 100644
--- a/test/CodeGen/Mips/emergency-spill-slot-near-fp.ll
+++ b/test/CodeGen/Mips/emergency-spill-slot-near-fp.ll
@@ -1,34 +1,62 @@
-; Check that register scavenging spill slot is close to $fp.
; RUN: llc -march=mipsel -O0 -relocation-model=pic < %s | FileCheck %s
+; Check that register scavenging spill slot is close to $fp.
+target triple="mipsel--"
-; CHECK: sw ${{.*}}, 8($sp)
-; CHECK: lw ${{.*}}, 8($sp)
+@var = external global i32
+@ptrvar = external global i8*
-define i32 @main(i32 signext %argc, i8** %argv) #0 {
-entry:
- %retval = alloca i32, align 4
- %argc.addr = alloca i32, align 4
- %argv.addr = alloca i8**, align 4
- %v0 = alloca <16 x i8>, align 16
- %.compoundliteral = alloca <16 x i8>, align 16
- %v1 = alloca <16 x i8>, align 16
- %.compoundliteral1 = alloca <16 x i8>, align 16
- %unused_variable = alloca [16384 x i32], align 4
- %result = alloca <16 x i8>, align 16
- store i32 0, i32* %retval
- store i32 %argc, i32* %argc.addr, align 4
- store i8** %argv, i8*** %argv.addr, align 4
- store <16 x i8> <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, i8 16>, <16 x i8>* %.compoundliteral
- %0 = load <16 x i8>, <16 x i8>* %.compoundliteral
- store <16 x i8> %0, <16 x i8>* %v0, align 16
- store <16 x i8> zeroinitializer, <16 x i8>* %.compoundliteral1
- %1 = load <16 x i8>, <16 x i8>* %.compoundliteral1
- store <16 x i8> %1, <16 x i8>* %v1, align 16
- %2 = load <16 x i8>, <16 x i8>* %v0, align 16
- %3 = load <16 x i8>, <16 x i8>* %v1, align 16
- %mul = mul <16 x i8> %2, %3
- store <16 x i8> %mul, <16 x i8>* %result, align 16
- ret i32 0
-}
+; CHECK-LABEL: func:
+define void @func() {
+ %space = alloca i32, align 4
+ %stackspace = alloca[16384 x i32], align 4
+
+ ; ensure stackspace is not optimized out
+ %stackspace_casted = bitcast [16384 x i32]* %stackspace to i8*
+ store volatile i8* %stackspace_casted, i8** @ptrvar
-attributes #0 = { noinline "no-frame-pointer-elim"="true" }
+ ; Load values to increase register pressure.
+ %v0 = load volatile i32, i32* @var
+ %v1 = load volatile i32, i32* @var
+ %v2 = load volatile i32, i32* @var
+ %v3 = load volatile i32, i32* @var
+ %v4 = load volatile i32, i32* @var
+ %v5 = load volatile i32, i32* @var
+ %v6 = load volatile i32, i32* @var
+ %v7 = load volatile i32, i32* @var
+ %v8 = load volatile i32, i32* @var
+ %v9 = load volatile i32, i32* @var
+ %v10 = load volatile i32, i32* @var
+ %v11 = load volatile i32, i32* @var
+ %v12 = load volatile i32, i32* @var
+ %v13 = load volatile i32, i32* @var
+ %v14 = load volatile i32, i32* @var
+ %v15 = load volatile i32, i32* @var
+ %v16 = load volatile i32, i32* @var
+
+ ; Computing a stack-relative values needs an additional register.
+ ; We should get an emergency spill/reload for this.
+ ; CHECK: sw ${{.*}}, 0($sp)
+ ; CHECK: lw ${{.*}}, 0($sp)
+ store volatile i32 %v0, i32* %space
+
+ ; store values so they are used.
+ store volatile i32 %v0, i32* @var
+ store volatile i32 %v1, i32* @var
+ store volatile i32 %v2, i32* @var
+ store volatile i32 %v3, i32* @var
+ store volatile i32 %v4, i32* @var
+ store volatile i32 %v5, i32* @var
+ store volatile i32 %v6, i32* @var
+ store volatile i32 %v7, i32* @var
+ store volatile i32 %v8, i32* @var
+ store volatile i32 %v9, i32* @var
+ store volatile i32 %v10, i32* @var
+ store volatile i32 %v11, i32* @var
+ store volatile i32 %v12, i32* @var
+ store volatile i32 %v13, i32* @var
+ store volatile i32 %v14, i32* @var
+ store volatile i32 %v15, i32* @var
+ store volatile i32 %v16, i32* @var
+
+ ret void
+}
diff --git a/test/CodeGen/Mips/longbranch.ll b/test/CodeGen/Mips/longbranch.ll
index c616089c6df0..11bc6d390319 100644
--- a/test/CodeGen/Mips/longbranch.ll
+++ b/test/CodeGen/Mips/longbranch.ll
@@ -1,17 +1,17 @@
-; RUN: llc -march=mipsel -relocation-model=pic < %s -verify-machineinstrs | FileCheck %s
-; RUN: llc -march=mipsel -force-mips-long-branch -O3 -relocation-model=pic < %s -verify-machineinstrs \
+; RUN: llc -march=mipsel -relocation-model=pic < %s | FileCheck %s
+; RUN: llc -march=mipsel -force-mips-long-branch -O3 -relocation-model=pic < %s \
; RUN: | FileCheck %s -check-prefix=O32
; RUN: llc -march=mipsel -mcpu=mips32r6 -force-mips-long-branch -O3 \
-; RUN: -relocation-model=pic -asm-show-inst < %s -verify-machineinstrs | FileCheck %s -check-prefix=O32-R6
+; RUN: -relocation-model=pic -asm-show-inst < %s | FileCheck %s -check-prefix=O32-R6
; RUN: llc -march=mips64el -mcpu=mips4 -target-abi=n64 -force-mips-long-branch -O3 -relocation-model=pic \
-; RUN: < %s -verify-machineinstrs | FileCheck %s -check-prefix=N64
+; RUN: < %s | FileCheck %s -check-prefix=N64
; RUN: llc -march=mips64el -mcpu=mips64 -target-abi=n64 -force-mips-long-branch -O3 -relocation-model=pic \
-; RUN: < %s -verify-machineinstrs | FileCheck %s -check-prefix=N64
+; RUN: < %s | FileCheck %s -check-prefix=N64
; RUN: llc -march=mips64el -mcpu=mips64r6 -target-abi=n64 -force-mips-long-branch -O3 \
-; RUN: -relocation-model=pic -asm-show-inst < %s -verify-machineinstrs | FileCheck %s -check-prefix=N64-R6
+; RUN: -relocation-model=pic -asm-show-inst < %s | FileCheck %s -check-prefix=N64-R6
; RUN: llc -march=mipsel -mcpu=mips32r2 -mattr=micromips \
-; RUN: -force-mips-long-branch -O3 -relocation-model=pic < %s -verify-machineinstrs | FileCheck %s -check-prefix=MICROMIPS
-; RUN: llc -mtriple=mipsel-none-nacl -force-mips-long-branch -O3 -relocation-model=pic < %s -verify-machineinstrs \
+; RUN: -force-mips-long-branch -O3 -relocation-model=pic < %s | FileCheck %s -check-prefix=MICROMIPS
+; RUN: llc -mtriple=mipsel-none-nacl -force-mips-long-branch -O3 -relocation-model=pic < %s \
; RUN: | FileCheck %s -check-prefix=NACL
@@ -59,9 +59,9 @@ end:
; Check for long branch expansion:
; O32: addiu $sp, $sp, -8
; O32-NEXT: sw $ra, 0($sp)
-; O32-NEXT: lui $1, %hi(($BB0_[[BB2:[0-9]+]])-($[[BB1:BB[0-9_]+]]))
+; O32-NEXT: lui $1, %hi(($[[BB2:BB[0-9_]+]])-($[[BB1:BB[0-9_]+]]))
; O32-NEXT: bal $[[BB1]]
-; O32-NEXT: addiu $1, $1, %lo(($BB0_[[BB2]])-($[[BB1]]))
+; O32-NEXT: addiu $1, $1, %lo(($[[BB2]])-($[[BB1]]))
; O32-NEXT: $[[BB1]]:
; O32-NEXT: addu $1, $ra, $1
; O32-NEXT: lw $ra, 0($sp)
@@ -72,7 +72,7 @@ end:
; O32: lw $[[R1:[0-9]+]], %got(x)($[[GP]])
; O32: addiu $[[R2:[0-9]+]], $zero, 1
; O32: sw $[[R2]], 0($[[R1]])
-; O32: # BB#[[BB2]]:
+; O32: $[[BB2]]:
; O32: jr $ra
; O32: nop
@@ -90,10 +90,10 @@ end:
; Check for long branch expansion:
; N64: daddiu $sp, $sp, -16
; N64-NEXT: sd $ra, 0($sp)
-; N64-NEXT: daddiu $1, $zero, %hi(.LBB0_[[BB2:[0-9_]+]]-[[BB1:\.LBB[0-9_]+]])
+; N64-NEXT: daddiu $1, $zero, %hi([[BB2:\.LBB[0-9_]+]]-[[BB1:\.LBB[0-9_]+]])
; N64-NEXT: dsll $1, $1, 16
; N64-NEXT: bal [[BB1]]
-; N64-NEXT: daddiu $1, $1, %lo(.LBB0_[[BB2]]-[[BB1]])
+; N64-NEXT: daddiu $1, $1, %lo([[BB2]]-[[BB1]])
; N64-NEXT: [[BB1]]:
; N64-NEXT: daddu $1, $ra, $1
; N64-NEXT: ld $ra, 0($sp)
@@ -105,7 +105,7 @@ end:
; N64: addiu $[[R3:[0-9]+]], $zero, 1
; N64: ld $[[R2:[0-9]+]], %got_disp(x)($[[GP]])
; N64: sw $[[R3]], 0($[[R2]])
-; N64: # BB#[[BB2]]:
+; N64: [[BB2]]:
; N64: jr $ra
; N64: nop
@@ -125,9 +125,9 @@ end:
; Check for long branch expansion:
; MICROMIPS: addiu $sp, $sp, -8
; MICROMIPS-NEXT: sw $ra, 0($sp)
-; MICROMIPS-NEXT: lui $1, %hi(($BB0_[[BB2:[0-9]+]])-($[[BB1:BB[0-9_]+]]))
+; MICROMIPS-NEXT: lui $1, %hi(($[[BB2:BB[0-9_]+]])-($[[BB1:BB[0-9_]+]]))
; MICROMIPS-NEXT: bal $[[BB1]]
-; MICROMIPS-NEXT: addiu $1, $1, %lo(($BB0_[[BB2]])-($[[BB1]]))
+; MICROMIPS-NEXT: addiu $1, $1, %lo(($[[BB2]])-($[[BB1]]))
; MICROMIPS-NEXT: $[[BB1]]:
; MICROMIPS-NEXT: addu $1, $ra, $1
; MICROMIPS-NEXT: lw $ra, 0($sp)
@@ -138,7 +138,7 @@ end:
; MICROMIPS: lw $[[R1:[0-9]+]], %got(x)($[[GP]])
; MICROMIPS: li16 $[[R2:[0-9]+]], 1
; MICROMIPS: sw16 $[[R2]], 0($[[R1]])
-; MICROMIPS: # BB#[[BB2]]:
+; MICROMIPS: $[[BB2]]:
; MICROMIPS: jrc $ra
@@ -154,9 +154,9 @@ end:
; Check for long branch expansion:
; NACL: addiu $sp, $sp, -8
; NACL-NEXT: sw $ra, 0($sp)
-; NACL-NEXT: lui $1, %hi(($BB0_[[BB2:[0-9]+]])-($[[BB1:BB[0-9_]+]]))
+; NACL-NEXT: lui $1, %hi(($[[BB2:BB[0-9_]+]])-($[[BB1:BB[0-9_]+]]))
; NACL-NEXT: bal $[[BB1]]
-; NACL-NEXT: addiu $1, $1, %lo(($BB0_[[BB2]])-($[[BB1]]))
+; NACL-NEXT: addiu $1, $1, %lo(($[[BB2]])-($[[BB1]]))
; NACL-NEXT: $[[BB1]]:
; NACL-NEXT: addu $1, $ra, $1
; NACL-NEXT: lw $ra, 0($sp)
@@ -169,7 +169,7 @@ end:
; NACL: addiu $[[R2:[0-9]+]], $zero, 1
; NACL: sw $[[R2]], 0($[[R1]])
; NACL: .p2align 4
-; NACL-NEXT: # BB#[[BB2]]:
+; NACL-NEXT: $[[BB2]]:
; NACL: jr $ra
; NACL: nop
}
diff --git a/test/CodeGen/Mips/msa/3r_splat.ll b/test/CodeGen/Mips/msa/3r_splat.ll
index 78c485f4f868..a5f4999f8521 100644
--- a/test/CodeGen/Mips/msa/3r_splat.ll
+++ b/test/CodeGen/Mips/msa/3r_splat.ll
@@ -92,3 +92,24 @@ declare <2 x i64> @llvm.mips.splat.d(<2 x i64>, i32) nounwind
; MIPS64-DAG: splat.d [[R4:\$w[0-9]+]], [[R3]][$4]
; MIPS64-DAG: st.d [[R4]], 0([[R2]])
; MIPS32: .size llvm_mips_splat_d_test
+
+define void @llvm_mips_splat_d_arg_test(i32 %arg) {
+entry:
+ %0 = tail call <2 x i64> @llvm.mips.splat.d(<2 x i64> <i64 12720328, i64 10580959>, i32 %arg)
+ store volatile <2 x i64> %0, <2 x i64>* @llvm_mips_splat_d_RES
+ ret void
+}
+; CHECK-LABEL: llvm_mips_splat_d_arg_test
+; CHECK: ldi.w [[R1:\$w[0-9]+]], 1
+; CHECK: and.v [[R2:\$w[0-9]+]], {{\$w[0-9]+}}, [[R1]]
+; CHECK: vshf.d [[R2]], {{.*}}
+
+define void @llvm_mips_splat_d_imm_test() {
+entry:
+ %0 = tail call <2 x i64> @llvm.mips.splat.d(<2 x i64> <i64 12720328, i64 10580959>, i32 76)
+ store volatile<2 x i64> %0, <2 x i64>* @llvm_mips_splat_d_RES
+ ret void
+}
+; CHECK-LABEL: llvm_mips_splat_d_imm_test
+; CHECK: splati. d {{.*}}, {{.*}}[0]
+; CHECK-NOT: vshf.d
diff --git a/test/CodeGen/PowerPC/2010-02-12-saveCR.ll b/test/CodeGen/PowerPC/2010-02-12-saveCR.ll
index 5f1555e77af4..9540249eaedc 100644
--- a/test/CodeGen/PowerPC/2010-02-12-saveCR.ll
+++ b/test/CodeGen/PowerPC/2010-02-12-saveCR.ll
@@ -8,15 +8,15 @@ entry:
; Note that part of what is being checked here is proper register reuse.
; CHECK: mfcr [[T1:r[0-9]+]] ; cr2
; CHECK: lis [[T2:r[0-9]+]], 1
-; CHECK: addi r3, r1, 72
; CHECK: rotlwi [[T1]], [[T1]], 8
; CHECK: ori [[T2]], [[T2]], 34540
; CHECK: stwx [[T1]], r1, [[T2]]
-; CHECK: lis [[T3:r[0-9]+]], 1
; CHECK: mfcr [[T4:r[0-9]+]] ; cr3
-; CHECK: ori [[T3]], [[T3]], 34536
+; CHECK: lis [[T3:r[0-9]+]], 1
; CHECK: rotlwi [[T4]], [[T4]], 12
+; CHECK: ori [[T3]], [[T3]], 34536
; CHECK: stwx [[T4]], r1, [[T3]]
+; CHECK: addi r3, r1, 72
%x = alloca [100000 x i8] ; <[100000 x i8]*> [#uses=1]
%"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
%x1 = bitcast [100000 x i8]* %x to i8* ; <i8*> [#uses=1]
diff --git a/test/CodeGen/PowerPC/complex-return.ll b/test/CodeGen/PowerPC/complex-return.ll
index ec87a89b1108..b25420a48e69 100644
--- a/test/CodeGen/PowerPC/complex-return.ll
+++ b/test/CodeGen/PowerPC/complex-return.ll
@@ -9,7 +9,7 @@ entry:
%x = alloca { ppc_fp128, ppc_fp128 }, align 16
%real = getelementptr inbounds { ppc_fp128, ppc_fp128 }, { ppc_fp128, ppc_fp128 }* %x, i32 0, i32 0
%imag = getelementptr inbounds { ppc_fp128, ppc_fp128 }, { ppc_fp128, ppc_fp128 }* %x, i32 0, i32 1
- store ppc_fp128 0xM400C0000000000000000000000000000, ppc_fp128* %real
+ store ppc_fp128 0xM400C0000000000300000000010000000, ppc_fp128* %real
store ppc_fp128 0xMC00547AE147AE1483CA47AE147AE147A, ppc_fp128* %imag
%x.realp = getelementptr inbounds { ppc_fp128, ppc_fp128 }, { ppc_fp128, ppc_fp128 }* %x, i32 0, i32 0
%x.real = load ppc_fp128, ppc_fp128* %x.realp
diff --git a/test/CodeGen/PowerPC/dyn-alloca-aligned.ll b/test/CodeGen/PowerPC/dyn-alloca-aligned.ll
index 0de2e220c2cc..e0f28475d8fd 100644
--- a/test/CodeGen/PowerPC/dyn-alloca-aligned.ll
+++ b/test/CodeGen/PowerPC/dyn-alloca-aligned.ll
@@ -25,8 +25,8 @@ entry:
; CHECK-DAG: li [[REG1:[0-9]+]], -128
; CHECK-DAG: neg [[REG2:[0-9]+]],
-; CHECK: and [[REG1]], [[REG2]], [[REG1]]
-; CHECK: stdux {{[0-9]+}}, 1, [[REG1]]
+; CHECK: and [[REG3:[0-9]+]], [[REG2]], [[REG1]]
+; CHECK: stdux {{[0-9]+}}, 1, [[REG3]]
; CHECK: blr
diff --git a/test/CodeGen/PowerPC/licm-remat.ll b/test/CodeGen/PowerPC/licm-remat.ll
new file mode 100644
index 000000000000..cbd1af62b842
--- /dev/null
+++ b/test/CodeGen/PowerPC/licm-remat.ll
@@ -0,0 +1,179 @@
+; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s
+
+; Test case is reduced from the snappy benchmark.
+; Verify MachineLICM will always hoist trivially rematerializable instructions even when register pressure is high.
+
+%"class.snappy::SnappyDecompressor" = type <{ %"class.snappy::Source"*, i8*, i8*, i32, i8, [5 x i8], [6 x i8] }>
+%"class.snappy::Source" = type { i32 (...)** }
+%"struct.snappy::iovec" = type { i8*, i64 }
+%"class.snappy::SnappyIOVecWriter" = type { %"struct.snappy::iovec"*, i64, i64, i64, i64, i64 }
+
+@_ZN6snappy8internalL10char_tableE = internal unnamed_addr constant [5 x i16] [i16 1, i16 2052, i16 4097, i16 8193, i16 2], align 2
+@_ZN6snappy8internalL8wordmaskE = internal unnamed_addr constant [5 x i32] [i32 0, i32 255, i32 65535, i32 16777215, i32 -1], align 4
+
+; Function Attrs: argmemonly nounwind
+declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #2
+; Function Attrs: argmemonly nounwind
+declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #2
+
+define linkonce_odr void @ZN6snappyDecompressor_(%"class.snappy::SnappyDecompressor"* %this, %"class.snappy::SnappyIOVecWriter"* %writer) {
+; CHECK-LABEL: ZN6snappyDecompressor_:
+; CHECK: # BB#0: # %entry
+; CHECK: addis 3, 2, _ZN6snappy8internalL8wordmaskE@toc@ha
+; CHECK-DAG: addi 25, 3, _ZN6snappy8internalL8wordmaskE@toc@l
+; CHECK-DAG: addis 4, 2, _ZN6snappy8internalL10char_tableE@toc@ha
+; CHECK-DAG: addi 24, 4, _ZN6snappy8internalL10char_tableE@toc@l
+; CHECK: b .LBB0_2
+; CHECK: .LBB0_2: # %for.cond
+; CHECK-NOT: addis {{[0-9]+}}, 2, _ZN6snappy8internalL8wordmaskE@toc@ha
+; CHECK-NOT: addis {{[0-9]+}}, 2, _ZN6snappy8internalL10char_tableE@toc@ha
+; CHECK: bctrl
+entry:
+ %ip_limit_ = getelementptr inbounds %"class.snappy::SnappyDecompressor", %"class.snappy::SnappyDecompressor"* %this, i64 0, i32 2
+ %0 = bitcast i8** %ip_limit_ to i64*
+ %curr_iov_index_.i = getelementptr inbounds %"class.snappy::SnappyIOVecWriter", %"class.snappy::SnappyIOVecWriter"* %writer, i64 0, i32 2
+ %curr_iov_written_.i = getelementptr inbounds %"class.snappy::SnappyIOVecWriter", %"class.snappy::SnappyIOVecWriter"* %writer, i64 0, i32 3
+ %1 = bitcast i64* %curr_iov_written_.i to <2 x i64>*
+ br label %for.cond
+
+for.cond: ; preds = %if.end82, %if.then56, %if.end49, %entry
+ %ip.0 = phi i8* [ null, %entry ], [ %add.ptr50, %if.end49 ], [ null, %if.then56 ], [ undef, %if.end82 ]
+ %incdec.ptr = getelementptr inbounds i8, i8* %ip.0, i64 1
+ %2 = load i8, i8* %ip.0, align 1
+ %conv = zext i8 %2 to i32
+ br i1 undef, label %if.then7, label %if.else
+
+if.then7: ; preds = %for.cond
+ %3 = lshr i32 %conv, 2
+ %add = add nuw nsw i32 %3, 1
+ %conv9 = zext i32 %add to i64
+ %4 = load i64, i64* %0, align 8
+ %sub.ptr.sub13 = sub i64 %4, 0
+ %5 = load i64, i64* undef, align 8
+ %6 = load i64, i64* null, align 8
+ %sub.i = sub i64 %5, %6
+ %cmp.i = icmp ult i32 %add, 17
+ %cmp2.i = icmp ugt i64 %sub.ptr.sub13, 20
+ %or.cond.i = and i1 %cmp.i, %cmp2.i
+ %cmp4.i = icmp ugt i64 %sub.i, 15
+ %or.cond13.i = and i1 %or.cond.i, %cmp4.i
+ br i1 %or.cond13.i, label %land.lhs.true5.i, label %if.end17
+
+land.lhs.true5.i: ; preds = %if.then7
+ %7 = load %"struct.snappy::iovec"*, %"struct.snappy::iovec"** undef, align 8
+ %8 = load i64, i64* %curr_iov_index_.i, align 8
+ %9 = load i64, i64* %curr_iov_written_.i, align 8
+ %sub6.i = sub i64 0, %9
+ %cmp7.i = icmp ugt i64 %sub6.i, 15
+ br i1 %cmp7.i, label %cleanup102, label %if.end17
+
+if.end17: ; preds = %land.lhs.true5.i, %if.then7
+ %sub = add nsw i64 %conv9, -60
+ %10 = load i32, i32* undef, align 4
+ %arrayidx = getelementptr inbounds [5 x i32], [5 x i32]* @_ZN6snappy8internalL8wordmaskE, i64 0, i64 %sub
+ %11 = load i32, i32* %arrayidx, align 4
+ %and21 = and i32 %11, %10
+ %add22 = add i32 %and21, 1
+ %conv23 = zext i32 %add22 to i64
+ %add.ptr24 = getelementptr inbounds i8, i8* %incdec.ptr, i64 %sub
+ br label %if.end25
+
+if.end25: ; preds = %if.end17
+ %sub.ptr.rhs.cast28 = ptrtoint i8* %add.ptr24 to i64
+ %cmp30233 = icmp ugt i64 %conv23, 0
+ br i1 %cmp30233, label %while.body.preheader, label %while.end
+
+while.body.preheader: ; preds = %if.end25
+ %add.i158256 = add i64 %6, 0
+ %cmp.i160257 = icmp ugt i64 %add.i158256, %5
+ br i1 %cmp.i160257, label %cleanup105, label %while.cond.preheader.i
+
+while.cond.preheader.i: ; preds = %while.body.preheader
+ %call39 = call i8* undef(%"class.snappy::Source"* undef, i64* nonnull undef)
+ unreachable
+
+while.end: ; preds = %if.end25
+ br label %while.cond.preheader.i176
+
+while.cond.preheader.i176: ; preds = %while.end
+ br i1 undef, label %if.end49, label %while.body.lr.ph.i182
+
+while.body.lr.ph.i182: ; preds = %while.cond.preheader.i176
+ %.pre.i181 = load i64, i64* %curr_iov_written_.i, align 8
+ %12 = load %"struct.snappy::iovec"*, %"struct.snappy::iovec"** undef, align 8
+ %13 = load i64, i64* %curr_iov_index_.i, align 8
+ %iov_len.i185 = getelementptr inbounds %"struct.snappy::iovec", %"struct.snappy::iovec"* %12, i64 %13, i32 1
+ %14 = load i64, i64* %iov_len.i185, align 8
+ br label %cond.end.i190
+
+cond.end.i190: ; preds = %while.body.lr.ph.i182
+ br i1 undef, label %if.end18.i207, label %if.then10.i193
+
+if.then10.i193: ; preds = %cond.end.i190
+ %add12.i191 = add i64 %13, 1
+ %iov_len22.phi.trans.insert.i194 = getelementptr inbounds %"struct.snappy::iovec", %"struct.snappy::iovec"* %12, i64 %add12.i191, i32 1
+ %.pre48.i195 = load i64, i64* %iov_len22.phi.trans.insert.i194, align 8
+ br label %if.end18.i207
+
+if.end18.i207: ; preds = %if.then10.i193, %cond.end.i190
+ %15 = phi i64 [ %.pre.i181, %cond.end.i190 ], [ 0, %if.then10.i193 ]
+ %16 = phi i64 [ %14, %cond.end.i190 ], [ %.pre48.i195, %if.then10.i193 ]
+ %17 = phi i64 [ %13, %cond.end.i190 ], [ %add12.i191, %if.then10.i193 ]
+ %sub.i197 = sub i64 %16, %15
+ %cmp.i.i198 = icmp ult i64 %sub.i197, %conv23
+ %.sroa.speculated.i199 = select i1 %cmp.i.i198, i64 %sub.i197, i64 %conv23
+ %iov_base.i.i200 = getelementptr inbounds %"struct.snappy::iovec", %"struct.snappy::iovec"* %12, i64 %17, i32 0
+ %18 = load i8*, i8** %iov_base.i.i200, align 8
+ %add.ptr.i.i201 = getelementptr inbounds i8, i8* %18, i64 %15
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* %add.ptr.i.i201, i8* %add.ptr24, i64 %.sroa.speculated.i199, i32 1, i1 false) #12
+ %add30.i203 = add i64 0, %.sroa.speculated.i199
+ store i64 %add30.i203, i64* null, align 8
+ %.pre245 = load i64, i64* %0, align 8
+ br label %if.end49
+
+if.end49: ; preds = %if.end18.i207, %while.cond.preheader.i176
+ %19 = phi i64 [ %.pre245, %if.end18.i207 ], [ %4, %while.cond.preheader.i176 ]
+ %add.ptr50 = getelementptr inbounds i8, i8* %add.ptr24, i64 %conv23
+ %sub.ptr.sub54 = sub i64 %19, 0
+ %cmp55 = icmp slt i64 %sub.ptr.sub54, 5
+ br i1 %cmp55, label %if.then56, label %for.cond
+
+if.then56: ; preds = %if.end49
+ br label %for.cond
+
+if.else: ; preds = %for.cond
+ %idxprom = zext i8 %2 to i64
+ %arrayidx68 = getelementptr inbounds [5 x i16], [5 x i16]* @_ZN6snappy8internalL10char_tableE, i64 0, i64 %idxprom
+ %20 = load i16, i16* %arrayidx68, align 2
+ %conv69 = zext i16 %20 to i64
+ %21 = load i32, i32* undef, align 4
+ %shr71 = lshr i64 %conv69, 11
+ %arrayidx72 = getelementptr inbounds [5 x i32], [5 x i32]* @_ZN6snappy8internalL8wordmaskE, i64 0, i64 %shr71
+ %22 = load i32, i32* %arrayidx72, align 4
+ %and73 = and i32 %22, %21
+ %conv74 = zext i32 %and73 to i64
+ %add79 = add nuw nsw i64 0, %conv74
+ %call80 = call zeroext i1 @_ZN6snappy17SnappyIOVecWriterAppendFromSelfEmm(%"class.snappy::SnappyIOVecWriter"* %writer, i64 %add79, i64 undef)
+ br i1 %call80, label %if.end82, label %cleanup105
+
+if.end82: ; preds = %if.else
+ br label %for.cond
+
+cleanup102: ; preds = %land.lhs.true5.i
+ %iov_base.i.i = getelementptr inbounds %"struct.snappy::iovec", %"struct.snappy::iovec"* %7, i64 %8, i32 0
+ %23 = load i8*, i8** %iov_base.i.i, align 8
+ %add.ptr.i.i = getelementptr inbounds i8, i8* %23, i64 %9
+ call void @llvm.memmove.p0i8.p0i8.i64(i8* %add.ptr.i.i, i8* %incdec.ptr, i64 16, i32 1, i1 false) #12
+ %24 = load <2 x i64>, <2 x i64>* %1, align 8
+ %25 = insertelement <2 x i64> undef, i64 %conv9, i32 0
+ %26 = shufflevector <2 x i64> %25, <2 x i64> undef, <2 x i32> zeroinitializer
+ %27 = add <2 x i64> %24, %26
+ store <2 x i64> %27, <2 x i64>* undef, align 8
+ unreachable
+
+cleanup105: ; preds = %if.else, %while.body.preheader
+ ret void
+}
+
+; Function Attrs: inlinehint
+declare zeroext i1 @_ZN6snappy17SnappyIOVecWriterAppendFromSelfEmm(%"class.snappy::SnappyIOVecWriter"*, i64, i64) local_unnamed_addr #10 align 2
diff --git a/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll b/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
index ad9078c82066..d398dfe7fc92 100644
--- a/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
+++ b/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
@@ -168,26 +168,8 @@ define signext i32 @zeroEqualityTest05() {
; Validate with memcmp()?:
define signext i32 @equalityFoldTwoConstants() {
; CHECK-LABEL: equalityFoldTwoConstants:
-; CHECK: # BB#0: # %loadbb
-; CHECK-NEXT: addis 3, 2, .LzeroEqualityTest04.buffer1@toc@ha
-; CHECK-NEXT: addis 4, 2, .LzeroEqualityTest04.buffer2@toc@ha
-; CHECK-NEXT: ld 3, .LzeroEqualityTest04.buffer1@toc@l(3)
-; CHECK-NEXT: ld 4, .LzeroEqualityTest04.buffer2@toc@l(4)
-; CHECK-NEXT: cmpld 3, 4
-; CHECK-NEXT: bne 0, .LBB5_2
-; CHECK-NEXT: # BB#1: # %loadbb1
-; CHECK-NEXT: addis 3, 2, .LzeroEqualityTest04.buffer1@toc@ha+8
-; CHECK-NEXT: addis 4, 2, .LzeroEqualityTest04.buffer2@toc@ha+8
-; CHECK-NEXT: ld 3, .LzeroEqualityTest04.buffer1@toc@l+8(3)
-; CHECK-NEXT: ld 4, .LzeroEqualityTest04.buffer2@toc@l+8(4)
-; CHECK-NEXT: cmpld 3, 4
-; CHECK-NEXT: li 3, 0
-; CHECK-NEXT: beq 0, .LBB5_3
-; CHECK-NEXT: .LBB5_2: # %res_block
+; CHECK: # BB#0: # %endblock
; CHECK-NEXT: li 3, 1
-; CHECK-NEXT: .LBB5_3: # %endblock
-; CHECK-NEXT: cntlzw 3, 3
-; CHECK-NEXT: srwi 3, 3, 5
; CHECK-NEXT: blr
%call = tail call signext i32 @memcmp(i8* bitcast ([15 x i32]* @zeroEqualityTest04.buffer1 to i8*), i8* bitcast ([15 x i32]* @zeroEqualityTest04.buffer2 to i8*), i64 16)
%not.tobool = icmp eq i32 %call, 0
@@ -198,16 +180,17 @@ define signext i32 @equalityFoldTwoConstants() {
define signext i32 @equalityFoldOneConstant(i8* %X) {
; CHECK-LABEL: equalityFoldOneConstant:
; CHECK: # BB#0: # %loadbb
-; CHECK-NEXT: addis 4, 2, .LzeroEqualityTest04.buffer1@toc@ha
+; CHECK-NEXT: li 4, 1
; CHECK-NEXT: ld 5, 0(3)
-; CHECK-NEXT: ld 4, .LzeroEqualityTest04.buffer1@toc@l(4)
-; CHECK-NEXT: cmpld 4, 5
+; CHECK-NEXT: sldi 4, 4, 32
+; CHECK-NEXT: cmpld 5, 4
; CHECK-NEXT: bne 0, .LBB6_2
; CHECK-NEXT: # BB#1: # %loadbb1
-; CHECK-NEXT: addis 4, 2, .LzeroEqualityTest04.buffer1@toc@ha+8
+; CHECK-NEXT: li 4, 3
; CHECK-NEXT: ld 3, 8(3)
-; CHECK-NEXT: ld 4, .LzeroEqualityTest04.buffer1@toc@l+8(4)
-; CHECK-NEXT: cmpld 4, 3
+; CHECK-NEXT: sldi 4, 4, 32
+; CHECK-NEXT: ori 4, 4, 2
+; CHECK-NEXT: cmpld 3, 4
; CHECK-NEXT: li 3, 0
; CHECK-NEXT: beq 0, .LBB6_3
; CHECK-NEXT: .LBB6_2: # %res_block
diff --git a/test/CodeGen/PowerPC/memcpy_dereferenceable.ll b/test/CodeGen/PowerPC/memcpy_dereferenceable.ll
new file mode 100644
index 000000000000..ed821849f09c
--- /dev/null
+++ b/test/CodeGen/PowerPC/memcpy_dereferenceable.ll
@@ -0,0 +1,74 @@
+; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s
+
+; This code causes an assertion failure if dereferenceable flag is not properly set in the load generated for memcpy
+
+; CHECK-LABEL: @func
+; CHECK: lxvd2x [[VREG:[0-9]+]], {{[0-9]+}}, {{[0-9]+}}
+; CHECK-NOT: lxvd2x
+; CHECK: stxvd2x [[VREG:[0-9]+]], {{[0-9]+}}, {{[0-9]+}}
+; CHECK: stxvd2x [[VREG:[0-9]+]], {{[0-9]+}}, {{[0-9]+}}
+; CHECK: blr
+
+define void @func(i1 %flag) {
+entry:
+ %pairs = alloca [4 x <2 x i64>], align 8
+ %pair1 = getelementptr inbounds [4 x <2 x i64>], [4 x <2 x i64>]* %pairs, i64 0, i64 1
+ %pair2 = getelementptr inbounds [4 x <2 x i64>], [4 x <2 x i64>]* %pairs, i64 0, i64 2
+ %pvec1 = bitcast <2 x i64>* %pair1 to <2 x i64>*
+ %pvec2 = bitcast <2 x i64>* %pair2 to <2 x i64>*
+ %dst = bitcast [4 x <2 x i64>]* %pairs to i8*
+ %src = bitcast <2 x i64>* %pair2 to i8*
+ br i1 %flag, label %end, label %dummy
+
+end:
+ ; copy third element into first element by memcpy
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull %dst, i8* %src, i64 16, i32 8, i1 false)
+ ; copy third element into second element by LD/ST
+ %vec2 = load <2 x i64>, <2 x i64>* %pvec2, align 8
+ store <2 x i64> %vec2, <2 x i64>* %pvec1, align 8
+ ret void
+
+dummy:
+ ; to make use of %src in another BB
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* %src, i8* %src, i64 0, i32 0, i1 false)
+ br label %end
+}
+
+
+; CHECK-LABEL: @func2
+; CHECK: lxvd2x [[VREG:[0-9]+]], {{[0-9]+}}, {{[0-9]+}}
+; CHECK-NOT: lxvd2x
+; CHECK: stxvd2x [[VREG:[0-9]+]], {{[0-9]+}}, {{[0-9]+}}
+; CHECK: stxvd2x [[VREG:[0-9]+]], {{[0-9]+}}, {{[0-9]+}}
+; CHECK: blr
+
+define void @func2(i1 %flag) {
+entry:
+ %pairs = alloca [4 x <2 x i64>], align 8
+ %pair1 = getelementptr inbounds [4 x <2 x i64>], [4 x <2 x i64>]* %pairs, i64 0, i64 1
+ %pair2 = getelementptr inbounds [4 x <2 x i64>], [4 x <2 x i64>]* %pairs, i64 0, i64 2
+ %pvec1 = bitcast <2 x i64>* %pair1 to <2 x i64>*
+ %pvec2 = bitcast <2 x i64>* %pair2 to <2 x i64>*
+ %dst = bitcast [4 x <2 x i64>]* %pairs to i8*
+ %src = bitcast <2 x i64>* %pair2 to i8*
+ br i1 %flag, label %end, label %dummy
+
+end:
+ ; copy third element into first element by memcpy
+ call void @llvm.memmove.p0i8.p0i8.i64(i8* nonnull %dst, i8* %src, i64 16, i32 8, i1 false)
+ ; copy third element into second element by LD/ST
+ %vec2 = load <2 x i64>, <2 x i64>* %pvec2, align 8
+ store <2 x i64> %vec2, <2 x i64>* %pvec1, align 8
+ ret void
+
+dummy:
+ ; to make use of %src in another BB
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* %src, i8* %src, i64 0, i32 0, i1 false)
+ br label %end
+}
+
+; Function Attrs: argmemonly nounwind
+declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #1
+declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #1
+
+attributes #1 = { argmemonly nounwind }
diff --git a/test/CodeGen/PowerPC/scavenging.mir b/test/CodeGen/PowerPC/scavenging.mir
index 8b5c26230bc6..a72aaa443a0b 100644
--- a/test/CodeGen/PowerPC/scavenging.mir
+++ b/test/CodeGen/PowerPC/scavenging.mir
@@ -6,7 +6,7 @@ tracksRegLiveness: true
body: |
bb.0:
; CHECK: [[REG0:%r[0-9]+]] = LI 42
- ; CHECK-NEXT: NOP implicit [[REG0]]
+ ; CHECK-NEXT: NOP implicit killed [[REG0]]
%0 : gprc = LI 42
NOP implicit %0
@@ -14,7 +14,7 @@ body: |
; CHECK-NEXT: NOP
; CHECK-NEXT: NOP implicit [[REG1]]
; CHECK-NEXT: NOP
- ; CHECK-NEXT: NOP implicit [[REG1]]
+ ; CHECK-NEXT: NOP implicit killed [[REG1]]
%1 : gprc = LI 42
NOP
NOP implicit %1
@@ -48,8 +48,8 @@ body: |
; CHECK-NOT: %x30 = LI 42
; CHECK: [[REG3:%r[0-9]+]] = LI 42
; CHECK-NEXT: %x5 = IMPLICIT_DEF
- ; CHECK-NEXT: NOP implicit [[REG2]]
- ; CHECK-NEXT: NOP implicit [[REG3]]
+ ; CHECK-NEXT: NOP implicit killed [[REG2]]
+ ; CHECK-NEXT: NOP implicit killed [[REG3]]
%3 : gprc = LI 42
%x5 = IMPLICIT_DEF
NOP implicit %2
@@ -110,7 +110,7 @@ body: |
; CHECK: STD killed [[SPILLEDREG:%x[0-9]+]]
; CHECK: [[SPILLEDREG]] = LI8 42
- ; CHECK: NOP implicit [[SPILLEDREG]]
+ ; CHECK: NOP implicit killed [[SPILLEDREG]]
; CHECK: [[SPILLEDREG]] = LD
%0 : g8rc = LI8 42
NOP implicit %0
@@ -147,3 +147,60 @@ body: |
NOP implicit %x29
NOP implicit %x30
...
+---
+# Check for bug where we would refuse to spill before the first instruction in a
+# block.
+# CHECK-LABEL: name: spill_at_begin
+# CHECK: bb.0:
+# CHECK: liveins:
+# CHECK: STD killed [[REG:%x[0-9]+]]{{.*}}(store 8 into %stack.{{[0-9]+}})
+# CHECK: [[REG]] = LIS8 0
+# CHECK: [[REG]] = ORI8 killed [[REG]], 48
+# CHECK: NOP implicit killed [[REG]]
+# CHEKC: [[REG]] = LD{{.*}}(load 8 from %stack.{{[0-9]+}})
+name: spill_at_begin
+tracksRegLiveness: true
+stack:
+ # variable-sized object should be a reason to reserve an emergency spillslot
+ # in the RegScavenger
+ - { id: 0, type: variable-sized, offset: -32, alignment: 1 }
+body: |
+ bb.0:
+ liveins: %x0, %x1, %x2, %x3, %x4, %x5, %x6, %x7, %x8, %x9, %x10, %x11, %x12, %x13, %x14, %x15, %x16, %x17, %x18, %x19, %x20, %x21, %x22, %x23, %x24, %x25, %x26, %x27, %x28, %x29, %x30, %x31
+ %0 : g8rc = LIS8 0
+ %1 : g8rc = ORI8 %0, 48
+ NOP implicit %1
+
+ NOP implicit %x0
+ NOP implicit %x1
+ NOP implicit %x2
+ NOP implicit %x3
+ NOP implicit %x4
+ NOP implicit %x5
+ NOP implicit %x6
+ NOP implicit %x7
+ NOP implicit %x8
+ NOP implicit %x9
+ NOP implicit %x10
+ NOP implicit %x11
+ NOP implicit %x12
+ NOP implicit %x13
+ NOP implicit %x14
+ NOP implicit %x15
+ NOP implicit %x16
+ NOP implicit %x17
+ NOP implicit %x18
+ NOP implicit %x19
+ NOP implicit %x20
+ NOP implicit %x21
+ NOP implicit %x22
+ NOP implicit %x23
+ NOP implicit %x24
+ NOP implicit %x25
+ NOP implicit %x26
+ NOP implicit %x27
+ NOP implicit %x28
+ NOP implicit %x29
+ NOP implicit %x30
+ NOP implicit %x31
+...
diff --git a/test/CodeGen/PowerPC/vsx-spill.ll b/test/CodeGen/PowerPC/vsx-spill.ll
index 4dec0daecd9b..93ad98556267 100644
--- a/test/CodeGen/PowerPC/vsx-spill.ll
+++ b/test/CodeGen/PowerPC/vsx-spill.ll
@@ -23,9 +23,9 @@ entry:
; CHECK-REG: blr
; CHECK-FISL: @foo1
-; CHECK-FISL: lis 0, -1
-; CHECK-FISL: ori 0, 0, 65384
-; CHECK-FISL: stxsdx 1, 1, 0
+; CHECK-FISL: lis 3, -1
+; CHECK-FISL: ori 3, 3, 65384
+; CHECK-FISL: stxsdx 1, 1, 3
; CHECK-FISL: blr
; CHECK-P9-REG: @foo1
@@ -54,8 +54,8 @@ entry:
; CHECK-FISL: @foo2
; CHECK-FISL: xsadddp [[R1:[0-9]+]], 1, 1
-; CHECK-FISL: stxsdx [[R1]], [[R1]], 0
-; CHECK-FISL: lxsdx [[R1]], [[R1]], 0
+; CHECK-FISL: stxsdx [[R1]], [[R1]], 3
+; CHECK-FISL: lxsdx [[R1]], [[R1]], 3
; CHECK-FISL: blr
; CHECK-P9-REG: @foo2
diff --git a/test/CodeGen/PowerPC/vsx.ll b/test/CodeGen/PowerPC/vsx.ll
index cfea3e5696de..26b59926c7f1 100644
--- a/test/CodeGen/PowerPC/vsx.ll
+++ b/test/CodeGen/PowerPC/vsx.ll
@@ -235,9 +235,9 @@ entry:
; CHECK-FISL-LABEL: @test14
; CHECK-FISL: xxlor 0, 34, 35
; CHECK-FISL: xxlnor 34, 34, 35
-; CHECK-FISL: lis 0, -1
-; CHECK-FISL: ori 0, 0, 65520
-; CHECK-FISL: stxvd2x 0, 1, 0
+; CHECK-FISL: lis 3, -1
+; CHECK-FISL: ori 3, 3, 65520
+; CHECK-FISL: stxvd2x 0, 1, 3
; CHECK-FISL: blr
; CHECK-LE-LABEL: @test14
@@ -260,9 +260,9 @@ entry:
; CHECK-FISL: xxlor 36, 0, 0
; CHECK-FISL: xxlnor 0, 34, 35
; CHECK-FISL: xxlor 34, 0, 0
-; CHECK-FISL: lis 0, -1
-; CHECK-FISL: ori 0, 0, 65520
-; CHECK-FISL: stxvd2x 36, 1, 0
+; CHECK-FISL: lis 3, -1
+; CHECK-FISL: ori 3, 3, 65520
+; CHECK-FISL: stxvd2x 36, 1, 3
; CHECK-FISL: blr
; CHECK-LE-LABEL: @test15
@@ -285,9 +285,9 @@ entry:
; CHECK-FISL: xxlor 36, 0, 0
; CHECK-FISL: xxlnor 0, 34, 35
; CHECK-FISL: xxlor 34, 0, 0
-; CHECK-FISL: lis 0, -1
-; CHECK-FISL: ori 0, 0, 65520
-; CHECK-FISL: stxvd2x 36, 1, 0
+; CHECK-FISL: lis 3, -1
+; CHECK-FISL: ori 3, 3, 65520
+; CHECK-FISL: stxvd2x 36, 1, 3
; CHECK-FISL: blr
; CHECK-LE-LABEL: @test16
@@ -330,9 +330,9 @@ entry:
; CHECK-FISL: xxlor 36, 0, 0
; CHECK-FISL: xxlandc 0, 34, 35
; CHECK-FISL: xxlor 34, 0, 0
-; CHECK-FISL: lis 0, -1
-; CHECK-FISL: ori 0, 0, 65520
-; CHECK-FISL: stxvd2x 36, 1, 0
+; CHECK-FISL: lis 3, -1
+; CHECK-FISL: ori 3, 3, 65520
+; CHECK-FISL: stxvd2x 36, 1, 3
; CHECK-FISL: blr
; CHECK-LE-LABEL: @test18
@@ -355,9 +355,9 @@ entry:
; CHECK-FISL: xxlor 36, 0, 0
; CHECK-FISL: xxlandc 0, 34, 35
; CHECK-FISL: xxlor 34, 0, 0
-; CHECK-FISL: lis 0, -1
-; CHECK-FISL: ori 0, 0, 65520
-; CHECK-FISL: stxvd2x 36, 1, 0
+; CHECK-FISL: lis 3, -1
+; CHECK-FISL: ori 3, 3, 65520
+; CHECK-FISL: stxvd2x 36, 1, 3
; CHECK-FISL: blr
; CHECK-LE-LABEL: @test19
diff --git a/test/CodeGen/SPARC/constructor.ll b/test/CodeGen/SPARC/constructor.ll
new file mode 100644
index 000000000000..0d2374d7e7d3
--- /dev/null
+++ b/test/CodeGen/SPARC/constructor.ll
@@ -0,0 +1,29 @@
+; RUN: llc -mtriple sparc-sun-solaris2.11 -use-ctors < %s | FileCheck --check-prefix=CTOR %s
+; RUN: llc -mtriple sparc-sun-solaris2.11 < %s | FileCheck --check-prefix=INIT-ARRAY %s
+@llvm.global_ctors = appending global [2 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @f, i8* null}, { i32, void ()*, i8* } { i32 15, void ()* @g, i8* @v }]
+
+@v = weak_odr global i8 0
+
+define void @f() {
+entry:
+ ret void
+}
+
+define void @g() {
+entry:
+ ret void
+}
+
+; CTOR: .section .ctors.65520,#alloc,#write
+; CTOR-NEXT: .p2align 2
+; CTOR-NEXT: .word g
+; CTOR-NEXT: .section .ctors,#alloc,#write
+; CTOR-NEXT: .p2align 2
+; CTOR-NEXT: .word f
+
+; INIT-ARRAY: .section .init_array.15,#alloc,#write
+; INIT-ARRAY-NEXT: .p2align 2
+; INIT-ARRAY-NEXT: .word g
+; INIT-ARRAY-NEXT: .section .init_array,#alloc,#write
+; INIT-ARRAY-NEXT: .p2align 2
+; INIT-ARRAY-NEXT: .word f
diff --git a/test/CodeGen/SystemZ/frame-21.ll b/test/CodeGen/SystemZ/frame-21.ll
new file mode 100644
index 000000000000..360740028a9f
--- /dev/null
+++ b/test/CodeGen/SystemZ/frame-21.ll
@@ -0,0 +1,76 @@
+; Test the allocation of emergency spill slots.
+;
+; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
+
+; For frames of size less than 4096 - 2*160, no emercengy spill slot
+; is required. Check the maximum such case.
+define void @f1(i64 %x) {
+; CHECK-LABEL: f1:
+; CHECK: stg %r2, 160(%r15)
+; CHECK: br %r14
+ %y = alloca [471 x i64], align 8
+ %ptr = getelementptr inbounds [471 x i64], [471 x i64]* %y, i64 0, i64 0
+ store volatile i64 %x, i64* %ptr
+ ret void
+}
+
+; If the frame size is at least 4096 - 2*160, we do need the emergency
+; spill slots. Check the minimum such case.
+define void @f2(i64 %x) {
+; CHECK-LABEL: f2:
+; CHECK: stg %r2, 176(%r15)
+; CHECK: br %r14
+ %y = alloca [472 x i64], align 8
+ %ptr = getelementptr inbounds [472 x i64], [472 x i64]* %y, i64 0, i64 0
+ store volatile i64 %x, i64* %ptr
+ ret void
+}
+
+; However, if there are incoming stack arguments, those also need to be
+; in reach, so the maximum frame size without emergency spill slots is
+; 4096 - 2*160 - <size of incoming stack arguments>. Check the maximum
+; case where we still need no emergency spill slots ...
+define void @f3(i64 %x, i64 %r3, i64 %r4, i64 %r5, i64 %r6, i64 %stack) {
+; CHECK-LABEL: f3:
+; CHECK: stg %r2, 160(%r15)
+; CHECK: br %r14
+ %y = alloca [470 x i64], align 8
+ %ptr = getelementptr inbounds [470 x i64], [470 x i64]* %y, i64 0, i64 0
+ store volatile i64 %x, i64* %ptr
+ ret void
+}
+
+; ... and the minimum case where we do.
+define void @f4(i64 %x, i64 %r3, i64 %r4, i64 %r5, i64 %r6, i64 %stack) {
+; CHECK-LABEL: f4:
+; CHECK: stg %r2, 176(%r15)
+; CHECK: br %r14
+ %y = alloca [471 x i64], align 8
+ %ptr = getelementptr inbounds [471 x i64], [471 x i64]* %y, i64 0, i64 0
+ store volatile i64 %x, i64* %ptr
+ ret void
+}
+
+; Try again for the case of two stack arguments.
+; Check the maximum case where we still need no emergency spill slots ...
+define void @f5(i64 %x, i64 %r3, i64 %r4, i64 %r5, i64 %r6, i64 %stack1, i64 %stack2) {
+; CHECK-LABEL: f5:
+; CHECK: stg %r2, 160(%r15)
+; CHECK: br %r14
+ %y = alloca [469 x i64], align 8
+ %ptr = getelementptr inbounds [469 x i64], [469 x i64]* %y, i64 0, i64 0
+ store volatile i64 %x, i64* %ptr
+ ret void
+}
+
+; ... and the minimum case where we do.
+define void @f6(i64 %x, i64 %r3, i64 %r4, i64 %r5, i64 %r6, i64 %stack1, i64 %stack2) {
+; CHECK-LABEL: f6:
+; CHECK: stg %r2, 176(%r15)
+; CHECK: br %r14
+ %y = alloca [470 x i64], align 8
+ %ptr = getelementptr inbounds [470 x i64], [470 x i64]* %y, i64 0, i64 0
+ store volatile i64 %x, i64* %ptr
+ ret void
+}
+
diff --git a/test/CodeGen/SystemZ/int-cmp-54.ll b/test/CodeGen/SystemZ/int-cmp-54.ll
new file mode 100644
index 000000000000..6e157959a19c
--- /dev/null
+++ b/test/CodeGen/SystemZ/int-cmp-54.ll
@@ -0,0 +1,20 @@
+; Check that custom handling of SETCC does not crash
+;
+; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13
+
+@g_39 = external global [4 x i8], align 2
+@g_2166 = external global <{ i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32 }>, align 8
+
+; Function Attrs: nounwind
+define void @main() local_unnamed_addr #0 {
+ %1 = load volatile i88, i88* bitcast (<{ i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32 }>* @g_2166 to i88*), align 8
+ %2 = lshr i88 %1, 87
+ %3 = trunc i88 %2 to i64
+ %4 = icmp sgt i64 %3, 9293
+ %5 = zext i1 %4 to i32
+ %6 = lshr i32 %5, 0
+ %7 = shl i32 %6, 6
+ %8 = trunc i32 %7 to i8
+ store i8 %8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @g_39, i64 0, i64 1), align 1
+ unreachable
+}
diff --git a/test/CodeGen/SystemZ/serialize-01.ll b/test/CodeGen/SystemZ/serialize-01.ll
deleted file mode 100644
index 4a245172465f..000000000000
--- a/test/CodeGen/SystemZ/serialize-01.ll
+++ /dev/null
@@ -1,21 +0,0 @@
-; Test serialization instructions.
-;
-; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 | \
-; RUN: FileCheck %s -check-prefix=CHECK-FULL
-; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z196 | \
-; RUN: FileCheck %s -check-prefix=CHECK-FAST
-
-; Check that volatile loads produce a serialisation.
-define i32 @f1(i32 *%src) {
-; CHECK-FULL-LABEL: f1:
-; CHECK-FULL: bcr 15, %r0
-; CHECK-FULL: l %r2, 0(%r2)
-; CHECK-FULL: br %r14
-;
-; CHECK-FAST-LABEL: f1:
-; CHECK-FAST: bcr 14, %r0
-; CHECK-FAST: l %r2, 0(%r2)
-; CHECK-FAST: br %r14
- %val = load volatile i32 , i32 *%src
- ret i32 %val
-}
diff --git a/test/CodeGen/SystemZ/trap-02.ll b/test/CodeGen/SystemZ/trap-02.ll
index 5fdb87c292d7..fed419f373ec 100644
--- a/test/CodeGen/SystemZ/trap-02.ll
+++ b/test/CodeGen/SystemZ/trap-02.ll
@@ -47,9 +47,9 @@ if.end: ; preds = %entry
define i32 @f3(i32 zeroext %a, i32 *%base, i64 %offset) {
; CHECK-LABEL: f3:
; CHECK: cl %r2, 0(%r{{[0-5]}},%r3)
+; CHECK: lhi %r2, 0
; CHECK-LABEL: .Ltmp0
; CHECK: jh .Ltmp0+2
-; CHECK: lhi %r2, 0
; CHECK: br %r14
entry:
%ptr = getelementptr i32, i32 *%base, i64 %offset
@@ -70,9 +70,9 @@ if.end: ; preds = %entry
define i64 @f4(i64 %a, i64 *%base, i64 %offset) {
; CHECK-LABEL: f4:
; CHECK: clg %r2, 0(%r{{[0-5]}},%r3)
+; CHECK: lghi %r2, 0
; CHECK-LABEL: .Ltmp1
; CHECK: jh .Ltmp1+2
-; CHECK: lghi %r2, 0
; CHECK: br %r14
entry:
%ptr = getelementptr i64, i64 *%base, i64 %offset
diff --git a/test/CodeGen/Thumb/large-stack.ll b/test/CodeGen/Thumb/large-stack.ll
index 938dadce23dd..b0152ddc4d32 100644
--- a/test/CodeGen/Thumb/large-stack.ll
+++ b/test/CodeGen/Thumb/large-stack.ll
@@ -69,10 +69,10 @@ define i32 @test3() {
; CHECK-LABEL: test3:
; CHECK: ldr [[TEMP:r[0-7]]],
; CHECK: add sp, [[TEMP]]
-; CHECK: ldr [[TEMP]],
-; CHECK: add [[TEMP]], sp
-; CHECK: ldr [[TEMP:r[0-7]]],
-; CHECK: add sp, [[TEMP]]
+; CHECK: ldr [[TEMP2:r[0-7]]],
+; CHECK: add [[TEMP2]], sp
+; CHECK: ldr [[TEMP3:r[0-7]]],
+; CHECK: add sp, [[TEMP3]]
%retval = alloca i32, align 4
%tmp = alloca i32, align 4
%a = alloca [805306369 x i8], align 16
@@ -85,8 +85,8 @@ define i32 @test3_nofpelim() "no-frame-pointer-elim"="true" {
; CHECK-LABEL: test3_nofpelim:
; CHECK: ldr [[TEMP:r[0-7]]],
; CHECK: add sp, [[TEMP]]
-; CHECK: ldr [[TEMP]],
-; CHECK: add [[TEMP]], sp
+; CHECK: ldr [[TEMP2:r[0-7]]],
+; CHECK: add [[TEMP2]], sp
; CHECK: subs r4, r7,
; CHECK: mov sp, r4
%retval = alloca i32, align 4
diff --git a/test/CodeGen/Thumb2/ifcvt-neon-deprecated.mir b/test/CodeGen/Thumb2/ifcvt-neon-deprecated.mir
new file mode 100644
index 000000000000..a44604372e60
--- /dev/null
+++ b/test/CodeGen/Thumb2/ifcvt-neon-deprecated.mir
@@ -0,0 +1,54 @@
+# RUN: llc -mtriple=thumbv7 -start-before=if-converter -o - %s | FileCheck %s
+---
+name: NeonVdupMul
+body: |
+ bb.0:
+ successors: %bb.2, %bb.1
+ liveins: %d0, %r0, %r1
+
+ t2CMPri killed %r1, 0, 14, _, implicit-def %cpsr
+ t2Bcc %bb.2, 0, killed %cpsr
+
+ bb.1:
+ liveins: %d0, %r0
+
+ %d16 = VDUP32d killed %r0, 14, _
+ ; Verify that the neon instructions haven't been conditionalized:
+ ; CHECK-LABEL: NeonVdupMul
+ ; CHECK: vdup.32
+ ; CHECK: vmul.i32
+ %d0 = VMULv2i32 killed %d16, killed %d0, 14, _
+
+ bb.2:
+ liveins: %d0
+
+ tBX_RET 14, _, implicit %d0
+
+...
+---
+name: NeonVmovVfpLdr
+body: |
+ bb.0.entry:
+ successors: %bb.1, %bb.2
+ liveins: %r0, %r1
+
+ t2CMPri killed %r1, 0, 14, _, implicit-def %cpsr
+ t2Bcc %bb.2, 1, killed %cpsr
+
+ bb.1:
+ %d0 = VMOVv2i32 0, 14, _
+ tBX_RET 14, _, implicit %d0
+
+ bb.2:
+ liveins: %r0
+
+ %d0 = VLDRD killed %r0, 0, 14, _
+ ; Verify that the neon instruction VMOVv2i32 hasn't been conditionalized,
+ ; but the VLDR instruction that is available both in the VFP and Advanced
+ ; SIMD extensions has.
+ ; CHECK-LABEL: NeonVmovVfpLdr
+ ; CHECK-DAG: vmov.i32 d0, #0x0
+ ; CHECK-DAG: vldr{{ne|eq}} d0, [r0]
+ tBX_RET 14, _, implicit %d0
+
+...
diff --git a/test/CodeGen/Thumb2/ifcvt-neon.ll b/test/CodeGen/Thumb2/ifcvt-neon.ll
deleted file mode 100644
index 83c0b601aba9..000000000000
--- a/test/CodeGen/Thumb2/ifcvt-neon.ll
+++ /dev/null
@@ -1,29 +0,0 @@
-; RUN: llc -mtriple=thumb-eabi -mcpu=cortex-a8 %s -o - | FileCheck %s
-; rdar://7368193
-
-@a = common global float 0.000000e+00 ; <float*> [#uses=2]
-@b = common global float 0.000000e+00 ; <float*> [#uses=1]
-
-define float @t(i32 %c) nounwind {
-entry:
- %0 = icmp sgt i32 %c, 1 ; <i1> [#uses=1]
- %1 = load float, float* @a, align 4 ; <float> [#uses=2]
- %2 = load float, float* @b, align 4 ; <float> [#uses=2]
- br i1 %0, label %bb, label %bb1
-
-bb: ; preds = %entry
-; CHECK: vsub.f32
-; CHECK-NEXT: vadd.f32
-; CHECK: it gt
- %3 = fadd float %1, %2 ; <float> [#uses=1]
- br label %bb2
-
-bb1: ; preds = %entry
- %4 = fsub float %1, %2 ; <float> [#uses=1]
- br label %bb2
-
-bb2: ; preds = %bb1, %bb
- %storemerge = phi float [ %4, %bb1 ], [ %3, %bb ] ; <float> [#uses=2]
- store float %storemerge, float* @a
- ret float %storemerge
-}
diff --git a/test/CodeGen/WebAssembly/byval.ll b/test/CodeGen/WebAssembly/byval.ll
index 907320d7977c..84c5ad02101c 100644
--- a/test/CodeGen/WebAssembly/byval.ll
+++ b/test/CodeGen/WebAssembly/byval.ll
@@ -24,12 +24,12 @@ declare void @ext_byval_func_empty(%EmptyStruct* byval)
define void @byval_arg(%SmallStruct* %ptr) {
; CHECK: .param i32
; Subtract 16 from SP (SP is 16-byte aligned)
- ; CHECK-NEXT: get_global $push[[L2:.+]]=, 0
+ ; CHECK-NEXT: get_global $push[[L2:.+]]=, __stack_pointer
; CHECK-NEXT: i32.const $push[[L3:.+]]=, 16
; CHECK-NEXT: i32.sub $push[[L11:.+]]=, $pop[[L2]], $pop[[L3]]
; Ensure SP is stored back before the call
; CHECK-NEXT: tee_local $push[[L10:.+]]=, $[[SP:.+]]=, $pop[[L11]]{{$}}
- ; CHECK-NEXT: set_global 0, $pop[[L10]]{{$}}
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L10]]{{$}}
; Copy the SmallStruct argument to the stack (SP+12, original SP-4)
; CHECK-NEXT: i32.load $push[[L0:.+]]=, 0($0)
; CHECK-NEXT: i32.store 12($[[SP]]), $pop[[L0]]
@@ -41,7 +41,7 @@ define void @byval_arg(%SmallStruct* %ptr) {
; Restore the stack
; CHECK-NEXT: i32.const $push[[L6:.+]]=, 16
; CHECK-NEXT: i32.add $push[[L8:.+]]=, $[[SP]], $pop[[L6]]
- ; CHECK-NEXT: set_global 0, $pop[[L8]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L8]]
; CHECK-NEXT: return
ret void
}
@@ -53,7 +53,7 @@ define void @byval_arg_align8(%SmallStruct* %ptr) {
; CHECK: i32.const $push[[L1:.+]]=, 16
; CHECK-NEXT: i32.sub $push[[L11:.+]]=, {{.+}}, $pop[[L1]]
; CHECK-NEXT: tee_local $push[[L10:.+]]=, $[[SP:.+]]=, $pop[[L11]]{{$}}
- ; CHECK-NEXT: set_global 0, $pop[[L10]]{{$}}
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L10]]{{$}}
; Copy the SmallStruct argument to the stack (SP+8, original SP-8)
; CHECK-NEXT: i32.load $push[[L0:.+]]=, 0($0){{$}}
; CHECK-NEXT: i32.store 8($[[SP]]), $pop[[L0]]{{$}}
@@ -72,7 +72,7 @@ define void @byval_arg_double(%AlignedStruct* %ptr) {
; CHECK: i32.const $push[[L1:.+]]=, 16
; CHECK-NEXT: i32.sub $push[[L14:.+]]=, {{.+}}, $pop[[L1]]
; CHECK-NEXT: tee_local $push[[L13:.+]]=, $[[SP:.+]]=, $pop[[L14]]
- ; CHECK-NEXT: set_global 0, $pop[[L13]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L13]]
; Copy the AlignedStruct argument to the stack (SP+0, original SP-16)
; Just check the last load/store pair of the memcpy
; CHECK: i64.load $push[[L4:.+]]=, 0($0)
@@ -110,11 +110,11 @@ define void @byval_empty_callee(%EmptyStruct* byval %ptr) {
; Call memcpy for "big" byvals.
; CHECK-LABEL: big_byval:
-; CHECK: get_global $push[[L2:.+]]=, 0{{$}}
+; CHECK: get_global $push[[L2:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: i32.const $push[[L3:.+]]=, 131072
; CHECK-NEXT: i32.sub $push[[L11:.+]]=, $pop[[L2]], $pop[[L3]]
; CHECK-NEXT: tee_local $push[[L10:.+]]=, $[[SP:.+]]=, $pop[[L11]]{{$}}
-; CHECK-NEXT: set_global 0, $pop[[L10]]{{$}}
+; CHECK-NEXT: set_global __stack_pointer, $pop[[L10]]{{$}}
; CHECK-NEXT: i32.const $push[[L0:.+]]=, 131072
; CHECK-NEXT: i32.call $push[[L11:.+]]=, memcpy@FUNCTION, $[[SP]], ${{.+}}, $pop{{.+}}
; CHECK-NEXT: tee_local $push[[L9:.+]]=, $[[SP:.+]]=, $pop[[L11]]{{$}}
diff --git a/test/CodeGen/WebAssembly/offset-fastisel.ll b/test/CodeGen/WebAssembly/offset-fastisel.ll
new file mode 100644
index 000000000000..af4ca6f9c993
--- /dev/null
+++ b/test/CodeGen/WebAssembly/offset-fastisel.ll
@@ -0,0 +1,100 @@
+; RUN: llc < %s -asm-verbose=false -disable-wasm-explicit-locals -fast-isel -fast-isel-abort=1 | FileCheck %s
+
+; TODO: Merge this with offset.ll when fast-isel matches better.
+
+target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
+target triple = "wasm32-unknown-unknown-elf"
+
+; CHECK-LABEL: store_i8_with_variable_gep_offset:
+; CHECK: i32.add $push[[L0:[0-9]+]]=, $0, $1{{$}}
+; CHECK: i32.const $push[[L1:[0-9]+]]=, 0{{$}}
+; CHECK: i32.store8 0($pop[[L0]]), $pop[[L1]]{{$}}
+define void @store_i8_with_variable_gep_offset(i8* %p, i32 %idx) {
+ %s = getelementptr inbounds i8, i8* %p, i32 %idx
+ store i8 0, i8* %s
+ ret void
+}
+
+; CHECK-LABEL: store_i8_with_array_alloca_gep:
+; CHECK: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; CHECK: i32.load $push[[L1:[0-9]+]]=, __stack_pointer($pop[[L0]]){{$}}
+; CHECK: i32.const $push[[L2:[0-9]+]]=, 32{{$}}
+; CHECK: i32.sub $push{{[0-9]+}}=, $pop[[L1]], $pop[[L2]]{{$}}
+; CHECK: i32.add $push[[L4:[0-9]+]]=, $pop{{[0-9]+}}, $0{{$}}
+; CHECK: i32.const $push[[L5:[0-9]+]]=, 0{{$}}
+; CHECK: i32.store8 0($pop[[L4]]), $pop[[L5]]{{$}}
+define hidden void @store_i8_with_array_alloca_gep(i32 %idx) {
+ %A = alloca [30 x i8], align 16
+ %s = getelementptr inbounds [30 x i8], [30 x i8]* %A, i32 0, i32 %idx
+ store i8 0, i8* %s, align 1
+ ret void
+}
+
+; CHECK-LABEL: store_i32_with_unfolded_gep_offset:
+; CHECK: i32.const $push[[L0:[0-9]+]]=, 24{{$}}
+; CHECK: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; CHECK: i32.const $push[[L2:[0-9]+]]=, 0{{$}}
+; CHECK: i32.store 0($pop[[L1]]), $pop[[L2]]{{$}}
+define void @store_i32_with_unfolded_gep_offset(i32* %p) {
+ %s = getelementptr i32, i32* %p, i32 6
+ store i32 0, i32* %s
+ ret void
+}
+
+; CHECK-LABEL: store_i32_with_folded_gep_offset:
+; CHECK: i32.store 24($0), $pop{{[0-9]+$}}
+define void @store_i32_with_folded_gep_offset(i32* %p) {
+ %s = getelementptr inbounds i32, i32* %p, i32 6
+ store i32 0, i32* %s
+ ret void
+}
+
+; CHECK-LABEL: load_i32_with_folded_gep_offset:
+; CHECK: i32.load $push{{[0-9]+}}=, 24($0){{$}}
+define i32 @load_i32_with_folded_gep_offset(i32* %p) {
+ %s = getelementptr inbounds i32, i32* %p, i32 6
+ %t = load i32, i32* %s
+ ret i32 %t
+}
+
+; CHECK-LABEL: store_i64_with_unfolded_gep_offset:
+; CHECK: i32.const $push[[L0:[0-9]+]]=, 24{{$}}
+; CHECK: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; CHECK: i64.const $push[[L2:[0-9]+]]=, 0{{$}}
+; CHECK: i64.store 0($pop[[L1]]), $pop[[L2]]{{$}}
+define void @store_i64_with_unfolded_gep_offset(i64* %p) {
+ %s = getelementptr i64, i64* %p, i32 3
+ store i64 0, i64* %s
+ ret void
+}
+
+; CHECK-LABEL: store_i8_with_folded_gep_offset:
+; CHECK: i32.store8 24($0), $pop{{[0-9]+$}}
+define void @store_i8_with_folded_gep_offset(i8* %p) {
+ %s = getelementptr inbounds i8, i8* %p, i32 24
+ store i8 0, i8* %s
+ ret void
+}
+
+; CHECK-LABEL: load_i8_u_with_folded_offset:
+; CHECK: i32.load8_u $push{{[0-9]+}}=, 24($0){{$}}
+define i32 @load_i8_u_with_folded_offset(i8* %p) {
+ %q = ptrtoint i8* %p to i32
+ %r = add nuw i32 %q, 24
+ %s = inttoptr i32 %r to i8*
+ %t = load i8, i8* %s
+ %u = zext i8 %t to i32
+ ret i32 %u
+}
+
+; TODO: this should be load8_s, need to fold sign-/zero-extend in fast-isel
+; CHECK-LABEL: load_i8_s_with_folded_offset:
+; CHECK: i32.load8_u $push{{[0-9]+}}=, 24($0){{$}}
+define i32 @load_i8_s_with_folded_offset(i8* %p) {
+ %q = ptrtoint i8* %p to i32
+ %r = add nuw i32 %q, 24
+ %s = inttoptr i32 %r to i8*
+ %t = load i8, i8* %s
+ %u = sext i8 %t to i32
+ ret i32 %u
+}
diff --git a/test/CodeGen/WebAssembly/reg-stackify.ll b/test/CodeGen/WebAssembly/reg-stackify.ll
index d1423b5db395..ebda5373c600 100644
--- a/test/CodeGen/WebAssembly/reg-stackify.ll
+++ b/test/CodeGen/WebAssembly/reg-stackify.ll
@@ -448,7 +448,7 @@ bb10: ; preds = %bb9, %bb
; CHECK-LABEL: stackpointer_dependency:
; CHECK: call {{.+}}, stackpointer_callee@FUNCTION,
-; CHECK-NEXT: set_global 0,
+; CHECK-NEXT: set_global __stack_pointer,
declare i32 @stackpointer_callee(i8* readnone, i8* readnone)
declare i8* @llvm.frameaddress(i32)
define i32 @stackpointer_dependency(i8* readnone) {
diff --git a/test/CodeGen/WebAssembly/stack-alignment.ll b/test/CodeGen/WebAssembly/stack-alignment.ll
index 95aa1f9dbf07..25e9d06db411 100644
--- a/test/CodeGen/WebAssembly/stack-alignment.ll
+++ b/test/CodeGen/WebAssembly/stack-alignment.ll
@@ -6,7 +6,7 @@ target triple = "wasm32-unknown-unknown-wasm"
declare void @somefunc(i32*)
; CHECK-LABEL: underalign:
-; CHECK: get_global $push[[L1:.+]]=, 0{{$}}
+; CHECK: get_global $push[[L1:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: i32.const $push[[L2:.+]]=, 16
; CHECK-NEXT: i32.sub $push[[L10:.+]]=, $pop[[L1]], $pop[[L2]]
; CHECK-NEXT: tee_local $push{{.+}}=, [[SP:.+]], $pop[[L10]]
@@ -17,7 +17,7 @@ declare void @somefunc(i32*)
; CHECK: get_local $push[[M4:.+]]=, [[SP]]{{$}}
; CHECK: i32.add $push[[L5:.+]]=, $pop[[M4]], $pop{{.+}}
-; CHECK-NEXT: set_global 0, $pop[[L5]]
+; CHECK-NEXT: set_global __stack_pointer, $pop[[L5]]
define void @underalign() {
entry:
%underaligned = alloca i32, align 8
@@ -26,7 +26,7 @@ entry:
}
; CHECK-LABEL: overalign:
-; CHECK: get_global $push[[L10:.+]]=, 0{{$}}
+; CHECK: get_global $push[[L10:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L9:.+]]=, [[BP:.+]], $pop[[L10]]
; CHECK-NEXT: i32.const $push[[L2:.+]]=, 32
; CHECK-NEXT: i32.sub $push[[L8:.+]]=, $pop[[L9]], $pop[[L2]]
@@ -38,7 +38,7 @@ entry:
; CHECK: call somefunc@FUNCTION, $pop[[M5]]{{$}}
; CHECK: get_local $push[[M6:.+]]=, [[BP]]{{$}}
-; CHECK-NEXT: set_global 0, $pop[[M6]]
+; CHECK-NEXT: set_global __stack_pointer, $pop[[M6]]
define void @overalign() {
entry:
%overaligned = alloca i32, align 32
@@ -47,7 +47,7 @@ entry:
}
; CHECK-LABEL: over_and_normal_align:
-; CHECK: get_global $push[[L14:.+]]=, 0{{$}}
+; CHECK: get_global $push[[L14:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L13:.+]]=, [[BP:.+]], $pop[[L14]]
; CHECK: i32.sub $push[[L12:.+]]=, $pop[[L13]], $pop{{.+}}
; CHECK: i32.and $push[[L11:.+]]=, $pop[[L12]], $pop{{.+}}
@@ -61,7 +61,7 @@ entry:
; CHECK-NEXT: call somefunc@FUNCTION, $pop[[L8]]
; CHECK: get_local $push[[L6:.+]]=, [[BP]]{{$}}
-; CHECK-NEXT: set_global 0, $pop[[L6]]
+; CHECK-NEXT: set_global __stack_pointer, $pop[[L6]]
define void @over_and_normal_align() {
entry:
%over = alloca i32, align 32
@@ -72,7 +72,7 @@ entry:
}
; CHECK-LABEL: dynamic_overalign:
-; CHECK: get_global $push[[L18:.+]]=, 0{{$}}
+; CHECK: get_global $push[[L18:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L17:.+]]=, [[SP:.+]], $pop[[L18]]
; CHECK-NEXT: set_local [[BP:.+]], $pop[[L17]]
; CHECK: tee_local $push{{.+}}=, [[SP_2:.+]], $pop{{.+}}
@@ -81,7 +81,7 @@ entry:
; CHECK: call somefunc@FUNCTION, $pop[[M8]]
; CHECK: get_local $push[[M9:.+]]=, [[BP]]{{$}}
-; CHECK-NEXT: set_global 0, $pop[[M9]]
+; CHECK-NEXT: set_global __stack_pointer, $pop[[M9]]
define void @dynamic_overalign(i32 %num) {
entry:
%dynamic = alloca i32, i32 %num, align 32
@@ -90,7 +90,7 @@ entry:
}
; CHECK-LABEL: overalign_and_dynamic:
-; CHECK: get_global $push[[L21:.+]]=, 0{{$}}
+; CHECK: get_global $push[[L21:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L20:.+]]=, [[BP:.+]], $pop[[L21]]
; CHECK: i32.sub $push[[L19:.+]]=, $pop[[L20]], $pop{{.+}}
; CHECK: i32.and $push[[L18:.+]]=, $pop[[L19]], $pop{{.+}}
@@ -105,7 +105,7 @@ entry:
; CHECK-NEXT: call somefunc@FUNCTION, $pop[[another]]
; CHECK: get_local $push[[M11:.+]]=, [[BP]]{{$}}
-; CHECK-NEXT: set_global 0, $pop[[M11]]
+; CHECK-NEXT: set_global __stack_pointer, $pop[[M11]]
define void @overalign_and_dynamic(i32 %num) {
entry:
%over = alloca i32, align 32
@@ -116,7 +116,7 @@ entry:
}
; CHECK-LABEL: overalign_static_and_dynamic:
-; CHECK: get_global $push[[L26:.+]]=, 0{{$}}
+; CHECK: get_global $push[[L26:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L25:.+]]=, [[BP:.+]], $pop[[L26]]
; CHECK: i32.sub $push[[L24:.+]]=, $pop[[L25]], $pop{{.+}}
; CHECK: i32.and $push[[L23:.+]]=, $pop[[L24]], $pop{{.+}}
@@ -136,7 +136,7 @@ entry:
; CHECK-NEXT: call somefunc@FUNCTION, $pop[[static]]
; CHECK: get_local $push[[M14:.+]]=, [[BP]]{{$}}
-; CHECK-NEXT: set_global 0, $pop[[M14]]
+; CHECK-NEXT: set_global __stack_pointer, $pop[[M14]]
define void @overalign_static_and_dynamic(i32 %num) {
entry:
%over = alloca i32, align 32
diff --git a/test/CodeGen/WebAssembly/userstack.ll b/test/CodeGen/WebAssembly/userstack.ll
index 57ca75705e5e..c160b391f6e8 100644
--- a/test/CodeGen/WebAssembly/userstack.ll
+++ b/test/CodeGen/WebAssembly/userstack.ll
@@ -10,11 +10,11 @@ declare void @ext_func_i32(i32* %ptr)
; Check that there is an extra local for the stack pointer.
; CHECK: .local i32{{$}}
define void @alloca32() noredzone {
- ; CHECK-NEXT: get_global $push[[L2:.+]]=, 0{{$}}
+ ; CHECK-NEXT: get_global $push[[L2:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: i32.const $push[[L3:.+]]=, 16
; CHECK-NEXT: i32.sub $push[[L9:.+]]=, $pop[[L2]], $pop[[L3]]
; CHECK-NEXT: tee_local $push[[L8:.+]]=, [[SP:.+]], $pop[[L9]]{{$}}
- ; CHECK-NEXT: set_global 0, $pop[[L8]]{{$}}
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L8]]{{$}}
%retval = alloca i32
; CHECK: get_local $push[[L4:.+]]=, [[SP]]{{$}}
; CHECK: i32.const $push[[L0:.+]]=, 0
@@ -23,14 +23,14 @@ define void @alloca32() noredzone {
; CHECK: get_local $push[[L6:.+]]=, [[SP]]{{$}}
; CHECK-NEXT: i32.const $push[[L5:.+]]=, 16
; CHECK-NEXT: i32.add $push[[L7:.+]]=, $pop[[L6]], $pop[[L5]]
- ; CHECK-NEXT: set_global 0, $pop[[L7]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L7]]
ret void
}
; CHECK-LABEL: alloca3264:
; CHECK: .local i32{{$}}
define void @alloca3264() {
- ; CHECK: get_global $push[[L3:.+]]=, 0{{$}}
+ ; CHECK: get_global $push[[L3:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: i32.const $push[[L4:.+]]=, 16
; CHECK-NEXT: i32.sub $push[[L6:.+]]=, $pop[[L3]], $pop[[L4]]
; CHECK-NEXT: tee_local $push[[L5:.+]]=, [[SP:.+]], $pop[[L6]]
@@ -50,11 +50,11 @@ define void @alloca3264() {
; CHECK-LABEL: allocarray:
; CHECK: .local i32{{$}}
define void @allocarray() {
- ; CHECK-NEXT: get_global $push[[L4:.+]]=, 0{{$}}
+ ; CHECK-NEXT: get_global $push[[L4:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: i32.const $push[[L5:.+]]=, 144{{$}}
; CHECK-NEXT: i32.sub $push[[L12:.+]]=, $pop[[L4]], $pop[[L5]]
; CHECK-NEXT: tee_local $push[[L11:.+]]=, 0, $pop[[L12]]
- ; CHECK-NEXT: set_global 0, $pop[[L11]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L11]]
%r = alloca [33 x i32]
; CHECK: i32.const $push{{.+}}=, 24
@@ -72,7 +72,7 @@ define void @allocarray() {
; CHECK-NEXT: get_local $push[[L2:.+]]=, [[SP]]{{$}}
; CHECK-NEXT: i32.const $push[[L7:.+]]=, 144
; CHECK-NEXT: i32.add $push[[L8:.+]]=, $pop[[L2]], $pop[[L7]]
- ; CHECK-NEXT: set_global 0, $pop[[L8]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L8]]
ret void
}
@@ -81,7 +81,7 @@ define void @non_mem_use(i8** %addr) {
; CHECK: i32.const $push[[L2:.+]]=, 48
; CHECK-NEXT: i32.sub $push[[L12:.+]]=, {{.+}}, $pop[[L2]]
; CHECK-NEXT: tee_local $push[[L11:.+]]=, [[SP:.+]], $pop[[L12]]
- ; CHECK-NEXT: set_global 0, $pop[[L11]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L11]]
%buf = alloca [27 x i8], align 16
%r = alloca i64
%r2 = alloca i64
@@ -109,11 +109,11 @@ define void @non_mem_use(i8** %addr) {
; CHECK-LABEL: allocarray_inbounds:
; CHECK: .local i32{{$}}
define void @allocarray_inbounds() {
- ; CHECK: get_global $push[[L3:.+]]=, 0{{$}}
+ ; CHECK: get_global $push[[L3:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: i32.const $push[[L4:.+]]=, 32{{$}}
; CHECK-NEXT: i32.sub $push[[L11:.+]]=, $pop[[L3]], $pop[[L4]]
; CHECK-NEXT: tee_local $push[[L10:.+]]=, [[SP:.+]], $pop[[L11]]
- ; CHECK-NEXT: set_global 0, $pop[[L10]]{{$}}
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L10]]{{$}}
%r = alloca [5 x i32]
; CHECK: i32.const $push[[L3:.+]]=, 1
; CHECK-DAG: i32.store 24(${{.+}}), $pop[[L3]]
@@ -127,29 +127,29 @@ define void @allocarray_inbounds() {
; CHECK: call ext_func
; CHECK: i32.const $push[[L5:.+]]=, 32{{$}}
; CHECK-NEXT: i32.add $push[[L7:.+]]=, ${{.+}}, $pop[[L5]]
- ; CHECK-NEXT: set_global 0, $pop[[L7]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L7]]
ret void
}
; CHECK-LABEL: dynamic_alloca:
define void @dynamic_alloca(i32 %alloc) {
- ; CHECK: get_global $push[[L13:.+]]=, 0{{$}}
+ ; CHECK: get_global $push[[L13:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L12:.+]]=, [[SP:.+]], $pop[[L13]]{{$}}
; Target independent codegen bumps the stack pointer.
; CHECK: i32.sub
; Check that SP is written back to memory after decrement
- ; CHECK: set_global 0,
+ ; CHECK: set_global __stack_pointer,
%r = alloca i32, i32 %alloc
; Target-independent codegen also calculates the store addr
; CHECK: call ext_func_i32@FUNCTION
call void @ext_func_i32(i32* %r)
- ; CHECK: set_global 0, $pop{{.+}}
+ ; CHECK: set_global __stack_pointer, $pop{{.+}}
ret void
}
; CHECK-LABEL: dynamic_alloca_redzone:
define void @dynamic_alloca_redzone(i32 %alloc) {
- ; CHECK: get_global $push[[L13:.+]]=, 0{{$}}
+ ; CHECK: get_global $push[[L13:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L12:.+]]=, [[SP:.+]], $pop[[L13]]{{$}}
; Target independent codegen bumps the stack pointer
; CHECK: i32.sub
@@ -166,11 +166,11 @@ define void @dynamic_alloca_redzone(i32 %alloc) {
; CHECK-LABEL: dynamic_static_alloca:
define void @dynamic_static_alloca(i32 %alloc) noredzone {
; Decrement SP in the prolog by the static amount and writeback to memory.
- ; CHECK: get_global $push[[L11:.+]]=, 0{{$}}
+ ; CHECK: get_global $push[[L11:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: i32.const $push[[L12:.+]]=, 16
; CHECK-NEXT: i32.sub $push[[L23:.+]]=, $pop[[L11]], $pop[[L12]]
; CHECK-NEXT: tee_local $push[[L22:.+]]=, [[SP:.+]], $pop[[L23]]
- ; CHECK-NEXT: set_global 0, $pop[[L22]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L22]]
; Alloc and write to a static alloca
; CHECK: get_local $push[[L21:.+]]=, [[SP:.+]]
@@ -184,7 +184,7 @@ define void @dynamic_static_alloca(i32 %alloc) noredzone {
; CHECK: i32.sub
; CHECK: tee_local $push[[L16:.+]]=, [[dynamic_local:.+]], $pop{{.+}}
; CHECK: tee_local $push[[L15:.+]]=, [[other:.+]], $pop[[L16]]{{$}}
- ; CHECK: set_global 0, $pop[[L15]]{{$}}
+ ; CHECK: set_global __stack_pointer, $pop[[L15]]{{$}}
%dynamic = alloca i32, i32 %alloc
; Ensure we don't modify the frame pointer after assigning it.
@@ -226,7 +226,7 @@ define void @dynamic_static_alloca(i32 %alloc) noredzone {
; CHECK: get_local $push[[L24:.+]]=, [[FP]]{{$}}
; CHECK: i32.const $push[[L18:.+]]=, 16
; CHECK-NEXT: i32.add $push[[L19:.+]]=, $pop[[L24]], $pop[[L18]]
- ; CHECK-NEXT: set_global 0, $pop[[L19]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L19]]
ret void
}
@@ -235,7 +235,7 @@ declare void @llvm.stackrestore(i8*)
; CHECK-LABEL: llvm_stack_builtins:
define void @llvm_stack_builtins(i32 %alloc) noredzone {
- ; CHECK: get_global $push[[L11:.+]]=, 0{{$}}
+ ; CHECK: get_global $push[[L11:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L10:.+]]=, {{.+}}, $pop[[L11]]
; CHECK-NEXT: set_local [[STACK:.+]], $pop[[L10]]
%stack = call i8* @llvm.stacksave()
@@ -245,7 +245,7 @@ define void @llvm_stack_builtins(i32 %alloc) noredzone {
%dynamic = alloca i32, i32 %alloc
; CHECK: get_local $push[[L12:.+]]=, [[STACK]]
- ; CHECK-NEXT: set_global 0, $pop[[L12]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L12]]
call void @llvm.stackrestore(i8* %stack)
ret void
@@ -256,7 +256,7 @@ define void @llvm_stack_builtins(i32 %alloc) noredzone {
; moved after the stack pointer was updated for the dynamic alloca.
; CHECK-LABEL: dynamic_alloca_nouse:
define void @dynamic_alloca_nouse(i32 %alloc) noredzone {
- ; CHECK: get_global $push[[L11:.+]]=, 0{{$}}
+ ; CHECK: get_global $push[[L11:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L10:.+]]=, {{.+}}, $pop[[L11]]
; CHECK-NEXT: set_local [[FP:.+]], $pop[[L10]]
%dynamic = alloca i32, i32 %alloc
@@ -264,7 +264,7 @@ define void @dynamic_alloca_nouse(i32 %alloc) noredzone {
; CHECK-NOT: set_local [[FP]],
; CHECK: get_local $push[[L12:.+]]=, [[FP]]
- ; CHECK-NEXT: set_global 0, $pop[[L12]]
+ ; CHECK-NEXT: set_global __stack_pointer, $pop[[L12]]
ret void
}
@@ -295,11 +295,11 @@ declare i8* @llvm.frameaddress(i32)
; Test __builtin_frame_address(0).
; CHECK-LABEL: frameaddress_0:
-; CHECK: get_global $push[[L3:.+]]=, 0{{$}}
+; CHECK: get_global $push[[L3:.+]]=, __stack_pointer{{$}}
; CHECK-NEXT: tee_local $push[[L2:.+]]=, [[FP:.+]], $pop[[L3]]{{$}}
; CHECK-NEXT: call use_i8_star@FUNCTION, $pop[[L2]]
; CHECK-NEXT: get_local $push[[L5:.+]]=, [[FP]]
-; CHECK-NEXT: set_global 0, $pop[[L5]]
+; CHECK-NEXT: set_global __stack_pointer, $pop[[L5]]
define void @frameaddress_0() {
%t = call i8* @llvm.frameaddress(i32 0)
call void @use_i8_star(i8* %t)
@@ -320,7 +320,7 @@ define void @frameaddress_1() {
; Test a stack address passed to an inline asm.
; CHECK-LABEL: inline_asm:
-; CHECK: get_global {{.+}}, 0{{$}}
+; CHECK: get_global {{.+}}, __stack_pointer{{$}}
; CHECK: #APP
; CHECK-NEXT: # %{{[0-9]+}}{{$}}
; CHECK-NEXT: #NO_APP
diff --git a/test/CodeGen/X86/2006-05-11-InstrSched.ll b/test/CodeGen/X86/2006-05-11-InstrSched.ll
index e04d10c9d64a..b1deb2c5f567 100644
--- a/test/CodeGen/X86/2006-05-11-InstrSched.ll
+++ b/test/CodeGen/X86/2006-05-11-InstrSched.ll
@@ -1,6 +1,6 @@
; REQUIRES: asserts
; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu -mcpu=penryn -mattr=+sse2 -stats 2>&1 | \
-; RUN: grep "asm-printer" | grep 33
+; RUN: grep "asm-printer" | grep 35
target datalayout = "e-p:32:32"
define void @foo(i32* %mc, i32* %bp, i32* %ms, i32* %xmb, i32* %mpp, i32* %tpmm, i32* %ip, i32* %tpim, i32* %dpp, i32* %tpdm, i32* %bpi, i32 %M) nounwind {
diff --git a/test/CodeGen/X86/2012-12-06-python27-miscompile.ll b/test/CodeGen/X86/2012-12-06-python27-miscompile.ll
deleted file mode 100644
index b80ae3ae2b7f..000000000000
--- a/test/CodeGen/X86/2012-12-06-python27-miscompile.ll
+++ /dev/null
@@ -1,23 +0,0 @@
-; RUN: llc < %s -march=x86 -mcpu=corei7 -mtriple=i686-pc-win32 | FileCheck %s
-
-target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
-target triple = "x86_64-apple-macosx10.8.0"
-
-; Make sure that we are zeroing one memory location at a time using xorl and
-; not both using XMM registers.
-
-;CHECK: @foo
-;CHECK: xorl
-;CHECK-NOT: xmm
-;CHECK: ret
-define i32 @foo (i64* %so) nounwind uwtable ssp {
-entry:
- %used = getelementptr inbounds i64, i64* %so, i32 3
- store i64 0, i64* %used, align 8
- %fill = getelementptr inbounds i64, i64* %so, i32 2
- %L = load i64, i64* %fill, align 8
- store i64 0, i64* %fill, align 8
- %cmp28 = icmp sgt i64 %L, 0
- %R = sext i1 %cmp28 to i32
- ret i32 %R
-}
diff --git a/test/CodeGen/X86/GlobalISel/add-scalar.ll b/test/CodeGen/X86/GlobalISel/add-scalar.ll
index 55c825464039..a5dc7906363c 100644
--- a/test/CodeGen/X86/GlobalISel/add-scalar.ll
+++ b/test/CodeGen/X86/GlobalISel/add-scalar.ll
@@ -18,18 +18,10 @@ define i64 @test_add_i64(i64 %arg1, i64 %arg2) {
; X32-NEXT: movl %esp, %ebp
; X32-NEXT: .Lcfi2:
; X32-NEXT: .cfi_def_cfa_register %ebp
-; X32-NEXT: pushl %esi
-; X32-NEXT: .Lcfi3:
-; X32-NEXT: .cfi_offset %esi, -12
-; X32-NEXT: leal 8(%ebp), %ecx
-; X32-NEXT: leal 12(%ebp), %esi
-; X32-NEXT: leal 16(%ebp), %eax
-; X32-NEXT: movl (%eax), %eax
-; X32-NEXT: leal 20(%ebp), %edx
-; X32-NEXT: movl (%edx), %edx
-; X32-NEXT: addl (%ecx), %eax
-; X32-NEXT: adcl (%esi), %edx
-; X32-NEXT: popl %esi
+; X32-NEXT: movl 16(%ebp), %eax
+; X32-NEXT: movl 20(%ebp), %edx
+; X32-NEXT: addl 8(%ebp), %eax
+; X32-NEXT: adcl 12(%ebp), %edx
; X32-NEXT: popl %ebp
; X32-NEXT: retl
%ret = add i64 %arg1, %arg2
@@ -46,10 +38,8 @@ define i32 @test_add_i32(i32 %arg1, i32 %arg2) {
;
; X32-LABEL: test_add_i32:
; X32: # BB#0:
-; X32-NEXT: leal 4(%esp), %ecx
-; X32-NEXT: leal 8(%esp), %eax
-; X32-NEXT: movl (%eax), %eax
-; X32-NEXT: addl (%ecx), %eax
+; X32-NEXT: movl 8(%esp), %eax
+; X32-NEXT: addl 4(%esp), %eax
; X32-NEXT: retl
%ret = add i32 %arg1, %arg2
ret i32 %ret
@@ -66,10 +56,8 @@ define i16 @test_add_i16(i16 %arg1, i16 %arg2) {
;
; X32-LABEL: test_add_i16:
; X32: # BB#0:
-; X32-NEXT: leal 4(%esp), %ecx
-; X32-NEXT: leal 8(%esp), %eax
-; X32-NEXT: movzwl (%eax), %eax
-; X32-NEXT: addw (%ecx), %ax
+; X32-NEXT: movzwl 8(%esp), %eax
+; X32-NEXT: addw 4(%esp), %ax
; X32-NEXT: retl
%ret = add i16 %arg1, %arg2
ret i16 %ret
@@ -84,10 +72,8 @@ define i8 @test_add_i8(i8 %arg1, i8 %arg2) {
;
; X32-LABEL: test_add_i8:
; X32: # BB#0:
-; X32-NEXT: leal 4(%esp), %ecx
-; X32-NEXT: leal 8(%esp), %eax
-; X32-NEXT: movb (%eax), %al
-; X32-NEXT: addb (%ecx), %al
+; X32-NEXT: movb 8(%esp), %al
+; X32-NEXT: addb 4(%esp), %al
; X32-NEXT: retl
%ret = add i8 %arg1, %arg2
ret i8 %ret
diff --git a/test/CodeGen/X86/GlobalISel/callingconv.ll b/test/CodeGen/X86/GlobalISel/callingconv.ll
index 997115d4d900..8a14436e29d9 100644
--- a/test/CodeGen/X86/GlobalISel/callingconv.ll
+++ b/test/CodeGen/X86/GlobalISel/callingconv.ll
@@ -38,16 +38,10 @@ define i64 @test_ret_i64() {
}
define i8 @test_arg_i8(i8 %a) {
-; X32_GISEL-LABEL: test_arg_i8:
-; X32_GISEL: # BB#0:
-; X32_GISEL-NEXT: leal 4(%esp), %eax
-; X32_GISEL-NEXT: movb (%eax), %al
-; X32_GISEL-NEXT: retl
-;
-; X32_ISEL-LABEL: test_arg_i8:
-; X32_ISEL: # BB#0:
-; X32_ISEL-NEXT: movb 4(%esp), %al
-; X32_ISEL-NEXT: retl
+; X32-LABEL: test_arg_i8:
+; X32: # BB#0:
+; X32-NEXT: movb 4(%esp), %al
+; X32-NEXT: retl
;
; X64-LABEL: test_arg_i8:
; X64: # BB#0:
@@ -57,16 +51,10 @@ define i8 @test_arg_i8(i8 %a) {
}
define i16 @test_arg_i16(i16 %a) {
-; X32_GISEL-LABEL: test_arg_i16:
-; X32_GISEL: # BB#0:
-; X32_GISEL-NEXT: leal 4(%esp), %eax
-; X32_GISEL-NEXT: movzwl (%eax), %eax
-; X32_GISEL-NEXT: retl
-;
-; X32_ISEL-LABEL: test_arg_i16:
-; X32_ISEL: # BB#0:
-; X32_ISEL-NEXT: movzwl 4(%esp), %eax
-; X32_ISEL-NEXT: retl
+; X32-LABEL: test_arg_i16:
+; X32: # BB#0:
+; X32-NEXT: movzwl 4(%esp), %eax
+; X32-NEXT: retl
;
; X64-LABEL: test_arg_i16:
; X64: # BB#0:
@@ -76,16 +64,10 @@ define i16 @test_arg_i16(i16 %a) {
}
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
+; X32-LABEL: test_arg_i32:
+; X32: # BB#0:
+; X32-NEXT: movl 4(%esp), %eax
+; X32-NEXT: retl
;
; X64-LABEL: test_arg_i32:
; X64: # BB#0:
@@ -95,19 +77,11 @@ define i32 @test_arg_i32(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
+; X32-LABEL: test_arg_i64:
+; X32: # BB#0:
+; X32-NEXT: movl 4(%esp), %eax
+; X32-NEXT: movl 8(%esp), %edx
+; X32-NEXT: retl
;
; X64-LABEL: test_arg_i64:
; X64: # BB#0:
@@ -117,30 +91,16 @@ define i64 @test_arg_i64(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
+; X32-LABEL: test_i64_args_8:
+; X32: # BB#0:
+; X32-NEXT: movl 60(%esp), %eax
+; X32-NEXT: movl 64(%esp), %edx
+; X32-NEXT: retl
;
-; X64_ISEL-LABEL: test_i64_args_8:
-; X64_ISEL: # BB#0:
-; X64_ISEL-NEXT: movq 16(%rsp), %rax
-; X64_ISEL-NEXT: retq
+; X64-LABEL: test_i64_args_8:
+; X64: # BB#0:
+; X64-NEXT: movq 16(%rsp), %rax
+; X64-NEXT: retq
ret i64 %arg8
}
diff --git a/test/CodeGen/X86/GlobalISel/ext.ll b/test/CodeGen/X86/GlobalISel/ext.ll
index 27aecd118b38..392c973c1208 100644
--- a/test/CodeGen/X86/GlobalISel/ext.ll
+++ b/test/CodeGen/X86/GlobalISel/ext.ll
@@ -11,8 +11,7 @@ define i32 @test_zext_i1(i32 %a) {
;
; X32-LABEL: test_zext_i1:
; X32: # BB#0:
-; X32-NEXT: leal 4(%esp), %eax
-; X32-NEXT: movl (%eax), %eax
+; X32-NEXT: movl 4(%esp), %eax
; X32-NEXT: andl $1, %eax
; X32-NEXT: retl
%val = trunc i32 %a to i1
@@ -28,8 +27,7 @@ define i32 @test_zext_i8(i8 %val) {
;
; X32-LABEL: test_zext_i8:
; X32: # BB#0:
-; X32-NEXT: leal 4(%esp), %eax
-; X32-NEXT: movzbl (%eax), %eax
+; X32-NEXT: movzbl 4(%esp), %eax
; X32-NEXT: retl
%r = zext i8 %val to i32
ret i32 %r
@@ -43,8 +41,7 @@ define i32 @test_zext_i16(i16 %val) {
;
; X32-LABEL: test_zext_i16:
; X32: # BB#0:
-; X32-NEXT: leal 4(%esp), %eax
-; X32-NEXT: movzwl (%eax), %eax
+; X32-NEXT: movzwl 4(%esp), %eax
; X32-NEXT: retl
%r = zext i16 %val to i32
ret i32 %r
@@ -58,8 +55,7 @@ define i32 @test_sext_i8(i8 %val) {
;
; X32-LABEL: test_sext_i8:
; X32: # BB#0:
-; X32-NEXT: leal 4(%esp), %eax
-; X32-NEXT: movsbl (%eax), %eax
+; X32-NEXT: movsbl 4(%esp), %eax
; X32-NEXT: retl
%r = sext i8 %val to i32
ret i32 %r
@@ -73,8 +69,7 @@ define i32 @test_sext_i16(i16 %val) {
;
; X32-LABEL: test_sext_i16:
; X32: # BB#0:
-; X32-NEXT: leal 4(%esp), %eax
-; X32-NEXT: movswl (%eax), %eax
+; X32-NEXT: movswl 4(%esp), %eax
; X32-NEXT: retl
%r = sext i16 %val to i32
ret i32 %r
diff --git a/test/CodeGen/X86/GlobalISel/legalize-add-v256.mir b/test/CodeGen/X86/GlobalISel/legalize-add-v256.mir
index f7dc8031b4f5..9f918c404b12 100644
--- a/test/CodeGen/X86/GlobalISel/legalize-add-v256.mir
+++ b/test/CodeGen/X86/GlobalISel/legalize-add-v256.mir
@@ -1,4 +1,5 @@
-# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx -global-isel -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX1
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+sse2 -global-isel -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NOT_AVX2 --check-prefix=SSE2
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx -global-isel -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NOT_AVX2 --check-prefix=AVX1
# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx2 -global-isel -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX2
--- |
@@ -33,19 +34,19 @@ registers:
- { id: 0, class: _ }
- { id: 1, class: _ }
- { id: 2, class: _ }
-# AVX1: %0(<32 x s8>) = IMPLICIT_DEF
-# AVX1-NEXT: %1(<32 x s8>) = IMPLICIT_DEF
-# AVX1-NEXT: %3(<16 x s8>), %4(<16 x s8>) = G_UNMERGE_VALUES %0(<32 x s8>)
-# AVX1-NEXT: %5(<16 x s8>), %6(<16 x s8>) = G_UNMERGE_VALUES %1(<32 x s8>)
-# AVX1-NEXT: %7(<16 x s8>) = G_ADD %3, %5
-# AVX1-NEXT: %8(<16 x s8>) = G_ADD %4, %6
-# AVX1-NEXT: %2(<32 x s8>) = G_MERGE_VALUES %7(<16 x s8>), %8(<16 x s8>)
-# AVX1-NEXT: RET 0
+# NOT_AVX2: %0(<32 x s8>) = IMPLICIT_DEF
+# NOT_AVX2-NEXT: %1(<32 x s8>) = IMPLICIT_DEF
+# NOT_AVX2-NEXT: %3(<16 x s8>), %4(<16 x s8>) = G_UNMERGE_VALUES %0(<32 x s8>)
+# NOT_AVX2-NEXT: %5(<16 x s8>), %6(<16 x s8>) = G_UNMERGE_VALUES %1(<32 x s8>)
+# NOT_AVX2-NEXT: %7(<16 x s8>) = G_ADD %3, %5
+# NOT_AVX2-NEXT: %8(<16 x s8>) = G_ADD %4, %6
+# NOT_AVX2-NEXT: %2(<32 x s8>) = G_MERGE_VALUES %7(<16 x s8>), %8(<16 x s8>)
+# NOT_AVX2-NEXT: RET 0
#
-# AVX2: %0(<32 x s8>) = IMPLICIT_DEF
-# AVX2-NEXT: %1(<32 x s8>) = IMPLICIT_DEF
-# AVX2-NEXT: %2(<32 x s8>) = G_ADD %0, %1
-# AVX2-NEXT: RET 0
+# AVX2: %0(<32 x s8>) = IMPLICIT_DEF
+# AVX2-NEXT: %1(<32 x s8>) = IMPLICIT_DEF
+# AVX2-NEXT: %2(<32 x s8>) = G_ADD %0, %1
+# AVX2-NEXT: RET 0
body: |
bb.1 (%ir-block.0):
liveins: %ymm0, %ymm1
@@ -66,19 +67,19 @@ registers:
- { id: 0, class: _ }
- { id: 1, class: _ }
- { id: 2, class: _ }
-# AVX1: %0(<16 x s16>) = IMPLICIT_DEF
-# AVX1-NEXT: %1(<16 x s16>) = IMPLICIT_DEF
-# AVX1-NEXT: %3(<8 x s16>), %4(<8 x s16>) = G_UNMERGE_VALUES %0(<16 x s16>)
-# AVX1-NEXT: %5(<8 x s16>), %6(<8 x s16>) = G_UNMERGE_VALUES %1(<16 x s16>)
-# AVX1-NEXT: %7(<8 x s16>) = G_ADD %3, %5
-# AVX1-NEXT: %8(<8 x s16>) = G_ADD %4, %6
-# AVX1-NEXT: %2(<16 x s16>) = G_MERGE_VALUES %7(<8 x s16>), %8(<8 x s16>)
-# AVX1-NEXT: RET 0
+# NOT_AVX2: %0(<16 x s16>) = IMPLICIT_DEF
+# NOT_AVX2-NEXT: %1(<16 x s16>) = IMPLICIT_DEF
+# NOT_AVX2-NEXT: %3(<8 x s16>), %4(<8 x s16>) = G_UNMERGE_VALUES %0(<16 x s16>)
+# NOT_AVX2-NEXT: %5(<8 x s16>), %6(<8 x s16>) = G_UNMERGE_VALUES %1(<16 x s16>)
+# NOT_AVX2-NEXT: %7(<8 x s16>) = G_ADD %3, %5
+# NOT_AVX2-NEXT: %8(<8 x s16>) = G_ADD %4, %6
+# NOT_AVX2-NEXT: %2(<16 x s16>) = G_MERGE_VALUES %7(<8 x s16>), %8(<8 x s16>)
+# NOT_AVX2-NEXT: RET 0
#
-# AVX2: %0(<16 x s16>) = IMPLICIT_DEF
-# AVX2-NEXT: %1(<16 x s16>) = IMPLICIT_DEF
-# AVX2-NEXT: %2(<16 x s16>) = G_ADD %0, %1
-# AVX2-NEXT: RET 0
+# AVX2: %0(<16 x s16>) = IMPLICIT_DEF
+# AVX2-NEXT: %1(<16 x s16>) = IMPLICIT_DEF
+# AVX2-NEXT: %2(<16 x s16>) = G_ADD %0, %1
+# AVX2-NEXT: RET 0
body: |
bb.1 (%ir-block.0):
liveins: %ymm0, %ymm1
@@ -99,19 +100,19 @@ registers:
- { id: 0, class: _ }
- { id: 1, class: _ }
- { id: 2, class: _ }
-# AVX1: %0(<8 x s32>) = IMPLICIT_DEF
-# AVX1-NEXT: %1(<8 x s32>) = IMPLICIT_DEF
-# AVX1-NEXT: %3(<4 x s32>), %4(<4 x s32>) = G_UNMERGE_VALUES %0(<8 x s32>)
-# AVX1-NEXT: %5(<4 x s32>), %6(<4 x s32>) = G_UNMERGE_VALUES %1(<8 x s32>)
-# AVX1-NEXT: %7(<4 x s32>) = G_ADD %3, %5
-# AVX1-NEXT: %8(<4 x s32>) = G_ADD %4, %6
-# AVX1-NEXT: %2(<8 x s32>) = G_MERGE_VALUES %7(<4 x s32>), %8(<4 x s32>)
-# AVX1-NEXT: RET 0
+# NOT_AVX2: %0(<8 x s32>) = IMPLICIT_DEF
+# NOT_AVX2-NEXT: %1(<8 x s32>) = IMPLICIT_DEF
+# NOT_AVX2-NEXT: %3(<4 x s32>), %4(<4 x s32>) = G_UNMERGE_VALUES %0(<8 x s32>)
+# NOT_AVX2-NEXT: %5(<4 x s32>), %6(<4 x s32>) = G_UNMERGE_VALUES %1(<8 x s32>)
+# NOT_AVX2-NEXT: %7(<4 x s32>) = G_ADD %3, %5
+# NOT_AVX2-NEXT: %8(<4 x s32>) = G_ADD %4, %6
+# NOT_AVX2-NEXT: %2(<8 x s32>) = G_MERGE_VALUES %7(<4 x s32>), %8(<4 x s32>)
+# NOT_AVX2-NEXT: RET 0
#
-# AVX2: %0(<8 x s32>) = IMPLICIT_DEF
-# AVX2-NEXT: %1(<8 x s32>) = IMPLICIT_DEF
-# AVX2-NEXT: %2(<8 x s32>) = G_ADD %0, %1
-# AVX2-NEXT: RET 0
+# AVX2: %0(<8 x s32>) = IMPLICIT_DEF
+# AVX2-NEXT: %1(<8 x s32>) = IMPLICIT_DEF
+# AVX2-NEXT: %2(<8 x s32>) = G_ADD %0, %1
+# AVX2-NEXT: RET 0
body: |
bb.1 (%ir-block.0):
liveins: %ymm0, %ymm1
@@ -132,19 +133,19 @@ registers:
- { id: 0, class: _ }
- { id: 1, class: _ }
- { id: 2, class: _ }
-# AVX1: %0(<4 x s64>) = IMPLICIT_DEF
-# AVX1-NEXT: %1(<4 x s64>) = IMPLICIT_DEF
-# AVX1-NEXT: %3(<2 x s64>), %4(<2 x s64>) = G_UNMERGE_VALUES %0(<4 x s64>)
-# AVX1-NEXT: %5(<2 x s64>), %6(<2 x s64>) = G_UNMERGE_VALUES %1(<4 x s64>)
-# AVX1-NEXT: %7(<2 x s64>) = G_ADD %3, %5
-# AVX1-NEXT: %8(<2 x s64>) = G_ADD %4, %6
-# AVX1-NEXT: %2(<4 x s64>) = G_MERGE_VALUES %7(<2 x s64>), %8(<2 x s64>)
-# AVX1-NEXT: RET 0
+# NOT_AVX2: %0(<4 x s64>) = IMPLICIT_DEF
+# NOT_AVX2-NEXT: %1(<4 x s64>) = IMPLICIT_DEF
+# NOT_AVX2-NEXT: %3(<2 x s64>), %4(<2 x s64>) = G_UNMERGE_VALUES %0(<4 x s64>)
+# NOT_AVX2-NEXT: %5(<2 x s64>), %6(<2 x s64>) = G_UNMERGE_VALUES %1(<4 x s64>)
+# NOT_AVX2-NEXT: %7(<2 x s64>) = G_ADD %3, %5
+# NOT_AVX2-NEXT: %8(<2 x s64>) = G_ADD %4, %6
+# NOT_AVX2-NEXT: %2(<4 x s64>) = G_MERGE_VALUES %7(<2 x s64>), %8(<2 x s64>)
+# NOT_AVX2-NEXT: RET 0
#
-# AVX2: %0(<4 x s64>) = IMPLICIT_DEF
-# AVX2-NEXT: %1(<4 x s64>) = IMPLICIT_DEF
-# AVX2-NEXT: %2(<4 x s64>) = G_ADD %0, %1
-# AVX2-NEXT: RET 0
+# AVX2: %0(<4 x s64>) = IMPLICIT_DEF
+# AVX2-NEXT: %1(<4 x s64>) = IMPLICIT_DEF
+# AVX2-NEXT: %2(<4 x s64>) = G_ADD %0, %1
+# AVX2-NEXT: RET 0
body: |
bb.1 (%ir-block.0):
liveins: %ymm0, %ymm1
diff --git a/test/CodeGen/X86/GlobalISel/legalize-add-v512.mir b/test/CodeGen/X86/GlobalISel/legalize-add-v512.mir
index 2b8b51acaa55..5b7532ea5d00 100644
--- a/test/CodeGen/X86/GlobalISel/legalize-add-v512.mir
+++ b/test/CodeGen/X86/GlobalISel/legalize-add-v512.mir
@@ -1,3 +1,4 @@
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx -global-isel -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX1
# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f -global-isel -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F
# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f,+avx512bw -global-isel -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX512BW
@@ -22,6 +23,10 @@
ret void
}
+ define <64 x i8> @test_add_v64i8_2(<64 x i8> %arg1, <64 x i8> %arg2) #0 {
+ %ret = add <64 x i8> %arg1, %arg2
+ ret <64 x i8> %ret
+ }
...
---
name: test_add_v64i8
@@ -33,14 +38,25 @@ registers:
- { id: 0, class: _ }
- { id: 1, class: _ }
- { id: 2, class: _ }
-# AVX512F: %0(<64 x s8>) = IMPLICIT_DEF
-# AVX512F-NEXT: %1(<64 x s8>) = IMPLICIT_DEF
-# AVX512F-NEXT: %3(<32 x s8>), %4(<32 x s8>) = G_UNMERGE_VALUES %0(<64 x s8>)
-# AVX512F-NEXT: %5(<32 x s8>), %6(<32 x s8>) = G_UNMERGE_VALUES %1(<64 x s8>)
-# AVX512F-NEXT: %7(<32 x s8>) = G_ADD %3, %5
-# AVX512F-NEXT: %8(<32 x s8>) = G_ADD %4, %6
-# AVX512F-NEXT: %2(<64 x s8>) = G_MERGE_VALUES %7(<32 x s8>), %8(<32 x s8>)
-# AVX512F-NEXT: RET 0
+# AVX1: %0(<64 x s8>) = IMPLICIT_DEF
+# AVX1-NEXT: %1(<64 x s8>) = IMPLICIT_DEF
+# AVX1-NEXT: %3(<16 x s8>), %4(<16 x s8>), %5(<16 x s8>), %6(<16 x s8>) = G_UNMERGE_VALUES %0(<64 x s8>)
+# AVX1-NEXT: %7(<16 x s8>), %8(<16 x s8>), %9(<16 x s8>), %10(<16 x s8>) = G_UNMERGE_VALUES %1(<64 x s8>)
+# AVX1-NEXT: %11(<16 x s8>) = G_ADD %3, %7
+# AVX1-NEXT: %12(<16 x s8>) = G_ADD %4, %8
+# AVX1-NEXT: %13(<16 x s8>) = G_ADD %5, %9
+# AVX1-NEXT: %14(<16 x s8>) = G_ADD %6, %10
+# AVX1-NEXT: %2(<64 x s8>) = G_MERGE_VALUES %11(<16 x s8>), %12(<16 x s8>), %13(<16 x s8>), %14(<16 x s8>)
+# AVX1-NEXT: RET 0
+#
+# AVX512F: %0(<64 x s8>) = IMPLICIT_DEF
+# AVX512F-NEXT: %1(<64 x s8>) = IMPLICIT_DEF
+# AVX512F-NEXT: %3(<32 x s8>), %4(<32 x s8>) = G_UNMERGE_VALUES %0(<64 x s8>)
+# AVX512F-NEXT: %5(<32 x s8>), %6(<32 x s8>) = G_UNMERGE_VALUES %1(<64 x s8>)
+# AVX512F-NEXT: %7(<32 x s8>) = G_ADD %3, %5
+# AVX512F-NEXT: %8(<32 x s8>) = G_ADD %4, %6
+# AVX512F-NEXT: %2(<64 x s8>) = G_MERGE_VALUES %7(<32 x s8>), %8(<32 x s8>)
+# AVX512F-NEXT: RET 0
#
# AVX512BW: %0(<64 x s8>) = IMPLICIT_DEF
# AVX512BW-NEXT: %1(<64 x s8>) = IMPLICIT_DEF
@@ -66,14 +82,25 @@ registers:
- { id: 0, class: _ }
- { id: 1, class: _ }
- { id: 2, class: _ }
-# AVX512F: %0(<32 x s16>) = IMPLICIT_DEF
-# AVX512F-NEXT: %1(<32 x s16>) = IMPLICIT_DEF
-# AVX512F-NEXT: %3(<16 x s16>), %4(<16 x s16>) = G_UNMERGE_VALUES %0(<32 x s16>)
-# AVX512F-NEXT: %5(<16 x s16>), %6(<16 x s16>) = G_UNMERGE_VALUES %1(<32 x s16>)
-# AVX512F-NEXT: %7(<16 x s16>) = G_ADD %3, %5
-# AVX512F-NEXT: %8(<16 x s16>) = G_ADD %4, %6
-# AVX512F-NEXT: %2(<32 x s16>) = G_MERGE_VALUES %7(<16 x s16>), %8(<16 x s16>)
-# AVX512F-NEXT: RET 0
+# AVX1: %0(<32 x s16>) = IMPLICIT_DEF
+# AVX1-NEXT: %1(<32 x s16>) = IMPLICIT_DEF
+# AVX1-NEXT: %3(<8 x s16>), %4(<8 x s16>), %5(<8 x s16>), %6(<8 x s16>) = G_UNMERGE_VALUES %0(<32 x s16>)
+# AVX1-NEXT: %7(<8 x s16>), %8(<8 x s16>), %9(<8 x s16>), %10(<8 x s16>) = G_UNMERGE_VALUES %1(<32 x s16>)
+# AVX1-NEXT: %11(<8 x s16>) = G_ADD %3, %7
+# AVX1-NEXT: %12(<8 x s16>) = G_ADD %4, %8
+# AVX1-NEXT: %13(<8 x s16>) = G_ADD %5, %9
+# AVX1-NEXT: %14(<8 x s16>) = G_ADD %6, %10
+# AVX1-NEXT: %2(<32 x s16>) = G_MERGE_VALUES %11(<8 x s16>), %12(<8 x s16>), %13(<8 x s16>), %14(<8 x s16>)
+# AVX1-NEXT: RET 0
+#
+# AVX512F: %0(<32 x s16>) = IMPLICIT_DEF
+# AVX512F-NEXT: %1(<32 x s16>) = IMPLICIT_DEF
+# AVX512F-NEXT: %3(<16 x s16>), %4(<16 x s16>) = G_UNMERGE_VALUES %0(<32 x s16>)
+# AVX512F-NEXT: %5(<16 x s16>), %6(<16 x s16>) = G_UNMERGE_VALUES %1(<32 x s16>)
+# AVX512F-NEXT: %7(<16 x s16>) = G_ADD %3, %5
+# AVX512F-NEXT: %8(<16 x s16>) = G_ADD %4, %6
+# AVX512F-NEXT: %2(<32 x s16>) = G_MERGE_VALUES %7(<16 x s16>), %8(<16 x s16>)
+# AVX512F-NEXT: RET 0
#
# AVX512BW: %0(<32 x s16>) = IMPLICIT_DEF
# AVX512BW-NEXT: %1(<32 x s16>) = IMPLICIT_DEF
@@ -99,10 +126,26 @@ registers:
- { id: 0, class: _ }
- { id: 1, class: _ }
- { id: 2, class: _ }
-# ALL: %0(<16 x s32>) = IMPLICIT_DEF
-# ALL-NEXT: %1(<16 x s32>) = IMPLICIT_DEF
-# ALL-NEXT: %2(<16 x s32>) = G_ADD %0, %1
-# ALL-NEXT: RET 0
+# AVX1: %0(<16 x s32>) = IMPLICIT_DEF
+# AVX1-NEXT: %1(<16 x s32>) = IMPLICIT_DEF
+# AVX1-NEXT: %3(<4 x s32>), %4(<4 x s32>), %5(<4 x s32>), %6(<4 x s32>) = G_UNMERGE_VALUES %0(<16 x s32>)
+# AVX1-NEXT: %7(<4 x s32>), %8(<4 x s32>), %9(<4 x s32>), %10(<4 x s32>) = G_UNMERGE_VALUES %1(<16 x s32>)
+# AVX1-NEXT: %11(<4 x s32>) = G_ADD %3, %7
+# AVX1-NEXT: %12(<4 x s32>) = G_ADD %4, %8
+# AVX1-NEXT: %13(<4 x s32>) = G_ADD %5, %9
+# AVX1-NEXT: %14(<4 x s32>) = G_ADD %6, %10
+# AVX1-NEXT: %2(<16 x s32>) = G_MERGE_VALUES %11(<4 x s32>), %12(<4 x s32>), %13(<4 x s32>), %14(<4 x s32>)
+# AVX1-NEXT: RET 0
+#
+# AVX512F: %0(<16 x s32>) = IMPLICIT_DEF
+# AVX512F-NEXT: %1(<16 x s32>) = IMPLICIT_DEF
+# AVX512F-NEXT: %2(<16 x s32>) = G_ADD %0, %1
+# AVX512F-NEXT: RET 0
+#
+# AVX512BW: %0(<16 x s32>) = IMPLICIT_DEF
+# AVX512BW-NEXT: %1(<16 x s32>) = IMPLICIT_DEF
+# AVX512BW-NEXT: %2(<16 x s32>) = G_ADD %0, %1
+# AVX512BW-NEXT: RET 0
body: |
bb.1 (%ir-block.0):
liveins: %zmm0, %zmm1
@@ -123,10 +166,26 @@ registers:
- { id: 0, class: _ }
- { id: 1, class: _ }
- { id: 2, class: _ }
-# ALL: %0(<8 x s64>) = IMPLICIT_DEF
-# ALL-NEXT: %1(<8 x s64>) = IMPLICIT_DEF
-# ALL-NEXT: %2(<8 x s64>) = G_ADD %0, %1
-# ALL-NEXT: RET 0
+# AVX1: %0(<8 x s64>) = IMPLICIT_DEF
+# AVX1-NEXT: %1(<8 x s64>) = IMPLICIT_DEF
+# AVX1-NEXT: %3(<2 x s64>), %4(<2 x s64>), %5(<2 x s64>), %6(<2 x s64>) = G_UNMERGE_VALUES %0(<8 x s64>)
+# AVX1-NEXT: %7(<2 x s64>), %8(<2 x s64>), %9(<2 x s64>), %10(<2 x s64>) = G_UNMERGE_VALUES %1(<8 x s64>)
+# AVX1-NEXT: %11(<2 x s64>) = G_ADD %3, %7
+# AVX1-NEXT: %12(<2 x s64>) = G_ADD %4, %8
+# AVX1-NEXT: %13(<2 x s64>) = G_ADD %5, %9
+# AVX1-NEXT: %14(<2 x s64>) = G_ADD %6, %10
+# AVX1-NEXT: %2(<8 x s64>) = G_MERGE_VALUES %11(<2 x s64>), %12(<2 x s64>), %13(<2 x s64>), %14(<2 x s64>)
+# AVX1-NEXT: RET 0
+#
+# AVX512F: %0(<8 x s64>) = IMPLICIT_DEF
+# AVX512F-NEXT: %1(<8 x s64>) = IMPLICIT_DEF
+# AVX512F-NEXT: %2(<8 x s64>) = G_ADD %0, %1
+# AVX512F-NEXT: RET 0
+#
+# AVX512BW: %0(<8 x s64>) = IMPLICIT_DEF
+# AVX512BW-NEXT: %1(<8 x s64>) = IMPLICIT_DEF
+# AVX512BW-NEXT: %2(<8 x s64>) = G_ADD %0, %1
+# AVX512BW-NEXT: RET 0
body: |
bb.1 (%ir-block.0):
liveins: %zmm0, %zmm1
@@ -137,3 +196,75 @@ body: |
RET 0
...
+---
+name: test_add_v64i8_2
+# ALL-LABEL: name: test_add_v64i8_2
+alignment: 4
+legalized: false
+regBankSelected: false
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+ - { id: 3, class: _ }
+ - { id: 4, class: _ }
+ - { id: 5, class: _ }
+ - { id: 6, class: _ }
+ - { id: 7, class: _ }
+ - { id: 8, class: _ }
+# AVX1: %2(<32 x s8>) = COPY %ymm0
+# AVX1-NEXT: %3(<32 x s8>) = COPY %ymm1
+# AVX1-NEXT: %4(<32 x s8>) = COPY %ymm2
+# AVX1-NEXT: %5(<32 x s8>) = COPY %ymm3
+# AVX1-NEXT: %9(<16 x s8>), %10(<16 x s8>) = G_UNMERGE_VALUES %2(<32 x s8>)
+# AVX1-NEXT: %11(<16 x s8>), %12(<16 x s8>) = G_UNMERGE_VALUES %3(<32 x s8>)
+# AVX1-NEXT: %13(<16 x s8>), %14(<16 x s8>) = G_UNMERGE_VALUES %4(<32 x s8>)
+# AVX1-NEXT: %15(<16 x s8>), %16(<16 x s8>) = G_UNMERGE_VALUES %5(<32 x s8>)
+# AVX1-NEXT: %17(<16 x s8>) = G_ADD %9, %13
+# AVX1-NEXT: %18(<16 x s8>) = G_ADD %10, %14
+# AVX1-NEXT: %19(<16 x s8>) = G_ADD %11, %15
+# AVX1-NEXT: %20(<16 x s8>) = G_ADD %12, %16
+# AVX1-NEXT: %7(<32 x s8>) = G_MERGE_VALUES %17(<16 x s8>), %18(<16 x s8>)
+# AVX1-NEXT: %8(<32 x s8>) = G_MERGE_VALUES %19(<16 x s8>), %20(<16 x s8>)
+# AVX1-NEXT: %ymm0 = COPY %7(<32 x s8>)
+# AVX1-NEXT: %ymm1 = COPY %8(<32 x s8>)
+# AVX1-NEXT: RET 0, implicit %ymm0, implicit %ymm1
+#
+# AVX512F: %2(<32 x s8>) = COPY %ymm0
+# AVX512F-NEXT: %3(<32 x s8>) = COPY %ymm1
+# AVX512F-NEXT: %4(<32 x s8>) = COPY %ymm2
+# AVX512F-NEXT: %5(<32 x s8>) = COPY %ymm3
+# AVX512F-NEXT: %13(<32 x s8>) = G_ADD %2, %4
+# AVX512F-NEXT: %14(<32 x s8>) = G_ADD %3, %5
+# AVX512F-NEXT: %ymm0 = COPY %13(<32 x s8>)
+# AVX512F-NEXT: %ymm1 = COPY %14(<32 x s8>)
+# AVX512F-NEXT: RET 0, implicit %ymm0, implicit %ymm1
+#
+# AVX512BW: %2(<32 x s8>) = COPY %ymm0
+# AVX512BW-NEXT: %3(<32 x s8>) = COPY %ymm1
+# AVX512BW-NEXT: %4(<32 x s8>) = COPY %ymm2
+# AVX512BW-NEXT: %5(<32 x s8>) = COPY %ymm3
+# AVX512BW-NEXT: %0(<64 x s8>) = G_MERGE_VALUES %2(<32 x s8>), %3(<32 x s8>)
+# AVX512BW-NEXT: %1(<64 x s8>) = G_MERGE_VALUES %4(<32 x s8>), %5(<32 x s8>)
+# AVX512BW-NEXT: %6(<64 x s8>) = G_ADD %0, %1
+# AVX512BW-NEXT: %7(<32 x s8>), %8(<32 x s8>) = G_UNMERGE_VALUES %6(<64 x s8>)
+# AVX512BW-NEXT: %ymm0 = COPY %7(<32 x s8>)
+# AVX512BW-NEXT: %ymm1 = COPY %8(<32 x s8>)
+# AVX512BW-NEXT: RET 0, implicit %ymm0, implicit %ymm1
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1, %ymm2, %ymm3
+
+ %2(<32 x s8>) = COPY %ymm0
+ %3(<32 x s8>) = COPY %ymm1
+ %4(<32 x s8>) = COPY %ymm2
+ %5(<32 x s8>) = COPY %ymm3
+ %0(<64 x s8>) = G_MERGE_VALUES %2(<32 x s8>), %3(<32 x s8>)
+ %1(<64 x s8>) = G_MERGE_VALUES %4(<32 x s8>), %5(<32 x s8>)
+ %6(<64 x s8>) = G_ADD %0, %1
+ %7(<32 x s8>), %8(<32 x s8>) = G_UNMERGE_VALUES %6(<64 x s8>)
+ %ymm0 = COPY %7(<32 x s8>)
+ %ymm1 = COPY %8(<32 x s8>)
+ RET 0, implicit %ymm0, implicit %ymm1
+
+...
diff --git a/test/CodeGen/X86/GlobalISel/legalize-insert-vec256.mir b/test/CodeGen/X86/GlobalISel/legalize-insert-vec256.mir
new file mode 100644
index 000000000000..8989fb69b415
--- /dev/null
+++ b/test/CodeGen/X86/GlobalISel/legalize-insert-vec256.mir
@@ -0,0 +1,33 @@
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx -global-isel -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f,+avx512vl -global-isel -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX512VL
+--- |
+ define void @test_insert_128() {
+ ret void
+ }
+...
+---
+name: test_insert_128
+# ALL-LABEL: name: test_insert_128
+alignment: 4
+legalized: false
+regBankSelected: false
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+# ALL: %0(<8 x s32>) = COPY %ymm0
+# ALL-NEXT: %1(<4 x s32>) = COPY %xmm1
+# ALL-NEXT: %2(<8 x s32>) = G_INSERT %0, %1(<4 x s32>), 0
+# ALL-NEXT: %ymm0 = COPY %2(<8 x s32>)
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<8 x s32>) = COPY %ymm0
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<8 x s32>) = G_INSERT %0(<8 x s32>), %1(<4 x s32>), 0
+ %ymm0 = COPY %2(<8 x s32>)
+ RET 0, implicit %ymm0
+
+...
diff --git a/test/CodeGen/X86/GlobalISel/legalize-insert-vec512.mir b/test/CodeGen/X86/GlobalISel/legalize-insert-vec512.mir
new file mode 100644
index 000000000000..777531da4d93
--- /dev/null
+++ b/test/CodeGen/X86/GlobalISel/legalize-insert-vec512.mir
@@ -0,0 +1,63 @@
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f -global-isel -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL
+
+--- |
+ define void @test_insert_128() {
+ ret void
+ }
+
+ define void @test_insert_256() {
+ ret void
+ }
+...
+---
+name: test_insert_128
+# ALL-LABEL: name: test_insert_128
+alignment: 4
+legalized: false
+regBankSelected: false
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+# ALL: %0(<16 x s32>) = COPY %zmm0
+# ALL-NEXT: %1(<4 x s32>) = COPY %xmm1
+# ALL-NEXT: %2(<16 x s32>) = G_INSERT %0, %1(<4 x s32>), 0
+# ALL-NEXT: %ymm0 = COPY %2(<16 x s32>)
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %zmm0, %ymm1
+
+ %0(<16 x s32>) = COPY %zmm0
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<4 x s32>), 0
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+
+...
+---
+name: test_insert_256
+# ALL-LABEL: name: test_insert_256
+alignment: 4
+legalized: false
+regBankSelected: false
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+# ALL: %0(<16 x s32>) = COPY %zmm0
+# ALL-NEXT: %1(<8 x s32>) = COPY %ymm1
+# ALL-NEXT: %2(<16 x s32>) = G_INSERT %0, %1(<8 x s32>), 0
+# ALL-NEXT: %ymm0 = COPY %2(<16 x s32>)
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %zmm0, %ymm1
+
+ %0(<16 x s32>) = COPY %zmm0
+ %1(<8 x s32>) = COPY %ymm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<8 x s32>), 0
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+
+...
diff --git a/test/CodeGen/X86/GlobalISel/memop-scalar-x32.ll b/test/CodeGen/X86/GlobalISel/memop-scalar-x32.ll
index 5df52c5a058b..2757e6493258 100644
--- a/test/CodeGen/X86/GlobalISel/memop-scalar-x32.ll
+++ b/test/CodeGen/X86/GlobalISel/memop-scalar-x32.ll
@@ -7,8 +7,7 @@
define i8 @test_load_i8(i8 * %p1) {
; ALL-LABEL: test_load_i8:
; ALL: # BB#0:
-; ALL-NEXT: leal 4(%esp), %eax
-; ALL-NEXT: movl (%eax), %eax
+; ALL-NEXT: movl 4(%esp), %eax
; ALL-NEXT: movb (%eax), %al
; ALL-NEXT: retl
%r = load i8, i8* %p1
@@ -18,8 +17,7 @@ define i8 @test_load_i8(i8 * %p1) {
define i16 @test_load_i16(i16 * %p1) {
; ALL-LABEL: test_load_i16:
; ALL: # BB#0:
-; ALL-NEXT: leal 4(%esp), %eax
-; ALL-NEXT: movl (%eax), %eax
+; ALL-NEXT: movl 4(%esp), %eax
; ALL-NEXT: movzwl (%eax), %eax
; ALL-NEXT: retl
%r = load i16, i16* %p1
@@ -29,8 +27,7 @@ define i16 @test_load_i16(i16 * %p1) {
define i32 @test_load_i32(i32 * %p1) {
; ALL-LABEL: test_load_i32:
; ALL: # BB#0:
-; ALL-NEXT: leal 4(%esp), %eax
-; ALL-NEXT: movl (%eax), %eax
+; ALL-NEXT: movl 4(%esp), %eax
; ALL-NEXT: movl (%eax), %eax
; ALL-NEXT: retl
%r = load i32, i32* %p1
@@ -40,10 +37,8 @@ define i32 @test_load_i32(i32 * %p1) {
define i8 * @test_store_i8(i8 %val, i8 * %p1) {
; ALL-LABEL: test_store_i8:
; ALL: # BB#0:
-; ALL-NEXT: leal 4(%esp), %eax
-; ALL-NEXT: movb (%eax), %cl
-; ALL-NEXT: leal 8(%esp), %eax
-; ALL-NEXT: movl (%eax), %eax
+; ALL-NEXT: movb 4(%esp), %cl
+; ALL-NEXT: movl 8(%esp), %eax
; ALL-NEXT: movb %cl, (%eax)
; ALL-NEXT: retl
store i8 %val, i8* %p1
@@ -53,10 +48,8 @@ define i8 * @test_store_i8(i8 %val, i8 * %p1) {
define i16 * @test_store_i16(i16 %val, i16 * %p1) {
; ALL-LABEL: test_store_i16:
; ALL: # BB#0:
-; ALL-NEXT: leal 4(%esp), %eax
-; ALL-NEXT: movzwl (%eax), %ecx
-; ALL-NEXT: leal 8(%esp), %eax
-; ALL-NEXT: movl (%eax), %eax
+; ALL-NEXT: movzwl 4(%esp), %ecx
+; ALL-NEXT: movl 8(%esp), %eax
; ALL-NEXT: movw %cx, (%eax)
; ALL-NEXT: retl
store i16 %val, i16* %p1
@@ -66,10 +59,8 @@ define i16 * @test_store_i16(i16 %val, i16 * %p1) {
define i32 * @test_store_i32(i32 %val, i32 * %p1) {
; ALL-LABEL: test_store_i32:
; ALL: # BB#0:
-; ALL-NEXT: leal 4(%esp), %eax
-; ALL-NEXT: movl (%eax), %ecx
-; ALL-NEXT: leal 8(%esp), %eax
-; ALL-NEXT: movl (%eax), %eax
+; ALL-NEXT: movl 4(%esp), %ecx
+; ALL-NEXT: movl 8(%esp), %eax
; ALL-NEXT: movl %ecx, (%eax)
; ALL-NEXT: retl
store i32 %val, i32* %p1
@@ -79,8 +70,7 @@ define i32 * @test_store_i32(i32 %val, i32 * %p1) {
define i32* @test_load_ptr(i32** %ptr1) {
; ALL-LABEL: test_load_ptr:
; ALL: # BB#0:
-; ALL-NEXT: leal 4(%esp), %eax
-; ALL-NEXT: movl (%eax), %eax
+; ALL-NEXT: movl 4(%esp), %eax
; ALL-NEXT: movl (%eax), %eax
; ALL-NEXT: retl
%p = load i32*, i32** %ptr1
@@ -90,10 +80,8 @@ define i32* @test_load_ptr(i32** %ptr1) {
define void @test_store_ptr(i32** %ptr1, i32* %a) {
; ALL-LABEL: test_store_ptr:
; ALL: # BB#0:
-; ALL-NEXT: leal 4(%esp), %eax
-; ALL-NEXT: movl (%eax), %eax
-; ALL-NEXT: leal 8(%esp), %ecx
-; ALL-NEXT: movl (%ecx), %ecx
+; ALL-NEXT: movl 4(%esp), %eax
+; ALL-NEXT: movl 8(%esp), %ecx
; ALL-NEXT: movl %ecx, (%eax)
; ALL-NEXT: retl
store i32* %a, i32** %ptr1
diff --git a/test/CodeGen/X86/GlobalISel/memop-scalar.ll b/test/CodeGen/X86/GlobalISel/memop-scalar.ll
index d3d4b297a802..2e04b3cf20b3 100644
--- a/test/CodeGen/X86/GlobalISel/memop-scalar.ll
+++ b/test/CodeGen/X86/GlobalISel/memop-scalar.ll
@@ -45,11 +45,11 @@ define float @test_load_float(float * %p1) {
; SSE-NEXT: movd %eax, %xmm0
; SSE-NEXT: retq
;
-; ALL_AVX-LABEL: test_load_float:
-; ALL_AVX: # BB#0:
-; ALL_AVX-NEXT: movl (%rdi), %eax
-; ALL_AVX-NEXT: vmovd %eax, %xmm0
-; ALL_AVX-NEXT: retq
+; ALL-LABEL: test_load_float:
+; ALL: # BB#0:
+; ALL-NEXT: movl (%rdi), %eax
+; ALL-NEXT: movd %eax, %xmm0
+; ALL-NEXT: retq
%r = load float, float* %p1
ret float %r
}
@@ -61,11 +61,11 @@ define double @test_load_double(double * %p1) {
; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: retq
;
-; ALL_AVX-LABEL: test_load_double:
-; ALL_AVX: # BB#0:
-; ALL_AVX-NEXT: movq (%rdi), %rax
-; ALL_AVX-NEXT: vmovq %rax, %xmm0
-; ALL_AVX-NEXT: retq
+; ALL-LABEL: test_load_double:
+; ALL: # BB#0:
+; ALL-NEXT: movq (%rdi), %rax
+; ALL-NEXT: movq %rax, %xmm0
+; ALL-NEXT: retq
%r = load double, double* %p1
ret double %r
}
@@ -122,7 +122,6 @@ define double * @test_store_double(double %val, double * %p1) {
; SSE_GREEDY-NEXT: movsd %xmm0, (%rdi)
; SSE_GREEDY-NEXT: movq %rdi, %rax
; SSE_GREEDY-NEXT: retq
-;
store double %val, double* %p1
ret double * %p1;
}
@@ -144,3 +143,30 @@ define void @test_store_ptr(i32** %ptr1, i32* %a) {
store i32* %a, i32** %ptr1
ret void
}
+
+define i32 @test_gep_folding(i32* %arr, i32 %val) {
+; ALL-LABEL: test_gep_folding:
+; ALL: # BB#0:
+; ALL-NEXT: movl %esi, 20(%rdi)
+; ALL-NEXT: movl 20(%rdi), %eax
+; ALL-NEXT: retq
+ %arrayidx = getelementptr i32, i32* %arr, i32 5
+ store i32 %val, i32* %arrayidx
+ %r = load i32, i32* %arrayidx
+ ret i32 %r
+}
+
+; check that gep index doesn't folded into memory operand
+define i32 @test_gep_folding_largeGepIndex(i32* %arr, i32 %val) {
+; ALL-LABEL: test_gep_folding_largeGepIndex:
+; ALL: # BB#0:
+; ALL-NEXT: movabsq $228719476720, %rax # imm = 0x3540BE3FF0
+; ALL-NEXT: leaq (%rdi,%rax), %rax
+; ALL-NEXT: movl %esi, (%rax)
+; ALL-NEXT: movl (%rax), %eax
+; ALL-NEXT: retq
+ %arrayidx = getelementptr i32, i32* %arr, i64 57179869180
+ store i32 %val, i32* %arrayidx
+ %r = load i32, i32* %arrayidx
+ ret i32 %r
+}
diff --git a/test/CodeGen/X86/GlobalISel/select-extract-vec256.mir b/test/CodeGen/X86/GlobalISel/select-extract-vec256.mir
new file mode 100644
index 000000000000..89bb84932cc0
--- /dev/null
+++ b/test/CodeGen/X86/GlobalISel/select-extract-vec256.mir
@@ -0,0 +1,80 @@
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f,+avx512vl -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX512VL
+
+--- |
+ define void @test_extract_128_idx0() {
+ ret void
+ }
+
+ define void @test_extract_128_idx1() {
+ ret void
+ }
+
+...
+---
+name: test_extract_128_idx0
+# ALL-LABEL: name: test_extract_128_idx0
+alignment: 4
+legalized: true
+regBankSelected: true
+# AVX: registers:
+# AVX-NEXT: - { id: 0, class: vr256, preferred-register: '' }
+# AVX-NEXT: - { id: 1, class: vr128, preferred-register: '' }
+#
+# AVX512VL: registers:
+# AVX512VL-NEXT: - { id: 0, class: vr256x, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+# ALL: %0 = COPY %ymm1
+# ALL-NEXT: %1 = COPY %0.sub_xmm
+# ALL-NEXT: %xmm0 = COPY %1
+# ALL-NEXT: RET 0, implicit %xmm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm1
+
+ %0(<8 x s32>) = COPY %ymm1
+ %1(<4 x s32>) = G_EXTRACT %0(<8 x s32>), 0
+ %xmm0 = COPY %1(<4 x s32>)
+ RET 0, implicit %xmm0
+
+...
+---
+name: test_extract_128_idx1
+# ALL-LABEL: name: test_extract_128_idx1
+alignment: 4
+legalized: true
+regBankSelected: true
+# AVX: registers:
+# AVX-NEXT: - { id: 0, class: vr256, preferred-register: '' }
+# AVX-NEXT: - { id: 1, class: vr128, preferred-register: '' }
+#
+# AVX512VL: registers:
+# AVX512VL-NEXT: - { id: 0, class: vr256x, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+# AVX: %0 = COPY %ymm1
+# AVX-NEXT: %1 = VEXTRACTF128rr %0, 1
+# AVX-NEXT: %xmm0 = COPY %1
+# AVX-NEXT: RET 0, implicit %xmm0
+#
+# AVX512VL: %0 = COPY %ymm1
+# AVX512VL-NEXT: %1 = VEXTRACTF32x4Z256rr %0, 1
+# AVX512VL-NEXT: %xmm0 = COPY %1
+# AVX512VL-NEXT: RET 0, implicit %xmm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm1
+
+ %0(<8 x s32>) = COPY %ymm1
+ %1(<4 x s32>) = G_EXTRACT %0(<8 x s32>), 128
+ %xmm0 = COPY %1(<4 x s32>)
+ RET 0, implicit %xmm0
+
+...
+
+
diff --git a/test/CodeGen/X86/GlobalISel/select-extract-vec512.mir b/test/CodeGen/X86/GlobalISel/select-extract-vec512.mir
new file mode 100644
index 000000000000..a0f0d6f39d45
--- /dev/null
+++ b/test/CodeGen/X86/GlobalISel/select-extract-vec512.mir
@@ -0,0 +1,127 @@
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL
+
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL
+
+--- |
+ define void @test_extract_128_idx0() {
+ ret void
+ }
+
+ define void @test_extract_128_idx1() {
+ ret void
+ }
+
+ define void @test_extract_256_idx0() {
+ ret void
+ }
+
+ define void @test_extract_256_idx1() {
+ ret void
+ }
+
+...
+---
+name: test_extract_128_idx0
+# ALL-LABEL: name: test_extract_128_idx0
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+# ALL: %0 = COPY %zmm1
+# ALL-NEXT: %1 = COPY %0.sub_xmm
+# ALL-NEXT: %xmm0 = COPY %1
+# ALL-NEXT: RET 0, implicit %xmm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %zmm1
+
+ %0(<16 x s32>) = COPY %zmm1
+ %1(<4 x s32>) = G_EXTRACT %0(<16 x s32>), 0
+ %xmm0 = COPY %1(<4 x s32>)
+ RET 0, implicit %xmm0
+
+...
+---
+name: test_extract_128_idx1
+# ALL-LABEL: name: test_extract_128_idx1
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+# ALL: %0 = COPY %zmm1
+# ALL-NEXT: %1 = VEXTRACTF32x4Zrr %0, 1
+# ALL-NEXT: %xmm0 = COPY %1
+# ALL-NEXT: RET 0, implicit %xmm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %zmm1
+
+ %0(<16 x s32>) = COPY %zmm1
+ %1(<4 x s32>) = G_EXTRACT %0(<16 x s32>), 128
+ %xmm0 = COPY %1(<4 x s32>)
+ RET 0, implicit %xmm0
+
+...
+---
+name: test_extract_256_idx0
+# ALL-LABEL: name: test_extract_256_idx0
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr256x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+# ALL: %0 = COPY %zmm1
+# ALL-NEXT: %1 = COPY %0.sub_ymm
+# ALL-NEXT: %ymm0 = COPY %1
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %zmm1
+
+ %0(<16 x s32>) = COPY %zmm1
+ %1(<8 x s32>) = G_EXTRACT %0(<16 x s32>), 0
+ %ymm0 = COPY %1(<8 x s32>)
+ RET 0, implicit %ymm0
+
+...
+---
+name: test_extract_256_idx1
+# ALL-LABEL: name: test_extract_256_idx1
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr256x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+# ALL: %0 = COPY %zmm1
+# ALL-NEXT: %1 = VEXTRACTF64x4Zrr %0, 1
+# ALL-NEXT: %ymm0 = COPY %1
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %zmm1
+
+ %0(<16 x s32>) = COPY %zmm1
+ %1(<8 x s32>) = G_EXTRACT %0(<16 x s32>), 256
+ %ymm0 = COPY %1(<8 x s32>)
+ RET 0, implicit %ymm0
+
+...
+
diff --git a/test/CodeGen/X86/GlobalISel/select-insert-vec256.mir b/test/CodeGen/X86/GlobalISel/select-insert-vec256.mir
new file mode 100644
index 000000000000..923dc22678fb
--- /dev/null
+++ b/test/CodeGen/X86/GlobalISel/select-insert-vec256.mir
@@ -0,0 +1,176 @@
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f,+avx512vl -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX512VL
+--- |
+ define void @test_insert_128_idx0() {
+ ret void
+ }
+
+ define void @test_insert_128_idx0_undef() {
+ ret void
+ }
+
+ define void @test_insert_128_idx1() {
+ ret void
+ }
+
+ define void @test_insert_128_idx1_undef() {
+ ret void
+ }
+
+...
+---
+name: test_insert_128_idx0
+# ALL-LABEL: name: test_insert_128_idx0
+alignment: 4
+legalized: true
+regBankSelected: true
+# AVX: registers:
+# AVX-NEXT: - { id: 0, class: vr256, preferred-register: '' }
+# AVX-NEXT: - { id: 1, class: vr128, preferred-register: '' }
+# AVX-NEXT: - { id: 2, class: vr256, preferred-register: '' }
+#
+# AVX512VL: registers:
+# AVX512VL-NEXT: - { id: 0, class: vr256x, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 2, class: vr256x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# AVX: %0 = COPY %ymm0
+# AVX-NEXT: %1 = COPY %xmm1
+# AVX-NEXT: %2 = VINSERTF128rr %0, %1, 0
+# AVX-NEXT: %ymm0 = COPY %2
+# AVX-NEXT: RET 0, implicit %ymm0
+#
+# AVX512VL: %0 = COPY %ymm0
+# AVX512VL-NEXT: %1 = COPY %xmm1
+# AVX512VL-NEXT: %2 = VINSERTF32x4Z256rr %0, %1, 0
+# AVX512VL-NEXT: %ymm0 = COPY %2
+# AVX512VL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<8 x s32>) = COPY %ymm0
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<8 x s32>) = G_INSERT %0(<8 x s32>), %1(<4 x s32>), 0
+ %ymm0 = COPY %2(<8 x s32>)
+ RET 0, implicit %ymm0
+
+...
+---
+name: test_insert_128_idx0_undef
+# ALL-LABEL: name: test_insert_128_idx0_undef
+alignment: 4
+legalized: true
+regBankSelected: true
+# AVX: registers:
+# AVX-NEXT: - { id: 0, class: vecr, preferred-register: '' }
+# AVX-NEXT: - { id: 1, class: vr128, preferred-register: '' }
+# AVX-NEXT: - { id: 2, class: vr256, preferred-register: '' }
+#
+# AVX512VL: registers:
+# AVX512VL-NEXT: - { id: 0, class: vecr, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 2, class: vr256x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# ALL: %1 = COPY %xmm1
+# ALL-NEXT: undef %2.sub_xmm = COPY %1
+# ALL-NEXT: %ymm0 = COPY %2
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<8 x s32>) = IMPLICIT_DEF
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<8 x s32>) = G_INSERT %0(<8 x s32>), %1(<4 x s32>), 0
+ %ymm0 = COPY %2(<8 x s32>)
+ RET 0, implicit %ymm0
+
+...
+---
+name: test_insert_128_idx1
+# ALL-LABEL: name: test_insert_128_idx1
+alignment: 4
+legalized: true
+regBankSelected: true
+# AVX: registers:
+# AVX-NEXT: - { id: 0, class: vr256, preferred-register: '' }
+# AVX-NEXT: - { id: 1, class: vr128, preferred-register: '' }
+# AVX-NEXT: - { id: 2, class: vr256, preferred-register: '' }
+#
+# AVX512VL: registers:
+# AVX512VL-NEXT: - { id: 0, class: vr256x, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 2, class: vr256x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# AVX: %0 = COPY %ymm0
+# AVX-NEXT: %1 = COPY %xmm1
+# AVX-NEXT: %2 = VINSERTF128rr %0, %1, 1
+# AVX-NEXT: %ymm0 = COPY %2
+# AVX-NEXT: RET 0, implicit %ymm0
+#
+# AVX512VL: %0 = COPY %ymm0
+# AVX512VL-NEXT: %1 = COPY %xmm1
+# AVX512VL-NEXT: %2 = VINSERTF32x4Z256rr %0, %1, 1
+# AVX512VL-NEXT: %ymm0 = COPY %2
+# AVX512VL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<8 x s32>) = COPY %ymm0
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<8 x s32>) = G_INSERT %0(<8 x s32>), %1(<4 x s32>), 128
+ %ymm0 = COPY %2(<8 x s32>)
+ RET 0, implicit %ymm0
+...
+---
+name: test_insert_128_idx1_undef
+# ALL-LABEL: name: test_insert_128_idx1_undef
+alignment: 4
+legalized: true
+regBankSelected: true
+# AVX: registers:
+# AVX-NEXT: - { id: 0, class: vr256, preferred-register: '' }
+# AVX-NEXT: - { id: 1, class: vr128, preferred-register: '' }
+# AVX-NEXT: - { id: 2, class: vr256, preferred-register: '' }
+#
+# AVX512VL: registers:
+# AVX512VL-NEXT: - { id: 0, class: vr256x, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+# AVX512VL-NEXT: - { id: 2, class: vr256x, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# AVX: %0 = IMPLICIT_DEF
+# AVX-NEXT: %1 = COPY %xmm1
+# AVX-NEXT: %2 = VINSERTF128rr %0, %1, 1
+# AVX-NEXT: %ymm0 = COPY %2
+# AVX-NEXT: RET 0, implicit %ymm0
+#
+# AVX512VL: %0 = IMPLICIT_DEF
+# AVX512VL-NEXT: %1 = COPY %xmm1
+# AVX512VL-NEXT: %2 = VINSERTF32x4Z256rr %0, %1, 1
+# AVX512VL-NEXT: %ymm0 = COPY %2
+# AVX512VL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<8 x s32>) = IMPLICIT_DEF
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<8 x s32>) = G_INSERT %0(<8 x s32>), %1(<4 x s32>), 128
+ %ymm0 = COPY %2(<8 x s32>)
+ RET 0, implicit %ymm0
+...
+
diff --git a/test/CodeGen/X86/GlobalISel/select-insert-vec512.mir b/test/CodeGen/X86/GlobalISel/select-insert-vec512.mir
new file mode 100644
index 000000000000..3eddc083805a
--- /dev/null
+++ b/test/CodeGen/X86/GlobalISel/select-insert-vec512.mir
@@ -0,0 +1,271 @@
+# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL
+
+--- |
+ define void @test_insert_128_idx0() {
+ ret void
+ }
+
+ define void @test_insert_128_idx0_undef() {
+ ret void
+ }
+
+ define void @test_insert_128_idx1() {
+ ret void
+ }
+
+ define void @test_insert_128_idx1_undef() {
+ ret void
+ }
+
+ define void @test_insert_256_idx0() {
+ ret void
+ }
+
+ define void @test_insert_256_idx0_undef() {
+ ret void
+ }
+
+ define void @test_insert_256_idx1() {
+ ret void
+ }
+
+ define void @test_insert_256_idx1_undef() {
+ ret void
+ }
+
+...
+---
+name: test_insert_128_idx0
+# ALL-LABEL: name: test_insert_128_idx0
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: vr512, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# ALL: %0 = COPY %zmm0
+# ALL-NEXT: %1 = COPY %xmm1
+# ALL-NEXT: %2 = VINSERTF32x4Zrr %0, %1, 0
+# ALL-NEXT: %ymm0 = COPY %2
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %zmm0, %ymm1
+
+ %0(<16 x s32>) = COPY %zmm0
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<4 x s32>), 0
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+
+...
+---
+name: test_insert_128_idx0_undef
+# ALL-LABEL: name: test_insert_128_idx0_undef
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vecr, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: vr512, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# ALL: %1 = COPY %xmm1
+# ALL-NEXT: undef %2.sub_xmm = COPY %1
+# ALL-NEXT: %ymm0 = COPY %2
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<16 x s32>) = IMPLICIT_DEF
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<4 x s32>), 0
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+
+...
+---
+name: test_insert_128_idx1
+# ALL-LABEL: name: test_insert_128_idx1
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: vr512, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# ALL: %0 = COPY %zmm0
+# ALL-NEXT: %1 = COPY %xmm1
+# ALL-NEXT: %2 = VINSERTF32x4Zrr %0, %1, 1
+# ALL-NEXT: %ymm0 = COPY %2
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<16 x s32>) = COPY %zmm0
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<4 x s32>), 128
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+...
+---
+name: test_insert_128_idx1_undef
+# ALL-LABEL: name: test_insert_128_idx1_undef
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr128x, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: vr512, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# ALL: %0 = IMPLICIT_DEF
+# ALL-NEXT: %1 = COPY %xmm1
+# ALL-NEXT: %2 = VINSERTF32x4Zrr %0, %1, 1
+# ALL-NEXT: %ymm0 = COPY %2
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<16 x s32>) = IMPLICIT_DEF
+ %1(<4 x s32>) = COPY %xmm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<4 x s32>), 128
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+...
+---
+name: test_insert_256_idx0
+# ALL-LABEL: name: test_insert_256_idx0
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr256x, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: vr512, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# ALL: %0 = COPY %zmm0
+# ALL-NEXT: %1 = COPY %ymm1
+# ALL-NEXT: %2 = VINSERTF64x4Zrr %0, %1, 0
+# ALL-NEXT: %ymm0 = COPY %2
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %zmm0, %ymm1
+
+ %0(<16 x s32>) = COPY %zmm0
+ %1(<8 x s32>) = COPY %ymm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<8 x s32>), 0
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+
+...
+---
+name: test_insert_256_idx0_undef
+# ALL-LABEL: name: test_insert_256_idx0_undef
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vecr, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr256x, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: vr512, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# ALL: %1 = COPY %ymm1
+# ALL-NEXT: undef %2.sub_ymm = COPY %1
+# ALL-NEXT: %ymm0 = COPY %2
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<16 x s32>) = IMPLICIT_DEF
+ %1(<8 x s32>) = COPY %ymm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<8 x s32>), 0
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+
+...
+---
+name: test_insert_256_idx1
+# ALL-LABEL: name: test_insert_256_idx1
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr256x, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: vr512, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# ALL: %0 = COPY %zmm0
+# ALL-NEXT: %1 = COPY %ymm1
+# ALL-NEXT: %2 = VINSERTF64x4Zrr %0, %1, 1
+# ALL-NEXT: %ymm0 = COPY %2
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<16 x s32>) = COPY %zmm0
+ %1(<8 x s32>) = COPY %ymm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<8 x s32>), 256
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+...
+---
+name: test_insert_256_idx1_undef
+# ALL-LABEL: name: test_insert_256_idx1_undef
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: vr512, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: vr256x, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: vr512, preferred-register: '' }
+registers:
+ - { id: 0, class: vecr }
+ - { id: 1, class: vecr }
+ - { id: 2, class: vecr }
+# ALL: %0 = IMPLICIT_DEF
+# ALL-NEXT: %1 = COPY %ymm1
+# ALL-NEXT: %2 = VINSERTF64x4Zrr %0, %1, 1
+# ALL-NEXT: %ymm0 = COPY %2
+# ALL-NEXT: RET 0, implicit %ymm0
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %ymm0, %ymm1
+
+ %0(<16 x s32>) = IMPLICIT_DEF
+ %1(<8 x s32>) = COPY %ymm1
+ %2(<16 x s32>) = G_INSERT %0(<16 x s32>), %1(<8 x s32>), 256
+ %ymm0 = COPY %2(<16 x s32>)
+ RET 0, implicit %ymm0
+...
+
diff --git a/test/CodeGen/X86/GlobalISel/select-memop-scalar-x32.mir b/test/CodeGen/X86/GlobalISel/select-memop-scalar-x32.mir
index 09f414b48a8a..af09ea049295 100644
--- a/test/CodeGen/X86/GlobalISel/select-memop-scalar-x32.mir
+++ b/test/CodeGen/X86/GlobalISel/select-memop-scalar-x32.mir
@@ -50,7 +50,7 @@ legalized: true
regBankSelected: true
# ALL: registers:
# ALL-NEXT: - { id: 0, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: gpr, preferred-register: '' }
# ALL-NEXT: - { id: 2, class: gr8, preferred-register: '' }
registers:
- { id: 0, class: gpr }
@@ -58,8 +58,7 @@ registers:
- { id: 2, class: gpr }
fixedStack:
- { id: 0, offset: 0, size: 4, alignment: 16, isImmutable: true, isAliased: false }
-# ALL: %1 = LEA32r %fixed-stack.0, 1, _, 0, _
-# ALL-NEXT: %0 = MOV32rm %1, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
+# ALL: %0 = MOV32rm %fixed-stack.0, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
# ALL-NEXT: %2 = MOV8rm %0, 1, _, 0, _ :: (load 1 from %ir.p1)
# ALL-NEXT: %al = COPY %2
# ALL-NEXT: RET 0, implicit %al
@@ -80,7 +79,7 @@ legalized: true
regBankSelected: true
# ALL: registers:
# ALL-NEXT: - { id: 0, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: gpr, preferred-register: '' }
# ALL-NEXT: - { id: 2, class: gr16, preferred-register: '' }
registers:
- { id: 0, class: gpr }
@@ -88,8 +87,7 @@ registers:
- { id: 2, class: gpr }
fixedStack:
- { id: 0, offset: 0, size: 4, alignment: 16, isImmutable: true, isAliased: false }
-# ALL: %1 = LEA32r %fixed-stack.0, 1, _, 0, _
-# ALL-NEXT: %0 = MOV32rm %1, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
+# ALL: %0 = MOV32rm %fixed-stack.0, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
# ALL-NEXT: %2 = MOV16rm %0, 1, _, 0, _ :: (load 2 from %ir.p1)
# ALL-NEXT: %ax = COPY %2
# ALL-NEXT: RET 0, implicit %ax
@@ -110,7 +108,7 @@ legalized: true
regBankSelected: true
# ALL: registers:
# ALL-NEXT: - { id: 0, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: gpr, preferred-register: '' }
# ALL-NEXT: - { id: 2, class: gr32, preferred-register: '' }
registers:
- { id: 0, class: gpr }
@@ -118,8 +116,7 @@ registers:
- { id: 2, class: gpr }
fixedStack:
- { id: 0, offset: 0, size: 4, alignment: 16, isImmutable: true, isAliased: false }
-# ALL: %1 = LEA32r %fixed-stack.0, 1, _, 0, _
-# ALL-NEXT: %0 = MOV32rm %1, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
+# ALL: %0 = MOV32rm %fixed-stack.0, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
# ALL-NEXT: %2 = MOV32rm %0, 1, _, 0, _ :: (load 4 from %ir.p1)
# ALL-NEXT: %eax = COPY %2
# ALL-NEXT: RET 0, implicit %eax
@@ -141,8 +138,8 @@ regBankSelected: true
# ALL: registers:
# ALL-NEXT: - { id: 0, class: gr8, preferred-register: '' }
# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 2, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 3, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: gpr, preferred-register: '' }
+# ALL-NEXT: - { id: 3, class: gpr, preferred-register: '' }
registers:
- { id: 0, class: gpr }
- { id: 1, class: gpr }
@@ -151,10 +148,8 @@ registers:
fixedStack:
- { id: 0, offset: 4, size: 4, alignment: 4, isImmutable: true, isAliased: false }
- { id: 1, offset: 0, size: 1, alignment: 16, isImmutable: true, isAliased: false }
-# ALL: %2 = LEA32r %fixed-stack.0, 1, _, 0, _
-# ALL-NEXT: %0 = MOV8rm %2, 1, _, 0, _ :: (invariant load 1 from %fixed-stack.0, align 0)
-# ALL-NEXT: %3 = LEA32r %fixed-stack.1, 1, _, 0, _
-# ALL-NEXT: %1 = MOV32rm %3, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.1, align 0)
+# ALL: %0 = MOV8rm %fixed-stack.0, 1, _, 0, _ :: (invariant load 1 from %fixed-stack.0, align 0)
+# ALL-NEXT: %1 = MOV32rm %fixed-stack.1, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.1, align 0)
# ALL-NEXT: MOV8mr %1, 1, _, 0, _, %0 :: (store 1 into %ir.p1)
# ALL-NEXT: %eax = COPY %1
# ALL-NEXT: RET 0, implicit %eax
@@ -178,8 +173,8 @@ regBankSelected: true
# ALL: registers:
# ALL-NEXT: - { id: 0, class: gr16, preferred-register: '' }
# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 2, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 3, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: gpr, preferred-register: '' }
+# ALL-NEXT: - { id: 3, class: gpr, preferred-register: '' }
registers:
- { id: 0, class: gpr }
- { id: 1, class: gpr }
@@ -188,10 +183,8 @@ registers:
fixedStack:
- { id: 0, offset: 4, size: 4, alignment: 4, isImmutable: true, isAliased: false }
- { id: 1, offset: 0, size: 2, alignment: 16, isImmutable: true, isAliased: false }
-# ALL: %2 = LEA32r %fixed-stack.0, 1, _, 0, _
-# ALL-NEXT: %0 = MOV16rm %2, 1, _, 0, _ :: (invariant load 2 from %fixed-stack.0, align 0)
-# ALL-NEXT: %3 = LEA32r %fixed-stack.1, 1, _, 0, _
-# ALL-NEXT: %1 = MOV32rm %3, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.1, align 0)
+# ALL: %0 = MOV16rm %fixed-stack.0, 1, _, 0, _ :: (invariant load 2 from %fixed-stack.0, align 0)
+# ALL-NEXT: %1 = MOV32rm %fixed-stack.1, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.1, align 0)
# ALL-NEXT: MOV16mr %1, 1, _, 0, _, %0 :: (store 2 into %ir.p1)
# ALL-NEXT: %eax = COPY %1
# ALL-NEXT: RET 0, implicit %eax
@@ -215,8 +208,8 @@ regBankSelected: true
# ALL: registers:
# ALL-NEXT: - { id: 0, class: gr32, preferred-register: '' }
# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 2, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 3, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: gpr, preferred-register: '' }
+# ALL-NEXT: - { id: 3, class: gpr, preferred-register: '' }
registers:
- { id: 0, class: gpr }
- { id: 1, class: gpr }
@@ -225,10 +218,8 @@ registers:
fixedStack:
- { id: 0, offset: 4, size: 4, alignment: 4, isImmutable: true, isAliased: false }
- { id: 1, offset: 0, size: 4, alignment: 16, isImmutable: true, isAliased: false }
-# ALL: %2 = LEA32r %fixed-stack.0, 1, _, 0, _
-# ALL-NEXT: %0 = MOV32rm %2, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
-# ALL-NEXT: %3 = LEA32r %fixed-stack.1, 1, _, 0, _
-# ALL-NEXT: %1 = MOV32rm %3, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.1, align 0)
+# ALL: %0 = MOV32rm %fixed-stack.0, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
+# ALL-NEXT: %1 = MOV32rm %fixed-stack.1, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.1, align 0)
# ALL-NEXT: MOV32mr %1, 1, _, 0, _, %0 :: (store 4 into %ir.p1)
# ALL-NEXT: %eax = COPY %1
# ALL-NEXT: RET 0, implicit %eax
@@ -251,7 +242,7 @@ legalized: true
regBankSelected: true
# ALL: registers:
# ALL-NEXT: - { id: 0, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: gpr, preferred-register: '' }
# ALL-NEXT: - { id: 2, class: gr32, preferred-register: '' }
registers:
- { id: 0, class: gpr }
@@ -259,8 +250,7 @@ registers:
- { id: 2, class: gpr }
fixedStack:
- { id: 0, offset: 0, size: 4, alignment: 16, isImmutable: true, isAliased: false }
-# ALL: %1 = LEA32r %fixed-stack.0, 1, _, 0, _
-# ALL-NEXT: %0 = MOV32rm %1, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
+# ALL: %0 = MOV32rm %fixed-stack.0, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
# ALL-NEXT: %2 = MOV32rm %0, 1, _, 0, _ :: (load 4 from %ir.ptr1)
# ALL-NEXT: %eax = COPY %2
# ALL-NEXT: RET 0, implicit %eax
@@ -282,8 +272,8 @@ regBankSelected: true
# ALL: registers:
# ALL-NEXT: - { id: 0, class: gr32, preferred-register: '' }
# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 2, class: gr32, preferred-register: '' }
-# ALL-NEXT: - { id: 3, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: gpr, preferred-register: '' }
+# ALL-NEXT: - { id: 3, class: gpr, preferred-register: '' }
registers:
- { id: 0, class: gpr }
- { id: 1, class: gpr }
@@ -292,10 +282,8 @@ registers:
fixedStack:
- { id: 0, offset: 4, size: 4, alignment: 4, isImmutable: true, isAliased: false }
- { id: 1, offset: 0, size: 4, alignment: 16, isImmutable: true, isAliased: false }
-# ALL: %2 = LEA32r %fixed-stack.0, 1, _, 0, _
-# ALL-NEXT: %0 = MOV32rm %2, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
-# ALL-NEXT: %3 = LEA32r %fixed-stack.1, 1, _, 0, _
-# ALL-NEXT: %1 = MOV32rm %3, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.1, align 0)
+# ALL: %0 = MOV32rm %fixed-stack.0, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.0, align 0)
+# ALL-NEXT: %1 = MOV32rm %fixed-stack.1, 1, _, 0, _ :: (invariant load 4 from %fixed-stack.1, align 0)
# ALL-NEXT: MOV32mr %0, 1, _, 0, _, %1 :: (store 4 into %ir.ptr1)
# ALL-NEXT: RET 0
body: |
diff --git a/test/CodeGen/X86/GlobalISel/select-memop-scalar.mir b/test/CodeGen/X86/GlobalISel/select-memop-scalar.mir
index 6d03d7525d20..de79aac9f300 100644
--- a/test/CodeGen/X86/GlobalISel/select-memop-scalar.mir
+++ b/test/CodeGen/X86/GlobalISel/select-memop-scalar.mir
@@ -83,6 +83,20 @@
store i32* %a, i32** %ptr1
ret void
}
+
+ define i32 @test_gep_folding(i32* %arr, i32 %val) {
+ %arrayidx = getelementptr i32, i32* %arr, i32 5
+ store i32 %val, i32* %arrayidx
+ %r = load i32, i32* %arrayidx
+ ret i32 %r
+ }
+
+ define i32 @test_gep_folding_largeGepIndex(i32* %arr, i32 %val) #0 {
+ %arrayidx = getelementptr i32, i32* %arr, i64 57179869180
+ store i32 %val, i32* %arrayidx
+ %r = load i32, i32* %arrayidx
+ ret i32 %r
+ }
...
---
# ALL-LABEL: name: test_load_i8
@@ -340,10 +354,16 @@ name: test_store_float
alignment: 4
legalized: true
regBankSelected: true
+# NO_AVX512F: registers:
+# NO_AVX512F-NEXT: - { id: 0, class: fr32, preferred-register: '' }
+# NO_AVX512F-NEXT: - { id: 1, class: gr64, preferred-register: '' }
+# NO_AVX512F-NEXT: - { id: 2, class: gr32, preferred-register: '' }
+#
+# AVX512ALL: registers:
+# AVX512ALL-NEXT: - { id: 0, class: fr32x, preferred-register: '' }
+# AVX512ALL-NEXT: - { id: 1, class: gr64, preferred-register: '' }
+# AVX512ALL-NEXT: - { id: 2, class: gr32, preferred-register: '' }
registers:
-# ALL: - { id: 0, class: fr32x, preferred-register: '' }
-# ALL: - { id: 1, class: gr64, preferred-register: '' }
-# ALL: - { id: 2, class: gr32, preferred-register: '' }
- { id: 0, class: vecr }
- { id: 1, class: gpr }
- { id: 2, class: gpr }
@@ -399,10 +419,16 @@ name: test_store_double
alignment: 4
legalized: true
regBankSelected: true
+# NO_AVX512F: registers:
+# NO_AVX512F-NEXT: - { id: 0, class: fr64, preferred-register: '' }
+# NO_AVX512F-NEXT: - { id: 1, class: gr64, preferred-register: '' }
+# NO_AVX512F-NEXT: - { id: 2, class: gr64, preferred-register: '' }
+#
+# AVX512ALL: registers:
+# AVX512ALL-NEXT: - { id: 0, class: fr64x, preferred-register: '' }
+# AVX512ALL-NEXT: - { id: 1, class: gr64, preferred-register: '' }
+# AVX512ALL-NEXT: - { id: 2, class: gr64, preferred-register: '' }
registers:
-# ALL: - { id: 0, class: fr64x, preferred-register: '' }
-# ALL: - { id: 1, class: gr64, preferred-register: '' }
-# ALL: - { id: 2, class: gr64, preferred-register: '' }
- { id: 0, class: vecr }
- { id: 1, class: gpr }
- { id: 2, class: gpr }
@@ -498,3 +524,81 @@ body: |
RET 0
...
+---
+name: test_gep_folding
+# ALL-LABEL: name: test_gep_folding
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: gr64, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: gpr, preferred-register: '' }
+# ALL-NEXT: - { id: 3, class: gpr, preferred-register: '' }
+# ALL-NEXT: - { id: 4, class: gr32, preferred-register: '' }
+registers:
+ - { id: 0, class: gpr }
+ - { id: 1, class: gpr }
+ - { id: 2, class: gpr }
+ - { id: 3, class: gpr }
+ - { id: 4, class: gpr }
+# ALL: %0 = COPY %rdi
+# ALL-NEXT: %1 = COPY %esi
+# ALL-NEXT: MOV32mr %0, 1, _, 20, _, %1 :: (store 4 into %ir.arrayidx)
+# ALL-NEXT: %4 = MOV32rm %0, 1, _, 20, _ :: (load 4 from %ir.arrayidx)
+# ALL-NEXT: %eax = COPY %4
+# ALL-NEXT: RET 0, implicit %eax
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %esi, %rdi
+
+ %0(p0) = COPY %rdi
+ %1(s32) = COPY %esi
+ %2(s64) = G_CONSTANT i64 20
+ %3(p0) = G_GEP %0, %2(s64)
+ G_STORE %1(s32), %3(p0) :: (store 4 into %ir.arrayidx)
+ %4(s32) = G_LOAD %3(p0) :: (load 4 from %ir.arrayidx)
+ %eax = COPY %4(s32)
+ RET 0, implicit %eax
+
+...
+---
+name: test_gep_folding_largeGepIndex
+# ALL-LABEL: name: test_gep_folding_largeGepIndex
+alignment: 4
+legalized: true
+regBankSelected: true
+# ALL: registers:
+# ALL-NEXT: - { id: 0, class: gr64, preferred-register: '' }
+# ALL-NEXT: - { id: 1, class: gr32, preferred-register: '' }
+# ALL-NEXT: - { id: 2, class: gr64_nosp, preferred-register: '' }
+# ALL-NEXT: - { id: 3, class: gr64, preferred-register: '' }
+# ALL-NEXT: - { id: 4, class: gr32, preferred-register: '' }
+registers:
+ - { id: 0, class: gpr }
+ - { id: 1, class: gpr }
+ - { id: 2, class: gpr }
+ - { id: 3, class: gpr }
+ - { id: 4, class: gpr }
+# ALL: %0 = COPY %rdi
+# ALL-NEXT: %1 = COPY %esi
+# ALL-NEXT: %2 = MOV64ri 228719476720
+# ALL-NEXT: %3 = LEA64r %0, 1, %2, 0, _
+# ALL-NEXT: MOV32mr %3, 1, _, 0, _, %1 :: (store 4 into %ir.arrayidx)
+# ALL-NEXT: %4 = MOV32rm %3, 1, _, 0, _ :: (load 4 from %ir.arrayidx)
+# ALL-NEXT: %eax = COPY %4
+# ALL-NEXT: RET 0, implicit %eax
+body: |
+ bb.1 (%ir-block.0):
+ liveins: %esi, %rdi
+
+ %0(p0) = COPY %rdi
+ %1(s32) = COPY %esi
+ %2(s64) = G_CONSTANT i64 228719476720
+ %3(p0) = G_GEP %0, %2(s64)
+ G_STORE %1(s32), %3(p0) :: (store 4 into %ir.arrayidx)
+ %4(s32) = G_LOAD %3(p0) :: (load 4 from %ir.arrayidx)
+ %eax = COPY %4(s32)
+ RET 0, implicit %eax
+
+...
diff --git a/test/CodeGen/X86/MergeConsecutiveStores.ll b/test/CodeGen/X86/MergeConsecutiveStores.ll
index f89f6e1de1ab..55ff14988069 100644
--- a/test/CodeGen/X86/MergeConsecutiveStores.ll
+++ b/test/CodeGen/X86/MergeConsecutiveStores.ll
@@ -583,8 +583,6 @@ define void @merge_vec_element_and_scalar_load([6 x i64]* %array) {
; CHECK-NEXT: retq
}
-
-
; Don't let a non-consecutive store thwart merging of the last two.
define void @almost_consecutive_stores(i8* %p) {
store i8 0, i8* %p
@@ -601,3 +599,32 @@ define void @almost_consecutive_stores(i8* %p) {
; CHECK-DAG: movw $770, 2(%rdi)
; CHECK: retq
}
+
+; We should be able to merge these.
+define void @merge_bitcast(<4 x i32> %v, float* %ptr) {
+ %fv = bitcast <4 x i32> %v to <4 x float>
+
+ %vecext1 = extractelement <4 x i32> %v, i32 1
+ %vecext2 = extractelement <4 x i32> %v, i32 2
+ %vecext3 = extractelement <4 x i32> %v, i32 3
+ %f0 = extractelement <4 x float> %fv, i32 0
+ %f1 = bitcast i32 %vecext1 to float
+ %f2 = bitcast i32 %vecext2 to float
+ %f3 = bitcast i32 %vecext3 to float
+ %idx0 = getelementptr inbounds float, float* %ptr, i64 0
+ %idx1 = getelementptr inbounds float, float* %ptr, i64 1
+ %idx2 = getelementptr inbounds float, float* %ptr, i64 2
+ %idx3 = getelementptr inbounds float, float* %ptr, i64 3
+ store float %f0, float* %idx0, align 4
+ store float %f1, float* %idx1, align 4
+ store float %f2, float* %idx2, align 4
+ store float %f3, float* %idx3, align 4
+ ret void
+
+; CHECK-LABEL: merge_bitcast
+; CHECK: vmovd %xmm0, (%rdi)
+; CHECK-NEXT: vpextrd $1, %xmm0, 4(%rdi)
+; CHECK-NEXT: vpextrd $2, %xmm0, 8(%rdi)
+; CHECK-NEXT: vpextrd $3, %xmm0, 12(%rdi)
+; CHECK-NEXT: retq
+}
diff --git a/test/CodeGen/X86/atom-fixup-lea3.ll b/test/CodeGen/X86/atom-fixup-lea3.ll
index e79d2e69e347..ed2df277480e 100644
--- a/test/CodeGen/X86/atom-fixup-lea3.ll
+++ b/test/CodeGen/X86/atom-fixup-lea3.ll
@@ -1,8 +1,6 @@
; RUN: llc < %s -mcpu=atom -mtriple=i686-linux | FileCheck %s
-; CHECK: addl ({{%[a-z]+}},[[reg:%[a-z]+]],4)
-; CHECK-NEXT: movl
-; CHECK-NEXT: addl 4({{%[a-z]+}},[[reg:%[a-z]+]],4)
-; CHECK-NEXT: incl
+; CHECK: addl ([[reg:%[a-z]+]])
+; CHECK-NEXT: addl $4, [[reg]]
; Test for the FixupLEAs pre-emit pass.
; An LEA should NOT be substituted for the ADD instruction
@@ -22,7 +20,7 @@
; return sum;
;}
-define i32 @test(i32 %n, i32* nocapture %array, i32* nocapture %k, i32* nocapture %l, i32* nocapture %m, i32* nocapture %array2) #0 {
+define i32 @test(i32 %n, i32* nocapture %array, i32* nocapture %m, i32* nocapture %array2) #0 {
entry:
%cmp7 = icmp sgt i32 %n, 0
br i1 %cmp7, label %for.body.lr.ph, label %for.end
@@ -37,9 +35,6 @@ for.body: ; preds = %for.body, %for.body
%j.09 = phi i32 [ 0, %for.body.lr.ph ], [ %inc1, %for.body ]
%inc1 = add nsw i32 %j.09, 1
%arrayidx = getelementptr inbounds i32, i32* %array2, i32 %j.09
- store i32 %0, i32* %m, align 4
- store i32 %sum.010, i32* %m, align 4
- store i32 %0, i32* %m, align 4
%1 = load i32, i32* %arrayidx, align 4
%add = add nsw i32 %0, %1
store i32 %add, i32* %m, align 4
diff --git a/test/CodeGen/X86/avg.ll b/test/CodeGen/X86/avg.ll
index aa28ef5175ed..e5f7cc5c6dd8 100644
--- a/test/CodeGen/X86/avg.ll
+++ b/test/CodeGen/X86/avg.ll
@@ -1,8 +1,9 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse2 | FileCheck %s --check-prefix=SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=AVX2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx512bw | FileCheck %s --check-prefix=AVX512BW
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE2
+; 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
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512F
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512bw | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512BW
define void @avg_v4i8(<4 x i8>* %a, <4 x i8>* %b) {
; SSE2-LABEL: avg_v4i8:
@@ -13,29 +14,13 @@ define void @avg_v4i8(<4 x i8>* %a, <4 x i8>* %b) {
; SSE2-NEXT: movd %xmm1, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v4i8:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX2-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
-; AVX2-NEXT: vpavgb %xmm0, %xmm1, %xmm0
-; AVX2-NEXT: vmovd %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v4i8:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX512F-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
-; AVX512F-NEXT: vpavgb %xmm0, %xmm1, %xmm0
-; AVX512F-NEXT: vmovd %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v4i8:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX512BW-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
-; AVX512BW-NEXT: vpavgb %xmm0, %xmm1, %xmm0
-; AVX512BW-NEXT: vmovd %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v4i8:
+; AVX: # BB#0:
+; AVX-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
+; AVX-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
+; AVX-NEXT: vpavgb %xmm0, %xmm1, %xmm0
+; AVX-NEXT: vmovd %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <4 x i8>, <4 x i8>* %a
%2 = load <4 x i8>, <4 x i8>* %b
%3 = zext <4 x i8> %1 to <4 x i32>
@@ -57,29 +42,13 @@ define void @avg_v8i8(<8 x i8>* %a, <8 x i8>* %b) {
; SSE2-NEXT: movq %xmm1, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v8i8:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX2-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX2-NEXT: vpavgb %xmm0, %xmm1, %xmm0
-; AVX2-NEXT: vmovq %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v8i8:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512F-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX512F-NEXT: vpavgb %xmm0, %xmm1, %xmm0
-; AVX512F-NEXT: vmovq %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v8i8:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX512BW-NEXT: vpavgb %xmm0, %xmm1, %xmm0
-; AVX512BW-NEXT: vmovq %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v8i8:
+; AVX: # BB#0:
+; AVX-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
+; AVX-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
+; AVX-NEXT: vpavgb %xmm0, %xmm1, %xmm0
+; AVX-NEXT: vmovq %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <8 x i8>, <8 x i8>* %a
%2 = load <8 x i8>, <8 x i8>* %b
%3 = zext <8 x i8> %1 to <8 x i32>
@@ -100,26 +69,12 @@ define void @avg_v16i8(<16 x i8>* %a, <16 x i8>* %b) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v16i8:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovdqa (%rsi), %xmm0
-; AVX2-NEXT: vpavgb (%rdi), %xmm0, %xmm0
-; AVX2-NEXT: vmovdqu %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v16i8:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rsi), %xmm0
-; AVX512F-NEXT: vpavgb (%rdi), %xmm0, %xmm0
-; AVX512F-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v16i8:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rsi), %xmm0
-; AVX512BW-NEXT: vpavgb (%rdi), %xmm0, %xmm0
-; AVX512BW-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v16i8:
+; AVX: # BB#0:
+; AVX-NEXT: vmovdqa (%rsi), %xmm0
+; AVX-NEXT: vpavgb (%rdi), %xmm0, %xmm0
+; AVX-NEXT: vmovdqu %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <16 x i8>, <16 x i8>* %a
%2 = load <16 x i8>, <16 x i8>* %b
%3 = zext <16 x i8> %1 to <16 x i32>
@@ -184,15 +139,15 @@ define void @avg_v32i8(<32 x i8>* %a, <32 x i8>* %b) {
; SSE2-NEXT: paddd %xmm10, %xmm7
; SSE2-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3]
; SSE2-NEXT: paddd %xmm8, %xmm1
-; SSE2-NEXT: movdqa {{.*#+}} xmm4 = [1,1,1,1]
-; SSE2-NEXT: paddd %xmm4, %xmm9
-; SSE2-NEXT: paddd %xmm4, %xmm2
-; SSE2-NEXT: paddd %xmm4, %xmm5
-; SSE2-NEXT: paddd %xmm4, %xmm0
-; SSE2-NEXT: paddd %xmm4, %xmm6
-; SSE2-NEXT: paddd %xmm4, %xmm3
-; SSE2-NEXT: paddd %xmm4, %xmm7
-; SSE2-NEXT: paddd %xmm4, %xmm1
+; SSE2-NEXT: pcmpeqd %xmm4, %xmm4
+; SSE2-NEXT: psubd %xmm4, %xmm9
+; SSE2-NEXT: psubd %xmm4, %xmm2
+; SSE2-NEXT: psubd %xmm4, %xmm5
+; SSE2-NEXT: psubd %xmm4, %xmm0
+; SSE2-NEXT: psubd %xmm4, %xmm6
+; SSE2-NEXT: psubd %xmm4, %xmm3
+; SSE2-NEXT: psubd %xmm4, %xmm7
+; SSE2-NEXT: psubd %xmm4, %xmm1
; SSE2-NEXT: psrld $1, %xmm1
; SSE2-NEXT: psrld $1, %xmm7
; SSE2-NEXT: psrld $1, %xmm3
@@ -220,6 +175,69 @@ define void @avg_v32i8(<32 x i8>* %a, <32 x i8>* %b) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v32i8:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm6 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm8 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm0, %xmm9
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm1, %xmm1
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm2, %xmm2
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm3, %xmm3
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm4, %xmm4
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm5, %xmm5
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm8, %xmm7
+; AVX1-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0
+; AVX1-NEXT: vpsubd %xmm0, %xmm9, %xmm8
+; AVX1-NEXT: vpsubd %xmm0, %xmm1, %xmm1
+; AVX1-NEXT: vpsubd %xmm0, %xmm2, %xmm2
+; AVX1-NEXT: vpsubd %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vpsubd %xmm0, %xmm4, %xmm4
+; AVX1-NEXT: vpsubd %xmm0, %xmm5, %xmm5
+; AVX1-NEXT: vpsubd %xmm0, %xmm6, %xmm6
+; AVX1-NEXT: vpsubd %xmm0, %xmm7, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm9
+; AVX1-NEXT: vpsrld $1, %xmm6, %xmm6
+; AVX1-NEXT: vpsrld $1, %xmm5, %xmm5
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm8, %xmm7
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm0 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
+; AVX1-NEXT: vpand %xmm0, %xmm7, %xmm7
+; AVX1-NEXT: vpand %xmm0, %xmm1, %xmm1
+; AVX1-NEXT: vpackuswb %xmm7, %xmm1, %xmm1
+; AVX1-NEXT: vpand %xmm0, %xmm2, %xmm2
+; AVX1-NEXT: vpand %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vpackuswb %xmm1, %xmm2, %xmm1
+; AVX1-NEXT: vpand %xmm0, %xmm4, %xmm2
+; AVX1-NEXT: vpand %xmm0, %xmm5, %xmm3
+; AVX1-NEXT: vpackuswb %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vpand %xmm0, %xmm6, %xmm3
+; AVX1-NEXT: vpand %xmm0, %xmm9, %xmm0
+; AVX1-NEXT: vpackuswb %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v32i8:
; AVX2: # BB#0:
; AVX2-NEXT: vmovdqa (%rsi), %ymm0
@@ -228,21 +246,13 @@ define void @avg_v32i8(<32 x i8>* %a, <32 x i8>* %b) {
; AVX2-NEXT: vzeroupper
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: avg_v32i8:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rsi), %ymm0
-; AVX512F-NEXT: vpavgb (%rdi), %ymm0, %ymm0
-; AVX512F-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512F-NEXT: vzeroupper
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v32i8:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rsi), %ymm0
-; AVX512BW-NEXT: vpavgb (%rdi), %ymm0, %ymm0
-; AVX512BW-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512BW-NEXT: vzeroupper
-; AVX512BW-NEXT: retq
+; AVX512-LABEL: avg_v32i8:
+; AVX512: # BB#0:
+; AVX512-NEXT: vmovdqa (%rsi), %ymm0
+; AVX512-NEXT: vpavgb (%rdi), %ymm0, %ymm0
+; AVX512-NEXT: vmovdqu %ymm0, (%rax)
+; AVX512-NEXT: vzeroupper
+; AVX512-NEXT: retq
%1 = load <32 x i8>, <32 x i8>* %a
%2 = load <32 x i8>, <32 x i8>* %b
%3 = zext <32 x i8> %1 to <32 x i32>
@@ -361,28 +371,28 @@ define void @avg_v64i8(<64 x i8>* %a, <64 x i8>* %b) {
; SSE2-NEXT: punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
; SSE2-NEXT: punpcklwd {{.*#+}} xmm7 = xmm7[0],xmm0[0],xmm7[1],xmm0[1],xmm7[2],xmm0[2],xmm7[3],xmm0[3]
; SSE2-NEXT: paddd %xmm2, %xmm7
-; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [1,1,1,1]
+; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
; SSE2-NEXT: movdqa -{{[0-9]+}}(%rsp), %xmm1 # 16-byte Reload
-; SSE2-NEXT: paddd %xmm0, %xmm1
+; SSE2-NEXT: psubd %xmm0, %xmm1
; SSE2-NEXT: movdqa %xmm1, -{{[0-9]+}}(%rsp) # 16-byte Spill
-; SSE2-NEXT: paddd %xmm0, %xmm10
+; SSE2-NEXT: psubd %xmm0, %xmm10
; SSE2-NEXT: movdqa -{{[0-9]+}}(%rsp), %xmm1 # 16-byte Reload
-; SSE2-NEXT: paddd %xmm0, %xmm1
+; SSE2-NEXT: psubd %xmm0, %xmm1
; SSE2-NEXT: movdqa %xmm1, -{{[0-9]+}}(%rsp) # 16-byte Spill
; SSE2-NEXT: movdqa -{{[0-9]+}}(%rsp), %xmm2 # 16-byte Reload
-; SSE2-NEXT: paddd %xmm0, %xmm2
-; SSE2-NEXT: paddd %xmm0, %xmm12
-; SSE2-NEXT: paddd %xmm0, %xmm4
-; SSE2-NEXT: paddd %xmm0, %xmm15
-; SSE2-NEXT: paddd %xmm0, %xmm13
-; SSE2-NEXT: paddd %xmm0, %xmm9
-; SSE2-NEXT: paddd %xmm0, %xmm6
-; SSE2-NEXT: paddd %xmm0, %xmm14
-; SSE2-NEXT: paddd %xmm0, %xmm11
-; SSE2-NEXT: paddd %xmm0, %xmm8
-; SSE2-NEXT: paddd %xmm0, %xmm3
-; SSE2-NEXT: paddd %xmm0, %xmm5
-; SSE2-NEXT: paddd %xmm0, %xmm7
+; SSE2-NEXT: psubd %xmm0, %xmm2
+; SSE2-NEXT: psubd %xmm0, %xmm12
+; SSE2-NEXT: psubd %xmm0, %xmm4
+; SSE2-NEXT: psubd %xmm0, %xmm15
+; SSE2-NEXT: psubd %xmm0, %xmm13
+; SSE2-NEXT: psubd %xmm0, %xmm9
+; SSE2-NEXT: psubd %xmm0, %xmm6
+; SSE2-NEXT: psubd %xmm0, %xmm14
+; SSE2-NEXT: psubd %xmm0, %xmm11
+; SSE2-NEXT: psubd %xmm0, %xmm8
+; SSE2-NEXT: psubd %xmm0, %xmm3
+; SSE2-NEXT: psubd %xmm0, %xmm5
+; SSE2-NEXT: psubd %xmm0, %xmm7
; SSE2-NEXT: psrld $1, %xmm10
; SSE2-NEXT: movdqa -{{[0-9]+}}(%rsp), %xmm1 # 16-byte Reload
; SSE2-NEXT: psrld $1, %xmm1
@@ -437,6 +447,153 @@ define void @avg_v64i8(<64 x i8>* %a, <64 x i8>* %b) {
; SSE2-NEXT: movdqu %xmm1, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v64i8:
+; AVX1: # BB#0:
+; AVX1-NEXT: subq $24, %rsp
+; AVX1-NEXT: .Lcfi0:
+; AVX1-NEXT: .cfi_def_cfa_offset 32
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm6 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm15 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm8 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm9 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm14 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vmovdqa %xmm7, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vmovdqa %xmm7, (%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vmovdqa %xmm7, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vmovdqa %xmm7, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm0, %xmm0
+; AVX1-NEXT: vmovdqa %xmm0, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm1, %xmm0
+; AVX1-NEXT: vmovdqa %xmm0, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm2, %xmm0
+; AVX1-NEXT: vmovdqa %xmm0, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm3, %xmm0
+; AVX1-NEXT: vmovdqa %xmm0, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm4, %xmm0
+; AVX1-NEXT: vmovdqa %xmm0, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm5, %xmm13
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm6, %xmm12
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm15, %xmm11
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm0, %xmm8, %xmm10
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm1, %xmm9, %xmm8
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm2, %xmm14, %xmm9
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd -{{[0-9]+}}(%rsp), %xmm3, %xmm4 # 16-byte Folded Reload
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd (%rsp), %xmm7, %xmm7 # 16-byte Folded Reload
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd -{{[0-9]+}}(%rsp), %xmm5, %xmm3 # 16-byte Folded Reload
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd -{{[0-9]+}}(%rsp), %xmm5, %xmm2 # 16-byte Folded Reload
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm6 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm6, %xmm5, %xmm1
+; AVX1-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm5 # 16-byte Reload
+; AVX1-NEXT: vpsubd %xmm0, %xmm5, %xmm14
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm5 # 16-byte Reload
+; AVX1-NEXT: vpsubd %xmm0, %xmm5, %xmm5
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm6 # 16-byte Reload
+; AVX1-NEXT: vpsubd %xmm0, %xmm6, %xmm6
+; AVX1-NEXT: vmovdqa %xmm6, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm6 # 16-byte Reload
+; AVX1-NEXT: vpsubd %xmm0, %xmm6, %xmm6
+; AVX1-NEXT: vmovdqa %xmm6, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm6 # 16-byte Reload
+; AVX1-NEXT: vpsubd %xmm0, %xmm6, %xmm15
+; AVX1-NEXT: vmovdqa %xmm15, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpsubd %xmm0, %xmm13, %xmm13
+; AVX1-NEXT: vpsubd %xmm0, %xmm12, %xmm12
+; AVX1-NEXT: vpsubd %xmm0, %xmm11, %xmm11
+; AVX1-NEXT: vpsubd %xmm0, %xmm10, %xmm10
+; AVX1-NEXT: vpsubd %xmm0, %xmm8, %xmm8
+; AVX1-NEXT: vpsubd %xmm0, %xmm9, %xmm9
+; AVX1-NEXT: vpsubd %xmm0, %xmm4, %xmm4
+; AVX1-NEXT: vpsubd %xmm0, %xmm7, %xmm7
+; AVX1-NEXT: vmovdqa %xmm7, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpsubd %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vpsubd %xmm0, %xmm2, %xmm2
+; AVX1-NEXT: vmovdqa %xmm2, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpsubd %xmm0, %xmm1, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm5, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm14, %xmm14
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
+; AVX1-NEXT: vpand %xmm5, %xmm14, %xmm14
+; AVX1-NEXT: vpand %xmm5, %xmm1, %xmm1
+; AVX1-NEXT: vpackuswb %xmm14, %xmm1, %xmm1
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm2 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm6
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm2 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpand %xmm5, %xmm2, %xmm2
+; AVX1-NEXT: vpand %xmm5, %xmm6, %xmm6
+; AVX1-NEXT: vpackuswb %xmm2, %xmm6, %xmm2
+; AVX1-NEXT: vpackuswb %xmm1, %xmm2, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm13, %xmm2
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm6 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm6, %xmm6
+; AVX1-NEXT: vpand %xmm5, %xmm6, %xmm6
+; AVX1-NEXT: vpand %xmm5, %xmm2, %xmm2
+; AVX1-NEXT: vpackuswb %xmm6, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm11, %xmm6
+; AVX1-NEXT: vpsrld $1, %xmm12, %xmm7
+; AVX1-NEXT: vpand %xmm5, %xmm7, %xmm7
+; AVX1-NEXT: vpand %xmm5, %xmm6, %xmm6
+; AVX1-NEXT: vpackuswb %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpackuswb %xmm2, %xmm6, %xmm2
+; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1
+; AVX1-NEXT: vpsrld $1, %xmm8, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm10, %xmm6
+; AVX1-NEXT: vpand %xmm5, %xmm6, %xmm6
+; AVX1-NEXT: vpand %xmm5, %xmm2, %xmm2
+; AVX1-NEXT: vpackuswb %xmm6, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpsrld $1, %xmm9, %xmm6
+; AVX1-NEXT: vpand %xmm5, %xmm6, %xmm6
+; AVX1-NEXT: vpand %xmm5, %xmm4, %xmm4
+; AVX1-NEXT: vpackuswb %xmm6, %xmm4, %xmm4
+; AVX1-NEXT: vpackuswb %xmm2, %xmm4, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm4 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm5, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm5, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm4, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm0
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm4 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm5, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm5, %xmm0, %xmm0
+; AVX1-NEXT: vpackuswb %xmm4, %xmm0, %xmm0
+; AVX1-NEXT: vpackuswb %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vmovups %ymm1, (%rax)
+; AVX1-NEXT: addq $24, %rsp
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v64i8:
; AVX2: # BB#0:
; AVX2-NEXT: vpmovzxbd {{.*#+}} ymm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero,mem[4],zero,zero,zero,mem[5],zero,zero,zero,mem[6],zero,zero,zero,mem[7],zero,zero,zero
@@ -463,15 +620,15 @@ define void @avg_v64i8(<64 x i8>* %a, <64 x i8>* %b) {
; AVX2-NEXT: vpaddd %ymm8, %ymm6, %ymm6
; AVX2-NEXT: vpmovzxbd {{.*#+}} ymm8 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero,mem[4],zero,zero,zero,mem[5],zero,zero,zero,mem[6],zero,zero,zero,mem[7],zero,zero,zero
; AVX2-NEXT: vpaddd %ymm8, %ymm7, %ymm7
-; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %ymm8
-; AVX2-NEXT: vpaddd %ymm8, %ymm0, %ymm9
-; AVX2-NEXT: vpaddd %ymm8, %ymm1, %ymm10
-; AVX2-NEXT: vpaddd %ymm8, %ymm2, %ymm2
-; AVX2-NEXT: vpaddd %ymm8, %ymm3, %ymm3
-; AVX2-NEXT: vpaddd %ymm8, %ymm4, %ymm4
-; AVX2-NEXT: vpaddd %ymm8, %ymm5, %ymm5
-; AVX2-NEXT: vpaddd %ymm8, %ymm6, %ymm1
-; AVX2-NEXT: vpaddd %ymm8, %ymm7, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm8, %ymm8, %ymm8
+; AVX2-NEXT: vpsubd %ymm8, %ymm0, %ymm9
+; AVX2-NEXT: vpsubd %ymm8, %ymm1, %ymm10
+; AVX2-NEXT: vpsubd %ymm8, %ymm2, %ymm2
+; AVX2-NEXT: vpsubd %ymm8, %ymm3, %ymm3
+; AVX2-NEXT: vpsubd %ymm8, %ymm4, %ymm4
+; AVX2-NEXT: vpsubd %ymm8, %ymm5, %ymm5
+; AVX2-NEXT: vpsubd %ymm8, %ymm6, %ymm1
+; AVX2-NEXT: vpsubd %ymm8, %ymm7, %ymm0
; AVX2-NEXT: vpsrld $1, %ymm0, %ymm11
; AVX2-NEXT: vpsrld $1, %ymm1, %ymm12
; AVX2-NEXT: vpsrld $1, %ymm5, %ymm5
@@ -531,11 +688,11 @@ define void @avg_v64i8(<64 x i8>* %a, <64 x i8>* %b) {
; AVX512F-NEXT: vpaddd %zmm4, %zmm2, %zmm2
; AVX512F-NEXT: vpmovzxbd {{.*#+}} zmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero,mem[4],zero,zero,zero,mem[5],zero,zero,zero,mem[6],zero,zero,zero,mem[7],zero,zero,zero,mem[8],zero,zero,zero,mem[9],zero,zero,zero,mem[10],zero,zero,zero,mem[11],zero,zero,zero,mem[12],zero,zero,zero,mem[13],zero,zero,zero,mem[14],zero,zero,zero,mem[15],zero,zero,zero
; AVX512F-NEXT: vpaddd %zmm4, %zmm3, %zmm3
-; AVX512F-NEXT: vpbroadcastd {{.*}}(%rip), %zmm4
-; AVX512F-NEXT: vpaddd %zmm4, %zmm0, %zmm0
-; AVX512F-NEXT: vpaddd %zmm4, %zmm1, %zmm1
-; AVX512F-NEXT: vpaddd %zmm4, %zmm2, %zmm2
-; AVX512F-NEXT: vpaddd %zmm4, %zmm3, %zmm3
+; AVX512F-NEXT: vpternlogd $255, %zmm4, %zmm4, %zmm4
+; AVX512F-NEXT: vpsubd %zmm4, %zmm0, %zmm0
+; AVX512F-NEXT: vpsubd %zmm4, %zmm1, %zmm1
+; AVX512F-NEXT: vpsubd %zmm4, %zmm2, %zmm2
+; AVX512F-NEXT: vpsubd %zmm4, %zmm3, %zmm3
; AVX512F-NEXT: vpsrld $1, %zmm3, %zmm3
; AVX512F-NEXT: vpsrld $1, %zmm2, %zmm2
; AVX512F-NEXT: vpsrld $1, %zmm1, %zmm1
@@ -579,29 +736,13 @@ define void @avg_v4i16(<4 x i16>* %a, <4 x i16>* %b) {
; SSE2-NEXT: movq %xmm1, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v4i16:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX2-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX2-NEXT: vpavgw %xmm0, %xmm1, %xmm0
-; AVX2-NEXT: vmovq %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v4i16:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512F-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX512F-NEXT: vpavgw %xmm0, %xmm1, %xmm0
-; AVX512F-NEXT: vmovq %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v4i16:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX512BW-NEXT: vpavgw %xmm0, %xmm1, %xmm0
-; AVX512BW-NEXT: vmovq %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v4i16:
+; AVX: # BB#0:
+; AVX-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
+; AVX-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
+; AVX-NEXT: vpavgw %xmm0, %xmm1, %xmm0
+; AVX-NEXT: vmovq %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <4 x i16>, <4 x i16>* %a
%2 = load <4 x i16>, <4 x i16>* %b
%3 = zext <4 x i16> %1 to <4 x i32>
@@ -622,26 +763,12 @@ define void @avg_v8i16(<8 x i16>* %a, <8 x i16>* %b) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v8i16:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovdqa (%rsi), %xmm0
-; AVX2-NEXT: vpavgw (%rdi), %xmm0, %xmm0
-; AVX2-NEXT: vmovdqu %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v8i16:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rsi), %xmm0
-; AVX512F-NEXT: vpavgw (%rdi), %xmm0, %xmm0
-; AVX512F-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v8i16:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rsi), %xmm0
-; AVX512BW-NEXT: vpavgw (%rdi), %xmm0, %xmm0
-; AVX512BW-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v8i16:
+; AVX: # BB#0:
+; AVX-NEXT: vmovdqa (%rsi), %xmm0
+; AVX-NEXT: vpavgw (%rdi), %xmm0, %xmm0
+; AVX-NEXT: vmovdqu %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <8 x i16>, <8 x i16>* %a
%2 = load <8 x i16>, <8 x i16>* %b
%3 = zext <8 x i16> %1 to <8 x i32>
@@ -678,11 +805,11 @@ define void @avg_v16i16(<16 x i16>* %a, <16 x i16>* %b) {
; SSE2-NEXT: paddd %xmm7, %xmm2
; SSE2-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]
; SSE2-NEXT: paddd %xmm4, %xmm1
-; SSE2-NEXT: movdqa {{.*#+}} xmm4 = [1,1,1,1]
-; SSE2-NEXT: paddd %xmm4, %xmm3
-; SSE2-NEXT: paddd %xmm4, %xmm0
-; SSE2-NEXT: paddd %xmm4, %xmm2
-; SSE2-NEXT: paddd %xmm4, %xmm1
+; SSE2-NEXT: pcmpeqd %xmm4, %xmm4
+; SSE2-NEXT: psubd %xmm4, %xmm3
+; SSE2-NEXT: psubd %xmm4, %xmm0
+; SSE2-NEXT: psubd %xmm4, %xmm2
+; SSE2-NEXT: psubd %xmm4, %xmm1
; SSE2-NEXT: psrld $1, %xmm1
; SSE2-NEXT: psrld $1, %xmm2
; SSE2-NEXT: psrld $1, %xmm0
@@ -701,6 +828,41 @@ define void @avg_v16i16(<16 x i16>* %a, <16 x i16>* %b) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v16i16:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm3 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm0, %xmm0
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm1, %xmm1
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm2, %xmm2
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm3, %xmm3
+; AVX1-NEXT: vpcmpeqd %xmm4, %xmm4, %xmm4
+; AVX1-NEXT: vpsubd %xmm4, %xmm0, %xmm0
+; AVX1-NEXT: vpsubd %xmm4, %xmm1, %xmm1
+; AVX1-NEXT: vpsubd %xmm4, %xmm2, %xmm2
+; AVX1-NEXT: vpsubd %xmm4, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm0
+; AVX1-NEXT: vpxor %xmm4, %xmm4, %xmm4
+; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm4[1],xmm0[2],xmm4[3],xmm0[4],xmm4[5],xmm0[6],xmm4[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0],xmm4[1],xmm1[2],xmm4[3],xmm1[4],xmm4[5],xmm1[6],xmm4[7]
+; AVX1-NEXT: vpackusdw %xmm0, %xmm1, %xmm0
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm2[0],xmm4[1],xmm2[2],xmm4[3],xmm2[4],xmm4[5],xmm2[6],xmm4[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1],xmm3[2],xmm4[3],xmm3[4],xmm4[5],xmm3[6],xmm4[7]
+; AVX1-NEXT: vpackusdw %xmm1, %xmm2, %xmm1
+; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v16i16:
; AVX2: # BB#0:
; AVX2-NEXT: vmovdqa (%rsi), %ymm0
@@ -709,21 +871,13 @@ define void @avg_v16i16(<16 x i16>* %a, <16 x i16>* %b) {
; AVX2-NEXT: vzeroupper
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: avg_v16i16:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rsi), %ymm0
-; AVX512F-NEXT: vpavgw (%rdi), %ymm0, %ymm0
-; AVX512F-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512F-NEXT: vzeroupper
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v16i16:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rsi), %ymm0
-; AVX512BW-NEXT: vpavgw (%rdi), %ymm0, %ymm0
-; AVX512BW-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512BW-NEXT: vzeroupper
-; AVX512BW-NEXT: retq
+; AVX512-LABEL: avg_v16i16:
+; AVX512: # BB#0:
+; AVX512-NEXT: vmovdqa (%rsi), %ymm0
+; AVX512-NEXT: vpavgw (%rdi), %ymm0, %ymm0
+; AVX512-NEXT: vmovdqu %ymm0, (%rax)
+; AVX512-NEXT: vzeroupper
+; AVX512-NEXT: retq
%1 = load <16 x i16>, <16 x i16>* %a
%2 = load <16 x i16>, <16 x i16>* %b
%3 = zext <16 x i16> %1 to <16 x i32>
@@ -780,15 +934,15 @@ define void @avg_v32i16(<32 x i16>* %a, <32 x i16>* %b) {
; SSE2-NEXT: paddd %xmm13, %xmm4
; SSE2-NEXT: punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]
; SSE2-NEXT: paddd %xmm8, %xmm3
-; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [1,1,1,1]
-; SSE2-NEXT: paddd %xmm0, %xmm7
-; SSE2-NEXT: paddd %xmm0, %xmm9
-; SSE2-NEXT: paddd %xmm0, %xmm6
-; SSE2-NEXT: paddd %xmm0, %xmm1
-; SSE2-NEXT: paddd %xmm0, %xmm5
-; SSE2-NEXT: paddd %xmm0, %xmm2
-; SSE2-NEXT: paddd %xmm0, %xmm4
-; SSE2-NEXT: paddd %xmm0, %xmm3
+; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE2-NEXT: psubd %xmm0, %xmm7
+; SSE2-NEXT: psubd %xmm0, %xmm9
+; SSE2-NEXT: psubd %xmm0, %xmm6
+; SSE2-NEXT: psubd %xmm0, %xmm1
+; SSE2-NEXT: psubd %xmm0, %xmm5
+; SSE2-NEXT: psubd %xmm0, %xmm2
+; SSE2-NEXT: psubd %xmm0, %xmm4
+; SSE2-NEXT: psubd %xmm0, %xmm3
; SSE2-NEXT: psrld $1, %xmm3
; SSE2-NEXT: psrld $1, %xmm4
; SSE2-NEXT: psrld $1, %xmm2
@@ -823,6 +977,69 @@ define void @avg_v32i16(<32 x i16>* %a, <32 x i16>* %b) {
; SSE2-NEXT: movdqu %xmm9, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v32i16:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm3 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm5 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm6 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm8 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm0, %xmm9
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm1, %xmm1
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm2, %xmm2
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm3, %xmm3
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm4, %xmm4
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm5, %xmm5
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm8, %xmm7
+; AVX1-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0
+; AVX1-NEXT: vpsubd %xmm0, %xmm9, %xmm8
+; AVX1-NEXT: vpsubd %xmm0, %xmm1, %xmm1
+; AVX1-NEXT: vpsubd %xmm0, %xmm2, %xmm2
+; AVX1-NEXT: vpsubd %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vpsubd %xmm0, %xmm4, %xmm4
+; AVX1-NEXT: vpsubd %xmm0, %xmm5, %xmm5
+; AVX1-NEXT: vpsubd %xmm0, %xmm6, %xmm6
+; AVX1-NEXT: vpsubd %xmm0, %xmm7, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm9
+; AVX1-NEXT: vpsrld $1, %xmm6, %xmm6
+; AVX1-NEXT: vpsrld $1, %xmm5, %xmm5
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm8, %xmm7
+; AVX1-NEXT: vpxor %xmm0, %xmm0, %xmm0
+; AVX1-NEXT: vpblendw {{.*#+}} xmm7 = xmm7[0],xmm0[1],xmm7[2],xmm0[3],xmm7[4],xmm0[5],xmm7[6],xmm0[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0],xmm0[1],xmm1[2],xmm0[3],xmm1[4],xmm0[5],xmm1[6],xmm0[7]
+; AVX1-NEXT: vpackusdw %xmm7, %xmm1, %xmm1
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm2[0],xmm0[1],xmm2[2],xmm0[3],xmm2[4],xmm0[5],xmm2[6],xmm0[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm3[0],xmm0[1],xmm3[2],xmm0[3],xmm3[4],xmm0[5],xmm3[6],xmm0[7]
+; AVX1-NEXT: vpackusdw %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm4[0],xmm0[1],xmm4[2],xmm0[3],xmm4[4],xmm0[5],xmm4[6],xmm0[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm5[0],xmm0[1],xmm5[2],xmm0[3],xmm5[4],xmm0[5],xmm5[6],xmm0[7]
+; AVX1-NEXT: vpackusdw %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm6[0],xmm0[1],xmm6[2],xmm0[3],xmm6[4],xmm0[5],xmm6[6],xmm0[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm9[0],xmm0[1],xmm9[2],xmm0[3],xmm9[4],xmm0[5],xmm9[6],xmm0[7]
+; AVX1-NEXT: vpackusdw %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vmovups %ymm1, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v32i16:
; AVX2: # BB#0:
; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
@@ -837,11 +1054,11 @@ define void @avg_v32i16(<32 x i16>* %a, <32 x i16>* %b) {
; AVX2-NEXT: vpaddd %ymm4, %ymm2, %ymm2
; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
; AVX2-NEXT: vpaddd %ymm4, %ymm3, %ymm3
-; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %ymm4
-; AVX2-NEXT: vpaddd %ymm4, %ymm0, %ymm0
-; AVX2-NEXT: vpaddd %ymm4, %ymm1, %ymm1
-; AVX2-NEXT: vpaddd %ymm4, %ymm2, %ymm2
-; AVX2-NEXT: vpaddd %ymm4, %ymm3, %ymm3
+; AVX2-NEXT: vpcmpeqd %ymm4, %ymm4, %ymm4
+; AVX2-NEXT: vpsubd %ymm4, %ymm0, %ymm0
+; AVX2-NEXT: vpsubd %ymm4, %ymm1, %ymm1
+; AVX2-NEXT: vpsubd %ymm4, %ymm2, %ymm2
+; AVX2-NEXT: vpsubd %ymm4, %ymm3, %ymm3
; AVX2-NEXT: vpsrld $1, %ymm3, %ymm3
; AVX2-NEXT: vpsrld $1, %ymm2, %ymm2
; AVX2-NEXT: vpsrld $1, %ymm1, %ymm1
@@ -870,9 +1087,9 @@ define void @avg_v32i16(<32 x i16>* %a, <32 x i16>* %b) {
; AVX512F-NEXT: vpaddd %zmm2, %zmm0, %zmm0
; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero,mem[8],zero,mem[9],zero,mem[10],zero,mem[11],zero,mem[12],zero,mem[13],zero,mem[14],zero,mem[15],zero
; AVX512F-NEXT: vpaddd %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpbroadcastd {{.*}}(%rip), %zmm2
-; AVX512F-NEXT: vpaddd %zmm2, %zmm0, %zmm0
-; AVX512F-NEXT: vpaddd %zmm2, %zmm1, %zmm1
+; AVX512F-NEXT: vpternlogd $255, %zmm2, %zmm2, %zmm2
+; AVX512F-NEXT: vpsubd %zmm2, %zmm0, %zmm0
+; AVX512F-NEXT: vpsubd %zmm2, %zmm1, %zmm1
; AVX512F-NEXT: vpsrld $1, %zmm1, %zmm1
; AVX512F-NEXT: vpsrld $1, %zmm0, %zmm0
; AVX512F-NEXT: vpmovdw %zmm0, (%rax)
@@ -908,29 +1125,13 @@ define void @avg_v4i8_2(<4 x i8>* %a, <4 x i8>* %b) {
; SSE2-NEXT: movd %xmm1, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v4i8_2:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX2-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
-; AVX2-NEXT: vpavgb %xmm1, %xmm0, %xmm0
-; AVX2-NEXT: vmovd %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v4i8_2:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX512F-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
-; AVX512F-NEXT: vpavgb %xmm1, %xmm0, %xmm0
-; AVX512F-NEXT: vmovd %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v4i8_2:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX512BW-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
-; AVX512BW-NEXT: vpavgb %xmm1, %xmm0, %xmm0
-; AVX512BW-NEXT: vmovd %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v4i8_2:
+; AVX: # BB#0:
+; AVX-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
+; AVX-NEXT: vmovd {{.*#+}} xmm1 = mem[0],zero,zero,zero
+; AVX-NEXT: vpavgb %xmm1, %xmm0, %xmm0
+; AVX-NEXT: vmovd %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <4 x i8>, <4 x i8>* %a
%2 = load <4 x i8>, <4 x i8>* %b
%3 = zext <4 x i8> %1 to <4 x i32>
@@ -952,29 +1153,13 @@ define void @avg_v8i8_2(<8 x i8>* %a, <8 x i8>* %b) {
; SSE2-NEXT: movq %xmm1, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v8i8_2:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX2-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX2-NEXT: vpavgb %xmm1, %xmm0, %xmm0
-; AVX2-NEXT: vmovq %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v8i8_2:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512F-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX512F-NEXT: vpavgb %xmm1, %xmm0, %xmm0
-; AVX512F-NEXT: vmovq %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v8i8_2:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX512BW-NEXT: vpavgb %xmm1, %xmm0, %xmm0
-; AVX512BW-NEXT: vmovq %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v8i8_2:
+; AVX: # BB#0:
+; AVX-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
+; AVX-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
+; AVX-NEXT: vpavgb %xmm1, %xmm0, %xmm0
+; AVX-NEXT: vmovq %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <8 x i8>, <8 x i8>* %a
%2 = load <8 x i8>, <8 x i8>* %b
%3 = zext <8 x i8> %1 to <8 x i32>
@@ -995,26 +1180,12 @@ define void @avg_v16i8_2(<16 x i8>* %a, <16 x i8>* %b) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v16i8_2:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovdqa (%rdi), %xmm0
-; AVX2-NEXT: vpavgb (%rsi), %xmm0, %xmm0
-; AVX2-NEXT: vmovdqu %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v16i8_2:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rdi), %xmm0
-; AVX512F-NEXT: vpavgb (%rsi), %xmm0, %xmm0
-; AVX512F-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v16i8_2:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rdi), %xmm0
-; AVX512BW-NEXT: vpavgb (%rsi), %xmm0, %xmm0
-; AVX512BW-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v16i8_2:
+; AVX: # BB#0:
+; AVX-NEXT: vmovdqa (%rdi), %xmm0
+; AVX-NEXT: vpavgb (%rsi), %xmm0, %xmm0
+; AVX-NEXT: vmovdqu %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <16 x i8>, <16 x i8>* %a
%2 = load <16 x i8>, <16 x i8>* %b
%3 = zext <16 x i8> %1 to <16 x i32>
@@ -1079,15 +1250,15 @@ define void @avg_v32i8_2(<32 x i8>* %a, <32 x i8>* %b) {
; SSE2-NEXT: paddd %xmm10, %xmm7
; SSE2-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1],xmm1[2],xmm4[2],xmm1[3],xmm4[3]
; SSE2-NEXT: paddd %xmm8, %xmm1
-; SSE2-NEXT: movdqa {{.*#+}} xmm4 = [1,1,1,1]
-; SSE2-NEXT: paddd %xmm4, %xmm9
-; SSE2-NEXT: paddd %xmm4, %xmm2
-; SSE2-NEXT: paddd %xmm4, %xmm5
-; SSE2-NEXT: paddd %xmm4, %xmm0
-; SSE2-NEXT: paddd %xmm4, %xmm6
-; SSE2-NEXT: paddd %xmm4, %xmm3
-; SSE2-NEXT: paddd %xmm4, %xmm7
-; SSE2-NEXT: paddd %xmm4, %xmm1
+; SSE2-NEXT: pcmpeqd %xmm4, %xmm4
+; SSE2-NEXT: psubd %xmm4, %xmm9
+; SSE2-NEXT: psubd %xmm4, %xmm2
+; SSE2-NEXT: psubd %xmm4, %xmm5
+; SSE2-NEXT: psubd %xmm4, %xmm0
+; SSE2-NEXT: psubd %xmm4, %xmm6
+; SSE2-NEXT: psubd %xmm4, %xmm3
+; SSE2-NEXT: psubd %xmm4, %xmm7
+; SSE2-NEXT: psubd %xmm4, %xmm1
; SSE2-NEXT: psrld $1, %xmm1
; SSE2-NEXT: psrld $1, %xmm7
; SSE2-NEXT: psrld $1, %xmm3
@@ -1115,6 +1286,69 @@ define void @avg_v32i8_2(<32 x i8>* %a, <32 x i8>* %b) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v32i8_2:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm6 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm8 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm0, %xmm9
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm1, %xmm1
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm2, %xmm2
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm3, %xmm3
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm4, %xmm4
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm5, %xmm5
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm8, %xmm7
+; AVX1-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0
+; AVX1-NEXT: vpsubd %xmm0, %xmm9, %xmm8
+; AVX1-NEXT: vpsubd %xmm0, %xmm1, %xmm1
+; AVX1-NEXT: vpsubd %xmm0, %xmm2, %xmm2
+; AVX1-NEXT: vpsubd %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vpsubd %xmm0, %xmm4, %xmm4
+; AVX1-NEXT: vpsubd %xmm0, %xmm5, %xmm5
+; AVX1-NEXT: vpsubd %xmm0, %xmm6, %xmm6
+; AVX1-NEXT: vpsubd %xmm0, %xmm7, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm9
+; AVX1-NEXT: vpsrld $1, %xmm6, %xmm6
+; AVX1-NEXT: vpsrld $1, %xmm5, %xmm5
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm8, %xmm7
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm0 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
+; AVX1-NEXT: vpand %xmm0, %xmm7, %xmm7
+; AVX1-NEXT: vpand %xmm0, %xmm1, %xmm1
+; AVX1-NEXT: vpackuswb %xmm7, %xmm1, %xmm1
+; AVX1-NEXT: vpand %xmm0, %xmm2, %xmm2
+; AVX1-NEXT: vpand %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vpackuswb %xmm1, %xmm2, %xmm1
+; AVX1-NEXT: vpand %xmm0, %xmm4, %xmm2
+; AVX1-NEXT: vpand %xmm0, %xmm5, %xmm3
+; AVX1-NEXT: vpackuswb %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vpand %xmm0, %xmm6, %xmm3
+; AVX1-NEXT: vpand %xmm0, %xmm9, %xmm0
+; AVX1-NEXT: vpackuswb %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v32i8_2:
; AVX2: # BB#0:
; AVX2-NEXT: vmovdqa (%rdi), %ymm0
@@ -1123,21 +1357,13 @@ define void @avg_v32i8_2(<32 x i8>* %a, <32 x i8>* %b) {
; AVX2-NEXT: vzeroupper
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: avg_v32i8_2:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
-; AVX512F-NEXT: vpavgb (%rsi), %ymm0, %ymm0
-; AVX512F-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512F-NEXT: vzeroupper
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v32i8_2:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rdi), %ymm0
-; AVX512BW-NEXT: vpavgb (%rsi), %ymm0, %ymm0
-; AVX512BW-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512BW-NEXT: vzeroupper
-; AVX512BW-NEXT: retq
+; AVX512-LABEL: avg_v32i8_2:
+; AVX512: # BB#0:
+; AVX512-NEXT: vmovdqa (%rdi), %ymm0
+; AVX512-NEXT: vpavgb (%rsi), %ymm0, %ymm0
+; AVX512-NEXT: vmovdqu %ymm0, (%rax)
+; AVX512-NEXT: vzeroupper
+; AVX512-NEXT: retq
%1 = load <32 x i8>, <32 x i8>* %a
%2 = load <32 x i8>, <32 x i8>* %b
%3 = zext <32 x i8> %1 to <32 x i32>
@@ -1213,25 +1439,25 @@ define void @avg_v64i8_2(<64 x i8>* %a, <64 x i8>* %b) {
; SSE2-NEXT: paddd %xmm8, %xmm8
; SSE2-NEXT: paddd %xmm7, %xmm7
; SSE2-NEXT: paddd %xmm15, %xmm15
-; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [1,1,1,1]
-; SSE2-NEXT: paddd %xmm0, %xmm15
-; SSE2-NEXT: paddd %xmm0, %xmm7
-; SSE2-NEXT: paddd %xmm0, %xmm8
-; SSE2-NEXT: paddd %xmm0, %xmm14
-; SSE2-NEXT: paddd %xmm0, %xmm13
-; SSE2-NEXT: paddd %xmm0, %xmm6
-; SSE2-NEXT: paddd %xmm0, %xmm9
-; SSE2-NEXT: paddd %xmm0, %xmm12
-; SSE2-NEXT: paddd %xmm0, %xmm11
-; SSE2-NEXT: paddd %xmm0, %xmm5
-; SSE2-NEXT: paddd %xmm0, %xmm10
-; SSE2-NEXT: paddd %xmm0, %xmm2
-; SSE2-NEXT: paddd %xmm0, %xmm3
+; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE2-NEXT: psubd %xmm0, %xmm15
+; SSE2-NEXT: psubd %xmm0, %xmm7
+; SSE2-NEXT: psubd %xmm0, %xmm8
+; SSE2-NEXT: psubd %xmm0, %xmm14
+; SSE2-NEXT: psubd %xmm0, %xmm13
+; SSE2-NEXT: psubd %xmm0, %xmm6
+; SSE2-NEXT: psubd %xmm0, %xmm9
+; SSE2-NEXT: psubd %xmm0, %xmm12
+; SSE2-NEXT: psubd %xmm0, %xmm11
+; SSE2-NEXT: psubd %xmm0, %xmm5
+; SSE2-NEXT: psubd %xmm0, %xmm10
+; SSE2-NEXT: psubd %xmm0, %xmm2
+; SSE2-NEXT: psubd %xmm0, %xmm3
; SSE2-NEXT: movdqa %xmm3, -{{[0-9]+}}(%rsp) # 16-byte Spill
-; SSE2-NEXT: paddd %xmm0, %xmm4
+; SSE2-NEXT: psubd %xmm0, %xmm4
; SSE2-NEXT: movdqa -{{[0-9]+}}(%rsp), %xmm3 # 16-byte Reload
-; SSE2-NEXT: paddd %xmm0, %xmm3
-; SSE2-NEXT: paddd %xmm0, %xmm1
+; SSE2-NEXT: psubd %xmm0, %xmm3
+; SSE2-NEXT: psubd %xmm0, %xmm1
; SSE2-NEXT: psrld $1, %xmm7
; SSE2-NEXT: psrld $1, %xmm15
; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
@@ -1285,6 +1511,123 @@ define void @avg_v64i8_2(<64 x i8>* %a, <64 x i8>* %b) {
; SSE2-NEXT: movdqu %xmm14, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v64i8_2:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm8 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm9 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm10 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm11 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm12 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm13 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm14 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm15 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm6 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm7, %xmm7
+; AVX1-NEXT: vmovdqa %xmm7, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpaddd %xmm6, %xmm6, %xmm6
+; AVX1-NEXT: vmovdqa %xmm6, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpaddd %xmm5, %xmm5, %xmm6
+; AVX1-NEXT: vpaddd %xmm4, %xmm4, %xmm5
+; AVX1-NEXT: vpaddd %xmm3, %xmm3, %xmm4
+; AVX1-NEXT: vpaddd %xmm2, %xmm2, %xmm3
+; AVX1-NEXT: vpaddd %xmm1, %xmm1, %xmm2
+; AVX1-NEXT: vpaddd %xmm0, %xmm0, %xmm1
+; AVX1-NEXT: vpaddd %xmm15, %xmm15, %xmm15
+; AVX1-NEXT: vpaddd %xmm14, %xmm14, %xmm14
+; AVX1-NEXT: vpaddd %xmm13, %xmm13, %xmm13
+; AVX1-NEXT: vpaddd %xmm12, %xmm12, %xmm12
+; AVX1-NEXT: vpaddd %xmm11, %xmm11, %xmm11
+; AVX1-NEXT: vpaddd %xmm10, %xmm10, %xmm10
+; AVX1-NEXT: vpaddd %xmm9, %xmm9, %xmm9
+; AVX1-NEXT: vpaddd %xmm8, %xmm8, %xmm8
+; AVX1-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0
+; AVX1-NEXT: vpsubd %xmm0, %xmm8, %xmm7
+; AVX1-NEXT: vmovdqa %xmm7, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpsubd %xmm0, %xmm9, %xmm8
+; AVX1-NEXT: vpsubd %xmm0, %xmm10, %xmm10
+; AVX1-NEXT: vpsubd %xmm0, %xmm11, %xmm9
+; AVX1-NEXT: vpsubd %xmm0, %xmm12, %xmm7
+; AVX1-NEXT: vmovdqa %xmm7, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpsubd %xmm0, %xmm13, %xmm11
+; AVX1-NEXT: vpsubd %xmm0, %xmm14, %xmm13
+; AVX1-NEXT: vpsubd %xmm0, %xmm15, %xmm12
+; AVX1-NEXT: vpsubd %xmm0, %xmm1, %xmm1
+; AVX1-NEXT: vpsubd %xmm0, %xmm2, %xmm15
+; AVX1-NEXT: vpsubd %xmm0, %xmm3, %xmm2
+; AVX1-NEXT: vpsubd %xmm0, %xmm4, %xmm14
+; AVX1-NEXT: vpsubd %xmm0, %xmm5, %xmm3
+; AVX1-NEXT: vmovdqa %xmm3, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpsubd %xmm0, %xmm6, %xmm5
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm3 # 16-byte Reload
+; AVX1-NEXT: vpsubd %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vmovdqa %xmm3, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm3 # 16-byte Reload
+; AVX1-NEXT: vpsubd %xmm0, %xmm3, %xmm0
+; AVX1-NEXT: vmovdqa %xmm0, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpsrld $1, %xmm8, %xmm6
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm0 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm8
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm7 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
+; AVX1-NEXT: vpand %xmm7, %xmm8, %xmm8
+; AVX1-NEXT: vpand %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpackuswb %xmm8, %xmm6, %xmm8
+; AVX1-NEXT: vpsrld $1, %xmm9, %xmm6
+; AVX1-NEXT: vpsrld $1, %xmm10, %xmm4
+; AVX1-NEXT: vpand %xmm7, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpackuswb %xmm4, %xmm6, %xmm4
+; AVX1-NEXT: vpackuswb %xmm8, %xmm4, %xmm4
+; AVX1-NEXT: vpsrld $1, %xmm11, %xmm6
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm0 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm3
+; AVX1-NEXT: vpand %xmm7, %xmm3, %xmm3
+; AVX1-NEXT: vpand %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpackuswb %xmm3, %xmm6, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm12, %xmm6
+; AVX1-NEXT: vpsrld $1, %xmm13, %xmm0
+; AVX1-NEXT: vpand %xmm7, %xmm0, %xmm0
+; AVX1-NEXT: vpand %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpackuswb %xmm0, %xmm6, %xmm0
+; AVX1-NEXT: vpackuswb %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm0
+; AVX1-NEXT: vpsrld $1, %xmm15, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
+; AVX1-NEXT: vpand %xmm7, %xmm1, %xmm1
+; AVX1-NEXT: vpand %xmm7, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm1, %xmm3, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm14, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpand %xmm7, %xmm2, %xmm2
+; AVX1-NEXT: vpand %xmm7, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vpackuswb %xmm1, %xmm2, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm5, %xmm2
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm3 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpand %xmm7, %xmm3, %xmm3
+; AVX1-NEXT: vpand %xmm7, %xmm2, %xmm2
+; AVX1-NEXT: vpackuswb %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm3 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm4 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm7, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm7, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm4, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1
+; AVX1-NEXT: vmovups %ymm1, (%rax)
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v64i8_2:
; AVX2: # BB#0:
; AVX2-NEXT: vpmovzxbd {{.*#+}} ymm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero,mem[4],zero,zero,zero,mem[5],zero,zero,zero,mem[6],zero,zero,zero,mem[7],zero,zero,zero
@@ -1303,15 +1646,15 @@ define void @avg_v64i8_2(<64 x i8>* %a, <64 x i8>* %b) {
; AVX2-NEXT: vpaddd %ymm2, %ymm2, %ymm2
; AVX2-NEXT: vpaddd %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpaddd %ymm0, %ymm0, %ymm0
-; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %ymm8
-; AVX2-NEXT: vpaddd %ymm8, %ymm0, %ymm9
-; AVX2-NEXT: vpaddd %ymm8, %ymm1, %ymm10
-; AVX2-NEXT: vpaddd %ymm8, %ymm2, %ymm2
-; AVX2-NEXT: vpaddd %ymm8, %ymm3, %ymm3
-; AVX2-NEXT: vpaddd %ymm8, %ymm4, %ymm4
-; AVX2-NEXT: vpaddd %ymm8, %ymm5, %ymm5
-; AVX2-NEXT: vpaddd %ymm8, %ymm6, %ymm1
-; AVX2-NEXT: vpaddd %ymm8, %ymm7, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm8, %ymm8, %ymm8
+; AVX2-NEXT: vpsubd %ymm8, %ymm0, %ymm9
+; AVX2-NEXT: vpsubd %ymm8, %ymm1, %ymm10
+; AVX2-NEXT: vpsubd %ymm8, %ymm2, %ymm2
+; AVX2-NEXT: vpsubd %ymm8, %ymm3, %ymm3
+; AVX2-NEXT: vpsubd %ymm8, %ymm4, %ymm4
+; AVX2-NEXT: vpsubd %ymm8, %ymm5, %ymm5
+; AVX2-NEXT: vpsubd %ymm8, %ymm6, %ymm1
+; AVX2-NEXT: vpsubd %ymm8, %ymm7, %ymm0
; AVX2-NEXT: vpsrld $1, %ymm0, %ymm11
; AVX2-NEXT: vpsrld $1, %ymm1, %ymm12
; AVX2-NEXT: vpsrld $1, %ymm5, %ymm5
@@ -1367,11 +1710,11 @@ define void @avg_v64i8_2(<64 x i8>* %a, <64 x i8>* %b) {
; AVX512F-NEXT: vpaddd %zmm2, %zmm2, %zmm2
; AVX512F-NEXT: vpaddd %zmm1, %zmm1, %zmm1
; AVX512F-NEXT: vpaddd %zmm0, %zmm0, %zmm0
-; AVX512F-NEXT: vpbroadcastd {{.*}}(%rip), %zmm4
-; AVX512F-NEXT: vpaddd %zmm4, %zmm0, %zmm0
-; AVX512F-NEXT: vpaddd %zmm4, %zmm1, %zmm1
-; AVX512F-NEXT: vpaddd %zmm4, %zmm2, %zmm2
-; AVX512F-NEXT: vpaddd %zmm4, %zmm3, %zmm3
+; AVX512F-NEXT: vpternlogd $255, %zmm4, %zmm4, %zmm4
+; AVX512F-NEXT: vpsubd %zmm4, %zmm0, %zmm0
+; AVX512F-NEXT: vpsubd %zmm4, %zmm1, %zmm1
+; AVX512F-NEXT: vpsubd %zmm4, %zmm2, %zmm2
+; AVX512F-NEXT: vpsubd %zmm4, %zmm3, %zmm3
; AVX512F-NEXT: vpsrld $1, %zmm3, %zmm3
; AVX512F-NEXT: vpsrld $1, %zmm2, %zmm2
; AVX512F-NEXT: vpsrld $1, %zmm1, %zmm1
@@ -1416,29 +1759,13 @@ define void @avg_v4i16_2(<4 x i16>* %a, <4 x i16>* %b) {
; SSE2-NEXT: movq %xmm1, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v4i16_2:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX2-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX2-NEXT: vpavgw %xmm1, %xmm0, %xmm0
-; AVX2-NEXT: vmovq %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v4i16_2:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512F-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX512F-NEXT: vpavgw %xmm1, %xmm0, %xmm0
-; AVX512F-NEXT: vmovq %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v4i16_2:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
-; AVX512BW-NEXT: vpavgw %xmm1, %xmm0, %xmm0
-; AVX512BW-NEXT: vmovq %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v4i16_2:
+; AVX: # BB#0:
+; AVX-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
+; AVX-NEXT: vmovq {{.*#+}} xmm1 = mem[0],zero
+; AVX-NEXT: vpavgw %xmm1, %xmm0, %xmm0
+; AVX-NEXT: vmovq %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <4 x i16>, <4 x i16>* %a
%2 = load <4 x i16>, <4 x i16>* %b
%3 = zext <4 x i16> %1 to <4 x i32>
@@ -1459,26 +1786,12 @@ define void @avg_v8i16_2(<8 x i16>* %a, <8 x i16>* %b) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v8i16_2:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovdqa (%rdi), %xmm0
-; AVX2-NEXT: vpavgw (%rsi), %xmm0, %xmm0
-; AVX2-NEXT: vmovdqu %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v8i16_2:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rdi), %xmm0
-; AVX512F-NEXT: vpavgw (%rsi), %xmm0, %xmm0
-; AVX512F-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v8i16_2:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rdi), %xmm0
-; AVX512BW-NEXT: vpavgw (%rsi), %xmm0, %xmm0
-; AVX512BW-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v8i16_2:
+; AVX: # BB#0:
+; AVX-NEXT: vmovdqa (%rdi), %xmm0
+; AVX-NEXT: vpavgw (%rsi), %xmm0, %xmm0
+; AVX-NEXT: vmovdqu %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <8 x i16>, <8 x i16>* %a
%2 = load <8 x i16>, <8 x i16>* %b
%3 = zext <8 x i16> %1 to <8 x i32>
@@ -1515,11 +1828,11 @@ define void @avg_v16i16_2(<16 x i16>* %a, <16 x i16>* %b) {
; SSE2-NEXT: paddd %xmm7, %xmm2
; SSE2-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm5[0],xmm1[1],xmm5[1],xmm1[2],xmm5[2],xmm1[3],xmm5[3]
; SSE2-NEXT: paddd %xmm4, %xmm1
-; SSE2-NEXT: movdqa {{.*#+}} xmm4 = [1,1,1,1]
-; SSE2-NEXT: paddd %xmm4, %xmm3
-; SSE2-NEXT: paddd %xmm4, %xmm0
-; SSE2-NEXT: paddd %xmm4, %xmm2
-; SSE2-NEXT: paddd %xmm4, %xmm1
+; SSE2-NEXT: pcmpeqd %xmm4, %xmm4
+; SSE2-NEXT: psubd %xmm4, %xmm3
+; SSE2-NEXT: psubd %xmm4, %xmm0
+; SSE2-NEXT: psubd %xmm4, %xmm2
+; SSE2-NEXT: psubd %xmm4, %xmm1
; SSE2-NEXT: psrld $1, %xmm1
; SSE2-NEXT: psrld $1, %xmm2
; SSE2-NEXT: psrld $1, %xmm0
@@ -1538,6 +1851,41 @@ define void @avg_v16i16_2(<16 x i16>* %a, <16 x i16>* %b) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v16i16_2:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm3 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm0, %xmm0
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm1, %xmm1
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm2, %xmm2
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm4, %xmm3, %xmm3
+; AVX1-NEXT: vpcmpeqd %xmm4, %xmm4, %xmm4
+; AVX1-NEXT: vpsubd %xmm4, %xmm0, %xmm0
+; AVX1-NEXT: vpsubd %xmm4, %xmm1, %xmm1
+; AVX1-NEXT: vpsubd %xmm4, %xmm2, %xmm2
+; AVX1-NEXT: vpsubd %xmm4, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm0
+; AVX1-NEXT: vpxor %xmm4, %xmm4, %xmm4
+; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm4[1],xmm0[2],xmm4[3],xmm0[4],xmm4[5],xmm0[6],xmm4[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0],xmm4[1],xmm1[2],xmm4[3],xmm1[4],xmm4[5],xmm1[6],xmm4[7]
+; AVX1-NEXT: vpackusdw %xmm0, %xmm1, %xmm0
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm2[0],xmm4[1],xmm2[2],xmm4[3],xmm2[4],xmm4[5],xmm2[6],xmm4[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm3[0],xmm4[1],xmm3[2],xmm4[3],xmm3[4],xmm4[5],xmm3[6],xmm4[7]
+; AVX1-NEXT: vpackusdw %xmm1, %xmm2, %xmm1
+; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v16i16_2:
; AVX2: # BB#0:
; AVX2-NEXT: vmovdqa (%rdi), %ymm0
@@ -1546,21 +1894,13 @@ define void @avg_v16i16_2(<16 x i16>* %a, <16 x i16>* %b) {
; AVX2-NEXT: vzeroupper
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: avg_v16i16_2:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
-; AVX512F-NEXT: vpavgw (%rsi), %ymm0, %ymm0
-; AVX512F-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512F-NEXT: vzeroupper
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v16i16_2:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rdi), %ymm0
-; AVX512BW-NEXT: vpavgw (%rsi), %ymm0, %ymm0
-; AVX512BW-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512BW-NEXT: vzeroupper
-; AVX512BW-NEXT: retq
+; AVX512-LABEL: avg_v16i16_2:
+; AVX512: # BB#0:
+; AVX512-NEXT: vmovdqa (%rdi), %ymm0
+; AVX512-NEXT: vpavgw (%rsi), %ymm0, %ymm0
+; AVX512-NEXT: vmovdqu %ymm0, (%rax)
+; AVX512-NEXT: vzeroupper
+; AVX512-NEXT: retq
%1 = load <16 x i16>, <16 x i16>* %a
%2 = load <16 x i16>, <16 x i16>* %b
%3 = zext <16 x i16> %1 to <16 x i32>
@@ -1617,15 +1957,15 @@ define void @avg_v32i16_2(<32 x i16>* %a, <32 x i16>* %b) {
; SSE2-NEXT: paddd %xmm13, %xmm4
; SSE2-NEXT: punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3]
; SSE2-NEXT: paddd %xmm8, %xmm3
-; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [1,1,1,1]
-; SSE2-NEXT: paddd %xmm0, %xmm7
-; SSE2-NEXT: paddd %xmm0, %xmm9
-; SSE2-NEXT: paddd %xmm0, %xmm6
-; SSE2-NEXT: paddd %xmm0, %xmm1
-; SSE2-NEXT: paddd %xmm0, %xmm5
-; SSE2-NEXT: paddd %xmm0, %xmm2
-; SSE2-NEXT: paddd %xmm0, %xmm4
-; SSE2-NEXT: paddd %xmm0, %xmm3
+; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE2-NEXT: psubd %xmm0, %xmm7
+; SSE2-NEXT: psubd %xmm0, %xmm9
+; SSE2-NEXT: psubd %xmm0, %xmm6
+; SSE2-NEXT: psubd %xmm0, %xmm1
+; SSE2-NEXT: psubd %xmm0, %xmm5
+; SSE2-NEXT: psubd %xmm0, %xmm2
+; SSE2-NEXT: psubd %xmm0, %xmm4
+; SSE2-NEXT: psubd %xmm0, %xmm3
; SSE2-NEXT: psrld $1, %xmm3
; SSE2-NEXT: psrld $1, %xmm4
; SSE2-NEXT: psrld $1, %xmm2
@@ -1660,6 +2000,69 @@ define void @avg_v32i16_2(<32 x i16>* %a, <32 x i16>* %b) {
; SSE2-NEXT: movdqu %xmm9, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v32i16_2:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm3 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm5 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm6 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm8 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm0, %xmm9
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm1, %xmm1
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm2, %xmm2
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm3, %xmm3
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm4, %xmm4
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm5, %xmm5
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpaddd %xmm7, %xmm8, %xmm7
+; AVX1-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0
+; AVX1-NEXT: vpsubd %xmm0, %xmm9, %xmm8
+; AVX1-NEXT: vpsubd %xmm0, %xmm1, %xmm1
+; AVX1-NEXT: vpsubd %xmm0, %xmm2, %xmm2
+; AVX1-NEXT: vpsubd %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vpsubd %xmm0, %xmm4, %xmm4
+; AVX1-NEXT: vpsubd %xmm0, %xmm5, %xmm5
+; AVX1-NEXT: vpsubd %xmm0, %xmm6, %xmm6
+; AVX1-NEXT: vpsubd %xmm0, %xmm7, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm9
+; AVX1-NEXT: vpsrld $1, %xmm6, %xmm6
+; AVX1-NEXT: vpsrld $1, %xmm5, %xmm5
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm8, %xmm7
+; AVX1-NEXT: vpxor %xmm0, %xmm0, %xmm0
+; AVX1-NEXT: vpblendw {{.*#+}} xmm7 = xmm7[0],xmm0[1],xmm7[2],xmm0[3],xmm7[4],xmm0[5],xmm7[6],xmm0[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0],xmm0[1],xmm1[2],xmm0[3],xmm1[4],xmm0[5],xmm1[6],xmm0[7]
+; AVX1-NEXT: vpackusdw %xmm7, %xmm1, %xmm1
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm2[0],xmm0[1],xmm2[2],xmm0[3],xmm2[4],xmm0[5],xmm2[6],xmm0[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm3[0],xmm0[1],xmm3[2],xmm0[3],xmm3[4],xmm0[5],xmm3[6],xmm0[7]
+; AVX1-NEXT: vpackusdw %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm4[0],xmm0[1],xmm4[2],xmm0[3],xmm4[4],xmm0[5],xmm4[6],xmm0[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm5[0],xmm0[1],xmm5[2],xmm0[3],xmm5[4],xmm0[5],xmm5[6],xmm0[7]
+; AVX1-NEXT: vpackusdw %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm6[0],xmm0[1],xmm6[2],xmm0[3],xmm6[4],xmm0[5],xmm6[6],xmm0[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm9[0],xmm0[1],xmm9[2],xmm0[3],xmm9[4],xmm0[5],xmm9[6],xmm0[7]
+; AVX1-NEXT: vpackusdw %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vmovups %ymm1, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v32i16_2:
; AVX2: # BB#0:
; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
@@ -1674,11 +2077,11 @@ define void @avg_v32i16_2(<32 x i16>* %a, <32 x i16>* %b) {
; AVX2-NEXT: vpaddd %ymm4, %ymm2, %ymm2
; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
; AVX2-NEXT: vpaddd %ymm4, %ymm3, %ymm3
-; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %ymm4
-; AVX2-NEXT: vpaddd %ymm4, %ymm0, %ymm0
-; AVX2-NEXT: vpaddd %ymm4, %ymm1, %ymm1
-; AVX2-NEXT: vpaddd %ymm4, %ymm2, %ymm2
-; AVX2-NEXT: vpaddd %ymm4, %ymm3, %ymm3
+; AVX2-NEXT: vpcmpeqd %ymm4, %ymm4, %ymm4
+; AVX2-NEXT: vpsubd %ymm4, %ymm0, %ymm0
+; AVX2-NEXT: vpsubd %ymm4, %ymm1, %ymm1
+; AVX2-NEXT: vpsubd %ymm4, %ymm2, %ymm2
+; AVX2-NEXT: vpsubd %ymm4, %ymm3, %ymm3
; AVX2-NEXT: vpsrld $1, %ymm3, %ymm3
; AVX2-NEXT: vpsrld $1, %ymm2, %ymm2
; AVX2-NEXT: vpsrld $1, %ymm1, %ymm1
@@ -1707,9 +2110,9 @@ define void @avg_v32i16_2(<32 x i16>* %a, <32 x i16>* %b) {
; AVX512F-NEXT: vpaddd %zmm2, %zmm0, %zmm0
; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero,mem[8],zero,mem[9],zero,mem[10],zero,mem[11],zero,mem[12],zero,mem[13],zero,mem[14],zero,mem[15],zero
; AVX512F-NEXT: vpaddd %zmm2, %zmm1, %zmm1
-; AVX512F-NEXT: vpbroadcastd {{.*}}(%rip), %zmm2
-; AVX512F-NEXT: vpaddd %zmm2, %zmm0, %zmm0
-; AVX512F-NEXT: vpaddd %zmm2, %zmm1, %zmm1
+; AVX512F-NEXT: vpternlogd $255, %zmm2, %zmm2, %zmm2
+; AVX512F-NEXT: vpsubd %zmm2, %zmm0, %zmm0
+; AVX512F-NEXT: vpsubd %zmm2, %zmm1, %zmm1
; AVX512F-NEXT: vpsrld $1, %zmm1, %zmm1
; AVX512F-NEXT: vpsrld $1, %zmm0, %zmm0
; AVX512F-NEXT: vpmovdw %zmm0, (%rax)
@@ -1744,26 +2147,12 @@ define void @avg_v4i8_const(<4 x i8>* %a) {
; SSE2-NEXT: movd %xmm0, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v4i8_const:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX2-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
-; AVX2-NEXT: vmovd %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v4i8_const:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX512F-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
-; AVX512F-NEXT: vmovd %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v4i8_const:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX512BW-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
-; AVX512BW-NEXT: vmovd %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v4i8_const:
+; AVX: # BB#0:
+; AVX-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
+; AVX-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vmovd %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <4 x i8>, <4 x i8>* %a
%2 = zext <4 x i8> %1 to <4 x i32>
%3 = add nuw nsw <4 x i32> %2, <i32 1, i32 2, i32 3, i32 4>
@@ -1781,26 +2170,12 @@ define void @avg_v8i8_const(<8 x i8>* %a) {
; SSE2-NEXT: movq %xmm0, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v8i8_const:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX2-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
-; AVX2-NEXT: vmovq %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v8i8_const:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512F-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
-; AVX512F-NEXT: vmovq %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v8i8_const:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512BW-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
-; AVX512BW-NEXT: vmovq %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v8i8_const:
+; AVX: # BB#0:
+; AVX-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
+; AVX-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vmovq %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <8 x i8>, <8 x i8>* %a
%2 = zext <8 x i8> %1 to <8 x i32>
%3 = add nuw nsw <8 x i32> %2, <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8>
@@ -1818,26 +2193,12 @@ define void @avg_v16i8_const(<16 x i8>* %a) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v16i8_const:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovdqa (%rdi), %xmm0
-; AVX2-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
-; AVX2-NEXT: vmovdqu %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v16i8_const:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rdi), %xmm0
-; AVX512F-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
-; AVX512F-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v16i8_const:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rdi), %xmm0
-; AVX512BW-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
-; AVX512BW-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v16i8_const:
+; AVX: # BB#0:
+; AVX-NEXT: vmovdqa (%rdi), %xmm0
+; AVX-NEXT: vpavgb {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vmovdqu %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <16 x i8>, <16 x i8>* %a
%2 = zext <16 x i8> %1 to <16 x i32>
%3 = add nuw nsw <16 x i32> %2, <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8>
@@ -1908,6 +2269,54 @@ define void @avg_v32i8_const(<32 x i8>* %a) {
; SSE2-NEXT: movdqu %xmm4, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v32i8_const:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm8 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm6 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm0 = [5,6,7,8]
+; AVX1-NEXT: vpaddd %xmm0, %xmm7, %xmm9
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm7 = [1,2,3,4]
+; AVX1-NEXT: vpaddd %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpaddd %xmm0, %xmm5, %xmm5
+; AVX1-NEXT: vpaddd %xmm7, %xmm4, %xmm4
+; AVX1-NEXT: vpaddd %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vpaddd %xmm7, %xmm2, %xmm2
+; AVX1-NEXT: vpaddd %xmm0, %xmm1, %xmm0
+; AVX1-NEXT: vpaddd %xmm7, %xmm8, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm8
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpsrld $1, %xmm5, %xmm5
+; AVX1-NEXT: vpsrld $1, %xmm6, %xmm6
+; AVX1-NEXT: vpsrld $1, %xmm9, %xmm7
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm1 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
+; AVX1-NEXT: vpand %xmm1, %xmm7, %xmm7
+; AVX1-NEXT: vpand %xmm1, %xmm6, %xmm6
+; AVX1-NEXT: vpackuswb %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpand %xmm1, %xmm5, %xmm5
+; AVX1-NEXT: vpand %xmm1, %xmm4, %xmm4
+; AVX1-NEXT: vpackuswb %xmm5, %xmm4, %xmm4
+; AVX1-NEXT: vpackuswb %xmm6, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm1, %xmm3, %xmm3
+; AVX1-NEXT: vpand %xmm1, %xmm2, %xmm2
+; AVX1-NEXT: vpackuswb %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpand %xmm1, %xmm0, %xmm0
+; AVX1-NEXT: vpand %xmm1, %xmm8, %xmm1
+; AVX1-NEXT: vpackuswb %xmm0, %xmm1, %xmm0
+; AVX1-NEXT: vpackuswb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v32i8_const:
; AVX2: # BB#0:
; AVX2-NEXT: vmovdqa (%rdi), %ymm0
@@ -1916,21 +2325,13 @@ define void @avg_v32i8_const(<32 x i8>* %a) {
; AVX2-NEXT: vzeroupper
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: avg_v32i8_const:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
-; AVX512F-NEXT: vpavgb {{.*}}(%rip), %ymm0, %ymm0
-; AVX512F-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512F-NEXT: vzeroupper
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v32i8_const:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rdi), %ymm0
-; AVX512BW-NEXT: vpavgb {{.*}}(%rip), %ymm0, %ymm0
-; AVX512BW-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512BW-NEXT: vzeroupper
-; AVX512BW-NEXT: retq
+; AVX512-LABEL: avg_v32i8_const:
+; AVX512: # BB#0:
+; AVX512-NEXT: vmovdqa (%rdi), %ymm0
+; AVX512-NEXT: vpavgb {{.*}}(%rip), %ymm0, %ymm0
+; AVX512-NEXT: vmovdqu %ymm0, (%rax)
+; AVX512-NEXT: vzeroupper
+; AVX512-NEXT: retq
%1 = load <32 x i8>, <32 x i8>* %a
%2 = zext <32 x i8> %1 to <32 x i32>
%3 = add nuw nsw <32 x i32> %2, <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8>
@@ -2060,6 +2461,99 @@ define void @avg_v64i8_const(<64 x i8>* %a) {
; SSE2-NEXT: movdqu %xmm1, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v64i8_const:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm2 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vmovdqa %xmm0, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm9 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm14 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm6 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm11 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm4 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm8 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm13 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm10 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm7 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm12 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm5 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm0 = [5,6,7,8]
+; AVX1-NEXT: vpaddd %xmm0, %xmm5, %xmm5
+; AVX1-NEXT: vpaddd %xmm0, %xmm7, %xmm15
+; AVX1-NEXT: vpaddd %xmm0, %xmm13, %xmm13
+; AVX1-NEXT: vpaddd %xmm0, %xmm1, %xmm7
+; AVX1-NEXT: vpaddd %xmm0, %xmm11, %xmm11
+; AVX1-NEXT: vpaddd %xmm0, %xmm3, %xmm1
+; AVX1-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vpaddd %xmm0, %xmm9, %xmm9
+; AVX1-NEXT: vpaddd %xmm0, %xmm2, %xmm0
+; AVX1-NEXT: vmovdqa %xmm0, -{{[0-9]+}}(%rsp) # 16-byte Spill
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = [1,2,3,4]
+; AVX1-NEXT: vpaddd %xmm2, %xmm12, %xmm0
+; AVX1-NEXT: vpaddd %xmm2, %xmm10, %xmm10
+; AVX1-NEXT: vpaddd %xmm2, %xmm8, %xmm8
+; AVX1-NEXT: vpaddd %xmm2, %xmm4, %xmm4
+; AVX1-NEXT: vpaddd %xmm2, %xmm6, %xmm1
+; AVX1-NEXT: vpaddd %xmm2, %xmm14, %xmm6
+; AVX1-NEXT: vpaddd -{{[0-9]+}}(%rsp), %xmm2, %xmm12 # 16-byte Folded Reload
+; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm3 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; AVX1-NEXT: vpaddd %xmm2, %xmm3, %xmm14
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm5, %xmm3
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0]
+; AVX1-NEXT: vpand %xmm5, %xmm3, %xmm3
+; AVX1-NEXT: vpand %xmm5, %xmm0, %xmm0
+; AVX1-NEXT: vpackuswb %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm10, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm15, %xmm2
+; AVX1-NEXT: vpand %xmm5, %xmm2, %xmm2
+; AVX1-NEXT: vpand %xmm5, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vpackuswb %xmm0, %xmm2, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm8, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm13, %xmm3
+; AVX1-NEXT: vpand %xmm5, %xmm3, %xmm3
+; AVX1-NEXT: vpand %xmm5, %xmm2, %xmm2
+; AVX1-NEXT: vpackuswb %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm7, %xmm4
+; AVX1-NEXT: vpand %xmm5, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm5, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm4, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm0
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm11, %xmm2
+; AVX1-NEXT: vpand %xmm5, %xmm2, %xmm2
+; AVX1-NEXT: vpand %xmm5, %xmm1, %xmm1
+; AVX1-NEXT: vpackuswb %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm6, %xmm2
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm3 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpand %xmm5, %xmm3, %xmm3
+; AVX1-NEXT: vpand %xmm5, %xmm2, %xmm2
+; AVX1-NEXT: vpackuswb %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpackuswb %xmm1, %xmm2, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm12, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm9, %xmm3
+; AVX1-NEXT: vpand %xmm5, %xmm3, %xmm3
+; AVX1-NEXT: vpand %xmm5, %xmm2, %xmm2
+; AVX1-NEXT: vpackuswb %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm14, %xmm3
+; AVX1-NEXT: vmovdqa -{{[0-9]+}}(%rsp), %xmm4 # 16-byte Reload
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm5, %xmm4, %xmm4
+; AVX1-NEXT: vpand %xmm5, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm4, %xmm3, %xmm3
+; AVX1-NEXT: vpackuswb %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1
+; AVX1-NEXT: vmovups %ymm1, (%rax)
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v64i8_const:
; AVX2: # BB#0:
; AVX2-NEXT: vpmovzxbd {{.*#+}} ymm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero,mem[4],zero,zero,zero,mem[5],zero,zero,zero,mem[6],zero,zero,zero,mem[7],zero,zero,zero
@@ -2174,26 +2668,12 @@ define void @avg_v4i16_const(<4 x i16>* %a) {
; SSE2-NEXT: movq %xmm0, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v4i16_const:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX2-NEXT: vpavgw {{.*}}(%rip), %xmm0, %xmm0
-; AVX2-NEXT: vmovq %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v4i16_const:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512F-NEXT: vpavgw {{.*}}(%rip), %xmm0, %xmm0
-; AVX512F-NEXT: vmovq %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v4i16_const:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
-; AVX512BW-NEXT: vpavgw {{.*}}(%rip), %xmm0, %xmm0
-; AVX512BW-NEXT: vmovq %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v4i16_const:
+; AVX: # BB#0:
+; AVX-NEXT: vmovq {{.*#+}} xmm0 = mem[0],zero
+; AVX-NEXT: vpavgw {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vmovq %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <4 x i16>, <4 x i16>* %a
%2 = zext <4 x i16> %1 to <4 x i32>
%3 = add nuw nsw <4 x i32> %2, <i32 1, i32 2, i32 3, i32 4>
@@ -2211,26 +2691,12 @@ define void @avg_v8i16_const(<8 x i16>* %a) {
; SSE2-NEXT: movdqu %xmm0, (%rax)
; SSE2-NEXT: retq
;
-; AVX2-LABEL: avg_v8i16_const:
-; AVX2: # BB#0:
-; AVX2-NEXT: vmovdqa (%rdi), %xmm0
-; AVX2-NEXT: vpavgw {{.*}}(%rip), %xmm0, %xmm0
-; AVX2-NEXT: vmovdqu %xmm0, (%rax)
-; AVX2-NEXT: retq
-;
-; AVX512F-LABEL: avg_v8i16_const:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rdi), %xmm0
-; AVX512F-NEXT: vpavgw {{.*}}(%rip), %xmm0, %xmm0
-; AVX512F-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v8i16_const:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rdi), %xmm0
-; AVX512BW-NEXT: vpavgw {{.*}}(%rip), %xmm0, %xmm0
-; AVX512BW-NEXT: vmovdqu %xmm0, (%rax)
-; AVX512BW-NEXT: retq
+; AVX-LABEL: avg_v8i16_const:
+; AVX: # BB#0:
+; AVX-NEXT: vmovdqa (%rdi), %xmm0
+; AVX-NEXT: vpavgw {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vmovdqu %xmm0, (%rax)
+; AVX-NEXT: retq
%1 = load <8 x i16>, <8 x i16>* %a
%2 = zext <8 x i16> %1 to <8 x i32>
%3 = add nuw nsw <8 x i32> %2, <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8>
@@ -2276,6 +2742,34 @@ define void @avg_v16i16_const(<16 x i16>* %a) {
; SSE2-NEXT: movdqu %xmm2, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v16i16_const:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm3 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [5,6,7,8]
+; AVX1-NEXT: vpaddd %xmm4, %xmm3, %xmm3
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [1,2,3,4]
+; AVX1-NEXT: vpaddd %xmm5, %xmm2, %xmm2
+; AVX1-NEXT: vpaddd %xmm4, %xmm1, %xmm1
+; AVX1-NEXT: vpaddd %xmm5, %xmm0, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpxor %xmm4, %xmm4, %xmm4
+; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm3[0],xmm4[1],xmm3[2],xmm4[3],xmm3[4],xmm4[5],xmm3[6],xmm4[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm2[0],xmm4[1],xmm2[2],xmm4[3],xmm2[4],xmm4[5],xmm2[6],xmm4[7]
+; AVX1-NEXT: vpackusdw %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0],xmm4[1],xmm1[2],xmm4[3],xmm1[4],xmm4[5],xmm1[6],xmm4[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm4[1],xmm0[2],xmm4[3],xmm0[4],xmm4[5],xmm0[6],xmm4[7]
+; AVX1-NEXT: vpackusdw %xmm1, %xmm0, %xmm0
+; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v16i16_const:
; AVX2: # BB#0:
; AVX2-NEXT: vmovdqa (%rdi), %ymm0
@@ -2284,21 +2778,13 @@ define void @avg_v16i16_const(<16 x i16>* %a) {
; AVX2-NEXT: vzeroupper
; AVX2-NEXT: retq
;
-; AVX512F-LABEL: avg_v16i16_const:
-; AVX512F: # BB#0:
-; AVX512F-NEXT: vmovdqa (%rdi), %ymm0
-; AVX512F-NEXT: vpavgw {{.*}}(%rip), %ymm0, %ymm0
-; AVX512F-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512F-NEXT: vzeroupper
-; AVX512F-NEXT: retq
-;
-; AVX512BW-LABEL: avg_v16i16_const:
-; AVX512BW: # BB#0:
-; AVX512BW-NEXT: vmovdqa (%rdi), %ymm0
-; AVX512BW-NEXT: vpavgw {{.*}}(%rip), %ymm0, %ymm0
-; AVX512BW-NEXT: vmovdqu %ymm0, (%rax)
-; AVX512BW-NEXT: vzeroupper
-; AVX512BW-NEXT: retq
+; AVX512-LABEL: avg_v16i16_const:
+; AVX512: # BB#0:
+; AVX512-NEXT: vmovdqa (%rdi), %ymm0
+; AVX512-NEXT: vpavgw {{.*}}(%rip), %ymm0, %ymm0
+; AVX512-NEXT: vmovdqu %ymm0, (%rax)
+; AVX512-NEXT: vzeroupper
+; AVX512-NEXT: retq
%1 = load <16 x i16>, <16 x i16>* %a
%2 = zext <16 x i16> %1 to <16 x i32>
%3 = add nuw nsw <16 x i32> %2, <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8>
@@ -2372,6 +2858,54 @@ define void @avg_v32i16_const(<32 x i16>* %a) {
; SSE2-NEXT: movdqu %xmm5, (%rax)
; SSE2-NEXT: retq
;
+; AVX1-LABEL: avg_v32i16_const:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm8 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm3 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm4 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm5 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm6 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm0 = [5,6,7,8]
+; AVX1-NEXT: vpaddd %xmm0, %xmm7, %xmm9
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm7 = [1,2,3,4]
+; AVX1-NEXT: vpaddd %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpaddd %xmm0, %xmm5, %xmm5
+; AVX1-NEXT: vpaddd %xmm7, %xmm4, %xmm4
+; AVX1-NEXT: vpaddd %xmm0, %xmm3, %xmm3
+; AVX1-NEXT: vpaddd %xmm7, %xmm2, %xmm2
+; AVX1-NEXT: vpaddd %xmm0, %xmm1, %xmm0
+; AVX1-NEXT: vpaddd %xmm7, %xmm8, %xmm1
+; AVX1-NEXT: vpsrld $1, %xmm1, %xmm8
+; AVX1-NEXT: vpsrld $1, %xmm0, %xmm0
+; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
+; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
+; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
+; AVX1-NEXT: vpsrld $1, %xmm5, %xmm5
+; AVX1-NEXT: vpsrld $1, %xmm6, %xmm6
+; AVX1-NEXT: vpsrld $1, %xmm9, %xmm7
+; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
+; AVX1-NEXT: vpblendw {{.*#+}} xmm7 = xmm7[0],xmm1[1],xmm7[2],xmm1[3],xmm7[4],xmm1[5],xmm7[6],xmm1[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm6 = xmm6[0],xmm1[1],xmm6[2],xmm1[3],xmm6[4],xmm1[5],xmm6[6],xmm1[7]
+; AVX1-NEXT: vpackusdw %xmm7, %xmm6, %xmm6
+; AVX1-NEXT: vpblendw {{.*#+}} xmm5 = xmm5[0],xmm1[1],xmm5[2],xmm1[3],xmm5[4],xmm1[5],xmm5[6],xmm1[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm4 = xmm4[0],xmm1[1],xmm4[2],xmm1[3],xmm4[4],xmm1[5],xmm4[6],xmm1[7]
+; AVX1-NEXT: vpackusdw %xmm5, %xmm4, %xmm4
+; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm4, %ymm4
+; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm3[0],xmm1[1],xmm3[2],xmm1[3],xmm3[4],xmm1[5],xmm3[6],xmm1[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm2[0],xmm1[1],xmm2[2],xmm1[3],xmm2[4],xmm1[5],xmm2[6],xmm1[7]
+; AVX1-NEXT: vpackusdw %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm8[0],xmm1[1],xmm8[2],xmm1[3],xmm8[4],xmm1[5],xmm8[6],xmm1[7]
+; AVX1-NEXT: vpackusdw %xmm0, %xmm1, %xmm0
+; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
+; AVX1-NEXT: vmovups %ymm0, (%rax)
+; AVX1-NEXT: vmovups %ymm4, (%rax)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
; AVX2-LABEL: avg_v32i16_const:
; AVX2: # BB#0:
; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
diff --git a/test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll b/test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
index 27aeb77468ce..2bcb083f6d4c 100644
--- a/test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
+++ b/test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
@@ -388,7 +388,8 @@ define void @test_x86_sse2_storeu_dq(i8* %a0, <16 x i8> %a1) {
; CHECK-LABEL: test_x86_sse2_storeu_dq:
; CHECK: ## BB#0:
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: vpaddb LCPI34_0, %xmm0, %xmm0
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; CHECK-NEXT: vpsubb %xmm1, %xmm0, %xmm0
; CHECK-NEXT: vmovdqu %xmm0, (%eax)
; CHECK-NEXT: retl
%a2 = add <16 x i8> %a1, <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>
@@ -434,9 +435,9 @@ define void @test_x86_avx_storeu_dq_256(i8* %a0, <32 x i8> %a1) {
; CHECK: ## BB#0:
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
; CHECK-NEXT: vextractf128 $1, %ymm0, %xmm1
-; CHECK-NEXT: vmovdqa {{.*#+}} xmm2 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; CHECK-NEXT: vpaddb %xmm2, %xmm1, %xmm1
-; CHECK-NEXT: vpaddb %xmm2, %xmm0, %xmm0
+; CHECK-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; CHECK-NEXT: vpsubb %xmm2, %xmm1, %xmm1
+; CHECK-NEXT: vpsubb %xmm2, %xmm0, %xmm0
; CHECK-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
; CHECK-NEXT: vmovups %ymm0, (%eax)
; CHECK-NEXT: vzeroupper
diff --git a/test/CodeGen/X86/avx-intrinsics-x86.ll b/test/CodeGen/X86/avx-intrinsics-x86.ll
index 70e31771071f..c1fa2b1d6b76 100644
--- a/test/CodeGen/X86/avx-intrinsics-x86.ll
+++ b/test/CodeGen/X86/avx-intrinsics-x86.ll
@@ -930,8 +930,8 @@ define void @movnt_dq(i8* %p, <2 x i64> %a1) nounwind {
; AVX-LABEL: movnt_dq:
; AVX: ## BB#0:
; AVX-NEXT: movl {{[0-9]+}}(%esp), %eax ## encoding: [0x8b,0x44,0x24,0x04]
-; AVX-NEXT: vpaddq LCPI65_0, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xd4,0x05,A,A,A,A]
-; AVX-NEXT: ## fixup A - offset: 4, value: LCPI65_0, kind: FK_Data_4
+; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1 ## encoding: [0xc5,0xf1,0x76,0xc9]
+; AVX-NEXT: vpsubq %xmm1, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xfb,0xc1]
; AVX-NEXT: vmovntdq %ymm0, (%eax) ## encoding: [0xc5,0xfd,0xe7,0x00]
; AVX-NEXT: vzeroupper ## encoding: [0xc5,0xf8,0x77]
; AVX-NEXT: retl ## encoding: [0xc3]
@@ -939,8 +939,8 @@ define void @movnt_dq(i8* %p, <2 x i64> %a1) nounwind {
; AVX512VL-LABEL: movnt_dq:
; AVX512VL: ## BB#0:
; AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax ## encoding: [0x8b,0x44,0x24,0x04]
-; AVX512VL-NEXT: vpaddq LCPI65_0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xd4,0x05,A,A,A,A]
-; AVX512VL-NEXT: ## fixup A - offset: 4, value: LCPI65_0, kind: FK_Data_4
+; AVX512VL-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1 ## encoding: [0xc5,0xf1,0x76,0xc9]
+; AVX512VL-NEXT: vpsubq %xmm1, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xfb,0xc1]
; AVX512VL-NEXT: vmovntdq %ymm0, (%eax) ## EVEX TO VEX Compression encoding: [0xc5,0xfd,0xe7,0x00]
; AVX512VL-NEXT: vzeroupper ## encoding: [0xc5,0xf8,0x77]
; AVX512VL-NEXT: retl ## encoding: [0xc3]
diff --git a/test/CodeGen/X86/avx-logic.ll b/test/CodeGen/X86/avx-logic.ll
index 89abbabee27c..7c76f2f623dd 100644
--- a/test/CodeGen/X86/avx-logic.ll
+++ b/test/CodeGen/X86/avx-logic.ll
@@ -247,7 +247,8 @@ entry:
define <2 x i64> @vpandn(<2 x i64> %a, <2 x i64> %b) nounwind uwtable readnone ssp {
; CHECK-LABEL: vpandn:
; CHECK: # BB#0: # %entry
-; CHECK-NEXT: vpaddq {{.*}}(%rip), %xmm0, %xmm1
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; CHECK-NEXT: vpsubq %xmm1, %xmm0, %xmm1
; CHECK-NEXT: vpandn %xmm0, %xmm1, %xmm0
; CHECK-NEXT: retq
entry:
@@ -261,7 +262,8 @@ entry:
define <2 x i64> @vpand(<2 x i64> %a, <2 x i64> %b) nounwind uwtable readnone ssp {
; CHECK-LABEL: vpand:
; CHECK: # BB#0: # %entry
-; CHECK-NEXT: vpaddq {{.*}}(%rip), %xmm0, %xmm0
+; CHECK-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; CHECK-NEXT: vpsubq %xmm2, %xmm0, %xmm0
; CHECK-NEXT: vpand %xmm1, %xmm0, %xmm0
; CHECK-NEXT: retq
entry:
diff --git a/test/CodeGen/X86/avx-vperm2x128.ll b/test/CodeGen/X86/avx-vperm2x128.ll
index 9a21f4b5caba..29b9decea429 100644
--- a/test/CodeGen/X86/avx-vperm2x128.ll
+++ b/test/CodeGen/X86/avx-vperm2x128.ll
@@ -97,14 +97,16 @@ define <32 x i8> @shuffle_v32i8_2323_domain(<32 x i8> %a, <32 x i8> %b) nounwind
; AVX1-LABEL: shuffle_v32i8_2323_domain:
; AVX1: ## BB#0: ## %entry
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
-; AVX1-NEXT: vpaddb {{.*}}(%rip), %xmm0, %xmm0
+; AVX1-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX1-NEXT: vpsubb %xmm1, %xmm0, %xmm0
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
; AVX1-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3,2,3]
; AVX1-NEXT: retq
;
; AVX2-LABEL: shuffle_v32i8_2323_domain:
; AVX2: ## BB#0: ## %entry
-; AVX2-NEXT: vpaddb {{.*}}(%rip), %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX2-NEXT: vpsubb %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3,2,3]
; AVX2-NEXT: retq
entry:
@@ -127,14 +129,15 @@ entry:
define <4 x i64> @shuffle_v4i64_6701_domain(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone ssp {
; AVX1-LABEL: shuffle_v4i64_6701_domain:
; AVX1: ## BB#0: ## %entry
-; AVX1-NEXT: vpaddq {{.*}}(%rip), %xmm0, %xmm0
+; AVX1-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX1-NEXT: vpsubq %xmm2, %xmm0, %xmm0
; AVX1-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[0,1]
; AVX1-NEXT: retq
;
; AVX2-LABEL: shuffle_v4i64_6701_domain:
; AVX2: ## BB#0: ## %entry
-; AVX2-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
-; AVX2-NEXT: vpaddq %ymm2, %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX2-NEXT: vpsubq %ymm2, %ymm0, %ymm0
; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm1[2,3],ymm0[0,1]
; AVX2-NEXT: retq
entry:
@@ -148,15 +151,16 @@ define <8 x i32> @shuffle_v8i32_u5u7cdef(<8 x i32> %a, <8 x i32> %b) nounwind uw
; AVX1-LABEL: shuffle_v8i32_u5u7cdef:
; AVX1: ## BB#0: ## %entry
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
-; AVX1-NEXT: vpaddd {{.*}}(%rip), %xmm0, %xmm0
+; AVX1-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX1-NEXT: vpsubd %xmm2, %xmm0, %xmm0
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
; AVX1-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]
; AVX1-NEXT: retq
;
; AVX2-LABEL: shuffle_v8i32_u5u7cdef:
; AVX2: ## BB#0: ## %entry
-; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %ymm2
-; AVX2-NEXT: vpaddd %ymm2, %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX2-NEXT: vpsubd %ymm2, %ymm0, %ymm0
; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm1[2,3]
; AVX2-NEXT: retq
entry:
@@ -169,13 +173,15 @@ entry:
define <16 x i16> @shuffle_v16i16_4501(<16 x i16> %a, <16 x i16> %b) nounwind uwtable readnone ssp {
; AVX1-LABEL: shuffle_v16i16_4501:
; AVX1: ## BB#0: ## %entry
-; AVX1-NEXT: vpaddw {{.*}}(%rip), %xmm0, %xmm0
+; AVX1-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX1-NEXT: vpsubw %xmm2, %xmm0, %xmm0
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
; AVX1-NEXT: retq
;
; AVX2-LABEL: shuffle_v16i16_4501:
; AVX2: ## BB#0: ## %entry
-; AVX2-NEXT: vpaddw {{.*}}(%rip), %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX2-NEXT: vpsubw %ymm2, %ymm0, %ymm0
; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0
; AVX2-NEXT: retq
entry:
@@ -189,14 +195,16 @@ define <16 x i16> @shuffle_v16i16_4501_mem(<16 x i16>* %a, <16 x i16>* %b) nounw
; AVX1-LABEL: shuffle_v16i16_4501_mem:
; AVX1: ## BB#0: ## %entry
; AVX1-NEXT: vmovdqa (%rdi), %ymm0
-; AVX1-NEXT: vpaddw {{.*}}(%rip), %xmm0, %xmm0
+; AVX1-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX1-NEXT: vpsubw %xmm1, %xmm0, %xmm0
; AVX1-NEXT: vperm2f128 {{.*#+}} ymm0 = mem[0,1],ymm0[0,1]
; AVX1-NEXT: retq
;
; AVX2-LABEL: shuffle_v16i16_4501_mem:
; AVX2: ## BB#0: ## %entry
; AVX2-NEXT: vmovdqa (%rdi), %ymm0
-; AVX2-NEXT: vpaddw {{.*}}(%rip), %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX2-NEXT: vpsubw %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = mem[0,1],ymm0[0,1]
; AVX2-NEXT: retq
entry:
diff --git a/test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll b/test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll
index 25b0a9a1a725..c4db9579afef 100644
--- a/test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll
+++ b/test/CodeGen/X86/avx2-intrinsics-x86-upgrade.ll
@@ -382,7 +382,8 @@ define void @test_x86_avx_storeu_dq_256(i8* %a0, <32 x i8> %a1) {
; CHECK-LABEL: test_x86_avx_storeu_dq_256:
; CHECK: ## BB#0:
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: vpaddb LCPI34_0, %ymm0, %ymm0
+; CHECK-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; CHECK-NEXT: vpsubb %ymm1, %ymm0, %ymm0
; CHECK-NEXT: vmovdqu %ymm0, (%eax)
; CHECK-NEXT: vzeroupper
; CHECK-NEXT: retl
diff --git a/test/CodeGen/X86/avx2-logic.ll b/test/CodeGen/X86/avx2-logic.ll
index fd4d2cbf9279..9208d959a755 100644
--- a/test/CodeGen/X86/avx2-logic.ll
+++ b/test/CodeGen/X86/avx2-logic.ll
@@ -5,14 +5,15 @@
define <4 x i64> @vpandn(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone ssp {
; X32-LABEL: vpandn:
; X32: ## BB#0: ## %entry
-; X32-NEXT: vpaddq LCPI0_0, %ymm0, %ymm1
+; X32-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; X32-NEXT: vpsubq %ymm1, %ymm0, %ymm1
; X32-NEXT: vpandn %ymm0, %ymm1, %ymm0
; X32-NEXT: retl
;
; X64-LABEL: vpandn:
; X64: ## BB#0: ## %entry
-; X64-NEXT: vpbroadcastq {{.*}}(%rip), %ymm1
-; X64-NEXT: vpaddq %ymm1, %ymm0, %ymm1
+; X64-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; X64-NEXT: vpsubq %ymm1, %ymm0, %ymm1
; X64-NEXT: vpandn %ymm0, %ymm1, %ymm0
; X64-NEXT: retq
entry:
@@ -26,14 +27,15 @@ entry:
define <4 x i64> @vpand(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone ssp {
; X32-LABEL: vpand:
; X32: ## BB#0: ## %entry
-; X32-NEXT: vpaddq LCPI1_0, %ymm0, %ymm0
+; X32-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; X32-NEXT: vpsubq %ymm2, %ymm0, %ymm0
; X32-NEXT: vpand %ymm1, %ymm0, %ymm0
; X32-NEXT: retl
;
; X64-LABEL: vpand:
; X64: ## BB#0: ## %entry
-; X64-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
-; X64-NEXT: vpaddq %ymm2, %ymm0, %ymm0
+; X64-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; X64-NEXT: vpsubq %ymm2, %ymm0, %ymm0
; X64-NEXT: vpand %ymm1, %ymm0, %ymm0
; X64-NEXT: retq
entry:
@@ -46,14 +48,15 @@ entry:
define <4 x i64> @vpor(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone ssp {
; X32-LABEL: vpor:
; X32: ## BB#0: ## %entry
-; X32-NEXT: vpaddq LCPI2_0, %ymm0, %ymm0
+; X32-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; X32-NEXT: vpsubq %ymm2, %ymm0, %ymm0
; X32-NEXT: vpor %ymm1, %ymm0, %ymm0
; X32-NEXT: retl
;
; X64-LABEL: vpor:
; X64: ## BB#0: ## %entry
-; X64-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
-; X64-NEXT: vpaddq %ymm2, %ymm0, %ymm0
+; X64-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; X64-NEXT: vpsubq %ymm2, %ymm0, %ymm0
; X64-NEXT: vpor %ymm1, %ymm0, %ymm0
; X64-NEXT: retq
entry:
@@ -66,14 +69,15 @@ entry:
define <4 x i64> @vpxor(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone ssp {
; X32-LABEL: vpxor:
; X32: ## BB#0: ## %entry
-; X32-NEXT: vpaddq LCPI3_0, %ymm0, %ymm0
+; X32-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; X32-NEXT: vpsubq %ymm2, %ymm0, %ymm0
; X32-NEXT: vpxor %ymm1, %ymm0, %ymm0
; X32-NEXT: retl
;
; X64-LABEL: vpxor:
; X64: ## BB#0: ## %entry
-; X64-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
-; X64-NEXT: vpaddq %ymm2, %ymm0, %ymm0
+; X64-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; X64-NEXT: vpsubq %ymm2, %ymm0, %ymm0
; X64-NEXT: vpxor %ymm1, %ymm0, %ymm0
; X64-NEXT: retq
entry:
diff --git a/test/CodeGen/X86/avx2-vbroadcast.ll b/test/CodeGen/X86/avx2-vbroadcast.ll
index ba47e2ba15c2..971d03af3778 100644
--- a/test/CodeGen/X86/avx2-vbroadcast.ll
+++ b/test/CodeGen/X86/avx2-vbroadcast.ll
@@ -653,7 +653,7 @@ define <8 x i32> @V111(<8 x i32> %in) nounwind uwtable readnone ssp {
; X64-AVX512VL-NEXT: vpaddd {{.*}}(%rip){1to8}, %ymm0, %ymm0
; X64-AVX512VL-NEXT: retq
entry:
- %g = add <8 x i32> %in, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %g = add <8 x i32> %in, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
ret <8 x i32> %g
}
diff --git a/test/CodeGen/X86/avx512-arith.ll b/test/CodeGen/X86/avx512-arith.ll
index 26be20840563..d96b5882556d 100644
--- a/test/CodeGen/X86/avx512-arith.ll
+++ b/test/CodeGen/X86/avx512-arith.ll
@@ -348,7 +348,7 @@ define <8 x i64> @vpaddq_broadcast_test(<8 x i64> %i) nounwind {
; CHECK: ## BB#0:
; CHECK-NEXT: vpaddq {{.*}}(%rip){1to8}, %zmm0, %zmm0
; CHECK-NEXT: retq
- %x = add <8 x i64> %i, <i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1>
+ %x = add <8 x i64> %i, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
ret <8 x i64> %x
}
@@ -394,7 +394,7 @@ define <16 x i32> @vpaddd_broadcast_test(<16 x i32> %i) nounwind {
; CHECK: ## BB#0:
; CHECK-NEXT: vpaddd {{.*}}(%rip){1to16}, %zmm0, %zmm0
; CHECK-NEXT: retq
- %x = add <16 x i32> %i, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %x = add <16 x i32> %i, <i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3>
ret <16 x i32> %x
}
@@ -446,7 +446,7 @@ define <16 x i32> @vpaddd_mask_broadcast_test(<16 x i32> %i, <16 x i32> %mask1)
; CHECK-NEXT: vpaddd {{.*}}(%rip){1to16}, %zmm0, %zmm0 {%k1}
; CHECK-NEXT: retq
%mask = icmp ne <16 x i32> %mask1, zeroinitializer
- %x = add <16 x i32> %i, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %x = add <16 x i32> %i, <i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4>
%r = select <16 x i1> %mask, <16 x i32> %x, <16 x i32> %i
ret <16 x i32> %r
}
@@ -473,7 +473,7 @@ define <16 x i32> @vpaddd_maskz_broadcast_test(<16 x i32> %i, <16 x i32> %mask1)
; CHECK-NEXT: vpaddd {{.*}}(%rip){1to16}, %zmm0, %zmm0 {%k1} {z}
; CHECK-NEXT: retq
%mask = icmp ne <16 x i32> %mask1, zeroinitializer
- %x = add <16 x i32> %i, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %x = add <16 x i32> %i, <i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5>
%r = select <16 x i1> %mask, <16 x i32> %x, <16 x i32> zeroinitializer
ret <16 x i32> %r
}
diff --git a/test/CodeGen/X86/avx512-intrinsics-upgrade.ll b/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
index 431223611fae..86902ac926a0 100644
--- a/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
+++ b/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
@@ -3072,3 +3072,375 @@ define <8 x i64> @test_x86_avx512_movntdqa(i8* %a0) {
}
declare <8 x i64> @llvm.x86.avx512.movntdqa(i8*) nounwind readonly
+
+define <8 x i16> @test_cmp_d_512(<16 x i32> %a0, <16 x i32> %a1) {
+; CHECK-LABEL: test_cmp_d_512:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqd %zmm1, %zmm0, %k0
+; CHECK-NEXT: vpcmpgtd %zmm0, %zmm1, %k1
+; CHECK-NEXT: vpcmpled %zmm1, %zmm0, %k2
+; CHECK-NEXT: vpcmpneqd %zmm1, %zmm0, %k3
+; CHECK-NEXT: vpcmpled %zmm0, %zmm1, %k4
+; CHECK-NEXT: vpcmpgtd %zmm1, %zmm0, %k5
+; CHECK-NEXT: kmovw %k0, %eax
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k1, %eax
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k2, %eax
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k3, %eax
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k4, %eax
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k5, %eax
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kxnorw %k0, %k0, %k0
+; CHECK-NEXT: kmovw %k0, %eax
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %res0 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 0, i16 -1)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 1, i16 -1)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 2, i16 -1)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 3, i16 -1)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 4, i16 -1)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 5, i16 -1)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 6, i16 -1)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 7, i16 -1)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+define <8 x i16> @test_mask_cmp_d_512(<16 x i32> %a0, <16 x i32> %a1, i16 %mask) {
+; CHECK-LABEL: test_mask_cmp_d_512:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1
+; CHECK-NEXT: vpcmpeqd %zmm1, %zmm0, %k0 {%k1}
+; CHECK-NEXT: vpcmpgtd %zmm0, %zmm1, %k2 {%k1}
+; CHECK-NEXT: vpcmpled %zmm1, %zmm0, %k3 {%k1}
+; CHECK-NEXT: kxorw %k0, %k0, %k4
+; CHECK-NEXT: vpcmpneqd %zmm1, %zmm0, %k5 {%k1}
+; CHECK-NEXT: vpcmpled %zmm0, %zmm1, %k6 {%k1}
+; CHECK-NEXT: vpcmpgtd %zmm1, %zmm0, %k1 {%k1}
+; CHECK-NEXT: kmovw %k2, %eax
+; CHECK-NEXT: kmovw %k0, %ecx
+; CHECK-NEXT: vmovd %ecx, %xmm0
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k3, %eax
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k4, %eax
+; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k5, %eax
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k6, %eax
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k1, %eax
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
+; CHECK-NEXT: vpinsrw $7, %edi, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %res0 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 0, i16 %mask)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 1, i16 %mask)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 2, i16 %mask)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 3, i16 %mask)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 4, i16 %mask)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 5, i16 %mask)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 6, i16 %mask)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 7, i16 %mask)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+declare i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32>, <16 x i32>, i32, i16) nounwind readnone
+
+define <8 x i16> @test_ucmp_d_512(<16 x i32> %a0, <16 x i32> %a1) {
+; CHECK-LABEL: test_ucmp_d_512:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqd %zmm1, %zmm0, %k0
+; CHECK-NEXT: vpcmpltud %zmm1, %zmm0, %k1
+; CHECK-NEXT: vpcmpleud %zmm1, %zmm0, %k2
+; CHECK-NEXT: vpcmpneqd %zmm1, %zmm0, %k3
+; CHECK-NEXT: vpcmpnltud %zmm1, %zmm0, %k4
+; CHECK-NEXT: vpcmpnleud %zmm1, %zmm0, %k5
+; CHECK-NEXT: kmovw %k0, %eax
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k1, %eax
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k2, %eax
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k3, %eax
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k4, %eax
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k5, %eax
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kxnorw %k0, %k0, %k0
+; CHECK-NEXT: kmovw %k0, %eax
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %res0 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 0, i16 -1)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 1, i16 -1)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 2, i16 -1)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 3, i16 -1)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 4, i16 -1)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 5, i16 -1)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 6, i16 -1)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 7, i16 -1)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+define <8 x i16> @test_mask_ucmp_d_512(<16 x i32> %a0, <16 x i32> %a1, i16 %mask) {
+; CHECK-LABEL: test_mask_ucmp_d_512:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1
+; CHECK-NEXT: vpcmpeqd %zmm1, %zmm0, %k0 {%k1}
+; CHECK-NEXT: vpcmpltud %zmm1, %zmm0, %k2 {%k1}
+; CHECK-NEXT: vpcmpleud %zmm1, %zmm0, %k3 {%k1}
+; CHECK-NEXT: kxorw %k0, %k0, %k4
+; CHECK-NEXT: vpcmpneqd %zmm1, %zmm0, %k5 {%k1}
+; CHECK-NEXT: vpcmpnltud %zmm1, %zmm0, %k6 {%k1}
+; CHECK-NEXT: vpcmpnleud %zmm1, %zmm0, %k1 {%k1}
+; CHECK-NEXT: kmovw %k2, %eax
+; CHECK-NEXT: kmovw %k0, %ecx
+; CHECK-NEXT: vmovd %ecx, %xmm0
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k3, %eax
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k4, %eax
+; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k5, %eax
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k6, %eax
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k1, %eax
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
+; CHECK-NEXT: vpinsrw $7, %edi, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %res0 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 0, i16 %mask)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 1, i16 %mask)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 2, i16 %mask)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 3, i16 %mask)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 4, i16 %mask)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 5, i16 %mask)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 6, i16 %mask)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 7, i16 %mask)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+declare i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32>, <16 x i32>, i32, i16) nounwind readnone
+
+define <8 x i8> @test_cmp_q_512(<8 x i64> %a0, <8 x i64> %a1) {
+; CHECK-LABEL: test_cmp_q_512:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqq %zmm1, %zmm0, %k0
+; CHECK-NEXT: vpcmpgtq %zmm0, %zmm1, %k1
+; CHECK-NEXT: vpcmpleq %zmm1, %zmm0, %k2
+; CHECK-NEXT: vpcmpneqq %zmm1, %zmm0, %k3
+; CHECK-NEXT: vpcmpleq %zmm0, %zmm1, %k4
+; CHECK-NEXT: vpcmpgtq %zmm1, %zmm0, %k5
+; CHECK-NEXT: kmovw %k0, %eax
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k1, %eax
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k2, %eax
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k3, %eax
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k4, %eax
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k5, %eax
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kxnorw %k0, %k0, %k0
+; CHECK-NEXT: kmovw %k0, %eax
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_cmp_q_512(<8 x i64> %a0, <8 x i64> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_cmp_q_512:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1
+; CHECK-NEXT: vpcmpeqq %zmm1, %zmm0, %k0 {%k1}
+; CHECK-NEXT: vpcmpgtq %zmm0, %zmm1, %k2 {%k1}
+; CHECK-NEXT: vpcmpleq %zmm1, %zmm0, %k3 {%k1}
+; CHECK-NEXT: kxorw %k0, %k0, %k4
+; CHECK-NEXT: vpcmpneqq %zmm1, %zmm0, %k5 {%k1}
+; CHECK-NEXT: vpcmpleq %zmm0, %zmm1, %k6 {%k1}
+; CHECK-NEXT: vpcmpgtq %zmm1, %zmm0, %k1 {%k1}
+; CHECK-NEXT: kmovw %k2, %eax
+; CHECK-NEXT: kmovw %k0, %ecx
+; CHECK-NEXT: vmovd %ecx, %xmm0
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k3, %eax
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k4, %eax
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k5, %eax
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k6, %eax
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k1, %eax
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0
+; CHECK-NEXT: vpinsrb $14, %edi, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64>, <8 x i64>, i32, i8) nounwind readnone
+
+define <8 x i8> @test_ucmp_q_512(<8 x i64> %a0, <8 x i64> %a1) {
+; CHECK-LABEL: test_ucmp_q_512:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqq %zmm1, %zmm0, %k0
+; CHECK-NEXT: vpcmpltuq %zmm1, %zmm0, %k1
+; CHECK-NEXT: vpcmpleuq %zmm1, %zmm0, %k2
+; CHECK-NEXT: vpcmpneqq %zmm1, %zmm0, %k3
+; CHECK-NEXT: vpcmpnltuq %zmm1, %zmm0, %k4
+; CHECK-NEXT: vpcmpnleuq %zmm1, %zmm0, %k5
+; CHECK-NEXT: kmovw %k0, %eax
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k1, %eax
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k2, %eax
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k3, %eax
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k4, %eax
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k5, %eax
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kxnorw %k0, %k0, %k0
+; CHECK-NEXT: kmovw %k0, %eax
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_ucmp_q_512(<8 x i64> %a0, <8 x i64> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_ucmp_q_512:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1
+; CHECK-NEXT: vpcmpeqq %zmm1, %zmm0, %k0 {%k1}
+; CHECK-NEXT: vpcmpltuq %zmm1, %zmm0, %k2 {%k1}
+; CHECK-NEXT: vpcmpleuq %zmm1, %zmm0, %k3 {%k1}
+; CHECK-NEXT: kxorw %k0, %k0, %k4
+; CHECK-NEXT: vpcmpneqq %zmm1, %zmm0, %k5 {%k1}
+; CHECK-NEXT: vpcmpnltuq %zmm1, %zmm0, %k6 {%k1}
+; CHECK-NEXT: vpcmpnleuq %zmm1, %zmm0, %k1 {%k1}
+; CHECK-NEXT: kmovw %k2, %eax
+; CHECK-NEXT: kmovw %k0, %ecx
+; CHECK-NEXT: vmovd %ecx, %xmm0
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k3, %eax
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k4, %eax
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k5, %eax
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k6, %eax
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0
+; CHECK-NEXT: kmovw %k1, %eax
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0
+; CHECK-NEXT: vpinsrb $14, %edi, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64>, <8 x i64>, i32, i8) nounwind readnone
diff --git a/test/CodeGen/X86/avx512-intrinsics.ll b/test/CodeGen/X86/avx512-intrinsics.ll
index b04c1ab38e55..5a41b906008b 100644
--- a/test/CodeGen/X86/avx512-intrinsics.ll
+++ b/test/CodeGen/X86/avx512-intrinsics.ll
@@ -848,394 +848,6 @@ define void @test_mask_store_ss(i8* %ptr, <4 x float> %data, i8 %mask) {
declare void @llvm.x86.avx512.mask.store.ss(i8*, <4 x float>, i8 )
-define <8 x i16> @test_cmp_d_512(<16 x i32> %a0, <16 x i32> %a1) {
-; CHECK-LABEL: test_cmp_d_512:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqd %zmm1, %zmm0, %k0
-; CHECK-NEXT: vpcmpltd %zmm1, %zmm0, %k1
-; CHECK-NEXT: vpcmpled %zmm1, %zmm0, %k2
-; CHECK-NEXT: vpcmpunordd %zmm1, %zmm0, %k3
-; CHECK-NEXT: vpcmpneqd %zmm1, %zmm0, %k4
-; CHECK-NEXT: vpcmpnltd %zmm1, %zmm0, %k5
-; CHECK-NEXT: vpcmpnled %zmm1, %zmm0, %k6
-; CHECK-NEXT: vpcmpordd %zmm1, %zmm0, %k7
-; CHECK-NEXT: kmovw %k1, %eax
-; CHECK-NEXT: kmovw %k0, %ecx
-; CHECK-NEXT: vmovd %ecx, %xmm0
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k2, %eax
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k3, %eax
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k4, %eax
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k5, %eax
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k6, %eax
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k7, %eax
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
-; CHECK-NEXT: retq
- %res0 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 0, i16 -1)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 1, i16 -1)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 2, i16 -1)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 3, i16 -1)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 4, i16 -1)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 5, i16 -1)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 6, i16 -1)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 7, i16 -1)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-define <8 x i16> @test_mask_cmp_d_512(<16 x i32> %a0, <16 x i32> %a1, i16 %mask) {
-; CHECK-LABEL: test_mask_cmp_d_512:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1
-; CHECK-NEXT: vpcmpeqd %zmm1, %zmm0, %k0 {%k1}
-; CHECK-NEXT: vpcmpltd %zmm1, %zmm0, %k2 {%k1}
-; CHECK-NEXT: vpcmpled %zmm1, %zmm0, %k3 {%k1}
-; CHECK-NEXT: vpcmpunordd %zmm1, %zmm0, %k4 {%k1}
-; CHECK-NEXT: vpcmpneqd %zmm1, %zmm0, %k5 {%k1}
-; CHECK-NEXT: vpcmpnltd %zmm1, %zmm0, %k6 {%k1}
-; CHECK-NEXT: vpcmpnled %zmm1, %zmm0, %k7 {%k1}
-; CHECK-NEXT: vpcmpordd %zmm1, %zmm0, %k1 {%k1}
-; CHECK-NEXT: kmovw %k2, %eax
-; CHECK-NEXT: kmovw %k0, %ecx
-; CHECK-NEXT: vmovd %ecx, %xmm0
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k3, %eax
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k4, %eax
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k5, %eax
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k6, %eax
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k7, %eax
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k1, %eax
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
-; CHECK-NEXT: retq
- %res0 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 0, i16 %mask)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 1, i16 %mask)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 2, i16 %mask)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 3, i16 %mask)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 4, i16 %mask)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 5, i16 %mask)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 6, i16 %mask)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 7, i16 %mask)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-declare i16 @llvm.x86.avx512.mask.cmp.d.512(<16 x i32>, <16 x i32>, i32, i16) nounwind readnone
-
-define <8 x i16> @test_ucmp_d_512(<16 x i32> %a0, <16 x i32> %a1) {
-; CHECK-LABEL: test_ucmp_d_512:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequd %zmm1, %zmm0, %k0
-; CHECK-NEXT: vpcmpltud %zmm1, %zmm0, %k1
-; CHECK-NEXT: vpcmpleud %zmm1, %zmm0, %k2
-; CHECK-NEXT: vpcmpunordud %zmm1, %zmm0, %k3
-; CHECK-NEXT: vpcmpnequd %zmm1, %zmm0, %k4
-; CHECK-NEXT: vpcmpnltud %zmm1, %zmm0, %k5
-; CHECK-NEXT: vpcmpnleud %zmm1, %zmm0, %k6
-; CHECK-NEXT: vpcmpordud %zmm1, %zmm0, %k7
-; CHECK-NEXT: kmovw %k1, %eax
-; CHECK-NEXT: kmovw %k0, %ecx
-; CHECK-NEXT: vmovd %ecx, %xmm0
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k2, %eax
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k3, %eax
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k4, %eax
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k5, %eax
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k6, %eax
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k7, %eax
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
-; CHECK-NEXT: retq
- %res0 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 0, i16 -1)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 1, i16 -1)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 2, i16 -1)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 3, i16 -1)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 4, i16 -1)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 5, i16 -1)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 6, i16 -1)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 7, i16 -1)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-define <8 x i16> @test_mask_ucmp_d_512(<16 x i32> %a0, <16 x i32> %a1, i16 %mask) {
-; CHECK-LABEL: test_mask_ucmp_d_512:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1
-; CHECK-NEXT: vpcmpequd %zmm1, %zmm0, %k0 {%k1}
-; CHECK-NEXT: vpcmpltud %zmm1, %zmm0, %k2 {%k1}
-; CHECK-NEXT: vpcmpleud %zmm1, %zmm0, %k3 {%k1}
-; CHECK-NEXT: vpcmpunordud %zmm1, %zmm0, %k4 {%k1}
-; CHECK-NEXT: vpcmpnequd %zmm1, %zmm0, %k5 {%k1}
-; CHECK-NEXT: vpcmpnltud %zmm1, %zmm0, %k6 {%k1}
-; CHECK-NEXT: vpcmpnleud %zmm1, %zmm0, %k7 {%k1}
-; CHECK-NEXT: vpcmpordud %zmm1, %zmm0, %k1 {%k1}
-; CHECK-NEXT: kmovw %k2, %eax
-; CHECK-NEXT: kmovw %k0, %ecx
-; CHECK-NEXT: vmovd %ecx, %xmm0
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k3, %eax
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k4, %eax
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k5, %eax
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k6, %eax
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k7, %eax
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k1, %eax
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0
-; CHECK-NEXT: retq
- %res0 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 0, i16 %mask)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 1, i16 %mask)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 2, i16 %mask)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 3, i16 %mask)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 4, i16 %mask)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 5, i16 %mask)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 6, i16 %mask)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32> %a0, <16 x i32> %a1, i32 7, i16 %mask)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-declare i16 @llvm.x86.avx512.mask.ucmp.d.512(<16 x i32>, <16 x i32>, i32, i16) nounwind readnone
-
-define <8 x i8> @test_cmp_q_512(<8 x i64> %a0, <8 x i64> %a1) {
-; CHECK-LABEL: test_cmp_q_512:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqq %zmm1, %zmm0, %k0
-; CHECK-NEXT: vpcmpltq %zmm1, %zmm0, %k1
-; CHECK-NEXT: vpcmpleq %zmm1, %zmm0, %k2
-; CHECK-NEXT: vpcmpunordq %zmm1, %zmm0, %k3
-; CHECK-NEXT: vpcmpneqq %zmm1, %zmm0, %k4
-; CHECK-NEXT: vpcmpnltq %zmm1, %zmm0, %k5
-; CHECK-NEXT: vpcmpnleq %zmm1, %zmm0, %k6
-; CHECK-NEXT: vpcmpordq %zmm1, %zmm0, %k7
-; CHECK-NEXT: kmovw %k1, %eax
-; CHECK-NEXT: kmovw %k0, %ecx
-; CHECK-NEXT: vmovd %ecx, %xmm0
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k2, %eax
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k3, %eax
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k4, %eax
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k5, %eax
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k6, %eax
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k7, %eax
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0
-; CHECK-NEXT: retq
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_cmp_q_512(<8 x i64> %a0, <8 x i64> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_cmp_q_512:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1
-; CHECK-NEXT: vpcmpeqq %zmm1, %zmm0, %k0 {%k1}
-; CHECK-NEXT: vpcmpltq %zmm1, %zmm0, %k2 {%k1}
-; CHECK-NEXT: vpcmpleq %zmm1, %zmm0, %k3 {%k1}
-; CHECK-NEXT: vpcmpunordq %zmm1, %zmm0, %k4 {%k1}
-; CHECK-NEXT: vpcmpneqq %zmm1, %zmm0, %k5 {%k1}
-; CHECK-NEXT: vpcmpnltq %zmm1, %zmm0, %k6 {%k1}
-; CHECK-NEXT: vpcmpnleq %zmm1, %zmm0, %k7 {%k1}
-; CHECK-NEXT: vpcmpordq %zmm1, %zmm0, %k1 {%k1}
-; CHECK-NEXT: kmovw %k2, %eax
-; CHECK-NEXT: kmovw %k0, %ecx
-; CHECK-NEXT: vmovd %ecx, %xmm0
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k3, %eax
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k4, %eax
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k5, %eax
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k6, %eax
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k7, %eax
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k1, %eax
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0
-; CHECK-NEXT: retq
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.cmp.q.512(<8 x i64>, <8 x i64>, i32, i8) nounwind readnone
-
-define <8 x i8> @test_ucmp_q_512(<8 x i64> %a0, <8 x i64> %a1) {
-; CHECK-LABEL: test_ucmp_q_512:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequq %zmm1, %zmm0, %k0
-; CHECK-NEXT: vpcmpltuq %zmm1, %zmm0, %k1
-; CHECK-NEXT: vpcmpleuq %zmm1, %zmm0, %k2
-; CHECK-NEXT: vpcmpunorduq %zmm1, %zmm0, %k3
-; CHECK-NEXT: vpcmpnequq %zmm1, %zmm0, %k4
-; CHECK-NEXT: vpcmpnltuq %zmm1, %zmm0, %k5
-; CHECK-NEXT: vpcmpnleuq %zmm1, %zmm0, %k6
-; CHECK-NEXT: vpcmporduq %zmm1, %zmm0, %k7
-; CHECK-NEXT: kmovw %k1, %eax
-; CHECK-NEXT: kmovw %k0, %ecx
-; CHECK-NEXT: vmovd %ecx, %xmm0
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k2, %eax
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k3, %eax
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k4, %eax
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k5, %eax
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k6, %eax
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k7, %eax
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0
-; CHECK-NEXT: retq
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_ucmp_q_512(<8 x i64> %a0, <8 x i64> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_ucmp_q_512:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1
-; CHECK-NEXT: vpcmpequq %zmm1, %zmm0, %k0 {%k1}
-; CHECK-NEXT: vpcmpltuq %zmm1, %zmm0, %k2 {%k1}
-; CHECK-NEXT: vpcmpleuq %zmm1, %zmm0, %k3 {%k1}
-; CHECK-NEXT: vpcmpunorduq %zmm1, %zmm0, %k4 {%k1}
-; CHECK-NEXT: vpcmpnequq %zmm1, %zmm0, %k5 {%k1}
-; CHECK-NEXT: vpcmpnltuq %zmm1, %zmm0, %k6 {%k1}
-; CHECK-NEXT: vpcmpnleuq %zmm1, %zmm0, %k7 {%k1}
-; CHECK-NEXT: vpcmporduq %zmm1, %zmm0, %k1 {%k1}
-; CHECK-NEXT: kmovw %k2, %eax
-; CHECK-NEXT: kmovw %k0, %ecx
-; CHECK-NEXT: vmovd %ecx, %xmm0
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k3, %eax
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k4, %eax
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k5, %eax
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k6, %eax
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k7, %eax
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0
-; CHECK-NEXT: kmovw %k1, %eax
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0
-; CHECK-NEXT: retq
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64> %a0, <8 x i64> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.ucmp.q.512(<8 x i64>, <8 x i64>, i32, i8) nounwind readnone
-
declare <16 x float> @llvm.x86.avx512.mask.sub.ps.512(<16 x float>, <16 x float>, <16 x float>, i16, i32)
declare <16 x float> @llvm.x86.avx512.mask.mul.ps.512(<16 x float>, <16 x float>, <16 x float>, i16, i32)
declare <8 x double> @llvm.x86.avx512.mask.mul.pd.512(<8 x double>, <8 x double>, <8 x double>, i8, i32)
diff --git a/test/CodeGen/X86/avx512-logic.ll b/test/CodeGen/X86/avx512-logic.ll
index 7153c1ffaaa6..6e08753dbbb1 100644
--- a/test/CodeGen/X86/avx512-logic.ll
+++ b/test/CodeGen/X86/avx512-logic.ll
@@ -11,8 +11,8 @@ define <16 x i32> @vpandd(<16 x i32> %a, <16 x i32> %b) nounwind uwtable readnon
; ALL-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <16 x i32> %a, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1,
- i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <16 x i32> %a, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2,
+ i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
%x = and <16 x i32> %a2, %b
ret <16 x i32> %x
}
@@ -25,8 +25,8 @@ define <16 x i32> @vpandnd(<16 x i32> %a, <16 x i32> %b) nounwind uwtable readno
; ALL-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <16 x i32> %a, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1,
- i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <16 x i32> %a, <i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3,
+ i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3>
%b2 = xor <16 x i32> %b, <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1,
i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>
%x = and <16 x i32> %a2, %b2
@@ -41,8 +41,8 @@ define <16 x i32> @vpord(<16 x i32> %a, <16 x i32> %b) nounwind uwtable readnone
; ALL-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <16 x i32> %a, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1,
- i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <16 x i32> %a, <i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4,
+ i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4>
%x = or <16 x i32> %a2, %b
ret <16 x i32> %x
}
@@ -55,8 +55,8 @@ define <16 x i32> @vpxord(<16 x i32> %a, <16 x i32> %b) nounwind uwtable readnon
; ALL-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <16 x i32> %a, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1,
- i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <16 x i32> %a, <i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5,
+ i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5>
%x = xor <16 x i32> %a2, %b
ret <16 x i32> %x
}
@@ -69,7 +69,7 @@ define <8 x i64> @vpandq(<8 x i64> %a, <8 x i64> %b) nounwind uwtable readnone s
; ALL-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <8 x i64> %a, <i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1>
+ %a2 = add <8 x i64> %a, <i64 6, i64 6, i64 6, i64 6, i64 6, i64 6, i64 6, i64 6>
%x = and <8 x i64> %a2, %b
ret <8 x i64> %x
}
@@ -82,7 +82,7 @@ define <8 x i64> @vpandnq(<8 x i64> %a, <8 x i64> %b) nounwind uwtable readnone
; ALL-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <8 x i64> %a, <i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1>
+ %a2 = add <8 x i64> %a, <i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7, i64 7>
%b2 = xor <8 x i64> %b, <i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1>
%x = and <8 x i64> %a2, %b2
ret <8 x i64> %x
@@ -96,7 +96,7 @@ define <8 x i64> @vporq(<8 x i64> %a, <8 x i64> %b) nounwind uwtable readnone ss
; ALL-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <8 x i64> %a, <i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1>
+ %a2 = add <8 x i64> %a, <i64 8, i64 8, i64 8, i64 8, i64 8, i64 8, i64 8, i64 8>
%x = or <8 x i64> %a2, %b
ret <8 x i64> %x
}
@@ -109,7 +109,7 @@ define <8 x i64> @vpxorq(<8 x i64> %a, <8 x i64> %b) nounwind uwtable readnone s
; ALL-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <8 x i64> %a, <i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1, i64 1>
+ %a2 = add <8 x i64> %a, <i64 9, i64 9, i64 9, i64 9, i64 9, i64 9, i64 9, i64 9>
%x = xor <8 x i64> %a2, %b
ret <8 x i64> %x
}
diff --git a/test/CodeGen/X86/avx512-mask-op.ll b/test/CodeGen/X86/avx512-mask-op.ll
index 01153a9e45f7..e1a92c60d182 100644
--- a/test/CodeGen/X86/avx512-mask-op.ll
+++ b/test/CodeGen/X86/avx512-mask-op.ll
@@ -287,6 +287,7 @@ define i8 @shuf_test1(i16 %v) nounwind {
; KNL-NEXT: kmovw %k0, %eax
; KNL-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
; KNL-NEXT: retq
+; KNL-NEXT: ## -- End function
;
; SKX-LABEL: shuf_test1:
; SKX: ## BB#0:
@@ -295,6 +296,7 @@ define i8 @shuf_test1(i16 %v) nounwind {
; SKX-NEXT: kmovd %k0, %eax
; SKX-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
; SKX-NEXT: retq
+; SKX-NEXT: ## -- End function
;
; AVX512BW-LABEL: shuf_test1:
; AVX512BW: ## BB#0:
@@ -303,6 +305,7 @@ define i8 @shuf_test1(i16 %v) nounwind {
; AVX512BW-NEXT: kmovd %k0, %eax
; AVX512BW-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
; AVX512BW-NEXT: retq
+; AVX512BW-NEXT: ## -- End function
;
; AVX512DQ-LABEL: shuf_test1:
; AVX512DQ: ## BB#0:
@@ -311,6 +314,7 @@ define i8 @shuf_test1(i16 %v) nounwind {
; AVX512DQ-NEXT: kmovw %k0, %eax
; AVX512DQ-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
; AVX512DQ-NEXT: retq
+; AVX512DQ-NEXT: ## -- End function
%v1 = bitcast i16 %v to <16 x i1>
%mask = shufflevector <16 x i1> %v1, <16 x i1> undef, <8 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
%mask1 = bitcast <8 x i1> %mask to i8
@@ -1285,6 +1289,7 @@ define <32 x i16> @test21(<32 x i16> %x , <32 x i1> %mask) nounwind readnone {
; KNL-NEXT: vpsraw $15, %ymm2, %ymm2
; KNL-NEXT: vpand %ymm1, %ymm2, %ymm1
; KNL-NEXT: retq
+; KNL-NEXT: ## -- End function
;
; SKX-LABEL: test21:
; SKX: ## BB#0:
@@ -1292,6 +1297,7 @@ define <32 x i16> @test21(<32 x i16> %x , <32 x i1> %mask) nounwind readnone {
; SKX-NEXT: vpmovb2m %ymm1, %k1
; SKX-NEXT: vmovdqu16 %zmm0, %zmm0 {%k1} {z}
; SKX-NEXT: retq
+; SKX-NEXT: ## -- End function
;
; AVX512BW-LABEL: test21:
; AVX512BW: ## BB#0:
@@ -1299,6 +1305,7 @@ define <32 x i16> @test21(<32 x i16> %x , <32 x i1> %mask) nounwind readnone {
; AVX512BW-NEXT: vpmovb2m %zmm1, %k1
; AVX512BW-NEXT: vmovdqu16 %zmm0, %zmm0 {%k1} {z}
; AVX512BW-NEXT: retq
+; AVX512BW-NEXT: ## -- End function
;
; AVX512DQ-LABEL: test21:
; AVX512DQ: ## BB#0:
@@ -1312,6 +1319,7 @@ define <32 x i16> @test21(<32 x i16> %x , <32 x i1> %mask) nounwind readnone {
; AVX512DQ-NEXT: vpsraw $15, %ymm2, %ymm2
; AVX512DQ-NEXT: vpand %ymm1, %ymm2, %ymm1
; AVX512DQ-NEXT: retq
+; AVX512DQ-NEXT: ## -- End function
%ret = select <32 x i1> %mask, <32 x i16> %x, <32 x i16> zeroinitializer
ret <32 x i16> %ret
}
diff --git a/test/CodeGen/X86/avx512-round.ll b/test/CodeGen/X86/avx512-round.ll
index c4f417e75ab0..b23af2b09a78 100644
--- a/test/CodeGen/X86/avx512-round.ll
+++ b/test/CodeGen/X86/avx512-round.ll
@@ -2,7 +2,7 @@
define <16 x float> @floor_v16f32(<16 x float> %a) {
; CHECK-LABEL: floor_v16f32
-; CHECK: vrndscaleps $1, {{.*}}encoding: [0x62,0xf3,0x7d,0x48,0x08,0xc0,0x01]
+; CHECK: vrndscaleps $9, {{.*}}encoding: [0x62,0xf3,0x7d,0x48,0x08,0xc0,0x09]
%res = call <16 x float> @llvm.floor.v16f32(<16 x float> %a)
ret <16 x float> %res
}
@@ -10,7 +10,7 @@ declare <16 x float> @llvm.floor.v16f32(<16 x float> %p)
define <8 x double> @floor_v8f64(<8 x double> %a) {
; CHECK-LABEL: floor_v8f64
-; CHECK: vrndscalepd $1, {{.*}}encoding: [0x62,0xf3,0xfd,0x48,0x09,0xc0,0x01]
+; CHECK: vrndscalepd $9, {{.*}}encoding: [0x62,0xf3,0xfd,0x48,0x09,0xc0,0x09]
%res = call <8 x double> @llvm.floor.v8f64(<8 x double> %a)
ret <8 x double> %res
}
@@ -18,7 +18,7 @@ declare <8 x double> @llvm.floor.v8f64(<8 x double> %p)
define <16 x float> @ceil_v16f32(<16 x float> %a) {
; CHECK-LABEL: ceil_v16f32
-; CHECK: vrndscaleps $2, {{.*}}encoding: [0x62,0xf3,0x7d,0x48,0x08,0xc0,0x02]
+; CHECK: vrndscaleps $10, {{.*}}encoding: [0x62,0xf3,0x7d,0x48,0x08,0xc0,0x0a]
%res = call <16 x float> @llvm.ceil.v16f32(<16 x float> %a)
ret <16 x float> %res
}
@@ -26,7 +26,7 @@ declare <16 x float> @llvm.ceil.v16f32(<16 x float> %p)
define <8 x double> @ceil_v8f64(<8 x double> %a) {
; CHECK-LABEL: ceil_v8f64
-; CHECK: vrndscalepd $2, {{.*}}encoding: [0x62,0xf3,0xfd,0x48,0x09,0xc0,0x02]
+; CHECK: vrndscalepd $10, {{.*}}encoding: [0x62,0xf3,0xfd,0x48,0x09,0xc0,0x0a]
%res = call <8 x double> @llvm.ceil.v8f64(<8 x double> %a)
ret <8 x double> %res
}
@@ -34,7 +34,7 @@ declare <8 x double> @llvm.ceil.v8f64(<8 x double> %p)
define <16 x float> @trunc_v16f32(<16 x float> %a) {
; CHECK-LABEL: trunc_v16f32
-; CHECK: vrndscaleps $3, {{.*}}encoding: [0x62,0xf3,0x7d,0x48,0x08,0xc0,0x03]
+; CHECK: vrndscaleps $11, {{.*}}encoding: [0x62,0xf3,0x7d,0x48,0x08,0xc0,0x0b]
%res = call <16 x float> @llvm.trunc.v16f32(<16 x float> %a)
ret <16 x float> %res
}
@@ -42,7 +42,7 @@ declare <16 x float> @llvm.trunc.v16f32(<16 x float> %p)
define <8 x double> @trunc_v8f64(<8 x double> %a) {
; CHECK-LABEL: trunc_v8f64
-; CHECK: vrndscalepd $3, {{.*}}encoding: [0x62,0xf3,0xfd,0x48,0x09,0xc0,0x03]
+; CHECK: vrndscalepd $11, {{.*}}encoding: [0x62,0xf3,0xfd,0x48,0x09,0xc0,0x0b]
%res = call <8 x double> @llvm.trunc.v8f64(<8 x double> %a)
ret <8 x double> %res
}
@@ -90,7 +90,7 @@ declare double @llvm.nearbyint.f64(double %p)
define float @floor_f32(float %a) {
; CHECK-LABEL: floor_f32
-; CHECK: vrndscaless $1, {{.*}}encoding: [0x62,0xf3,0x7d,0x08,0x0a,0xc0,0x01]
+; CHECK: vrndscaless $9, {{.*}}encoding: [0x62,0xf3,0x7d,0x08,0x0a,0xc0,0x09]
%res = call float @llvm.floor.f32(float %a)
ret float %res
}
@@ -98,7 +98,7 @@ declare float @llvm.floor.f32(float %p)
define float @floor_f32m(float* %aptr) {
; CHECK-LABEL: floor_f32m
-; CHECK: vrndscaless $1, (%rdi), {{.*}}encoding: [0x62,0xf3,0x7d,0x08,0x0a,0x07,0x01]
+; CHECK: vrndscaless $9, (%rdi), {{.*}}encoding: [0x62,0xf3,0x7d,0x08,0x0a,0x07,0x09]
%a = load float, float* %aptr, align 4
%res = call float @llvm.floor.f32(float %a)
ret float %res
diff --git a/test/CodeGen/X86/avx512-vec3-crash.ll b/test/CodeGen/X86/avx512-vec3-crash.ll
new file mode 100644
index 000000000000..281456c235b5
--- /dev/null
+++ b/test/CodeGen/X86/avx512-vec3-crash.ll
@@ -0,0 +1,31 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -mcpu=skx -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s
+
+; This test crashed during type legalization of SETCC result type.
+define <3 x i8 > @foo(<3 x i8>%x, <3 x i8>%a, <3 x i8>%b) {
+; CHECK-LABEL: foo:
+; CHECK: # BB#0:
+; CHECK-NEXT: vmovd %edi, %xmm0
+; CHECK-NEXT: vpinsrd $1, %esi, %xmm0, %xmm0
+; CHECK-NEXT: vpinsrd $2, %edx, %xmm0, %xmm0
+; CHECK-NEXT: vpslld $24, %xmm0, %xmm0
+; CHECK-NEXT: vpsrad $24, %xmm0, %xmm0
+; CHECK-NEXT: vmovd %ecx, %xmm1
+; CHECK-NEXT: vpinsrd $1, %r8d, %xmm1, %xmm1
+; CHECK-NEXT: vpinsrd $2, %r9d, %xmm1, %xmm1
+; CHECK-NEXT: vpslld $24, %xmm1, %xmm1
+; CHECK-NEXT: vpsrad $24, %xmm1, %xmm1
+; CHECK-NEXT: vpcmpgtd %xmm0, %xmm1, %k0
+; CHECK-NEXT: vpmovm2d %k0, %xmm0
+; CHECK-NEXT: vpextrb $0, %xmm0, %eax
+; CHECK-NEXT: vpextrb $4, %xmm0, %edx
+; CHECK-NEXT: vpextrb $8, %xmm0, %ecx
+; CHECK-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill>
+; CHECK-NEXT: # kill: %DL<def> %DL<kill> %EDX<kill>
+; CHECK-NEXT: # kill: %CL<def> %CL<kill> %ECX<kill>
+; CHECK-NEXT: retq
+ %cmp.i = icmp slt <3 x i8> %x, %a
+ %res = sext <3 x i1> %cmp.i to <3 x i8>
+ ret <3 x i8> %res
+}
+
diff --git a/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll b/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
index faa055dfbbf3..2b89373ceb0e 100644
--- a/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
+++ b/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
@@ -1564,3 +1564,2053 @@ define <64 x i8> @test_mask_packus_epi16_rmkz_512(<32 x i16> %a, <32 x i16>* %pt
}
declare <64 x i8> @llvm.x86.avx512.mask.packuswb.512(<32 x i16>, <32 x i16>, <64 x i8>, i64)
+
+define i64 @test_cmp_b_512(<64 x i8> %a0, <64 x i8> %a1) {
+; AVX512BW-LABEL: test_cmp_b_512:
+; AVX512BW: ## BB#0:
+; AVX512BW-NEXT: vpcmpeqb %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: vpcmpgtb %zmm0, %zmm1, %k0
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: vpcmpleb %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: vpcmpneqb %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: vpcmpleb %zmm0, %zmm1, %k0
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: vpcmpgtb %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: kxnorq %k0, %k0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: retq
+;
+; AVX512F-32-LABEL: test_cmp_b_512:
+; AVX512F-32: # BB#0:
+; AVX512F-32-NEXT: subl $60, %esp
+; AVX512F-32-NEXT: .Lcfi4:
+; AVX512F-32-NEXT: .cfi_def_cfa_offset 64
+; AVX512F-32-NEXT: vpcmpeqb %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpgtb %zmm0, %zmm1, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpleb %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpneqb %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpleb %zmm0, %zmm1, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpgtb %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, (%esp)
+; AVX512F-32-NEXT: addl (%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kxnorq %k0, %k0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: addl $60, %esp
+; AVX512F-32-NEXT: retl
+ %res0 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 0, i64 -1)
+ %res1 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 1, i64 -1)
+ %ret1 = add i64 %res0, %res1
+ %res2 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 2, i64 -1)
+ %ret2 = add i64 %ret1, %res2
+ %res3 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 3, i64 -1)
+ %ret3 = add i64 %ret2, %res3
+ %res4 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 4, i64 -1)
+ %ret4 = add i64 %ret3, %res4
+ %res5 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 5, i64 -1)
+ %ret5 = add i64 %ret4, %res5
+ %res6 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 6, i64 -1)
+ %ret6 = add i64 %ret5, %res6
+ %res7 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 7, i64 -1)
+ %ret7 = add i64 %ret6, %res7
+ ret i64 %ret7
+}
+
+define i64 @test_mask_cmp_b_512(<64 x i8> %a0, <64 x i8> %a1, i64 %mask) {
+; AVX512BW-LABEL: test_mask_cmp_b_512:
+; AVX512BW: ## BB#0:
+; AVX512BW-NEXT: kmovq %rdi, %k1
+; AVX512BW-NEXT: vpcmpeqb %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: vpcmpgtb %zmm0, %zmm1, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: vpcmpleb %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: kxorq %k0, %k0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: orq %rax, %rcx
+; AVX512BW-NEXT: vpcmpneqb %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: vpcmpleb %zmm0, %zmm1, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: vpcmpgtb %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: addq %rdi, %rax
+; AVX512BW-NEXT: retq
+;
+; AVX512F-32-LABEL: test_mask_cmp_b_512:
+; AVX512F-32: # BB#0:
+; AVX512F-32-NEXT: pushl %ebx
+; AVX512F-32-NEXT: .Lcfi5:
+; AVX512F-32-NEXT: .cfi_def_cfa_offset 8
+; AVX512F-32-NEXT: pushl %esi
+; AVX512F-32-NEXT: .Lcfi6:
+; AVX512F-32-NEXT: .cfi_def_cfa_offset 12
+; AVX512F-32-NEXT: subl $60, %esp
+; AVX512F-32-NEXT: .Lcfi7:
+; AVX512F-32-NEXT: .cfi_def_cfa_offset 72
+; AVX512F-32-NEXT: .Lcfi8:
+; AVX512F-32-NEXT: .cfi_offset %esi, -12
+; AVX512F-32-NEXT: .Lcfi9:
+; AVX512F-32-NEXT: .cfi_offset %ebx, -8
+; AVX512F-32-NEXT: vmovdqa64 %zmm1, %zmm6
+; AVX512F-32-NEXT: vmovdqa64 %zmm0, %zmm5
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $5, %al
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: movb %cl, %bl
+; AVX512F-32-NEXT: andb $15, %bl
+; AVX512F-32-NEXT: movb %cl, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k0
+; AVX512F-32-NEXT: movb %bl, %dl
+; AVX512F-32-NEXT: shrb $2, %bl
+; AVX512F-32-NEXT: kmovd %ebx, %k1
+; AVX512F-32-NEXT: movb %cl, %bl
+; AVX512F-32-NEXT: shrb $4, %bl
+; AVX512F-32-NEXT: shrb $3, %dl
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: vpsllw $8, %xmm2, %xmm2
+; AVX512F-32-NEXT: kmovd %ecx, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm3
+; AVX512F-32-NEXT: vpbroadcastw %xmm3, %xmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm2, %ymm3, %ymm3
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm3[0,1,2,3],zmm2[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: kmovd %edx, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpslld $24, %xmm3, %xmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm2, %ymm3, %ymm3
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm3[0,1,2,3],zmm2[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: kmovd %ebx, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpbroadcastd %xmm3, %xmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm2, %ymm3, %ymm3
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm3[0,1,2,3],zmm2[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpsllq $40, %xmm3, %xmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm2, %ymm3, %ymm3
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm3[0,1,2,3],zmm2[4,5,6,7]
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $6, %al
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $7, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpsllq $56, %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %ch, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastq %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: andb $2, %al
+; AVX512F-32-NEXT: shrb %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4,5,6]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %ch, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $61440, %eax # imm = 0xF000
+; AVX512F-32-NEXT: shrl $12, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastd %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $13, %eax
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $49152, %eax # imm = 0xC000
+; AVX512F-32-NEXT: shrl $14, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $32768, %eax # imm = 0x8000
+; AVX512F-32-NEXT: shrl $15, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $16, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpsllw $8, %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %bl
+; AVX512F-32-NEXT: andb $15, %bl
+; AVX512F-32-NEXT: movb %bl, %dl
+; AVX512F-32-NEXT: shrb $2, %bl
+; AVX512F-32-NEXT: kmovd %ebx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: shrb $3, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslld $24, %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: shrb $4, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastd %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: shrb $5, %dl
+; AVX512F-32-NEXT: andb $1, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpsllq $40, %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: shrb $6, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> %EAX<def>
+; AVX512F-32-NEXT: shrb $7, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpsllq $56, %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $24, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastq %xmm2, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4,5,6]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm3 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm3, %ymm4, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm4[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $28, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastd %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm4, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm4[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: movl %ecx, %esi
+; AVX512F-32-NEXT: shrl $29, %eax
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm1 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm1, %ymm0, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm2[0,1,2,3],zmm0[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %esi, %eax
+; AVX512F-32-NEXT: shrl $30, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm2 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255]
+; AVX512F-32-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm1
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm1[0,1,2,3],zmm0[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %esi, %eax
+; AVX512F-32-NEXT: shrl $31, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm1, %ymm0, %ymm0
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm1[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; AVX512F-32-NEXT: kmovd %ecx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm7
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm4 = [0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm4, %ymm1, %ymm7, %ymm1
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: andb $2, %al
+; AVX512F-32-NEXT: shrb %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllw $8, %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslld $24, %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $4, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastd %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $5, %al
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllq $40, %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $6, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $7, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllq $56, %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %ch, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastq %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: andb $2, %al
+; AVX512F-32-NEXT: shrb %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %ch, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $61440, %eax # imm = 0xF000
+; AVX512F-32-NEXT: shrl $12, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastd %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $13, %eax
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $49152, %eax # imm = 0xC000
+; AVX512F-32-NEXT: shrl $14, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $32768, %eax # imm = 0x8000
+; AVX512F-32-NEXT: shrl $15, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %ebx
+; AVX512F-32-NEXT: shrl $16, %ebx
+; AVX512F-32-NEXT: kmovd %ebx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %bl, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllw $8, %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: movb %bl, %al
+; AVX512F-32-NEXT: andb $15, %al
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: shrb $2, %al
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: shrb $3, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslld $24, %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %bl, %al
+; AVX512F-32-NEXT: shrb $4, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastd %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %bl, %al
+; AVX512F-32-NEXT: shrb $5, %al
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllq $40, %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %bl, %al
+; AVX512F-32-NEXT: shrb $6, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: # kill: %BL<def> %BL<kill> %EBX<kill> %EBX<def>
+; AVX512F-32-NEXT: shrb $7, %bl
+; AVX512F-32-NEXT: kmovd %ebx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllq $56, %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $24, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastq %xmm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm1 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm1[0,1,2,3,4]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm4
+; AVX512F-32-NEXT: vpblendvb %ymm3, %ymm4, %ymm1, %ymm1
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $29, %eax
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $28, %eax
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm3
+; AVX512F-32-NEXT: vpbroadcastd %xmm3, %xmm3
+; AVX512F-32-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm4 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm4, %ymm1, %ymm3, %ymm1
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm3[0,1,2]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm4 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm4, %ymm1, %ymm3, %ymm1
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $30, %eax
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpbroadcastw %xmm3, %xmm3
+; AVX512F-32-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm3
+; AVX512F-32-NEXT: vpblendvb %ymm2, %ymm1, %ymm3, %ymm1
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $31, %eax
+; AVX512F-32-NEXT: kshiftlq $1, %k0, %k0
+; AVX512F-32-NEXT: kshiftrq $1, %k0, %k0
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: kshiftlq $63, %k1, %k1
+; AVX512F-32-NEXT: korq %k1, %k0, %k1
+; AVX512F-32-NEXT: vpcmpeqb %zmm6, %zmm5, %k0 {%k1}
+; AVX512F-32-NEXT: vpcmpgtb %zmm5, %zmm6, %k2 {%k1}
+; AVX512F-32-NEXT: vpcmpleb %zmm6, %zmm5, %k3 {%k1}
+; AVX512F-32-NEXT: vpcmpneqb %zmm6, %zmm5, %k4 {%k1}
+; AVX512F-32-NEXT: vpcmpleb %zmm5, %zmm6, %k5 {%k1}
+; AVX512F-32-NEXT: vpcmpgtb %zmm6, %zmm5, %k1 {%k1}
+; AVX512F-32-NEXT: kmovq %k0, (%esp)
+; AVX512F-32-NEXT: movl (%esp), %eax
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kmovq %k2, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kmovq %k3, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kxorq %k0, %k0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: orl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: orl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: kmovq %k4, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kmovq %k5, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kmovq %k1, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: addl %esi, %eax
+; AVX512F-32-NEXT: adcxl %ecx, %edx
+; AVX512F-32-NEXT: addl $60, %esp
+; AVX512F-32-NEXT: popl %esi
+; AVX512F-32-NEXT: popl %ebx
+; AVX512F-32-NEXT: retl
+ %res0 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 0, i64 %mask)
+ %res1 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 1, i64 %mask)
+ %ret1 = add i64 %res0, %res1
+ %res2 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 2, i64 %mask)
+ %ret2 = add i64 %ret1, %res2
+ %res3 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 3, i64 %mask)
+ %ret3 = add i64 %ret2, %res3
+ %res4 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 4, i64 %mask)
+ %ret4 = add i64 %ret3, %res4
+ %res5 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 5, i64 %mask)
+ %ret5 = add i64 %ret4, %res5
+ %res6 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 6, i64 %mask)
+ %ret6 = add i64 %ret5, %res6
+ %res7 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 7, i64 %mask)
+ %ret7 = add i64 %ret6, %res7
+ ret i64 %ret7
+}
+
+declare i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8>, <64 x i8>, i32, i64) nounwind readnone
+
+define i64 @test_ucmp_b_512(<64 x i8> %a0, <64 x i8> %a1) {
+; AVX512BW-LABEL: test_ucmp_b_512:
+; AVX512BW: ## BB#0:
+; AVX512BW-NEXT: vpcmpeqb %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: vpcmpltub %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: vpcmpleub %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: vpcmpneqb %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: vpcmpnltub %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: vpcmpnleub %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: kxnorq %k0, %k0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: retq
+;
+; AVX512F-32-LABEL: test_ucmp_b_512:
+; AVX512F-32: # BB#0:
+; AVX512F-32-NEXT: subl $60, %esp
+; AVX512F-32-NEXT: .Lcfi10:
+; AVX512F-32-NEXT: .cfi_def_cfa_offset 64
+; AVX512F-32-NEXT: vpcmpeqb %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpltub %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpleub %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpneqb %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpnltub %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: vpcmpnleub %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovq %k0, (%esp)
+; AVX512F-32-NEXT: addl (%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kxnorq %k0, %k0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: addl $60, %esp
+; AVX512F-32-NEXT: retl
+ %res0 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 0, i64 -1)
+ %res1 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 1, i64 -1)
+ %ret1 = add i64 %res0, %res1
+ %res2 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 2, i64 -1)
+ %ret2 = add i64 %ret1, %res2
+ %res3 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 3, i64 -1)
+ %ret3 = add i64 %ret2, %res3
+ %res4 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 4, i64 -1)
+ %ret4 = add i64 %ret3, %res4
+ %res5 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 5, i64 -1)
+ %ret5 = add i64 %ret4, %res5
+ %res6 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 6, i64 -1)
+ %ret6 = add i64 %ret5, %res6
+ %res7 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 7, i64 -1)
+ %ret7 = add i64 %ret6, %res7
+ ret i64 %ret7
+}
+
+define i64 @test_mask_x86_avx512_ucmp_b_512(<64 x i8> %a0, <64 x i8> %a1, i64 %mask) {
+; AVX512BW-LABEL: test_mask_x86_avx512_ucmp_b_512:
+; AVX512BW: ## BB#0:
+; AVX512BW-NEXT: kmovq %rdi, %k1
+; AVX512BW-NEXT: vpcmpeqb %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: vpcmpltub %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: vpcmpleub %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: kxorq %k0, %k0, %k0
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: orq %rax, %rcx
+; AVX512BW-NEXT: vpcmpneqb %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: vpcmpnltub %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rcx
+; AVX512BW-NEXT: addq %rax, %rcx
+; AVX512BW-NEXT: vpcmpnleub %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovq %k0, %rax
+; AVX512BW-NEXT: addq %rcx, %rax
+; AVX512BW-NEXT: addq %rdi, %rax
+; AVX512BW-NEXT: retq
+;
+; AVX512F-32-LABEL: test_mask_x86_avx512_ucmp_b_512:
+; AVX512F-32: # BB#0:
+; AVX512F-32-NEXT: pushl %ebx
+; AVX512F-32-NEXT: .Lcfi11:
+; AVX512F-32-NEXT: .cfi_def_cfa_offset 8
+; AVX512F-32-NEXT: pushl %esi
+; AVX512F-32-NEXT: .Lcfi12:
+; AVX512F-32-NEXT: .cfi_def_cfa_offset 12
+; AVX512F-32-NEXT: subl $60, %esp
+; AVX512F-32-NEXT: .Lcfi13:
+; AVX512F-32-NEXT: .cfi_def_cfa_offset 72
+; AVX512F-32-NEXT: .Lcfi14:
+; AVX512F-32-NEXT: .cfi_offset %esi, -12
+; AVX512F-32-NEXT: .Lcfi15:
+; AVX512F-32-NEXT: .cfi_offset %ebx, -8
+; AVX512F-32-NEXT: vmovdqa64 %zmm1, %zmm6
+; AVX512F-32-NEXT: vmovdqa64 %zmm0, %zmm5
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $5, %al
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: movb %cl, %bl
+; AVX512F-32-NEXT: andb $15, %bl
+; AVX512F-32-NEXT: movb %cl, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k0
+; AVX512F-32-NEXT: movb %bl, %dl
+; AVX512F-32-NEXT: shrb $2, %bl
+; AVX512F-32-NEXT: kmovd %ebx, %k1
+; AVX512F-32-NEXT: movb %cl, %bl
+; AVX512F-32-NEXT: shrb $4, %bl
+; AVX512F-32-NEXT: shrb $3, %dl
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: vpsllw $8, %xmm2, %xmm2
+; AVX512F-32-NEXT: kmovd %ecx, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm3
+; AVX512F-32-NEXT: vpbroadcastw %xmm3, %xmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm2, %ymm3, %ymm3
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm3[0,1,2,3],zmm2[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: kmovd %edx, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpslld $24, %xmm3, %xmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm2, %ymm3, %ymm3
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm3[0,1,2,3],zmm2[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: kmovd %ebx, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpbroadcastd %xmm3, %xmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm2, %ymm3, %ymm3
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm3[0,1,2,3],zmm2[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm2
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpsllq $40, %xmm3, %xmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm2, %ymm3, %ymm3
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm3[0,1,2,3],zmm2[4,5,6,7]
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $6, %al
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $7, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpsllq $56, %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %ch, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastq %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: andb $2, %al
+; AVX512F-32-NEXT: shrb %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4,5,6]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %ch, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $61440, %eax # imm = 0xF000
+; AVX512F-32-NEXT: shrl $12, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastd %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $13, %eax
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $49152, %eax # imm = 0xC000
+; AVX512F-32-NEXT: shrl $14, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $32768, %eax # imm = 0x8000
+; AVX512F-32-NEXT: shrl $15, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $16, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpsllw $8, %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %bl
+; AVX512F-32-NEXT: andb $15, %bl
+; AVX512F-32-NEXT: movb %bl, %dl
+; AVX512F-32-NEXT: shrb $2, %bl
+; AVX512F-32-NEXT: kmovd %ebx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: shrb $3, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslld $24, %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: shrb $4, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastd %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: shrb $5, %dl
+; AVX512F-32-NEXT: andb $1, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpsllq $40, %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: shrb $6, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: # kill: %AL<def> %AL<kill> %EAX<kill> %EAX<def>
+; AVX512F-32-NEXT: shrb $7, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpsllq $56, %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $24, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastq %xmm2, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4,5,6]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastw %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm3, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm3[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm3 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm3, %ymm4, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm4[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $28, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpbroadcastd %xmm2, %xmm2
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm0 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm0, %ymm4, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm2 = zmm2[0,1,2,3],zmm4[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm2, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: movl %ecx, %esi
+; AVX512F-32-NEXT: shrl $29, %eax
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm2
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm2
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm1 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm1, %ymm0, %ymm2, %ymm2
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm2[0,1,2,3],zmm0[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %esi, %eax
+; AVX512F-32-NEXT: shrl $30, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm2 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255]
+; AVX512F-32-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm1
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm1[0,1,2,3],zmm0[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %esi, %eax
+; AVX512F-32-NEXT: shrl $31, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm1, %ymm0, %ymm0
+; AVX512F-32-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm0[0,1,2,3],zmm1[4,5,6,7]
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; AVX512F-32-NEXT: kmovd %ecx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm7
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm4 = [0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm4, %ymm1, %ymm7, %ymm1
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: andb $2, %al
+; AVX512F-32-NEXT: shrb %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllw $8, %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslld $24, %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $4, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastd %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $5, %al
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllq $40, %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $6, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %cl, %al
+; AVX512F-32-NEXT: shrb $7, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllq $56, %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %ch, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastq %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: andb $2, %al
+; AVX512F-32-NEXT: shrb %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %ch, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $61440, %eax # imm = 0xF000
+; AVX512F-32-NEXT: shrl $12, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastd %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $13, %eax
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $49152, %eax # imm = 0xC000
+; AVX512F-32-NEXT: shrl $14, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: andl $32768, %eax # imm = 0x8000
+; AVX512F-32-NEXT: shrl $15, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0]
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %ebx
+; AVX512F-32-NEXT: shrl $16, %ebx
+; AVX512F-32-NEXT: kmovd %ebx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %bl, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllw $8, %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: movb %bl, %al
+; AVX512F-32-NEXT: andb $15, %al
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: shrb $2, %al
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: shrb $3, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslld $24, %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %bl, %al
+; AVX512F-32-NEXT: shrb $4, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastd %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %bl, %al
+; AVX512F-32-NEXT: shrb $5, %al
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllq $40, %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %bl, %al
+; AVX512F-32-NEXT: shrb $6, %al
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: # kill: %BL<def> %BL<kill> %EBX<kill> %EBX<def>
+; AVX512F-32-NEXT: shrb $7, %bl
+; AVX512F-32-NEXT: kmovd %ebx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpsllq $56, %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $24, %eax
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpbroadcastq %xmm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $2, %dl
+; AVX512F-32-NEXT: shrb %dl
+; AVX512F-32-NEXT: kmovd %edx, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: movb %al, %dl
+; AVX512F-32-NEXT: andb $15, %dl
+; AVX512F-32-NEXT: movb %dl, %al
+; AVX512F-32-NEXT: shrb $2, %dl
+; AVX512F-32-NEXT: kmovd %edx, %k0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX512F-32-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm1, %ymm4
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm7 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm7, %ymm4, %ymm0, %ymm0
+; AVX512F-32-NEXT: shrb $3, %al
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm0, %zmm1, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm1
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm1 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm1[0,1,2,3,4]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm1
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm4
+; AVX512F-32-NEXT: vpblendvb %ymm3, %ymm4, %ymm1, %ymm1
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $29, %eax
+; AVX512F-32-NEXT: andb $1, %al
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $28, %eax
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm3
+; AVX512F-32-NEXT: vpbroadcastd %xmm3, %xmm3
+; AVX512F-32-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm4 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm4, %ymm1, %ymm3, %ymm1
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k1
+; AVX512F-32-NEXT: vpmovm2b %k1, %zmm0
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpslldq {{.*#+}} xmm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm3[0,1,2]
+; AVX512F-32-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm3
+; AVX512F-32-NEXT: vmovdqa {{.*#+}} ymm4 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255]
+; AVX512F-32-NEXT: vpblendvb %ymm4, %ymm1, %ymm3, %ymm1
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $30, %eax
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm0
+; AVX512F-32-NEXT: vextracti64x4 $1, %zmm0, %ymm1
+; AVX512F-32-NEXT: kmovd %eax, %k0
+; AVX512F-32-NEXT: vpmovm2b %k0, %zmm3
+; AVX512F-32-NEXT: vpbroadcastw %xmm3, %xmm3
+; AVX512F-32-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm3
+; AVX512F-32-NEXT: vpblendvb %ymm2, %ymm1, %ymm3, %ymm1
+; AVX512F-32-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
+; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
+; AVX512F-32-NEXT: movl %ecx, %eax
+; AVX512F-32-NEXT: shrl $31, %eax
+; AVX512F-32-NEXT: kshiftlq $1, %k0, %k0
+; AVX512F-32-NEXT: kshiftrq $1, %k0, %k0
+; AVX512F-32-NEXT: kmovd %eax, %k1
+; AVX512F-32-NEXT: kshiftlq $63, %k1, %k1
+; AVX512F-32-NEXT: korq %k1, %k0, %k1
+; AVX512F-32-NEXT: vpcmpeqb %zmm6, %zmm5, %k0 {%k1}
+; AVX512F-32-NEXT: vpcmpltub %zmm6, %zmm5, %k2 {%k1}
+; AVX512F-32-NEXT: vpcmpleub %zmm6, %zmm5, %k3 {%k1}
+; AVX512F-32-NEXT: vpcmpneqb %zmm6, %zmm5, %k4 {%k1}
+; AVX512F-32-NEXT: vpcmpnltub %zmm6, %zmm5, %k5 {%k1}
+; AVX512F-32-NEXT: vpcmpnleub %zmm6, %zmm5, %k1 {%k1}
+; AVX512F-32-NEXT: kmovq %k0, (%esp)
+; AVX512F-32-NEXT: movl (%esp), %eax
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kmovq %k2, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kmovq %k3, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kxorq %k0, %k0, %k0
+; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: orl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: orl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: kmovq %k4, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kmovq %k5, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: kmovq %k1, {{[0-9]+}}(%esp)
+; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
+; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
+; AVX512F-32-NEXT: addl %esi, %eax
+; AVX512F-32-NEXT: adcxl %ecx, %edx
+; AVX512F-32-NEXT: addl $60, %esp
+; AVX512F-32-NEXT: popl %esi
+; AVX512F-32-NEXT: popl %ebx
+; AVX512F-32-NEXT: retl
+ %res0 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 0, i64 %mask)
+ %res1 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 1, i64 %mask)
+ %ret1 = add i64 %res0, %res1
+ %res2 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 2, i64 %mask)
+ %ret2 = add i64 %ret1, %res2
+ %res3 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 3, i64 %mask)
+ %ret3 = add i64 %ret2, %res3
+ %res4 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 4, i64 %mask)
+ %ret4 = add i64 %ret3, %res4
+ %res5 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 5, i64 %mask)
+ %ret5 = add i64 %ret4, %res5
+ %res6 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 6, i64 %mask)
+ %ret6 = add i64 %ret5, %res6
+ %res7 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 7, i64 %mask)
+ %ret7 = add i64 %ret6, %res7
+ ret i64 %ret7
+}
+
+declare i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8>, <64 x i8>, i32, i64) nounwind readnone
+
+define i32 @test_cmp_w_512(<32 x i16> %a0, <32 x i16> %a1) {
+; AVX512BW-LABEL: test_cmp_w_512:
+; AVX512BW: ## BB#0:
+; AVX512BW-NEXT: vpcmpeqw %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: vpcmpgtw %zmm0, %zmm1, %k0
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: vpcmplew %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: vpcmpneqw %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: vpcmplew %zmm0, %zmm1, %k0
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: vpcmpgtw %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: kxnord %k0, %k0, %k0
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: retq
+;
+; AVX512F-32-LABEL: test_cmp_w_512:
+; AVX512F-32: # BB#0:
+; AVX512F-32-NEXT: vpcmpeqw %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: vpcmpgtw %zmm0, %zmm1, %k0
+; AVX512F-32-NEXT: kmovd %k0, %ecx
+; AVX512F-32-NEXT: addl %eax, %ecx
+; AVX512F-32-NEXT: vpcmplew %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %ecx, %eax
+; AVX512F-32-NEXT: vpcmpneqw %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %ecx
+; AVX512F-32-NEXT: addl %eax, %ecx
+; AVX512F-32-NEXT: vpcmplew %zmm0, %zmm1, %k0
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %ecx, %eax
+; AVX512F-32-NEXT: vpcmpgtw %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %ecx
+; AVX512F-32-NEXT: addl %eax, %ecx
+; AVX512F-32-NEXT: kxnord %k0, %k0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %ecx, %eax
+; AVX512F-32-NEXT: retl
+ %res0 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 0, i32 -1)
+ %res1 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 1, i32 -1)
+ %ret1 = add i32 %res0, %res1
+ %res2 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 2, i32 -1)
+ %ret2 = add i32 %ret1, %res2
+ %res3 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 3, i32 -1)
+ %ret3 = add i32 %ret2, %res3
+ %res4 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 4, i32 -1)
+ %ret4 = add i32 %ret3, %res4
+ %res5 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 5, i32 -1)
+ %ret5 = add i32 %ret4, %res5
+ %res6 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 6, i32 -1)
+ %ret6 = add i32 %ret5, %res6
+ %res7 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 7, i32 -1)
+ %ret7 = add i32 %ret6, %res7
+ ret i32 %ret7
+}
+
+define i32 @test_mask_cmp_w_512(<32 x i16> %a0, <32 x i16> %a1, i32 %mask) {
+; AVX512BW-LABEL: test_mask_cmp_w_512:
+; AVX512BW: ## BB#0:
+; AVX512BW-NEXT: kmovd %edi, %k1
+; AVX512BW-NEXT: vpcmpeqw %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: vpcmpgtw %zmm0, %zmm1, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: vpcmplew %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: kxord %k0, %k0, %k0
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: orl %eax, %ecx
+; AVX512BW-NEXT: vpcmpneqw %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: vpcmplew %zmm0, %zmm1, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: vpcmpgtw %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: addl %edi, %eax
+; AVX512BW-NEXT: retq
+;
+; AVX512F-32-LABEL: test_mask_cmp_w_512:
+; AVX512F-32: # BB#0:
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; AVX512F-32-NEXT: kmovd %ecx, %k1
+; AVX512F-32-NEXT: vpcmpeqw %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: vpcmpgtw %zmm0, %zmm1, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %edx
+; AVX512F-32-NEXT: addl %eax, %edx
+; AVX512F-32-NEXT: vpcmplew %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %edx, %eax
+; AVX512F-32-NEXT: kxord %k0, %k0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %edx
+; AVX512F-32-NEXT: orl %eax, %edx
+; AVX512F-32-NEXT: vpcmpneqw %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %edx, %eax
+; AVX512F-32-NEXT: vpcmplew %zmm0, %zmm1, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %edx
+; AVX512F-32-NEXT: addl %eax, %edx
+; AVX512F-32-NEXT: vpcmpgtw %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %edx, %eax
+; AVX512F-32-NEXT: addl %ecx, %eax
+; AVX512F-32-NEXT: retl
+ %res0 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 0, i32 %mask)
+ %res1 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 1, i32 %mask)
+ %ret1 = add i32 %res0, %res1
+ %res2 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 2, i32 %mask)
+ %ret2 = add i32 %ret1, %res2
+ %res3 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 3, i32 %mask)
+ %ret3 = add i32 %ret2, %res3
+ %res4 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 4, i32 %mask)
+ %ret4 = add i32 %ret3, %res4
+ %res5 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 5, i32 %mask)
+ %ret5 = add i32 %ret4, %res5
+ %res6 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 6, i32 %mask)
+ %ret6 = add i32 %ret5, %res6
+ %res7 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 7, i32 %mask)
+ %ret7 = add i32 %ret6, %res7
+ ret i32 %ret7
+}
+
+declare i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16>, <32 x i16>, i32, i32) nounwind readnone
+
+define i32 @test_ucmp_w_512(<32 x i16> %a0, <32 x i16> %a1) {
+; AVX512BW-LABEL: test_ucmp_w_512:
+; AVX512BW: ## BB#0:
+; AVX512BW-NEXT: vpcmpeqw %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: vpcmpltuw %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: vpcmpleuw %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: vpcmpneqw %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: vpcmpnltuw %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: vpcmpnleuw %zmm1, %zmm0, %k0
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: kxnord %k0, %k0, %k0
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: retq
+;
+; AVX512F-32-LABEL: test_ucmp_w_512:
+; AVX512F-32: # BB#0:
+; AVX512F-32-NEXT: vpcmpeqw %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: vpcmpltuw %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %ecx
+; AVX512F-32-NEXT: addl %eax, %ecx
+; AVX512F-32-NEXT: vpcmpleuw %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %ecx, %eax
+; AVX512F-32-NEXT: vpcmpneqw %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %ecx
+; AVX512F-32-NEXT: addl %eax, %ecx
+; AVX512F-32-NEXT: vpcmpnltuw %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %ecx, %eax
+; AVX512F-32-NEXT: vpcmpnleuw %zmm1, %zmm0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %ecx
+; AVX512F-32-NEXT: addl %eax, %ecx
+; AVX512F-32-NEXT: kxnord %k0, %k0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %ecx, %eax
+; AVX512F-32-NEXT: retl
+ %res0 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 0, i32 -1)
+ %res1 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 1, i32 -1)
+ %ret1 = add i32 %res0, %res1
+ %res2 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 2, i32 -1)
+ %ret2 = add i32 %ret1, %res2
+ %res3 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 3, i32 -1)
+ %ret3 = add i32 %ret2, %res3
+ %res4 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 4, i32 -1)
+ %ret4 = add i32 %ret3, %res4
+ %res5 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 5, i32 -1)
+ %ret5 = add i32 %ret4, %res5
+ %res6 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 6, i32 -1)
+ %ret6 = add i32 %ret5, %res6
+ %res7 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 7, i32 -1)
+ %ret7 = add i32 %ret6, %res7
+ ret i32 %ret7
+}
+
+define i32 @test_mask_ucmp_w_512(<32 x i16> %a0, <32 x i16> %a1, i32 %mask) {
+; AVX512BW-LABEL: test_mask_ucmp_w_512:
+; AVX512BW: ## BB#0:
+; AVX512BW-NEXT: kmovd %edi, %k1
+; AVX512BW-NEXT: vpcmpeqw %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: vpcmpltuw %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: vpcmpleuw %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: kxord %k0, %k0, %k0
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: orl %eax, %ecx
+; AVX512BW-NEXT: vpcmpneqw %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: vpcmpnltuw %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %ecx
+; AVX512BW-NEXT: addl %eax, %ecx
+; AVX512BW-NEXT: vpcmpnleuw %zmm1, %zmm0, %k0 {%k1}
+; AVX512BW-NEXT: kmovd %k0, %eax
+; AVX512BW-NEXT: addl %ecx, %eax
+; AVX512BW-NEXT: addl %edi, %eax
+; AVX512BW-NEXT: retq
+;
+; AVX512F-32-LABEL: test_mask_ucmp_w_512:
+; AVX512F-32: # BB#0:
+; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; AVX512F-32-NEXT: kmovd %ecx, %k1
+; AVX512F-32-NEXT: vpcmpeqw %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: vpcmpltuw %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %edx
+; AVX512F-32-NEXT: addl %eax, %edx
+; AVX512F-32-NEXT: vpcmpleuw %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %edx, %eax
+; AVX512F-32-NEXT: kxord %k0, %k0, %k0
+; AVX512F-32-NEXT: kmovd %k0, %edx
+; AVX512F-32-NEXT: orl %eax, %edx
+; AVX512F-32-NEXT: vpcmpneqw %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %edx, %eax
+; AVX512F-32-NEXT: vpcmpnltuw %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %edx
+; AVX512F-32-NEXT: addl %eax, %edx
+; AVX512F-32-NEXT: vpcmpnleuw %zmm1, %zmm0, %k0 {%k1}
+; AVX512F-32-NEXT: kmovd %k0, %eax
+; AVX512F-32-NEXT: addl %edx, %eax
+; AVX512F-32-NEXT: addl %ecx, %eax
+; AVX512F-32-NEXT: retl
+ %res0 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 0, i32 %mask)
+ %res1 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 1, i32 %mask)
+ %ret1 = add i32 %res0, %res1
+ %res2 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 2, i32 %mask)
+ %ret2 = add i32 %ret1, %res2
+ %res3 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 3, i32 %mask)
+ %ret3 = add i32 %ret2, %res3
+ %res4 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 4, i32 %mask)
+ %ret4 = add i32 %ret3, %res4
+ %res5 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 5, i32 %mask)
+ %ret5 = add i32 %ret4, %res5
+ %res6 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 6, i32 %mask)
+ %ret6 = add i32 %ret5, %res6
+ %res7 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 7, i32 %mask)
+ %ret7 = add i32 %ret6, %res7
+ ret i32 %ret7
+}
+
+declare i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16>, <32 x i16>, i32, i32) nounwind readnone
diff --git a/test/CodeGen/X86/avx512bw-intrinsics.ll b/test/CodeGen/X86/avx512bw-intrinsics.ll
index ca01033bf78b..5472f057ef27 100644
--- a/test/CodeGen/X86/avx512bw-intrinsics.ll
+++ b/test/CodeGen/X86/avx512bw-intrinsics.ll
@@ -2,654 +2,6 @@
; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=knl -mattr=+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512BW
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -mcpu=knl -mattr=+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX512F-32
-define i64 @test_cmp_b_512(<64 x i8> %a0, <64 x i8> %a1) {
-; AVX512BW-LABEL: test_cmp_b_512:
-; AVX512BW: ## BB#0:
-; AVX512BW-NEXT: vpcmpeqb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: vpcmpltb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpleb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rcx, %rax
-; AVX512BW-NEXT: vpcmpunordb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpneqb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rcx, %rax
-; AVX512BW-NEXT: vpcmpnltb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpnleb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rdx
-; AVX512BW-NEXT: addq %rcx, %rdx
-; AVX512BW-NEXT: vpcmpordb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rdx, %rax
-; AVX512BW-NEXT: retq
-;
-; AVX512F-32-LABEL: test_cmp_b_512:
-; AVX512F-32: # BB#0:
-; AVX512F-32-NEXT: subl $68, %esp
-; AVX512F-32-NEXT: .Lcfi0:
-; AVX512F-32-NEXT: .cfi_def_cfa_offset 72
-; AVX512F-32-NEXT: vpcmpeqb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpltb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpleb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpunordb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpneqb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnltb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnleb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpordb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, (%esp)
-; AVX512F-32-NEXT: addl (%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: addl $68, %esp
-; AVX512F-32-NEXT: retl
- %res0 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 0, i64 -1)
- %res1 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 1, i64 -1)
- %ret1 = add i64 %res0, %res1
- %res2 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 2, i64 -1)
- %ret2 = add i64 %ret1, %res2
- %res3 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 3, i64 -1)
- %ret3 = add i64 %ret2, %res3
- %res4 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 4, i64 -1)
- %ret4 = add i64 %ret3, %res4
- %res5 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 5, i64 -1)
- %ret5 = add i64 %ret4, %res5
- %res6 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 6, i64 -1)
- %ret6 = add i64 %ret5, %res6
- %res7 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 7, i64 -1)
- %ret7 = add i64 %ret6, %res7
- ret i64 %ret7
-}
-
-define i64 @test_mask_cmp_b_512(<64 x i8> %a0, <64 x i8> %a1, i64 %mask) {
-; AVX512BW-LABEL: test_mask_cmp_b_512:
-; AVX512BW: ## BB#0:
-; AVX512BW-NEXT: kmovq %rdi, %k1
-; AVX512BW-NEXT: vpcmpeqb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: vpcmpltb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpleb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rcx, %rax
-; AVX512BW-NEXT: vpcmpunordb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpneqb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rcx, %rax
-; AVX512BW-NEXT: vpcmpnltb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpnleb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rdx
-; AVX512BW-NEXT: addq %rcx, %rdx
-; AVX512BW-NEXT: vpcmpordb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rdx, %rax
-; AVX512BW-NEXT: retq
-;
-; AVX512F-32-LABEL: test_mask_cmp_b_512:
-; AVX512F-32: # BB#0:
-; AVX512F-32-NEXT: subl $68, %esp
-; AVX512F-32-NEXT: .Lcfi1:
-; AVX512F-32-NEXT: .cfi_def_cfa_offset 72
-; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k0
-; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k1
-; AVX512F-32-NEXT: kunpckdq %k0, %k1, %k1
-; AVX512F-32-NEXT: vpcmpeqb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, (%esp)
-; AVX512F-32-NEXT: movl (%esp), %eax
-; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpltb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpleb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpunordb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpneqb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnltb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnleb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpordb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: addl $68, %esp
-; AVX512F-32-NEXT: retl
- %res0 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 0, i64 %mask)
- %res1 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 1, i64 %mask)
- %ret1 = add i64 %res0, %res1
- %res2 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 2, i64 %mask)
- %ret2 = add i64 %ret1, %res2
- %res3 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 3, i64 %mask)
- %ret3 = add i64 %ret2, %res3
- %res4 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 4, i64 %mask)
- %ret4 = add i64 %ret3, %res4
- %res5 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 5, i64 %mask)
- %ret5 = add i64 %ret4, %res5
- %res6 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 6, i64 %mask)
- %ret6 = add i64 %ret5, %res6
- %res7 = call i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 7, i64 %mask)
- %ret7 = add i64 %ret6, %res7
- ret i64 %ret7
-}
-
-declare i64 @llvm.x86.avx512.mask.cmp.b.512(<64 x i8>, <64 x i8>, i32, i64) nounwind readnone
-
-define i64 @test_ucmp_b_512(<64 x i8> %a0, <64 x i8> %a1) {
-; AVX512BW-LABEL: test_ucmp_b_512:
-; AVX512BW: ## BB#0:
-; AVX512BW-NEXT: vpcmpequb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: vpcmpltub %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpleub %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rcx, %rax
-; AVX512BW-NEXT: vpcmpunordub %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpnequb %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rcx, %rax
-; AVX512BW-NEXT: vpcmpnltub %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpnleub %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rdx
-; AVX512BW-NEXT: addq %rcx, %rdx
-; AVX512BW-NEXT: vpcmpordub %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rdx, %rax
-; AVX512BW-NEXT: retq
-;
-; AVX512F-32-LABEL: test_ucmp_b_512:
-; AVX512F-32: # BB#0:
-; AVX512F-32-NEXT: subl $68, %esp
-; AVX512F-32-NEXT: .Lcfi2:
-; AVX512F-32-NEXT: .cfi_def_cfa_offset 72
-; AVX512F-32-NEXT: vpcmpequb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpltub %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpleub %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpunordub %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnequb %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnltub %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnleub %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpordub %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovq %k0, (%esp)
-; AVX512F-32-NEXT: addl (%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: addl $68, %esp
-; AVX512F-32-NEXT: retl
- %res0 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 0, i64 -1)
- %res1 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 1, i64 -1)
- %ret1 = add i64 %res0, %res1
- %res2 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 2, i64 -1)
- %ret2 = add i64 %ret1, %res2
- %res3 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 3, i64 -1)
- %ret3 = add i64 %ret2, %res3
- %res4 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 4, i64 -1)
- %ret4 = add i64 %ret3, %res4
- %res5 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 5, i64 -1)
- %ret5 = add i64 %ret4, %res5
- %res6 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 6, i64 -1)
- %ret6 = add i64 %ret5, %res6
- %res7 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 7, i64 -1)
- %ret7 = add i64 %ret6, %res7
- ret i64 %ret7
-}
-
-define i64 @test_mask_x86_avx512_ucmp_b_512(<64 x i8> %a0, <64 x i8> %a1, i64 %mask) {
-; AVX512BW-LABEL: test_mask_x86_avx512_ucmp_b_512:
-; AVX512BW: ## BB#0:
-; AVX512BW-NEXT: kmovq %rdi, %k1
-; AVX512BW-NEXT: vpcmpequb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: vpcmpltub %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpleub %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rcx, %rax
-; AVX512BW-NEXT: vpcmpunordub %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpnequb %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rcx, %rax
-; AVX512BW-NEXT: vpcmpnltub %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rcx
-; AVX512BW-NEXT: addq %rax, %rcx
-; AVX512BW-NEXT: vpcmpnleub %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rdx
-; AVX512BW-NEXT: addq %rcx, %rdx
-; AVX512BW-NEXT: vpcmpordub %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovq %k0, %rax
-; AVX512BW-NEXT: addq %rdx, %rax
-; AVX512BW-NEXT: retq
-;
-; AVX512F-32-LABEL: test_mask_x86_avx512_ucmp_b_512:
-; AVX512F-32: # BB#0:
-; AVX512F-32-NEXT: subl $68, %esp
-; AVX512F-32-NEXT: .Lcfi3:
-; AVX512F-32-NEXT: .cfi_def_cfa_offset 72
-; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k0
-; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k1
-; AVX512F-32-NEXT: kunpckdq %k0, %k1, %k1
-; AVX512F-32-NEXT: vpcmpequb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, (%esp)
-; AVX512F-32-NEXT: movl (%esp), %eax
-; AVX512F-32-NEXT: movl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpltub %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpleub %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpunordub %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnequb %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnltub %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpnleub %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: vpcmpordub %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovq %k0, {{[0-9]+}}(%esp)
-; AVX512F-32-NEXT: addl {{[0-9]+}}(%esp), %eax
-; AVX512F-32-NEXT: adcxl {{[0-9]+}}(%esp), %edx
-; AVX512F-32-NEXT: addl $68, %esp
-; AVX512F-32-NEXT: retl
- %res0 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 0, i64 %mask)
- %res1 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 1, i64 %mask)
- %ret1 = add i64 %res0, %res1
- %res2 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 2, i64 %mask)
- %ret2 = add i64 %ret1, %res2
- %res3 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 3, i64 %mask)
- %ret3 = add i64 %ret2, %res3
- %res4 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 4, i64 %mask)
- %ret4 = add i64 %ret3, %res4
- %res5 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 5, i64 %mask)
- %ret5 = add i64 %ret4, %res5
- %res6 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 6, i64 %mask)
- %ret6 = add i64 %ret5, %res6
- %res7 = call i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8> %a0, <64 x i8> %a1, i32 7, i64 %mask)
- %ret7 = add i64 %ret6, %res7
- ret i64 %ret7
-}
-
-declare i64 @llvm.x86.avx512.mask.ucmp.b.512(<64 x i8>, <64 x i8>, i32, i64) nounwind readnone
-
-define i32 @test_cmp_w_512(<32 x i16> %a0, <32 x i16> %a1) {
-; AVX512BW-LABEL: test_cmp_w_512:
-; AVX512BW: ## BB#0:
-; AVX512BW-NEXT: vpcmpeqw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: vpcmpltw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmplew %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %ecx, %eax
-; AVX512BW-NEXT: vpcmpunordw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpneqw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %ecx, %eax
-; AVX512BW-NEXT: vpcmpnltw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpnlew %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %edx
-; AVX512BW-NEXT: addl %ecx, %edx
-; AVX512BW-NEXT: vpcmpordw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %edx, %eax
-; AVX512BW-NEXT: retq
-;
-; AVX512F-32-LABEL: test_cmp_w_512:
-; AVX512F-32: # BB#0:
-; AVX512F-32-NEXT: vpcmpeqw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: vpcmpltw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmplew %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %ecx, %eax
-; AVX512F-32-NEXT: vpcmpunordw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpneqw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %ecx, %eax
-; AVX512F-32-NEXT: vpcmpnltw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpnlew %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %edx
-; AVX512F-32-NEXT: addl %ecx, %edx
-; AVX512F-32-NEXT: vpcmpordw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %edx, %eax
-; AVX512F-32-NEXT: retl
- %res0 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 0, i32 -1)
- %res1 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 1, i32 -1)
- %ret1 = add i32 %res0, %res1
- %res2 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 2, i32 -1)
- %ret2 = add i32 %ret1, %res2
- %res3 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 3, i32 -1)
- %ret3 = add i32 %ret2, %res3
- %res4 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 4, i32 -1)
- %ret4 = add i32 %ret3, %res4
- %res5 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 5, i32 -1)
- %ret5 = add i32 %ret4, %res5
- %res6 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 6, i32 -1)
- %ret6 = add i32 %ret5, %res6
- %res7 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 7, i32 -1)
- %ret7 = add i32 %ret6, %res7
- ret i32 %ret7
-}
-
-define i32 @test_mask_cmp_w_512(<32 x i16> %a0, <32 x i16> %a1, i32 %mask) {
-; AVX512BW-LABEL: test_mask_cmp_w_512:
-; AVX512BW: ## BB#0:
-; AVX512BW-NEXT: kmovd %edi, %k1
-; AVX512BW-NEXT: vpcmpeqw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: vpcmpltw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmplew %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %ecx, %eax
-; AVX512BW-NEXT: vpcmpunordw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpneqw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %ecx, %eax
-; AVX512BW-NEXT: vpcmpnltw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpnlew %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %edx
-; AVX512BW-NEXT: addl %ecx, %edx
-; AVX512BW-NEXT: vpcmpordw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %edx, %eax
-; AVX512BW-NEXT: retq
-;
-; AVX512F-32-LABEL: test_mask_cmp_w_512:
-; AVX512F-32: # BB#0:
-; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k1
-; AVX512F-32-NEXT: vpcmpeqw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: vpcmpltw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmplew %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %ecx, %eax
-; AVX512F-32-NEXT: vpcmpunordw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpneqw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %ecx, %eax
-; AVX512F-32-NEXT: vpcmpnltw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpnlew %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %edx
-; AVX512F-32-NEXT: addl %ecx, %edx
-; AVX512F-32-NEXT: vpcmpordw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %edx, %eax
-; AVX512F-32-NEXT: retl
- %res0 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 0, i32 %mask)
- %res1 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 1, i32 %mask)
- %ret1 = add i32 %res0, %res1
- %res2 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 2, i32 %mask)
- %ret2 = add i32 %ret1, %res2
- %res3 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 3, i32 %mask)
- %ret3 = add i32 %ret2, %res3
- %res4 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 4, i32 %mask)
- %ret4 = add i32 %ret3, %res4
- %res5 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 5, i32 %mask)
- %ret5 = add i32 %ret4, %res5
- %res6 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 6, i32 %mask)
- %ret6 = add i32 %ret5, %res6
- %res7 = call i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 7, i32 %mask)
- %ret7 = add i32 %ret6, %res7
- ret i32 %ret7
-}
-
-declare i32 @llvm.x86.avx512.mask.cmp.w.512(<32 x i16>, <32 x i16>, i32, i32) nounwind readnone
-
-define i32 @test_ucmp_w_512(<32 x i16> %a0, <32 x i16> %a1) {
-; AVX512BW-LABEL: test_ucmp_w_512:
-; AVX512BW: ## BB#0:
-; AVX512BW-NEXT: vpcmpequw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: vpcmpltuw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpleuw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %ecx, %eax
-; AVX512BW-NEXT: vpcmpunorduw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpnequw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %ecx, %eax
-; AVX512BW-NEXT: vpcmpnltuw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpnleuw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %edx
-; AVX512BW-NEXT: addl %ecx, %edx
-; AVX512BW-NEXT: vpcmporduw %zmm1, %zmm0, %k0
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %edx, %eax
-; AVX512BW-NEXT: retq
-;
-; AVX512F-32-LABEL: test_ucmp_w_512:
-; AVX512F-32: # BB#0:
-; AVX512F-32-NEXT: vpcmpequw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: vpcmpltuw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpleuw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %ecx, %eax
-; AVX512F-32-NEXT: vpcmpunorduw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpnequw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %ecx, %eax
-; AVX512F-32-NEXT: vpcmpnltuw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpnleuw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %edx
-; AVX512F-32-NEXT: addl %ecx, %edx
-; AVX512F-32-NEXT: vpcmporduw %zmm1, %zmm0, %k0
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %edx, %eax
-; AVX512F-32-NEXT: retl
- %res0 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 0, i32 -1)
- %res1 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 1, i32 -1)
- %ret1 = add i32 %res0, %res1
- %res2 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 2, i32 -1)
- %ret2 = add i32 %ret1, %res2
- %res3 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 3, i32 -1)
- %ret3 = add i32 %ret2, %res3
- %res4 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 4, i32 -1)
- %ret4 = add i32 %ret3, %res4
- %res5 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 5, i32 -1)
- %ret5 = add i32 %ret4, %res5
- %res6 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 6, i32 -1)
- %ret6 = add i32 %ret5, %res6
- %res7 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 7, i32 -1)
- %ret7 = add i32 %ret6, %res7
- ret i32 %ret7
-}
-
-define i32 @test_mask_ucmp_w_512(<32 x i16> %a0, <32 x i16> %a1, i32 %mask) {
-; AVX512BW-LABEL: test_mask_ucmp_w_512:
-; AVX512BW: ## BB#0:
-; AVX512BW-NEXT: kmovd %edi, %k1
-; AVX512BW-NEXT: vpcmpequw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: vpcmpltuw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpleuw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %ecx, %eax
-; AVX512BW-NEXT: vpcmpunorduw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpnequw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %ecx, %eax
-; AVX512BW-NEXT: vpcmpnltuw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %ecx
-; AVX512BW-NEXT: addl %eax, %ecx
-; AVX512BW-NEXT: vpcmpnleuw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %edx
-; AVX512BW-NEXT: addl %ecx, %edx
-; AVX512BW-NEXT: vpcmporduw %zmm1, %zmm0, %k0 {%k1}
-; AVX512BW-NEXT: kmovd %k0, %eax
-; AVX512BW-NEXT: addl %edx, %eax
-; AVX512BW-NEXT: retq
-;
-; AVX512F-32-LABEL: test_mask_ucmp_w_512:
-; AVX512F-32: # BB#0:
-; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k1
-; AVX512F-32-NEXT: vpcmpequw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: vpcmpltuw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpleuw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %ecx, %eax
-; AVX512F-32-NEXT: vpcmpunorduw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpnequw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %ecx, %eax
-; AVX512F-32-NEXT: vpcmpnltuw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %ecx
-; AVX512F-32-NEXT: addl %eax, %ecx
-; AVX512F-32-NEXT: vpcmpnleuw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %edx
-; AVX512F-32-NEXT: addl %ecx, %edx
-; AVX512F-32-NEXT: vpcmporduw %zmm1, %zmm0, %k0 {%k1}
-; AVX512F-32-NEXT: kmovd %k0, %eax
-; AVX512F-32-NEXT: addl %edx, %eax
-; AVX512F-32-NEXT: retl
- %res0 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 0, i32 %mask)
- %res1 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 1, i32 %mask)
- %ret1 = add i32 %res0, %res1
- %res2 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 2, i32 %mask)
- %ret2 = add i32 %ret1, %res2
- %res3 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 3, i32 %mask)
- %ret3 = add i32 %ret2, %res3
- %res4 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 4, i32 %mask)
- %ret4 = add i32 %ret3, %res4
- %res5 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 5, i32 %mask)
- %ret5 = add i32 %ret4, %res5
- %res6 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 6, i32 %mask)
- %ret6 = add i32 %ret5, %res6
- %res7 = call i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16> %a0, <32 x i16> %a1, i32 7, i32 %mask)
- %ret7 = add i32 %ret6, %res7
- ret i32 %ret7
-}
-
-declare i32 @llvm.x86.avx512.mask.ucmp.w.512(<32 x i16>, <32 x i16>, i32, i32) nounwind readnone
-
define <32 x i16> @test_mask_packs_epi32_rr_512(<16 x i32> %a, <16 x i32> %b) {
; AVX512BW-LABEL: test_mask_packs_epi32_rr_512:
; AVX512BW: ## BB#0:
@@ -2239,7 +1591,7 @@ define i64@test_int_x86_avx512_kunpck_qd(i64 %x0, i64 %x1) {
; AVX512F-32-LABEL: test_int_x86_avx512_kunpck_qd:
; AVX512F-32: # BB#0:
; AVX512F-32-NEXT: subl $12, %esp
-; AVX512F-32-NEXT: .Lcfi4:
+; AVX512F-32-NEXT: .Lcfi0:
; AVX512F-32-NEXT: .cfi_def_cfa_offset 16
; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k0
; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k1
@@ -2265,7 +1617,7 @@ define i64@test_int_x86_avx512_cvtb2mask_512(<64 x i8> %x0) {
; AVX512F-32-LABEL: test_int_x86_avx512_cvtb2mask_512:
; AVX512F-32: # BB#0:
; AVX512F-32-NEXT: subl $12, %esp
-; AVX512F-32-NEXT: .Lcfi5:
+; AVX512F-32-NEXT: .Lcfi1:
; AVX512F-32-NEXT: .cfi_def_cfa_offset 16
; AVX512F-32-NEXT: vpmovb2m %zmm0, %k0
; AVX512F-32-NEXT: kmovq %k0, (%esp)
@@ -2449,7 +1801,7 @@ define i64@test_int_x86_avx512_ptestm_b_512(<64 x i8> %x0, <64 x i8> %x1, i64 %x
; AVX512F-32-LABEL: test_int_x86_avx512_ptestm_b_512:
; AVX512F-32: # BB#0:
; AVX512F-32-NEXT: subl $20, %esp
-; AVX512F-32-NEXT: .Lcfi6:
+; AVX512F-32-NEXT: .Lcfi2:
; AVX512F-32-NEXT: .cfi_def_cfa_offset 24
; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k0
; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k1
@@ -2514,7 +1866,7 @@ define i64@test_int_x86_avx512_ptestnm_b_512(<64 x i8> %x0, <64 x i8> %x1, i64 %
; AVX512F-32-LABEL: test_int_x86_avx512_ptestnm_b_512:
; AVX512F-32: # BB#0:
; AVX512F-32-NEXT: subl $20, %esp
-; AVX512F-32-NEXT: .Lcfi7:
+; AVX512F-32-NEXT: .Lcfi3:
; AVX512F-32-NEXT: .cfi_def_cfa_offset 24
; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k0
; AVX512F-32-NEXT: kmovd {{[0-9]+}}(%esp), %k1
diff --git a/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll b/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
index 571f345d4616..f4504ed07fc6 100644
--- a/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
+++ b/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
@@ -483,6 +483,106 @@ define i16 @test_mask_pcmpgt_w_256(<16 x i16> %a, <16 x i16> %b, i16 %mask) {
declare i16 @llvm.x86.avx512.mask.pcmpgt.w.256(<16 x i16>, <16 x i16>, i16)
+define i16 @test_pcmpeq_b_128(<16 x i8> %a, <16 x i8> %b) {
+; CHECK-LABEL: test_pcmpeq_b_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x74,0xc1]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: ## kill: %AX<def> %AX<kill> %EAX<kill>
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res = call i16 @llvm.x86.avx512.mask.pcmpeq.b.128(<16 x i8> %a, <16 x i8> %b, i16 -1)
+ ret i16 %res
+}
+
+define i16 @test_mask_pcmpeq_b_128(<16 x i8> %a, <16 x i8> %b, i16 %mask) {
+; CHECK-LABEL: test_mask_pcmpeq_b_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x74,0xc1]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: ## kill: %AX<def> %AX<kill> %EAX<kill>
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res = call i16 @llvm.x86.avx512.mask.pcmpeq.b.128(<16 x i8> %a, <16 x i8> %b, i16 %mask)
+ ret i16 %res
+}
+
+declare i16 @llvm.x86.avx512.mask.pcmpeq.b.128(<16 x i8>, <16 x i8>, i16)
+
+define i8 @test_pcmpeq_w_128(<8 x i16> %a, <8 x i16> %b) {
+; CHECK-LABEL: test_pcmpeq_w_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x75,0xc1]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res = call i8 @llvm.x86.avx512.mask.pcmpeq.w.128(<8 x i16> %a, <8 x i16> %b, i8 -1)
+ ret i8 %res
+}
+
+define i8 @test_mask_pcmpeq_w_128(<8 x i16> %a, <8 x i16> %b, i8 %mask) {
+; CHECK-LABEL: test_mask_pcmpeq_w_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x75,0xc1]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res = call i8 @llvm.x86.avx512.mask.pcmpeq.w.128(<8 x i16> %a, <8 x i16> %b, i8 %mask)
+ ret i8 %res
+}
+
+declare i8 @llvm.x86.avx512.mask.pcmpeq.w.128(<8 x i16>, <8 x i16>, i8)
+
+define i16 @test_pcmpgt_b_128(<16 x i8> %a, <16 x i8> %b) {
+; CHECK-LABEL: test_pcmpgt_b_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpgtb %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x64,0xc1]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: ## kill: %AX<def> %AX<kill> %EAX<kill>
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res = call i16 @llvm.x86.avx512.mask.pcmpgt.b.128(<16 x i8> %a, <16 x i8> %b, i16 -1)
+ ret i16 %res
+}
+
+define i16 @test_mask_pcmpgt_b_128(<16 x i8> %a, <16 x i8> %b, i16 %mask) {
+; CHECK-LABEL: test_mask_pcmpgt_b_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpgtb %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x64,0xc1]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: ## kill: %AX<def> %AX<kill> %EAX<kill>
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res = call i16 @llvm.x86.avx512.mask.pcmpgt.b.128(<16 x i8> %a, <16 x i8> %b, i16 %mask)
+ ret i16 %res
+}
+
+declare i16 @llvm.x86.avx512.mask.pcmpgt.b.128(<16 x i8>, <16 x i8>, i16)
+
+define i8 @test_pcmpgt_w_128(<8 x i16> %a, <8 x i16> %b) {
+; CHECK-LABEL: test_pcmpgt_w_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpgtw %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x65,0xc1]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res = call i8 @llvm.x86.avx512.mask.pcmpgt.w.128(<8 x i16> %a, <8 x i16> %b, i8 -1)
+ ret i8 %res
+}
+
+define i8 @test_mask_pcmpgt_w_128(<8 x i16> %a, <8 x i16> %b, i8 %mask) {
+; CHECK-LABEL: test_mask_pcmpgt_w_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpgtw %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x65,0xc1]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res = call i8 @llvm.x86.avx512.mask.pcmpgt.w.128(<8 x i16> %a, <8 x i16> %b, i8 %mask)
+ ret i8 %res
+}
+
+declare i8 @llvm.x86.avx512.mask.pcmpgt.w.128(<8 x i16>, <8 x i16>, i8)
+
declare <16 x i8> @llvm.x86.avx512.mask.punpckhb.w.128(<16 x i8>, <16 x i8>, <16 x i8>, i16)
define <16 x i8>@test_int_x86_avx512_mask_punpckhb_w_128(<16 x i8> %x0, <16 x i8> %x1, <16 x i8> %x2, i16 %x3) {
@@ -2592,3 +2692,756 @@ define <32 x i8> @test_mask_packus_epi16_rmkz_256(<16 x i16> %a, <16 x i16>* %pt
declare <32 x i8> @llvm.x86.avx512.mask.packuswb.256(<16 x i16>, <16 x i16>, <32 x i8>, i32)
+define <8 x i32> @test_cmp_b_256(<32 x i8> %a0, <32 x i8> %a1) {
+; CHECK-LABEL: test_cmp_b_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x28,0x74,0xc1]
+; CHECK-NEXT: kmovd %k0, %r8d ## encoding: [0xc5,0x7b,0x93,0xc0]
+; CHECK-NEXT: vpcmpgtb %ymm0, %ymm1, %k0 ## encoding: [0x62,0xf1,0x75,0x28,0x64,0xc0]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vpcmpleb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x02]
+; CHECK-NEXT: kmovd %k0, %edx ## encoding: [0xc5,0xfb,0x93,0xd0]
+; CHECK-NEXT: vpcmpneqb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x04]
+; CHECK-NEXT: kmovd %k0, %esi ## encoding: [0xc5,0xfb,0x93,0xf0]
+; CHECK-NEXT: vpcmpleb %ymm0, %ymm1, %k0 ## encoding: [0x62,0xf3,0x75,0x28,0x3f,0xc0,0x02]
+; CHECK-NEXT: kmovd %k0, %edi ## encoding: [0xc5,0xfb,0x93,0xf8]
+; CHECK-NEXT: vpcmpgtb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x28,0x64,0xc1]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vmovd %esi, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc6]
+; CHECK-NEXT: vpinsrd $1, %edi, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc7,0x01]
+; CHECK-NEXT: vpinsrd $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc0,0x02]
+; CHECK-NEXT: kxnord %k0, %k0, %k0 ## encoding: [0xc4,0xe1,0xfd,0x46,0xc0]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpinsrd $3, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc0,0x03]
+; CHECK-NEXT: vmovd %ecx, %xmm1 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc9]
+; CHECK-NEXT: vmovd %r8d, %xmm2 ## EVEX TO VEX Compression encoding: [0xc4,0xc1,0x79,0x6e,0xd0]
+; CHECK-NEXT: vpunpckldq %xmm1, %xmm2, %xmm1 ## EVEX TO VEX Compression encoding: [0xc5,0xe9,0x62,0xc9]
+; CHECK-NEXT: ## xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
+; CHECK-NEXT: vmovd %edx, %xmm2 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xd2]
+; CHECK-NEXT: vpunpcklqdq %xmm2, %xmm1, %xmm1 ## EVEX TO VEX Compression encoding: [0xc5,0xf1,0x6c,0xca]
+; CHECK-NEXT: ## xmm1 = xmm1[0],xmm2[0]
+; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x75,0x38,0xc0,0x01]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 0, i32 -1)
+ %vec0 = insertelement <8 x i32> undef, i32 %res0, i32 0
+ %res1 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 1, i32 -1)
+ %vec1 = insertelement <8 x i32> %vec0, i32 %res1, i32 1
+ %res2 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 2, i32 -1)
+ %vec2 = insertelement <8 x i32> %vec1, i32 %res2, i32 2
+ %res3 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 3, i32 -1)
+ %vec3 = insertelement <8 x i32> %vec2, i32 %res3, i32 3
+ %res4 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 4, i32 -1)
+ %vec4 = insertelement <8 x i32> %vec3, i32 %res4, i32 4
+ %res5 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 5, i32 -1)
+ %vec5 = insertelement <8 x i32> %vec4, i32 %res5, i32 5
+ %res6 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 6, i32 -1)
+ %vec6 = insertelement <8 x i32> %vec5, i32 %res6, i32 6
+ %res7 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 7, i32 -1)
+ %vec7 = insertelement <8 x i32> %vec6, i32 %res7, i32 7
+ ret <8 x i32> %vec7
+}
+
+define <8 x i32> @test_mask_cmp_b_256(<32 x i8> %a0, <32 x i8> %a1, i32 %mask) {
+; CHECK-LABEL: test_mask_cmp_b_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x29,0x74,0xc1]
+; CHECK-NEXT: kmovd %k0, %r8d ## encoding: [0xc5,0x7b,0x93,0xc0]
+; CHECK-NEXT: vpcmpgtb %ymm0, %ymm1, %k0 {%k1} ## encoding: [0x62,0xf1,0x75,0x29,0x64,0xc0]
+; CHECK-NEXT: kmovd %k0, %r9d ## encoding: [0xc5,0x7b,0x93,0xc8]
+; CHECK-NEXT: vpcmpleb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x02]
+; CHECK-NEXT: kmovd %k0, %r10d ## encoding: [0xc5,0x7b,0x93,0xd0]
+; CHECK-NEXT: kxord %k0, %k0, %k0 ## encoding: [0xc4,0xe1,0xfd,0x47,0xc0]
+; CHECK-NEXT: kmovd %k0, %esi ## encoding: [0xc5,0xfb,0x93,0xf0]
+; CHECK-NEXT: vpcmpneqb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x04]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpcmpleb %ymm0, %ymm1, %k0 {%k1} ## encoding: [0x62,0xf3,0x75,0x29,0x3f,0xc0,0x02]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vpcmpgtb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x29,0x64,0xc1]
+; CHECK-NEXT: kmovd %k0, %edx ## encoding: [0xc5,0xfb,0x93,0xd0]
+; CHECK-NEXT: vmovd %eax, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc0]
+; CHECK-NEXT: vpinsrd $1, %ecx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc1,0x01]
+; CHECK-NEXT: vpinsrd $2, %edx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc2,0x02]
+; CHECK-NEXT: vpinsrd $3, %edi, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc7,0x03]
+; CHECK-NEXT: vmovd %r8d, %xmm1 ## EVEX TO VEX Compression encoding: [0xc4,0xc1,0x79,0x6e,0xc8]
+; CHECK-NEXT: vpinsrd $1, %r9d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xc9,0x01]
+; CHECK-NEXT: vpinsrd $2, %r10d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xca,0x02]
+; CHECK-NEXT: vpinsrd $3, %esi, %xmm1, %xmm1 ## encoding: [0xc4,0xe3,0x71,0x22,0xce,0x03]
+; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x75,0x38,0xc0,0x01]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 0, i32 %mask)
+ %vec0 = insertelement <8 x i32> undef, i32 %res0, i32 0
+ %res1 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 1, i32 %mask)
+ %vec1 = insertelement <8 x i32> %vec0, i32 %res1, i32 1
+ %res2 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 2, i32 %mask)
+ %vec2 = insertelement <8 x i32> %vec1, i32 %res2, i32 2
+ %res3 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 3, i32 %mask)
+ %vec3 = insertelement <8 x i32> %vec2, i32 %res3, i32 3
+ %res4 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 4, i32 %mask)
+ %vec4 = insertelement <8 x i32> %vec3, i32 %res4, i32 4
+ %res5 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 5, i32 %mask)
+ %vec5 = insertelement <8 x i32> %vec4, i32 %res5, i32 5
+ %res6 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 6, i32 %mask)
+ %vec6 = insertelement <8 x i32> %vec5, i32 %res6, i32 6
+ %res7 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 7, i32 %mask)
+ %vec7 = insertelement <8 x i32> %vec6, i32 %res7, i32 7
+ ret <8 x i32> %vec7
+}
+
+declare i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8>, <32 x i8>, i32, i32) nounwind readnone
+
+define <8 x i32> @test_ucmp_b_256(<32 x i8> %a0, <32 x i8> %a1) {
+; CHECK-LABEL: test_ucmp_b_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x28,0x74,0xc1]
+; CHECK-NEXT: kmovd %k0, %r8d ## encoding: [0xc5,0x7b,0x93,0xc0]
+; CHECK-NEXT: vpcmpltub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x01]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vpcmpleub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x02]
+; CHECK-NEXT: kmovd %k0, %edx ## encoding: [0xc5,0xfb,0x93,0xd0]
+; CHECK-NEXT: vpcmpneqb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x04]
+; CHECK-NEXT: kmovd %k0, %esi ## encoding: [0xc5,0xfb,0x93,0xf0]
+; CHECK-NEXT: vpcmpnltub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x05]
+; CHECK-NEXT: kmovd %k0, %edi ## encoding: [0xc5,0xfb,0x93,0xf8]
+; CHECK-NEXT: vpcmpnleub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x06]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vmovd %esi, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc6]
+; CHECK-NEXT: vpinsrd $1, %edi, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc7,0x01]
+; CHECK-NEXT: vpinsrd $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc0,0x02]
+; CHECK-NEXT: kxnord %k0, %k0, %k0 ## encoding: [0xc4,0xe1,0xfd,0x46,0xc0]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpinsrd $3, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc0,0x03]
+; CHECK-NEXT: vmovd %ecx, %xmm1 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc9]
+; CHECK-NEXT: vmovd %r8d, %xmm2 ## EVEX TO VEX Compression encoding: [0xc4,0xc1,0x79,0x6e,0xd0]
+; CHECK-NEXT: vpunpckldq %xmm1, %xmm2, %xmm1 ## EVEX TO VEX Compression encoding: [0xc5,0xe9,0x62,0xc9]
+; CHECK-NEXT: ## xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
+; CHECK-NEXT: vmovd %edx, %xmm2 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xd2]
+; CHECK-NEXT: vpunpcklqdq %xmm2, %xmm1, %xmm1 ## EVEX TO VEX Compression encoding: [0xc5,0xf1,0x6c,0xca]
+; CHECK-NEXT: ## xmm1 = xmm1[0],xmm2[0]
+; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x75,0x38,0xc0,0x01]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 0, i32 -1)
+ %vec0 = insertelement <8 x i32> undef, i32 %res0, i32 0
+ %res1 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 1, i32 -1)
+ %vec1 = insertelement <8 x i32> %vec0, i32 %res1, i32 1
+ %res2 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 2, i32 -1)
+ %vec2 = insertelement <8 x i32> %vec1, i32 %res2, i32 2
+ %res3 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 3, i32 -1)
+ %vec3 = insertelement <8 x i32> %vec2, i32 %res3, i32 3
+ %res4 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 4, i32 -1)
+ %vec4 = insertelement <8 x i32> %vec3, i32 %res4, i32 4
+ %res5 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 5, i32 -1)
+ %vec5 = insertelement <8 x i32> %vec4, i32 %res5, i32 5
+ %res6 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 6, i32 -1)
+ %vec6 = insertelement <8 x i32> %vec5, i32 %res6, i32 6
+ %res7 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 7, i32 -1)
+ %vec7 = insertelement <8 x i32> %vec6, i32 %res7, i32 7
+ ret <8 x i32> %vec7
+}
+
+define <8 x i32> @test_mask_ucmp_b_256(<32 x i8> %a0, <32 x i8> %a1, i32 %mask) {
+; CHECK-LABEL: test_mask_ucmp_b_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x29,0x74,0xc1]
+; CHECK-NEXT: kmovd %k0, %r8d ## encoding: [0xc5,0x7b,0x93,0xc0]
+; CHECK-NEXT: vpcmpltub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x01]
+; CHECK-NEXT: kmovd %k0, %r9d ## encoding: [0xc5,0x7b,0x93,0xc8]
+; CHECK-NEXT: vpcmpleub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x02]
+; CHECK-NEXT: kmovd %k0, %r10d ## encoding: [0xc5,0x7b,0x93,0xd0]
+; CHECK-NEXT: kxord %k0, %k0, %k0 ## encoding: [0xc4,0xe1,0xfd,0x47,0xc0]
+; CHECK-NEXT: kmovd %k0, %esi ## encoding: [0xc5,0xfb,0x93,0xf0]
+; CHECK-NEXT: vpcmpneqb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x04]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpcmpnltub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x05]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vpcmpnleub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x06]
+; CHECK-NEXT: kmovd %k0, %edx ## encoding: [0xc5,0xfb,0x93,0xd0]
+; CHECK-NEXT: vmovd %eax, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc0]
+; CHECK-NEXT: vpinsrd $1, %ecx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc1,0x01]
+; CHECK-NEXT: vpinsrd $2, %edx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc2,0x02]
+; CHECK-NEXT: vpinsrd $3, %edi, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc7,0x03]
+; CHECK-NEXT: vmovd %r8d, %xmm1 ## EVEX TO VEX Compression encoding: [0xc4,0xc1,0x79,0x6e,0xc8]
+; CHECK-NEXT: vpinsrd $1, %r9d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xc9,0x01]
+; CHECK-NEXT: vpinsrd $2, %r10d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xca,0x02]
+; CHECK-NEXT: vpinsrd $3, %esi, %xmm1, %xmm1 ## encoding: [0xc4,0xe3,0x71,0x22,0xce,0x03]
+; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x75,0x38,0xc0,0x01]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 0, i32 %mask)
+ %vec0 = insertelement <8 x i32> undef, i32 %res0, i32 0
+ %res1 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 1, i32 %mask)
+ %vec1 = insertelement <8 x i32> %vec0, i32 %res1, i32 1
+ %res2 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 2, i32 %mask)
+ %vec2 = insertelement <8 x i32> %vec1, i32 %res2, i32 2
+ %res3 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 3, i32 %mask)
+ %vec3 = insertelement <8 x i32> %vec2, i32 %res3, i32 3
+ %res4 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 4, i32 %mask)
+ %vec4 = insertelement <8 x i32> %vec3, i32 %res4, i32 4
+ %res5 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 5, i32 %mask)
+ %vec5 = insertelement <8 x i32> %vec4, i32 %res5, i32 5
+ %res6 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 6, i32 %mask)
+ %vec6 = insertelement <8 x i32> %vec5, i32 %res6, i32 6
+ %res7 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 7, i32 %mask)
+ %vec7 = insertelement <8 x i32> %vec6, i32 %res7, i32 7
+ ret <8 x i32> %vec7
+}
+
+declare i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8>, <32 x i8>, i32, i32) nounwind readnone
+
+define <8 x i16> @test_cmp_w_256(<16 x i16> %a0, <16 x i16> %a1) {
+; CHECK-LABEL: test_cmp_w_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqw %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x28,0x75,0xc1]
+; CHECK-NEXT: vpcmpgtw %ymm0, %ymm1, %k1 ## encoding: [0x62,0xf1,0x75,0x28,0x65,0xc8]
+; CHECK-NEXT: vpcmplew %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xd1,0x02]
+; CHECK-NEXT: vpcmpneqw %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xd9,0x04]
+; CHECK-NEXT: vpcmplew %ymm0, %ymm1, %k4 ## encoding: [0x62,0xf3,0xf5,0x28,0x3f,0xe0,0x02]
+; CHECK-NEXT: vpcmpgtw %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf1,0x7d,0x28,0x65,0xe9]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: kxnorw %k0, %k0, %k0 ## encoding: [0xc5,0xfc,0x46,0xc0]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 0, i16 -1)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 1, i16 -1)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 2, i16 -1)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 3, i16 -1)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 4, i16 -1)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 5, i16 -1)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 6, i16 -1)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 7, i16 -1)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+define <8 x i16> @test_mask_cmp_w_256(<16 x i16> %a0, <16 x i16> %a1, i16 %mask) {
+; CHECK-LABEL: test_mask_cmp_w_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqw %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x29,0x75,0xc1]
+; CHECK-NEXT: vpcmpgtw %ymm0, %ymm1, %k2 {%k1} ## encoding: [0x62,0xf1,0x75,0x29,0x65,0xd0]
+; CHECK-NEXT: vpcmplew %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xd9,0x02]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqw %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xe9,0x04]
+; CHECK-NEXT: vpcmplew %ymm0, %ymm1, %k6 {%k1} ## encoding: [0x62,0xf3,0xf5,0x29,0x3f,0xf0,0x02]
+; CHECK-NEXT: vpcmpgtw %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf1,0x7d,0x29,0x65,0xc9]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: vpinsrw $7, %edi, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc7,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 0, i16 %mask)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 1, i16 %mask)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 2, i16 %mask)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 3, i16 %mask)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 4, i16 %mask)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 5, i16 %mask)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 6, i16 %mask)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 7, i16 %mask)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+declare i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16>, <16 x i16>, i32, i16) nounwind readnone
+
+define <8 x i16> @test_ucmp_w_256(<16 x i16> %a0, <16 x i16> %a1) {
+; CHECK-LABEL: test_ucmp_w_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqw %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x28,0x75,0xc1]
+; CHECK-NEXT: vpcmpltuw %ymm1, %ymm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xc9,0x01]
+; CHECK-NEXT: vpcmpleuw %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xd1,0x02]
+; CHECK-NEXT: vpcmpneqw %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xd9,0x04]
+; CHECK-NEXT: vpcmpnltuw %ymm1, %ymm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xe1,0x05]
+; CHECK-NEXT: vpcmpnleuw %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xe9,0x06]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: kxnorw %k0, %k0, %k0 ## encoding: [0xc5,0xfc,0x46,0xc0]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 0, i16 -1)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 1, i16 -1)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 2, i16 -1)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 3, i16 -1)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 4, i16 -1)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 5, i16 -1)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 6, i16 -1)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 7, i16 -1)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+define <8 x i16> @test_mask_ucmp_w_256(<16 x i16> %a0, <16 x i16> %a1, i16 %mask) {
+; CHECK-LABEL: test_mask_ucmp_w_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqw %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x29,0x75,0xc1]
+; CHECK-NEXT: vpcmpltuw %ymm1, %ymm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xd1,0x01]
+; CHECK-NEXT: vpcmpleuw %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xd9,0x02]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqw %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xe9,0x04]
+; CHECK-NEXT: vpcmpnltuw %ymm1, %ymm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xf1,0x05]
+; CHECK-NEXT: vpcmpnleuw %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xc9,0x06]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: vpinsrw $7, %edi, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc7,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 0, i16 %mask)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 1, i16 %mask)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 2, i16 %mask)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 3, i16 %mask)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 4, i16 %mask)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 5, i16 %mask)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 6, i16 %mask)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 7, i16 %mask)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+declare i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16>, <16 x i16>, i32, i16) nounwind readnone
+
+define <8 x i16> @test_cmp_b_128(<16 x i8> %a0, <16 x i8> %a1) {
+; CHECK-LABEL: test_cmp_b_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x74,0xc1]
+; CHECK-NEXT: vpcmpgtb %xmm0, %xmm1, %k1 ## encoding: [0x62,0xf1,0x75,0x08,0x64,0xc8]
+; CHECK-NEXT: vpcmpleb %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xd1,0x02]
+; CHECK-NEXT: vpcmpneqb %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xd9,0x04]
+; CHECK-NEXT: vpcmpleb %xmm0, %xmm1, %k4 ## encoding: [0x62,0xf3,0x75,0x08,0x3f,0xe0,0x02]
+; CHECK-NEXT: vpcmpgtb %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf1,0x7d,0x08,0x64,0xe9]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: kxnorw %k0, %k0, %k0 ## encoding: [0xc5,0xfc,0x46,0xc0]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 0, i16 -1)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 1, i16 -1)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 2, i16 -1)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 3, i16 -1)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 4, i16 -1)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 5, i16 -1)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 6, i16 -1)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 7, i16 -1)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+define <8 x i16> @test_mask_cmp_b_128(<16 x i8> %a0, <16 x i8> %a1, i16 %mask) {
+; CHECK-LABEL: test_mask_cmp_b_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x74,0xc1]
+; CHECK-NEXT: vpcmpgtb %xmm0, %xmm1, %k2 {%k1} ## encoding: [0x62,0xf1,0x75,0x09,0x64,0xd0]
+; CHECK-NEXT: vpcmpleb %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xd9,0x02]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqb %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xe9,0x04]
+; CHECK-NEXT: vpcmpleb %xmm0, %xmm1, %k6 {%k1} ## encoding: [0x62,0xf3,0x75,0x09,0x3f,0xf0,0x02]
+; CHECK-NEXT: vpcmpgtb %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x64,0xc9]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: vpinsrw $7, %edi, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc7,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 0, i16 %mask)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 1, i16 %mask)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 2, i16 %mask)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 3, i16 %mask)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 4, i16 %mask)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 5, i16 %mask)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 6, i16 %mask)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 7, i16 %mask)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+declare i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8>, <16 x i8>, i32, i16) nounwind readnone
+
+define <8 x i16> @test_ucmp_b_128(<16 x i8> %a0, <16 x i8> %a1) {
+; CHECK-LABEL: test_ucmp_b_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x74,0xc1]
+; CHECK-NEXT: vpcmpltub %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xc9,0x01]
+; CHECK-NEXT: vpcmpleub %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xd1,0x02]
+; CHECK-NEXT: vpcmpneqb %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xd9,0x04]
+; CHECK-NEXT: vpcmpnltub %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xe1,0x05]
+; CHECK-NEXT: vpcmpnleub %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xe9,0x06]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: kxnorw %k0, %k0, %k0 ## encoding: [0xc5,0xfc,0x46,0xc0]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 0, i16 -1)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 1, i16 -1)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 2, i16 -1)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 3, i16 -1)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 4, i16 -1)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 5, i16 -1)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 6, i16 -1)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 7, i16 -1)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+define <8 x i16> @test_mask_ucmp_b_128(<16 x i8> %a0, <16 x i8> %a1, i16 %mask) {
+; CHECK-LABEL: test_mask_ucmp_b_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x74,0xc1]
+; CHECK-NEXT: vpcmpltub %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xd1,0x01]
+; CHECK-NEXT: vpcmpleub %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xd9,0x02]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqb %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xe9,0x04]
+; CHECK-NEXT: vpcmpnltub %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xf1,0x05]
+; CHECK-NEXT: vpcmpnleub %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xc9,0x06]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: vpinsrw $7, %edi, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc7,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 0, i16 %mask)
+ %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
+ %res1 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 1, i16 %mask)
+ %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
+ %res2 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 2, i16 %mask)
+ %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
+ %res3 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 3, i16 %mask)
+ %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
+ %res4 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 4, i16 %mask)
+ %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
+ %res5 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 5, i16 %mask)
+ %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
+ %res6 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 6, i16 %mask)
+ %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
+ %res7 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 7, i16 %mask)
+ %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
+ ret <8 x i16> %vec7
+}
+
+declare i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8>, <16 x i8>, i32, i16) nounwind readnone
+
+define <8 x i8> @test_cmp_w_128(<8 x i16> %a0, <8 x i16> %a1) {
+; CHECK-LABEL: test_cmp_w_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x75,0xc1]
+; CHECK-NEXT: vpcmpgtw %xmm0, %xmm1, %k1 ## encoding: [0x62,0xf1,0x75,0x08,0x65,0xc8]
+; CHECK-NEXT: vpcmplew %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xd1,0x02]
+; CHECK-NEXT: vpcmpneqw %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xd9,0x04]
+; CHECK-NEXT: vpcmplew %xmm0, %xmm1, %k4 ## encoding: [0x62,0xf3,0xf5,0x08,0x3f,0xe0,0x02]
+; CHECK-NEXT: vpcmpgtw %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf1,0x7d,0x08,0x65,0xe9]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: kxnorw %k0, %k0, %k0 ## encoding: [0xc5,0xfc,0x46,0xc0]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_cmp_w_128(<8 x i16> %a0, <8 x i16> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_cmp_w_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x75,0xc1]
+; CHECK-NEXT: vpcmpgtw %xmm0, %xmm1, %k2 {%k1} ## encoding: [0x62,0xf1,0x75,0x09,0x65,0xd0]
+; CHECK-NEXT: vpcmplew %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xd9,0x02]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqw %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xe9,0x04]
+; CHECK-NEXT: vpcmplew %xmm0, %xmm1, %k6 {%k1} ## encoding: [0x62,0xf3,0xf5,0x09,0x3f,0xf0,0x02]
+; CHECK-NEXT: vpcmpgtw %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x65,0xc9]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: vpinsrb $14, %edi, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc7,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16>, <8 x i16>, i32, i8) nounwind readnone
+
+define <8 x i8> @test_ucmp_w_128(<8 x i16> %a0, <8 x i16> %a1) {
+; CHECK-LABEL: test_ucmp_w_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x75,0xc1]
+; CHECK-NEXT: vpcmpltuw %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xc9,0x01]
+; CHECK-NEXT: vpcmpleuw %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xd1,0x02]
+; CHECK-NEXT: vpcmpneqw %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xd9,0x04]
+; CHECK-NEXT: vpcmpnltuw %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xe1,0x05]
+; CHECK-NEXT: vpcmpnleuw %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xe9,0x06]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: kxnorw %k0, %k0, %k0 ## encoding: [0xc5,0xfc,0x46,0xc0]
+; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_ucmp_w_128(<8 x i16> %a0, <8 x i16> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_ucmp_w_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x75,0xc1]
+; CHECK-NEXT: vpcmpltuw %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xd1,0x01]
+; CHECK-NEXT: vpcmpleuw %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xd9,0x02]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqw %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xe9,0x04]
+; CHECK-NEXT: vpcmpnltuw %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xf1,0x05]
+; CHECK-NEXT: vpcmpnleuw %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xc9,0x06]
+; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
+; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: vpinsrb $14, %edi, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc7,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16>, <8 x i16>, i32, i8) nounwind readnone
diff --git a/test/CodeGen/X86/avx512bwvl-intrinsics.ll b/test/CodeGen/X86/avx512bwvl-intrinsics.ll
index 1d0a3be06943..c3ba6f106e6a 100644
--- a/test/CodeGen/X86/avx512bwvl-intrinsics.ll
+++ b/test/CodeGen/X86/avx512bwvl-intrinsics.ll
@@ -1,890 +1,6 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=knl -mattr=+avx512bw -mattr=+avx512vl --show-mc-encoding| FileCheck %s
-; 256-bit
-
-define <8 x i32> @test_cmp_b_256(<32 x i8> %a0, <32 x i8> %a1) {
-; CHECK-LABEL: test_cmp_b_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x00]
-; CHECK-NEXT: kmovd %k0, %r8d ## encoding: [0xc5,0x7b,0x93,0xc0]
-; CHECK-NEXT: vpcmpltb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x01]
-; CHECK-NEXT: kmovd %k0, %r9d ## encoding: [0xc5,0x7b,0x93,0xc8]
-; CHECK-NEXT: vpcmpleb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x02]
-; CHECK-NEXT: kmovd %k0, %r10d ## encoding: [0xc5,0x7b,0x93,0xd0]
-; CHECK-NEXT: vpcmpunordb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x03]
-; CHECK-NEXT: kmovd %k0, %esi ## encoding: [0xc5,0xfb,0x93,0xf0]
-; CHECK-NEXT: vpcmpneqb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x04]
-; CHECK-NEXT: kmovd %k0, %edi ## encoding: [0xc5,0xfb,0x93,0xf8]
-; CHECK-NEXT: vpcmpnltb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x05]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: vpcmpnleb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x06]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vpcmpordb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3f,0xc1,0x07]
-; CHECK-NEXT: kmovd %k0, %edx ## encoding: [0xc5,0xfb,0x93,0xd0]
-; CHECK-NEXT: vmovd %edi, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc7]
-; CHECK-NEXT: vpinsrd $1, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc0,0x01]
-; CHECK-NEXT: vpinsrd $2, %ecx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc1,0x02]
-; CHECK-NEXT: vpinsrd $3, %edx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc2,0x03]
-; CHECK-NEXT: vmovd %r8d, %xmm1 ## EVEX TO VEX Compression encoding: [0xc4,0xc1,0x79,0x6e,0xc8]
-; CHECK-NEXT: vpinsrd $1, %r9d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xc9,0x01]
-; CHECK-NEXT: vpinsrd $2, %r10d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xca,0x02]
-; CHECK-NEXT: vpinsrd $3, %esi, %xmm1, %xmm1 ## encoding: [0xc4,0xe3,0x71,0x22,0xce,0x03]
-; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x75,0x38,0xc0,0x01]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 0, i32 -1)
- %vec0 = insertelement <8 x i32> undef, i32 %res0, i32 0
- %res1 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 1, i32 -1)
- %vec1 = insertelement <8 x i32> %vec0, i32 %res1, i32 1
- %res2 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 2, i32 -1)
- %vec2 = insertelement <8 x i32> %vec1, i32 %res2, i32 2
- %res3 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 3, i32 -1)
- %vec3 = insertelement <8 x i32> %vec2, i32 %res3, i32 3
- %res4 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 4, i32 -1)
- %vec4 = insertelement <8 x i32> %vec3, i32 %res4, i32 4
- %res5 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 5, i32 -1)
- %vec5 = insertelement <8 x i32> %vec4, i32 %res5, i32 5
- %res6 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 6, i32 -1)
- %vec6 = insertelement <8 x i32> %vec5, i32 %res6, i32 6
- %res7 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 7, i32 -1)
- %vec7 = insertelement <8 x i32> %vec6, i32 %res7, i32 7
- ret <8 x i32> %vec7
-}
-
-define <8 x i32> @test_mask_cmp_b_256(<32 x i8> %a0, <32 x i8> %a1, i32 %mask) {
-; CHECK-LABEL: test_mask_cmp_b_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x00]
-; CHECK-NEXT: kmovd %k0, %r8d ## encoding: [0xc5,0x7b,0x93,0xc0]
-; CHECK-NEXT: vpcmpltb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x01]
-; CHECK-NEXT: kmovd %k0, %r9d ## encoding: [0xc5,0x7b,0x93,0xc8]
-; CHECK-NEXT: vpcmpleb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x02]
-; CHECK-NEXT: kmovd %k0, %r10d ## encoding: [0xc5,0x7b,0x93,0xd0]
-; CHECK-NEXT: vpcmpunordb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x03]
-; CHECK-NEXT: kmovd %k0, %esi ## encoding: [0xc5,0xfb,0x93,0xf0]
-; CHECK-NEXT: vpcmpneqb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x04]
-; CHECK-NEXT: kmovd %k0, %edi ## encoding: [0xc5,0xfb,0x93,0xf8]
-; CHECK-NEXT: vpcmpnltb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x05]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: vpcmpnleb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x06]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vpcmpordb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3f,0xc1,0x07]
-; CHECK-NEXT: kmovd %k0, %edx ## encoding: [0xc5,0xfb,0x93,0xd0]
-; CHECK-NEXT: vmovd %edi, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc7]
-; CHECK-NEXT: vpinsrd $1, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc0,0x01]
-; CHECK-NEXT: vpinsrd $2, %ecx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc1,0x02]
-; CHECK-NEXT: vpinsrd $3, %edx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc2,0x03]
-; CHECK-NEXT: vmovd %r8d, %xmm1 ## EVEX TO VEX Compression encoding: [0xc4,0xc1,0x79,0x6e,0xc8]
-; CHECK-NEXT: vpinsrd $1, %r9d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xc9,0x01]
-; CHECK-NEXT: vpinsrd $2, %r10d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xca,0x02]
-; CHECK-NEXT: vpinsrd $3, %esi, %xmm1, %xmm1 ## encoding: [0xc4,0xe3,0x71,0x22,0xce,0x03]
-; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x75,0x38,0xc0,0x01]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 0, i32 %mask)
- %vec0 = insertelement <8 x i32> undef, i32 %res0, i32 0
- %res1 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 1, i32 %mask)
- %vec1 = insertelement <8 x i32> %vec0, i32 %res1, i32 1
- %res2 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 2, i32 %mask)
- %vec2 = insertelement <8 x i32> %vec1, i32 %res2, i32 2
- %res3 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 3, i32 %mask)
- %vec3 = insertelement <8 x i32> %vec2, i32 %res3, i32 3
- %res4 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 4, i32 %mask)
- %vec4 = insertelement <8 x i32> %vec3, i32 %res4, i32 4
- %res5 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 5, i32 %mask)
- %vec5 = insertelement <8 x i32> %vec4, i32 %res5, i32 5
- %res6 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 6, i32 %mask)
- %vec6 = insertelement <8 x i32> %vec5, i32 %res6, i32 6
- %res7 = call i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 7, i32 %mask)
- %vec7 = insertelement <8 x i32> %vec6, i32 %res7, i32 7
- ret <8 x i32> %vec7
-}
-
-declare i32 @llvm.x86.avx512.mask.cmp.b.256(<32 x i8>, <32 x i8>, i32, i32) nounwind readnone
-
-define <8 x i32> @test_ucmp_b_256(<32 x i8> %a0, <32 x i8> %a1) {
-; CHECK-LABEL: test_ucmp_b_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x00]
-; CHECK-NEXT: kmovd %k0, %r8d ## encoding: [0xc5,0x7b,0x93,0xc0]
-; CHECK-NEXT: vpcmpltub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x01]
-; CHECK-NEXT: kmovd %k0, %r9d ## encoding: [0xc5,0x7b,0x93,0xc8]
-; CHECK-NEXT: vpcmpleub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x02]
-; CHECK-NEXT: kmovd %k0, %r10d ## encoding: [0xc5,0x7b,0x93,0xd0]
-; CHECK-NEXT: vpcmpunordub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x03]
-; CHECK-NEXT: kmovd %k0, %esi ## encoding: [0xc5,0xfb,0x93,0xf0]
-; CHECK-NEXT: vpcmpnequb %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x04]
-; CHECK-NEXT: kmovd %k0, %edi ## encoding: [0xc5,0xfb,0x93,0xf8]
-; CHECK-NEXT: vpcmpnltub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x05]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: vpcmpnleub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x06]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vpcmpordub %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x3e,0xc1,0x07]
-; CHECK-NEXT: kmovd %k0, %edx ## encoding: [0xc5,0xfb,0x93,0xd0]
-; CHECK-NEXT: vmovd %edi, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc7]
-; CHECK-NEXT: vpinsrd $1, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc0,0x01]
-; CHECK-NEXT: vpinsrd $2, %ecx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc1,0x02]
-; CHECK-NEXT: vpinsrd $3, %edx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc2,0x03]
-; CHECK-NEXT: vmovd %r8d, %xmm1 ## EVEX TO VEX Compression encoding: [0xc4,0xc1,0x79,0x6e,0xc8]
-; CHECK-NEXT: vpinsrd $1, %r9d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xc9,0x01]
-; CHECK-NEXT: vpinsrd $2, %r10d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xca,0x02]
-; CHECK-NEXT: vpinsrd $3, %esi, %xmm1, %xmm1 ## encoding: [0xc4,0xe3,0x71,0x22,0xce,0x03]
-; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x75,0x38,0xc0,0x01]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 0, i32 -1)
- %vec0 = insertelement <8 x i32> undef, i32 %res0, i32 0
- %res1 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 1, i32 -1)
- %vec1 = insertelement <8 x i32> %vec0, i32 %res1, i32 1
- %res2 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 2, i32 -1)
- %vec2 = insertelement <8 x i32> %vec1, i32 %res2, i32 2
- %res3 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 3, i32 -1)
- %vec3 = insertelement <8 x i32> %vec2, i32 %res3, i32 3
- %res4 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 4, i32 -1)
- %vec4 = insertelement <8 x i32> %vec3, i32 %res4, i32 4
- %res5 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 5, i32 -1)
- %vec5 = insertelement <8 x i32> %vec4, i32 %res5, i32 5
- %res6 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 6, i32 -1)
- %vec6 = insertelement <8 x i32> %vec5, i32 %res6, i32 6
- %res7 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 7, i32 -1)
- %vec7 = insertelement <8 x i32> %vec6, i32 %res7, i32 7
- ret <8 x i32> %vec7
-}
-
-define <8 x i32> @test_mask_ucmp_b_256(<32 x i8> %a0, <32 x i8> %a1, i32 %mask) {
-; CHECK-LABEL: test_mask_ucmp_b_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpequb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x00]
-; CHECK-NEXT: kmovd %k0, %r8d ## encoding: [0xc5,0x7b,0x93,0xc0]
-; CHECK-NEXT: vpcmpltub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x01]
-; CHECK-NEXT: kmovd %k0, %r9d ## encoding: [0xc5,0x7b,0x93,0xc8]
-; CHECK-NEXT: vpcmpleub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x02]
-; CHECK-NEXT: kmovd %k0, %r10d ## encoding: [0xc5,0x7b,0x93,0xd0]
-; CHECK-NEXT: vpcmpunordub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x03]
-; CHECK-NEXT: kmovd %k0, %esi ## encoding: [0xc5,0xfb,0x93,0xf0]
-; CHECK-NEXT: vpcmpnequb %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x04]
-; CHECK-NEXT: kmovd %k0, %edi ## encoding: [0xc5,0xfb,0x93,0xf8]
-; CHECK-NEXT: vpcmpnltub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x05]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: vpcmpnleub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x06]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vpcmpordub %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x3e,0xc1,0x07]
-; CHECK-NEXT: kmovd %k0, %edx ## encoding: [0xc5,0xfb,0x93,0xd0]
-; CHECK-NEXT: vmovd %edi, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc7]
-; CHECK-NEXT: vpinsrd $1, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc0,0x01]
-; CHECK-NEXT: vpinsrd $2, %ecx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc1,0x02]
-; CHECK-NEXT: vpinsrd $3, %edx, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x22,0xc2,0x03]
-; CHECK-NEXT: vmovd %r8d, %xmm1 ## EVEX TO VEX Compression encoding: [0xc4,0xc1,0x79,0x6e,0xc8]
-; CHECK-NEXT: vpinsrd $1, %r9d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xc9,0x01]
-; CHECK-NEXT: vpinsrd $2, %r10d, %xmm1, %xmm1 ## encoding: [0xc4,0xc3,0x71,0x22,0xca,0x02]
-; CHECK-NEXT: vpinsrd $3, %esi, %xmm1, %xmm1 ## encoding: [0xc4,0xe3,0x71,0x22,0xce,0x03]
-; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x75,0x38,0xc0,0x01]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 0, i32 %mask)
- %vec0 = insertelement <8 x i32> undef, i32 %res0, i32 0
- %res1 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 1, i32 %mask)
- %vec1 = insertelement <8 x i32> %vec0, i32 %res1, i32 1
- %res2 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 2, i32 %mask)
- %vec2 = insertelement <8 x i32> %vec1, i32 %res2, i32 2
- %res3 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 3, i32 %mask)
- %vec3 = insertelement <8 x i32> %vec2, i32 %res3, i32 3
- %res4 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 4, i32 %mask)
- %vec4 = insertelement <8 x i32> %vec3, i32 %res4, i32 4
- %res5 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 5, i32 %mask)
- %vec5 = insertelement <8 x i32> %vec4, i32 %res5, i32 5
- %res6 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 6, i32 %mask)
- %vec6 = insertelement <8 x i32> %vec5, i32 %res6, i32 6
- %res7 = call i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8> %a0, <32 x i8> %a1, i32 7, i32 %mask)
- %vec7 = insertelement <8 x i32> %vec6, i32 %res7, i32 7
- ret <8 x i32> %vec7
-}
-
-declare i32 @llvm.x86.avx512.mask.ucmp.b.256(<32 x i8>, <32 x i8>, i32, i32) nounwind readnone
-
-define <8 x i16> @test_cmp_w_256(<16 x i16> %a0, <16 x i16> %a1) {
-; CHECK-LABEL: test_cmp_w_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqw %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltw %ymm1, %ymm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xc9,0x01]
-; CHECK-NEXT: vpcmplew %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordw %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xd9,0x03]
-; CHECK-NEXT: vpcmpneqw %ymm1, %ymm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltw %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xe9,0x05]
-; CHECK-NEXT: vpcmpnlew %ymm1, %ymm0, %k6 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xf1,0x06]
-; CHECK-NEXT: vpcmpordw %ymm1, %ymm0, %k7 ## encoding: [0x62,0xf3,0xfd,0x28,0x3f,0xf9,0x07]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 0, i16 -1)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 1, i16 -1)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 2, i16 -1)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 3, i16 -1)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 4, i16 -1)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 5, i16 -1)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 6, i16 -1)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 7, i16 -1)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-define <8 x i16> @test_mask_cmp_w_256(<16 x i16> %a0, <16 x i16> %a1, i16 %mask) {
-; CHECK-LABEL: test_mask_cmp_w_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqw %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltw %ymm1, %ymm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xd1,0x01]
-; CHECK-NEXT: vpcmplew %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordw %ymm1, %ymm0, %k4 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xe1,0x03]
-; CHECK-NEXT: vpcmpneqw %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltw %ymm1, %ymm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xf1,0x05]
-; CHECK-NEXT: vpcmpnlew %ymm1, %ymm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xf9,0x06]
-; CHECK-NEXT: vpcmpordw %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3f,0xc9,0x07]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 0, i16 %mask)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 1, i16 %mask)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 2, i16 %mask)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 3, i16 %mask)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 4, i16 %mask)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 5, i16 %mask)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 6, i16 %mask)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 7, i16 %mask)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-declare i16 @llvm.x86.avx512.mask.cmp.w.256(<16 x i16>, <16 x i16>, i32, i16) nounwind readnone
-
-define <8 x i16> @test_ucmp_w_256(<16 x i16> %a0, <16 x i16> %a1) {
-; CHECK-LABEL: test_ucmp_w_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequw %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltuw %ymm1, %ymm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xc9,0x01]
-; CHECK-NEXT: vpcmpleuw %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xd1,0x02]
-; CHECK-NEXT: vpcmpunorduw %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xd9,0x03]
-; CHECK-NEXT: vpcmpnequw %ymm1, %ymm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltuw %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleuw %ymm1, %ymm0, %k6 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xf1,0x06]
-; CHECK-NEXT: vpcmporduw %ymm1, %ymm0, %k7 ## encoding: [0x62,0xf3,0xfd,0x28,0x3e,0xf9,0x07]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 0, i16 -1)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 1, i16 -1)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 2, i16 -1)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 3, i16 -1)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 4, i16 -1)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 5, i16 -1)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 6, i16 -1)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 7, i16 -1)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-define <8 x i16> @test_mask_ucmp_w_256(<16 x i16> %a0, <16 x i16> %a1, i16 %mask) {
-; CHECK-LABEL: test_mask_ucmp_w_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpequw %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltuw %ymm1, %ymm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xd1,0x01]
-; CHECK-NEXT: vpcmpleuw %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xd9,0x02]
-; CHECK-NEXT: vpcmpunorduw %ymm1, %ymm0, %k4 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xe1,0x03]
-; CHECK-NEXT: vpcmpnequw %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltuw %ymm1, %ymm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleuw %ymm1, %ymm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xf9,0x06]
-; CHECK-NEXT: vpcmporduw %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x3e,0xc9,0x07]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 0, i16 %mask)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 1, i16 %mask)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 2, i16 %mask)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 3, i16 %mask)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 4, i16 %mask)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 5, i16 %mask)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 6, i16 %mask)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16> %a0, <16 x i16> %a1, i32 7, i16 %mask)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-declare i16 @llvm.x86.avx512.mask.ucmp.w.256(<16 x i16>, <16 x i16>, i32, i16) nounwind readnone
-
-; 128-bit
-
-define i16 @test_pcmpeq_b_128(<16 x i8> %a, <16 x i8> %b) {
-; CHECK-LABEL: test_pcmpeq_b_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x74,0xc1]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: ## kill: %AX<def> %AX<kill> %EAX<kill>
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res = call i16 @llvm.x86.avx512.mask.pcmpeq.b.128(<16 x i8> %a, <16 x i8> %b, i16 -1)
- ret i16 %res
-}
-
-define i16 @test_mask_pcmpeq_b_128(<16 x i8> %a, <16 x i8> %b, i16 %mask) {
-; CHECK-LABEL: test_mask_pcmpeq_b_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x74,0xc1]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: ## kill: %AX<def> %AX<kill> %EAX<kill>
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res = call i16 @llvm.x86.avx512.mask.pcmpeq.b.128(<16 x i8> %a, <16 x i8> %b, i16 %mask)
- ret i16 %res
-}
-
-declare i16 @llvm.x86.avx512.mask.pcmpeq.b.128(<16 x i8>, <16 x i8>, i16)
-
-define i8 @test_pcmpeq_w_128(<8 x i16> %a, <8 x i16> %b) {
-; CHECK-LABEL: test_pcmpeq_w_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x75,0xc1]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res = call i8 @llvm.x86.avx512.mask.pcmpeq.w.128(<8 x i16> %a, <8 x i16> %b, i8 -1)
- ret i8 %res
-}
-
-define i8 @test_mask_pcmpeq_w_128(<8 x i16> %a, <8 x i16> %b, i8 %mask) {
-; CHECK-LABEL: test_mask_pcmpeq_w_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x75,0xc1]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res = call i8 @llvm.x86.avx512.mask.pcmpeq.w.128(<8 x i16> %a, <8 x i16> %b, i8 %mask)
- ret i8 %res
-}
-
-declare i8 @llvm.x86.avx512.mask.pcmpeq.w.128(<8 x i16>, <8 x i16>, i8)
-
-define i16 @test_pcmpgt_b_128(<16 x i8> %a, <16 x i8> %b) {
-; CHECK-LABEL: test_pcmpgt_b_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpgtb %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x64,0xc1]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: ## kill: %AX<def> %AX<kill> %EAX<kill>
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res = call i16 @llvm.x86.avx512.mask.pcmpgt.b.128(<16 x i8> %a, <16 x i8> %b, i16 -1)
- ret i16 %res
-}
-
-define i16 @test_mask_pcmpgt_b_128(<16 x i8> %a, <16 x i8> %b, i16 %mask) {
-; CHECK-LABEL: test_mask_pcmpgt_b_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpgtb %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x64,0xc1]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: ## kill: %AX<def> %AX<kill> %EAX<kill>
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res = call i16 @llvm.x86.avx512.mask.pcmpgt.b.128(<16 x i8> %a, <16 x i8> %b, i16 %mask)
- ret i16 %res
-}
-
-declare i16 @llvm.x86.avx512.mask.pcmpgt.b.128(<16 x i8>, <16 x i8>, i16)
-
-define i8 @test_pcmpgt_w_128(<8 x i16> %a, <8 x i16> %b) {
-; CHECK-LABEL: test_pcmpgt_w_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpgtw %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x65,0xc1]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res = call i8 @llvm.x86.avx512.mask.pcmpgt.w.128(<8 x i16> %a, <8 x i16> %b, i8 -1)
- ret i8 %res
-}
-
-define i8 @test_mask_pcmpgt_w_128(<8 x i16> %a, <8 x i16> %b, i8 %mask) {
-; CHECK-LABEL: test_mask_pcmpgt_w_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpgtw %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x65,0xc1]
-; CHECK-NEXT: kmovd %k0, %eax ## encoding: [0xc5,0xfb,0x93,0xc0]
-; CHECK-NEXT: ## kill: %AL<def> %AL<kill> %EAX<kill>
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res = call i8 @llvm.x86.avx512.mask.pcmpgt.w.128(<8 x i16> %a, <8 x i16> %b, i8 %mask)
- ret i8 %res
-}
-
-declare i8 @llvm.x86.avx512.mask.pcmpgt.w.128(<8 x i16>, <8 x i16>, i8)
-
-define <8 x i16> @test_cmp_b_128(<16 x i8> %a0, <16 x i8> %a1) {
-; CHECK-LABEL: test_cmp_b_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltb %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xc9,0x01]
-; CHECK-NEXT: vpcmpleb %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordb %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xd9,0x03]
-; CHECK-NEXT: vpcmpneqb %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltb %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleb %xmm1, %xmm0, %k6 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xf1,0x06]
-; CHECK-NEXT: vpcmpordb %xmm1, %xmm0, %k7 ## encoding: [0x62,0xf3,0x7d,0x08,0x3f,0xf9,0x07]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 0, i16 -1)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 1, i16 -1)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 2, i16 -1)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 3, i16 -1)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 4, i16 -1)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 5, i16 -1)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 6, i16 -1)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 7, i16 -1)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-define <8 x i16> @test_mask_cmp_b_128(<16 x i8> %a0, <16 x i8> %a1, i16 %mask) {
-; CHECK-LABEL: test_mask_cmp_b_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqb %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltb %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xd1,0x01]
-; CHECK-NEXT: vpcmpleb %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordb %xmm1, %xmm0, %k4 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xe1,0x03]
-; CHECK-NEXT: vpcmpneqb %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltb %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleb %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xf9,0x06]
-; CHECK-NEXT: vpcmpordb %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3f,0xc9,0x07]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 0, i16 %mask)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 1, i16 %mask)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 2, i16 %mask)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 3, i16 %mask)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 4, i16 %mask)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 5, i16 %mask)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 6, i16 %mask)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 7, i16 %mask)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-declare i16 @llvm.x86.avx512.mask.cmp.b.128(<16 x i8>, <16 x i8>, i32, i16) nounwind readnone
-
-define <8 x i16> @test_ucmp_b_128(<16 x i8> %a0, <16 x i8> %a1) {
-; CHECK-LABEL: test_ucmp_b_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequb %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltub %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xc9,0x01]
-; CHECK-NEXT: vpcmpleub %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordub %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xd9,0x03]
-; CHECK-NEXT: vpcmpnequb %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltub %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleub %xmm1, %xmm0, %k6 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xf1,0x06]
-; CHECK-NEXT: vpcmpordub %xmm1, %xmm0, %k7 ## encoding: [0x62,0xf3,0x7d,0x08,0x3e,0xf9,0x07]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 0, i16 -1)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 1, i16 -1)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 2, i16 -1)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 3, i16 -1)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 4, i16 -1)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 5, i16 -1)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 6, i16 -1)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 7, i16 -1)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-define <8 x i16> @test_mask_ucmp_b_128(<16 x i8> %a0, <16 x i8> %a1, i16 %mask) {
-; CHECK-LABEL: test_mask_ucmp_b_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpequb %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltub %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xd1,0x01]
-; CHECK-NEXT: vpcmpleub %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordub %xmm1, %xmm0, %k4 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xe1,0x03]
-; CHECK-NEXT: vpcmpnequb %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltub %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleub %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xf9,0x06]
-; CHECK-NEXT: vpcmpordub %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x3e,0xc9,0x07]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrw $3, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x03]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 0, i16 %mask)
- %vec0 = insertelement <8 x i16> undef, i16 %res0, i32 0
- %res1 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 1, i16 %mask)
- %vec1 = insertelement <8 x i16> %vec0, i16 %res1, i32 1
- %res2 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 2, i16 %mask)
- %vec2 = insertelement <8 x i16> %vec1, i16 %res2, i32 2
- %res3 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 3, i16 %mask)
- %vec3 = insertelement <8 x i16> %vec2, i16 %res3, i32 3
- %res4 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 4, i16 %mask)
- %vec4 = insertelement <8 x i16> %vec3, i16 %res4, i32 4
- %res5 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 5, i16 %mask)
- %vec5 = insertelement <8 x i16> %vec4, i16 %res5, i32 5
- %res6 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 6, i16 %mask)
- %vec6 = insertelement <8 x i16> %vec5, i16 %res6, i32 6
- %res7 = call i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8> %a0, <16 x i8> %a1, i32 7, i16 %mask)
- %vec7 = insertelement <8 x i16> %vec6, i16 %res7, i32 7
- ret <8 x i16> %vec7
-}
-
-declare i16 @llvm.x86.avx512.mask.ucmp.b.128(<16 x i8>, <16 x i8>, i32, i16) nounwind readnone
-
-define <8 x i8> @test_cmp_w_128(<8 x i16> %a0, <8 x i16> %a1) {
-; CHECK-LABEL: test_cmp_w_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltw %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xc9,0x01]
-; CHECK-NEXT: vpcmplew %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordw %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xd9,0x03]
-; CHECK-NEXT: vpcmpneqw %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltw %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xe9,0x05]
-; CHECK-NEXT: vpcmpnlew %xmm1, %xmm0, %k6 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xf1,0x06]
-; CHECK-NEXT: vpcmpordw %xmm1, %xmm0, %k7 ## encoding: [0x62,0xf3,0xfd,0x08,0x3f,0xf9,0x07]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_cmp_w_128(<8 x i16> %a0, <8 x i16> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_cmp_w_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqw %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltw %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xd1,0x01]
-; CHECK-NEXT: vpcmplew %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordw %xmm1, %xmm0, %k4 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xe1,0x03]
-; CHECK-NEXT: vpcmpneqw %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltw %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xf1,0x05]
-; CHECK-NEXT: vpcmpnlew %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xf9,0x06]
-; CHECK-NEXT: vpcmpordw %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3f,0xc9,0x07]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.cmp.w.128(<8 x i16>, <8 x i16>, i32, i8) nounwind readnone
-
-define <8 x i8> @test_ucmp_w_128(<8 x i16> %a0, <8 x i16> %a1) {
-; CHECK-LABEL: test_ucmp_w_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequw %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltuw %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xc9,0x01]
-; CHECK-NEXT: vpcmpleuw %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xd1,0x02]
-; CHECK-NEXT: vpcmpunorduw %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xd9,0x03]
-; CHECK-NEXT: vpcmpnequw %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltuw %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleuw %xmm1, %xmm0, %k6 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xf1,0x06]
-; CHECK-NEXT: vpcmporduw %xmm1, %xmm0, %k7 ## encoding: [0x62,0xf3,0xfd,0x08,0x3e,0xf9,0x07]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_ucmp_w_128(<8 x i16> %a0, <8 x i16> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_ucmp_w_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovd %edi, %k1 ## encoding: [0xc5,0xfb,0x92,0xcf]
-; CHECK-NEXT: vpcmpequw %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltuw %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xd1,0x01]
-; CHECK-NEXT: vpcmpleuw %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xd9,0x02]
-; CHECK-NEXT: vpcmpunorduw %xmm1, %xmm0, %k4 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xe1,0x03]
-; CHECK-NEXT: vpcmpnequw %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltuw %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleuw %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xf9,0x06]
-; CHECK-NEXT: vpcmporduw %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x3e,0xc9,0x07]
-; CHECK-NEXT: kmovd %k2, %eax ## encoding: [0xc5,0xfb,0x93,0xc2]
-; CHECK-NEXT: kmovd %k0, %ecx ## encoding: [0xc5,0xfb,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovd %k3, %eax ## encoding: [0xc5,0xfb,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovd %k4, %eax ## encoding: [0xc5,0xfb,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovd %k5, %eax ## encoding: [0xc5,0xfb,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovd %k6, %eax ## encoding: [0xc5,0xfb,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovd %k7, %eax ## encoding: [0xc5,0xfb,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovd %k1, %eax ## encoding: [0xc5,0xfb,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16> %a0, <8 x i16> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.ucmp.w.128(<8 x i16>, <8 x i16>, i32, i8) nounwind readnone
-
define <8 x i16> @test_mask_packs_epi32_rr_128(<4 x i32> %a, <4 x i32> %b) {
; CHECK-LABEL: test_mask_packs_epi32_rr_128:
; CHECK: ## BB#0:
diff --git a/test/CodeGen/X86/avx512vl-arith.ll b/test/CodeGen/X86/avx512vl-arith.ll
index 9c056cdee196..248a68245528 100644
--- a/test/CodeGen/X86/avx512vl-arith.ll
+++ b/test/CodeGen/X86/avx512vl-arith.ll
@@ -28,7 +28,7 @@ define <4 x i64> @vpaddq256_broadcast_test(<4 x i64> %i) nounwind {
; CHECK-NEXT: vpaddq {{.*}}(%rip){1to4}, %ymm0, %ymm0 ## encoding: [0x62,0xf1,0xfd,0x38,0xd4,0x05,A,A,A,A]
; CHECK-NEXT: ## fixup A - offset: 6, value: LCPI2_0-4, kind: reloc_riprel_4byte
; CHECK-NEXT: retq ## encoding: [0xc3]
- %x = add <4 x i64> %i, <i64 1, i64 1, i64 1, i64 1>
+ %x = add <4 x i64> %i, <i64 2, i64 2, i64 2, i64 2>
ret <4 x i64> %x
}
@@ -69,7 +69,7 @@ define <8 x i32> @vpaddd256_broadcast_test(<8 x i32> %i) nounwind {
; CHECK-NEXT: vpaddd {{.*}}(%rip){1to8}, %ymm0, %ymm0 ## encoding: [0x62,0xf1,0x7d,0x38,0xfe,0x05,A,A,A,A]
; CHECK-NEXT: ## fixup A - offset: 6, value: LCPI6_0-4, kind: reloc_riprel_4byte
; CHECK-NEXT: retq ## encoding: [0xc3]
- %x = add <8 x i32> %i, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %x = add <8 x i32> %i, <i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3>
ret <8 x i32> %x
}
@@ -122,7 +122,7 @@ define <8 x i32> @vpaddd256_mask_broadcast_test(<8 x i32> %i, <8 x i32> %mask1)
; CHECK-NEXT: ## fixup A - offset: 6, value: LCPI10_0-4, kind: reloc_riprel_4byte
; CHECK-NEXT: retq ## encoding: [0xc3]
%mask = icmp ne <8 x i32> %mask1, zeroinitializer
- %x = add <8 x i32> %i, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %x = add <8 x i32> %i, <i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4>
%r = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> %i
ret <8 x i32> %r
}
@@ -150,7 +150,7 @@ define <8 x i32> @vpaddd256_maskz_broadcast_test(<8 x i32> %i, <8 x i32> %mask1)
; CHECK-NEXT: ## fixup A - offset: 6, value: LCPI12_0-4, kind: reloc_riprel_4byte
; CHECK-NEXT: retq ## encoding: [0xc3]
%mask = icmp ne <8 x i32> %mask1, zeroinitializer
- %x = add <8 x i32> %i, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %x = add <8 x i32> %i, <i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5>
%r = select <8 x i1> %mask, <8 x i32> %x, <8 x i32> zeroinitializer
ret <8 x i32> %r
}
@@ -517,7 +517,7 @@ define <4 x i32> @vpaddd128_broadcast_test(<4 x i32> %i) nounwind {
; CHECK-NEXT: vpaddd {{.*}}(%rip){1to4}, %xmm0, %xmm0 ## encoding: [0x62,0xf1,0x7d,0x18,0xfe,0x05,A,A,A,A]
; CHECK-NEXT: ## fixup A - offset: 6, value: LCPI42_0-4, kind: reloc_riprel_4byte
; CHECK-NEXT: retq ## encoding: [0xc3]
- %x = add <4 x i32> %i, <i32 1, i32 1, i32 1, i32 1>
+ %x = add <4 x i32> %i, <i32 6, i32 6, i32 6, i32 6>
ret <4 x i32> %x
}
@@ -570,7 +570,7 @@ define <4 x i32> @vpaddd128_mask_broadcast_test(<4 x i32> %i, <4 x i32> %mask1)
; CHECK-NEXT: ## fixup A - offset: 6, value: LCPI46_0-4, kind: reloc_riprel_4byte
; CHECK-NEXT: retq ## encoding: [0xc3]
%mask = icmp ne <4 x i32> %mask1, zeroinitializer
- %x = add <4 x i32> %i, <i32 1, i32 1, i32 1, i32 1>
+ %x = add <4 x i32> %i, <i32 7, i32 7, i32 7, i32 7>
%r = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> %i
ret <4 x i32> %r
}
@@ -598,7 +598,7 @@ define <4 x i32> @vpaddd128_maskz_broadcast_test(<4 x i32> %i, <4 x i32> %mask1)
; CHECK-NEXT: ## fixup A - offset: 6, value: LCPI48_0-4, kind: reloc_riprel_4byte
; CHECK-NEXT: retq ## encoding: [0xc3]
%mask = icmp ne <4 x i32> %mask1, zeroinitializer
- %x = add <4 x i32> %i, <i32 1, i32 1, i32 1, i32 1>
+ %x = add <4 x i32> %i, <i32 8, i32 8, i32 8, i32 8>
%r = select <4 x i1> %mask, <4 x i32> %x, <4 x i32> zeroinitializer
ret <4 x i32> %r
}
diff --git a/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll b/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
index c2d8df6476b3..300cb51f871c 100644
--- a/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
+++ b/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
@@ -4974,3 +4974,954 @@ define <4 x float> @test_mm512_min_ps_128(<4 x float> %a0, <4 x float> %a1, i8 %
}
declare <4 x float> @llvm.x86.avx512.mask.min.ps.128(<4 x float>, <4 x float>, <4 x float>, i8)
+define <8 x i8> @test_cmp_d_256(<8 x i32> %a0, <8 x i32> %a1) {
+; CHECK-LABEL: test_cmp_d_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqd %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x28,0x76,0xc1]
+; CHECK-NEXT: vpcmpgtd %ymm0, %ymm1, %k1 ## encoding: [0x62,0xf1,0x75,0x28,0x66,0xc8]
+; CHECK-NEXT: vpcmpled %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xd1,0x02]
+; CHECK-NEXT: vpcmpneqd %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xd9,0x04]
+; CHECK-NEXT: vpcmpled %ymm0, %ymm1, %k4 ## encoding: [0x62,0xf3,0x75,0x28,0x1f,0xe0,0x02]
+; CHECK-NEXT: vpcmpgtd %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf1,0x7d,0x28,0x66,0xe9]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: kxnorw %k0, %k0, %k0 ## encoding: [0xc5,0xfc,0x46,0xc0]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_cmp_d_256(<8 x i32> %a0, <8 x i32> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_cmp_d_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqd %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x29,0x76,0xc1]
+; CHECK-NEXT: vpcmpgtd %ymm0, %ymm1, %k2 {%k1} ## encoding: [0x62,0xf1,0x75,0x29,0x66,0xd0]
+; CHECK-NEXT: vpcmpled %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xd9,0x02]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqd %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xe9,0x04]
+; CHECK-NEXT: vpcmpled %ymm0, %ymm1, %k6 {%k1} ## encoding: [0x62,0xf3,0x75,0x29,0x1f,0xf0,0x02]
+; CHECK-NEXT: vpcmpgtd %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf1,0x7d,0x29,0x66,0xc9]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: vpinsrb $14, %edi, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc7,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32>, <8 x i32>, i32, i8) nounwind readnone
+
+define <8 x i8> @test_ucmp_d_256(<8 x i32> %a0, <8 x i32> %a1) {
+; CHECK-LABEL: test_ucmp_d_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqd %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x28,0x76,0xc1]
+; CHECK-NEXT: vpcmpltud %ymm1, %ymm0, %k1 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xc9,0x01]
+; CHECK-NEXT: vpcmpleud %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xd1,0x02]
+; CHECK-NEXT: vpcmpneqd %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xd9,0x04]
+; CHECK-NEXT: vpcmpnltud %ymm1, %ymm0, %k4 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xe1,0x05]
+; CHECK-NEXT: vpcmpnleud %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xe9,0x06]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: kxnorw %k0, %k0, %k0 ## encoding: [0xc5,0xfc,0x46,0xc0]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_ucmp_d_256(<8 x i32> %a0, <8 x i32> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_ucmp_d_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqd %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x29,0x76,0xc1]
+; CHECK-NEXT: vpcmpltud %ymm1, %ymm0, %k2 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xd1,0x01]
+; CHECK-NEXT: vpcmpleud %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xd9,0x02]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqd %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xe9,0x04]
+; CHECK-NEXT: vpcmpnltud %ymm1, %ymm0, %k6 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xf1,0x05]
+; CHECK-NEXT: vpcmpnleud %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xc9,0x06]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: vpinsrb $14, %edi, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc7,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32>, <8 x i32>, i32, i8) nounwind readnone
+
+define <8 x i8> @test_cmp_q_256(<4 x i64> %a0, <4 x i64> %a1) {
+; CHECK-LABEL: test_cmp_q_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqq %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf2,0xfd,0x28,0x29,0xc1]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpgtq %ymm0, %ymm1, %k1 ## encoding: [0x62,0xf2,0xf5,0x28,0x37,0xc8]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: vpcmpleq %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xd1,0x02]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpneqq %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xd9,0x04]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: vpcmpleq %ymm0, %ymm1, %k4 ## encoding: [0x62,0xf3,0xf5,0x28,0x1f,0xe0,0x02]
+; CHECK-NEXT: kshiftlw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x32,0xe4,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x30,0xe4,0x0c]
+; CHECK-NEXT: vpcmpgtq %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf2,0xfd,0x28,0x37,0xe9]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: movl $15, %eax ## encoding: [0xb8,0x0f,0x00,0x00,0x00]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_cmp_q_256(<4 x i64> %a0, <4 x i64> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_cmp_q_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqq %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf2,0xfd,0x29,0x29,0xc1]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpgtq %ymm0, %ymm1, %k2 {%k1} ## encoding: [0x62,0xf2,0xf5,0x29,0x37,0xd0]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpleq %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xd9,0x02]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqq %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xe9,0x04]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: vpcmpleq %ymm0, %ymm1, %k6 {%k1} ## encoding: [0x62,0xf3,0xf5,0x29,0x1f,0xf0,0x02]
+; CHECK-NEXT: kshiftlw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x32,0xf6,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x30,0xf6,0x0c]
+; CHECK-NEXT: vpcmpgtq %ymm1, %ymm0, %k7 {%k1} ## encoding: [0x62,0xf2,0xfd,0x29,0x37,0xf9]
+; CHECK-NEXT: kshiftlw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x32,0xff,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x30,0xff,0x0c]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64>, <4 x i64>, i32, i8) nounwind readnone
+
+define <8 x i8> @test_ucmp_q_256(<4 x i64> %a0, <4 x i64> %a1) {
+; CHECK-LABEL: test_ucmp_q_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqq %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf2,0xfd,0x28,0x29,0xc1]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpltuq %ymm1, %ymm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xc9,0x01]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: vpcmpleuq %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xd1,0x02]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpneqq %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xd9,0x04]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: vpcmpnltuq %ymm1, %ymm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xe1,0x05]
+; CHECK-NEXT: kshiftlw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x32,0xe4,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x30,0xe4,0x0c]
+; CHECK-NEXT: vpcmpnleuq %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xe9,0x06]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: movl $15, %eax ## encoding: [0xb8,0x0f,0x00,0x00,0x00]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_ucmp_q_256(<4 x i64> %a0, <4 x i64> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_ucmp_q_256:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqq %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf2,0xfd,0x29,0x29,0xc1]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpltuq %ymm1, %ymm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xd1,0x01]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpleuq %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xd9,0x02]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqq %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xe9,0x04]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: vpcmpnltuq %ymm1, %ymm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xf1,0x05]
+; CHECK-NEXT: kshiftlw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x32,0xf6,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x30,0xf6,0x0c]
+; CHECK-NEXT: vpcmpnleuq %ymm1, %ymm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xf9,0x06]
+; CHECK-NEXT: kshiftlw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x32,0xff,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x30,0xff,0x0c]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64>, <4 x i64>, i32, i8) nounwind readnone
+
+define <8 x i8> @test_cmp_d_128(<4 x i32> %a0, <4 x i32> %a1) {
+; CHECK-LABEL: test_cmp_d_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x76,0xc1]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpgtd %xmm0, %xmm1, %k1 ## encoding: [0x62,0xf1,0x75,0x08,0x66,0xc8]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: vpcmpled %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xd1,0x02]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpneqd %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xd9,0x04]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: vpcmpled %xmm0, %xmm1, %k4 ## encoding: [0x62,0xf3,0x75,0x08,0x1f,0xe0,0x02]
+; CHECK-NEXT: kshiftlw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x32,0xe4,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x30,0xe4,0x0c]
+; CHECK-NEXT: vpcmpgtd %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf1,0x7d,0x08,0x66,0xe9]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: movl $15, %eax ## encoding: [0xb8,0x0f,0x00,0x00,0x00]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_cmp_d_128(<4 x i32> %a0, <4 x i32> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_cmp_d_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x76,0xc1]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpgtd %xmm0, %xmm1, %k2 {%k1} ## encoding: [0x62,0xf1,0x75,0x09,0x66,0xd0]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpled %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xd9,0x02]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqd %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xe9,0x04]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: vpcmpled %xmm0, %xmm1, %k6 {%k1} ## encoding: [0x62,0xf3,0x75,0x09,0x1f,0xf0,0x02]
+; CHECK-NEXT: kshiftlw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x32,0xf6,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x30,0xf6,0x0c]
+; CHECK-NEXT: vpcmpgtd %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x66,0xf9]
+; CHECK-NEXT: kshiftlw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x32,0xff,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x30,0xff,0x0c]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32>, <4 x i32>, i32, i8) nounwind readnone
+
+define <8 x i8> @test_ucmp_d_128(<4 x i32> %a0, <4 x i32> %a1) {
+; CHECK-LABEL: test_ucmp_d_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf1,0x7d,0x08,0x76,0xc1]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpltud %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xc9,0x01]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: vpcmpleud %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xd1,0x02]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpneqd %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xd9,0x04]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: vpcmpnltud %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xe1,0x05]
+; CHECK-NEXT: kshiftlw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x32,0xe4,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x30,0xe4,0x0c]
+; CHECK-NEXT: vpcmpnleud %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xe9,0x06]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: movl $15, %eax ## encoding: [0xb8,0x0f,0x00,0x00,0x00]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_ucmp_d_128(<4 x i32> %a0, <4 x i32> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_ucmp_d_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf1,0x7d,0x09,0x76,0xc1]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpltud %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xd1,0x01]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpleud %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xd9,0x02]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqd %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xe9,0x04]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: vpcmpnltud %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xf1,0x05]
+; CHECK-NEXT: kshiftlw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x32,0xf6,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x30,0xf6,0x0c]
+; CHECK-NEXT: vpcmpnleud %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xf9,0x06]
+; CHECK-NEXT: kshiftlw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x32,0xff,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x30,0xff,0x0c]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32>, <4 x i32>, i32, i8) nounwind readnone
+
+define <8 x i8> @test_cmp_q_128(<2 x i64> %a0, <2 x i64> %a1) {
+; CHECK-LABEL: test_cmp_q_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqq %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf2,0xfd,0x08,0x29,0xc1]
+; CHECK-NEXT: kshiftlw $14, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpgtq %xmm0, %xmm1, %k1 ## encoding: [0x62,0xf2,0xf5,0x08,0x37,0xc8]
+; CHECK-NEXT: kshiftlw $14, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: vpcmpleq %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xd1,0x02]
+; CHECK-NEXT: kshiftlw $14, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpneqq %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xd9,0x04]
+; CHECK-NEXT: kshiftlw $14, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: vpcmpleq %xmm0, %xmm1, %k4 ## encoding: [0x62,0xf3,0xf5,0x08,0x1f,0xe0,0x02]
+; CHECK-NEXT: kshiftlw $14, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x32,0xe4,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x30,0xe4,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x32,0xe4,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x30,0xe4,0x0c]
+; CHECK-NEXT: vpcmpgtq %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf2,0xfd,0x08,0x37,0xe9]
+; CHECK-NEXT: kshiftlw $14, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: movl $3, %eax ## encoding: [0xb8,0x03,0x00,0x00,0x00]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_cmp_q_128(<2 x i64> %a0, <2 x i64> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_cmp_q_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqq %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0x29,0xc1]
+; CHECK-NEXT: kshiftlw $14, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpgtq %xmm0, %xmm1, %k2 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0x37,0xd0]
+; CHECK-NEXT: kshiftlw $14, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpleq %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xd9,0x02]
+; CHECK-NEXT: kshiftlw $14, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqq %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xe9,0x04]
+; CHECK-NEXT: kshiftlw $14, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: vpcmpleq %xmm0, %xmm1, %k6 {%k1} ## encoding: [0x62,0xf3,0xf5,0x09,0x1f,0xf0,0x02]
+; CHECK-NEXT: kshiftlw $14, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x32,0xf6,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x30,0xf6,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x32,0xf6,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x30,0xf6,0x0c]
+; CHECK-NEXT: vpcmpgtq %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0x37,0xf9]
+; CHECK-NEXT: kshiftlw $14, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x32,0xff,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x30,0xff,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x32,0xff,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x30,0xff,0x0c]
+; CHECK-NEXT: kshiftlw $14, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64>, <2 x i64>, i32, i8) nounwind readnone
+
+define <8 x i8> @test_ucmp_q_128(<2 x i64> %a0, <2 x i64> %a1) {
+; CHECK-LABEL: test_ucmp_q_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: vpcmpeqq %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf2,0xfd,0x08,0x29,0xc1]
+; CHECK-NEXT: kshiftlw $14, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpltuq %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xc9,0x01]
+; CHECK-NEXT: kshiftlw $14, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: vpcmpleuq %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xd1,0x02]
+; CHECK-NEXT: kshiftlw $14, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpneqq %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xd9,0x04]
+; CHECK-NEXT: kshiftlw $14, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: vpcmpnltuq %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xe1,0x05]
+; CHECK-NEXT: kshiftlw $14, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x32,0xe4,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x30,0xe4,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x32,0xe4,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k4, %k4 ## encoding: [0xc4,0xe3,0xf9,0x30,0xe4,0x0c]
+; CHECK-NEXT: vpcmpnleuq %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xe9,0x06]
+; CHECK-NEXT: kshiftlw $14, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: kmovw %k0, %eax ## encoding: [0xc5,0xf8,0x93,0xc0]
+; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0xef,0xc0]
+; CHECK-NEXT: vpinsrw $0, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x00]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrw $1, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x01]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: vpinsrw $2, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrw $4, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrw $5, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x05]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrw $6, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x06]
+; CHECK-NEXT: movl $3, %eax ## encoding: [0xb8,0x03,0x00,0x00,0x00]
+; CHECK-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 0, i8 -1)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 1, i8 -1)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 2, i8 -1)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 3, i8 -1)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 4, i8 -1)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 5, i8 -1)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 6, i8 -1)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 7, i8 -1)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+define <8 x i8> @test_mask_ucmp_q_128(<2 x i64> %a0, <2 x i64> %a1, i8 %mask) {
+; CHECK-LABEL: test_mask_ucmp_q_128:
+; CHECK: ## BB#0:
+; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
+; CHECK-NEXT: vpcmpeqq %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0x29,0xc1]
+; CHECK-NEXT: kshiftlw $14, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc0,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k0, %k0 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc0,0x0c]
+; CHECK-NEXT: vpcmpltuq %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xd1,0x01]
+; CHECK-NEXT: kshiftlw $14, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x32,0xd2,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k2, %k2 ## encoding: [0xc4,0xe3,0xf9,0x30,0xd2,0x0c]
+; CHECK-NEXT: vpcmpleuq %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xd9,0x02]
+; CHECK-NEXT: kshiftlw $14, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x32,0xdb,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k3, %k3 ## encoding: [0xc4,0xe3,0xf9,0x30,0xdb,0x0c]
+; CHECK-NEXT: kxorw %k0, %k0, %k4 ## encoding: [0xc5,0xfc,0x47,0xe0]
+; CHECK-NEXT: vpcmpneqq %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xe9,0x04]
+; CHECK-NEXT: kshiftlw $14, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x32,0xed,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k5, %k5 ## encoding: [0xc4,0xe3,0xf9,0x30,0xed,0x0c]
+; CHECK-NEXT: vpcmpnltuq %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xf1,0x05]
+; CHECK-NEXT: kshiftlw $14, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x32,0xf6,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x30,0xf6,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x32,0xf6,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k6, %k6 ## encoding: [0xc4,0xe3,0xf9,0x30,0xf6,0x0c]
+; CHECK-NEXT: vpcmpnleuq %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xf9,0x06]
+; CHECK-NEXT: kshiftlw $14, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x32,0xff,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x30,0xff,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x32,0xff,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k7, %k7 ## encoding: [0xc4,0xe3,0xf9,0x30,0xff,0x0c]
+; CHECK-NEXT: kshiftlw $14, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0e]
+; CHECK-NEXT: kshiftrw $14, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0e]
+; CHECK-NEXT: kshiftlw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x32,0xc9,0x0c]
+; CHECK-NEXT: kshiftrw $12, %k1, %k1 ## encoding: [0xc4,0xe3,0xf9,0x30,0xc9,0x0c]
+; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
+; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
+; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
+; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
+; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
+; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
+; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
+; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
+; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
+; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
+; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
+; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
+; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
+; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
+; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
+; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
+; CHECK-NEXT: retq ## encoding: [0xc3]
+ %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 0, i8 %mask)
+ %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
+ %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 1, i8 %mask)
+ %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
+ %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 2, i8 %mask)
+ %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
+ %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 3, i8 %mask)
+ %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
+ %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 4, i8 %mask)
+ %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
+ %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 5, i8 %mask)
+ %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
+ %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 6, i8 %mask)
+ %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
+ %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 7, i8 %mask)
+ %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
+ ret <8 x i8> %vec7
+}
+
+declare i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64>, <2 x i64>, i32, i8) nounwind readnone
diff --git a/test/CodeGen/X86/avx512vl-intrinsics.ll b/test/CodeGen/X86/avx512vl-intrinsics.ll
index 684b0468cf51..328b40d1527b 100644
--- a/test/CodeGen/X86/avx512vl-intrinsics.ll
+++ b/test/CodeGen/X86/avx512vl-intrinsics.ll
@@ -1,786 +1,6 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=knl -mattr=+avx512vl --show-mc-encoding| FileCheck %s
-; 256-bit
-
-define <8 x i8> @test_cmp_d_256(<8 x i32> %a0, <8 x i32> %a1) {
-; CHECK-LABEL: test_cmp_d_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqd %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltd %ymm1, %ymm0, %k1 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xc9,0x01]
-; CHECK-NEXT: vpcmpled %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordd %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xd9,0x03]
-; CHECK-NEXT: vpcmpneqd %ymm1, %ymm0, %k4 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltd %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xe9,0x05]
-; CHECK-NEXT: vpcmpnled %ymm1, %ymm0, %k6 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xf1,0x06]
-; CHECK-NEXT: vpcmpordd %ymm1, %ymm0, %k7 ## encoding: [0x62,0xf3,0x7d,0x28,0x1f,0xf9,0x07]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_cmp_d_256(<8 x i32> %a0, <8 x i32> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_cmp_d_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqd %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltd %ymm1, %ymm0, %k2 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xd1,0x01]
-; CHECK-NEXT: vpcmpled %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordd %ymm1, %ymm0, %k4 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xe1,0x03]
-; CHECK-NEXT: vpcmpneqd %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltd %ymm1, %ymm0, %k6 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xf1,0x05]
-; CHECK-NEXT: vpcmpnled %ymm1, %ymm0, %k7 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xf9,0x06]
-; CHECK-NEXT: vpcmpordd %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1f,0xc9,0x07]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.cmp.d.256(<8 x i32>, <8 x i32>, i32, i8) nounwind readnone
-
-define <8 x i8> @test_ucmp_d_256(<8 x i32> %a0, <8 x i32> %a1) {
-; CHECK-LABEL: test_ucmp_d_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequd %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltud %ymm1, %ymm0, %k1 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xc9,0x01]
-; CHECK-NEXT: vpcmpleud %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordud %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xd9,0x03]
-; CHECK-NEXT: vpcmpnequd %ymm1, %ymm0, %k4 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltud %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleud %ymm1, %ymm0, %k6 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xf1,0x06]
-; CHECK-NEXT: vpcmpordud %ymm1, %ymm0, %k7 ## encoding: [0x62,0xf3,0x7d,0x28,0x1e,0xf9,0x07]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_ucmp_d_256(<8 x i32> %a0, <8 x i32> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_ucmp_d_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
-; CHECK-NEXT: vpcmpequd %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltud %ymm1, %ymm0, %k2 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xd1,0x01]
-; CHECK-NEXT: vpcmpleud %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordud %ymm1, %ymm0, %k4 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xe1,0x03]
-; CHECK-NEXT: vpcmpnequd %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltud %ymm1, %ymm0, %k6 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleud %ymm1, %ymm0, %k7 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xf9,0x06]
-; CHECK-NEXT: vpcmpordud %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf3,0x7d,0x29,0x1e,0xc9,0x07]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32> %a0, <8 x i32> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.ucmp.d.256(<8 x i32>, <8 x i32>, i32, i8) nounwind readnone
-
-define <8 x i8> @test_cmp_q_256(<4 x i64> %a0, <4 x i64> %a1) {
-; CHECK-LABEL: test_cmp_q_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqq %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltq %ymm1, %ymm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xc9,0x01]
-; CHECK-NEXT: vpcmpleq %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordq %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xd9,0x03]
-; CHECK-NEXT: vpcmpneqq %ymm1, %ymm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltq %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleq %ymm1, %ymm0, %k6 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xf1,0x06]
-; CHECK-NEXT: vpcmpordq %ymm1, %ymm0, %k7 ## encoding: [0x62,0xf3,0xfd,0x28,0x1f,0xf9,0x07]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_cmp_q_256(<4 x i64> %a0, <4 x i64> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_cmp_q_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqq %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltq %ymm1, %ymm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xd1,0x01]
-; CHECK-NEXT: vpcmpleq %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordq %ymm1, %ymm0, %k4 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xe1,0x03]
-; CHECK-NEXT: vpcmpneqq %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltq %ymm1, %ymm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleq %ymm1, %ymm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xf9,0x06]
-; CHECK-NEXT: vpcmpordq %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1f,0xc9,0x07]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.cmp.q.256(<4 x i64>, <4 x i64>, i32, i8) nounwind readnone
-
-define <8 x i8> @test_ucmp_q_256(<4 x i64> %a0, <4 x i64> %a1) {
-; CHECK-LABEL: test_ucmp_q_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequq %ymm1, %ymm0, %k0 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltuq %ymm1, %ymm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xc9,0x01]
-; CHECK-NEXT: vpcmpleuq %ymm1, %ymm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xd1,0x02]
-; CHECK-NEXT: vpcmpunorduq %ymm1, %ymm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xd9,0x03]
-; CHECK-NEXT: vpcmpnequq %ymm1, %ymm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltuq %ymm1, %ymm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleuq %ymm1, %ymm0, %k6 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xf1,0x06]
-; CHECK-NEXT: vpcmporduq %ymm1, %ymm0, %k7 ## encoding: [0x62,0xf3,0xfd,0x28,0x1e,0xf9,0x07]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_ucmp_q_256(<4 x i64> %a0, <4 x i64> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_ucmp_q_256:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
-; CHECK-NEXT: vpcmpequq %ymm1, %ymm0, %k0 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltuq %ymm1, %ymm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xd1,0x01]
-; CHECK-NEXT: vpcmpleuq %ymm1, %ymm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xd9,0x02]
-; CHECK-NEXT: vpcmpunorduq %ymm1, %ymm0, %k4 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xe1,0x03]
-; CHECK-NEXT: vpcmpnequq %ymm1, %ymm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltuq %ymm1, %ymm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleuq %ymm1, %ymm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xf9,0x06]
-; CHECK-NEXT: vpcmporduq %ymm1, %ymm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x29,0x1e,0xc9,0x07]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64> %a0, <4 x i64> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.ucmp.q.256(<4 x i64>, <4 x i64>, i32, i8) nounwind readnone
-
-; 128-bit
-
-define <8 x i8> @test_cmp_d_128(<4 x i32> %a0, <4 x i32> %a1) {
-; CHECK-LABEL: test_cmp_d_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqd %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltd %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xc9,0x01]
-; CHECK-NEXT: vpcmpled %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordd %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xd9,0x03]
-; CHECK-NEXT: vpcmpneqd %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltd %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xe9,0x05]
-; CHECK-NEXT: vpcmpnled %xmm1, %xmm0, %k6 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xf1,0x06]
-; CHECK-NEXT: vpcmpordd %xmm1, %xmm0, %k7 ## encoding: [0x62,0xf3,0x7d,0x08,0x1f,0xf9,0x07]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_cmp_d_128(<4 x i32> %a0, <4 x i32> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_cmp_d_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqd %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltd %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xd1,0x01]
-; CHECK-NEXT: vpcmpled %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordd %xmm1, %xmm0, %k4 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xe1,0x03]
-; CHECK-NEXT: vpcmpneqd %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltd %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xf1,0x05]
-; CHECK-NEXT: vpcmpnled %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xf9,0x06]
-; CHECK-NEXT: vpcmpordd %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1f,0xc9,0x07]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.cmp.d.128(<4 x i32>, <4 x i32>, i32, i8) nounwind readnone
-
-define <8 x i8> @test_ucmp_d_128(<4 x i32> %a0, <4 x i32> %a1) {
-; CHECK-LABEL: test_ucmp_d_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequd %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltud %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xc9,0x01]
-; CHECK-NEXT: vpcmpleud %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordud %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xd9,0x03]
-; CHECK-NEXT: vpcmpnequd %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltud %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleud %xmm1, %xmm0, %k6 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xf1,0x06]
-; CHECK-NEXT: vpcmpordud %xmm1, %xmm0, %k7 ## encoding: [0x62,0xf3,0x7d,0x08,0x1e,0xf9,0x07]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_ucmp_d_128(<4 x i32> %a0, <4 x i32> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_ucmp_d_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
-; CHECK-NEXT: vpcmpequd %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltud %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xd1,0x01]
-; CHECK-NEXT: vpcmpleud %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordud %xmm1, %xmm0, %k4 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xe1,0x03]
-; CHECK-NEXT: vpcmpnequd %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltud %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleud %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xf9,0x06]
-; CHECK-NEXT: vpcmpordud %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0x7d,0x09,0x1e,0xc9,0x07]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32> %a0, <4 x i32> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.ucmp.d.128(<4 x i32>, <4 x i32>, i32, i8) nounwind readnone
-
-define <8 x i8> @test_cmp_q_128(<2 x i64> %a0, <2 x i64> %a1) {
-; CHECK-LABEL: test_cmp_q_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpeqq %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltq %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xc9,0x01]
-; CHECK-NEXT: vpcmpleq %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xd1,0x02]
-; CHECK-NEXT: vpcmpunordq %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xd9,0x03]
-; CHECK-NEXT: vpcmpneqq %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltq %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleq %xmm1, %xmm0, %k6 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xf1,0x06]
-; CHECK-NEXT: vpcmpordq %xmm1, %xmm0, %k7 ## encoding: [0x62,0xf3,0xfd,0x08,0x1f,0xf9,0x07]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_cmp_q_128(<2 x i64> %a0, <2 x i64> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_cmp_q_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
-; CHECK-NEXT: vpcmpeqq %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xc1,0x00]
-; CHECK-NEXT: vpcmpltq %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xd1,0x01]
-; CHECK-NEXT: vpcmpleq %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xd9,0x02]
-; CHECK-NEXT: vpcmpunordq %xmm1, %xmm0, %k4 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xe1,0x03]
-; CHECK-NEXT: vpcmpneqq %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltq %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleq %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xf9,0x06]
-; CHECK-NEXT: vpcmpordq %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1f,0xc9,0x07]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.cmp.q.128(<2 x i64>, <2 x i64>, i32, i8) nounwind readnone
-
-define <8 x i8> @test_ucmp_q_128(<2 x i64> %a0, <2 x i64> %a1) {
-; CHECK-LABEL: test_ucmp_q_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: vpcmpequq %xmm1, %xmm0, %k0 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltuq %xmm1, %xmm0, %k1 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xc9,0x01]
-; CHECK-NEXT: vpcmpleuq %xmm1, %xmm0, %k2 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xd1,0x02]
-; CHECK-NEXT: vpcmpunorduq %xmm1, %xmm0, %k3 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xd9,0x03]
-; CHECK-NEXT: vpcmpnequq %xmm1, %xmm0, %k4 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xe1,0x04]
-; CHECK-NEXT: vpcmpnltuq %xmm1, %xmm0, %k5 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xe9,0x05]
-; CHECK-NEXT: vpcmpnleuq %xmm1, %xmm0, %k6 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xf1,0x06]
-; CHECK-NEXT: vpcmporduq %xmm1, %xmm0, %k7 ## encoding: [0x62,0xf3,0xfd,0x08,0x1e,0xf9,0x07]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 0, i8 -1)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 1, i8 -1)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 2, i8 -1)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 3, i8 -1)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 4, i8 -1)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 5, i8 -1)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 6, i8 -1)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 7, i8 -1)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-define <8 x i8> @test_mask_ucmp_q_128(<2 x i64> %a0, <2 x i64> %a1, i8 %mask) {
-; CHECK-LABEL: test_mask_ucmp_q_128:
-; CHECK: ## BB#0:
-; CHECK-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
-; CHECK-NEXT: vpcmpequq %xmm1, %xmm0, %k0 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xc1,0x00]
-; CHECK-NEXT: vpcmpltuq %xmm1, %xmm0, %k2 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xd1,0x01]
-; CHECK-NEXT: vpcmpleuq %xmm1, %xmm0, %k3 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xd9,0x02]
-; CHECK-NEXT: vpcmpunorduq %xmm1, %xmm0, %k4 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xe1,0x03]
-; CHECK-NEXT: vpcmpnequq %xmm1, %xmm0, %k5 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xe9,0x04]
-; CHECK-NEXT: vpcmpnltuq %xmm1, %xmm0, %k6 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xf1,0x05]
-; CHECK-NEXT: vpcmpnleuq %xmm1, %xmm0, %k7 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xf9,0x06]
-; CHECK-NEXT: vpcmporduq %xmm1, %xmm0, %k1 {%k1} ## encoding: [0x62,0xf3,0xfd,0x09,0x1e,0xc9,0x07]
-; CHECK-NEXT: kmovw %k2, %eax ## encoding: [0xc5,0xf8,0x93,0xc2]
-; CHECK-NEXT: kmovw %k0, %ecx ## encoding: [0xc5,0xf8,0x93,0xc8]
-; CHECK-NEXT: vmovd %ecx, %xmm0 ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x6e,0xc1]
-; CHECK-NEXT: vpinsrb $2, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x02]
-; CHECK-NEXT: kmovw %k3, %eax ## encoding: [0xc5,0xf8,0x93,0xc3]
-; CHECK-NEXT: vpinsrb $4, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x04]
-; CHECK-NEXT: kmovw %k4, %eax ## encoding: [0xc5,0xf8,0x93,0xc4]
-; CHECK-NEXT: vpinsrb $6, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x06]
-; CHECK-NEXT: kmovw %k5, %eax ## encoding: [0xc5,0xf8,0x93,0xc5]
-; CHECK-NEXT: vpinsrb $8, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x08]
-; CHECK-NEXT: kmovw %k6, %eax ## encoding: [0xc5,0xf8,0x93,0xc6]
-; CHECK-NEXT: vpinsrb $10, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0a]
-; CHECK-NEXT: kmovw %k7, %eax ## encoding: [0xc5,0xf8,0x93,0xc7]
-; CHECK-NEXT: vpinsrb $12, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0c]
-; CHECK-NEXT: kmovw %k1, %eax ## encoding: [0xc5,0xf8,0x93,0xc1]
-; CHECK-NEXT: vpinsrb $14, %eax, %xmm0, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x20,0xc0,0x0e]
-; CHECK-NEXT: retq ## encoding: [0xc3]
- %res0 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 0, i8 %mask)
- %vec0 = insertelement <8 x i8> undef, i8 %res0, i32 0
- %res1 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 1, i8 %mask)
- %vec1 = insertelement <8 x i8> %vec0, i8 %res1, i32 1
- %res2 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 2, i8 %mask)
- %vec2 = insertelement <8 x i8> %vec1, i8 %res2, i32 2
- %res3 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 3, i8 %mask)
- %vec3 = insertelement <8 x i8> %vec2, i8 %res3, i32 3
- %res4 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 4, i8 %mask)
- %vec4 = insertelement <8 x i8> %vec3, i8 %res4, i32 4
- %res5 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 5, i8 %mask)
- %vec5 = insertelement <8 x i8> %vec4, i8 %res5, i32 5
- %res6 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 6, i8 %mask)
- %vec6 = insertelement <8 x i8> %vec5, i8 %res6, i32 6
- %res7 = call i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64> %a0, <2 x i64> %a1, i32 7, i8 %mask)
- %vec7 = insertelement <8 x i8> %vec6, i8 %res7, i32 7
- ret <8 x i8> %vec7
-}
-
-declare i8 @llvm.x86.avx512.mask.ucmp.q.128(<2 x i64>, <2 x i64>, i32, i8) nounwind readnone
-
define void @compr1(i8* %addr, <8 x double> %data, i8 %mask) {
; CHECK-LABEL: compr1:
; CHECK: ## BB#0:
diff --git a/test/CodeGen/X86/avx512vl-logic.ll b/test/CodeGen/X86/avx512vl-logic.ll
index 83fa8d4c34cd..6e697cf59a4e 100644
--- a/test/CodeGen/X86/avx512vl-logic.ll
+++ b/test/CodeGen/X86/avx512vl-logic.ll
@@ -12,7 +12,7 @@ define <8 x i32> @vpandd256(<8 x i32> %a, <8 x i32> %b) nounwind uwtable readnon
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <8 x i32> %a, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <8 x i32> %a, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
%x = and <8 x i32> %a2, %b
ret <8 x i32> %x
}
@@ -25,7 +25,7 @@ define <8 x i32> @vpandnd256(<8 x i32> %a, <8 x i32> %b) nounwind uwtable readno
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <8 x i32> %a, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <8 x i32> %a, <i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3>
%b2 = xor <8 x i32> %a, <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>
%x = and <8 x i32> %a2, %b2
ret <8 x i32> %x
@@ -39,7 +39,7 @@ define <8 x i32> @vpord256(<8 x i32> %a, <8 x i32> %b) nounwind uwtable readnone
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <8 x i32> %a, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <8 x i32> %a, <i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4>
%x = or <8 x i32> %a2, %b
ret <8 x i32> %x
}
@@ -52,7 +52,7 @@ define <8 x i32> @vpxord256(<8 x i32> %a, <8 x i32> %b) nounwind uwtable readnon
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <8 x i32> %a, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <8 x i32> %a, <i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5>
%x = xor <8 x i32> %a2, %b
ret <8 x i32> %x
}
@@ -65,7 +65,7 @@ define <4 x i64> @vpandq256(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnon
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <4 x i64> %a, <i64 1, i64 1, i64 1, i64 1>
+ %a2 = add <4 x i64> %a, <i64 6, i64 6, i64 6, i64 6>
%x = and <4 x i64> %a2, %b
ret <4 x i64> %x
}
@@ -78,7 +78,7 @@ define <4 x i64> @vpandnq256(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readno
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <4 x i64> %a, <i64 1, i64 1, i64 1, i64 1>
+ %a2 = add <4 x i64> %a, <i64 7, i64 7, i64 7, i64 7>
%b2 = xor <4 x i64> %b, <i64 -1, i64 -1, i64 -1, i64 -1>
%x = and <4 x i64> %a2, %b2
ret <4 x i64> %x
@@ -92,7 +92,7 @@ define <4 x i64> @vporq256(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnone
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <4 x i64> %a, <i64 1, i64 1, i64 1, i64 1>
+ %a2 = add <4 x i64> %a, <i64 21, i64 21, i64 21, i64 21>
%x = or <4 x i64> %a2, %b
ret <4 x i64> %x
}
@@ -105,7 +105,7 @@ define <4 x i64> @vpxorq256(<4 x i64> %a, <4 x i64> %b) nounwind uwtable readnon
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <4 x i64> %a, <i64 1, i64 1, i64 1, i64 1>
+ %a2 = add <4 x i64> %a, <i64 22, i64 22, i64 22, i64 22>
%x = xor <4 x i64> %a2, %b
ret <4 x i64> %x
}
@@ -120,7 +120,7 @@ define <4 x i32> @vpandd128(<4 x i32> %a, <4 x i32> %b) nounwind uwtable readnon
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <4 x i32> %a, <i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <4 x i32> %a, <i32 8, i32 8, i32 8, i32 8>
%x = and <4 x i32> %a2, %b
ret <4 x i32> %x
}
@@ -133,7 +133,7 @@ define <4 x i32> @vpandnd128(<4 x i32> %a, <4 x i32> %b) nounwind uwtable readno
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <4 x i32> %a, <i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <4 x i32> %a, <i32 9, i32 9, i32 9, i32 9>
%b2 = xor <4 x i32> %b, <i32 -1, i32 -1, i32 -1, i32 -1>
%x = and <4 x i32> %a2, %b2
ret <4 x i32> %x
@@ -147,7 +147,7 @@ define <4 x i32> @vpord128(<4 x i32> %a, <4 x i32> %b) nounwind uwtable readnone
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <4 x i32> %a, <i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <4 x i32> %a, <i32 10, i32 10, i32 10, i32 10>
%x = or <4 x i32> %a2, %b
ret <4 x i32> %x
}
@@ -160,7 +160,7 @@ define <4 x i32> @vpxord128(<4 x i32> %a, <4 x i32> %b) nounwind uwtable readnon
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <4 x i32> %a, <i32 1, i32 1, i32 1, i32 1>
+ %a2 = add <4 x i32> %a, <i32 11, i32 11, i32 11, i32 11>
%x = xor <4 x i32> %a2, %b
ret <4 x i32> %x
}
@@ -173,7 +173,7 @@ define <2 x i64> @vpandq128(<2 x i64> %a, <2 x i64> %b) nounwind uwtable readnon
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <2 x i64> %a, <i64 1, i64 1>
+ %a2 = add <2 x i64> %a, <i64 12, i64 12>
%x = and <2 x i64> %a2, %b
ret <2 x i64> %x
}
@@ -186,7 +186,7 @@ define <2 x i64> @vpandnq128(<2 x i64> %a, <2 x i64> %b) nounwind uwtable readno
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <2 x i64> %a, <i64 1, i64 1>
+ %a2 = add <2 x i64> %a, <i64 13, i64 13>
%b2 = xor <2 x i64> %b, <i64 -1, i64 -1>
%x = and <2 x i64> %a2, %b2
ret <2 x i64> %x
@@ -200,7 +200,7 @@ define <2 x i64> @vporq128(<2 x i64> %a, <2 x i64> %b) nounwind uwtable readnone
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <2 x i64> %a, <i64 1, i64 1>
+ %a2 = add <2 x i64> %a, <i64 14, i64 14>
%x = or <2 x i64> %a2, %b
ret <2 x i64> %x
}
@@ -213,7 +213,7 @@ define <2 x i64> @vpxorq128(<2 x i64> %a, <2 x i64> %b) nounwind uwtable readnon
; CHECK-NEXT: retq
entry:
; Force the execution domain with an add.
- %a2 = add <2 x i64> %a, <i64 1, i64 1>
+ %a2 = add <2 x i64> %a, <i64 15, i64 15>
%x = xor <2 x i64> %a2, %b
ret <2 x i64> %x
}
diff --git a/test/CodeGen/X86/bitcast-i256.ll b/test/CodeGen/X86/bitcast-i256.ll
index 87f1057d16b3..6c3009d1d7ca 100644
--- a/test/CodeGen/X86/bitcast-i256.ll
+++ b/test/CodeGen/X86/bitcast-i256.ll
@@ -1,11 +1,25 @@
-; RUN: llc -mtriple=x86_64-unknown-unknown -mcpu=core-avx-i < %s | FileCheck %s
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,-slow-unaligned-mem-32 | FileCheck %s --check-prefix=FAST
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+slow-unaligned-mem-32 | FileCheck %s --check-prefix=SLOW
define i256 @foo(<8 x i32> %a) {
+; FAST-LABEL: foo:
+; FAST: # BB#0:
+; FAST-NEXT: vmovups %ymm0, (%rdi)
+; FAST-NEXT: movq %rdi, %rax
+; FAST-NEXT: vzeroupper
+; FAST-NEXT: retq
+;
+; SLOW-LABEL: foo:
+; SLOW: # BB#0:
+; SLOW-NEXT: vextractf128 $1, %ymm0, %xmm1
+; SLOW-NEXT: vpextrq $1, %xmm1, 24(%rdi)
+; SLOW-NEXT: vmovq %xmm1, 16(%rdi)
+; SLOW-NEXT: vpextrq $1, %xmm0, 8(%rdi)
+; SLOW-NEXT: vmovq %xmm0, (%rdi)
+; SLOW-NEXT: movq %rdi, %rax
+; SLOW-NEXT: vzeroupper
+; SLOW-NEXT: retq
%r = bitcast <8 x i32> %a to i256
ret i256 %r
-; CHECK: foo
-; CHECK: vextractf128
-; CHECK: vpextrq
-; CHECK: vpextrq
-; CHECK: ret
}
diff --git a/test/CodeGen/X86/clear_upper_vector_element_bits.ll b/test/CodeGen/X86/clear_upper_vector_element_bits.ll
index f6d816ec8919..a6bc5aa321fa 100644
--- a/test/CodeGen/X86/clear_upper_vector_element_bits.ll
+++ b/test/CodeGen/X86/clear_upper_vector_element_bits.ll
@@ -714,22 +714,13 @@ define <8 x i32> @_clearupper8xi32b(<8 x i32>) nounwind {
;
; AVX1-LABEL: _clearupper8xi32b:
; AVX1: # BB#0:
-; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
-; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]
-; AVX1-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5,6,7]
-; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
-; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]
-; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm0
+; AVX1-NEXT: vandps {{.*}}(%rip), %ymm0, %ymm0
; AVX1-NEXT: retq
;
; AVX2-LABEL: _clearupper8xi32b:
; AVX2: # BB#0:
-; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
-; AVX2-NEXT: vpblendw {{.*#+}} xmm2 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]
-; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5,6,7]
-; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm0
-; AVX2-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]
-; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm2, %ymm0
+; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
+; AVX2-NEXT: vpblendw {{.*#+}} ymm0 = ymm0[0],ymm1[1],ymm0[2],ymm1[3],ymm0[4],ymm1[5],ymm0[6],ymm1[7],ymm0[8],ymm1[9],ymm0[10],ymm1[11],ymm0[12],ymm1[13],ymm0[14],ymm1[15]
; AVX2-NEXT: retq
%x16 = bitcast <8 x i32> %0 to <16 x i16>
%r0 = insertelement <16 x i16> %x16, i16 zeroinitializer, i32 1
diff --git a/test/CodeGen/X86/combine-pmuldq.ll b/test/CodeGen/X86/combine-pmuldq.ll
new file mode 100644
index 000000000000..09a142aa831b
--- /dev/null
+++ b/test/CodeGen/X86/combine-pmuldq.ll
@@ -0,0 +1,110 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX
+
+; TODO - shuffle+sext are superfluous
+define <2 x i64> @combine_shuffle_sext_pmuldq(<4 x i32> %a0, <4 x i32> %a1) {
+; SSE-LABEL: combine_shuffle_sext_pmuldq:
+; SSE: # BB#0:
+; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; SSE-NEXT: pmovsxdq %xmm0, %xmm2
+; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[0,2,2,3]
+; SSE-NEXT: pmovsxdq %xmm0, %xmm0
+; SSE-NEXT: pmuldq %xmm2, %xmm0
+; SSE-NEXT: retq
+;
+; AVX-LABEL: combine_shuffle_sext_pmuldq:
+; AVX: # BB#0:
+; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; AVX-NEXT: vpmovsxdq %xmm0, %xmm0
+; AVX-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
+; AVX-NEXT: vpmovsxdq %xmm1, %xmm1
+; AVX-NEXT: vpmuldq %xmm1, %xmm0, %xmm0
+; AVX-NEXT: retq
+ %1 = shufflevector <4 x i32> %a0, <4 x i32> undef, <2 x i32> <i32 0, i32 2>
+ %2 = shufflevector <4 x i32> %a1, <4 x i32> undef, <2 x i32> <i32 0, i32 2>
+ %3 = sext <2 x i32> %1 to <2 x i64>
+ %4 = sext <2 x i32> %2 to <2 x i64>
+ %5 = mul nuw <2 x i64> %3, %4
+ ret <2 x i64> %5
+}
+
+; TODO - shuffle+zext are superfluous
+define <2 x i64> @combine_shuffle_zext_pmuludq(<4 x i32> %a0, <4 x i32> %a1) {
+; SSE-LABEL: combine_shuffle_zext_pmuludq:
+; SSE: # BB#0:
+; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; SSE-NEXT: pmovzxdq {{.*#+}} xmm2 = xmm0[0],zero,xmm0[1],zero
+; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[0,2,2,3]
+; SSE-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero
+; SSE-NEXT: pmuludq %xmm2, %xmm0
+; SSE-NEXT: retq
+;
+; AVX-LABEL: combine_shuffle_zext_pmuludq:
+; AVX: # BB#0:
+; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; AVX-NEXT: vpmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero
+; AVX-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
+; AVX-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero
+; AVX-NEXT: vpmuludq %xmm1, %xmm0, %xmm0
+; AVX-NEXT: retq
+ %1 = shufflevector <4 x i32> %a0, <4 x i32> undef, <2 x i32> <i32 0, i32 2>
+ %2 = shufflevector <4 x i32> %a1, <4 x i32> undef, <2 x i32> <i32 0, i32 2>
+ %3 = zext <2 x i32> %1 to <2 x i64>
+ %4 = zext <2 x i32> %2 to <2 x i64>
+ %5 = mul nuw <2 x i64> %3, %4
+ ret <2 x i64> %5
+}
+
+; TODO - blends are superfluous
+define <2 x i64> @combine_shuffle_zero_pmuludq(<4 x i32> %a0, <4 x i32> %a1) {
+; SSE-LABEL: combine_shuffle_zero_pmuludq:
+; SSE: # BB#0:
+; SSE-NEXT: pxor %xmm2, %xmm2
+; SSE-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7]
+; SSE-NEXT: pblendw {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3],xmm1[4,5],xmm2[6,7]
+; SSE-NEXT: pmuludq %xmm1, %xmm0
+; SSE-NEXT: retq
+;
+; AVX-LABEL: combine_shuffle_zero_pmuludq:
+; AVX: # BB#0:
+; AVX-NEXT: vpxor %xmm2, %xmm2, %xmm2
+; AVX-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm2[1],xmm0[2],xmm2[3]
+; AVX-NEXT: vpblendd {{.*#+}} xmm1 = xmm1[0],xmm2[1],xmm1[2],xmm2[3]
+; AVX-NEXT: vpmuludq %xmm1, %xmm0, %xmm0
+; AVX-NEXT: retq
+ %1 = shufflevector <4 x i32> %a0, <4 x i32> zeroinitializer, <4 x i32> <i32 0, i32 5, i32 2, i32 7>
+ %2 = shufflevector <4 x i32> %a1, <4 x i32> zeroinitializer, <4 x i32> <i32 0, i32 5, i32 2, i32 7>
+ %3 = bitcast <4 x i32> %1 to <2 x i64>
+ %4 = bitcast <4 x i32> %2 to <2 x i64>
+ %5 = mul <2 x i64> %3, %4
+ ret <2 x i64> %5
+}
+
+; TODO - blends are superfluous
+define <4 x i64> @combine_shuffle_zero_pmuludq_256(<8 x i32> %a0, <8 x i32> %a1) {
+; SSE-LABEL: combine_shuffle_zero_pmuludq_256:
+; SSE: # BB#0:
+; SSE-NEXT: pxor %xmm4, %xmm4
+; SSE-NEXT: pblendw {{.*#+}} xmm1 = xmm1[0,1],xmm4[2,3],xmm1[4,5],xmm4[6,7]
+; SSE-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm4[2,3],xmm0[4,5],xmm4[6,7]
+; SSE-NEXT: pblendw {{.*#+}} xmm3 = xmm3[0,1],xmm4[2,3],xmm3[4,5],xmm4[6,7]
+; SSE-NEXT: pmuludq %xmm3, %xmm1
+; SSE-NEXT: pblendw {{.*#+}} xmm2 = xmm2[0,1],xmm4[2,3],xmm2[4,5],xmm4[6,7]
+; SSE-NEXT: pmuludq %xmm2, %xmm0
+; SSE-NEXT: retq
+;
+; AVX-LABEL: combine_shuffle_zero_pmuludq_256:
+; AVX: # BB#0:
+; AVX-NEXT: vpxor %ymm2, %ymm2, %ymm2
+; AVX-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[2],ymm2[3],ymm0[4],ymm2[5],ymm0[6],ymm2[7]
+; AVX-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0],ymm2[1],ymm1[2],ymm2[3],ymm1[4],ymm2[5],ymm1[6],ymm2[7]
+; AVX-NEXT: vpmuludq %ymm1, %ymm0, %ymm0
+; AVX-NEXT: retq
+ %1 = shufflevector <8 x i32> %a0, <8 x i32> zeroinitializer, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
+ %2 = shufflevector <8 x i32> %a1, <8 x i32> zeroinitializer, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
+ %3 = bitcast <8 x i32> %1 to <4 x i64>
+ %4 = bitcast <8 x i32> %2 to <4 x i64>
+ %5 = mul <4 x i64> %3, %4
+ ret <4 x i64> %5
+}
diff --git a/test/CodeGen/X86/constructor.ll b/test/CodeGen/X86/constructor.ll
index 2f3c343afac0..be12c016cce5 100644
--- a/test/CodeGen/X86/constructor.ll
+++ b/test/CodeGen/X86/constructor.ll
@@ -1,7 +1,9 @@
; RUN: llc -mtriple x86_64-pc-linux -use-ctors < %s | FileCheck --check-prefix=CTOR %s
; RUN: llc -mtriple x86_64-unknown-freebsd -use-ctors < %s | FileCheck --check-prefix=CTOR %s
+; RUN: llc -mtriple x86_64-pc-solaris2.11 -use-ctors < %s | FileCheck --check-prefix=CTOR %s
; RUN: llc -mtriple x86_64-pc-linux < %s | FileCheck --check-prefix=INIT-ARRAY %s
; RUN: llc -mtriple x86_64-unknown-freebsd < %s | FileCheck --check-prefix=INIT-ARRAY %s
+; RUN: llc -mtriple x86_64-pc-solaris2.11 < %s | FileCheck --check-prefix=INIT-ARRAY %s
; RUN: llc -mtriple x86_64-unknown-nacl < %s | FileCheck --check-prefix=NACL %s
; RUN: llc -mtriple i586-intel-elfiamcu -use-ctors < %s | FileCheck %s --check-prefix=MCU-CTORS
; RUN: llc -mtriple i586-intel-elfiamcu < %s | FileCheck %s --check-prefix=MCU-INIT-ARRAY
diff --git a/test/CodeGen/X86/extract-store.ll b/test/CodeGen/X86/extract-store.ll
index 5286a1b635d1..48cb8d70b974 100644
--- a/test/CodeGen/X86/extract-store.ll
+++ b/test/CodeGen/X86/extract-store.ll
@@ -5,10 +5,8 @@
; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X64 --check-prefix=SSE-X64 --check-prefix=SSE41-X64
; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx | FileCheck %s --check-prefix=X32 --check-prefix=AVX-X32
; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx | FileCheck %s --check-prefix=X64 --check-prefix=AVX-X64
-; RUN: llc < %s -O2 -mtriple=x86_64-linux-android -mattr=+mmx -enable-legalize-types-checking \
-; RUN: | FileCheck %s --check-prefix=X64 --check-prefix=SSE-X64 --check-prefix=SSE-F128
-; RUN: llc < %s -O2 -mtriple=x86_64-linux-gnu -mattr=+mmx -enable-legalize-types-checking \
-; RUN: | FileCheck %s --check-prefix=X64 --check-prefix=SSE-X64 --check-prefix=SSE-F128
+; RUN: llc < %s -O2 -mtriple=x86_64-linux-android -mattr=+mmx -enable-legalize-types-checking | FileCheck %s --check-prefix=X64 --check-prefix=SSE-X64 --check-prefix=SSE-F128
+; RUN: llc < %s -O2 -mtriple=x86_64-linux-gnu -mattr=+mmx -enable-legalize-types-checking | FileCheck %s --check-prefix=X64 --check-prefix=SSE-X64 --check-prefix=SSE-F128
define void @extract_i8_0(i8* nocapture %dst, <16 x i8> %foo) nounwind {
; SSE2-X32-LABEL: extract_i8_0:
@@ -45,6 +43,12 @@ define void @extract_i8_0(i8* nocapture %dst, <16 x i8> %foo) nounwind {
; AVX-X64: # BB#0:
; AVX-X64-NEXT: vpextrb $0, %xmm0, (%rdi)
; AVX-X64-NEXT: retq
+;
+; SSE-F128-LABEL: extract_i8_0:
+; SSE-F128: # BB#0:
+; SSE-F128-NEXT: movd %xmm0, %eax
+; SSE-F128-NEXT: movb %al, (%rdi)
+; SSE-F128-NEXT: retq
%vecext = extractelement <16 x i8> %foo, i32 0
store i8 %vecext, i8* %dst, align 1
ret void
@@ -87,6 +91,13 @@ define void @extract_i8_3(i8* nocapture %dst, <16 x i8> %foo) nounwind {
; AVX-X64: # BB#0:
; AVX-X64-NEXT: vpextrb $3, %xmm0, (%rdi)
; AVX-X64-NEXT: retq
+;
+; SSE-F128-LABEL: extract_i8_3:
+; SSE-F128: # BB#0:
+; SSE-F128-NEXT: movd %xmm0, %eax
+; SSE-F128-NEXT: shrl $24, %eax
+; SSE-F128-NEXT: movb %al, (%rdi)
+; SSE-F128-NEXT: retq
%vecext = extractelement <16 x i8> %foo, i32 3
store i8 %vecext, i8* %dst, align 1
ret void
@@ -127,6 +138,12 @@ define void @extract_i8_15(i8* nocapture %dst, <16 x i8> %foo) nounwind {
; AVX-X64: # BB#0:
; AVX-X64-NEXT: vpextrb $15, %xmm0, (%rdi)
; AVX-X64-NEXT: retq
+;
+; SSE-F128-LABEL: extract_i8_15:
+; SSE-F128: # BB#0:
+; SSE-F128-NEXT: pextrw $7, %xmm0, %eax
+; SSE-F128-NEXT: movb %ah, (%rdi) # NOREX
+; SSE-F128-NEXT: retq
%vecext = extractelement <16 x i8> %foo, i32 15
store i8 %vecext, i8* %dst, align 1
ret void
@@ -167,6 +184,12 @@ define void @extract_i16_0(i16* nocapture %dst, <8 x i16> %foo) nounwind {
; AVX-X64: # BB#0:
; AVX-X64-NEXT: vpextrw $0, %xmm0, (%rdi)
; AVX-X64-NEXT: retq
+;
+; SSE-F128-LABEL: extract_i16_0:
+; SSE-F128: # BB#0:
+; SSE-F128-NEXT: movd %xmm0, %eax
+; SSE-F128-NEXT: movw %ax, (%rdi)
+; SSE-F128-NEXT: retq
%vecext = extractelement <8 x i16> %foo, i32 0
store i16 %vecext, i16* %dst, align 1
ret void
@@ -207,6 +230,12 @@ define void @extract_i16_7(i16* nocapture %dst, <8 x i16> %foo) nounwind {
; AVX-X64: # BB#0:
; AVX-X64-NEXT: vpextrw $7, %xmm0, (%rdi)
; AVX-X64-NEXT: retq
+;
+; SSE-F128-LABEL: extract_i16_7:
+; SSE-F128: # BB#0:
+; SSE-F128-NEXT: pextrw $7, %xmm0, %eax
+; SSE-F128-NEXT: movw %ax, (%rdi)
+; SSE-F128-NEXT: retq
%vecext = extractelement <8 x i16> %foo, i32 7
store i16 %vecext, i16* %dst, align 1
ret void
@@ -274,6 +303,12 @@ define void @extract_i32_3(i32* nocapture %dst, <4 x i32> %foo) nounwind {
; AVX-X64: # BB#0:
; AVX-X64-NEXT: vpextrd $3, %xmm0, (%rdi)
; AVX-X64-NEXT: retq
+;
+; SSE-F128-LABEL: extract_i32_3:
+; SSE-F128: # BB#0:
+; SSE-F128-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,2,3]
+; SSE-F128-NEXT: movd %xmm0, (%rdi)
+; SSE-F128-NEXT: retq
%vecext = extractelement <4 x i32> %foo, i32 3
store i32 %vecext, i32* %dst, align 1
ret void
@@ -336,6 +371,12 @@ define void @extract_i64_1(i64* nocapture %dst, <2 x i64> %foo) nounwind {
; AVX-X64: # BB#0:
; AVX-X64-NEXT: vpextrq $1, %xmm0, (%rdi)
; AVX-X64-NEXT: retq
+;
+; SSE-F128-LABEL: extract_i64_1:
+; SSE-F128: # BB#0:
+; SSE-F128-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
+; SSE-F128-NEXT: movq %xmm0, (%rdi)
+; SSE-F128-NEXT: retq
%vecext = extractelement <2 x i64> %foo, i32 1
store i64 %vecext, i64* %dst, align 1
ret void
@@ -403,6 +444,12 @@ define void @extract_f32_3(float* nocapture %dst, <4 x float> %foo) nounwind {
; AVX-X64: # BB#0:
; AVX-X64-NEXT: vextractps $3, %xmm0, (%rdi)
; AVX-X64-NEXT: retq
+;
+; SSE-F128-LABEL: extract_f32_3:
+; SSE-F128: # BB#0:
+; SSE-F128-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,1,2,3]
+; SSE-F128-NEXT: movss %xmm0, (%rdi)
+; SSE-F128-NEXT: retq
%vecext = extractelement <4 x float> %foo, i32 3
store float %vecext, float* %dst, align 1
ret void
@@ -463,9 +510,44 @@ define void @extract_f64_1(double* nocapture %dst, <2 x double> %foo) nounwind {
}
define void @extract_f128_0(fp128* nocapture %dst, <2 x fp128> %foo) nounwind {
+; X32-LABEL: extract_f128_0:
+; X32: # BB#0:
+; X32-NEXT: pushl %edi
+; X32-NEXT: pushl %esi
+; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
+; X32-NEXT: movl {{[0-9]+}}(%esp), %esi
+; X32-NEXT: movl {{[0-9]+}}(%esp), %edi
+; X32-NEXT: movl %esi, 12(%edi)
+; X32-NEXT: movl %edx, 8(%edi)
+; X32-NEXT: movl %ecx, 4(%edi)
+; X32-NEXT: movl %eax, (%edi)
+; X32-NEXT: popl %esi
+; X32-NEXT: popl %edi
+; X32-NEXT: retl
+;
+; SSE2-X64-LABEL: extract_f128_0:
+; SSE2-X64: # BB#0:
+; SSE2-X64-NEXT: movq %rdx, 8(%rdi)
+; SSE2-X64-NEXT: movq %rsi, (%rdi)
+; SSE2-X64-NEXT: retq
+;
+; SSE41-X64-LABEL: extract_f128_0:
+; SSE41-X64: # BB#0:
+; SSE41-X64-NEXT: movq %rdx, 8(%rdi)
+; SSE41-X64-NEXT: movq %rsi, (%rdi)
+; SSE41-X64-NEXT: retq
+;
+; AVX-X64-LABEL: extract_f128_0:
+; AVX-X64: # BB#0:
+; AVX-X64-NEXT: movq %rdx, 8(%rdi)
+; AVX-X64-NEXT: movq %rsi, (%rdi)
+; AVX-X64-NEXT: retq
+;
; SSE-F128-LABEL: extract_f128_0:
; SSE-F128: # BB#0:
-; SSE-F128-NEXT: movaps %xmm0, (%rdi)
+; SSE-F128-NEXT: movaps %xmm0, (%rdi)
; SSE-F128-NEXT: retq
%vecext = extractelement <2 x fp128> %foo, i32 0
store fp128 %vecext, fp128* %dst, align 1
@@ -473,9 +555,44 @@ define void @extract_f128_0(fp128* nocapture %dst, <2 x fp128> %foo) nounwind {
}
define void @extract_f128_1(fp128* nocapture %dst, <2 x fp128> %foo) nounwind {
+; X32-LABEL: extract_f128_1:
+; X32: # BB#0:
+; X32-NEXT: pushl %edi
+; X32-NEXT: pushl %esi
+; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X32-NEXT: movl {{[0-9]+}}(%esp), %edx
+; X32-NEXT: movl {{[0-9]+}}(%esp), %esi
+; X32-NEXT: movl {{[0-9]+}}(%esp), %edi
+; X32-NEXT: movl %esi, 12(%edi)
+; X32-NEXT: movl %edx, 8(%edi)
+; X32-NEXT: movl %ecx, 4(%edi)
+; X32-NEXT: movl %eax, (%edi)
+; X32-NEXT: popl %esi
+; X32-NEXT: popl %edi
+; X32-NEXT: retl
+;
+; SSE2-X64-LABEL: extract_f128_1:
+; SSE2-X64: # BB#0:
+; SSE2-X64-NEXT: movq %r8, 8(%rdi)
+; SSE2-X64-NEXT: movq %rcx, (%rdi)
+; SSE2-X64-NEXT: retq
+;
+; SSE41-X64-LABEL: extract_f128_1:
+; SSE41-X64: # BB#0:
+; SSE41-X64-NEXT: movq %r8, 8(%rdi)
+; SSE41-X64-NEXT: movq %rcx, (%rdi)
+; SSE41-X64-NEXT: retq
+;
+; AVX-X64-LABEL: extract_f128_1:
+; AVX-X64: # BB#0:
+; AVX-X64-NEXT: movq %r8, 8(%rdi)
+; AVX-X64-NEXT: movq %rcx, (%rdi)
+; AVX-X64-NEXT: retq
+;
; SSE-F128-LABEL: extract_f128_1:
; SSE-F128: # BB#0:
-; SSE-F128-NEXT: movaps %xmm1, (%rdi)
+; SSE-F128-NEXT: movaps %xmm1, (%rdi)
; SSE-F128-NEXT: retq
%vecext = extractelement <2 x fp128> %foo, i32 1
store fp128 %vecext, fp128* %dst, align 1
diff --git a/test/CodeGen/X86/full-lsr.ll b/test/CodeGen/X86/full-lsr.ll
index 068480873c23..85b2b41fa191 100644
--- a/test/CodeGen/X86/full-lsr.ll
+++ b/test/CodeGen/X86/full-lsr.ll
@@ -1,10 +1,16 @@
; RUN: llc < %s -march=x86 -mcpu=generic | FileCheck %s
-; RUN: llc < %s -march=x86 -mcpu=atom | FileCheck %s
+; RUN: llc < %s -march=x86 -mcpu=atom | FileCheck -check-prefix=ATOM %s
define void @foo(float* nocapture %A, float* nocapture %B, float* nocapture %C, i32 %N) nounwind {
+; ATOM: foo
+; ATOM: addl
+; ATOM: addl
+; ATOM: leal
; CHECK: foo
-; CHECK: incl
+; CHECK: addl
+; CHECK: addl
+; CHECK: addl
entry:
%0 = icmp sgt i32 %N, 0 ; <i1> [#uses=1]
diff --git a/test/CodeGen/X86/hoist-spill.ll b/test/CodeGen/X86/hoist-spill.ll
index 03f558fc3ae2..afabf96b12a3 100644
--- a/test/CodeGen/X86/hoist-spill.ll
+++ b/test/CodeGen/X86/hoist-spill.ll
@@ -3,8 +3,10 @@
; Check no spills to the same stack slot after hoisting.
; CHECK: mov{{.}} %{{.*}}, [[SPOFFSET1:-?[0-9]*]](%rsp)
; CHECK: mov{{.}} %{{.*}}, [[SPOFFSET2:-?[0-9]*]](%rsp)
+; CHECK: mov{{.}} %{{.*}}, [[SPOFFSET3:-?[0-9]*]](%rsp)
; CHECK-NOT: mov{{.}} %{{.*}}, [[SPOFFSET1]](%rsp)
; CHECK-NOT: mov{{.}} %{{.*}}, [[SPOFFSET2]](%rsp)
+; CHECK-NOT: mov{{.}} %{{.*}}, [[SPOFFSET3]](%rsp)
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/CodeGen/X86/implicit-null-checks.mir b/test/CodeGen/X86/implicit-null-checks.mir
index b05c4467d309..6efc965a6947 100644
--- a/test/CodeGen/X86/implicit-null-checks.mir
+++ b/test/CodeGen/X86/implicit-null-checks.mir
@@ -544,7 +544,7 @@ liveins:
- { reg: '%rsi' }
# CHECK: bb.0.entry:
# CHECK: %rbx = MOV64rr %rdx
-# CHECK-NEXT: %rdi = FAULTING_OP 1, %bb.3.is_null, {{[0-9]+}}, %rbx, %rdi, 1, _, 0, _, implicit-def %eflags :: (load 4 from %ir.x)
+# CHECK-NEXT: %rbx = FAULTING_OP 1, %bb.3.is_null, {{[0-9]+}}, %rbx, %rdi, 1, _, 0, _, implicit-def %eflags :: (load 4 from %ir.x)
body: |
bb.0.entry:
@@ -557,9 +557,9 @@ body: |
liveins: %rsi, %rdi, %rdx
%rbx = MOV64rr %rdx
- %rdi = AND64rm killed %rbx, killed %rdi, 1, _, 0, _, implicit-def dead %eflags :: (load 4 from %ir.x)
+ %rbx = AND64rm killed %rbx, killed %rdi, 1, _, 0, _, implicit-def dead %eflags :: (load 4 from %ir.x)
%rdx = MOV64ri 0
- CMP64rr killed %rdi, killed %rsi, implicit-def %eflags
+ CMP64rr killed %rbx, killed %rsi, implicit-def %eflags
JE_1 %bb.4.ret_100, implicit %eflags
bb.2.ret_200:
diff --git a/test/CodeGen/X86/insertelement-zero.ll b/test/CodeGen/X86/insertelement-zero.ll
index ea780a2fa68c..e30772b528bc 100644
--- a/test/CodeGen/X86/insertelement-zero.ll
+++ b/test/CodeGen/X86/insertelement-zero.ll
@@ -373,8 +373,8 @@ define <8 x i16> @insert_v8i16_z12345z7(<8 x i16> %a) {
ret <8 x i16> %2
}
-define <16 x i16> @insert_v16i16_z12345z789ABZDEz(<16 x i16> %a) {
-; SSE2-LABEL: insert_v16i16_z12345z789ABZDEz:
+define <16 x i16> @insert_v16i16_z12345z789ABCDEz(<16 x i16> %a) {
+; SSE2-LABEL: insert_v16i16_z12345z789ABCDEz:
; SSE2: # BB#0:
; SSE2-NEXT: xorl %eax, %eax
; SSE2-NEXT: pinsrw $0, %eax, %xmm0
@@ -382,7 +382,7 @@ define <16 x i16> @insert_v16i16_z12345z789ABZDEz(<16 x i16> %a) {
; SSE2-NEXT: pinsrw $7, %eax, %xmm1
; SSE2-NEXT: retq
;
-; SSE3-LABEL: insert_v16i16_z12345z789ABZDEz:
+; SSE3-LABEL: insert_v16i16_z12345z789ABCDEz:
; SSE3: # BB#0:
; SSE3-NEXT: xorl %eax, %eax
; SSE3-NEXT: pinsrw $0, %eax, %xmm0
@@ -390,7 +390,7 @@ define <16 x i16> @insert_v16i16_z12345z789ABZDEz(<16 x i16> %a) {
; SSE3-NEXT: pinsrw $7, %eax, %xmm1
; SSE3-NEXT: retq
;
-; SSSE3-LABEL: insert_v16i16_z12345z789ABZDEz:
+; SSSE3-LABEL: insert_v16i16_z12345z789ABCDEz:
; SSSE3: # BB#0:
; SSSE3-NEXT: xorl %eax, %eax
; SSSE3-NEXT: pinsrw $0, %eax, %xmm0
@@ -398,32 +398,17 @@ define <16 x i16> @insert_v16i16_z12345z789ABZDEz(<16 x i16> %a) {
; SSSE3-NEXT: pinsrw $7, %eax, %xmm1
; SSSE3-NEXT: retq
;
-; SSE41-LABEL: insert_v16i16_z12345z789ABZDEz:
+; SSE41-LABEL: insert_v16i16_z12345z789ABCDEz:
; SSE41: # BB#0:
; SSE41-NEXT: pxor %xmm2, %xmm2
; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3,4,5],xmm2[6],xmm0[7]
; SSE41-NEXT: pblendw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,5,6],xmm2[7]
; SSE41-NEXT: retq
;
-; AVX1-LABEL: insert_v16i16_z12345z789ABZDEz:
-; AVX1: # BB#0:
-; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
-; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm1[0],xmm0[1,2,3,4,5],xmm1[6],xmm0[7]
-; AVX1-NEXT: vblendps {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5,6,7]
-; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
-; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6],xmm1[7]
-; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm0
-; AVX1-NEXT: retq
-;
-; AVX2-LABEL: insert_v16i16_z12345z789ABZDEz:
-; AVX2: # BB#0:
-; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
-; AVX2-NEXT: vpblendw {{.*#+}} xmm2 = xmm1[0],xmm0[1,2,3,4,5],xmm1[6],xmm0[7]
-; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3],ymm0[4,5,6,7]
-; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm0
-; AVX2-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6],xmm1[7]
-; AVX2-NEXT: vinserti128 $1, %xmm0, %ymm2, %ymm0
-; AVX2-NEXT: retq
+; AVX-LABEL: insert_v16i16_z12345z789ABCDEz:
+; AVX: # BB#0:
+; AVX-NEXT: vandps {{.*}}(%rip), %ymm0, %ymm0
+; AVX-NEXT: retq
%1 = insertelement <16 x i16> %a, i16 0, i32 0
%2 = insertelement <16 x i16> %1, i16 0, i32 6
%3 = insertelement <16 x i16> %2, i16 0, i32 15
diff --git a/test/CodeGen/X86/insertps-combine.ll b/test/CodeGen/X86/insertps-combine.ll
index e801334ec710..044ad0721539 100644
--- a/test/CodeGen/X86/insertps-combine.ll
+++ b/test/CodeGen/X86/insertps-combine.ll
@@ -1,7 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
define <4 x float> @shuffle_v4f32_0z27(<4 x float> %x, <4 x float> %a) {
; SSE-LABEL: shuffle_v4f32_0z27:
diff --git a/test/CodeGen/X86/jump_sign.ll b/test/CodeGen/X86/jump_sign.ll
index 5d6baad7068d..c767e06948f7 100644
--- a/test/CodeGen/X86/jump_sign.ll
+++ b/test/CodeGen/X86/jump_sign.ll
@@ -1,33 +1,43 @@
-; RUN: llc < %s -march=x86 -mcpu=pentiumpro -verify-machineinstrs | FileCheck %s
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=cmov -verify-machineinstrs | FileCheck %s
define i32 @func_f(i32 %X) {
-entry:
; CHECK-LABEL: func_f:
-; CHECK: jns
- %tmp1 = add i32 %X, 1 ; <i32> [#uses=1]
- %tmp = icmp slt i32 %tmp1, 0 ; <i1> [#uses=1]
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: incl %eax
+; CHECK-NEXT: jns .LBB0_2
+; CHECK-NEXT: # BB#1: # %cond_true
+; CHECK-NEXT: calll bar
+; CHECK-NEXT: .LBB0_2: # %cond_next
+; CHECK-NEXT: jmp baz # TAILCALL
+entry:
+ %tmp1 = add i32 %X, 1
+ %tmp = icmp slt i32 %tmp1, 0
br i1 %tmp, label %cond_true, label %cond_next, !prof !1
cond_true: ; preds = %entry
- %tmp2 = tail call i32 (...) @bar( ) ; <i32> [#uses=0]
+ %tmp2 = tail call i32 (...) @bar( )
br label %cond_next
cond_next: ; preds = %cond_true, %entry
- %tmp3 = tail call i32 (...) @baz( ) ; <i32> [#uses=0]
+ %tmp3 = tail call i32 (...) @baz( )
ret i32 undef
}
declare i32 @bar(...)
-
declare i32 @baz(...)
; rdar://10633221
; rdar://11355268
define i32 @func_g(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_g:
-; CHECK-NOT: test
-; CHECK: cmovs
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: xorl %ecx, %ecx
+; CHECK-NEXT: subl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: cmovsl %ecx, %eax
+; CHECK-NEXT: retl
%sub = sub nsw i32 %a, %b
%cmp = icmp sgt i32 %sub, 0
%cond = select i1 %cmp, i32 %sub, i32 0
@@ -36,78 +46,110 @@ entry:
; rdar://10734411
define i32 @func_h(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_h:
-; CHECK-NOT: cmp
-; CHECK: cmov
-; CHECK-NOT: movl
-; CHECK: ret
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: xorl %edx, %edx
+; CHECK-NEXT: subl %ecx, %eax
+; CHECK-NEXT: cmovlel %edx, %eax
+; CHECK-NEXT: retl
%cmp = icmp slt i32 %b, %a
%sub = sub nsw i32 %a, %b
%cond = select i1 %cmp, i32 %sub, i32 0
ret i32 %cond
}
+
define i32 @func_i(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_i:
-; CHECK-NOT: cmp
-; CHECK: cmov
-; CHECK-NOT: movl
-; CHECK: ret
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: xorl %ecx, %ecx
+; CHECK-NEXT: subl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: cmovlel %ecx, %eax
+; CHECK-NEXT: retl
%cmp = icmp sgt i32 %a, %b
%sub = sub nsw i32 %a, %b
%cond = select i1 %cmp, i32 %sub, i32 0
ret i32 %cond
}
+
define i32 @func_j(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_j:
-; CHECK-NOT: cmp
-; CHECK: cmov
-; CHECK-NOT: movl
-; CHECK: ret
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: xorl %ecx, %ecx
+; CHECK-NEXT: subl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: cmovbel %ecx, %eax
+; CHECK-NEXT: retl
%cmp = icmp ugt i32 %a, %b
%sub = sub i32 %a, %b
%cond = select i1 %cmp, i32 %sub, i32 0
ret i32 %cond
}
+
define i32 @func_k(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_k:
-; CHECK-NOT: cmp
-; CHECK: cmov
-; CHECK-NOT: movl
-; CHECK: ret
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: xorl %edx, %edx
+; CHECK-NEXT: subl %ecx, %eax
+; CHECK-NEXT: cmovbel %edx, %eax
+; CHECK-NEXT: retl
%cmp = icmp ult i32 %b, %a
%sub = sub i32 %a, %b
%cond = select i1 %cmp, i32 %sub, i32 0
ret i32 %cond
}
+
; redundant cmp instruction
define i32 @func_l(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_l:
-; CHECK-NOT: cmp
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
+; CHECK-NEXT: movl %edx, %eax
+; CHECK-NEXT: subl %ecx, %eax
+; CHECK-NEXT: cmovlel %edx, %eax
+; CHECK-NEXT: retl
%cmp = icmp slt i32 %b, %a
%sub = sub nsw i32 %a, %b
%cond = select i1 %cmp, i32 %sub, i32 %a
ret i32 %cond
}
+
define i32 @func_m(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_m:
-; CHECK-NOT: cmp
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: subl %ecx, %eax
+; CHECK-NEXT: cmovgl %ecx, %eax
+; CHECK-NEXT: retl
%cmp = icmp sgt i32 %a, %b
%sub = sub nsw i32 %a, %b
%cond = select i1 %cmp, i32 %b, i32 %sub
ret i32 %cond
}
+
; If EFLAGS is live-out, we can't remove cmp if there exists
; a swapped sub.
define i32 @func_l2(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_l2:
-; CHECK: cmp
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: movl %eax, %ecx
+; CHECK-NEXT: subl %edx, %ecx
+; CHECK-NEXT: cmpl %eax, %edx
+; CHECK-NEXT: jne .LBB8_2
+; CHECK-NEXT: # BB#1: # %if.then
+; CHECK-NEXT: cmovgl %ecx, %eax
+; CHECK-NEXT: retl
+; CHECK-NEXT: .LBB8_2: # %if.else
+; CHECK-NEXT: movl %ecx, %eax
+; CHECK-NEXT: retl
%cmp = icmp eq i32 %b, %a
%sub = sub nsw i32 %a, %b
br i1 %cmp, label %if.then, label %if.else
@@ -120,12 +162,19 @@ if.then:
if.else:
ret i32 %sub
}
+
define i32 @func_l3(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_l3:
-; CHECK: sub
-; CHECK-NOT: cmp
-; CHECK: jge
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: subl %ecx, %eax
+; CHECK-NEXT: jge .LBB9_2
+; CHECK-NEXT: # BB#1: # %if.then
+; CHECK-NEXT: retl
+; CHECK-NEXT: .LBB9_2: # %if.else
+; CHECK-NEXT: incl %eax
+; CHECK-NEXT: retl
%cmp = icmp sgt i32 %b, %a
%sub = sub nsw i32 %a, %b
br i1 %cmp, label %if.then, label %if.else
@@ -137,32 +186,77 @@ if.else:
%add = add nsw i32 %sub, 1
ret i32 %add
}
+
; rdar://11830760
; When Movr0 is between sub and cmp, we need to move "Movr0" before sub.
define i32 @func_l4(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_l4:
-; CHECK: xor
-; CHECK: sub
-; CHECK-NOT: cmp
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: xorl %edx, %edx
+; CHECK-NEXT: subl %ecx, %eax
+; CHECK-NEXT: cmovll %edx, %eax
+; CHECK-NEXT: retl
%cmp = icmp sgt i32 %b, %a
%sub = sub i32 %a, %b
%.sub = select i1 %cmp, i32 0, i32 %sub
ret i32 %.sub
}
+
; rdar://11540023
define i32 @func_n(i32 %x, i32 %y) nounwind {
-entry:
; CHECK-LABEL: func_n:
-; CHECK-NOT: sub
-; CHECK: cmp
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: cmpl %ecx, %eax
+; CHECK-NEXT: cmovsl %ecx, %eax
+; CHECK-NEXT: retl
%sub = sub nsw i32 %x, %y
%cmp = icmp slt i32 %sub, 0
%y.x = select i1 %cmp, i32 %y, i32 %x
ret i32 %y.x
}
+
; PR://13046
define void @func_o() nounwind uwtable {
+; CHECK-LABEL: func_o:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: testb %al, %al
+; CHECK-NEXT: je .LBB12_1
+; CHECK-NEXT: # BB#2: # %if.end.i
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: testb %al, %al
+; CHECK-NEXT: jne .LBB12_5
+; CHECK-NEXT: # BB#3: # %sw.bb
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: testb %al, %al
+; CHECK-NEXT: jne .LBB12_8
+; CHECK-NEXT: # BB#4: # %if.end29
+; CHECK-NEXT: movzwl (%eax), %eax
+; CHECK-NEXT: movzwl %ax, %eax
+; CHECK-NEXT: imull $52429, %eax, %ecx # imm = 0xCCCD
+; CHECK-NEXT: shrl $19, %ecx
+; CHECK-NEXT: addl %ecx, %ecx
+; CHECK-NEXT: leal (%ecx,%ecx,4), %ecx
+; CHECK-NEXT: cmpw %cx, %ax
+; CHECK-NEXT: jne .LBB12_5
+; CHECK-NEXT: .LBB12_8: # %if.then44
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: testb %al, %al
+; CHECK-NEXT: je .LBB12_9
+; CHECK-NEXT: # BB#10: # %if.else.i104
+; CHECK-NEXT: retl
+; CHECK-NEXT: .LBB12_5: # %sw.default
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: testb %al, %al
+; CHECK-NEXT: jne .LBB12_7
+; CHECK-NEXT: # BB#6: # %if.then.i96
+; CHECK-NEXT: .LBB12_1: # %if.then.i
+; CHECK-NEXT: .LBB12_9: # %if.then.i103
+; CHECK-NEXT: .LBB12_7: # %if.else.i97
entry:
%0 = load i16, i16* undef, align 2
br i1 undef, label %if.then.i, label %if.end.i
@@ -177,8 +271,6 @@ sw.bb: ; preds = %if.end.i
br i1 undef, label %if.then44, label %if.end29
if.end29: ; preds = %sw.bb
-; CHECK-LABEL: func_o:
-; CHECK: cmp
%1 = urem i16 %0, 10
%cmp25 = icmp eq i16 %1, 0
%. = select i1 %cmp25, i16 2, i16 0
@@ -203,39 +295,59 @@ if.then.i103: ; preds = %if.then44
if.else.i104: ; preds = %if.then44
ret void
}
+
; rdar://11855129
define i32 @func_p(i32 %a, i32 %b) nounwind {
-entry:
; CHECK-LABEL: func_p:
-; CHECK-NOT: test
-; CHECK: cmovs
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: xorl %ecx, %ecx
+; CHECK-NEXT: addl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: cmovsl %ecx, %eax
+; CHECK-NEXT: retl
%add = add nsw i32 %b, %a
%cmp = icmp sgt i32 %add, 0
%add. = select i1 %cmp, i32 %add, i32 0
ret i32 %add.
}
+
; PR13475
; If we have sub a, b and cmp b, a and the result of cmp is used
; by sbb, we should not optimize cmp away.
define i32 @func_q(i32 %a0, i32 %a1, i32 %a2) {
; CHECK-LABEL: func_q:
-; CHECK: cmp
-; CHECK-NEXT: sbb
- %1 = icmp ult i32 %a0, %a1
- %2 = sub i32 %a1, %a0
- %3 = select i1 %1, i32 -1, i32 0
- %4 = xor i32 %2, %3
- ret i32 %4
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl %ecx, %edx
+; CHECK-NEXT: subl %eax, %edx
+; CHECK-NEXT: cmpl %ecx, %eax
+; CHECK-NEXT: sbbl %eax, %eax
+; CHECK-NEXT: xorl %edx, %eax
+; CHECK-NEXT: retl
+ %t1 = icmp ult i32 %a0, %a1
+ %t2 = sub i32 %a1, %a0
+ %t3 = select i1 %t1, i32 -1, i32 0
+ %t4 = xor i32 %t2, %t3
+ ret i32 %t4
}
+
; rdar://11873276
define i8* @func_r(i8* %base, i32* nocapture %offset, i32 %size) nounwind {
-entry:
; CHECK-LABEL: func_r:
-; CHECK: sub
-; CHECK-NOT: cmp
-; CHECK: j
-; CHECK-NOT: sub
-; CHECK: ret
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
+; CHECK-NEXT: movl (%edx), %ecx
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: subl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: jl .LBB15_2
+; CHECK-NEXT: # BB#1: # %if.end
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: movl %ecx, (%edx)
+; CHECK-NEXT: addl %ecx, %eax
+; CHECK-NEXT: .LBB15_2: # %return
+; CHECK-NEXT: retl
+entry:
%0 = load i32, i32* %offset, align 8
%cmp = icmp slt i32 %0, %size
br i1 %cmp, label %return, label %if.end
@@ -253,11 +365,13 @@ return:
; Test optimizations of dec/inc.
define i32 @func_dec(i32 %a) nounwind {
-entry:
; CHECK-LABEL: func_dec:
-; CHECK: decl
-; CHECK-NOT: test
-; CHECK: cmovsl
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: xorl %ecx, %ecx
+; CHECK-NEXT: decl %eax
+; CHECK-NEXT: cmovsl %ecx, %eax
+; CHECK-NEXT: retl
%sub = sub nsw i32 %a, 1
%cmp = icmp sgt i32 %sub, 0
%cond = select i1 %cmp, i32 %sub, i32 0
@@ -265,11 +379,13 @@ entry:
}
define i32 @func_inc(i32 %a) nounwind {
-entry:
; CHECK-LABEL: func_inc:
-; CHECK: incl
-; CHECK-NOT: test
-; CHECK: cmovsl
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: xorl %ecx, %ecx
+; CHECK-NEXT: incl %eax
+; CHECK-NEXT: cmovsl %ecx, %eax
+; CHECK-NEXT: retl
%add = add nsw i32 %a, 1
%cmp = icmp sgt i32 %add, 0
%cond = select i1 %cmp, i32 %add, i32 0
@@ -280,23 +396,33 @@ entry:
@b = common global i32 0, align 4
@a = common global i32 0, align 4
define i32 @func_test1(i32 %p1) nounwind uwtable {
-entry:
; CHECK-LABEL: func_test1:
-; CHECK: andb
-; CHECK: j
-; CHECK: ret
- %0 = load i32, i32* @b, align 4
- %cmp = icmp ult i32 %0, %p1
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: movl b, %eax
+; CHECK-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: setb %cl
+; CHECK-NEXT: movl a, %eax
+; CHECK-NEXT: movl %eax, %edx
+; CHECK-NEXT: andb %cl, %dl
+; CHECK-NEXT: je .LBB18_2
+; CHECK-NEXT: # BB#1: # %if.then
+; CHECK-NEXT: decl %eax
+; CHECK-NEXT: movl %eax, a
+; CHECK-NEXT: .LBB18_2: # %if.end
+; CHECK-NEXT: retl
+entry:
+ %t0 = load i32, i32* @b, align 4
+ %cmp = icmp ult i32 %t0, %p1
%conv = zext i1 %cmp to i32
- %1 = load i32, i32* @a, align 4
- %and = and i32 %conv, %1
+ %t1 = load i32, i32* @a, align 4
+ %and = and i32 %conv, %t1
%conv1 = trunc i32 %and to i8
- %2 = urem i8 %conv1, 3
- %tobool = icmp eq i8 %2, 0
+ %t2 = urem i8 %conv1, 3
+ %tobool = icmp eq i8 %t2, 0
br i1 %tobool, label %if.end, label %if.then
if.then:
- %dec = add nsw i32 %1, -1
+ %dec = add nsw i32 %t1, -1
store i32 %dec, i32* @a, align 4
br label %if.end
@@ -305,3 +431,4 @@ if.end:
}
!1 = !{!"branch_weights", i32 2, i32 1}
+
diff --git a/test/CodeGen/X86/loop-strength-reduce4.ll b/test/CodeGen/X86/loop-strength-reduce4.ll
index 56f4161147b4..786534b00d39 100644
--- a/test/CodeGen/X86/loop-strength-reduce4.ll
+++ b/test/CodeGen/X86/loop-strength-reduce4.ll
@@ -4,19 +4,16 @@
; By starting the IV at -64 instead of 0, a cmp is eliminated,
; as the flags from the add can be used directly.
-; STATIC: movl $-64, [[EAX:%e..]]
+; STATIC: movl $-64, [[ECX:%e..]]
-; STATIC: movl %{{.+}}, _state+76([[EAX]])
-; STATIC: addl $16, [[EAX]]
+; STATIC: movl [[EAX:%e..]], _state+76([[ECX]])
+; STATIC: addl $16, [[ECX]]
; STATIC: jne
-; The same for PIC mode.
+; In PIC mode the symbol can't be folded, so the change-compare-stride
+; trick applies.
-; PIC: movl $-64, [[EAX:%e..]]
-
-; PIC: movl %{{.+}}, 76(%{{.+}},[[EAX]])
-; PIC: addl $16, [[EAX]]
-; PIC: jne
+; PIC: cmpl $64
@state = external global [0 x i32] ; <[0 x i32]*> [#uses=4]
@S = external global [0 x i32] ; <[0 x i32]*> [#uses=4]
diff --git a/test/CodeGen/X86/machine-cse.ll b/test/CodeGen/X86/machine-cse.ll
index 9853a7cde679..abf39c9a058d 100644
--- a/test/CodeGen/X86/machine-cse.ll
+++ b/test/CodeGen/X86/machine-cse.ll
@@ -1,4 +1,5 @@
-; RUN: llc -mtriple=x86_64-apple-macosx < %s | FileCheck %s
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -mtriple=x86_64-unknown-unknown < %s | FileCheck %s
; rdar://7610418
%ptr = type { i8* }
@@ -7,26 +8,30 @@
%struct.s3 = type { %struct.s3*, %struct.s3*, i32, i32, i32 }
define fastcc i8* @t(i32 %base) nounwind {
-entry:
; CHECK-LABEL: t:
-; CHECK: leaq (%rax,%rax,4)
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: pushq %rax
+; CHECK-NEXT: movl %edi, %eax
+; CHECK-NEXT: shlq $9, %rax
+; CHECK-NEXT: leaq (%rax,%rax,4), %rdi
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: testb %al, %al
+; CHECK-NEXT: jne .LBB0_2
+; CHECK-NEXT: # BB#1: # %bb1
+; CHECK-NEXT: callq bar
+; CHECK-NEXT: .LBB0_2: # %bb2
+; CHECK-NEXT: callq foo
+entry:
%0 = zext i32 %base to i64
%1 = getelementptr inbounds %struct.s2, %struct.s2* null, i64 %0
br i1 undef, label %bb1, label %bb2
bb1:
-; CHECK: %bb1
-; CHECK-NOT: shlq $9
-; CHECK-NOT: leaq
-; CHECK: call
%2 = getelementptr inbounds %struct.s2, %struct.s2* null, i64 %0, i32 0
call void @bar(i32* %2) nounwind
unreachable
bb2:
-; CHECK: %bb2
-; CHECK-NOT: leaq
-; CHECK: callq
%3 = call fastcc i8* @foo(%struct.s2* %1) nounwind
unreachable
@@ -44,6 +49,30 @@ declare void @printf(...) nounwind
define void @commute(i32 %test_case, i32 %scale) nounwind ssp {
; CHECK-LABEL: commute:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: # kill: %ESI<def> %ESI<kill> %RSI<def>
+; CHECK-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def>
+; CHECK-NEXT: leal -1(%rdi), %eax
+; CHECK-NEXT: cmpl $2, %eax
+; CHECK-NEXT: ja .LBB1_4
+; CHECK-NEXT: # BB#1: # %sw.bb
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: testb %al, %al
+; CHECK-NEXT: jne .LBB1_4
+; CHECK-NEXT: # BB#2: # %if.end34
+; CHECK-NEXT: pushq %rax
+; CHECK-NEXT: imull %edi, %esi
+; CHECK-NEXT: leal (%rsi,%rsi,2), %esi
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<kill>
+; CHECK-NEXT: callq printf
+; CHECK-NEXT: addq $8, %rsp
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB1_3: # %for.body53.us
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: jmp .LBB1_3
+; CHECK-NEXT: .LBB1_4: # %sw.bb307
+; CHECK-NEXT: retq
entry:
switch i32 %test_case, label %sw.bb307 [
i32 1, label %sw.bb
@@ -51,67 +80,78 @@ entry:
i32 3, label %sw.bb
]
-sw.bb: ; preds = %entry, %entry, %entry
-; CHECK: %sw.bb
-; CHECK-NOT: imull
+sw.bb:
%mul = mul nsw i32 %test_case, 3
%mul20 = mul nsw i32 %mul, %scale
br i1 undef, label %if.end34, label %sw.bb307
-if.end34: ; preds = %sw.bb
-; CHECK: %if.end34
-; CHECK: imull
-; CHECK: leal
+if.end34:
tail call void (...) @printf(i32 %test_case, i32 %mul20) nounwind
%tmp = mul i32 %scale, %test_case
%tmp752 = mul i32 %tmp, 3
%tmp753 = zext i32 %tmp752 to i64
br label %bb.nph743.us
-for.body53.us: ; preds = %bb.nph743.us, %for.body53.us
+for.body53.us:
%exitcond = icmp eq i64 undef, %tmp753
br i1 %exitcond, label %bb.nph743.us, label %for.body53.us
-bb.nph743.us: ; preds = %for.body53.us, %if.end34
+bb.nph743.us:
br label %for.body53.us
-sw.bb307: ; preds = %sw.bb, %entry
+sw.bb307:
ret void
}
; CSE physical register defining instruction across MBB boundary.
; rdar://10660865
define i32 @cross_mbb_phys_cse(i32 %a, i32 %b) nounwind ssp {
-entry:
; CHECK-LABEL: cross_mbb_phys_cse:
-; CHECK: cmpl
-; CHECK: ja
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: movl $1, %eax
+; CHECK-NEXT: cmpl %esi, %edi
+; CHECK-NEXT: ja .LBB2_2
+; CHECK-NEXT: # BB#1: # %if.end
+; CHECK-NEXT: sbbl %eax, %eax
+; CHECK-NEXT: .LBB2_2: # %return
+; CHECK-NEXT: retq
+entry:
%cmp = icmp ugt i32 %a, %b
br i1 %cmp, label %return, label %if.end
-if.end: ; preds = %entry
-; CHECK-NOT: cmpl
-; CHECK: sbbl
+if.end:
%cmp1 = icmp ult i32 %a, %b
%. = sext i1 %cmp1 to i32
br label %return
-return: ; preds = %if.end, %entry
+return:
%retval.0 = phi i32 [ 1, %entry ], [ %., %if.end ]
ret i32 %retval.0
}
; rdar://11393714
define i8* @bsd_memchr(i8* %s, i32 %a, i32 %c, i64 %n) nounwind ssp {
-; CHECK: %entry
-; CHECK-NOT: xorl
-; CHECK: %preheader
-; CHECK-NOT: xorl
-; CHECK: %do.body
-; CHECK-NOT: xorl
-; CHECK: %do.cond
-; CHECK: xorl
-; CHECK: %return
+; CHECK-LABEL: bsd_memchr:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: testq %rcx, %rcx
+; CHECK-NEXT: je .LBB3_4
+; CHECK-NEXT: # BB#1: # %preheader
+; CHECK-NEXT: movzbl %dl, %eax
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB3_2: # %do.body
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: cmpl %eax, %esi
+; CHECK-NEXT: je .LBB3_5
+; CHECK-NEXT: # BB#3: # %do.cond
+; CHECK-NEXT: # in Loop: Header=BB3_2 Depth=1
+; CHECK-NEXT: incq %rdi
+; CHECK-NEXT: decq %rcx
+; CHECK-NEXT: jne .LBB3_2
+; CHECK-NEXT: .LBB3_4:
+; CHECK-NEXT: xorl %edi, %edi
+; CHECK-NEXT: .LBB3_5: # %return
+; CHECK-NEXT: movq %rdi, %rax
+; CHECK-NEXT: retq
entry:
%cmp = icmp eq i64 %n, 0
br i1 %cmp, label %return, label %preheader
@@ -142,7 +182,22 @@ return:
declare i1 @t2_func()
-define i32 @t2() {
+define i32 @t2() nounwind {
+; CHECK-LABEL: t2:
+; CHECK: # BB#0:
+; CHECK-NEXT: pushq %rax
+; CHECK-NEXT: movl $42, {{.*}}(%rip)
+; CHECK-NEXT: callq t2_func
+; CHECK-NEXT: testb $1, %al
+; CHECK-NEXT: je .LBB4_2
+; CHECK-NEXT: # BB#1: # %a
+; CHECK-NEXT: movl {{.*}}(%rip), %eax
+; CHECK-NEXT: popq %rcx
+; CHECK-NEXT: retq
+; CHECK-NEXT: .LBB4_2: # %b
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: popq %rcx
+; CHECK-NEXT: retq
store i32 42, i32* @t2_global
%c = call i1 @t2_func()
br i1 %c, label %a, label %b
@@ -153,8 +208,5 @@ a:
b:
ret i32 0
-
-; CHECK-LABEL: t2:
-; CHECK: t2_global@GOTPCREL(%rip)
-; CHECK-NOT: t2_global@GOTPCREL(%rip)
}
+
diff --git a/test/CodeGen/X86/madd.ll b/test/CodeGen/X86/madd.ll
index 7c2bb822c967..af86df510016 100644
--- a/test/CodeGen/X86/madd.ll
+++ b/test/CodeGen/X86/madd.ll
@@ -9,17 +9,17 @@ define i32 @_Z10test_shortPsS_i(i16* nocapture readonly, i16* nocapture readonly
; SSE2: # BB#0: # %entry
; SSE2-NEXT: movl %edx, %eax
; SSE2-NEXT: pxor %xmm0, %xmm0
-; SSE2-NEXT: xorl %ecx, %ecx
; SSE2-NEXT: pxor %xmm1, %xmm1
; SSE2-NEXT: .p2align 4, 0x90
; SSE2-NEXT: .LBB0_1: # %vector.body
; SSE2-NEXT: # =>This Inner Loop Header: Depth=1
-; SSE2-NEXT: movdqu (%rdi,%rcx,2), %xmm2
-; SSE2-NEXT: movdqu (%rsi,%rcx,2), %xmm3
+; SSE2-NEXT: movdqu (%rdi), %xmm2
+; SSE2-NEXT: movdqu (%rsi), %xmm3
; SSE2-NEXT: pmaddwd %xmm2, %xmm3
; SSE2-NEXT: paddd %xmm3, %xmm1
-; SSE2-NEXT: addq $8, %rcx
-; SSE2-NEXT: cmpq %rcx, %rax
+; SSE2-NEXT: addq $16, %rsi
+; SSE2-NEXT: addq $16, %rdi
+; SSE2-NEXT: addq $-8, %rax
; SSE2-NEXT: jne .LBB0_1
; SSE2-NEXT: # BB#2: # %middle.block
; SSE2-NEXT: paddd %xmm0, %xmm1
@@ -34,17 +34,17 @@ define i32 @_Z10test_shortPsS_i(i16* nocapture readonly, i16* nocapture readonly
; AVX2: # BB#0: # %entry
; AVX2-NEXT: movl %edx, %eax
; AVX2-NEXT: vpxor %ymm0, %ymm0, %ymm0
-; AVX2-NEXT: xorl %ecx, %ecx
; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX2-NEXT: .p2align 4, 0x90
; AVX2-NEXT: .LBB0_1: # %vector.body
; AVX2-NEXT: # =>This Inner Loop Header: Depth=1
-; AVX2-NEXT: vmovdqu (%rsi,%rcx,2), %xmm2
-; AVX2-NEXT: vpmaddwd (%rdi,%rcx,2), %xmm2, %xmm2
+; AVX2-NEXT: vmovdqu (%rsi), %xmm2
+; AVX2-NEXT: vpmaddwd (%rdi), %xmm2, %xmm2
; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm2
; AVX2-NEXT: vpaddd %ymm0, %ymm2, %ymm0
-; AVX2-NEXT: addq $8, %rcx
-; AVX2-NEXT: cmpq %rcx, %rax
+; AVX2-NEXT: addq $16, %rsi
+; AVX2-NEXT: addq $16, %rdi
+; AVX2-NEXT: addq $-8, %rax
; AVX2-NEXT: jne .LBB0_1
; AVX2-NEXT: # BB#2: # %middle.block
; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
@@ -60,17 +60,17 @@ define i32 @_Z10test_shortPsS_i(i16* nocapture readonly, i16* nocapture readonly
; AVX512: # BB#0: # %entry
; AVX512-NEXT: movl %edx, %eax
; AVX512-NEXT: vpxor %ymm0, %ymm0, %ymm0
-; AVX512-NEXT: xorl %ecx, %ecx
; AVX512-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512-NEXT: .p2align 4, 0x90
; AVX512-NEXT: .LBB0_1: # %vector.body
; AVX512-NEXT: # =>This Inner Loop Header: Depth=1
-; AVX512-NEXT: vmovdqu (%rsi,%rcx,2), %xmm2
-; AVX512-NEXT: vpmaddwd (%rdi,%rcx,2), %xmm2, %xmm2
+; AVX512-NEXT: vmovdqu (%rsi), %xmm2
+; AVX512-NEXT: vpmaddwd (%rdi), %xmm2, %xmm2
; AVX512-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm2
; AVX512-NEXT: vpaddd %ymm0, %ymm2, %ymm0
-; AVX512-NEXT: addq $8, %rcx
-; AVX512-NEXT: cmpq %rcx, %rax
+; AVX512-NEXT: addq $16, %rsi
+; AVX512-NEXT: addq $16, %rdi
+; AVX512-NEXT: addq $-8, %rax
; AVX512-NEXT: jne .LBB0_1
; AVX512-NEXT: # BB#2: # %middle.block
; AVX512-NEXT: vextracti128 $1, %ymm0, %xmm1
@@ -118,13 +118,12 @@ define i32 @test_unsigned_short(i16* nocapture readonly, i16* nocapture readonly
; SSE2: # BB#0: # %entry
; SSE2-NEXT: movl %edx, %eax
; SSE2-NEXT: pxor %xmm0, %xmm0
-; SSE2-NEXT: xorl %ecx, %ecx
; SSE2-NEXT: pxor %xmm1, %xmm1
; SSE2-NEXT: .p2align 4, 0x90
; SSE2-NEXT: .LBB1_1: # %vector.body
; SSE2-NEXT: # =>This Inner Loop Header: Depth=1
-; SSE2-NEXT: movdqu (%rdi,%rcx,2), %xmm2
-; SSE2-NEXT: movdqu (%rsi,%rcx,2), %xmm3
+; SSE2-NEXT: movdqu (%rdi), %xmm2
+; SSE2-NEXT: movdqu (%rsi), %xmm3
; SSE2-NEXT: movdqa %xmm3, %xmm4
; SSE2-NEXT: pmulhuw %xmm2, %xmm4
; SSE2-NEXT: pmullw %xmm2, %xmm3
@@ -133,8 +132,9 @@ define i32 @test_unsigned_short(i16* nocapture readonly, i16* nocapture readonly
; SSE2-NEXT: paddd %xmm2, %xmm0
; SSE2-NEXT: punpckhwd {{.*#+}} xmm3 = xmm3[4],xmm4[4],xmm3[5],xmm4[5],xmm3[6],xmm4[6],xmm3[7],xmm4[7]
; SSE2-NEXT: paddd %xmm3, %xmm1
-; SSE2-NEXT: addq $8, %rcx
-; SSE2-NEXT: cmpq %rcx, %rax
+; SSE2-NEXT: addq $16, %rsi
+; SSE2-NEXT: addq $16, %rdi
+; SSE2-NEXT: addq $-8, %rax
; SSE2-NEXT: jne .LBB1_1
; SSE2-NEXT: # BB#2: # %middle.block
; SSE2-NEXT: paddd %xmm1, %xmm0
@@ -149,7 +149,6 @@ define i32 @test_unsigned_short(i16* nocapture readonly, i16* nocapture readonly
; AVX2: # BB#0: # %entry
; AVX2-NEXT: movl %edx, %eax
; AVX2-NEXT: vpxor %ymm0, %ymm0, %ymm0
-; AVX2-NEXT: xorl %ecx, %ecx
; AVX2-NEXT: .p2align 4, 0x90
; AVX2-NEXT: .LBB1_1: # %vector.body
; AVX2-NEXT: # =>This Inner Loop Header: Depth=1
@@ -157,8 +156,9 @@ define i32 @test_unsigned_short(i16* nocapture readonly, i16* nocapture readonly
; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
; AVX2-NEXT: vpmulld %ymm1, %ymm2, %ymm1
; AVX2-NEXT: vpaddd %ymm0, %ymm1, %ymm0
-; AVX2-NEXT: addq $8, %rcx
-; AVX2-NEXT: cmpq %rcx, %rax
+; AVX2-NEXT: addq $16, %rsi
+; AVX2-NEXT: addq $16, %rdi
+; AVX2-NEXT: addq $-8, %rax
; AVX2-NEXT: jne .LBB1_1
; AVX2-NEXT: # BB#2: # %middle.block
; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
@@ -174,7 +174,6 @@ define i32 @test_unsigned_short(i16* nocapture readonly, i16* nocapture readonly
; AVX512: # BB#0: # %entry
; AVX512-NEXT: movl %edx, %eax
; AVX512-NEXT: vpxor %ymm0, %ymm0, %ymm0
-; AVX512-NEXT: xorl %ecx, %ecx
; AVX512-NEXT: .p2align 4, 0x90
; AVX512-NEXT: .LBB1_1: # %vector.body
; AVX512-NEXT: # =>This Inner Loop Header: Depth=1
@@ -182,8 +181,9 @@ define i32 @test_unsigned_short(i16* nocapture readonly, i16* nocapture readonly
; AVX512-NEXT: vpmovzxwd {{.*#+}} ymm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
; AVX512-NEXT: vpmulld %ymm1, %ymm2, %ymm1
; AVX512-NEXT: vpaddd %ymm0, %ymm1, %ymm0
-; AVX512-NEXT: addq $8, %rcx
-; AVX512-NEXT: cmpq %rcx, %rax
+; AVX512-NEXT: addq $16, %rsi
+; AVX512-NEXT: addq $16, %rdi
+; AVX512-NEXT: addq $-8, %rax
; AVX512-NEXT: jne .LBB1_1
; AVX512-NEXT: # BB#2: # %middle.block
; AVX512-NEXT: vextracti128 $1, %ymm0, %xmm1
@@ -231,7 +231,6 @@ define i32 @_Z9test_charPcS_i(i8* nocapture readonly, i8* nocapture readonly, i3
; SSE2: # BB#0: # %entry
; SSE2-NEXT: movl %edx, %eax
; SSE2-NEXT: pxor %xmm0, %xmm0
-; SSE2-NEXT: xorl %ecx, %ecx
; SSE2-NEXT: pxor %xmm1, %xmm1
; SSE2-NEXT: pxor %xmm3, %xmm3
; SSE2-NEXT: pxor %xmm2, %xmm2
@@ -264,8 +263,9 @@ define i32 @_Z9test_charPcS_i(i8* nocapture readonly, i8* nocapture readonly, i3
; SSE2-NEXT: punpckhwd {{.*#+}} xmm4 = xmm4[4],xmm5[4],xmm4[5],xmm5[5],xmm4[6],xmm5[6],xmm4[7],xmm5[7]
; SSE2-NEXT: psrad $16, %xmm4
; SSE2-NEXT: paddd %xmm4, %xmm2
-; SSE2-NEXT: addq $16, %rcx
-; SSE2-NEXT: cmpq %rcx, %rax
+; SSE2-NEXT: addq $16, %rsi
+; SSE2-NEXT: addq $16, %rdi
+; SSE2-NEXT: addq $-16, %rax
; SSE2-NEXT: jne .LBB2_1
; SSE2-NEXT: # BB#2: # %middle.block
; SSE2-NEXT: paddd %xmm3, %xmm0
@@ -282,17 +282,17 @@ define i32 @_Z9test_charPcS_i(i8* nocapture readonly, i8* nocapture readonly, i3
; AVX2: # BB#0: # %entry
; AVX2-NEXT: movl %edx, %eax
; AVX2-NEXT: vpxor %ymm0, %ymm0, %ymm0
-; AVX2-NEXT: xorl %ecx, %ecx
; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX2-NEXT: .p2align 4, 0x90
; AVX2-NEXT: .LBB2_1: # %vector.body
; AVX2-NEXT: # =>This Inner Loop Header: Depth=1
-; AVX2-NEXT: vpmovsxbw (%rdi,%rcx), %ymm2
-; AVX2-NEXT: vpmovsxbw (%rsi,%rcx), %ymm3
+; AVX2-NEXT: vpmovsxbw (%rdi), %ymm2
+; AVX2-NEXT: vpmovsxbw (%rsi), %ymm3
; AVX2-NEXT: vpmaddwd %ymm2, %ymm3, %ymm2
; AVX2-NEXT: vpaddd %ymm1, %ymm2, %ymm1
-; AVX2-NEXT: addq $16, %rcx
-; AVX2-NEXT: cmpq %rcx, %rax
+; AVX2-NEXT: addq $16, %rsi
+; AVX2-NEXT: addq $16, %rdi
+; AVX2-NEXT: addq $-16, %rax
; AVX2-NEXT: jne .LBB2_1
; AVX2-NEXT: # BB#2: # %middle.block
; AVX2-NEXT: vpaddd %ymm0, %ymm1, %ymm0
@@ -309,18 +309,18 @@ define i32 @_Z9test_charPcS_i(i8* nocapture readonly, i8* nocapture readonly, i3
; AVX512: # BB#0: # %entry
; AVX512-NEXT: movl %edx, %eax
; AVX512-NEXT: vpxord %zmm0, %zmm0, %zmm0
-; AVX512-NEXT: xorl %ecx, %ecx
; AVX512-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512-NEXT: .p2align 4, 0x90
; AVX512-NEXT: .LBB2_1: # %vector.body
; AVX512-NEXT: # =>This Inner Loop Header: Depth=1
-; AVX512-NEXT: vpmovsxbw (%rdi,%rcx), %ymm2
-; AVX512-NEXT: vpmovsxbw (%rsi,%rcx), %ymm3
+; AVX512-NEXT: vpmovsxbw (%rdi), %ymm2
+; AVX512-NEXT: vpmovsxbw (%rsi), %ymm3
; AVX512-NEXT: vpmaddwd %ymm2, %ymm3, %ymm2
; AVX512-NEXT: vinserti64x4 $1, %ymm1, %zmm2, %zmm2
; AVX512-NEXT: vpaddd %zmm0, %zmm2, %zmm0
-; AVX512-NEXT: addq $16, %rcx
-; AVX512-NEXT: cmpq %rcx, %rax
+; AVX512-NEXT: addq $16, %rsi
+; AVX512-NEXT: addq $16, %rdi
+; AVX512-NEXT: addq $-16, %rax
; AVX512-NEXT: jne .LBB2_1
; AVX512-NEXT: # BB#2: # %middle.block
; AVX512-NEXT: vshufi64x2 {{.*#+}} zmm1 = zmm0[4,5,6,7,0,1,0,1]
diff --git a/test/CodeGen/X86/masked-iv-safe.ll b/test/CodeGen/X86/masked-iv-safe.ll
index 61aa05a5270b..8c0a4d4f1752 100644
--- a/test/CodeGen/X86/masked-iv-safe.ll
+++ b/test/CodeGen/X86/masked-iv-safe.ll
@@ -5,7 +5,7 @@
; CHECK-LABEL: count_up
; CHECK-NOT: {{and|movz|sar|shl}}
-; CHECK: addq $8
+; CHECK: incq
; CHECK-NOT: {{and|movz|sar|shl}}
; CHECK: jne
define void @count_up(double* %d, i64 %n) nounwind {
@@ -38,7 +38,7 @@ return:
; CHECK-LABEL: count_down
; CHECK-NOT: {{and|movz|sar|shl}}
-; CHECK: addq $-8
+; CHECK: addq
; CHECK-NOT: {{and|movz|sar|shl}}
; CHECK: jne
define void @count_down(double* %d, i64 %n) nounwind {
@@ -71,7 +71,7 @@ return:
; CHECK-LABEL: count_up_signed
; CHECK-NOT: {{and|movz|sar|shl}}
-; CHECK: addq $8
+; CHECK: incq
; CHECK-NOT: {{and|movz|sar|shl}}
; CHECK: jne
define void @count_up_signed(double* %d, i64 %n) nounwind {
@@ -106,7 +106,7 @@ return:
; CHECK-LABEL: count_down_signed
; CHECK-NOT: {{and|movz|sar|shl}}
-; CHECK: addq $-8
+; CHECK: addq
; CHECK-NOT: {{and|movz|sar|shl}}
; CHECK: jne
define void @count_down_signed(double* %d, i64 %n) nounwind {
@@ -141,7 +141,7 @@ return:
; CHECK-LABEL: another_count_up
; CHECK-NOT: {{and|movz|sar|shl}}
-; CHECK: addq $8
+; CHECK: addq
; CHECK-NOT: {{and|movz|sar|shl}}
; CHECK: jne
define void @another_count_up(double* %d, i64 %n) nounwind {
@@ -174,7 +174,7 @@ return:
; CHECK-LABEL: another_count_down
; CHECK-NOT: {{and|movz|sar|shl}}
-; CHECK: addq $-8
+; CHECK: addq $-8,
; CHECK-NOT: {{and|movz|sar|shl}}
; CHECK: jne
define void @another_count_down(double* %d, i64 %n) nounwind {
@@ -207,7 +207,7 @@ return:
; CHECK-LABEL: another_count_up_signed
; CHECK-NOT: {{and|movz|sar|shl}}
-; CHECK: addq $8
+; CHECK: addq
; CHECK-NOT: {{and|movz|sar|shl}}
; CHECK: jne
define void @another_count_up_signed(double* %d, i64 %n) nounwind {
@@ -242,7 +242,7 @@ return:
; CHECK-LABEL: another_count_down_signed
; CHECK-NOT: {{and|movz|sar|shl}}
-; CHECK: addq $-8
+; CHECK: decq
; CHECK-NOT: {{and|movz|sar|shl}}
; CHECK: jne
define void @another_count_down_signed(double* %d, i64 %n) nounwind {
diff --git a/test/CodeGen/X86/masked_gather_scatter.ll b/test/CodeGen/X86/masked_gather_scatter.ll
index 91087f650ad6..77254ba6760f 100644
--- a/test/CodeGen/X86/masked_gather_scatter.ll
+++ b/test/CodeGen/X86/masked_gather_scatter.ll
@@ -1226,6 +1226,57 @@ define <2 x float> @test22(float* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x fl
ret <2 x float>%res
}
+define <2 x float> @test22a(float* %base, <2 x i64> %ind, <2 x i1> %mask, <2 x float> %src0) {
+; KNL_64-LABEL: test22a:
+; KNL_64: # BB#0:
+; KNL_64-NEXT: # kill: %XMM2<def> %XMM2<kill> %YMM2<def>
+; KNL_64-NEXT: # kill: %XMM0<def> %XMM0<kill> %ZMM0<def>
+; KNL_64-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0,2],zero,zero
+; KNL_64-NEXT: vpxor %ymm3, %ymm3, %ymm3
+; KNL_64-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]
+; KNL_64-NEXT: vpslld $31, %ymm1, %ymm1
+; KNL_64-NEXT: vptestmd %zmm1, %zmm1, %k1
+; KNL_64-NEXT: vgatherqps (%rdi,%zmm0,4), %ymm2 {%k1}
+; KNL_64-NEXT: vmovaps %xmm2, %xmm0
+; KNL_64-NEXT: vzeroupper
+; KNL_64-NEXT: retq
+;
+; KNL_32-LABEL: test22a:
+; KNL_32: # BB#0:
+; KNL_32-NEXT: # kill: %XMM2<def> %XMM2<kill> %YMM2<def>
+; KNL_32-NEXT: # kill: %XMM0<def> %XMM0<kill> %ZMM0<def>
+; KNL_32-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0,2],zero,zero
+; KNL_32-NEXT: vpxor %ymm3, %ymm3, %ymm3
+; KNL_32-NEXT: vpblendd {{.*#+}} ymm1 = ymm1[0,1,2,3],ymm3[4,5,6,7]
+; KNL_32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; KNL_32-NEXT: vpslld $31, %ymm1, %ymm1
+; KNL_32-NEXT: vptestmd %zmm1, %zmm1, %k1
+; KNL_32-NEXT: vgatherqps (%eax,%zmm0,4), %ymm2 {%k1}
+; KNL_32-NEXT: vmovaps %xmm2, %xmm0
+; KNL_32-NEXT: vzeroupper
+; KNL_32-NEXT: retl
+;
+; SKX-LABEL: test22a:
+; SKX: # BB#0:
+; SKX-NEXT: vpsllq $63, %xmm1, %xmm1
+; SKX-NEXT: vptestmq %xmm1, %xmm1, %k1
+; SKX-NEXT: vgatherqps (%rdi,%xmm0,4), %xmm2 {%k1}
+; SKX-NEXT: vmovaps %xmm2, %xmm0
+; SKX-NEXT: retq
+;
+; SKX_32-LABEL: test22a:
+; SKX_32: # BB#0:
+; SKX_32-NEXT: vpsllq $63, %xmm1, %xmm1
+; SKX_32-NEXT: vptestmq %xmm1, %xmm1, %k1
+; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; SKX_32-NEXT: vgatherqps (%eax,%xmm0,4), %xmm2 {%k1}
+; SKX_32-NEXT: vmovaps %xmm2, %xmm0
+; SKX_32-NEXT: retl
+ %gep.random = getelementptr float, float* %base, <2 x i64> %ind
+ %res = call <2 x float> @llvm.masked.gather.v2f32.v2p0f32(<2 x float*> %gep.random, i32 4, <2 x i1> %mask, <2 x float> %src0)
+ ret <2 x float>%res
+}
+
declare <2 x i32> @llvm.masked.gather.v2i32.v2p0i32(<2 x i32*>, i32, <2 x i1>, <2 x i32>)
declare <2 x i64> @llvm.masked.gather.v2i64.v2p0i64(<2 x i64*>, i32, <2 x i1>, <2 x i64>)
@@ -1262,8 +1313,9 @@ define <2 x i32> @test23(i32* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i32> %
; SKX: # BB#0:
; SKX-NEXT: vpsllq $63, %xmm1, %xmm1
; SKX-NEXT: vptestmq %xmm1, %xmm1, %k1
-; SKX-NEXT: vpgatherqq (%rdi,%xmm0,8), %xmm2 {%k1}
-; SKX-NEXT: vmovdqa %xmm2, %xmm0
+; SKX-NEXT: vpshufd {{.*#+}} xmm1 = xmm2[0,2,2,3]
+; SKX-NEXT: vpgatherqd (%rdi,%xmm0,4), %xmm1 {%k1}
+; SKX-NEXT: vpmovsxdq %xmm1, %xmm0
; SKX-NEXT: retq
;
; SKX_32-LABEL: test23:
@@ -1271,8 +1323,9 @@ define <2 x i32> @test23(i32* %base, <2 x i32> %ind, <2 x i1> %mask, <2 x i32> %
; SKX_32-NEXT: vpsllq $63, %xmm1, %xmm1
; SKX_32-NEXT: vptestmq %xmm1, %xmm1, %k1
; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax
-; SKX_32-NEXT: vpgatherqq (%eax,%xmm0,8), %xmm2 {%k1}
-; SKX_32-NEXT: vmovdqa %xmm2, %xmm0
+; SKX_32-NEXT: vpshufd {{.*#+}} xmm1 = xmm2[0,2,2,3]
+; SKX_32-NEXT: vpgatherqd (%eax,%xmm0,4), %xmm1 {%k1}
+; SKX_32-NEXT: vpmovsxdq %xmm1, %xmm0
; SKX_32-NEXT: retl
%sext_ind = sext <2 x i32> %ind to <2 x i64>
%gep.random = getelementptr i32, i32* %base, <2 x i64> %sext_ind
@@ -1307,16 +1360,16 @@ define <2 x i32> @test24(i32* %base, <2 x i32> %ind) {
; SKX-LABEL: test24:
; SKX: # BB#0:
; SKX-NEXT: kxnorw %k0, %k0, %k1
-; SKX-NEXT: vpgatherqq (%rdi,%xmm0,8), %xmm1 {%k1}
-; SKX-NEXT: vmovdqa %xmm1, %xmm0
+; SKX-NEXT: vpgatherqd (%rdi,%xmm0,4), %xmm1 {%k1}
+; SKX-NEXT: vpmovsxdq %xmm1, %xmm0
; SKX-NEXT: retq
;
; SKX_32-LABEL: test24:
; SKX_32: # BB#0:
; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax
; SKX_32-NEXT: kxnorw %k0, %k0, %k1
-; SKX_32-NEXT: vpgatherqq (%eax,%xmm0,8), %xmm1 {%k1}
-; SKX_32-NEXT: vmovdqa %xmm1, %xmm0
+; SKX_32-NEXT: vpgatherqd (%eax,%xmm0,4), %xmm1 {%k1}
+; SKX_32-NEXT: vpmovsxdq %xmm1, %xmm0
; SKX_32-NEXT: retl
%sext_ind = sext <2 x i32> %ind to <2 x i64>
%gep.random = getelementptr i32, i32* %base, <2 x i64> %sext_ind
diff --git a/test/CodeGen/X86/memcmp.ll b/test/CodeGen/X86/memcmp.ll
index 4e2475b1c67d..9d26aee2e8b8 100644
--- a/test/CodeGen/X86/memcmp.ll
+++ b/test/CodeGen/X86/memcmp.ll
@@ -12,19 +12,46 @@ declare i32 @memcmp(i8*, i8*, i64)
define i32 @length2(i8* %X, i8* %Y) nounwind {
; X32-LABEL: length2:
-; X32: # BB#0:
-; X32-NEXT: pushl $0
-; X32-NEXT: pushl $2
-; X32-NEXT: pushl {{[0-9]+}}(%esp)
-; X32-NEXT: pushl {{[0-9]+}}(%esp)
-; X32-NEXT: calll memcmp
-; X32-NEXT: addl $16, %esp
+; X32: # BB#0: # %loadbb
+; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X32-NEXT: movzwl (%ecx), %ecx
+; X32-NEXT: movzwl (%eax), %eax
+; X32-NEXT: rolw $8, %cx
+; X32-NEXT: rolw $8, %ax
+; X32-NEXT: movzwl %cx, %ecx
+; X32-NEXT: movzwl %ax, %eax
+; X32-NEXT: cmpl %eax, %ecx
+; X32-NEXT: je .LBB0_1
+; X32-NEXT: # BB#2: # %res_block
+; X32-NEXT: movl $-1, %eax
+; X32-NEXT: jb .LBB0_4
+; X32-NEXT: # BB#3: # %res_block
+; X32-NEXT: movl $1, %eax
+; X32-NEXT: .LBB0_4: # %endblock
+; X32-NEXT: retl
+; X32-NEXT: .LBB0_1:
+; X32-NEXT: xorl %eax, %eax
; X32-NEXT: retl
;
; X64-LABEL: length2:
-; X64: # BB#0:
-; X64-NEXT: movl $2, %edx
-; X64-NEXT: jmp memcmp # TAILCALL
+; X64: # BB#0: # %loadbb
+; X64-NEXT: movzwl (%rdi), %eax
+; X64-NEXT: movzwl (%rsi), %ecx
+; X64-NEXT: rolw $8, %ax
+; X64-NEXT: rolw $8, %cx
+; X64-NEXT: movzwl %ax, %eax
+; X64-NEXT: movzwl %cx, %ecx
+; X64-NEXT: cmpq %rcx, %rax
+; X64-NEXT: je .LBB0_1
+; X64-NEXT: # BB#2: # %res_block
+; X64-NEXT: movl $-1, %ecx
+; X64-NEXT: movl $1, %eax
+; X64-NEXT: cmovbl %ecx, %eax
+; X64-NEXT: retq
+; X64-NEXT: .LBB0_1:
+; X64-NEXT: xorl %eax, %eax
+; X64-NEXT: retq
%m = tail call i32 @memcmp(i8* %X, i8* %Y, i64 2) nounwind
ret i32 %m
}
@@ -145,19 +172,42 @@ define i1 @length3_eq(i8* %X, i8* %Y) nounwind {
define i32 @length4(i8* %X, i8* %Y) nounwind {
; X32-LABEL: length4:
-; X32: # BB#0:
-; X32-NEXT: pushl $0
-; X32-NEXT: pushl $4
-; X32-NEXT: pushl {{[0-9]+}}(%esp)
-; X32-NEXT: pushl {{[0-9]+}}(%esp)
-; X32-NEXT: calll memcmp
-; X32-NEXT: addl $16, %esp
+; X32: # BB#0: # %loadbb
+; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X32-NEXT: movl (%ecx), %ecx
+; X32-NEXT: movl (%eax), %eax
+; X32-NEXT: bswapl %ecx
+; X32-NEXT: bswapl %eax
+; X32-NEXT: cmpl %eax, %ecx
+; X32-NEXT: je .LBB6_1
+; X32-NEXT: # BB#2: # %res_block
+; X32-NEXT: movl $-1, %eax
+; X32-NEXT: jb .LBB6_4
+; X32-NEXT: # BB#3: # %res_block
+; X32-NEXT: movl $1, %eax
+; X32-NEXT: .LBB6_4: # %endblock
+; X32-NEXT: retl
+; X32-NEXT: .LBB6_1:
+; X32-NEXT: xorl %eax, %eax
; X32-NEXT: retl
;
; X64-LABEL: length4:
-; X64: # BB#0:
-; X64-NEXT: movl $4, %edx
-; X64-NEXT: jmp memcmp # TAILCALL
+; X64: # BB#0: # %loadbb
+; X64-NEXT: movl (%rdi), %eax
+; X64-NEXT: movl (%rsi), %ecx
+; X64-NEXT: bswapl %eax
+; X64-NEXT: bswapl %ecx
+; X64-NEXT: cmpq %rcx, %rax
+; X64-NEXT: je .LBB6_1
+; X64-NEXT: # BB#2: # %res_block
+; X64-NEXT: movl $-1, %ecx
+; X64-NEXT: movl $1, %eax
+; X64-NEXT: cmovbl %ecx, %eax
+; X64-NEXT: retq
+; X64-NEXT: .LBB6_1:
+; X64-NEXT: xorl %eax, %eax
+; X64-NEXT: retq
%m = tail call i32 @memcmp(i8* %X, i8* %Y, i64 4) nounwind
ret i32 %m
}
@@ -259,9 +309,21 @@ define i32 @length8(i8* %X, i8* %Y) nounwind {
; X32-NEXT: retl
;
; X64-LABEL: length8:
-; X64: # BB#0:
-; X64-NEXT: movl $8, %edx
-; X64-NEXT: jmp memcmp # TAILCALL
+; X64: # BB#0: # %loadbb
+; X64-NEXT: movq (%rdi), %rax
+; X64-NEXT: movq (%rsi), %rcx
+; X64-NEXT: bswapq %rax
+; X64-NEXT: bswapq %rcx
+; X64-NEXT: cmpq %rcx, %rax
+; X64-NEXT: je .LBB11_1
+; X64-NEXT: # BB#2: # %res_block
+; X64-NEXT: movl $-1, %ecx
+; X64-NEXT: movl $1, %eax
+; X64-NEXT: cmovbl %ecx, %eax
+; X64-NEXT: retq
+; X64-NEXT: .LBB11_1:
+; X64-NEXT: xorl %eax, %eax
+; X64-NEXT: retq
%m = tail call i32 @memcmp(i8* %X, i8* %Y, i64 8) nounwind
ret i32 %m
}
diff --git a/test/CodeGen/X86/merge-consecutive-stores.ll b/test/CodeGen/X86/merge-consecutive-stores.ll
new file mode 100644
index 000000000000..426529529891
--- /dev/null
+++ b/test/CodeGen/X86/merge-consecutive-stores.ll
@@ -0,0 +1,33 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s
+
+; Make sure that we are zeroing one memory location at a time using xorl and
+; not both using XMM registers.
+
+define i32 @foo (i64* %so) nounwind uwtable ssp {
+; CHECK-LABEL: foo:
+; CHECK: # BB#0:
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: movl $0, 28(%eax)
+; CHECK-NEXT: movl $0, 24(%eax)
+; CHECK-NEXT: movl 20(%eax), %ecx
+; CHECK-NEXT: movl $0, 20(%eax)
+; CHECK-NEXT: xorl %edx, %edx
+; CHECK-NEXT: cmpl 16(%eax), %edx
+; CHECK-NEXT: movl $0, 16(%eax)
+; CHECK-NEXT: sbbl %ecx, %edx
+; CHECK-NEXT: movl $-1, %eax
+; CHECK-NEXT: jl .LBB0_2
+; CHECK-NEXT: # BB#1:
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: .LBB0_2:
+; CHECK-NEXT: retl
+ %used = getelementptr inbounds i64, i64* %so, i32 3
+ store i64 0, i64* %used, align 8
+ %fill = getelementptr inbounds i64, i64* %so, i32 2
+ %L = load i64, i64* %fill, align 8
+ store i64 0, i64* %fill, align 8
+ %cmp28 = icmp sgt i64 %L, 0
+ %R = sext i1 %cmp28 to i32
+ ret i32 %R
+}
diff --git a/test/CodeGen/X86/non-value-mem-operand.mir b/test/CodeGen/X86/non-value-mem-operand.mir
new file mode 100644
index 000000000000..3e969a56170e
--- /dev/null
+++ b/test/CodeGen/X86/non-value-mem-operand.mir
@@ -0,0 +1,293 @@
+# RUN: llc -run-pass implicit-null-checks -mtriple=x86_64-apple-macosx -o - %s | FileCheck %s
+
+# CHECK-NOT: FAULTING_OP
+
+--- |
+ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+ target triple = "x86_64-unknown-linux-gnu"
+
+ @global = external global i8*
+ @global.1 = external global i8*
+
+ declare i8* @ham(i8*, i8**)
+
+ define void @eggs(i8* %arg) gc "statepoint-example" {
+ bb:
+ %tmp = call i8* undef(i8* undef, i8** undef)
+ %tmp1 = icmp eq i8* %tmp, null
+ br i1 %tmp1, label %bb2, label %bb3, !make.implicit !0
+
+ bb2: ; preds = %bb
+ br i1 undef, label %bb51, label %bb59
+
+ bb3: ; preds = %bb
+ %tmp4 = getelementptr inbounds i8, i8* %tmp, i64 16
+ %tmp5 = bitcast i8* %tmp4 to i64*
+ br label %bb7
+
+ bb7: ; preds = %bb37, %bb3
+ %tmp8 = phi i64* [ %tmp5, %bb3 ], [ %tmp18, %bb37 ]
+ %tmp10 = phi i32 [ undef, %bb3 ], [ %tmp48, %bb37 ]
+ %tmp12 = phi i32 [ 0, %bb3 ], [ 6, %bb37 ]
+ %tmp13 = phi double [ 0.000000e+00, %bb3 ], [ 2.000000e+00, %bb37 ]
+ %tmp14 = zext i32 %tmp10 to i64
+ br i1 undef, label %bb26, label %bb15
+
+ bb15: ; preds = %bb7
+ %tmp16 = call token (i64, i32, void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 2882400000, i32 0, void ()* nonnull @wibble, i32 0, i32 0, i32 0, i32 30, i32 1, i32 0, i32 99, i32 0, i32 12, i32 0, i32 10, i32 %tmp10, i32 10, i32 0, i32 10, i32 %tmp12, i32 10, i32 undef, i32 6, float undef, i32 7, double %tmp13, i32 99, i8* null, i32 7, double undef, i32 99, i8* null, i32 13, i8* %tmp, i32 7, double undef, i32 99, i8* null, i8* undef)
+ br label %bb26
+
+ bb26: ; preds = %bb15, %bb7
+ %tmp18 = phi i64* [ %tmp8, %bb7 ], [ undef, %bb15 ]
+ %tmp20 = sub i32 0, 0
+ %tmp21 = select i1 undef, i32 0, i32 %tmp20
+ %tmp22 = sext i32 %tmp21 to i64
+ %tmp23 = load i8*, i8** @global.1, align 8
+ %tmp24 = icmp eq i8* %tmp23, null
+ %tmp25 = select i1 %tmp24, i8* null, i8* undef
+ %tmp27 = load i32, i32* undef, align 4
+ %sunkaddr = mul i64 %tmp14, 8
+ %tmp2 = bitcast i64* %tmp18 to i8*
+ %sunkaddr1 = getelementptr i8, i8* %tmp2, i64 %sunkaddr
+ %tmp3 = bitcast i8* %sunkaddr1 to i64*
+ %tmp28 = load i64, i64* %tmp3, align 8
+ %tmp29 = add i64 %tmp28, 1
+ store i64 %tmp29, i64* %tmp3, align 8
+ %tmp30 = trunc i64 %tmp28 to i32
+ %tmp31 = sub i32 %tmp27, %tmp30
+ store i32 %tmp31, i32* undef, align 4
+ %tmp32 = getelementptr inbounds i8, i8* %tmp25, i64 768
+ %tmp33 = bitcast i8* %tmp32 to i64*
+ %tmp34 = load i64, i64* %tmp33, align 8
+ br i1 undef, label %bb37, label %bb35
+
+ bb35: ; preds = %bb26
+ %tmp36 = call i8* @ham(i8* undef, i8** nonnull @global)
+ br label %bb37
+
+ bb37: ; preds = %bb35, %bb26
+ %tmp38 = phi i8* [ %tmp36, %bb35 ], [ undef, %bb26 ]
+ %tmp39 = getelementptr inbounds i8, i8* %tmp38, i64 760
+ %tmp40 = bitcast i8* %tmp39 to i64*
+ %tmp41 = load i64, i64* %tmp40, align 8
+ %tmp42 = icmp slt i64 %tmp34, %tmp41
+ %tmp43 = select i1 %tmp42, i64 %tmp41, i64 %tmp34
+ %tmp44 = and i64 %tmp43, 63
+ %tmp45 = ashr i64 %tmp29, %tmp44
+ %sunkaddr2 = mul i64 %tmp14, 8
+ %tmp6 = bitcast i64* %tmp18 to i8*
+ %sunkaddr3 = getelementptr i8, i8* %tmp6, i64 %sunkaddr2
+ %tmp7 = bitcast i8* %sunkaddr3 to i64*
+ store i64 %tmp45, i64* %tmp7, align 8
+ %tmp46 = sub i64 0, %tmp22
+ store i64 %tmp46, i64* undef, align 8
+ %tmp47 = add nsw i32 %tmp12, 1
+ %tmp48 = add i32 %tmp10, 1
+ %tmp49 = icmp sgt i32 %tmp48, 15140
+ br i1 %tmp49, label %bb51.loopexit, label %bb7
+
+ bb51.loopexit: ; preds = %bb37
+ %tmp9 = add i32 %tmp10, 1
+ br label %bb51
+
+ bb51: ; preds = %bb51.loopexit, %bb2
+ %tmp52 = phi i32 [ %tmp47, %bb51.loopexit ], [ 0, %bb2 ]
+ %tmp53 = phi double [ 2.000000e+00, %bb51.loopexit ], [ 0.000000e+00, %bb2 ]
+ %tmp54 = phi i32 [ %tmp9, %bb51.loopexit ], [ undef, %bb2 ]
+ %tmp56 = add i32 %tmp54, 0
+ %tmp57 = call token (i64, i32, void (i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidi32f(i64 2882400000, i32 0, void (i32)* nonnull @wobble, i32 1, i32 0, i32 -121, i32 0, i32 38, i32 1, i32 0, i32 270, i32 4, i32 12, i32 0, i32 11, i64 undef, i32 99, i8* null, i32 10, i32 %tmp56, i32 6, float undef, i32 99, i8* null, i32 99, i8* null, i32 10, i32 %tmp52, i32 10, i32 undef, i32 99, i8* null, i32 7, double %tmp53, i32 99, i8* null, i32 7, double undef, i32 99, i8* null, i32 13, i8* undef, i32 99, i8* null, i32 99, i8* null, i8* undef)
+ unreachable
+
+ bb59: ; preds = %bb2
+ %tmp61 = call token (i64, i32, void (i32)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidi32f(i64 2882400000, i32 0, void (i32)* nonnull @wobble, i32 1, i32 0, i32 8, i32 0, i32 38, i32 1, i32 0, i32 123, i32 4, i32 12, i32 0, i32 13, i8* null, i32 99, i32 undef, i32 13, i8* null, i32 10, i32 undef, i32 99, i32 undef, i32 99, i32 undef, i32 99, i32 undef, i32 99, i8* null, i32 99, float undef, i32 99, double undef, i32 99, i8* null, i32 99, double undef, i32 99, i8* null, i32 13, i8* null, i32 99, double undef, i32 99, i8* null)
+ unreachable
+ }
+
+ declare void @wibble()
+
+ declare void @wobble(i32)
+
+ declare token @llvm.experimental.gc.statepoint.p0f_isVoidi32f(i64, i32, void (i32)*, i32, i32, ...)
+
+ declare token @llvm.experimental.gc.statepoint.p0f_isVoidf(i64, i32, void ()*, i32, i32, ...)
+
+ ; Function Attrs: nounwind
+ declare void @llvm.stackprotector(i8*, i8**) #0
+
+ attributes #0 = { nounwind }
+
+ !0 = !{}
+...
+---
+name: eggs
+alignment: 4
+tracksRegLiveness: true
+fixedStack:
+ - { id: 0, type: spill-slot, offset: -56, size: 8, alignment: 8, callee-saved-register: '%rbx' }
+ - { id: 1, type: spill-slot, offset: -48, size: 8, alignment: 16, callee-saved-register: '%r12' }
+ - { id: 2, type: spill-slot, offset: -40, size: 8, alignment: 8, callee-saved-register: '%r13' }
+ - { id: 3, type: spill-slot, offset: -32, size: 8, alignment: 16, callee-saved-register: '%r14' }
+ - { id: 4, type: spill-slot, offset: -24, size: 8, alignment: 8, callee-saved-register: '%r15' }
+ - { id: 5, type: spill-slot, offset: -16, size: 8, alignment: 16, callee-saved-register: '%rbp' }
+stack:
+ - { id: 0, offset: -88, size: 8, alignment: 8 }
+ - { id: 1, offset: -96, size: 8, alignment: 8 }
+ - { id: 2, offset: -104, size: 8, alignment: 8 }
+ - { id: 3, offset: -64, size: 8, alignment: 8 }
+ - { id: 4, type: spill-slot, offset: -72, size: 8, alignment: 8 }
+ - { id: 5, type: spill-slot, offset: -80, size: 8, alignment: 8 }
+constants:
+ - id: 0
+ value: 'double 2.000000e+00'
+ alignment: 8
+body: |
+ bb.0.bb:
+ successors: %bb.1.bb2(0x00000800), %bb.3.bb3(0x7ffff800)
+ liveins: %rbp, %r15, %r14, %r13, %r12, %rbx
+
+ frame-setup PUSH64r killed %rbp, implicit-def %rsp, implicit %rsp
+ frame-setup PUSH64r killed %r15, implicit-def %rsp, implicit %rsp
+ frame-setup PUSH64r killed %r14, implicit-def %rsp, implicit %rsp
+ frame-setup PUSH64r killed %r13, implicit-def %rsp, implicit %rsp
+ frame-setup PUSH64r killed %r12, implicit-def %rsp, implicit %rsp
+ frame-setup PUSH64r killed %rbx, implicit-def %rsp, implicit %rsp
+ %rsp = frame-setup SUB64ri8 %rsp, 56, implicit-def dead %eflags
+ CALL64r undef %rax, csr_64, implicit %rsp, implicit undef %rdi, implicit undef %rsi, implicit-def %rsp, implicit-def %rax
+ TEST64rr %rax, %rax, implicit-def %eflags
+ JNE_1 %bb.3.bb3, implicit killed %eflags
+
+ bb.1.bb2:
+ successors: %bb.2(0x40000000), %bb.13.bb59(0x40000000)
+
+ %ebp = XOR32rr undef %ebp, undef %ebp, implicit-def dead %eflags
+ TEST8rr %bpl, %bpl, implicit-def %eflags
+ JE_1 %bb.13.bb59, implicit killed %eflags
+
+ bb.2:
+ successors: %bb.12.bb51(0x80000000)
+ liveins: %ebp
+
+ %xmm0 = XORPSrr undef %xmm0, undef %xmm0
+ %ebx = IMPLICIT_DEF implicit-def %rbx
+ JMP_1 %bb.12.bb51
+
+ bb.3.bb3:
+ successors: %bb.4.bb7(0x80000000)
+ liveins: %rax
+
+ MOV64mr %rsp, 1, _, 32, _, %rax :: (store 8 into %stack.5)
+ %r12 = MOV64rr killed %rax
+ %r12 = ADD64ri8 killed %r12, 16, implicit-def dead %eflags
+ %xmm0 = XORPSrr undef %xmm0, undef %xmm0
+ %esi = XOR32rr undef %esi, undef %esi, implicit-def dead %eflags
+ %rax = MOV64ri %const.0
+ %xmm1 = MOVSDrm killed %rax, 1, _, 0, _ :: (load 8 from constant-pool)
+ MOVSDmr %rsp, 1, _, 40, _, killed %xmm1 :: (store 8 into %stack.4)
+ %eax = IMPLICIT_DEF
+ %ecx = XOR32rr undef %ecx, undef %ecx, implicit-def dead %eflags
+
+ bb.4.bb7:
+ successors: %bb.6.bb26(0x40000000), %bb.5.bb15(0x40000000)
+ liveins: %eax, %ecx, %esi, %r12, %xmm0
+
+ %ebp = MOV32rr killed %ecx
+ %ebx = MOV32rr killed %eax, implicit-def %rbx
+ %r14d = MOV32rr %ebx, implicit-def %r14
+ TEST8rr %sil, %sil, implicit-def %eflags
+ JNE_1 %bb.6.bb26, implicit %eflags
+
+ bb.5.bb15:
+ successors: %bb.6.bb26(0x80000000)
+ liveins: %ebp, %rbx, %r14, %xmm0
+
+ MOV32mr %rsp, 1, _, 24, _, %ebx :: (store 4 into %stack.0, align 8)
+ MOV32mr %rsp, 1, _, 16, _, %ebp :: (store 4 into %stack.1, align 8)
+ MOVSDmr %rsp, 1, _, 8, _, killed %xmm0 :: (store 8 into %stack.2)
+ %rax = MOV64rm %rsp, 1, _, 32, _ :: (load 8 from %stack.5)
+ MOV64mr %rsp, 1, _, 48, _, killed %rax :: (store 8 into %stack.3)
+ %rax = MOV64ri @wibble
+ STATEPOINT 2882400000, 0, 0, killed %rax, 2, 0, 2, 0, 2, 30, 2, 1, 2, 0, 2, 99, 2, 0, 2, 12, 2, 0, 2, 10, 1, 8, %rsp, 24, 2, 10, 2, 0, 2, 10, 1, 8, %rsp, 16, 2, 10, 2, 4278124286, 2, 6, 2, 4278124286, 2, 7, 1, 8, %rsp, 8, 2, 99, 2, 0, 2, 7, 2, 4278124286, 2, 99, 2, 0, 2, 13, 1, 8, %rsp, 48, 2, 7, 2, 4278124286, 2, 99, 2, 0, csr_64, implicit-def %rsp :: (volatile load 8 from %stack.0), (volatile load 8 from %stack.1), (volatile load 8 from %stack.2), (volatile load 8 from %stack.3)
+ %esi = XOR32rr undef %esi, undef %esi, implicit-def dead %eflags
+ %r12 = IMPLICIT_DEF
+
+ bb.6.bb26:
+ successors: %bb.8.bb37(0x40000000), %bb.7.bb35(0x40000000)
+ liveins: %ebp, %esi, %rbx, %r12, %r14
+
+ %rax = MOV64ri @global.1
+ %rax = MOV64rm killed %rax, 1, _, 0, _ :: (dereferenceable load 8 from @global.1)
+ TEST64rr %rax, %rax, implicit-def %eflags
+ %rax = CMOVE64rr undef %rax, killed %rax, implicit killed %eflags
+ %ecx = MOV32rm undef %rax, 1, _, 0, _ :: (load 4 from `i32* undef`)
+ %rdx = MOV64rm %r12, 8, %r14, 0, _ :: (load 8 from %ir.tmp3)
+ %r15 = LEA64r %rdx, 1, _, 1, _
+ MOV64mr %r12, 8, %r14, 0, _, %r15 :: (store 8 into %ir.tmp3)
+ %ecx = SUB32rr killed %ecx, %edx, implicit-def dead %eflags, implicit killed %rdx
+ MOV32mr undef %rax, 1, _, 0, _, killed %ecx :: (store 4 into `i32* undef`)
+ %r13 = MOV64rm killed %rax, 1, _, 768, _ :: (load 8 from %ir.tmp33)
+ TEST8rr %sil, %sil, implicit-def %eflags
+ %rax = IMPLICIT_DEF
+ JNE_1 %bb.8.bb37, implicit %eflags
+
+ bb.7.bb35:
+ successors: %bb.8.bb37(0x80000000)
+ liveins: %ebp, %rbx, %r12, %r13, %r14, %r15
+
+ %rsi = MOV64ri @global
+ %rax = MOV64ri @ham
+ CALL64r killed %rax, csr_64, implicit %rsp, implicit undef %rdi, implicit %rsi, implicit-def %rsp, implicit-def %rax
+ %esi = XOR32rr undef %esi, undef %esi, implicit-def dead %eflags
+
+ bb.8.bb37:
+ successors: %bb.9.bb37(0x40000000), %bb.10.bb37(0x40000000)
+ liveins: %ebp, %esi, %rax, %rbx, %r12, %r13, %r14, %r15
+
+ %rcx = MOV64rm killed %rax, 1, _, 760, _ :: (load 8 from %ir.tmp40)
+ CMP64rr %r13, %rcx, implicit-def %eflags
+ JL_1 %bb.10.bb37, implicit %eflags
+
+ bb.9.bb37:
+ successors: %bb.10.bb37(0x80000000)
+ liveins: %ebp, %esi, %rbx, %r12, %r13, %r14, %r15
+
+ %cl = MOV8rr %r13b, implicit killed %r13, implicit-def %rcx
+
+ bb.10.bb37:
+ successors: %bb.11.bb51.loopexit(0x00000800), %bb.4.bb7(0x7ffff800)
+ liveins: %ebp, %esi, %rbx, %rcx, %r12, %r14, %r15
+
+ %cl = KILL %cl, implicit killed %rcx
+ %r15 = SAR64rCL killed %r15, implicit-def dead %eflags, implicit %cl
+ MOV64mr %r12, 8, killed %r14, 0, _, killed %r15 :: (store 8 into %ir.tmp7)
+ MOV64mi32 undef %rax, 1, _, 0, _, 0 :: (store 8 into `i64* undef`)
+ %eax = LEA64_32r %rbx, 1, _, 1, _
+ %ecx = MOV32ri 6
+ CMP32ri %eax, 15141, implicit-def %eflags
+ %xmm0 = MOVSDrm %rsp, 1, _, 40, _ :: (load 8 from %stack.4)
+ JL_1 %bb.4.bb7, implicit %eflags
+
+ bb.11.bb51.loopexit:
+ successors: %bb.12.bb51(0x80000000)
+ liveins: %ebp, %rbx
+
+ %ebp = INC32r killed %ebp, implicit-def dead %eflags
+ %ebx = INC32r %ebx, implicit-def dead %eflags, implicit killed %rbx, implicit-def %rbx
+ %rax = MOV64ri %const.0
+ %xmm0 = MOVSDrm killed %rax, 1, _, 0, _ :: (load 8 from constant-pool)
+
+ bb.12.bb51:
+ liveins: %ebp, %rbx, %xmm0
+
+ MOV32mr %rsp, 1, _, 24, _, %ebx, implicit killed %rbx :: (store 4 into %stack.0, align 8)
+ MOV32mr %rsp, 1, _, 16, _, killed %ebp :: (store 4 into %stack.1, align 8)
+ MOVSDmr %rsp, 1, _, 8, _, killed %xmm0 :: (store 8 into %stack.2)
+ %rax = MOV64ri @wobble
+ %edi = MOV32ri -121
+ STATEPOINT 2882400000, 0, 1, killed %rax, %edi, 2, 0, 2, 0, 2, 38, 2, 1, 2, 0, 2, 270, 2, 4, 2, 12, 2, 0, 2, 11, 2, 4278124286, 2, 99, 2, 0, 2, 10, 1, 8, %rsp, 24, 2, 6, 2, 4278124286, 2, 99, 2, 0, 2, 99, 2, 0, 2, 10, 1, 8, %rsp, 16, 2, 10, 2, 4278124286, 2, 99, 2, 0, 2, 7, 1, 8, %rsp, 8, 2, 99, 2, 0, 2, 7, 2, 4278124286, 2, 99, 2, 0, 2, 13, 2, 4278124286, 2, 99, 2, 0, 2, 99, 2, 0, csr_64, implicit-def %rsp :: (volatile load 8 from %stack.0), (volatile load 8 from %stack.1), (volatile load 8 from %stack.2)
+
+ bb.13.bb59:
+ %rax = MOV64ri @wobble
+ %edi = MOV32ri 8
+ STATEPOINT 2882400000, 0, 1, killed %rax, %edi, 2, 0, 2, 0, 2, 38, 2, 1, 2, 0, 2, 123, 2, 4, 2, 12, 2, 0, 2, 13, 2, 0, 2, 99, 2, 4278124286, 2, 13, 2, 0, 2, 10, 2, 4278124286, 2, 99, 2, 4278124286, 2, 99, 2, 4278124286, 2, 99, 2, 4278124286, 2, 99, 2, 0, 2, 99, 2, 4278124286, 2, 99, 2, 4278124286, 2, 99, 2, 0, 2, 99, 2, 4278124286, 2, 99, 2, 0, 2, 13, 2, 0, 2, 99, 2, 4278124286, 2, 99, 2, 0, csr_64, implicit-def %rsp
+
+...
diff --git a/test/CodeGen/X86/pr15705.ll b/test/CodeGen/X86/pr15705.ll
new file mode 100644
index 000000000000..e728bc8d34c9
--- /dev/null
+++ b/test/CodeGen/X86/pr15705.ll
@@ -0,0 +1,48 @@
+; 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 @PR15705(i32 %x, i32 %a, i32 %b, i32 %c) #0 {
+; X86-LABEL: PR15705:
+; X86: # BB#0: # %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
+; X86-NEXT: cmpl %ecx, %edx
+; X86-NEXT: je .LBB0_4
+; X86-NEXT: # BB#1: # %if.end
+; X86-NEXT: cmpl %eax, %edx
+; X86-NEXT: jne .LBB0_3
+; X86-NEXT: # BB#2:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: .LBB0_3: # %if.end
+; X86-NEXT: movl %ecx, %eax
+; X86-NEXT: .LBB0_4: # %return
+; X86-NEXT: retl
+;
+; X64-LABEL: PR15705:
+; X64: # BB#0: # %entry
+; X64-NEXT: cmpl %esi, %edi
+; X64-NEXT: je .LBB0_2
+; X64-NEXT: # BB#1: # %if.end
+; X64-NEXT: cmpl %edx, %edi
+; X64-NEXT: cmovel %ecx, %esi
+; X64-NEXT: movl %esi, %edx
+; X64-NEXT: .LBB0_2: # %return
+; X64-NEXT: movl %edx, %eax
+; X64-NEXT: retq
+entry:
+ %cmp = icmp eq i32 %x, %a
+ br i1 %cmp, label %return, label %if.end
+
+if.end:
+ %cmp1 = icmp eq i32 %x, %b
+ %c.a = select i1 %cmp1, i32 %c, i32 %a
+ br label %return
+
+return:
+ %retval.0 = phi i32 [ %b, %entry ], [ %c.a, %if.end ]
+ ret i32 %retval.0
+}
+
+attributes #0 = { nounwind readnone ssp "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
diff --git a/test/CodeGen/X86/pr15981.ll b/test/CodeGen/X86/pr15981.ll
new file mode 100644
index 000000000000..6b246ef7936e
--- /dev/null
+++ b/test/CodeGen/X86/pr15981.ll
@@ -0,0 +1,59 @@
+; 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
+
+@a = external global i32
+@b = external global i32
+@c = external global i32
+
+define i32 @fn1(i32, i32) {
+; X86-LABEL: fn1:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: testl %eax, %eax
+; X86-NEXT: je .LBB0_2
+; X86-NEXT: # BB#1:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: .LBB0_2:
+; X86-NEXT: retl
+;
+; X64-LABEL: fn1:
+; X64: # BB#0:
+; X64-NEXT: testl %esi, %esi
+; X64-NEXT: cmovel %esi, %edi
+; X64-NEXT: movl %edi, %eax
+; X64-NEXT: retq
+ %3 = icmp ne i32 %1, 0
+ %4 = select i1 %3, i32 %0, i32 0
+ ret i32 %4
+}
+
+define void @fn2() {
+; X86-LABEL: fn2:
+; X86: # BB#0:
+; X86-NEXT: movl b, %eax
+; X86-NEXT: decl a
+; X86-NEXT: jne .LBB1_2
+; X86-NEXT: # BB#1:
+; X86-NEXT: xorl %eax, %eax
+; X86-NEXT: .LBB1_2:
+; X86-NEXT: movl %eax, c
+; X86-NEXT: retl
+;
+; X64-LABEL: fn2:
+; X64: # BB#0:
+; X64-NEXT: xorl %eax, %eax
+; X64-NEXT: decl {{.*}}(%rip)
+; X64-NEXT: cmovnel {{.*}}(%rip), %eax
+; X64-NEXT: movl %eax, {{.*}}(%rip)
+; X64-NEXT: retq
+ %1 = load volatile i32, i32* @b, align 4
+ %2 = load i32, i32* @a, align 4
+ %3 = add nsw i32 %2, -1
+ store i32 %3, i32* @a, align 4
+ %4 = icmp ne i32 %3, 0
+ %5 = select i1 %4, i32 %1, i32 0
+ store i32 %5, i32* @c, align 4
+ ret void
+}
+
diff --git a/test/CodeGen/X86/pr33396.ll b/test/CodeGen/X86/pr33396.ll
new file mode 100644
index 000000000000..b2053a4ea33d
--- /dev/null
+++ b/test/CodeGen/X86/pr33396.ll
@@ -0,0 +1,27 @@
+; Make sure we don't crash because we have stale loop infos.
+; REQUIRES: asserts
+; RUN: llc -o /dev/null -verify-loop-info %s
+
+target triple = "x86_64-unknown-linux-gnu"
+
+@global = external global [2 x i8], align 2
+@global.1 = external global [2 x i8], align 2
+
+define void @patatino(i8 %tinky) {
+bb:
+ br label %bb1
+
+bb1:
+ br i1 icmp ne (i8* getelementptr ([2 x i8], [2 x i8]* @global.1, i64 0, i64 1),
+ i8* getelementptr ([2 x i8], [2 x i8]* @global, i64 0, i64 1)), label %bb2, label %bb3
+
+bb2:
+ br label %bb3
+
+bb3:
+ %tmp = phi i32 [ 60, %bb2 ],
+ [ sdiv (i32 60, i32 zext (i1 icmp eq (i8* getelementptr ([2 x i8], [2 x i8]* @global.1, i64 0, i64 1),
+ i8* getelementptr ([2 x i8], [2 x i8]* @global, i64 0, i64 1)) to i32)), %bb1 ]
+ %tmp4 = icmp slt i8 %tinky, -4
+ br label %bb1
+}
diff --git a/test/CodeGen/X86/sbb.ll b/test/CodeGen/X86/sbb.ll
new file mode 100644
index 000000000000..bc00fc7c66ad
--- /dev/null
+++ b/test/CodeGen/X86/sbb.ll
@@ -0,0 +1,138 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s
+
+; Vary the operand sizes for extra coverage, but the transform should be identical in all cases.
+
+; (X == 0) ? 0 : -1 --> (X == 0) - 1
+
+define i8 @i8_select_0_or_neg1(i8 %x) {
+; CHECK-LABEL: i8_select_0_or_neg1:
+; CHECK: # BB#0:
+; CHECK-NEXT: negb %dil
+; CHECK-NEXT: sbbb %al, %al
+; CHECK-NEXT: retq
+ %cmp = icmp eq i8 %x, 0
+ %sel = select i1 %cmp, i8 0, i8 -1
+ ret i8 %sel
+}
+
+; (X == 0) ? 0 : -1 --> (X == 0) - 1
+
+define i16 @i16_select_0_or_neg1_as_math(i16 %x) {
+; CHECK-LABEL: i16_select_0_or_neg1_as_math:
+; CHECK: # BB#0:
+; CHECK-NEXT: negw %di
+; CHECK-NEXT: sbbw %ax, %ax
+; CHECK-NEXT: retq
+ %cmp = icmp eq i16 %x, 0
+ %ext = zext i1 %cmp to i16
+ %add = add i16 %ext, -1
+ ret i16 %add
+}
+
+; (X != 0) ? -1 : 0 --> 0 - (X != 0)
+
+define i32 @i32_select_0_or_neg1_commuted(i32 %x) {
+; CHECK-LABEL: i32_select_0_or_neg1_commuted:
+; CHECK: # BB#0:
+; CHECK-NEXT: negl %edi
+; CHECK-NEXT: sbbl %eax, %eax
+; CHECK-NEXT: retq
+ %cmp = icmp ne i32 %x, 0
+ %sel = select i1 %cmp, i32 -1, i32 0
+ ret i32 %sel
+}
+
+; (X != 0) ? -1 : 0 --> 0 - (X != 0)
+
+define i64 @i64_select_0_or_neg1_commuted_as_math(i64 %x) {
+; CHECK-LABEL: i64_select_0_or_neg1_commuted_as_math:
+; CHECK: # BB#0:
+; CHECK-NEXT: negq %rdi
+; CHECK-NEXT: sbbq %rax, %rax
+; CHECK-NEXT: retq
+ %cmp = icmp ne i64 %x, 0
+ %ext = zext i1 %cmp to i64
+ %sub = sub i64 0, %ext
+ ret i64 %sub
+}
+
+; (X == 0) ? -1 : 0 --> 0 - (X == 0)
+
+define i64 @i64_select_neg1_or_0(i64 %x) {
+; CHECK-LABEL: i64_select_neg1_or_0:
+; CHECK: # BB#0:
+; CHECK-NEXT: cmpq $1, %rdi
+; CHECK-NEXT: sbbq %rax, %rax
+; CHECK-NEXT: retq
+ %cmp = icmp eq i64 %x, 0
+ %sel = select i1 %cmp, i64 -1, i64 0
+ ret i64 %sel
+}
+
+; (X == 0) ? -1 : 0 --> 0 - (X == 0)
+
+define i32 @i32_select_neg1_or_0_as_math(i32 %x) {
+; CHECK-LABEL: i32_select_neg1_or_0_as_math:
+; CHECK: # BB#0:
+; CHECK-NEXT: cmpl $1, %edi
+; CHECK-NEXT: sbbl %eax, %eax
+; CHECK-NEXT: retq
+ %cmp = icmp eq i32 %x, 0
+ %ext = zext i1 %cmp to i32
+ %sub = sub i32 0, %ext
+ ret i32 %sub
+}
+
+; (X != 0) ? 0 : -1 --> (X != 0) - 1
+
+define i16 @i16_select_neg1_or_0_commuted(i16 %x) {
+; CHECK-LABEL: i16_select_neg1_or_0_commuted:
+; CHECK: # BB#0:
+; CHECK-NEXT: cmpw $1, %di
+; CHECK-NEXT: sbbw %ax, %ax
+; CHECK-NEXT: retq
+ %cmp = icmp ne i16 %x, 0
+ %sel = select i1 %cmp, i16 0, i16 -1
+ ret i16 %sel
+}
+
+; (X != 0) ? 0 : -1 --> (X != 0) - 1
+
+define i8 @i8_select_neg1_or_0_commuted_as_math(i8 %x) {
+; CHECK-LABEL: i8_select_neg1_or_0_commuted_as_math:
+; CHECK: # BB#0:
+; CHECK-NEXT: cmpb $1, %dil
+; CHECK-NEXT: sbbb %al, %al
+; CHECK-NEXT: retq
+ %cmp = icmp ne i8 %x, 0
+ %ext = zext i1 %cmp to i8
+ %add = add i8 %ext, -1
+ ret i8 %add
+}
+
+; Make sure we're creating nodes with the right value types. This would crash.
+; https://bugs.llvm.org/show_bug.cgi?id=33560
+
+define void @PR33560(i8 %x, i64 %y) {
+; CHECK-LABEL: PR33560:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: negb %dil
+; CHECK-NEXT: sbbq %rax, %rax
+; CHECK-NEXT: cmpq %rsi, %rax
+; CHECK-NEXT: retq
+entry:
+ %cmp1 = icmp eq i8 %x, 0
+ %ext = zext i1 %cmp1 to i64
+ %add = add i64 %ext, -1
+ %cmp2 = icmp eq i64 %add, %y
+ br i1 %cmp2, label %end, label %else
+
+else:
+ %tmp7 = zext i1 %cmp1 to i8
+ br label %end
+
+end:
+ ret void
+}
+
diff --git a/test/CodeGen/X86/scavenger.mir b/test/CodeGen/X86/scavenger.mir
index 8d97aeb22cb9..5e964f8ab9eb 100644
--- a/test/CodeGen/X86/scavenger.mir
+++ b/test/CodeGen/X86/scavenger.mir
@@ -5,6 +5,8 @@ name: func0
tracksRegLiveness: true
body: |
bb.0:
+ ; CHECK: [[REG0:%e[a-z]+]] = MOV32ri 42
+ ; CHECK: %ebp = COPY killed [[REG0]]
%0 : gr32 = MOV32ri 42
%ebp = COPY %0
...
@@ -16,7 +18,7 @@ body: |
bb.0:
; CHECK-NOT: %eax = MOV32ri 42
; CHECK: [[REG0:%e[a-z]+]] = MOV32ri 42
- ; CHECK: %ebp = COPY [[REG0]]
+ ; CHECK: %ebp = COPY killed [[REG0]]
%eax = MOV32ri 13
%0 : gr32 = MOV32ri 42
%ebp = COPY %0
@@ -30,25 +32,18 @@ body: |
NOOP implicit %ebp
- ; CHECK: NOOP implicit [[REG2]]
- ; CHECK: NOOP implicit [[REG1]]
+ ; CHECK: NOOP implicit killed [[REG2]]
+ ; CHECK: NOOP implicit killed [[REG1]]
NOOP implicit %2
NOOP implicit %1
RETQ %eax
...
---
-# Defs without uses are currently broken
-#name: func3
-#tracksRegLiveness: true
-#body: |
-# bb.0:
-# dead %0 : gr32 = MOV32ri 42
-...
----
-# Uses without defs are currently broken (and honestly not that useful).
-#name: func3
-#tracksRegLiveness: true
-#body: |
-# bb.0:
-# NOOP undef implicit %0 : gr32
+# CHECK-LABEL: name: func3
+name: func3
+tracksRegLiveness: true
+body: |
+ bb.0:
+ ; CHECK dead {{%e[a-z]+}} = MOV32ri 42
+ dead %0 : gr32 = MOV32ri 42
...
diff --git a/test/CodeGen/X86/select.ll b/test/CodeGen/X86/select.ll
index 0e8db74fe1bd..ec15d1a9520a 100644
--- a/test/CodeGen/X86/select.ll
+++ b/test/CodeGen/X86/select.ll
@@ -321,8 +321,9 @@ define void @test8(i1 %c, <6 x i32>* %dst.addr, <6 x i32> %src1,<6 x i32> %src2)
; GENERIC-NEXT: LBB7_6:
; GENERIC-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
; GENERIC-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
-; GENERIC-NEXT: psubd {{.*}}(%rip), %xmm1
-; GENERIC-NEXT: psubd {{.*}}(%rip), %xmm0
+; GENERIC-NEXT: pcmpeqd %xmm2, %xmm2
+; GENERIC-NEXT: paddd %xmm2, %xmm1
+; GENERIC-NEXT: paddd %xmm2, %xmm0
; GENERIC-NEXT: movq %xmm0, 16(%rsi)
; GENERIC-NEXT: movdqa %xmm1, (%rsi)
; GENERIC-NEXT: retq
@@ -361,8 +362,9 @@ define void @test8(i1 %c, <6 x i32>* %dst.addr, <6 x i32> %src1,<6 x i32> %src2)
; ATOM-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
; ATOM-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
; ATOM-NEXT: LBB7_6:
-; ATOM-NEXT: psubd {{.*}}(%rip), %xmm0
-; ATOM-NEXT: psubd {{.*}}(%rip), %xmm1
+; ATOM-NEXT: pcmpeqd %xmm2, %xmm2
+; ATOM-NEXT: paddd %xmm2, %xmm0
+; ATOM-NEXT: paddd %xmm2, %xmm1
; ATOM-NEXT: movq %xmm0, 16(%rsi)
; ATOM-NEXT: movdqa %xmm1, (%rsi)
; ATOM-NEXT: retq
diff --git a/test/CodeGen/X86/shuffle-vs-trunc-128.ll b/test/CodeGen/X86/shuffle-vs-trunc-128.ll
index f9fe97b21ee3..12a8443c31bd 100644
--- a/test/CodeGen/X86/shuffle-vs-trunc-128.ll
+++ b/test/CodeGen/X86/shuffle-vs-trunc-128.ll
@@ -1,4 +1,6 @@
; 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
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512 --check-prefix=AVX512F
@@ -11,6 +13,21 @@
; Ideally, the shuffles should be lowered to code with the same quality as the truncates.
define void @shuffle_v16i8_to_v8i8(<16 x i8>* %L, <8 x i8>* %S) nounwind {
+; SSE2-LABEL: shuffle_v16i8_to_v8i8:
+; SSE2: # BB#0:
+; SSE2-NEXT: movdqa (%rdi), %xmm0
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: movq %xmm0, (%rsi)
+; SSE2-NEXT: retq
+;
+; SSE42-LABEL: shuffle_v16i8_to_v8i8:
+; SSE42: # BB#0:
+; SSE42-NEXT: movdqa (%rdi), %xmm0
+; SSE42-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u]
+; SSE42-NEXT: movq %xmm0, (%rsi)
+; SSE42-NEXT: retq
+;
; AVX-LABEL: shuffle_v16i8_to_v8i8:
; AVX: # BB#0:
; AVX-NEXT: vmovdqa (%rdi), %xmm0
@@ -51,6 +68,21 @@ define void @shuffle_v16i8_to_v8i8(<16 x i8>* %L, <8 x i8>* %S) nounwind {
}
define void @trunc_v8i16_to_v8i8(<16 x i8>* %L, <8 x i8>* %S) nounwind {
+; SSE2-LABEL: trunc_v8i16_to_v8i8:
+; SSE2: # BB#0:
+; SSE2-NEXT: movdqa (%rdi), %xmm0
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: movq %xmm0, (%rsi)
+; SSE2-NEXT: retq
+;
+; SSE42-LABEL: trunc_v8i16_to_v8i8:
+; SSE42: # BB#0:
+; SSE42-NEXT: movdqa (%rdi), %xmm0
+; SSE42-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u]
+; SSE42-NEXT: movq %xmm0, (%rsi)
+; SSE42-NEXT: retq
+;
; AVX-LABEL: trunc_v8i16_to_v8i8:
; AVX: # BB#0:
; AVX-NEXT: vmovdqa (%rdi), %xmm0
@@ -92,6 +124,21 @@ define void @trunc_v8i16_to_v8i8(<16 x i8>* %L, <8 x i8>* %S) nounwind {
}
define void @shuffle_v8i16_to_v4i16(<8 x i16>* %L, <4 x i16>* %S) nounwind {
+; SSE2-LABEL: shuffle_v8i16_to_v4i16:
+; SSE2: # BB#0:
+; SSE2-NEXT: pshuflw {{.*#+}} xmm0 = mem[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: movq %xmm0, (%rsi)
+; SSE2-NEXT: retq
+;
+; SSE42-LABEL: shuffle_v8i16_to_v4i16:
+; SSE42: # BB#0:
+; SSE42-NEXT: movdqa (%rdi), %xmm0
+; SSE42-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; SSE42-NEXT: movq %xmm0, (%rsi)
+; SSE42-NEXT: retq
+;
; AVX-LABEL: shuffle_v8i16_to_v4i16:
; AVX: # BB#0:
; AVX-NEXT: vmovdqa (%rdi), %xmm0
@@ -131,6 +178,21 @@ define void @shuffle_v8i16_to_v4i16(<8 x i16>* %L, <4 x i16>* %S) nounwind {
}
define void @trunc_v4i32_to_v4i16(<8 x i16>* %L, <4 x i16>* %S) nounwind {
+; SSE2-LABEL: trunc_v4i32_to_v4i16:
+; SSE2: # BB#0:
+; SSE2-NEXT: pshuflw {{.*#+}} xmm0 = mem[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: movq %xmm0, (%rsi)
+; SSE2-NEXT: retq
+;
+; SSE42-LABEL: trunc_v4i32_to_v4i16:
+; SSE42: # BB#0:
+; SSE42-NEXT: movdqa (%rdi), %xmm0
+; SSE42-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; SSE42-NEXT: movq %xmm0, (%rsi)
+; SSE42-NEXT: retq
+;
; AVX-LABEL: trunc_v4i32_to_v4i16:
; AVX: # BB#0:
; AVX-NEXT: vmovdqa (%rdi), %xmm0
@@ -171,6 +233,12 @@ define void @trunc_v4i32_to_v4i16(<8 x i16>* %L, <4 x i16>* %S) nounwind {
}
define void @shuffle_v4i32_to_v2i32(<4 x i32>* %L, <2 x i32>* %S) nounwind {
+; SSE-LABEL: shuffle_v4i32_to_v2i32:
+; SSE: # BB#0:
+; SSE-NEXT: pshufd {{.*#+}} xmm0 = mem[0,2,2,3]
+; SSE-NEXT: movq %xmm0, (%rsi)
+; SSE-NEXT: retq
+;
; AVX-LABEL: shuffle_v4i32_to_v2i32:
; AVX: # BB#0:
; AVX-NEXT: vpshufd {{.*#+}} xmm0 = mem[0,2,2,3]
@@ -207,6 +275,12 @@ define void @shuffle_v4i32_to_v2i32(<4 x i32>* %L, <2 x i32>* %S) nounwind {
}
define void @trunc_v2i64_to_v2i32(<4 x i32>* %L, <2 x i32>* %S) nounwind {
+; SSE-LABEL: trunc_v2i64_to_v2i32:
+; SSE: # BB#0:
+; SSE-NEXT: pshufd {{.*#+}} xmm0 = mem[0,2,2,3]
+; SSE-NEXT: movq %xmm0, (%rsi)
+; SSE-NEXT: retq
+;
; AVX-LABEL: trunc_v2i64_to_v2i32:
; AVX: # BB#0:
; AVX-NEXT: vpshufd {{.*#+}} xmm0 = mem[0,2,2,3]
@@ -244,6 +318,22 @@ define void @trunc_v2i64_to_v2i32(<4 x i32>* %L, <2 x i32>* %S) nounwind {
}
define void @shuffle_v16i8_to_v4i8(<16 x i8>* %L, <4 x i8>* %S) nounwind {
+; SSE2-LABEL: shuffle_v16i8_to_v4i8:
+; SSE2: # BB#0:
+; SSE2-NEXT: movdqa (%rdi), %xmm0
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: movd %xmm0, (%rsi)
+; SSE2-NEXT: retq
+;
+; SSE42-LABEL: shuffle_v16i8_to_v4i8:
+; SSE42: # BB#0:
+; SSE42-NEXT: movdqa (%rdi), %xmm0
+; SSE42-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
+; SSE42-NEXT: movd %xmm0, (%rsi)
+; SSE42-NEXT: retq
+;
; AVX-LABEL: shuffle_v16i8_to_v4i8:
; AVX: # BB#0:
; AVX-NEXT: vmovdqa (%rdi), %xmm0
@@ -283,6 +373,22 @@ define void @shuffle_v16i8_to_v4i8(<16 x i8>* %L, <4 x i8>* %S) nounwind {
}
define void @trunc_v4i32_to_v4i8(<16 x i8>* %L, <4 x i8>* %S) nounwind {
+; SSE2-LABEL: trunc_v4i32_to_v4i8:
+; SSE2: # BB#0:
+; SSE2-NEXT: movdqa (%rdi), %xmm0
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: movd %xmm0, (%rsi)
+; SSE2-NEXT: retq
+;
+; SSE42-LABEL: trunc_v4i32_to_v4i8:
+; SSE42: # BB#0:
+; SSE42-NEXT: movdqa (%rdi), %xmm0
+; SSE42-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
+; SSE42-NEXT: movd %xmm0, (%rsi)
+; SSE42-NEXT: retq
+;
; AVX-LABEL: trunc_v4i32_to_v4i8:
; AVX: # BB#0:
; AVX-NEXT: vmovdqa (%rdi), %xmm0
@@ -323,6 +429,13 @@ define void @trunc_v4i32_to_v4i8(<16 x i8>* %L, <4 x i8>* %S) nounwind {
}
define void @shuffle_v8i16_to_v2i16(<8 x i16>* %L, <2 x i16>* %S) nounwind {
+; SSE-LABEL: shuffle_v8i16_to_v2i16:
+; SSE: # BB#0:
+; SSE-NEXT: pshufd {{.*#+}} xmm0 = mem[0,2,2,3]
+; SSE-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]
+; SSE-NEXT: movd %xmm0, (%rsi)
+; SSE-NEXT: retq
+;
; AVX-LABEL: shuffle_v8i16_to_v2i16:
; AVX: # BB#0:
; AVX-NEXT: vpshufd {{.*#+}} xmm0 = mem[0,2,2,3]
@@ -362,6 +475,13 @@ define void @shuffle_v8i16_to_v2i16(<8 x i16>* %L, <2 x i16>* %S) nounwind {
}
define void @trunc_v2i64_to_v2i16(<8 x i16>* %L, <2 x i16>* %S) nounwind {
+; SSE-LABEL: trunc_v2i64_to_v2i16:
+; SSE: # BB#0:
+; SSE-NEXT: pshufd {{.*#+}} xmm0 = mem[0,2,2,3]
+; SSE-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]
+; SSE-NEXT: movd %xmm0, (%rsi)
+; SSE-NEXT: retq
+;
; AVX-LABEL: trunc_v2i64_to_v2i16:
; AVX: # BB#0:
; AVX-NEXT: vpshufd {{.*#+}} xmm0 = mem[0,2,2,3]
@@ -402,6 +522,24 @@ define void @trunc_v2i64_to_v2i16(<8 x i16>* %L, <2 x i16>* %S) nounwind {
}
define void @shuffle_v16i8_to_v2i8(<16 x i8>* %L, <2 x i8>* %S) nounwind {
+; SSE2-LABEL: shuffle_v16i8_to_v2i8:
+; SSE2: # BB#0:
+; SSE2-NEXT: movdqa (%rdi), %xmm0
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: movd %xmm0, %eax
+; SSE2-NEXT: movw %ax, (%rsi)
+; SSE2-NEXT: retq
+;
+; SSE42-LABEL: shuffle_v16i8_to_v2i8:
+; SSE42: # BB#0:
+; SSE42-NEXT: movdqa (%rdi), %xmm0
+; SSE42-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]
+; SSE42-NEXT: pextrw $0, %xmm0, (%rsi)
+; SSE42-NEXT: retq
+;
; AVX-LABEL: shuffle_v16i8_to_v2i8:
; AVX: # BB#0:
; AVX-NEXT: vmovdqa (%rdi), %xmm0
@@ -441,6 +579,24 @@ define void @shuffle_v16i8_to_v2i8(<16 x i8>* %L, <2 x i8>* %S) nounwind {
}
define void @trunc_v2i64_to_v2i8(<16 x i8>* %L, <2 x i8>* %S) nounwind {
+; SSE2-LABEL: trunc_v2i64_to_v2i8:
+; SSE2: # BB#0:
+; SSE2-NEXT: movdqa (%rdi), %xmm0
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: packuswb %xmm0, %xmm0
+; SSE2-NEXT: movd %xmm0, %eax
+; SSE2-NEXT: movw %ax, (%rsi)
+; SSE2-NEXT: retq
+;
+; SSE42-LABEL: trunc_v2i64_to_v2i8:
+; SSE42: # BB#0:
+; SSE42-NEXT: movdqa (%rdi), %xmm0
+; SSE42-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u]
+; SSE42-NEXT: pextrw $0, %xmm0, (%rsi)
+; SSE42-NEXT: retq
+;
; AVX-LABEL: trunc_v2i64_to_v2i8:
; AVX: # BB#0:
; AVX-NEXT: vmovdqa (%rdi), %xmm0
diff --git a/test/CodeGen/X86/shuffle-vs-trunc-256.ll b/test/CodeGen/X86/shuffle-vs-trunc-256.ll
index b4ea9e2dc919..ee8921c41a06 100644
--- a/test/CodeGen/X86/shuffle-vs-trunc-256.ll
+++ b/test/CodeGen/X86/shuffle-vs-trunc-256.ll
@@ -1,4 +1,5 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; 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
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512 --check-prefix=AVX512F
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefix=AVX512 --check-prefix=AVX512VL
@@ -10,17 +11,29 @@
; Ideally, the shuffles should be lowered to code with the same quality as the truncates.
define void @shuffle_v32i8_to_v16i8(<32 x i8>* %L, <16 x i8>* %S) nounwind {
-; AVX-LABEL: shuffle_v32i8_to_v16i8:
-; AVX: # BB#0:
-; AVX-NEXT: vmovdqa (%rdi), %ymm0
-; AVX-NEXT: vextracti128 $1, %ymm0, %xmm1
-; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
-; AVX-NEXT: vpshufb %xmm2, %xmm1, %xmm1
-; AVX-NEXT: vpshufb %xmm2, %xmm0, %xmm0
-; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
-; AVX-NEXT: vmovdqa %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: shuffle_v32i8_to_v16i8:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovdqa (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
+; AVX1-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; AVX1-NEXT: vmovdqa %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: shuffle_v32i8_to_v16i8:
+; AVX2: # BB#0:
+; AVX2-NEXT: vmovdqa (%rdi), %ymm0
+; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
+; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
+; AVX2-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX2-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; AVX2-NEXT: vmovdqa %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: shuffle_v32i8_to_v16i8:
; AVX512F: # BB#0:
@@ -76,17 +89,29 @@ define void @shuffle_v32i8_to_v16i8(<32 x i8>* %L, <16 x i8>* %S) nounwind {
}
define void @trunc_v16i16_to_v16i8(<32 x i8>* %L, <16 x i8>* %S) nounwind {
-; AVX-LABEL: trunc_v16i16_to_v16i8:
-; AVX: # BB#0:
-; AVX-NEXT: vmovdqa (%rdi), %ymm0
-; AVX-NEXT: vextracti128 $1, %ymm0, %xmm1
-; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
-; AVX-NEXT: vpshufb %xmm2, %xmm1, %xmm1
-; AVX-NEXT: vpshufb %xmm2, %xmm0, %xmm0
-; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
-; AVX-NEXT: vmovdqa %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: trunc_v16i16_to_v16i8:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovdqa (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
+; AVX1-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; AVX1-NEXT: vmovdqa %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: trunc_v16i16_to_v16i8:
+; AVX2: # BB#0:
+; AVX2-NEXT: vmovdqa (%rdi), %ymm0
+; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
+; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
+; AVX2-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX2-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; AVX2-NEXT: vmovdqa %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: trunc_v16i16_to_v16i8:
; AVX512F: # BB#0:
@@ -126,17 +151,29 @@ define void @trunc_v16i16_to_v16i8(<32 x i8>* %L, <16 x i8>* %S) nounwind {
}
define void @shuffle_v16i16_to_v8i16(<16 x i16>* %L, <8 x i16>* %S) nounwind {
-; AVX-LABEL: shuffle_v16i16_to_v8i16:
-; AVX: # BB#0:
-; AVX-NEXT: vmovdqa (%rdi), %ymm0
-; AVX-NEXT: vextracti128 $1, %ymm0, %xmm1
-; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
-; AVX-NEXT: vpshufb %xmm2, %xmm1, %xmm1
-; AVX-NEXT: vpshufb %xmm2, %xmm0, %xmm0
-; AVX-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
-; AVX-NEXT: vmovdqa %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: shuffle_v16i16_to_v8i16:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovdqa (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; AVX1-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; AVX1-NEXT: vmovdqa %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: shuffle_v16i16_to_v8i16:
+; AVX2: # BB#0:
+; AVX2-NEXT: vmovdqa (%rdi), %ymm0
+; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
+; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; AVX2-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX2-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; AVX2-NEXT: vmovdqa %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: shuffle_v16i16_to_v8i16:
; AVX512F: # BB#0:
@@ -198,14 +235,26 @@ define void @shuffle_v16i16_to_v8i16(<16 x i16>* %L, <8 x i16>* %S) nounwind {
}
define void @trunc_v8i32_to_v8i16(<16 x i16>* %L, <8 x i16>* %S) nounwind {
-; AVX-LABEL: trunc_v8i32_to_v8i16:
-; AVX: # BB#0:
-; AVX-NEXT: vmovdqa (%rdi), %ymm0
-; AVX-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15,16,17,20,21,24,25,28,29,24,25,28,29,28,29,30,31]
-; AVX-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
-; AVX-NEXT: vmovdqa %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: trunc_v8i32_to_v8i16:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovdqa (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; AVX1-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; AVX1-NEXT: vmovdqa %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: trunc_v8i32_to_v8i16:
+; AVX2: # BB#0:
+; AVX2-NEXT: vmovdqa (%rdi), %ymm0
+; AVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15,16,17,20,21,24,25,28,29,24,25,28,29,28,29,30,31]
+; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
+; AVX2-NEXT: vmovdqa %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: trunc_v8i32_to_v8i16:
; AVX512F: # BB#0:
@@ -295,13 +344,22 @@ define void @shuffle_v8i32_to_v4i32(<8 x i32>* %L, <4 x i32>* %S) nounwind {
}
define void @trunc_v4i64_to_v4i32(<8 x i32>* %L, <4 x i32>* %S) nounwind {
-; AVX-LABEL: trunc_v4i64_to_v4i32:
-; AVX: # BB#0:
-; AVX-NEXT: vpshufd {{.*#+}} ymm0 = mem[0,2,2,3,4,6,6,7]
-; AVX-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
-; AVX-NEXT: vmovdqa %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: trunc_v4i64_to_v4i32:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovaps (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vshufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[0,2]
+; AVX1-NEXT: vmovaps %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: trunc_v4i64_to_v4i32:
+; AVX2: # BB#0:
+; AVX2-NEXT: vpshufd {{.*#+}} ymm0 = mem[0,2,2,3,4,6,6,7]
+; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
+; AVX2-NEXT: vmovdqa %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: trunc_v4i64_to_v4i32:
; AVX512F: # BB#0:
@@ -340,17 +398,29 @@ define void @trunc_v4i64_to_v4i32(<8 x i32>* %L, <4 x i32>* %S) nounwind {
}
define void @shuffle_v32i8_to_v8i8(<32 x i8>* %L, <8 x i8>* %S) nounwind {
-; AVX-LABEL: shuffle_v32i8_to_v8i8:
-; AVX: # BB#0:
-; AVX-NEXT: vmovdqa (%rdi), %ymm0
-; AVX-NEXT: vextracti128 $1, %ymm0, %xmm1
-; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
-; AVX-NEXT: vpshufb %xmm2, %xmm1, %xmm1
-; AVX-NEXT: vpshufb %xmm2, %xmm0, %xmm0
-; AVX-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
-; AVX-NEXT: vmovq %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: shuffle_v32i8_to_v8i8:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovdqa (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
+; AVX1-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; AVX1-NEXT: vmovq %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: shuffle_v32i8_to_v8i8:
+; AVX2: # BB#0:
+; AVX2-NEXT: vmovdqa (%rdi), %ymm0
+; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
+; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
+; AVX2-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX2-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX2-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; AVX2-NEXT: vmovq %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: shuffle_v32i8_to_v8i8:
; AVX512F: # BB#0:
@@ -409,15 +479,27 @@ define void @shuffle_v32i8_to_v8i8(<32 x i8>* %L, <8 x i8>* %S) nounwind {
}
define void @trunc_v8i32_to_v8i8(<32 x i8>* %L, <8 x i8>* %S) nounwind {
-; AVX-LABEL: trunc_v8i32_to_v8i8:
-; AVX: # BB#0:
-; AVX-NEXT: vmovdqa (%rdi), %ymm0
-; AVX-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15,16,17,20,21,24,25,28,29,24,25,28,29,28,29,30,31]
-; AVX-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
-; AVX-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u]
-; AVX-NEXT: vmovq %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: trunc_v8i32_to_v8i8:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovdqa (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
+; AVX1-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; AVX1-NEXT: vmovq %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: trunc_v8i32_to_v8i8:
+; AVX2: # BB#0:
+; AVX2-NEXT: vmovdqa (%rdi), %ymm0
+; AVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15,16,17,20,21,24,25,28,29,24,25,28,29,28,29,30,31]
+; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
+; AVX2-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u]
+; AVX2-NEXT: vmovq %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: trunc_v8i32_to_v8i8:
; AVX512F: # BB#0:
@@ -458,18 +540,31 @@ define void @trunc_v8i32_to_v8i8(<32 x i8>* %L, <8 x i8>* %S) nounwind {
}
define void @shuffle_v16i16_to_v4i16(<16 x i16>* %L, <4 x i16>* %S) nounwind {
-; AVX-LABEL: shuffle_v16i16_to_v4i16:
-; AVX: # BB#0:
-; AVX-NEXT: vmovdqa (%rdi), %ymm0
-; AVX-NEXT: vextracti128 $1, %ymm0, %xmm1
-; AVX-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
-; AVX-NEXT: vpshuflw {{.*#+}} xmm1 = xmm1[0,2,2,3,4,5,6,7]
-; AVX-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
-; AVX-NEXT: vpshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]
-; AVX-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
-; AVX-NEXT: vmovq %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: shuffle_v16i16_to_v4i16:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovdqa (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
+; AVX1-NEXT: vpshuflw {{.*#+}} xmm1 = xmm1[0,2,2,3,4,5,6,7]
+; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; AVX1-NEXT: vpshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]
+; AVX1-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; AVX1-NEXT: vmovq %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: shuffle_v16i16_to_v4i16:
+; AVX2: # BB#0:
+; AVX2-NEXT: vmovdqa (%rdi), %ymm0
+; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
+; AVX2-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
+; AVX2-NEXT: vpshuflw {{.*#+}} xmm1 = xmm1[0,2,2,3,4,5,6,7]
+; AVX2-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; AVX2-NEXT: vpshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]
+; AVX2-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; AVX2-NEXT: vmovq %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: shuffle_v16i16_to_v4i16:
; AVX512F: # BB#0:
@@ -521,14 +616,24 @@ define void @shuffle_v16i16_to_v4i16(<16 x i16>* %L, <4 x i16>* %S) nounwind {
}
define void @trunc_v4i64_to_v4i16(<16 x i16>* %L, <4 x i16>* %S) nounwind {
-; AVX-LABEL: trunc_v4i64_to_v4i16:
-; AVX: # BB#0:
-; AVX-NEXT: vpshufd {{.*#+}} ymm0 = mem[0,2,2,3,4,6,6,7]
-; AVX-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
-; AVX-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
-; AVX-NEXT: vmovq %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: trunc_v4i64_to_v4i16:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovaps (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vshufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[0,2]
+; AVX1-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; AVX1-NEXT: vmovq %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: trunc_v4i64_to_v4i16:
+; AVX2: # BB#0:
+; AVX2-NEXT: vpshufd {{.*#+}} ymm0 = mem[0,2,2,3,4,6,6,7]
+; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
+; AVX2-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; AVX2-NEXT: vmovq %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: trunc_v4i64_to_v4i16:
; AVX512F: # BB#0:
@@ -569,17 +674,29 @@ define void @trunc_v4i64_to_v4i16(<16 x i16>* %L, <4 x i16>* %S) nounwind {
}
define void @shuffle_v32i8_to_v4i8(<32 x i8>* %L, <4 x i8>* %S) nounwind {
-; AVX-LABEL: shuffle_v32i8_to_v4i8:
-; AVX: # BB#0:
-; AVX-NEXT: vmovdqa (%rdi), %ymm0
-; AVX-NEXT: vextracti128 $1, %ymm0, %xmm1
-; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = <0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u>
-; AVX-NEXT: vpshufb %xmm2, %xmm1, %xmm1
-; AVX-NEXT: vpshufb %xmm2, %xmm0, %xmm0
-; AVX-NEXT: vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
-; AVX-NEXT: vmovd %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: shuffle_v32i8_to_v4i8:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovdqa (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = <0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u>
+; AVX1-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX1-NEXT: vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
+; AVX1-NEXT: vmovd %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: shuffle_v32i8_to_v4i8:
+; AVX2: # BB#0:
+; AVX2-NEXT: vmovdqa (%rdi), %ymm0
+; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
+; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = <0,8,u,u,u,u,u,u,u,u,u,u,u,u,u,u>
+; AVX2-NEXT: vpshufb %xmm2, %xmm1, %xmm1
+; AVX2-NEXT: vpshufb %xmm2, %xmm0, %xmm0
+; AVX2-NEXT: vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
+; AVX2-NEXT: vmovd %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: shuffle_v32i8_to_v4i8:
; AVX512F: # BB#0:
@@ -629,14 +746,24 @@ define void @shuffle_v32i8_to_v4i8(<32 x i8>* %L, <4 x i8>* %S) nounwind {
}
define void @trunc_v4i64_to_v4i8(<32 x i8>* %L, <4 x i8>* %S) nounwind {
-; AVX-LABEL: trunc_v4i64_to_v4i8:
-; AVX: # BB#0:
-; AVX-NEXT: vpshufd {{.*#+}} ymm0 = mem[0,2,2,3,4,6,6,7]
-; AVX-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
-; AVX-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
-; AVX-NEXT: vmovd %xmm0, (%rsi)
-; AVX-NEXT: vzeroupper
-; AVX-NEXT: retq
+; AVX1-LABEL: trunc_v4i64_to_v4i8:
+; AVX1: # BB#0:
+; AVX1-NEXT: vmovaps (%rdi), %ymm0
+; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm1
+; AVX1-NEXT: vshufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[0,2]
+; AVX1-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
+; AVX1-NEXT: vmovd %xmm0, (%rsi)
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: trunc_v4i64_to_v4i8:
+; AVX2: # BB#0:
+; AVX2-NEXT: vpshufd {{.*#+}} ymm0 = mem[0,2,2,3,4,6,6,7]
+; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
+; AVX2-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
+; AVX2-NEXT: vmovd %xmm0, (%rsi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
;
; AVX512F-LABEL: trunc_v4i64_to_v4i8:
; AVX512F: # BB#0:
diff --git a/test/CodeGen/X86/splat-for-size.ll b/test/CodeGen/X86/splat-for-size.ll
index 0d1c1bcf76ba..a43e7b767322 100644
--- a/test/CodeGen/X86/splat-for-size.ll
+++ b/test/CodeGen/X86/splat-for-size.ll
@@ -60,7 +60,7 @@ define <2 x i64> @splat_v2i64(<2 x i64> %x) #1 {
; AVX2-NEXT: vpbroadcastq {{.*}}(%rip), %xmm1
; AVX2-NEXT: vpaddq %xmm1, %xmm0, %xmm0
; AVX2-NEXT: retq
- %add = add <2 x i64> %x, <i64 1, i64 1>
+ %add = add <2 x i64> %x, <i64 2, i64 2>
ret <2 x i64> %add
}
@@ -81,7 +81,7 @@ define <4 x i64> @splat_v4i64(<4 x i64> %x) #0 {
; AVX2-NEXT: vpbroadcastq {{.*}}(%rip), %ymm1
; AVX2-NEXT: vpaddq %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
- %add = add <4 x i64> %x, <i64 1, i64 1, i64 1, i64 1>
+ %add = add <4 x i64> %x, <i64 2, i64 2, i64 2, i64 2>
ret <4 x i64> %add
}
@@ -98,7 +98,7 @@ define <4 x i32> @splat_v4i32(<4 x i32> %x) #1 {
; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %xmm1
; AVX2-NEXT: vpaddd %xmm1, %xmm0, %xmm0
; AVX2-NEXT: retq
- %add = add <4 x i32> %x, <i32 1, i32 1, i32 1, i32 1>
+ %add = add <4 x i32> %x, <i32 2, i32 2, i32 2, i32 2>
ret <4 x i32> %add
}
@@ -118,7 +118,7 @@ define <8 x i32> @splat_v8i32(<8 x i32> %x) #0 {
; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %ymm1
; AVX2-NEXT: vpaddd %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
- %add = add <8 x i32> %x, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
+ %add = add <8 x i32> %x, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
ret <8 x i32> %add
}
@@ -134,7 +134,7 @@ define <8 x i16> @splat_v8i16(<8 x i16> %x) #1 {
; AVX2-NEXT: vpbroadcastw {{.*}}(%rip), %xmm1
; AVX2-NEXT: vpaddw %xmm1, %xmm0, %xmm0
; AVX2-NEXT: retq
- %add = add <8 x i16> %x, <i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1>
+ %add = add <8 x i16> %x, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
ret <8 x i16> %add
}
@@ -143,7 +143,7 @@ define <16 x i16> @splat_v16i16(<16 x i16> %x) #0 {
; AVX-LABEL: splat_v16i16:
; AVX: # BB#0:
; AVX-NEXT: vextractf128 $1, %ymm0, %xmm1
-; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = [1,1,1,1,1,1,1,1]
+; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = [2,2,2,2,2,2,2,2]
; AVX-NEXT: vpaddw %xmm2, %xmm1, %xmm1
; AVX-NEXT: vpaddw %xmm2, %xmm0, %xmm0
; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
@@ -154,7 +154,7 @@ define <16 x i16> @splat_v16i16(<16 x i16> %x) #0 {
; AVX2-NEXT: vpbroadcastw {{.*}}(%rip), %ymm1
; AVX2-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
- %add = add <16 x i16> %x, <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>
+ %add = add <16 x i16> %x, <i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2>
ret <16 x i16> %add
}
@@ -170,7 +170,7 @@ define <16 x i8> @splat_v16i8(<16 x i8> %x) #1 {
; AVX2-NEXT: vpbroadcastb {{.*}}(%rip), %xmm1
; AVX2-NEXT: vpaddb %xmm1, %xmm0, %xmm0
; AVX2-NEXT: retq
- %add = add <16 x i8> %x, <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>
+ %add = add <16 x i8> %x, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
ret <16 x i8> %add
}
@@ -179,7 +179,7 @@ define <32 x i8> @splat_v32i8(<32 x i8> %x) #0 {
; AVX-LABEL: splat_v32i8:
; AVX: # BB#0:
; AVX-NEXT: vextractf128 $1, %ymm0, %xmm1
-; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
+; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]
; AVX-NEXT: vpaddb %xmm2, %xmm1, %xmm1
; AVX-NEXT: vpaddb %xmm2, %xmm0, %xmm0
; AVX-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
@@ -190,7 +190,7 @@ define <32 x i8> @splat_v32i8(<32 x i8> %x) #0 {
; AVX2-NEXT: vpbroadcastb {{.*}}(%rip), %ymm1
; AVX2-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
- %add = add <32 x i8> %x, <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>
+ %add = add <32 x i8> %x, <i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2>
ret <32 x i8> %add
}
diff --git a/test/CodeGen/X86/sse-scalar-fp-arith.ll b/test/CodeGen/X86/sse-scalar-fp-arith.ll
index 4b2af6fce8de..ebc29b1393b0 100644
--- a/test/CodeGen/X86/sse-scalar-fp-arith.ll
+++ b/test/CodeGen/X86/sse-scalar-fp-arith.ll
@@ -1,10 +1,8 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -mcpu=x86-64 -mattr=+sse2 < %s | FileCheck --check-prefix=SSE --check-prefix=SSE2 %s
-; RUN: llc -mcpu=x86-64 -mattr=+sse4.1 < %s | FileCheck --check-prefix=SSE --check-prefix=SSE41 %s
-; RUN: llc -mcpu=x86-64 -mattr=+avx < %s | FileCheck --check-prefix=AVX --check-prefix=AVX1 %s
-; RUN: llc -mcpu=x86-64 -mattr=+avx512f < %s | FileCheck --check-prefix=AVX --check-prefix=AVX512 %s
-
-target triple = "x86_64-unknown-unknown"
+; 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=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX512
; Ensure that the backend no longer emits unnecessary vector insert
; instructions immediately after SSE scalar fp instructions
diff --git a/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll b/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
index 13911eeea6c4..02c2420d9fae 100644
--- a/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
+++ b/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
@@ -83,7 +83,8 @@ define void @test_x86_sse2_storeu_dq(i8* %a0, <16 x i8> %a1) {
; CHECK-LABEL: test_x86_sse2_storeu_dq:
; CHECK: ## BB#0:
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: paddb LCPI7_0, %xmm0
+; CHECK-NEXT: pcmpeqd %xmm1, %xmm1
+; CHECK-NEXT: psubb %xmm1, %xmm0
; CHECK-NEXT: movdqu %xmm0, (%eax)
; CHECK-NEXT: retl
%a2 = add <16 x i8> %a1, <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>
diff --git a/test/CodeGen/X86/sse2.ll b/test/CodeGen/X86/sse2.ll
index e20ec8221d3d..5e7def9150e9 100644
--- a/test/CodeGen/X86/sse2.ll
+++ b/test/CodeGen/X86/sse2.ll
@@ -1,16 +1,25 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i386-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X86
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X64
+
; Tests for SSE2 and below, without SSE3+.
-; RUN: llc < %s -mtriple=i386-apple-darwin10 -mattr=+sse2 -O3 | FileCheck %s
define void @test1(<2 x double>* %r, <2 x double>* %A, double %B) nounwind {
-; CHECK-LABEL: test1:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; CHECK-NEXT: movapd (%ecx), %xmm0
-; CHECK-NEXT: movlpd {{.*#+}} xmm0 = mem[0],xmm0[1]
-; CHECK-NEXT: movapd %xmm0, (%eax)
-; CHECK-NEXT: retl
+; X86-LABEL: test1:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movapd (%ecx), %xmm0
+; X86-NEXT: movlpd {{.*#+}} xmm0 = mem[0],xmm0[1]
+; X86-NEXT: movapd %xmm0, (%eax)
+; X86-NEXT: retl
+;
+; X64-LABEL: test1:
+; X64: # BB#0:
+; X64-NEXT: movapd (%rsi), %xmm1
+; X64-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
+; X64-NEXT: movapd %xmm1, (%rdi)
+; X64-NEXT: retq
%tmp3 = load <2 x double>, <2 x double>* %A, align 16
%tmp7 = insertelement <2 x double> undef, double %B, i32 0
%tmp9 = shufflevector <2 x double> %tmp3, <2 x double> %tmp7, <2 x i32> < i32 2, i32 1 >
@@ -19,14 +28,21 @@ define void @test1(<2 x double>* %r, <2 x double>* %A, double %B) nounwind {
}
define void @test2(<2 x double>* %r, <2 x double>* %A, double %B) nounwind {
-; CHECK-LABEL: test2:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; CHECK-NEXT: movapd (%ecx), %xmm0
-; CHECK-NEXT: movhpd {{.*#+}} xmm0 = xmm0[0],mem[0]
-; CHECK-NEXT: movapd %xmm0, (%eax)
-; CHECK-NEXT: retl
+; X86-LABEL: test2:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movapd (%ecx), %xmm0
+; X86-NEXT: movhpd {{.*#+}} xmm0 = xmm0[0],mem[0]
+; X86-NEXT: movapd %xmm0, (%eax)
+; X86-NEXT: retl
+;
+; X64-LABEL: test2:
+; X64: # BB#0:
+; X64-NEXT: movapd (%rsi), %xmm1
+; X64-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]
+; X64-NEXT: movapd %xmm1, (%rdi)
+; X64-NEXT: retq
%tmp3 = load <2 x double>, <2 x double>* %A, align 16
%tmp7 = insertelement <2 x double> undef, double %B, i32 0
%tmp9 = shufflevector <2 x double> %tmp3, <2 x double> %tmp7, <2 x i32> < i32 0, i32 2 >
@@ -36,15 +52,22 @@ define void @test2(<2 x double>* %r, <2 x double>* %A, double %B) nounwind {
define void @test3(<4 x float>* %res, <4 x float>* %A, <4 x float>* %B) nounwind {
-; CHECK-LABEL: test3:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
-; CHECK-NEXT: movaps (%edx), %xmm0
-; CHECK-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
-; CHECK-NEXT: movaps %xmm0, (%eax)
-; CHECK-NEXT: retl
+; X86-LABEL: test3:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
+; X86-NEXT: movaps (%edx), %xmm0
+; X86-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
+; X86-NEXT: movaps %xmm0, (%eax)
+; X86-NEXT: retl
+;
+; X64-LABEL: test3:
+; X64: # BB#0:
+; X64-NEXT: movaps (%rsi), %xmm0
+; X64-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
+; X64-NEXT: movaps %xmm0, (%rdi)
+; X64-NEXT: retq
%tmp = load <4 x float>, <4 x float>* %B ; <<4 x float>> [#uses=2]
%tmp3 = load <4 x float>, <4 x float>* %A ; <<4 x float>> [#uses=2]
%tmp.upgrd.1 = extractelement <4 x float> %tmp3, i32 0 ; <float> [#uses=1]
@@ -60,27 +83,42 @@ define void @test3(<4 x float>* %res, <4 x float>* %A, <4 x float>* %B) nounwind
}
define void @test4(<4 x float> %X, <4 x float>* %res) nounwind {
-; CHECK-LABEL: test4:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,1,3,3]
-; CHECK-NEXT: movaps %xmm0, (%eax)
-; CHECK-NEXT: retl
+; X86-LABEL: test4:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,1,3,3]
+; X86-NEXT: movaps %xmm0, (%eax)
+; X86-NEXT: retl
+;
+; X64-LABEL: test4:
+; X64: # BB#0:
+; X64-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,1,3,3]
+; X64-NEXT: movaps %xmm0, (%rdi)
+; X64-NEXT: retq
%tmp5 = shufflevector <4 x float> %X, <4 x float> undef, <4 x i32> < i32 2, i32 6, i32 3, i32 7 > ; <<4 x float>> [#uses=1]
store <4 x float> %tmp5, <4 x float>* %res
ret void
}
define <4 x i32> @test5(i8** %ptr) nounwind {
-; CHECK-LABEL: test5:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: movl (%eax), %eax
-; CHECK-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
-; CHECK-NEXT: pxor %xmm0, %xmm0
-; CHECK-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
-; CHECK-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
-; CHECK-NEXT: retl
+; X86-LABEL: test5:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl (%eax), %eax
+; X86-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
+; X86-NEXT: pxor %xmm0, %xmm0
+; X86-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
+; X86-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
+; X86-NEXT: retl
+;
+; X64-LABEL: test5:
+; X64: # BB#0:
+; X64-NEXT: movq (%rdi), %rax
+; X64-NEXT: movd {{.*#+}} xmm1 = mem[0],zero,zero,zero
+; X64-NEXT: pxor %xmm0, %xmm0
+; X64-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
+; X64-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
+; X64-NEXT: retq
%tmp = load i8*, i8** %ptr ; <i8*> [#uses=1]
%tmp.upgrd.1 = bitcast i8* %tmp to float* ; <float*> [#uses=1]
%tmp.upgrd.2 = load float, float* %tmp.upgrd.1 ; <float> [#uses=1]
@@ -97,13 +135,19 @@ define <4 x i32> @test5(i8** %ptr) nounwind {
}
define void @test6(<4 x float>* %res, <4 x float>* %A) nounwind {
-; CHECK-LABEL: test6:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; CHECK-NEXT: movaps (%ecx), %xmm0
-; CHECK-NEXT: movaps %xmm0, (%eax)
-; CHECK-NEXT: retl
+; X86-LABEL: test6:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movaps (%ecx), %xmm0
+; X86-NEXT: movaps %xmm0, (%eax)
+; X86-NEXT: retl
+;
+; X64-LABEL: test6:
+; X64: # BB#0:
+; X64-NEXT: movaps (%rsi), %xmm0
+; X64-NEXT: movaps %xmm0, (%rdi)
+; X64-NEXT: retq
%tmp1 = load <4 x float>, <4 x float>* %A ; <<4 x float>> [#uses=1]
%tmp2 = shufflevector <4 x float> %tmp1, <4 x float> undef, <4 x i32> < i32 0, i32 5, i32 6, i32 7 > ; <<4 x float>> [#uses=1]
store <4 x float> %tmp2, <4 x float>* %res
@@ -111,11 +155,17 @@ define void @test6(<4 x float>* %res, <4 x float>* %A) nounwind {
}
define void @test7() nounwind {
-; CHECK-LABEL: test7:
-; CHECK: ## BB#0:
-; CHECK-NEXT: xorps %xmm0, %xmm0
-; CHECK-NEXT: movaps %xmm0, 0
-; CHECK-NEXT: retl
+; X86-LABEL: test7:
+; X86: # BB#0:
+; X86-NEXT: xorps %xmm0, %xmm0
+; X86-NEXT: movaps %xmm0, 0
+; X86-NEXT: retl
+;
+; X64-LABEL: test7:
+; X64: # BB#0:
+; X64-NEXT: xorps %xmm0, %xmm0
+; X64-NEXT: movaps %xmm0, 0
+; X64-NEXT: retq
bitcast <4 x i32> zeroinitializer to <4 x float> ; <<4 x float>>:1 [#uses=1]
shufflevector <4 x float> %1, <4 x float> zeroinitializer, <4 x i32> zeroinitializer ; <<4 x float>>:2 [#uses=1]
store <4 x float> %2, <4 x float>* null
@@ -125,11 +175,15 @@ define void @test7() nounwind {
@x = external global [4 x i32]
define <2 x i64> @test8() nounwind {
-; CHECK-LABEL: test8:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl L_x$non_lazy_ptr, %eax
-; CHECK-NEXT: movups (%eax), %xmm0
-; CHECK-NEXT: retl
+; X86-LABEL: test8:
+; X86: # BB#0:
+; X86-NEXT: movups x, %xmm0
+; X86-NEXT: retl
+;
+; X64-LABEL: test8:
+; X64: # BB#0:
+; X64-NEXT: movups {{.*}}(%rip), %xmm0
+; X64-NEXT: retq
%tmp = load i32, i32* getelementptr ([4 x i32], [4 x i32]* @x, i32 0, i32 0) ; <i32> [#uses=1]
%tmp3 = load i32, i32* getelementptr ([4 x i32], [4 x i32]* @x, i32 0, i32 1) ; <i32> [#uses=1]
%tmp5 = load i32, i32* getelementptr ([4 x i32], [4 x i32]* @x, i32 0, i32 2) ; <i32> [#uses=1]
@@ -143,10 +197,17 @@ define <2 x i64> @test8() nounwind {
}
define <4 x float> @test9(i32 %dummy, float %a, float %b, float %c, float %d) nounwind {
-; CHECK-LABEL: test9:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movups {{[0-9]+}}(%esp), %xmm0
-; CHECK-NEXT: retl
+; X86-LABEL: test9:
+; X86: # BB#0:
+; X86-NEXT: movups {{[0-9]+}}(%esp), %xmm0
+; X86-NEXT: retl
+;
+; X64-LABEL: test9:
+; X64: # BB#0:
+; X64-NEXT: unpcklps {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
+; X64-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; X64-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]
+; X64-NEXT: retq
%tmp = insertelement <4 x float> undef, float %a, i32 0 ; <<4 x float>> [#uses=1]
%tmp11 = insertelement <4 x float> %tmp, float %b, i32 1 ; <<4 x float>> [#uses=1]
%tmp12 = insertelement <4 x float> %tmp11, float %c, i32 2 ; <<4 x float>> [#uses=1]
@@ -155,10 +216,17 @@ define <4 x float> @test9(i32 %dummy, float %a, float %b, float %c, float %d) no
}
define <4 x float> @test10(float %a, float %b, float %c, float %d) nounwind {
-; CHECK-LABEL: test10:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movaps {{[0-9]+}}(%esp), %xmm0
-; CHECK-NEXT: retl
+; X86-LABEL: test10:
+; X86: # BB#0:
+; X86-NEXT: movups {{[0-9]+}}(%esp), %xmm0
+; X86-NEXT: retl
+;
+; X64-LABEL: test10:
+; X64: # BB#0:
+; X64-NEXT: unpcklps {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
+; X64-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; X64-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]
+; X64-NEXT: retq
%tmp = insertelement <4 x float> undef, float %a, i32 0 ; <<4 x float>> [#uses=1]
%tmp11 = insertelement <4 x float> %tmp, float %b, i32 1 ; <<4 x float>> [#uses=1]
%tmp12 = insertelement <4 x float> %tmp11, float %c, i32 2 ; <<4 x float>> [#uses=1]
@@ -167,26 +235,42 @@ define <4 x float> @test10(float %a, float %b, float %c, float %d) nounwind {
}
define <2 x double> @test11(double %a, double %b) nounwind {
-; CHECK-LABEL: test11:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movaps {{[0-9]+}}(%esp), %xmm0
-; CHECK-NEXT: retl
+; X86-LABEL: test11:
+; X86: # BB#0:
+; X86-NEXT: movups {{[0-9]+}}(%esp), %xmm0
+; X86-NEXT: retl
+;
+; X64-LABEL: test11:
+; X64: # BB#0:
+; X64-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; X64-NEXT: retq
%tmp = insertelement <2 x double> undef, double %a, i32 0 ; <<2 x double>> [#uses=1]
%tmp7 = insertelement <2 x double> %tmp, double %b, i32 1 ; <<2 x double>> [#uses=1]
ret <2 x double> %tmp7
}
define void @test12() nounwind {
-; CHECK-LABEL: test12:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movapd 0, %xmm0
-; CHECK-NEXT: movapd {{.*#+}} xmm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00]
-; CHECK-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
-; CHECK-NEXT: xorps %xmm2, %xmm2
-; CHECK-NEXT: movhlps {{.*#+}} xmm2 = xmm0[1],xmm2[1]
-; CHECK-NEXT: addps %xmm1, %xmm2
-; CHECK-NEXT: movaps %xmm2, 0
-; CHECK-NEXT: retl
+; X86-LABEL: test12:
+; X86: # BB#0:
+; X86-NEXT: movapd 0, %xmm0
+; X86-NEXT: movapd {{.*#+}} xmm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00]
+; X86-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
+; X86-NEXT: xorps %xmm2, %xmm2
+; X86-NEXT: movhlps {{.*#+}} xmm2 = xmm0[1],xmm2[1]
+; X86-NEXT: addps %xmm1, %xmm2
+; X86-NEXT: movaps %xmm2, 0
+; X86-NEXT: retl
+;
+; X64-LABEL: test12:
+; X64: # BB#0:
+; X64-NEXT: movapd 0, %xmm0
+; X64-NEXT: movapd {{.*#+}} xmm1 = [1.000000e+00,1.000000e+00,1.000000e+00,1.000000e+00]
+; X64-NEXT: movsd {{.*#+}} xmm1 = xmm0[0],xmm1[1]
+; X64-NEXT: xorps %xmm2, %xmm2
+; X64-NEXT: movhlps {{.*#+}} xmm2 = xmm0[1],xmm2[1]
+; X64-NEXT: addps %xmm1, %xmm2
+; X64-NEXT: movaps %xmm2, 0
+; X64-NEXT: retq
%tmp1 = load <4 x float>, <4 x float>* null ; <<4 x float>> [#uses=2]
%tmp2 = shufflevector <4 x float> %tmp1, <4 x float> < float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00 >, <4 x i32> < i32 0, i32 1, i32 6, i32 7 > ; <<4 x float>> [#uses=1]
%tmp3 = shufflevector <4 x float> %tmp1, <4 x float> zeroinitializer, <4 x i32> < i32 2, i32 3, i32 6, i32 7 > ; <<4 x float>> [#uses=1]
@@ -196,16 +280,24 @@ define void @test12() nounwind {
}
define void @test13(<4 x float>* %res, <4 x float>* %A, <4 x float>* %B, <4 x float>* %C) nounwind {
-; CHECK-LABEL: test13:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
-; CHECK-NEXT: movaps (%edx), %xmm0
-; CHECK-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1],mem[0,1]
-; CHECK-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,1,3]
-; CHECK-NEXT: movaps %xmm0, (%eax)
-; CHECK-NEXT: retl
+; X86-LABEL: test13:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
+; X86-NEXT: movaps (%edx), %xmm0
+; X86-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1],mem[0,1]
+; X86-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,1,3]
+; X86-NEXT: movaps %xmm0, (%eax)
+; X86-NEXT: retl
+;
+; X64-LABEL: test13:
+; X64: # BB#0:
+; X64-NEXT: movaps (%rdx), %xmm0
+; X64-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1],mem[0,1]
+; X64-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,1,3]
+; X64-NEXT: movaps %xmm0, (%rdi)
+; X64-NEXT: retq
%tmp3 = load <4 x float>, <4 x float>* %B ; <<4 x float>> [#uses=1]
%tmp5 = load <4 x float>, <4 x float>* %C ; <<4 x float>> [#uses=1]
%tmp11 = shufflevector <4 x float> %tmp3, <4 x float> %tmp5, <4 x i32> < i32 1, i32 4, i32 1, i32 5 > ; <<4 x float>> [#uses=1]
@@ -214,17 +306,27 @@ define void @test13(<4 x float>* %res, <4 x float>* %A, <4 x float>* %B, <4 x fl
}
define <4 x float> @test14(<4 x float>* %x, <4 x float>* %y) nounwind {
-; CHECK-LABEL: test14:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; CHECK-NEXT: movaps (%ecx), %xmm1
-; CHECK-NEXT: movaps (%eax), %xmm2
-; CHECK-NEXT: movaps %xmm2, %xmm0
-; CHECK-NEXT: addps %xmm1, %xmm0
-; CHECK-NEXT: subps %xmm1, %xmm2
-; CHECK-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]
-; CHECK-NEXT: retl
+; X86-LABEL: test14:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movaps (%ecx), %xmm1
+; X86-NEXT: movaps (%eax), %xmm2
+; X86-NEXT: movaps %xmm2, %xmm0
+; X86-NEXT: addps %xmm1, %xmm0
+; X86-NEXT: subps %xmm1, %xmm2
+; X86-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]
+; X86-NEXT: retl
+;
+; X64-LABEL: test14:
+; X64: # BB#0:
+; X64-NEXT: movaps (%rsi), %xmm1
+; X64-NEXT: movaps (%rdi), %xmm2
+; X64-NEXT: movaps %xmm2, %xmm0
+; X64-NEXT: addps %xmm1, %xmm0
+; X64-NEXT: subps %xmm1, %xmm2
+; X64-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm2[0]
+; X64-NEXT: retq
%tmp = load <4 x float>, <4 x float>* %y ; <<4 x float>> [#uses=2]
%tmp5 = load <4 x float>, <4 x float>* %x ; <<4 x float>> [#uses=2]
%tmp9 = fadd <4 x float> %tmp5, %tmp ; <<4 x float>> [#uses=1]
@@ -234,13 +336,19 @@ define <4 x float> @test14(<4 x float>* %x, <4 x float>* %y) nounwind {
}
define <4 x float> @test15(<4 x float>* %x, <4 x float>* %y) nounwind {
-; CHECK-LABEL: test15:
-; CHECK: ## BB#0: ## %entry
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; CHECK-NEXT: movapd (%ecx), %xmm0
-; CHECK-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]
-; CHECK-NEXT: retl
+; X86-LABEL: test15:
+; X86: # BB#0: # %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movapd (%ecx), %xmm0
+; X86-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]
+; X86-NEXT: retl
+;
+; X64-LABEL: test15:
+; X64: # BB#0: # %entry
+; X64-NEXT: movapd (%rdi), %xmm0
+; X64-NEXT: unpckhpd {{.*#+}} xmm0 = xmm0[1],mem[1]
+; X64-NEXT: retq
entry:
%tmp = load <4 x float>, <4 x float>* %y ; <<4 x float>> [#uses=1]
%tmp3 = load <4 x float>, <4 x float>* %x ; <<4 x float>> [#uses=1]
@@ -251,12 +359,18 @@ entry:
; PR8900
define <2 x double> @test16(<4 x double> * nocapture %srcA, <2 x double>* nocapture %dst) {
-; CHECK-LABEL: test16:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
-; CHECK-NEXT: movapd 96(%eax), %xmm0
-; CHECK-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]
-; CHECK-NEXT: retl
+; X86-LABEL: test16:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movapd 96(%eax), %xmm0
+; X86-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]
+; X86-NEXT: retl
+;
+; X64-LABEL: test16:
+; X64: # BB#0:
+; X64-NEXT: movapd 96(%rdi), %xmm0
+; X64-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],mem[0]
+; X64-NEXT: retq
%i5 = getelementptr inbounds <4 x double>, <4 x double>* %srcA, i32 3
%i6 = load <4 x double>, <4 x double>* %i5, align 32
%i7 = shufflevector <4 x double> %i6, <4 x double> undef, <2 x i32> <i32 0, i32 2>
@@ -265,11 +379,17 @@ define <2 x double> @test16(<4 x double> * nocapture %srcA, <2 x double>* nocap
; PR9009
define fastcc void @test17() nounwind {
-; CHECK-LABEL: test17:
-; CHECK: ## BB#0: ## %entry
-; CHECK-NEXT: movaps {{.*#+}} xmm0 = <u,u,32768,32768>
-; CHECK-NEXT: movaps %xmm0, (%eax)
-; CHECK-NEXT: retl
+; X86-LABEL: test17:
+; X86: # BB#0: # %entry
+; X86-NEXT: movaps {{.*#+}} xmm0 = <u,u,32768,32768>
+; X86-NEXT: movaps %xmm0, (%eax)
+; X86-NEXT: retl
+;
+; X64-LABEL: test17:
+; X64: # BB#0: # %entry
+; X64-NEXT: movaps {{.*#+}} xmm0 = <u,u,32768,32768>
+; X64-NEXT: movaps %xmm0, (%rax)
+; X64-NEXT: retq
entry:
%0 = insertelement <4 x i32> undef, i32 undef, i32 1
%1 = shufflevector <4 x i32> <i32 undef, i32 undef, i32 32768, i32 32768>, <4 x i32> %0, <4 x i32> <i32 4, i32 5, i32 2, i32 3>
@@ -280,31 +400,52 @@ entry:
; PR9210
define <4 x float> @f(<4 x double>) nounwind {
-; CHECK-LABEL: f:
-; CHECK: ## BB#0: ## %entry
-; CHECK-NEXT: cvtpd2ps %xmm1, %xmm1
-; CHECK-NEXT: cvtpd2ps %xmm0, %xmm0
-; CHECK-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
-; CHECK-NEXT: retl
+; X86-LABEL: f:
+; X86: # BB#0: # %entry
+; X86-NEXT: cvtpd2ps %xmm1, %xmm1
+; X86-NEXT: cvtpd2ps %xmm0, %xmm0
+; X86-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; X86-NEXT: retl
+;
+; X64-LABEL: f:
+; X64: # BB#0: # %entry
+; X64-NEXT: cvtpd2ps %xmm1, %xmm1
+; X64-NEXT: cvtpd2ps %xmm0, %xmm0
+; X64-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; X64-NEXT: retq
entry:
%double2float.i = fptrunc <4 x double> %0 to <4 x float>
ret <4 x float> %double2float.i
}
define <2 x i64> @test_insert_64_zext(<2 x i64> %i) {
-; CHECK-LABEL: test_insert_64_zext:
-; CHECK: ## BB#0:
-; CHECK-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
-; CHECK-NEXT: retl
+; X86-LABEL: test_insert_64_zext:
+; X86: # BB#0:
+; X86-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
+; X86-NEXT: retl
+;
+; X64-LABEL: test_insert_64_zext:
+; X64: # BB#0:
+; X64-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
+; X64-NEXT: retq
%1 = shufflevector <2 x i64> %i, <2 x i64> <i64 0, i64 undef>, <2 x i32> <i32 0, i32 2>
ret <2 x i64> %1
}
define <4 x i32> @PR19721(<4 x i32> %i) {
-; CHECK-LABEL: PR19721:
-; CHECK: ## BB#0:
-; CHECK-NEXT: andps LCPI19_0, %xmm0
-; CHECK-NEXT: retl
+; X86-LABEL: PR19721:
+; X86: # BB#0:
+; X86-NEXT: andps {{\.LCPI.*}}, %xmm0
+; X86-NEXT: retl
+;
+; X64-LABEL: PR19721:
+; X64: # BB#0:
+; X64-NEXT: movq %xmm0, %rax
+; X64-NEXT: movabsq $-4294967296, %rcx # imm = 0xFFFFFFFF00000000
+; X64-NEXT: andq %rax, %rcx
+; X64-NEXT: movq %rcx, %xmm1
+; X64-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
+; X64-NEXT: retq
%bc = bitcast <4 x i32> %i to i128
%insert = and i128 %bc, -4294967296
%bc2 = bitcast i128 %insert to <4 x i32>
@@ -312,16 +453,27 @@ define <4 x i32> @PR19721(<4 x i32> %i) {
}
define <4 x i32> @test_mul(<4 x i32> %x, <4 x i32> %y) {
-; CHECK-LABEL: test_mul:
-; CHECK: ## BB#0:
-; CHECK-NEXT: pshufd {{.*#+}} xmm2 = xmm0[1,1,3,3]
-; CHECK-NEXT: pmuludq %xmm1, %xmm0
-; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
-; CHECK-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
-; CHECK-NEXT: pmuludq %xmm2, %xmm1
-; CHECK-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
-; CHECK-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
-; CHECK-NEXT: retl
+; X86-LABEL: test_mul:
+; X86: # BB#0:
+; X86-NEXT: pshufd {{.*#+}} xmm2 = xmm0[1,1,3,3]
+; X86-NEXT: pmuludq %xmm1, %xmm0
+; X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; X86-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
+; X86-NEXT: pmuludq %xmm2, %xmm1
+; X86-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
+; X86-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; X86-NEXT: retl
+;
+; X64-LABEL: test_mul:
+; X64: # BB#0:
+; X64-NEXT: pshufd {{.*#+}} xmm2 = xmm0[1,1,3,3]
+; X64-NEXT: pmuludq %xmm1, %xmm0
+; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; X64-NEXT: pshufd {{.*#+}} xmm1 = xmm1[1,1,3,3]
+; X64-NEXT: pmuludq %xmm2, %xmm1
+; X64-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
+; X64-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; X64-NEXT: retq
%m = mul <4 x i32> %x, %y
ret <4 x i32> %m
}
diff --git a/test/CodeGen/X86/sse3.ll b/test/CodeGen/X86/sse3.ll
index 79b949a6ccb1..1e7b9da6a321 100644
--- a/test/CodeGen/X86/sse3.ll
+++ b/test/CodeGen/X86/sse3.ll
@@ -1,20 +1,30 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; These are tests for SSE3 codegen.
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse3 | FileCheck %s --check-prefix=X86
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse3 | FileCheck %s --check-prefix=X64
-; RUN: llc < %s -mtriple=x86_64-apple-darwin9 --mattr=+sse3 | FileCheck %s --check-prefix=X64
+; These are tests for SSE3 codegen.
; Test for v8xi16 lowering where we extract the first element of the vector and
; placed it in the second element of the result.
define void @t0(<8 x i16>* %dest, <8 x i16>* %old) nounwind {
+; X86-LABEL: t0:
+; X86: # BB#0: # %entry
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl $1, %edx
+; X86-NEXT: movd %edx, %xmm0
+; X86-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3]
+; X86-NEXT: movdqa %xmm0, (%eax)
+; X86-NEXT: retl
+;
; X64-LABEL: t0:
-; X64: ## BB#0: ## %entry
+; X64: # BB#0: # %entry
; X64-NEXT: movl $1, %eax
; X64-NEXT: movd %eax, %xmm0
; X64-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],mem[0],xmm0[1],mem[1],xmm0[2],mem[2],xmm0[3],mem[3]
; X64-NEXT: movdqa %xmm0, (%rdi)
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
entry:
%tmp3 = load <8 x i16>, <8 x i16>* %old
%tmp6 = shufflevector <8 x i16> %tmp3,
@@ -25,15 +35,25 @@ entry:
}
define <8 x i16> @t1(<8 x i16>* %A, <8 x i16>* %B) nounwind {
+; X86-LABEL: t1:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movaps {{.*#+}} xmm0 = [0,65535,65535,65535,65535,65535,65535,65535]
+; X86-NEXT: movaps %xmm0, %xmm1
+; X86-NEXT: andnps (%ecx), %xmm1
+; X86-NEXT: andps (%eax), %xmm0
+; X86-NEXT: orps %xmm1, %xmm0
+; X86-NEXT: retl
+;
; X64-LABEL: t1:
-; X64: ## BB#0:
+; X64: # BB#0:
; X64-NEXT: movaps {{.*#+}} xmm0 = [0,65535,65535,65535,65535,65535,65535,65535]
; X64-NEXT: movaps %xmm0, %xmm1
; X64-NEXT: andnps (%rsi), %xmm1
; X64-NEXT: andps (%rdi), %xmm0
; X64-NEXT: orps %xmm1, %xmm0
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
%tmp1 = load <8 x i16>, <8 x i16>* %A
%tmp2 = load <8 x i16>, <8 x i16>* %B
%tmp3 = shufflevector <8 x i16> %tmp1, <8 x i16> %tmp2, <8 x i32> < i32 8, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 >
@@ -42,86 +62,131 @@ define <8 x i16> @t1(<8 x i16>* %A, <8 x i16>* %B) nounwind {
}
define <8 x i16> @t2(<8 x i16> %A, <8 x i16> %B) nounwind {
+; X86-LABEL: t2:
+; X86: # BB#0:
+; X86-NEXT: movdqa {{.*#+}} xmm2 = [0,65535,65535,0,65535,65535,65535,65535]
+; X86-NEXT: pand %xmm2, %xmm0
+; X86-NEXT: pshuflw {{.*#+}} xmm1 = xmm1[1,1,2,1,4,5,6,7]
+; X86-NEXT: pandn %xmm1, %xmm2
+; X86-NEXT: por %xmm2, %xmm0
+; X86-NEXT: retl
+;
; X64-LABEL: t2:
-; X64: ## BB#0:
+; X64: # BB#0:
; X64-NEXT: movdqa {{.*#+}} xmm2 = [0,65535,65535,0,65535,65535,65535,65535]
; X64-NEXT: pand %xmm2, %xmm0
; X64-NEXT: pshuflw {{.*#+}} xmm1 = xmm1[1,1,2,1,4,5,6,7]
; X64-NEXT: pandn %xmm1, %xmm2
; X64-NEXT: por %xmm2, %xmm0
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
%tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 9, i32 1, i32 2, i32 9, i32 4, i32 5, i32 6, i32 7 >
ret <8 x i16> %tmp
}
define <8 x i16> @t3(<8 x i16> %A, <8 x i16> %B) nounwind {
+; X86-LABEL: t3:
+; X86: # BB#0:
+; X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,2,0]
+; X86-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,5]
+; X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,2,0]
+; X86-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,1,4,5,6,7]
+; X86-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,6,5,4]
+; X86-NEXT: retl
+;
; X64-LABEL: t3:
-; X64: ## BB#0:
+; X64: # BB#0:
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,2,0]
; X64-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,5,6,5]
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,2,0]
; X64-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,3,2,1,4,5,6,7]
; X64-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,7,6,5,4]
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
%tmp = shufflevector <8 x i16> %A, <8 x i16> %A, <8 x i32> < i32 8, i32 3, i32 2, i32 13, i32 7, i32 6, i32 5, i32 4 >
ret <8 x i16> %tmp
}
define <8 x i16> @t4(<8 x i16> %A, <8 x i16> %B) nounwind {
+; X86-LABEL: t4:
+; X86: # BB#0:
+; X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,1,0,3]
+; X86-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,4,7]
+; X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,2,0]
+; X86-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,7,4,7]
+; X86-NEXT: retl
+;
; X64-LABEL: t4:
-; X64: ## BB#0:
+; X64: # BB#0:
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,1,0,3]
; X64-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,4,7]
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,2,0]
; X64-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,5,7,4,7]
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
%tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 0, i32 7, i32 2, i32 3, i32 1, i32 5, i32 6, i32 5 >
ret <8 x i16> %tmp
}
define <8 x i16> @t5(<8 x i16> %A, <8 x i16> %B) nounwind {
+; X86-LABEL: t5:
+; X86: # BB#0:
+; X86-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
+; X86-NEXT: movdqa %xmm1, %xmm0
+; X86-NEXT: retl
+;
; X64-LABEL: t5:
-; X64: ## BB#0:
+; X64: # BB#0:
; X64-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
; X64-NEXT: movdqa %xmm1, %xmm0
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
%tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 8, i32 9, i32 0, i32 1, i32 10, i32 11, i32 2, i32 3 >
ret <8 x i16> %tmp
}
define <8 x i16> @t6(<8 x i16> %A, <8 x i16> %B) nounwind {
+; X86-LABEL: t6:
+; X86: # BB#0:
+; X86-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
+; X86-NEXT: retl
+;
; X64-LABEL: t6:
-; X64: ## BB#0:
+; X64: # BB#0:
; X64-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
%tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 8, i32 9, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 >
ret <8 x i16> %tmp
}
define <8 x i16> @t7(<8 x i16> %A, <8 x i16> %B) nounwind {
+; X86-LABEL: t7:
+; X86: # BB#0:
+; X86-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,3,2,4,5,6,7]
+; X86-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,4,7]
+; X86-NEXT: retl
+;
; X64-LABEL: t7:
-; X64: ## BB#0:
+; X64: # BB#0:
; X64-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,3,2,4,5,6,7]
; X64-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,4,7]
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
%tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 0, i32 0, i32 3, i32 2, i32 4, i32 6, i32 4, i32 7 >
ret <8 x i16> %tmp
}
define void @t8(<2 x i64>* %res, <2 x i64>* %A) nounwind {
+; X86-LABEL: t8:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: pshuflw {{.*#+}} xmm0 = mem[2,1,0,3,4,5,6,7]
+; X86-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,4,7]
+; X86-NEXT: movdqa %xmm0, (%eax)
+; X86-NEXT: retl
+;
; X64-LABEL: t8:
-; X64: ## BB#0:
+; X64: # BB#0:
; X64-NEXT: pshuflw {{.*#+}} xmm0 = mem[2,1,0,3,4,5,6,7]
; X64-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,6,5,4,7]
; X64-NEXT: movdqa %xmm0, (%rdi)
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
%tmp = load <2 x i64>, <2 x i64>* %A
%tmp.upgrd.1 = bitcast <2 x i64> %tmp to <8 x i16>
%tmp0 = extractelement <8 x i16> %tmp.upgrd.1, i32 0
@@ -146,13 +211,21 @@ define void @t8(<2 x i64>* %res, <2 x i64>* %A) nounwind {
}
define void @t9(<4 x float>* %r, <2 x i32>* %A) nounwind {
+; X86-LABEL: t9:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movapd (%ecx), %xmm0
+; X86-NEXT: movhpd {{.*#+}} xmm0 = xmm0[0],mem[0]
+; X86-NEXT: movapd %xmm0, (%ecx)
+; X86-NEXT: retl
+;
; X64-LABEL: t9:
-; X64: ## BB#0:
+; X64: # BB#0:
; X64-NEXT: movapd (%rdi), %xmm0
; X64-NEXT: movhpd {{.*#+}} xmm0 = xmm0[0],mem[0]
; X64-NEXT: movapd %xmm0, (%rdi)
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
%tmp = load <4 x float>, <4 x float>* %r
%tmp.upgrd.3 = bitcast <2 x i32>* %A to double*
%tmp.upgrd.4 = load double, double* %tmp.upgrd.3
@@ -180,16 +253,21 @@ define void @t9(<4 x float>* %r, <2 x i32>* %A) nounwind {
@g2 = external constant <4 x i16>
define void @t10() nounwind {
+; X86-LABEL: t10:
+; X86: # BB#0:
+; X86-NEXT: pshuflw {{.*#+}} xmm0 = mem[0,2,2,3,4,5,6,7]
+; X86-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,6,7]
+; X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
+; X86-NEXT: movq %xmm0, g2
+; X86-NEXT: retl
+;
; X64-LABEL: t10:
-; X64: ## BB#0:
-; X64-NEXT: movq _g1@{{.*}}(%rip), %rax
+; X64: # BB#0:
; X64-NEXT: pshuflw {{.*#+}} xmm0 = mem[0,2,2,3,4,5,6,7]
; X64-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,6,7]
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
-; X64-NEXT: movq _g2@{{.*}}(%rip), %rax
-; X64-NEXT: movq %xmm0, (%rax)
+; X64-NEXT: movq %xmm0, {{.*}}(%rip)
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
load <4 x i32>, <4 x i32>* @g1, align 16
bitcast <4 x i32> %1 to <8 x i16>
shufflevector <8 x i16> %2, <8 x i16> undef, <8 x i32> < i32 0, i32 2, i32 4, i32 6, i32 undef, i32 undef, i32 undef, i32 undef >
@@ -202,12 +280,17 @@ define void @t10() nounwind {
; Pack various elements via shuffles.
define <8 x i16> @t11(<8 x i16> %T0, <8 x i16> %T1) nounwind readnone {
+; X86-LABEL: t11:
+; X86: # BB#0: # %entry
+; X86-NEXT: psrld $16, %xmm0
+; X86-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
+; X86-NEXT: retl
+;
; X64-LABEL: t11:
-; X64: ## BB#0: ## %entry
+; X64: # BB#0: # %entry
; X64-NEXT: psrld $16, %xmm0
; X64-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
entry:
%tmp7 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 1, i32 8, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef , i32 undef >
ret <8 x i16> %tmp7
@@ -215,13 +298,19 @@ entry:
}
define <8 x i16> @t12(<8 x i16> %T0, <8 x i16> %T1) nounwind readnone {
+; X86-LABEL: t12:
+; X86: # BB#0: # %entry
+; X86-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
+; X86-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]
+; X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,3,3]
+; X86-NEXT: retl
+;
; X64-LABEL: t12:
-; X64: ## BB#0: ## %entry
+; X64: # BB#0: # %entry
; X64-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
; X64-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,3,3]
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
entry:
%tmp9 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 0, i32 1, i32 undef, i32 undef, i32 3, i32 11, i32 undef , i32 undef >
ret <8 x i16> %tmp9
@@ -229,26 +318,38 @@ entry:
}
define <8 x i16> @t13(<8 x i16> %T0, <8 x i16> %T1) nounwind readnone {
+; X86-LABEL: t13:
+; X86: # BB#0: # %entry
+; X86-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]
+; X86-NEXT: pshuflw {{.*#+}} xmm0 = xmm1[0,2,2,3,4,5,6,7]
+; X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,3,3]
+; X86-NEXT: retl
+;
; X64-LABEL: t13:
-; X64: ## BB#0: ## %entry
+; X64: # BB#0: # %entry
; X64-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]
; X64-NEXT: pshuflw {{.*#+}} xmm0 = xmm1[0,2,2,3,4,5,6,7]
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,3,3]
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
entry:
%tmp9 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 8, i32 9, i32 undef, i32 undef, i32 11, i32 3, i32 undef , i32 undef >
ret <8 x i16> %tmp9
}
define <8 x i16> @t14(<8 x i16> %T0, <8 x i16> %T1) nounwind readnone {
+; X86-LABEL: t14:
+; X86: # BB#0: # %entry
+; X86-NEXT: psrlq $16, %xmm0
+; X86-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
+; X86-NEXT: movdqa %xmm1, %xmm0
+; X86-NEXT: retl
+;
; X64-LABEL: t14:
-; X64: ## BB#0: ## %entry
+; X64: # BB#0: # %entry
; X64-NEXT: psrlq $16, %xmm0
; X64-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; X64-NEXT: movdqa %xmm1, %xmm0
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
entry:
%tmp9 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 8, i32 9, i32 undef, i32 undef, i32 undef, i32 2, i32 undef , i32 undef >
ret <8 x i16> %tmp9
@@ -256,13 +357,19 @@ entry:
; FIXME: t15 is worse off from disabling of scheduler 2-address hack.
define <8 x i16> @t15(<8 x i16> %T0, <8 x i16> %T1) nounwind readnone {
+; X86-LABEL: t15:
+; X86: # BB#0: # %entry
+; X86-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,2,3]
+; X86-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,2,4,5,6,7]
+; X86-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; X86-NEXT: retl
+;
; X64-LABEL: t15:
-; X64: ## BB#0: ## %entry
+; X64: # BB#0: # %entry
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[3,1,2,3]
; X64-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,2,4,5,6,7]
; X64-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
entry:
%tmp8 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 undef, i32 undef, i32 7, i32 2, i32 8, i32 undef, i32 undef , i32 undef >
ret <8 x i16> %tmp8
@@ -270,13 +377,19 @@ entry:
; Test yonah where we convert a shuffle to pextrw and pinrsw
define <16 x i8> @t16(<16 x i8> %T0) nounwind readnone {
+; X86-LABEL: t16:
+; X86: # BB#0: # %entry
+; X86-NEXT: movdqa {{.*#+}} xmm1 = [0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0]
+; X86-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]
+; X86-NEXT: movdqa %xmm1, %xmm0
+; X86-NEXT: retl
+;
; X64-LABEL: t16:
-; X64: ## BB#0: ## %entry
+; X64: # BB#0: # %entry
; X64-NEXT: movdqa {{.*#+}} xmm1 = [0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0]
; X64-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]
; X64-NEXT: movdqa %xmm1, %xmm0
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
entry:
%tmp8 = shufflevector <16 x i8> <i8 0, i8 0, i8 0, i8 0, i8 1, i8 1, i8 1, i8 1, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %T0, <16 x i32> < i32 0, i32 1, i32 16, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef , i32 undef >
%tmp9 = shufflevector <16 x i8> %tmp8, <16 x i8> %T0, <16 x i32> < i32 0, i32 1, i32 2, i32 17, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef , i32 undef >
@@ -285,14 +398,21 @@ entry:
; rdar://8520311
define <4 x i32> @t17() nounwind {
+; X86-LABEL: t17:
+; X86: # BB#0: # %entry
+; X86-NEXT: movaps (%eax), %xmm0
+; X86-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0,0,1,1]
+; X86-NEXT: pxor %xmm1, %xmm1
+; X86-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
+; X86-NEXT: retl
+;
; X64-LABEL: t17:
-; X64: ## BB#0: ## %entry
+; X64: # BB#0: # %entry
; X64-NEXT: movaps (%rax), %xmm0
; X64-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0,0,1,1]
; X64-NEXT: pxor %xmm1, %xmm1
; X64-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
; X64-NEXT: retq
-; X64-NEXT: ## -- End function
entry:
%tmp1 = load <4 x float>, <4 x float>* undef, align 16
%tmp2 = shufflevector <4 x float> %tmp1, <4 x float> undef, <4 x i32> <i32 4, i32 1, i32 2, i32 3>
diff --git a/test/CodeGen/X86/stack-probe-red-zone.ll b/test/CodeGen/X86/stack-probe-red-zone.ll
new file mode 100644
index 000000000000..f0691980989b
--- /dev/null
+++ b/test/CodeGen/X86/stack-probe-red-zone.ll
@@ -0,0 +1,21 @@
+; RUN: llc -mtriple=x86_64-pc-linux-gnu < %s -o - | FileCheck %s
+
+; Ensure that red zone usage occurs.
+define void @testStackProbesOff() {
+ %array = alloca [40096 x i8], align 16
+ ret void
+
+; CHECK-LABEL: testStackProbesOff:
+; CHECK: subq $39976, %rsp # imm = 0x9C28
+}
+
+; Ensure stack probes do not result in red zone usage.
+define void @testStackProbesOn() "probe-stack"="__probestack" {
+ %array = alloca [40096 x i8], align 16
+ ret void
+
+; CHECK-LABEL: testStackProbesOn:
+; CHECK: movl $40104, %eax # imm = 0x9CA8
+; CHECK-NEXT: callq __probestack
+; CHECK-NEXT: subq %rax, %rsp
+}
diff --git a/test/CodeGen/X86/stack-probes.ll b/test/CodeGen/X86/stack-probes.ll
new file mode 100644
index 000000000000..861a975f6cb7
--- /dev/null
+++ b/test/CodeGen/X86/stack-probes.ll
@@ -0,0 +1,29 @@
+; RUN: llc -mtriple=i386-pc-linux-gnu < %s -o - | FileCheck --check-prefix=X86-LINUX %s
+; RUN: llc -mtriple=x86_64-pc-linux-gnu < %s -o - | FileCheck --check-prefix=X64-LINUX %s
+; RUN: llc -mtriple=x86_64-pc-linux-gnu -code-model=large < %s -o - | FileCheck --check-prefix=X64-LINUX-LARGE %s
+
+declare void @use([40096 x i8]*)
+
+; Ensure calls to __probestack occur for large stack frames
+define void @test() "probe-stack"="__probestack" {
+ %array = alloca [40096 x i8], align 16
+ call void @use([40096 x i8]* %array)
+ ret void
+
+; X86-LINUX-LABEL: test:
+; X86-LINUX: movl $40124, %eax # imm = 0x9CBC
+; X86-LINUX-NEXT: calll __probestack
+; X86-LINUX-NEXT: subl %eax, %esp
+
+; X64-LINUX-LABEL: test:
+; X64-LINUX: movl $40104, %eax # imm = 0x9CA8
+; X64-LINUX-NEXT: callq __probestack
+; X64-LINUX-NEXT: subq %rax, %rsp
+
+; X64-LINUX-LARGE-LABEL: test:
+; X64-LINUX-LARGE: movl $40104, %eax # imm = 0x9CA8
+; X64-LINUX-LARGE-NEXT: movabsq $__probestack, %r11
+; X64-LINUX-LARGE-NEXT: callq *%r11
+; X64-LINUX-LARGE-NEXT: subq %rax, %rsp
+
+}
diff --git a/test/CodeGen/X86/vec_ctbits.ll b/test/CodeGen/X86/vec_ctbits.ll
index eb4b942c7d20..65279f7c8494 100644
--- a/test/CodeGen/X86/vec_ctbits.ll
+++ b/test/CodeGen/X86/vec_ctbits.ll
@@ -12,20 +12,21 @@ define <2 x i64> @footz(<2 x i64> %a) nounwind {
; CHECK-NEXT: pxor %xmm2, %xmm2
; CHECK-NEXT: psubq %xmm0, %xmm2
; CHECK-NEXT: pand %xmm0, %xmm2
-; CHECK-NEXT: psubq {{.*}}(%rip), %xmm2
-; CHECK-NEXT: movdqa %xmm2, %xmm0
+; CHECK-NEXT: pcmpeqd %xmm3, %xmm3
+; CHECK-NEXT: paddq %xmm2, %xmm3
+; CHECK-NEXT: movdqa %xmm3, %xmm0
; CHECK-NEXT: psrlq $1, %xmm0
; CHECK-NEXT: pand {{.*}}(%rip), %xmm0
-; CHECK-NEXT: psubq %xmm0, %xmm2
+; CHECK-NEXT: psubq %xmm0, %xmm3
; CHECK-NEXT: movdqa {{.*#+}} xmm0 = [3689348814741910323,3689348814741910323]
-; CHECK-NEXT: movdqa %xmm2, %xmm3
-; CHECK-NEXT: pand %xmm0, %xmm3
-; CHECK-NEXT: psrlq $2, %xmm2
+; CHECK-NEXT: movdqa %xmm3, %xmm2
; CHECK-NEXT: pand %xmm0, %xmm2
-; CHECK-NEXT: paddq %xmm3, %xmm2
-; CHECK-NEXT: movdqa %xmm2, %xmm0
+; CHECK-NEXT: psrlq $2, %xmm3
+; CHECK-NEXT: pand %xmm0, %xmm3
+; CHECK-NEXT: paddq %xmm2, %xmm3
+; CHECK-NEXT: movdqa %xmm3, %xmm0
; CHECK-NEXT: psrlq $4, %xmm0
-; CHECK-NEXT: paddq %xmm2, %xmm0
+; CHECK-NEXT: paddq %xmm3, %xmm0
; CHECK-NEXT: pand {{.*}}(%rip), %xmm0
; CHECK-NEXT: psadbw %xmm1, %xmm0
; CHECK-NEXT: retq
@@ -115,20 +116,21 @@ define <2 x i32> @promtz(<2 x i32> %a) nounwind {
; CHECK-NEXT: pxor %xmm2, %xmm2
; CHECK-NEXT: psubq %xmm0, %xmm2
; CHECK-NEXT: pand %xmm0, %xmm2
-; CHECK-NEXT: psubq {{.*}}(%rip), %xmm2
-; CHECK-NEXT: movdqa %xmm2, %xmm0
+; CHECK-NEXT: pcmpeqd %xmm3, %xmm3
+; CHECK-NEXT: paddq %xmm2, %xmm3
+; CHECK-NEXT: movdqa %xmm3, %xmm0
; CHECK-NEXT: psrlq $1, %xmm0
; CHECK-NEXT: pand {{.*}}(%rip), %xmm0
-; CHECK-NEXT: psubq %xmm0, %xmm2
+; CHECK-NEXT: psubq %xmm0, %xmm3
; CHECK-NEXT: movdqa {{.*#+}} xmm0 = [3689348814741910323,3689348814741910323]
-; CHECK-NEXT: movdqa %xmm2, %xmm3
-; CHECK-NEXT: pand %xmm0, %xmm3
-; CHECK-NEXT: psrlq $2, %xmm2
+; CHECK-NEXT: movdqa %xmm3, %xmm2
; CHECK-NEXT: pand %xmm0, %xmm2
-; CHECK-NEXT: paddq %xmm3, %xmm2
-; CHECK-NEXT: movdqa %xmm2, %xmm0
+; CHECK-NEXT: psrlq $2, %xmm3
+; CHECK-NEXT: pand %xmm0, %xmm3
+; CHECK-NEXT: paddq %xmm2, %xmm3
+; CHECK-NEXT: movdqa %xmm3, %xmm0
; CHECK-NEXT: psrlq $4, %xmm0
-; CHECK-NEXT: paddq %xmm2, %xmm0
+; CHECK-NEXT: paddq %xmm3, %xmm0
; CHECK-NEXT: pand {{.*}}(%rip), %xmm0
; CHECK-NEXT: psadbw %xmm1, %xmm0
; CHECK-NEXT: retq
diff --git a/test/CodeGen/X86/vector-blend.ll b/test/CodeGen/X86/vector-blend.ll
index f0a5fe1dbfff..ab5fac59ebd1 100644
--- a/test/CodeGen/X86/vector-blend.ll
+++ b/test/CodeGen/X86/vector-blend.ll
@@ -1,9 +1,9 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse2 | FileCheck %s --check-prefix=SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=SSSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE41
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=AVX --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
+; 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=+ssse3 | FileCheck %s --check-prefix=SSE --check-prefix=SSSE3
+; 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
; AVX128 tests:
@@ -904,26 +904,12 @@ entry:
}
define <4 x i32> @blend_neg_logic_v4i32(<4 x i32> %a, <4 x i32> %b) {
-; SSE2-LABEL: blend_neg_logic_v4i32:
-; SSE2: # BB#0: # %entry
-; SSE2-NEXT: psrad $31, %xmm1
-; SSE2-NEXT: pxor %xmm1, %xmm0
-; SSE2-NEXT: psubd %xmm1, %xmm0
-; SSE2-NEXT: retq
-;
-; SSSE3-LABEL: blend_neg_logic_v4i32:
-; SSSE3: # BB#0: # %entry
-; SSSE3-NEXT: psrad $31, %xmm1
-; SSSE3-NEXT: pxor %xmm1, %xmm0
-; SSSE3-NEXT: psubd %xmm1, %xmm0
-; SSSE3-NEXT: retq
-;
-; SSE41-LABEL: blend_neg_logic_v4i32:
-; SSE41: # BB#0: # %entry
-; SSE41-NEXT: psrad $31, %xmm1
-; SSE41-NEXT: pxor %xmm1, %xmm0
-; SSE41-NEXT: psubd %xmm1, %xmm0
-; SSE41-NEXT: retq
+; SSE-LABEL: blend_neg_logic_v4i32:
+; SSE: # BB#0: # %entry
+; SSE-NEXT: psrad $31, %xmm1
+; SSE-NEXT: pxor %xmm1, %xmm0
+; SSE-NEXT: psubd %xmm1, %xmm0
+; SSE-NEXT: retq
;
; AVX-LABEL: blend_neg_logic_v4i32:
; AVX: # BB#0: # %entry
@@ -942,35 +928,15 @@ entry:
}
define <8 x i32> @blend_neg_logic_v8i32(<8 x i32> %a, <8 x i32> %b) {
-; SSE2-LABEL: blend_neg_logic_v8i32:
-; SSE2: # BB#0: # %entry
-; SSE2-NEXT: psrad $31, %xmm3
-; SSE2-NEXT: psrad $31, %xmm2
-; SSE2-NEXT: pxor %xmm2, %xmm0
-; SSE2-NEXT: psubd %xmm2, %xmm0
-; SSE2-NEXT: pxor %xmm3, %xmm1
-; SSE2-NEXT: psubd %xmm3, %xmm1
-; SSE2-NEXT: retq
-;
-; SSSE3-LABEL: blend_neg_logic_v8i32:
-; SSSE3: # BB#0: # %entry
-; SSSE3-NEXT: psrad $31, %xmm3
-; SSSE3-NEXT: psrad $31, %xmm2
-; SSSE3-NEXT: pxor %xmm2, %xmm0
-; SSSE3-NEXT: psubd %xmm2, %xmm0
-; SSSE3-NEXT: pxor %xmm3, %xmm1
-; SSSE3-NEXT: psubd %xmm3, %xmm1
-; SSSE3-NEXT: retq
-;
-; SSE41-LABEL: blend_neg_logic_v8i32:
-; SSE41: # BB#0: # %entry
-; SSE41-NEXT: psrad $31, %xmm3
-; SSE41-NEXT: psrad $31, %xmm2
-; SSE41-NEXT: pxor %xmm2, %xmm0
-; SSE41-NEXT: psubd %xmm2, %xmm0
-; SSE41-NEXT: pxor %xmm3, %xmm1
-; SSE41-NEXT: psubd %xmm3, %xmm1
-; SSE41-NEXT: retq
+; SSE-LABEL: blend_neg_logic_v8i32:
+; SSE: # BB#0: # %entry
+; SSE-NEXT: psrad $31, %xmm3
+; SSE-NEXT: psrad $31, %xmm2
+; SSE-NEXT: pxor %xmm2, %xmm0
+; SSE-NEXT: psubd %xmm2, %xmm0
+; SSE-NEXT: pxor %xmm3, %xmm1
+; SSE-NEXT: psubd %xmm3, %xmm1
+; SSE-NEXT: retq
;
; AVX1-LABEL: blend_neg_logic_v8i32:
; AVX1: # BB#0: # %entry
diff --git a/test/CodeGen/X86/vector-interleave.ll b/test/CodeGen/X86/vector-interleave.ll
index 1265ea108977..cadb02c6b5f3 100644
--- a/test/CodeGen/X86/vector-interleave.ll
+++ b/test/CodeGen/X86/vector-interleave.ll
@@ -1,10 +1,10 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE3
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
; PR21281
define <64 x i16> @interleave8x8(<8 x i16> %a, <8 x i16> %b, <8 x i16> %c, <8 x i16> %d, <8 x i16> %e, <8 x i16> %f, <8 x i16> %h, <8 x i16> %g) {
diff --git a/test/CodeGen/X86/vector-merge-store-fp-constants.ll b/test/CodeGen/X86/vector-merge-store-fp-constants.ll
index a6fb32d48a7c..94fd4df09cf5 100644
--- a/test/CodeGen/X86/vector-merge-store-fp-constants.ll
+++ b/test/CodeGen/X86/vector-merge-store-fp-constants.ll
@@ -1,20 +1,22 @@
-; RUN: llc -march=x86-64 -mtriple=x86_64-unknown-unknown < %s | FileCheck -check-prefix=DEFAULTCPU -check-prefix=ALL %s
-; RUN: llc -march=x86-64 -mcpu=x86-64 -mtriple=x86_64-unknown-unknown < %s | FileCheck -check-prefix=X8664CPU -check-prefix=ALL %s
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=DEFAULTCPU
+; RUN: llc < %s -mcpu=x86-64 -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=X64CPU
-
-; ALL-LABEL: {{^}}merge_8_float_zero_stores:
-
-; DEFAULTCPU-DAG: movq $0, ([[PTR:%[a-z]+]])
-; DEFAULTCPU-DAG: movq $0, 8([[PTR]])
-; DEFAULTCPU-DAG: movq $0, 16([[PTR]])
-; DEFAULTCPU-DAG: movq $0, 24([[PTR]])
-
-; X8664CPU: xorps [[ZEROREG:%xmm[0-9]+]], [[ZEROREG]]
-; X8664CPU-DAG: movups [[ZEROREG]], ([[PTR:%[a-z]+]])
-; X8664CPU-DAG: movups [[ZEROREG]], 16([[PTR:%[a-z]+]])
-
-; ALL: retq
define void @merge_8_float_zero_stores(float* %ptr) {
+; DEFAULTCPU-LABEL: merge_8_float_zero_stores:
+; DEFAULTCPU: # BB#0:
+; DEFAULTCPU-NEXT: movq $0, (%rdi)
+; DEFAULTCPU-NEXT: movq $0, 8(%rdi)
+; DEFAULTCPU-NEXT: movq $0, 16(%rdi)
+; DEFAULTCPU-NEXT: movq $0, 24(%rdi)
+; DEFAULTCPU-NEXT: retq
+;
+; X64CPU-LABEL: merge_8_float_zero_stores:
+; X64CPU: # BB#0:
+; X64CPU-NEXT: xorps %xmm0, %xmm0
+; X64CPU-NEXT: movups %xmm0, (%rdi)
+; X64CPU-NEXT: movups %xmm0, 16(%rdi)
+; X64CPU-NEXT: retq
%idx0 = getelementptr float, float* %ptr, i64 0
%idx1 = getelementptr float, float* %ptr, i64 1
%idx2 = getelementptr float, float* %ptr, i64 2
diff --git a/test/CodeGen/X86/vector-shuffle-128-v16.ll b/test/CodeGen/X86/vector-shuffle-128-v16.ll
index 9f4501c1f225..abba0ff87ace 100644
--- a/test/CodeGen/X86/vector-shuffle-128-v16.ll
+++ b/test/CodeGen/X86/vector-shuffle-128-v16.ll
@@ -1,13 +1,10 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
-
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
define <16 x i8> @shuffle_v16i8_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00(<16 x i8> %a, <16 x i8> %b) {
; SSE2-LABEL: shuffle_v16i8_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00:
diff --git a/test/CodeGen/X86/vector-shuffle-128-v2.ll b/test/CodeGen/X86/vector-shuffle-128-v2.ll
index e38d3f974485..669aee42fe48 100644
--- a/test/CodeGen/X86/vector-shuffle-128-v2.ll
+++ b/test/CodeGen/X86/vector-shuffle-128-v2.ll
@@ -1,14 +1,11 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=knl -mattr=+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX512VL
-
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE3
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX512VL
define <2 x i64> @shuffle_v2i64_00(<2 x i64> %a, <2 x i64> %b) {
; SSE-LABEL: shuffle_v2i64_00:
diff --git a/test/CodeGen/X86/vector-shuffle-128-v4.ll b/test/CodeGen/X86/vector-shuffle-128-v4.ll
index e9c0d0962ab3..7214b3ed326b 100644
--- a/test/CodeGen/X86/vector-shuffle-128-v4.ll
+++ b/test/CodeGen/X86/vector-shuffle-128-v4.ll
@@ -1,14 +1,11 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx512vl,+avx512dq | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
-
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE3
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl,+avx512dq | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
define <4 x i32> @shuffle_v4i32_0001(<4 x i32> %a, <4 x i32> %b) {
; SSE-LABEL: shuffle_v4i32_0001:
diff --git a/test/CodeGen/X86/vector-shuffle-128-v8.ll b/test/CodeGen/X86/vector-shuffle-128-v8.ll
index ac9db62d3c13..c03b9d1472c1 100644
--- a/test/CodeGen/X86/vector-shuffle-128-v8.ll
+++ b/test/CodeGen/X86/vector-shuffle-128-v8.ll
@@ -1,13 +1,10 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
-
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
define <8 x i16> @shuffle_v8i16_01012323(<8 x i16> %a, <8 x i16> %b) {
; SSE-LABEL: shuffle_v8i16_01012323:
diff --git a/test/CodeGen/X86/vector-shuffle-256-v16.ll b/test/CodeGen/X86/vector-shuffle-256-v16.ll
index d34728df29b7..6f5d916f2294 100644
--- a/test/CodeGen/X86/vector-shuffle-256-v16.ll
+++ b/test/CodeGen/X86/vector-shuffle-256-v16.ll
@@ -1,9 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX1
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX2OR512VL --check-prefix=AVX2
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
-
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX2OR512VL --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
define <16 x i16> @shuffle_v16i16_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00(<16 x i16> %a, <16 x i16> %b) {
; AVX1-LABEL: shuffle_v16i16_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00:
diff --git a/test/CodeGen/X86/vector-shuffle-256-v32.ll b/test/CodeGen/X86/vector-shuffle-256-v32.ll
index f4c4403ed83f..05a797cb6f8e 100644
--- a/test/CodeGen/X86/vector-shuffle-256-v32.ll
+++ b/test/CodeGen/X86/vector-shuffle-256-v32.ll
@@ -1,9 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX1OR2 --check-prefix=AVX1
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
-
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX1OR2 --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl,+avx512bw | FileCheck %s --check-prefix=ALL --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
define <32 x i8> @shuffle_v32i8_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00(<32 x i8> %a, <32 x i8> %b) {
; AVX1-LABEL: shuffle_v32i8_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00:
diff --git a/test/CodeGen/X86/vector-shuffle-256-v4.ll b/test/CodeGen/X86/vector-shuffle-256-v4.ll
index ad343e64e1e5..80579f625278 100644
--- a/test/CodeGen/X86/vector-shuffle-256-v4.ll
+++ b/test/CodeGen/X86/vector-shuffle-256-v4.ll
@@ -1,9 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX1
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX2
-; RUN: llc < %s -mcpu=knl -mattr=+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512VL
-
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl | FileCheck %s --check-prefix=ALL --check-prefix=AVX512VL
define <4 x double> @shuffle_v4f64_0000(<4 x double> %a, <4 x double> %b) {
; AVX1-LABEL: shuffle_v4f64_0000:
diff --git a/test/CodeGen/X86/vector-shuffle-256-v8.ll b/test/CodeGen/X86/vector-shuffle-256-v8.ll
index 8d49321a6af8..4c9ab578c906 100644
--- a/test/CodeGen/X86/vector-shuffle-256-v8.ll
+++ b/test/CodeGen/X86/vector-shuffle-256-v8.ll
@@ -1,9 +1,7 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX1OR2 --check-prefix=AVX1
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512vl,+avx512dq | FileCheck %s --check-prefix=ALL --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
-
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX1OR2 --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX1OR2 --check-prefix=AVX2OR512VL --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl,+avx512dq | FileCheck %s --check-prefix=ALL --check-prefix=AVX2OR512VL --check-prefix=AVX512VL
define <8 x float> @shuffle_v8f32_00000000(<8 x float> %a, <8 x float> %b) {
; AVX1-LABEL: shuffle_v8f32_00000000:
diff --git a/test/CodeGen/X86/vector-shuffle-masked.ll b/test/CodeGen/X86/vector-shuffle-masked.ll
index cedec449f6f4..91d686460499 100644
--- a/test/CodeGen/X86/vector-shuffle-masked.ll
+++ b/test/CodeGen/X86/vector-shuffle-masked.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 -mcpu=x86-64 -mattr=+avx512vl,+avx512dq | FileCheck %s --check-prefix=CHECK
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512vl,+avx512dq | FileCheck %s --check-prefix=CHECK
define <4 x i32> @mask_shuffle_v4i32_1234(<4 x i32> %a, <4 x i32> %b, <4 x i32> %passthru, i8 %mask) {
; CHECK-LABEL: mask_shuffle_v4i32_1234:
diff --git a/test/CodeGen/X86/vector-shuffle-sse1.ll b/test/CodeGen/X86/vector-shuffle-sse1.ll
index d1e4947e2b0f..dfab9c9fec0c 100644
--- a/test/CodeGen/X86/vector-shuffle-sse1.ll
+++ b/test/CodeGen/X86/vector-shuffle-sse1.ll
@@ -1,7 +1,5 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mcpu=x86-64 -mattr=-sse2 | FileCheck %s --check-prefix=SSE1
-
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=-sse2 | FileCheck %s --check-prefix=SSE1
define <4 x float> @shuffle_v4f32_0001(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_0001:
@@ -11,6 +9,7 @@ define <4 x float> @shuffle_v4f32_0001(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 0, i32 0, i32 0, i32 1>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_0020(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_0020:
; SSE1: # BB#0:
@@ -19,6 +18,7 @@ define <4 x float> @shuffle_v4f32_0020(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 0, i32 0, i32 2, i32 0>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_0300(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_0300:
; SSE1: # BB#0:
@@ -27,6 +27,7 @@ define <4 x float> @shuffle_v4f32_0300(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 0, i32 3, i32 0, i32 0>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_1000(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_1000:
; SSE1: # BB#0:
@@ -35,6 +36,7 @@ define <4 x float> @shuffle_v4f32_1000(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 1, i32 0, i32 0, i32 0>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_2200(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_2200:
; SSE1: # BB#0:
@@ -43,6 +45,7 @@ define <4 x float> @shuffle_v4f32_2200(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 2, i32 2, i32 0, i32 0>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_3330(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_3330:
; SSE1: # BB#0:
@@ -51,6 +54,7 @@ define <4 x float> @shuffle_v4f32_3330(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 3, i32 3, i32 3, i32 0>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_3210(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_3210:
; SSE1: # BB#0:
@@ -59,6 +63,7 @@ define <4 x float> @shuffle_v4f32_3210(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_0011(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_0011:
; SSE1: # BB#0:
@@ -67,6 +72,7 @@ define <4 x float> @shuffle_v4f32_0011(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 0, i32 0, i32 1, i32 1>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_2233(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_2233:
; SSE1: # BB#0:
@@ -75,6 +81,7 @@ define <4 x float> @shuffle_v4f32_2233(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 2, i32 2, i32 3, i32 3>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_0022(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_0022:
; SSE1: # BB#0:
@@ -83,6 +90,7 @@ define <4 x float> @shuffle_v4f32_0022(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 0, i32 0, i32 2, i32 2>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_1133(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_1133:
; SSE1: # BB#0:
@@ -91,6 +99,7 @@ define <4 x float> @shuffle_v4f32_1133(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 1, i32 1, i32 3, i32 3>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_0145(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_0145:
; SSE1: # BB#0:
@@ -99,6 +108,7 @@ define <4 x float> @shuffle_v4f32_0145(<4 x float> %a, <4 x float> %b) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 0, i32 1, i32 4, i32 5>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_v4f32_6723(<4 x float> %a, <4 x float> %b) {
; SSE1-LABEL: shuffle_v4f32_6723:
; SSE1: # BB#0:
@@ -250,6 +260,7 @@ define <4 x float> @shuffle_mem_v4f32_3210(<4 x float>* %ptr) {
%shuffle = shufflevector <4 x float> %a, <4 x float> undef, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_mem_v4f32_0145(<4 x float> %a, <4 x float>* %pb) {
; SSE1-LABEL: shuffle_mem_v4f32_0145:
; SSE1: # BB#0:
@@ -259,6 +270,7 @@ define <4 x float> @shuffle_mem_v4f32_0145(<4 x float> %a, <4 x float>* %pb) {
%shuffle = shufflevector <4 x float> %a, <4 x float> %b, <4 x i32> <i32 0, i32 1, i32 4, i32 5>
ret <4 x float> %shuffle
}
+
define <4 x float> @shuffle_mem_v4f32_6723(<4 x float> %a, <4 x float>* %pb) {
; SSE1-LABEL: shuffle_mem_v4f32_6723:
; SSE1: # BB#0:
diff --git a/test/CodeGen/X86/vector-shuffle-v1.ll b/test/CodeGen/X86/vector-shuffle-v1.ll
index 4ec6b86247d5..4bcf18cc727e 100644
--- a/test/CodeGen/X86/vector-shuffle-v1.ll
+++ b/test/CodeGen/X86/vector-shuffle-v1.ll
@@ -1,8 +1,6 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F
-; RUN: llc < %s -mcpu=x86-64 -mattr=+avx512bw -mattr=+avx512vl -mattr=+avx512dq| FileCheck %s --check-prefix=VL_BW_DQ
-
-target triple = "x86_64-unknown-unknown"
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX512F
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512bw -mattr=+avx512vl -mattr=+avx512dq| FileCheck %s --check-prefix=VL_BW_DQ
define <2 x i1> @shuf2i1_1_0(<2 x i1> %a) {
; AVX512F-LABEL: shuf2i1_1_0:
diff --git a/test/CodeGen/X86/vector-shuffle-v48.ll b/test/CodeGen/X86/vector-shuffle-v48.ll
index 9bd75148ecd1..06b7c2e64723 100644
--- a/test/CodeGen/X86/vector-shuffle-v48.ll
+++ b/test/CodeGen/X86/vector-shuffle-v48.ll
@@ -1,49 +1,22 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=x86_64-pc-linux -mattr=+avx2 < %s | FileCheck %s
-define <16 x i8> @foo(<48 x i8>* %x0, <16 x i32> %x1, <16 x i32> %x2) {
+define <32 x i8> @foo(<48 x i8>* %x0, <16 x i32> %x1, <16 x i32> %x2) {
; CHECK-LABEL: foo:
; CHECK: # BB#0:
-; CHECK-NEXT: vmovdqu (%rdi), %ymm4
-; CHECK-NEXT: vmovdqu 32(%rdi), %xmm5
-; CHECK-NEXT: vpextrb $13, %xmm5, %eax
-; CHECK-NEXT: vpextrb $10, %xmm5, %ecx
-; CHECK-NEXT: vpextrb $7, %xmm5, %edx
-; CHECK-NEXT: vpextrb $4, %xmm5, %esi
-; CHECK-NEXT: vpextrb $1, %xmm5, %edi
-; CHECK-NEXT: vextracti128 $1, %ymm4, %xmm5
-; CHECK-NEXT: vpshufb {{.*#+}} xmm6 = xmm5[2,2,5,5,5,5,3,3,4,4,5,5,6,6,7,7]
-; CHECK-NEXT: vpshufb {{.*#+}} xmm7 = xmm4[12,12,13,13,15,15,15,15,12,12,13,13,14,14,15,15]
-; CHECK-NEXT: vpunpcklqdq {{.*#+}} xmm6 = xmm7[0],xmm6[0]
-; CHECK-NEXT: vpshufb {{.*#+}} xmm4 = xmm4[0,0,1,1,3,3,3,3,6,6,9,9,9,9,7,7]
-; CHECK-NEXT: vinserti128 $1, %xmm6, %ymm4, %ymm4
-; CHECK-NEXT: vpand {{.*}}(%rip), %ymm4, %ymm4
-; CHECK-NEXT: vpshufb {{.*#+}} xmm5 = xmm5[8,11,14],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
-; CHECK-NEXT: vpinsrb $3, %edi, %xmm5, %xmm5
-; CHECK-NEXT: vpinsrb $4, %esi, %xmm5, %xmm5
-; CHECK-NEXT: vpinsrb $5, %edx, %xmm5, %xmm5
-; CHECK-NEXT: vpinsrb $6, %ecx, %xmm5, %xmm5
-; CHECK-NEXT: vpinsrb $7, %eax, %xmm5, %xmm5
-; CHECK-NEXT: vpmovzxbd {{.*#+}} ymm5 = xmm5[0],zero,zero,zero,xmm5[1],zero,zero,zero,xmm5[2],zero,zero,zero,xmm5[3],zero,zero,zero,xmm5[4],zero,zero,zero,xmm5[5],zero,zero,zero,xmm5[6],zero,zero,zero,xmm5[7],zero,zero,zero
-; CHECK-NEXT: vpmulld %ymm0, %ymm4, %ymm0
-; CHECK-NEXT: vpmulld %ymm1, %ymm5, %ymm1
-; CHECK-NEXT: vpsrlvd %ymm2, %ymm0, %ymm0
-; CHECK-NEXT: vpsrlvd %ymm3, %ymm1, %ymm1
-; CHECK-NEXT: vmovdqa {{.*#+}} ymm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15,16,17,20,21,24,25,28,29,24,25,28,29,28,29,30,31]
-; CHECK-NEXT: vpshufb %ymm2, %ymm0, %ymm0
-; CHECK-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
-; CHECK-NEXT: vmovdqa {{.*#+}} xmm3 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
-; CHECK-NEXT: vpshufb %xmm3, %xmm0, %xmm0
-; CHECK-NEXT: vpshufb %ymm2, %ymm1, %ymm1
-; CHECK-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,2,3]
-; CHECK-NEXT: vpshufb %xmm3, %xmm1, %xmm1
-; CHECK-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
-; CHECK-NEXT: vzeroupper
+; CHECK-NEXT: vmovdqu (%rdi), %ymm0
+; CHECK-NEXT: vmovdqu 32(%rdi), %xmm1
+; CHECK-NEXT: vpshufb {{.*#+}} xmm1 = xmm1[u,u,u,u,u,u,1,2,4,5,7,8,10,11,13,14]
+; CHECK-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm1
+; CHECK-NEXT: vextracti128 $1, %ymm0, %xmm2
+; CHECK-NEXT: vpshufb {{.*#+}} xmm3 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,2,3,5,6]
+; CHECK-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,1,3,4,6,7,9,10,12,13,15],zero,zero,zero,zero,zero
+; CHECK-NEXT: vpor %xmm3, %xmm0, %xmm0
+; CHECK-NEXT: vpshufb {{.*#+}} xmm2 = xmm2[8,9,11,12,14,15,u,u,u,u,u,u,u,u,u,u]
+; CHECK-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0
+; CHECK-NEXT: vmovdqa {{.*#+}} ymm2 = [255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0]
+; CHECK-NEXT: vpblendvb %ymm2, %ymm0, %ymm1, %ymm0
; CHECK-NEXT: retq
%1 = load <48 x i8>, <48 x i8>* %x0, align 1
- %2 = shufflevector <48 x i8> %1, <48 x i8> undef, <16 x i32> <i32 0, i32 3, i32 6, i32 9, i32 12, i32 15, i32 18, i32 21, i32 24, i32 27, i32 30, i32 33, i32 36, i32 39, i32 42, i32 45>
- %3 = zext <16 x i8> %2 to <16 x i32>
- %4 = mul <16 x i32> %3, %x1
- %5 = lshr <16 x i32> %4, %x2
- %6 = trunc <16 x i32> %5 to <16 x i8>
- ret <16 x i8> %6
+ %2 = shufflevector <48 x i8> %1, <48 x i8> undef, <32 x i32> <i32 0, i32 1, i32 3, i32 4, i32 6, i32 7, i32 9, i32 10, i32 12, i32 13, i32 15, i32 16, i32 18, i32 19, i32 21, i32 22, i32 24, i32 25, i32 27, i32 28, i32 30, i32 31, i32 33, i32 34, i32 36, i32 37, i32 39, i32 40, i32 42, i32 43, i32 45, i32 46>
+ ret <32 x i8> %2
}
diff --git a/test/CodeGen/X86/vector-shuffle-variable-128.ll b/test/CodeGen/X86/vector-shuffle-variable-128.ll
index 452f387a4fee..5e9e78d0b1f0 100644
--- a/test/CodeGen/X86/vector-shuffle-variable-128.ll
+++ b/test/CodeGen/X86/vector-shuffle-variable-128.ll
@@ -1,9 +1,9 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSSE3
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=ALL --check-prefix=SSE --check-prefix=SSE41
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
;
; Unary shuffle indices from registers
diff --git a/test/CodeGen/X86/vector-shuffle-variable-256.ll b/test/CodeGen/X86/vector-shuffle-variable-256.ll
index b076bc993ef8..4ca878ef7970 100644
--- a/test/CodeGen/X86/vector-shuffle-variable-256.ll
+++ b/test/CodeGen/X86/vector-shuffle-variable-256.ll
@@ -1,7 +1,6 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; NOTE: Assertions have been autogenerated by update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=ALL --check-prefix=AVX --check-prefix=AVX2
;
; Unary shuffle indices from registers
diff --git a/test/CodeGen/X86/vector-tzcnt-128.ll b/test/CodeGen/X86/vector-tzcnt-128.ll
index a22a60756264..4b5a00a30d09 100644
--- a/test/CodeGen/X86/vector-tzcnt-128.ll
+++ b/test/CodeGen/X86/vector-tzcnt-128.ll
@@ -19,20 +19,21 @@ define <2 x i64> @testv2i64(<2 x i64> %in) nounwind {
; SSE2-NEXT: pxor %xmm2, %xmm2
; SSE2-NEXT: psubq %xmm0, %xmm2
; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: psubq {{.*}}(%rip), %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
+; SSE2-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE2-NEXT: paddq %xmm2, %xmm3
+; SSE2-NEXT: movdqa %xmm3, %xmm0
; SSE2-NEXT: psrlq $1, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE2-NEXT: psubq %xmm0, %xmm2
+; SSE2-NEXT: psubq %xmm0, %xmm3
; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [3689348814741910323,3689348814741910323]
-; SSE2-NEXT: movdqa %xmm2, %xmm3
-; SSE2-NEXT: pand %xmm0, %xmm3
-; SSE2-NEXT: psrlq $2, %xmm2
+; SSE2-NEXT: movdqa %xmm3, %xmm2
; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: paddq %xmm3, %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
+; SSE2-NEXT: psrlq $2, %xmm3
+; SSE2-NEXT: pand %xmm0, %xmm3
+; SSE2-NEXT: paddq %xmm2, %xmm3
+; SSE2-NEXT: movdqa %xmm3, %xmm0
; SSE2-NEXT: psrlq $4, %xmm0
-; SSE2-NEXT: paddq %xmm2, %xmm0
+; SSE2-NEXT: paddq %xmm3, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
; SSE2-NEXT: psadbw %xmm1, %xmm0
; SSE2-NEXT: retq
@@ -43,20 +44,21 @@ define <2 x i64> @testv2i64(<2 x i64> %in) nounwind {
; SSE3-NEXT: pxor %xmm2, %xmm2
; SSE3-NEXT: psubq %xmm0, %xmm2
; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: psubq {{.*}}(%rip), %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
+; SSE3-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE3-NEXT: paddq %xmm2, %xmm3
+; SSE3-NEXT: movdqa %xmm3, %xmm0
; SSE3-NEXT: psrlq $1, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE3-NEXT: psubq %xmm0, %xmm2
+; SSE3-NEXT: psubq %xmm0, %xmm3
; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [3689348814741910323,3689348814741910323]
-; SSE3-NEXT: movdqa %xmm2, %xmm3
-; SSE3-NEXT: pand %xmm0, %xmm3
-; SSE3-NEXT: psrlq $2, %xmm2
+; SSE3-NEXT: movdqa %xmm3, %xmm2
; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: paddq %xmm3, %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
+; SSE3-NEXT: psrlq $2, %xmm3
+; SSE3-NEXT: pand %xmm0, %xmm3
+; SSE3-NEXT: paddq %xmm2, %xmm3
+; SSE3-NEXT: movdqa %xmm3, %xmm0
; SSE3-NEXT: psrlq $4, %xmm0
-; SSE3-NEXT: paddq %xmm2, %xmm0
+; SSE3-NEXT: paddq %xmm3, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
; SSE3-NEXT: psadbw %xmm1, %xmm0
; SSE3-NEXT: retq
@@ -67,16 +69,17 @@ define <2 x i64> @testv2i64(<2 x i64> %in) nounwind {
; SSSE3-NEXT: pxor %xmm2, %xmm2
; SSSE3-NEXT: psubq %xmm0, %xmm2
; SSSE3-NEXT: pand %xmm0, %xmm2
-; SSSE3-NEXT: psubq {{.*}}(%rip), %xmm2
-; SSSE3-NEXT: movdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSSE3-NEXT: movdqa %xmm2, %xmm4
-; SSSE3-NEXT: pand %xmm3, %xmm4
+; SSSE3-NEXT: pcmpeqd %xmm3, %xmm3
+; SSSE3-NEXT: paddq %xmm2, %xmm3
+; SSSE3-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSSE3-NEXT: movdqa %xmm3, %xmm4
+; SSSE3-NEXT: pand %xmm2, %xmm4
; SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSSE3-NEXT: movdqa %xmm0, %xmm5
; SSSE3-NEXT: pshufb %xmm4, %xmm5
-; SSSE3-NEXT: psrlw $4, %xmm2
-; SSSE3-NEXT: pand %xmm3, %xmm2
-; SSSE3-NEXT: pshufb %xmm2, %xmm0
+; SSSE3-NEXT: psrlw $4, %xmm3
+; SSSE3-NEXT: pand %xmm2, %xmm3
+; SSSE3-NEXT: pshufb %xmm3, %xmm0
; SSSE3-NEXT: paddb %xmm5, %xmm0
; SSSE3-NEXT: psadbw %xmm1, %xmm0
; SSSE3-NEXT: retq
@@ -87,16 +90,17 @@ define <2 x i64> @testv2i64(<2 x i64> %in) nounwind {
; SSE41-NEXT: pxor %xmm2, %xmm2
; SSE41-NEXT: psubq %xmm0, %xmm2
; SSE41-NEXT: pand %xmm0, %xmm2
-; SSE41-NEXT: psubq {{.*}}(%rip), %xmm2
-; SSE41-NEXT: movdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSE41-NEXT: movdqa %xmm2, %xmm4
-; SSE41-NEXT: pand %xmm3, %xmm4
+; SSE41-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE41-NEXT: paddq %xmm2, %xmm3
+; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSE41-NEXT: movdqa %xmm3, %xmm4
+; SSE41-NEXT: pand %xmm2, %xmm4
; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSE41-NEXT: movdqa %xmm0, %xmm5
; SSE41-NEXT: pshufb %xmm4, %xmm5
-; SSE41-NEXT: psrlw $4, %xmm2
-; SSE41-NEXT: pand %xmm3, %xmm2
-; SSE41-NEXT: pshufb %xmm2, %xmm0
+; SSE41-NEXT: psrlw $4, %xmm3
+; SSE41-NEXT: pand %xmm2, %xmm3
+; SSE41-NEXT: pshufb %xmm3, %xmm0
; SSE41-NEXT: paddb %xmm5, %xmm0
; SSE41-NEXT: psadbw %xmm1, %xmm0
; SSE41-NEXT: retq
@@ -106,7 +110,8 @@ define <2 x i64> @testv2i64(<2 x i64> %in) nounwind {
; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX-NEXT: vpsubq %xmm0, %xmm1, %xmm2
; AVX-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX-NEXT: vpsubq {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX-NEXT: vpaddq %xmm2, %xmm0, %xmm0
; AVX-NEXT: vmovdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX-NEXT: vpand %xmm2, %xmm0, %xmm3
; AVX-NEXT: vmovdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -123,7 +128,8 @@ define <2 x i64> @testv2i64(<2 x i64> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpsubq %xmm0, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubq {{.*}}(%rip), %xmm0, %xmm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddq %xmm1, %xmm0, %xmm0
; AVX512VPOPCNTDQ-NEXT: vpopcntq %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: # kill: %XMM0<def> %XMM0<kill> %ZMM0<kill>
; AVX512VPOPCNTDQ-NEXT: vzeroupper
@@ -159,20 +165,21 @@ define <2 x i64> @testv2i64u(<2 x i64> %in) nounwind {
; SSE2-NEXT: pxor %xmm2, %xmm2
; SSE2-NEXT: psubq %xmm0, %xmm2
; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: psubq {{.*}}(%rip), %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
+; SSE2-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE2-NEXT: paddq %xmm2, %xmm3
+; SSE2-NEXT: movdqa %xmm3, %xmm0
; SSE2-NEXT: psrlq $1, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE2-NEXT: psubq %xmm0, %xmm2
+; SSE2-NEXT: psubq %xmm0, %xmm3
; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [3689348814741910323,3689348814741910323]
-; SSE2-NEXT: movdqa %xmm2, %xmm3
-; SSE2-NEXT: pand %xmm0, %xmm3
-; SSE2-NEXT: psrlq $2, %xmm2
+; SSE2-NEXT: movdqa %xmm3, %xmm2
; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: paddq %xmm3, %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
+; SSE2-NEXT: psrlq $2, %xmm3
+; SSE2-NEXT: pand %xmm0, %xmm3
+; SSE2-NEXT: paddq %xmm2, %xmm3
+; SSE2-NEXT: movdqa %xmm3, %xmm0
; SSE2-NEXT: psrlq $4, %xmm0
-; SSE2-NEXT: paddq %xmm2, %xmm0
+; SSE2-NEXT: paddq %xmm3, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
; SSE2-NEXT: psadbw %xmm1, %xmm0
; SSE2-NEXT: retq
@@ -183,20 +190,21 @@ define <2 x i64> @testv2i64u(<2 x i64> %in) nounwind {
; SSE3-NEXT: pxor %xmm2, %xmm2
; SSE3-NEXT: psubq %xmm0, %xmm2
; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: psubq {{.*}}(%rip), %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
+; SSE3-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE3-NEXT: paddq %xmm2, %xmm3
+; SSE3-NEXT: movdqa %xmm3, %xmm0
; SSE3-NEXT: psrlq $1, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE3-NEXT: psubq %xmm0, %xmm2
+; SSE3-NEXT: psubq %xmm0, %xmm3
; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [3689348814741910323,3689348814741910323]
-; SSE3-NEXT: movdqa %xmm2, %xmm3
-; SSE3-NEXT: pand %xmm0, %xmm3
-; SSE3-NEXT: psrlq $2, %xmm2
+; SSE3-NEXT: movdqa %xmm3, %xmm2
; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: paddq %xmm3, %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
+; SSE3-NEXT: psrlq $2, %xmm3
+; SSE3-NEXT: pand %xmm0, %xmm3
+; SSE3-NEXT: paddq %xmm2, %xmm3
+; SSE3-NEXT: movdqa %xmm3, %xmm0
; SSE3-NEXT: psrlq $4, %xmm0
-; SSE3-NEXT: paddq %xmm2, %xmm0
+; SSE3-NEXT: paddq %xmm3, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
; SSE3-NEXT: psadbw %xmm1, %xmm0
; SSE3-NEXT: retq
@@ -207,16 +215,17 @@ define <2 x i64> @testv2i64u(<2 x i64> %in) nounwind {
; SSSE3-NEXT: pxor %xmm2, %xmm2
; SSSE3-NEXT: psubq %xmm0, %xmm2
; SSSE3-NEXT: pand %xmm0, %xmm2
-; SSSE3-NEXT: psubq {{.*}}(%rip), %xmm2
-; SSSE3-NEXT: movdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSSE3-NEXT: movdqa %xmm2, %xmm4
-; SSSE3-NEXT: pand %xmm3, %xmm4
+; SSSE3-NEXT: pcmpeqd %xmm3, %xmm3
+; SSSE3-NEXT: paddq %xmm2, %xmm3
+; SSSE3-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSSE3-NEXT: movdqa %xmm3, %xmm4
+; SSSE3-NEXT: pand %xmm2, %xmm4
; SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSSE3-NEXT: movdqa %xmm0, %xmm5
; SSSE3-NEXT: pshufb %xmm4, %xmm5
-; SSSE3-NEXT: psrlw $4, %xmm2
-; SSSE3-NEXT: pand %xmm3, %xmm2
-; SSSE3-NEXT: pshufb %xmm2, %xmm0
+; SSSE3-NEXT: psrlw $4, %xmm3
+; SSSE3-NEXT: pand %xmm2, %xmm3
+; SSSE3-NEXT: pshufb %xmm3, %xmm0
; SSSE3-NEXT: paddb %xmm5, %xmm0
; SSSE3-NEXT: psadbw %xmm1, %xmm0
; SSSE3-NEXT: retq
@@ -227,16 +236,17 @@ define <2 x i64> @testv2i64u(<2 x i64> %in) nounwind {
; SSE41-NEXT: pxor %xmm2, %xmm2
; SSE41-NEXT: psubq %xmm0, %xmm2
; SSE41-NEXT: pand %xmm0, %xmm2
-; SSE41-NEXT: psubq {{.*}}(%rip), %xmm2
-; SSE41-NEXT: movdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSE41-NEXT: movdqa %xmm2, %xmm4
-; SSE41-NEXT: pand %xmm3, %xmm4
+; SSE41-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE41-NEXT: paddq %xmm2, %xmm3
+; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSE41-NEXT: movdqa %xmm3, %xmm4
+; SSE41-NEXT: pand %xmm2, %xmm4
; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSE41-NEXT: movdqa %xmm0, %xmm5
; SSE41-NEXT: pshufb %xmm4, %xmm5
-; SSE41-NEXT: psrlw $4, %xmm2
-; SSE41-NEXT: pand %xmm3, %xmm2
-; SSE41-NEXT: pshufb %xmm2, %xmm0
+; SSE41-NEXT: psrlw $4, %xmm3
+; SSE41-NEXT: pand %xmm2, %xmm3
+; SSE41-NEXT: pshufb %xmm3, %xmm0
; SSE41-NEXT: paddb %xmm5, %xmm0
; SSE41-NEXT: psadbw %xmm1, %xmm0
; SSE41-NEXT: retq
@@ -246,7 +256,8 @@ define <2 x i64> @testv2i64u(<2 x i64> %in) nounwind {
; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX1-NEXT: vpsubq %xmm0, %xmm1, %xmm2
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX1-NEXT: vpsubq {{.*}}(%rip), %xmm0, %xmm0
+; AVX1-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX1-NEXT: vpaddq %xmm2, %xmm0, %xmm0
; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm3
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -263,7 +274,8 @@ define <2 x i64> @testv2i64u(<2 x i64> %in) nounwind {
; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX2-NEXT: vpsubq %xmm0, %xmm1, %xmm2
; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX2-NEXT: vpsubq {{.*}}(%rip), %xmm0, %xmm0
+; AVX2-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX2-NEXT: vpaddq %xmm2, %xmm0, %xmm0
; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm3
; AVX2-NEXT: vmovdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -301,7 +313,8 @@ define <2 x i64> @testv2i64u(<2 x i64> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpsubq %xmm0, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubq {{.*}}(%rip), %xmm0, %xmm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddq %xmm1, %xmm0, %xmm0
; AVX512VPOPCNTDQ-NEXT: vpopcntq %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: # kill: %XMM0<def> %XMM0<kill> %ZMM0<kill>
; AVX512VPOPCNTDQ-NEXT: vzeroupper
@@ -337,20 +350,21 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; SSE2-NEXT: pxor %xmm2, %xmm2
; SSE2-NEXT: psubd %xmm0, %xmm2
; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: psubd {{.*}}(%rip), %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
+; SSE2-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE2-NEXT: paddd %xmm2, %xmm3
+; SSE2-NEXT: movdqa %xmm3, %xmm0
; SSE2-NEXT: psrld $1, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE2-NEXT: psubd %xmm0, %xmm2
+; SSE2-NEXT: psubd %xmm0, %xmm3
; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [858993459,858993459,858993459,858993459]
-; SSE2-NEXT: movdqa %xmm2, %xmm3
-; SSE2-NEXT: pand %xmm0, %xmm3
-; SSE2-NEXT: psrld $2, %xmm2
+; SSE2-NEXT: movdqa %xmm3, %xmm2
; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: paddd %xmm3, %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
+; SSE2-NEXT: psrld $2, %xmm3
+; SSE2-NEXT: pand %xmm0, %xmm3
+; SSE2-NEXT: paddd %xmm2, %xmm3
+; SSE2-NEXT: movdqa %xmm3, %xmm0
; SSE2-NEXT: psrld $4, %xmm0
-; SSE2-NEXT: paddd %xmm2, %xmm0
+; SSE2-NEXT: paddd %xmm3, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
; SSE2-NEXT: movdqa %xmm0, %xmm2
; SSE2-NEXT: punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]
@@ -366,20 +380,21 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; SSE3-NEXT: pxor %xmm2, %xmm2
; SSE3-NEXT: psubd %xmm0, %xmm2
; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: psubd {{.*}}(%rip), %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
+; SSE3-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE3-NEXT: paddd %xmm2, %xmm3
+; SSE3-NEXT: movdqa %xmm3, %xmm0
; SSE3-NEXT: psrld $1, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE3-NEXT: psubd %xmm0, %xmm2
+; SSE3-NEXT: psubd %xmm0, %xmm3
; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [858993459,858993459,858993459,858993459]
-; SSE3-NEXT: movdqa %xmm2, %xmm3
-; SSE3-NEXT: pand %xmm0, %xmm3
-; SSE3-NEXT: psrld $2, %xmm2
+; SSE3-NEXT: movdqa %xmm3, %xmm2
; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: paddd %xmm3, %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
+; SSE3-NEXT: psrld $2, %xmm3
+; SSE3-NEXT: pand %xmm0, %xmm3
+; SSE3-NEXT: paddd %xmm2, %xmm3
+; SSE3-NEXT: movdqa %xmm3, %xmm0
; SSE3-NEXT: psrld $4, %xmm0
-; SSE3-NEXT: paddd %xmm2, %xmm0
+; SSE3-NEXT: paddd %xmm3, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
; SSE3-NEXT: movdqa %xmm0, %xmm2
; SSE3-NEXT: punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]
@@ -395,16 +410,17 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; SSSE3-NEXT: pxor %xmm2, %xmm2
; SSSE3-NEXT: psubd %xmm0, %xmm2
; SSSE3-NEXT: pand %xmm0, %xmm2
-; SSSE3-NEXT: psubd {{.*}}(%rip), %xmm2
-; SSSE3-NEXT: movdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSSE3-NEXT: movdqa %xmm2, %xmm4
-; SSSE3-NEXT: pand %xmm3, %xmm4
+; SSSE3-NEXT: pcmpeqd %xmm3, %xmm3
+; SSSE3-NEXT: paddd %xmm2, %xmm3
+; SSSE3-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSSE3-NEXT: movdqa %xmm3, %xmm4
+; SSSE3-NEXT: pand %xmm2, %xmm4
; SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSSE3-NEXT: movdqa %xmm0, %xmm5
; SSSE3-NEXT: pshufb %xmm4, %xmm5
-; SSSE3-NEXT: psrlw $4, %xmm2
-; SSSE3-NEXT: pand %xmm3, %xmm2
-; SSSE3-NEXT: pshufb %xmm2, %xmm0
+; SSSE3-NEXT: psrlw $4, %xmm3
+; SSSE3-NEXT: pand %xmm2, %xmm3
+; SSSE3-NEXT: pshufb %xmm3, %xmm0
; SSSE3-NEXT: paddb %xmm5, %xmm0
; SSSE3-NEXT: movdqa %xmm0, %xmm2
; SSSE3-NEXT: punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]
@@ -420,16 +436,17 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; SSE41-NEXT: pxor %xmm2, %xmm2
; SSE41-NEXT: psubd %xmm0, %xmm2
; SSE41-NEXT: pand %xmm0, %xmm2
-; SSE41-NEXT: psubd {{.*}}(%rip), %xmm2
-; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSE41-NEXT: movdqa %xmm2, %xmm3
-; SSE41-NEXT: pand %xmm0, %xmm3
+; SSE41-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE41-NEXT: paddd %xmm2, %xmm0
+; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSE41-NEXT: movdqa %xmm0, %xmm3
+; SSE41-NEXT: pand %xmm2, %xmm3
; SSE41-NEXT: movdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSE41-NEXT: movdqa %xmm4, %xmm5
; SSE41-NEXT: pshufb %xmm3, %xmm5
-; SSE41-NEXT: psrlw $4, %xmm2
-; SSE41-NEXT: pand %xmm0, %xmm2
-; SSE41-NEXT: pshufb %xmm2, %xmm4
+; SSE41-NEXT: psrlw $4, %xmm0
+; SSE41-NEXT: pand %xmm2, %xmm0
+; SSE41-NEXT: pshufb %xmm0, %xmm4
; SSE41-NEXT: paddb %xmm5, %xmm4
; SSE41-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm4[0],zero,xmm4[1],zero
; SSE41-NEXT: punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]
@@ -443,7 +460,8 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX1-NEXT: vpsubd %xmm0, %xmm1, %xmm2
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX1-NEXT: vpsubd {{.*}}(%rip), %xmm0, %xmm0
+; AVX1-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX1-NEXT: vpaddd %xmm2, %xmm0, %xmm0
; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm3
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -464,8 +482,8 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX2-NEXT: vpsubd %xmm0, %xmm1, %xmm2
; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %xmm2
-; AVX2-NEXT: vpsubd %xmm2, %xmm0, %xmm0
+; AVX2-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX2-NEXT: vpaddd %xmm2, %xmm0, %xmm0
; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm3
; AVX2-NEXT: vmovdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -486,7 +504,8 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; AVX512CDVL-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512CDVL-NEXT: vpsubd %xmm0, %xmm1, %xmm2
; AVX512CDVL-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX512CDVL-NEXT: vpsubd {{.*}}(%rip){1to4}, %xmm0, %xmm0
+; AVX512CDVL-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX512CDVL-NEXT: vpaddd %xmm2, %xmm0, %xmm0
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDVL-NEXT: vpand %xmm2, %xmm0, %xmm3
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -507,8 +526,8 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; AVX512CD-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512CD-NEXT: vpsubd %xmm0, %xmm1, %xmm2
; AVX512CD-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX512CD-NEXT: vpbroadcastd {{.*}}(%rip), %xmm2
-; AVX512CD-NEXT: vpsubd %xmm2, %xmm0, %xmm0
+; AVX512CD-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX512CD-NEXT: vpaddd %xmm2, %xmm0, %xmm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %xmm2, %xmm0, %xmm3
; AVX512CD-NEXT: vmovdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -529,8 +548,8 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpsubd %xmm0, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX512VPOPCNTDQ-NEXT: vpbroadcastd {{.*}}(%rip), %xmm1
-; AVX512VPOPCNTDQ-NEXT: vpsubd %xmm1, %xmm0, %xmm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddd %xmm1, %xmm0, %xmm0
; AVX512VPOPCNTDQ-NEXT: vpopcntd %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: # kill: %XMM0<def> %XMM0<kill> %ZMM0<kill>
; AVX512VPOPCNTDQ-NEXT: vzeroupper
@@ -542,16 +561,17 @@ define <4 x i32> @testv4i32(<4 x i32> %in) nounwind {
; X32-SSE-NEXT: pxor %xmm2, %xmm2
; X32-SSE-NEXT: psubd %xmm0, %xmm2
; X32-SSE-NEXT: pand %xmm0, %xmm2
-; X32-SSE-NEXT: psubd {{\.LCPI.*}}, %xmm2
-; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; X32-SSE-NEXT: movdqa %xmm2, %xmm3
-; X32-SSE-NEXT: pand %xmm0, %xmm3
+; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0
+; X32-SSE-NEXT: paddd %xmm2, %xmm0
+; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; X32-SSE-NEXT: movdqa %xmm0, %xmm3
+; X32-SSE-NEXT: pand %xmm2, %xmm3
; X32-SSE-NEXT: movdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; X32-SSE-NEXT: movdqa %xmm4, %xmm5
; X32-SSE-NEXT: pshufb %xmm3, %xmm5
-; X32-SSE-NEXT: psrlw $4, %xmm2
-; X32-SSE-NEXT: pand %xmm0, %xmm2
-; X32-SSE-NEXT: pshufb %xmm2, %xmm4
+; X32-SSE-NEXT: psrlw $4, %xmm0
+; X32-SSE-NEXT: pand %xmm2, %xmm0
+; X32-SSE-NEXT: pshufb %xmm0, %xmm4
; X32-SSE-NEXT: paddb %xmm5, %xmm4
; X32-SSE-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm4[0],zero,xmm4[1],zero
; X32-SSE-NEXT: punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]
@@ -570,20 +590,21 @@ define <4 x i32> @testv4i32u(<4 x i32> %in) nounwind {
; SSE2-NEXT: pxor %xmm2, %xmm2
; SSE2-NEXT: psubd %xmm0, %xmm2
; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: psubd {{.*}}(%rip), %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
+; SSE2-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE2-NEXT: paddd %xmm2, %xmm3
+; SSE2-NEXT: movdqa %xmm3, %xmm0
; SSE2-NEXT: psrld $1, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE2-NEXT: psubd %xmm0, %xmm2
+; SSE2-NEXT: psubd %xmm0, %xmm3
; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [858993459,858993459,858993459,858993459]
-; SSE2-NEXT: movdqa %xmm2, %xmm3
-; SSE2-NEXT: pand %xmm0, %xmm3
-; SSE2-NEXT: psrld $2, %xmm2
+; SSE2-NEXT: movdqa %xmm3, %xmm2
; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: paddd %xmm3, %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
+; SSE2-NEXT: psrld $2, %xmm3
+; SSE2-NEXT: pand %xmm0, %xmm3
+; SSE2-NEXT: paddd %xmm2, %xmm3
+; SSE2-NEXT: movdqa %xmm3, %xmm0
; SSE2-NEXT: psrld $4, %xmm0
-; SSE2-NEXT: paddd %xmm2, %xmm0
+; SSE2-NEXT: paddd %xmm3, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
; SSE2-NEXT: movdqa %xmm0, %xmm2
; SSE2-NEXT: punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]
@@ -599,20 +620,21 @@ define <4 x i32> @testv4i32u(<4 x i32> %in) nounwind {
; SSE3-NEXT: pxor %xmm2, %xmm2
; SSE3-NEXT: psubd %xmm0, %xmm2
; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: psubd {{.*}}(%rip), %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
+; SSE3-NEXT: pcmpeqd %xmm3, %xmm3
+; SSE3-NEXT: paddd %xmm2, %xmm3
+; SSE3-NEXT: movdqa %xmm3, %xmm0
; SSE3-NEXT: psrld $1, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE3-NEXT: psubd %xmm0, %xmm2
+; SSE3-NEXT: psubd %xmm0, %xmm3
; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [858993459,858993459,858993459,858993459]
-; SSE3-NEXT: movdqa %xmm2, %xmm3
-; SSE3-NEXT: pand %xmm0, %xmm3
-; SSE3-NEXT: psrld $2, %xmm2
+; SSE3-NEXT: movdqa %xmm3, %xmm2
; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: paddd %xmm3, %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
+; SSE3-NEXT: psrld $2, %xmm3
+; SSE3-NEXT: pand %xmm0, %xmm3
+; SSE3-NEXT: paddd %xmm2, %xmm3
+; SSE3-NEXT: movdqa %xmm3, %xmm0
; SSE3-NEXT: psrld $4, %xmm0
-; SSE3-NEXT: paddd %xmm2, %xmm0
+; SSE3-NEXT: paddd %xmm3, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
; SSE3-NEXT: movdqa %xmm0, %xmm2
; SSE3-NEXT: punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]
@@ -628,16 +650,17 @@ define <4 x i32> @testv4i32u(<4 x i32> %in) nounwind {
; SSSE3-NEXT: pxor %xmm2, %xmm2
; SSSE3-NEXT: psubd %xmm0, %xmm2
; SSSE3-NEXT: pand %xmm0, %xmm2
-; SSSE3-NEXT: psubd {{.*}}(%rip), %xmm2
-; SSSE3-NEXT: movdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSSE3-NEXT: movdqa %xmm2, %xmm4
-; SSSE3-NEXT: pand %xmm3, %xmm4
+; SSSE3-NEXT: pcmpeqd %xmm3, %xmm3
+; SSSE3-NEXT: paddd %xmm2, %xmm3
+; SSSE3-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSSE3-NEXT: movdqa %xmm3, %xmm4
+; SSSE3-NEXT: pand %xmm2, %xmm4
; SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSSE3-NEXT: movdqa %xmm0, %xmm5
; SSSE3-NEXT: pshufb %xmm4, %xmm5
-; SSSE3-NEXT: psrlw $4, %xmm2
-; SSSE3-NEXT: pand %xmm3, %xmm2
-; SSSE3-NEXT: pshufb %xmm2, %xmm0
+; SSSE3-NEXT: psrlw $4, %xmm3
+; SSSE3-NEXT: pand %xmm2, %xmm3
+; SSSE3-NEXT: pshufb %xmm3, %xmm0
; SSSE3-NEXT: paddb %xmm5, %xmm0
; SSSE3-NEXT: movdqa %xmm0, %xmm2
; SSSE3-NEXT: punpckhdq {{.*#+}} xmm2 = xmm2[2],xmm1[2],xmm2[3],xmm1[3]
@@ -653,16 +676,17 @@ define <4 x i32> @testv4i32u(<4 x i32> %in) nounwind {
; SSE41-NEXT: pxor %xmm2, %xmm2
; SSE41-NEXT: psubd %xmm0, %xmm2
; SSE41-NEXT: pand %xmm0, %xmm2
-; SSE41-NEXT: psubd {{.*}}(%rip), %xmm2
-; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSE41-NEXT: movdqa %xmm2, %xmm3
-; SSE41-NEXT: pand %xmm0, %xmm3
+; SSE41-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE41-NEXT: paddd %xmm2, %xmm0
+; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSE41-NEXT: movdqa %xmm0, %xmm3
+; SSE41-NEXT: pand %xmm2, %xmm3
; SSE41-NEXT: movdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSE41-NEXT: movdqa %xmm4, %xmm5
; SSE41-NEXT: pshufb %xmm3, %xmm5
-; SSE41-NEXT: psrlw $4, %xmm2
-; SSE41-NEXT: pand %xmm0, %xmm2
-; SSE41-NEXT: pshufb %xmm2, %xmm4
+; SSE41-NEXT: psrlw $4, %xmm0
+; SSE41-NEXT: pand %xmm2, %xmm0
+; SSE41-NEXT: pshufb %xmm0, %xmm4
; SSE41-NEXT: paddb %xmm5, %xmm4
; SSE41-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm4[0],zero,xmm4[1],zero
; SSE41-NEXT: punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]
@@ -676,7 +700,8 @@ define <4 x i32> @testv4i32u(<4 x i32> %in) nounwind {
; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX1-NEXT: vpsubd %xmm0, %xmm1, %xmm2
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX1-NEXT: vpsubd {{.*}}(%rip), %xmm0, %xmm0
+; AVX1-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX1-NEXT: vpaddd %xmm2, %xmm0, %xmm0
; AVX1-NEXT: vmovdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm3
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -697,8 +722,8 @@ define <4 x i32> @testv4i32u(<4 x i32> %in) nounwind {
; AVX2-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX2-NEXT: vpsubd %xmm0, %xmm1, %xmm2
; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %xmm2
-; AVX2-NEXT: vpsubd %xmm2, %xmm0, %xmm0
+; AVX2-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX2-NEXT: vpaddd %xmm2, %xmm0, %xmm0
; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm3
; AVX2-NEXT: vmovdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -740,8 +765,8 @@ define <4 x i32> @testv4i32u(<4 x i32> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpsubd %xmm0, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX512VPOPCNTDQ-NEXT: vpbroadcastd {{.*}}(%rip), %xmm1
-; AVX512VPOPCNTDQ-NEXT: vpsubd %xmm1, %xmm0, %xmm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddd %xmm1, %xmm0, %xmm0
; AVX512VPOPCNTDQ-NEXT: vpopcntd %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: # kill: %XMM0<def> %XMM0<kill> %ZMM0<kill>
; AVX512VPOPCNTDQ-NEXT: vzeroupper
@@ -753,16 +778,17 @@ define <4 x i32> @testv4i32u(<4 x i32> %in) nounwind {
; X32-SSE-NEXT: pxor %xmm2, %xmm2
; X32-SSE-NEXT: psubd %xmm0, %xmm2
; X32-SSE-NEXT: pand %xmm0, %xmm2
-; X32-SSE-NEXT: psubd {{\.LCPI.*}}, %xmm2
-; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; X32-SSE-NEXT: movdqa %xmm2, %xmm3
-; X32-SSE-NEXT: pand %xmm0, %xmm3
+; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0
+; X32-SSE-NEXT: paddd %xmm2, %xmm0
+; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; X32-SSE-NEXT: movdqa %xmm0, %xmm3
+; X32-SSE-NEXT: pand %xmm2, %xmm3
; X32-SSE-NEXT: movdqa {{.*#+}} xmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; X32-SSE-NEXT: movdqa %xmm4, %xmm5
; X32-SSE-NEXT: pshufb %xmm3, %xmm5
-; X32-SSE-NEXT: psrlw $4, %xmm2
-; X32-SSE-NEXT: pand %xmm0, %xmm2
-; X32-SSE-NEXT: pshufb %xmm2, %xmm4
+; X32-SSE-NEXT: psrlw $4, %xmm0
+; X32-SSE-NEXT: pand %xmm2, %xmm0
+; X32-SSE-NEXT: pshufb %xmm0, %xmm4
; X32-SSE-NEXT: paddb %xmm5, %xmm4
; X32-SSE-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm4[0],zero,xmm4[1],zero
; X32-SSE-NEXT: punpckhdq {{.*#+}} xmm4 = xmm4[2],xmm1[2],xmm4[3],xmm1[3]
@@ -780,24 +806,25 @@ define <8 x i16> @testv8i16(<8 x i16> %in) nounwind {
; SSE2-NEXT: pxor %xmm1, %xmm1
; SSE2-NEXT: psubw %xmm0, %xmm1
; SSE2-NEXT: pand %xmm0, %xmm1
-; SSE2-NEXT: psubw {{.*}}(%rip), %xmm1
+; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE2-NEXT: paddw %xmm1, %xmm0
+; SSE2-NEXT: movdqa %xmm0, %xmm1
+; SSE2-NEXT: psrlw $1, %xmm1
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm1
+; SSE2-NEXT: psubw %xmm1, %xmm0
+; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [13107,13107,13107,13107,13107,13107,13107,13107]
+; SSE2-NEXT: movdqa %xmm0, %xmm2
+; SSE2-NEXT: pand %xmm1, %xmm2
+; SSE2-NEXT: psrlw $2, %xmm0
+; SSE2-NEXT: pand %xmm1, %xmm0
+; SSE2-NEXT: paddw %xmm2, %xmm0
+; SSE2-NEXT: movdqa %xmm0, %xmm1
+; SSE2-NEXT: psrlw $4, %xmm1
+; SSE2-NEXT: paddw %xmm0, %xmm1
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm1
; SSE2-NEXT: movdqa %xmm1, %xmm0
-; SSE2-NEXT: psrlw $1, %xmm0
-; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE2-NEXT: psubw %xmm0, %xmm1
-; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [13107,13107,13107,13107,13107,13107,13107,13107]
-; SSE2-NEXT: movdqa %xmm1, %xmm2
-; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: psrlw $2, %xmm1
-; SSE2-NEXT: pand %xmm0, %xmm1
-; SSE2-NEXT: paddw %xmm2, %xmm1
-; SSE2-NEXT: movdqa %xmm1, %xmm2
-; SSE2-NEXT: psrlw $4, %xmm2
-; SSE2-NEXT: paddw %xmm1, %xmm2
-; SSE2-NEXT: pand {{.*}}(%rip), %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
; SSE2-NEXT: psllw $8, %xmm0
-; SSE2-NEXT: paddb %xmm2, %xmm0
+; SSE2-NEXT: paddb %xmm1, %xmm0
; SSE2-NEXT: psrlw $8, %xmm0
; SSE2-NEXT: retq
;
@@ -806,24 +833,25 @@ define <8 x i16> @testv8i16(<8 x i16> %in) nounwind {
; SSE3-NEXT: pxor %xmm1, %xmm1
; SSE3-NEXT: psubw %xmm0, %xmm1
; SSE3-NEXT: pand %xmm0, %xmm1
-; SSE3-NEXT: psubw {{.*}}(%rip), %xmm1
+; SSE3-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE3-NEXT: paddw %xmm1, %xmm0
+; SSE3-NEXT: movdqa %xmm0, %xmm1
+; SSE3-NEXT: psrlw $1, %xmm1
+; SSE3-NEXT: pand {{.*}}(%rip), %xmm1
+; SSE3-NEXT: psubw %xmm1, %xmm0
+; SSE3-NEXT: movdqa {{.*#+}} xmm1 = [13107,13107,13107,13107,13107,13107,13107,13107]
+; SSE3-NEXT: movdqa %xmm0, %xmm2
+; SSE3-NEXT: pand %xmm1, %xmm2
+; SSE3-NEXT: psrlw $2, %xmm0
+; SSE3-NEXT: pand %xmm1, %xmm0
+; SSE3-NEXT: paddw %xmm2, %xmm0
+; SSE3-NEXT: movdqa %xmm0, %xmm1
+; SSE3-NEXT: psrlw $4, %xmm1
+; SSE3-NEXT: paddw %xmm0, %xmm1
+; SSE3-NEXT: pand {{.*}}(%rip), %xmm1
; SSE3-NEXT: movdqa %xmm1, %xmm0
-; SSE3-NEXT: psrlw $1, %xmm0
-; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE3-NEXT: psubw %xmm0, %xmm1
-; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [13107,13107,13107,13107,13107,13107,13107,13107]
-; SSE3-NEXT: movdqa %xmm1, %xmm2
-; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: psrlw $2, %xmm1
-; SSE3-NEXT: pand %xmm0, %xmm1
-; SSE3-NEXT: paddw %xmm2, %xmm1
-; SSE3-NEXT: movdqa %xmm1, %xmm2
-; SSE3-NEXT: psrlw $4, %xmm2
-; SSE3-NEXT: paddw %xmm1, %xmm2
-; SSE3-NEXT: pand {{.*}}(%rip), %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
; SSE3-NEXT: psllw $8, %xmm0
-; SSE3-NEXT: paddb %xmm2, %xmm0
+; SSE3-NEXT: paddb %xmm1, %xmm0
; SSE3-NEXT: psrlw $8, %xmm0
; SSE3-NEXT: retq
;
@@ -832,16 +860,17 @@ define <8 x i16> @testv8i16(<8 x i16> %in) nounwind {
; SSSE3-NEXT: pxor %xmm1, %xmm1
; SSSE3-NEXT: psubw %xmm0, %xmm1
; SSSE3-NEXT: pand %xmm0, %xmm1
-; SSSE3-NEXT: psubw {{.*}}(%rip), %xmm1
-; SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSSE3-NEXT: movdqa %xmm1, %xmm2
-; SSSE3-NEXT: pand %xmm0, %xmm2
+; SSSE3-NEXT: pcmpeqd %xmm0, %xmm0
+; SSSE3-NEXT: paddw %xmm1, %xmm0
+; SSSE3-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSSE3-NEXT: movdqa %xmm0, %xmm2
+; SSSE3-NEXT: pand %xmm1, %xmm2
; SSSE3-NEXT: movdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSSE3-NEXT: movdqa %xmm3, %xmm4
; SSSE3-NEXT: pshufb %xmm2, %xmm4
-; SSSE3-NEXT: psrlw $4, %xmm1
-; SSSE3-NEXT: pand %xmm0, %xmm1
-; SSSE3-NEXT: pshufb %xmm1, %xmm3
+; SSSE3-NEXT: psrlw $4, %xmm0
+; SSSE3-NEXT: pand %xmm1, %xmm0
+; SSSE3-NEXT: pshufb %xmm0, %xmm3
; SSSE3-NEXT: paddb %xmm4, %xmm3
; SSSE3-NEXT: movdqa %xmm3, %xmm0
; SSSE3-NEXT: psllw $8, %xmm0
@@ -854,16 +883,17 @@ define <8 x i16> @testv8i16(<8 x i16> %in) nounwind {
; SSE41-NEXT: pxor %xmm1, %xmm1
; SSE41-NEXT: psubw %xmm0, %xmm1
; SSE41-NEXT: pand %xmm0, %xmm1
-; SSE41-NEXT: psubw {{.*}}(%rip), %xmm1
-; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSE41-NEXT: movdqa %xmm1, %xmm2
-; SSE41-NEXT: pand %xmm0, %xmm2
+; SSE41-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE41-NEXT: paddw %xmm1, %xmm0
+; SSE41-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSE41-NEXT: movdqa %xmm0, %xmm2
+; SSE41-NEXT: pand %xmm1, %xmm2
; SSE41-NEXT: movdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSE41-NEXT: movdqa %xmm3, %xmm4
; SSE41-NEXT: pshufb %xmm2, %xmm4
-; SSE41-NEXT: psrlw $4, %xmm1
-; SSE41-NEXT: pand %xmm0, %xmm1
-; SSE41-NEXT: pshufb %xmm1, %xmm3
+; SSE41-NEXT: psrlw $4, %xmm0
+; SSE41-NEXT: pand %xmm1, %xmm0
+; SSE41-NEXT: pshufb %xmm0, %xmm3
; SSE41-NEXT: paddb %xmm4, %xmm3
; SSE41-NEXT: movdqa %xmm3, %xmm0
; SSE41-NEXT: psllw $8, %xmm0
@@ -876,7 +906,8 @@ define <8 x i16> @testv8i16(<8 x i16> %in) nounwind {
; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX-NEXT: vpsubw %xmm0, %xmm1, %xmm1
; AVX-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX-NEXT: vpsubw {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX-NEXT: vpaddw %xmm1, %xmm0, %xmm0
; AVX-NEXT: vmovdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX-NEXT: vpand %xmm1, %xmm0, %xmm2
; AVX-NEXT: vmovdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -895,7 +926,8 @@ define <8 x i16> @testv8i16(<8 x i16> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpsubw %xmm0, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubw {{.*}}(%rip), %xmm0, %xmm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddw %xmm1, %xmm0, %xmm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm2
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -914,16 +946,17 @@ define <8 x i16> @testv8i16(<8 x i16> %in) nounwind {
; X32-SSE-NEXT: pxor %xmm1, %xmm1
; X32-SSE-NEXT: psubw %xmm0, %xmm1
; X32-SSE-NEXT: pand %xmm0, %xmm1
-; X32-SSE-NEXT: psubw {{\.LCPI.*}}, %xmm1
-; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; X32-SSE-NEXT: movdqa %xmm1, %xmm2
-; X32-SSE-NEXT: pand %xmm0, %xmm2
+; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0
+; X32-SSE-NEXT: paddw %xmm1, %xmm0
+; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; X32-SSE-NEXT: movdqa %xmm0, %xmm2
+; X32-SSE-NEXT: pand %xmm1, %xmm2
; X32-SSE-NEXT: movdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; X32-SSE-NEXT: movdqa %xmm3, %xmm4
; X32-SSE-NEXT: pshufb %xmm2, %xmm4
-; X32-SSE-NEXT: psrlw $4, %xmm1
-; X32-SSE-NEXT: pand %xmm0, %xmm1
-; X32-SSE-NEXT: pshufb %xmm1, %xmm3
+; X32-SSE-NEXT: psrlw $4, %xmm0
+; X32-SSE-NEXT: pand %xmm1, %xmm0
+; X32-SSE-NEXT: pshufb %xmm0, %xmm3
; X32-SSE-NEXT: paddb %xmm4, %xmm3
; X32-SSE-NEXT: movdqa %xmm3, %xmm0
; X32-SSE-NEXT: psllw $8, %xmm0
@@ -940,24 +973,25 @@ define <8 x i16> @testv8i16u(<8 x i16> %in) nounwind {
; SSE2-NEXT: pxor %xmm1, %xmm1
; SSE2-NEXT: psubw %xmm0, %xmm1
; SSE2-NEXT: pand %xmm0, %xmm1
-; SSE2-NEXT: psubw {{.*}}(%rip), %xmm1
+; SSE2-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE2-NEXT: paddw %xmm1, %xmm0
+; SSE2-NEXT: movdqa %xmm0, %xmm1
+; SSE2-NEXT: psrlw $1, %xmm1
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm1
+; SSE2-NEXT: psubw %xmm1, %xmm0
+; SSE2-NEXT: movdqa {{.*#+}} xmm1 = [13107,13107,13107,13107,13107,13107,13107,13107]
+; SSE2-NEXT: movdqa %xmm0, %xmm2
+; SSE2-NEXT: pand %xmm1, %xmm2
+; SSE2-NEXT: psrlw $2, %xmm0
+; SSE2-NEXT: pand %xmm1, %xmm0
+; SSE2-NEXT: paddw %xmm2, %xmm0
+; SSE2-NEXT: movdqa %xmm0, %xmm1
+; SSE2-NEXT: psrlw $4, %xmm1
+; SSE2-NEXT: paddw %xmm0, %xmm1
+; SSE2-NEXT: pand {{.*}}(%rip), %xmm1
; SSE2-NEXT: movdqa %xmm1, %xmm0
-; SSE2-NEXT: psrlw $1, %xmm0
-; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE2-NEXT: psubw %xmm0, %xmm1
-; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [13107,13107,13107,13107,13107,13107,13107,13107]
-; SSE2-NEXT: movdqa %xmm1, %xmm2
-; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: psrlw $2, %xmm1
-; SSE2-NEXT: pand %xmm0, %xmm1
-; SSE2-NEXT: paddw %xmm2, %xmm1
-; SSE2-NEXT: movdqa %xmm1, %xmm2
-; SSE2-NEXT: psrlw $4, %xmm2
-; SSE2-NEXT: paddw %xmm1, %xmm2
-; SSE2-NEXT: pand {{.*}}(%rip), %xmm2
-; SSE2-NEXT: movdqa %xmm2, %xmm0
; SSE2-NEXT: psllw $8, %xmm0
-; SSE2-NEXT: paddb %xmm2, %xmm0
+; SSE2-NEXT: paddb %xmm1, %xmm0
; SSE2-NEXT: psrlw $8, %xmm0
; SSE2-NEXT: retq
;
@@ -966,24 +1000,25 @@ define <8 x i16> @testv8i16u(<8 x i16> %in) nounwind {
; SSE3-NEXT: pxor %xmm1, %xmm1
; SSE3-NEXT: psubw %xmm0, %xmm1
; SSE3-NEXT: pand %xmm0, %xmm1
-; SSE3-NEXT: psubw {{.*}}(%rip), %xmm1
+; SSE3-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE3-NEXT: paddw %xmm1, %xmm0
+; SSE3-NEXT: movdqa %xmm0, %xmm1
+; SSE3-NEXT: psrlw $1, %xmm1
+; SSE3-NEXT: pand {{.*}}(%rip), %xmm1
+; SSE3-NEXT: psubw %xmm1, %xmm0
+; SSE3-NEXT: movdqa {{.*#+}} xmm1 = [13107,13107,13107,13107,13107,13107,13107,13107]
+; SSE3-NEXT: movdqa %xmm0, %xmm2
+; SSE3-NEXT: pand %xmm1, %xmm2
+; SSE3-NEXT: psrlw $2, %xmm0
+; SSE3-NEXT: pand %xmm1, %xmm0
+; SSE3-NEXT: paddw %xmm2, %xmm0
+; SSE3-NEXT: movdqa %xmm0, %xmm1
+; SSE3-NEXT: psrlw $4, %xmm1
+; SSE3-NEXT: paddw %xmm0, %xmm1
+; SSE3-NEXT: pand {{.*}}(%rip), %xmm1
; SSE3-NEXT: movdqa %xmm1, %xmm0
-; SSE3-NEXT: psrlw $1, %xmm0
-; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE3-NEXT: psubw %xmm0, %xmm1
-; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [13107,13107,13107,13107,13107,13107,13107,13107]
-; SSE3-NEXT: movdqa %xmm1, %xmm2
-; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: psrlw $2, %xmm1
-; SSE3-NEXT: pand %xmm0, %xmm1
-; SSE3-NEXT: paddw %xmm2, %xmm1
-; SSE3-NEXT: movdqa %xmm1, %xmm2
-; SSE3-NEXT: psrlw $4, %xmm2
-; SSE3-NEXT: paddw %xmm1, %xmm2
-; SSE3-NEXT: pand {{.*}}(%rip), %xmm2
-; SSE3-NEXT: movdqa %xmm2, %xmm0
; SSE3-NEXT: psllw $8, %xmm0
-; SSE3-NEXT: paddb %xmm2, %xmm0
+; SSE3-NEXT: paddb %xmm1, %xmm0
; SSE3-NEXT: psrlw $8, %xmm0
; SSE3-NEXT: retq
;
@@ -992,16 +1027,17 @@ define <8 x i16> @testv8i16u(<8 x i16> %in) nounwind {
; SSSE3-NEXT: pxor %xmm1, %xmm1
; SSSE3-NEXT: psubw %xmm0, %xmm1
; SSSE3-NEXT: pand %xmm0, %xmm1
-; SSSE3-NEXT: psubw {{.*}}(%rip), %xmm1
-; SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSSE3-NEXT: movdqa %xmm1, %xmm2
-; SSSE3-NEXT: pand %xmm0, %xmm2
+; SSSE3-NEXT: pcmpeqd %xmm0, %xmm0
+; SSSE3-NEXT: paddw %xmm1, %xmm0
+; SSSE3-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSSE3-NEXT: movdqa %xmm0, %xmm2
+; SSSE3-NEXT: pand %xmm1, %xmm2
; SSSE3-NEXT: movdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSSE3-NEXT: movdqa %xmm3, %xmm4
; SSSE3-NEXT: pshufb %xmm2, %xmm4
-; SSSE3-NEXT: psrlw $4, %xmm1
-; SSSE3-NEXT: pand %xmm0, %xmm1
-; SSSE3-NEXT: pshufb %xmm1, %xmm3
+; SSSE3-NEXT: psrlw $4, %xmm0
+; SSSE3-NEXT: pand %xmm1, %xmm0
+; SSSE3-NEXT: pshufb %xmm0, %xmm3
; SSSE3-NEXT: paddb %xmm4, %xmm3
; SSSE3-NEXT: movdqa %xmm3, %xmm0
; SSSE3-NEXT: psllw $8, %xmm0
@@ -1014,16 +1050,17 @@ define <8 x i16> @testv8i16u(<8 x i16> %in) nounwind {
; SSE41-NEXT: pxor %xmm1, %xmm1
; SSE41-NEXT: psubw %xmm0, %xmm1
; SSE41-NEXT: pand %xmm0, %xmm1
-; SSE41-NEXT: psubw {{.*}}(%rip), %xmm1
-; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSE41-NEXT: movdqa %xmm1, %xmm2
-; SSE41-NEXT: pand %xmm0, %xmm2
+; SSE41-NEXT: pcmpeqd %xmm0, %xmm0
+; SSE41-NEXT: paddw %xmm1, %xmm0
+; SSE41-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSE41-NEXT: movdqa %xmm0, %xmm2
+; SSE41-NEXT: pand %xmm1, %xmm2
; SSE41-NEXT: movdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSE41-NEXT: movdqa %xmm3, %xmm4
; SSE41-NEXT: pshufb %xmm2, %xmm4
-; SSE41-NEXT: psrlw $4, %xmm1
-; SSE41-NEXT: pand %xmm0, %xmm1
-; SSE41-NEXT: pshufb %xmm1, %xmm3
+; SSE41-NEXT: psrlw $4, %xmm0
+; SSE41-NEXT: pand %xmm1, %xmm0
+; SSE41-NEXT: pshufb %xmm0, %xmm3
; SSE41-NEXT: paddb %xmm4, %xmm3
; SSE41-NEXT: movdqa %xmm3, %xmm0
; SSE41-NEXT: psllw $8, %xmm0
@@ -1036,7 +1073,8 @@ define <8 x i16> @testv8i16u(<8 x i16> %in) nounwind {
; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX-NEXT: vpsubw %xmm0, %xmm1, %xmm1
; AVX-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX-NEXT: vpsubw {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX-NEXT: vpaddw %xmm1, %xmm0, %xmm0
; AVX-NEXT: vmovdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX-NEXT: vpand %xmm1, %xmm0, %xmm2
; AVX-NEXT: vmovdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -1055,7 +1093,8 @@ define <8 x i16> @testv8i16u(<8 x i16> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpsubw %xmm0, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubw {{.*}}(%rip), %xmm0, %xmm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddw %xmm1, %xmm0, %xmm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm2
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -1074,16 +1113,17 @@ define <8 x i16> @testv8i16u(<8 x i16> %in) nounwind {
; X32-SSE-NEXT: pxor %xmm1, %xmm1
; X32-SSE-NEXT: psubw %xmm0, %xmm1
; X32-SSE-NEXT: pand %xmm0, %xmm1
-; X32-SSE-NEXT: psubw {{\.LCPI.*}}, %xmm1
-; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; X32-SSE-NEXT: movdqa %xmm1, %xmm2
-; X32-SSE-NEXT: pand %xmm0, %xmm2
+; X32-SSE-NEXT: pcmpeqd %xmm0, %xmm0
+; X32-SSE-NEXT: paddw %xmm1, %xmm0
+; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; X32-SSE-NEXT: movdqa %xmm0, %xmm2
+; X32-SSE-NEXT: pand %xmm1, %xmm2
; X32-SSE-NEXT: movdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; X32-SSE-NEXT: movdqa %xmm3, %xmm4
; X32-SSE-NEXT: pshufb %xmm2, %xmm4
-; X32-SSE-NEXT: psrlw $4, %xmm1
-; X32-SSE-NEXT: pand %xmm0, %xmm1
-; X32-SSE-NEXT: pshufb %xmm1, %xmm3
+; X32-SSE-NEXT: psrlw $4, %xmm0
+; X32-SSE-NEXT: pand %xmm1, %xmm0
+; X32-SSE-NEXT: pshufb %xmm0, %xmm3
; X32-SSE-NEXT: paddb %xmm4, %xmm3
; X32-SSE-NEXT: movdqa %xmm3, %xmm0
; X32-SSE-NEXT: psllw $8, %xmm0
@@ -1100,20 +1140,21 @@ define <16 x i8> @testv16i8(<16 x i8> %in) nounwind {
; SSE2-NEXT: pxor %xmm1, %xmm1
; SSE2-NEXT: psubb %xmm0, %xmm1
; SSE2-NEXT: pand %xmm0, %xmm1
-; SSE2-NEXT: psubb {{.*}}(%rip), %xmm1
-; SSE2-NEXT: movdqa %xmm1, %xmm0
+; SSE2-NEXT: pcmpeqd %xmm2, %xmm2
+; SSE2-NEXT: paddb %xmm1, %xmm2
+; SSE2-NEXT: movdqa %xmm2, %xmm0
; SSE2-NEXT: psrlw $1, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE2-NEXT: psubb %xmm0, %xmm1
+; SSE2-NEXT: psubb %xmm0, %xmm2
; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51]
-; SSE2-NEXT: movdqa %xmm1, %xmm2
-; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: psrlw $2, %xmm1
+; SSE2-NEXT: movdqa %xmm2, %xmm1
; SSE2-NEXT: pand %xmm0, %xmm1
-; SSE2-NEXT: paddb %xmm2, %xmm1
-; SSE2-NEXT: movdqa %xmm1, %xmm0
+; SSE2-NEXT: psrlw $2, %xmm2
+; SSE2-NEXT: pand %xmm0, %xmm2
+; SSE2-NEXT: paddb %xmm1, %xmm2
+; SSE2-NEXT: movdqa %xmm2, %xmm0
; SSE2-NEXT: psrlw $4, %xmm0
-; SSE2-NEXT: paddb %xmm1, %xmm0
+; SSE2-NEXT: paddb %xmm2, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
; SSE2-NEXT: retq
;
@@ -1122,20 +1163,21 @@ define <16 x i8> @testv16i8(<16 x i8> %in) nounwind {
; SSE3-NEXT: pxor %xmm1, %xmm1
; SSE3-NEXT: psubb %xmm0, %xmm1
; SSE3-NEXT: pand %xmm0, %xmm1
-; SSE3-NEXT: psubb {{.*}}(%rip), %xmm1
-; SSE3-NEXT: movdqa %xmm1, %xmm0
+; SSE3-NEXT: pcmpeqd %xmm2, %xmm2
+; SSE3-NEXT: paddb %xmm1, %xmm2
+; SSE3-NEXT: movdqa %xmm2, %xmm0
; SSE3-NEXT: psrlw $1, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE3-NEXT: psubb %xmm0, %xmm1
+; SSE3-NEXT: psubb %xmm0, %xmm2
; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51]
-; SSE3-NEXT: movdqa %xmm1, %xmm2
-; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: psrlw $2, %xmm1
+; SSE3-NEXT: movdqa %xmm2, %xmm1
; SSE3-NEXT: pand %xmm0, %xmm1
-; SSE3-NEXT: paddb %xmm2, %xmm1
-; SSE3-NEXT: movdqa %xmm1, %xmm0
+; SSE3-NEXT: psrlw $2, %xmm2
+; SSE3-NEXT: pand %xmm0, %xmm2
+; SSE3-NEXT: paddb %xmm1, %xmm2
+; SSE3-NEXT: movdqa %xmm2, %xmm0
; SSE3-NEXT: psrlw $4, %xmm0
-; SSE3-NEXT: paddb %xmm1, %xmm0
+; SSE3-NEXT: paddb %xmm2, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
; SSE3-NEXT: retq
;
@@ -1144,16 +1186,17 @@ define <16 x i8> @testv16i8(<16 x i8> %in) nounwind {
; SSSE3-NEXT: pxor %xmm1, %xmm1
; SSSE3-NEXT: psubb %xmm0, %xmm1
; SSSE3-NEXT: pand %xmm0, %xmm1
-; SSSE3-NEXT: psubb {{.*}}(%rip), %xmm1
-; SSSE3-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSSE3-NEXT: movdqa %xmm1, %xmm3
-; SSSE3-NEXT: pand %xmm2, %xmm3
+; SSSE3-NEXT: pcmpeqd %xmm2, %xmm2
+; SSSE3-NEXT: paddb %xmm1, %xmm2
+; SSSE3-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSSE3-NEXT: movdqa %xmm2, %xmm3
+; SSSE3-NEXT: pand %xmm1, %xmm3
; SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSSE3-NEXT: movdqa %xmm0, %xmm4
; SSSE3-NEXT: pshufb %xmm3, %xmm4
-; SSSE3-NEXT: psrlw $4, %xmm1
-; SSSE3-NEXT: pand %xmm2, %xmm1
-; SSSE3-NEXT: pshufb %xmm1, %xmm0
+; SSSE3-NEXT: psrlw $4, %xmm2
+; SSSE3-NEXT: pand %xmm1, %xmm2
+; SSSE3-NEXT: pshufb %xmm2, %xmm0
; SSSE3-NEXT: paddb %xmm4, %xmm0
; SSSE3-NEXT: retq
;
@@ -1162,16 +1205,17 @@ define <16 x i8> @testv16i8(<16 x i8> %in) nounwind {
; SSE41-NEXT: pxor %xmm1, %xmm1
; SSE41-NEXT: psubb %xmm0, %xmm1
; SSE41-NEXT: pand %xmm0, %xmm1
-; SSE41-NEXT: psubb {{.*}}(%rip), %xmm1
-; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSE41-NEXT: movdqa %xmm1, %xmm3
-; SSE41-NEXT: pand %xmm2, %xmm3
+; SSE41-NEXT: pcmpeqd %xmm2, %xmm2
+; SSE41-NEXT: paddb %xmm1, %xmm2
+; SSE41-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSE41-NEXT: movdqa %xmm2, %xmm3
+; SSE41-NEXT: pand %xmm1, %xmm3
; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSE41-NEXT: movdqa %xmm0, %xmm4
; SSE41-NEXT: pshufb %xmm3, %xmm4
-; SSE41-NEXT: psrlw $4, %xmm1
-; SSE41-NEXT: pand %xmm2, %xmm1
-; SSE41-NEXT: pshufb %xmm1, %xmm0
+; SSE41-NEXT: psrlw $4, %xmm2
+; SSE41-NEXT: pand %xmm1, %xmm2
+; SSE41-NEXT: pshufb %xmm2, %xmm0
; SSE41-NEXT: paddb %xmm4, %xmm0
; SSE41-NEXT: retq
;
@@ -1180,7 +1224,8 @@ define <16 x i8> @testv16i8(<16 x i8> %in) nounwind {
; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX-NEXT: vpsubb %xmm0, %xmm1, %xmm1
; AVX-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX-NEXT: vpsubb {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX-NEXT: vpaddb %xmm1, %xmm0, %xmm0
; AVX-NEXT: vmovdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX-NEXT: vpand %xmm1, %xmm0, %xmm2
; AVX-NEXT: vmovdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -1196,7 +1241,8 @@ define <16 x i8> @testv16i8(<16 x i8> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpsubb %xmm0, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubb {{.*}}(%rip), %xmm0, %xmm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddb %xmm1, %xmm0, %xmm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm2
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -1212,16 +1258,17 @@ define <16 x i8> @testv16i8(<16 x i8> %in) nounwind {
; X32-SSE-NEXT: pxor %xmm1, %xmm1
; X32-SSE-NEXT: psubb %xmm0, %xmm1
; X32-SSE-NEXT: pand %xmm0, %xmm1
-; X32-SSE-NEXT: psubb {{\.LCPI.*}}, %xmm1
-; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; X32-SSE-NEXT: movdqa %xmm1, %xmm3
-; X32-SSE-NEXT: pand %xmm2, %xmm3
+; X32-SSE-NEXT: pcmpeqd %xmm2, %xmm2
+; X32-SSE-NEXT: paddb %xmm1, %xmm2
+; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; X32-SSE-NEXT: movdqa %xmm2, %xmm3
+; X32-SSE-NEXT: pand %xmm1, %xmm3
; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; X32-SSE-NEXT: movdqa %xmm0, %xmm4
; X32-SSE-NEXT: pshufb %xmm3, %xmm4
-; X32-SSE-NEXT: psrlw $4, %xmm1
-; X32-SSE-NEXT: pand %xmm2, %xmm1
-; X32-SSE-NEXT: pshufb %xmm1, %xmm0
+; X32-SSE-NEXT: psrlw $4, %xmm2
+; X32-SSE-NEXT: pand %xmm1, %xmm2
+; X32-SSE-NEXT: pshufb %xmm2, %xmm0
; X32-SSE-NEXT: paddb %xmm4, %xmm0
; X32-SSE-NEXT: retl
%out = call <16 x i8> @llvm.cttz.v16i8(<16 x i8> %in, i1 0)
@@ -1234,20 +1281,21 @@ define <16 x i8> @testv16i8u(<16 x i8> %in) nounwind {
; SSE2-NEXT: pxor %xmm1, %xmm1
; SSE2-NEXT: psubb %xmm0, %xmm1
; SSE2-NEXT: pand %xmm0, %xmm1
-; SSE2-NEXT: psubb {{.*}}(%rip), %xmm1
-; SSE2-NEXT: movdqa %xmm1, %xmm0
+; SSE2-NEXT: pcmpeqd %xmm2, %xmm2
+; SSE2-NEXT: paddb %xmm1, %xmm2
+; SSE2-NEXT: movdqa %xmm2, %xmm0
; SSE2-NEXT: psrlw $1, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE2-NEXT: psubb %xmm0, %xmm1
+; SSE2-NEXT: psubb %xmm0, %xmm2
; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51]
-; SSE2-NEXT: movdqa %xmm1, %xmm2
-; SSE2-NEXT: pand %xmm0, %xmm2
-; SSE2-NEXT: psrlw $2, %xmm1
+; SSE2-NEXT: movdqa %xmm2, %xmm1
; SSE2-NEXT: pand %xmm0, %xmm1
-; SSE2-NEXT: paddb %xmm2, %xmm1
-; SSE2-NEXT: movdqa %xmm1, %xmm0
+; SSE2-NEXT: psrlw $2, %xmm2
+; SSE2-NEXT: pand %xmm0, %xmm2
+; SSE2-NEXT: paddb %xmm1, %xmm2
+; SSE2-NEXT: movdqa %xmm2, %xmm0
; SSE2-NEXT: psrlw $4, %xmm0
-; SSE2-NEXT: paddb %xmm1, %xmm0
+; SSE2-NEXT: paddb %xmm2, %xmm0
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
; SSE2-NEXT: retq
;
@@ -1256,20 +1304,21 @@ define <16 x i8> @testv16i8u(<16 x i8> %in) nounwind {
; SSE3-NEXT: pxor %xmm1, %xmm1
; SSE3-NEXT: psubb %xmm0, %xmm1
; SSE3-NEXT: pand %xmm0, %xmm1
-; SSE3-NEXT: psubb {{.*}}(%rip), %xmm1
-; SSE3-NEXT: movdqa %xmm1, %xmm0
+; SSE3-NEXT: pcmpeqd %xmm2, %xmm2
+; SSE3-NEXT: paddb %xmm1, %xmm2
+; SSE3-NEXT: movdqa %xmm2, %xmm0
; SSE3-NEXT: psrlw $1, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
-; SSE3-NEXT: psubb %xmm0, %xmm1
+; SSE3-NEXT: psubb %xmm0, %xmm2
; SSE3-NEXT: movdqa {{.*#+}} xmm0 = [51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51]
-; SSE3-NEXT: movdqa %xmm1, %xmm2
-; SSE3-NEXT: pand %xmm0, %xmm2
-; SSE3-NEXT: psrlw $2, %xmm1
+; SSE3-NEXT: movdqa %xmm2, %xmm1
; SSE3-NEXT: pand %xmm0, %xmm1
-; SSE3-NEXT: paddb %xmm2, %xmm1
-; SSE3-NEXT: movdqa %xmm1, %xmm0
+; SSE3-NEXT: psrlw $2, %xmm2
+; SSE3-NEXT: pand %xmm0, %xmm2
+; SSE3-NEXT: paddb %xmm1, %xmm2
+; SSE3-NEXT: movdqa %xmm2, %xmm0
; SSE3-NEXT: psrlw $4, %xmm0
-; SSE3-NEXT: paddb %xmm1, %xmm0
+; SSE3-NEXT: paddb %xmm2, %xmm0
; SSE3-NEXT: pand {{.*}}(%rip), %xmm0
; SSE3-NEXT: retq
;
@@ -1278,16 +1327,17 @@ define <16 x i8> @testv16i8u(<16 x i8> %in) nounwind {
; SSSE3-NEXT: pxor %xmm1, %xmm1
; SSSE3-NEXT: psubb %xmm0, %xmm1
; SSSE3-NEXT: pand %xmm0, %xmm1
-; SSSE3-NEXT: psubb {{.*}}(%rip), %xmm1
-; SSSE3-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSSE3-NEXT: movdqa %xmm1, %xmm3
-; SSSE3-NEXT: pand %xmm2, %xmm3
+; SSSE3-NEXT: pcmpeqd %xmm2, %xmm2
+; SSSE3-NEXT: paddb %xmm1, %xmm2
+; SSSE3-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSSE3-NEXT: movdqa %xmm2, %xmm3
+; SSSE3-NEXT: pand %xmm1, %xmm3
; SSSE3-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSSE3-NEXT: movdqa %xmm0, %xmm4
; SSSE3-NEXT: pshufb %xmm3, %xmm4
-; SSSE3-NEXT: psrlw $4, %xmm1
-; SSSE3-NEXT: pand %xmm2, %xmm1
-; SSSE3-NEXT: pshufb %xmm1, %xmm0
+; SSSE3-NEXT: psrlw $4, %xmm2
+; SSSE3-NEXT: pand %xmm1, %xmm2
+; SSSE3-NEXT: pshufb %xmm2, %xmm0
; SSSE3-NEXT: paddb %xmm4, %xmm0
; SSSE3-NEXT: retq
;
@@ -1296,16 +1346,17 @@ define <16 x i8> @testv16i8u(<16 x i8> %in) nounwind {
; SSE41-NEXT: pxor %xmm1, %xmm1
; SSE41-NEXT: psubb %xmm0, %xmm1
; SSE41-NEXT: pand %xmm0, %xmm1
-; SSE41-NEXT: psubb {{.*}}(%rip), %xmm1
-; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; SSE41-NEXT: movdqa %xmm1, %xmm3
-; SSE41-NEXT: pand %xmm2, %xmm3
+; SSE41-NEXT: pcmpeqd %xmm2, %xmm2
+; SSE41-NEXT: paddb %xmm1, %xmm2
+; SSE41-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; SSE41-NEXT: movdqa %xmm2, %xmm3
+; SSE41-NEXT: pand %xmm1, %xmm3
; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; SSE41-NEXT: movdqa %xmm0, %xmm4
; SSE41-NEXT: pshufb %xmm3, %xmm4
-; SSE41-NEXT: psrlw $4, %xmm1
-; SSE41-NEXT: pand %xmm2, %xmm1
-; SSE41-NEXT: pshufb %xmm1, %xmm0
+; SSE41-NEXT: psrlw $4, %xmm2
+; SSE41-NEXT: pand %xmm1, %xmm2
+; SSE41-NEXT: pshufb %xmm2, %xmm0
; SSE41-NEXT: paddb %xmm4, %xmm0
; SSE41-NEXT: retq
;
@@ -1314,7 +1365,8 @@ define <16 x i8> @testv16i8u(<16 x i8> %in) nounwind {
; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX-NEXT: vpsubb %xmm0, %xmm1, %xmm1
; AVX-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX-NEXT: vpsubb {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX-NEXT: vpaddb %xmm1, %xmm0, %xmm0
; AVX-NEXT: vmovdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX-NEXT: vpand %xmm1, %xmm0, %xmm2
; AVX-NEXT: vmovdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -1330,7 +1382,8 @@ define <16 x i8> @testv16i8u(<16 x i8> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpsubb %xmm0, %xmm1, %xmm1
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubb {{.*}}(%rip), %xmm0, %xmm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddb %xmm1, %xmm0, %xmm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %xmm1, %xmm0, %xmm2
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} xmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -1346,16 +1399,17 @@ define <16 x i8> @testv16i8u(<16 x i8> %in) nounwind {
; X32-SSE-NEXT: pxor %xmm1, %xmm1
; X32-SSE-NEXT: psubb %xmm0, %xmm1
; X32-SSE-NEXT: pand %xmm0, %xmm1
-; X32-SSE-NEXT: psubb {{\.LCPI.*}}, %xmm1
-; X32-SSE-NEXT: movdqa {{.*#+}} xmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
-; X32-SSE-NEXT: movdqa %xmm1, %xmm3
-; X32-SSE-NEXT: pand %xmm2, %xmm3
+; X32-SSE-NEXT: pcmpeqd %xmm2, %xmm2
+; X32-SSE-NEXT: paddb %xmm1, %xmm2
+; X32-SSE-NEXT: movdqa {{.*#+}} xmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
+; X32-SSE-NEXT: movdqa %xmm2, %xmm3
+; X32-SSE-NEXT: pand %xmm1, %xmm3
; X32-SSE-NEXT: movdqa {{.*#+}} xmm0 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
; X32-SSE-NEXT: movdqa %xmm0, %xmm4
; X32-SSE-NEXT: pshufb %xmm3, %xmm4
-; X32-SSE-NEXT: psrlw $4, %xmm1
-; X32-SSE-NEXT: pand %xmm2, %xmm1
-; X32-SSE-NEXT: pshufb %xmm1, %xmm0
+; X32-SSE-NEXT: psrlw $4, %xmm2
+; X32-SSE-NEXT: pand %xmm1, %xmm2
+; X32-SSE-NEXT: pshufb %xmm2, %xmm0
; X32-SSE-NEXT: paddb %xmm4, %xmm0
; X32-SSE-NEXT: retl
%out = call <16 x i8> @llvm.cttz.v16i8(<16 x i8> %in, i1 -1)
diff --git a/test/CodeGen/X86/vector-tzcnt-256.ll b/test/CodeGen/X86/vector-tzcnt-256.ll
index 101ae95550e7..16192ec61a55 100644
--- a/test/CodeGen/X86/vector-tzcnt-256.ll
+++ b/test/CodeGen/X86/vector-tzcnt-256.ll
@@ -15,8 +15,8 @@ define <4 x i64> @testv4i64(<4 x i64> %in) nounwind {
; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2
; AVX1-NEXT: vpsubq %xmm1, %xmm2, %xmm3
; AVX1-NEXT: vpand %xmm3, %xmm1, %xmm1
-; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,1]
-; AVX1-NEXT: vpsubq %xmm3, %xmm1, %xmm1
+; AVX1-NEXT: vpcmpeqd %xmm3, %xmm3, %xmm3
+; AVX1-NEXT: vpaddq %xmm3, %xmm1, %xmm1
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm4, %xmm1, %xmm5
; AVX1-NEXT: vmovdqa {{.*#+}} xmm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -28,7 +28,7 @@ define <4 x i64> @testv4i64(<4 x i64> %in) nounwind {
; AVX1-NEXT: vpsadbw %xmm2, %xmm1, %xmm1
; AVX1-NEXT: vpsubq %xmm0, %xmm2, %xmm5
; AVX1-NEXT: vpand %xmm5, %xmm0, %xmm0
-; AVX1-NEXT: vpsubq %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpaddq %xmm3, %xmm0, %xmm0
; AVX1-NEXT: vpand %xmm4, %xmm0, %xmm3
; AVX1-NEXT: vpshufb %xmm3, %xmm6, %xmm3
; AVX1-NEXT: vpsrlw $4, %xmm0, %xmm0
@@ -44,8 +44,8 @@ define <4 x i64> @testv4i64(<4 x i64> %in) nounwind {
; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpsubq %ymm0, %ymm1, %ymm2
; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm0
-; AVX2-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
-; AVX2-NEXT: vpsubq %ymm2, %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX2-NEXT: vpaddq %ymm2, %ymm0, %ymm0
; AVX2-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm3
; AVX2-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -62,7 +62,8 @@ define <4 x i64> @testv4i64(<4 x i64> %in) nounwind {
; AVX512CDVL-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpsubq %ymm0, %ymm1, %ymm2
; AVX512CDVL-NEXT: vpand %ymm2, %ymm0, %ymm0
-; AVX512CDVL-NEXT: vpsubq {{.*}}(%rip){1to4}, %ymm0, %ymm0
+; AVX512CDVL-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX512CDVL-NEXT: vpaddq %ymm2, %ymm0, %ymm0
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDVL-NEXT: vpand %ymm2, %ymm0, %ymm3
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -79,8 +80,8 @@ define <4 x i64> @testv4i64(<4 x i64> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CD-NEXT: vpsubq %ymm0, %ymm1, %ymm2
; AVX512CD-NEXT: vpand %ymm2, %ymm0, %ymm0
-; AVX512CD-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
-; AVX512CD-NEXT: vpsubq %ymm2, %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX512CD-NEXT: vpaddq %ymm2, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm2, %ymm0, %ymm3
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -97,8 +98,8 @@ define <4 x i64> @testv4i64(<4 x i64> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpsubq %ymm0, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vpbroadcastq {{.*}}(%rip), %ymm1
-; AVX512VPOPCNTDQ-NEXT: vpsubq %ymm1, %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddq %ymm1, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vpopcntq %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; AVX512VPOPCNTDQ-NEXT: retq
@@ -130,8 +131,8 @@ define <4 x i64> @testv4i64u(<4 x i64> %in) nounwind {
; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2
; AVX1-NEXT: vpsubq %xmm1, %xmm2, %xmm3
; AVX1-NEXT: vpand %xmm3, %xmm1, %xmm1
-; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,1]
-; AVX1-NEXT: vpsubq %xmm3, %xmm1, %xmm1
+; AVX1-NEXT: vpcmpeqd %xmm3, %xmm3, %xmm3
+; AVX1-NEXT: vpaddq %xmm3, %xmm1, %xmm1
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm4, %xmm1, %xmm5
; AVX1-NEXT: vmovdqa {{.*#+}} xmm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -143,7 +144,7 @@ define <4 x i64> @testv4i64u(<4 x i64> %in) nounwind {
; AVX1-NEXT: vpsadbw %xmm2, %xmm1, %xmm1
; AVX1-NEXT: vpsubq %xmm0, %xmm2, %xmm5
; AVX1-NEXT: vpand %xmm5, %xmm0, %xmm0
-; AVX1-NEXT: vpsubq %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpaddq %xmm3, %xmm0, %xmm0
; AVX1-NEXT: vpand %xmm4, %xmm0, %xmm3
; AVX1-NEXT: vpshufb %xmm3, %xmm6, %xmm3
; AVX1-NEXT: vpsrlw $4, %xmm0, %xmm0
@@ -159,8 +160,8 @@ define <4 x i64> @testv4i64u(<4 x i64> %in) nounwind {
; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpsubq %ymm0, %ymm1, %ymm2
; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm0
-; AVX2-NEXT: vpbroadcastq {{.*}}(%rip), %ymm2
-; AVX2-NEXT: vpsubq %ymm2, %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX2-NEXT: vpaddq %ymm2, %ymm0, %ymm0
; AVX2-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm3
; AVX2-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -197,8 +198,8 @@ define <4 x i64> @testv4i64u(<4 x i64> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpsubq %ymm0, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vpbroadcastq {{.*}}(%rip), %ymm1
-; AVX512VPOPCNTDQ-NEXT: vpsubq %ymm1, %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddq %ymm1, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vpopcntq %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; AVX512VPOPCNTDQ-NEXT: retq
@@ -230,8 +231,8 @@ define <8 x i32> @testv8i32(<8 x i32> %in) nounwind {
; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2
; AVX1-NEXT: vpsubd %xmm1, %xmm2, %xmm3
; AVX1-NEXT: vpand %xmm3, %xmm1, %xmm1
-; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,1,1,1]
-; AVX1-NEXT: vpsubd %xmm3, %xmm1, %xmm1
+; AVX1-NEXT: vpcmpeqd %xmm3, %xmm3, %xmm3
+; AVX1-NEXT: vpaddd %xmm3, %xmm1, %xmm1
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm4, %xmm1, %xmm5
; AVX1-NEXT: vmovdqa {{.*#+}} xmm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -247,7 +248,7 @@ define <8 x i32> @testv8i32(<8 x i32> %in) nounwind {
; AVX1-NEXT: vpackuswb %xmm5, %xmm1, %xmm1
; AVX1-NEXT: vpsubd %xmm0, %xmm2, %xmm5
; AVX1-NEXT: vpand %xmm5, %xmm0, %xmm0
-; AVX1-NEXT: vpsubd %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpaddd %xmm3, %xmm0, %xmm0
; AVX1-NEXT: vpand %xmm4, %xmm0, %xmm3
; AVX1-NEXT: vpshufb %xmm3, %xmm6, %xmm3
; AVX1-NEXT: vpsrlw $4, %xmm0, %xmm0
@@ -267,8 +268,8 @@ define <8 x i32> @testv8i32(<8 x i32> %in) nounwind {
; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpsubd %ymm0, %ymm1, %ymm2
; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm0
-; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %ymm2
-; AVX2-NEXT: vpsubd %ymm2, %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX2-NEXT: vpaddd %ymm2, %ymm0, %ymm0
; AVX2-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm3
; AVX2-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -289,7 +290,8 @@ define <8 x i32> @testv8i32(<8 x i32> %in) nounwind {
; AVX512CDVL-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpsubd %ymm0, %ymm1, %ymm2
; AVX512CDVL-NEXT: vpand %ymm2, %ymm0, %ymm0
-; AVX512CDVL-NEXT: vpsubd {{.*}}(%rip){1to8}, %ymm0, %ymm0
+; AVX512CDVL-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX512CDVL-NEXT: vpaddd %ymm2, %ymm0, %ymm0
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDVL-NEXT: vpand %ymm2, %ymm0, %ymm3
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -310,8 +312,8 @@ define <8 x i32> @testv8i32(<8 x i32> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CD-NEXT: vpsubd %ymm0, %ymm1, %ymm2
; AVX512CD-NEXT: vpand %ymm2, %ymm0, %ymm0
-; AVX512CD-NEXT: vpbroadcastd {{.*}}(%rip), %ymm2
-; AVX512CD-NEXT: vpsubd %ymm2, %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX512CD-NEXT: vpaddd %ymm2, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm2, %ymm0, %ymm3
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -332,8 +334,8 @@ define <8 x i32> @testv8i32(<8 x i32> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpsubd %ymm0, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vpbroadcastd {{.*}}(%rip), %ymm1
-; AVX512VPOPCNTDQ-NEXT: vpsubd %ymm1, %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddd %ymm1, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vpopcntd %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; AVX512VPOPCNTDQ-NEXT: retq
@@ -343,8 +345,8 @@ define <8 x i32> @testv8i32(<8 x i32> %in) nounwind {
; X32-AVX-NEXT: vpxor %ymm1, %ymm1, %ymm1
; X32-AVX-NEXT: vpsubd %ymm0, %ymm1, %ymm2
; X32-AVX-NEXT: vpand %ymm2, %ymm0, %ymm0
-; X32-AVX-NEXT: vpbroadcastd {{\.LCPI.*}}, %ymm2
-; X32-AVX-NEXT: vpsubd %ymm2, %ymm0, %ymm0
+; X32-AVX-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; X32-AVX-NEXT: vpaddd %ymm2, %ymm0, %ymm0
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; X32-AVX-NEXT: vpand %ymm2, %ymm0, %ymm3
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -370,8 +372,8 @@ define <8 x i32> @testv8i32u(<8 x i32> %in) nounwind {
; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2
; AVX1-NEXT: vpsubd %xmm1, %xmm2, %xmm3
; AVX1-NEXT: vpand %xmm3, %xmm1, %xmm1
-; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,1,1,1]
-; AVX1-NEXT: vpsubd %xmm3, %xmm1, %xmm1
+; AVX1-NEXT: vpcmpeqd %xmm3, %xmm3, %xmm3
+; AVX1-NEXT: vpaddd %xmm3, %xmm1, %xmm1
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm4, %xmm1, %xmm5
; AVX1-NEXT: vmovdqa {{.*#+}} xmm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -387,7 +389,7 @@ define <8 x i32> @testv8i32u(<8 x i32> %in) nounwind {
; AVX1-NEXT: vpackuswb %xmm5, %xmm1, %xmm1
; AVX1-NEXT: vpsubd %xmm0, %xmm2, %xmm5
; AVX1-NEXT: vpand %xmm5, %xmm0, %xmm0
-; AVX1-NEXT: vpsubd %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpaddd %xmm3, %xmm0, %xmm0
; AVX1-NEXT: vpand %xmm4, %xmm0, %xmm3
; AVX1-NEXT: vpshufb %xmm3, %xmm6, %xmm3
; AVX1-NEXT: vpsrlw $4, %xmm0, %xmm0
@@ -407,8 +409,8 @@ define <8 x i32> @testv8i32u(<8 x i32> %in) nounwind {
; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpsubd %ymm0, %ymm1, %ymm2
; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm0
-; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %ymm2
-; AVX2-NEXT: vpsubd %ymm2, %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; AVX2-NEXT: vpaddd %ymm2, %ymm0, %ymm0
; AVX2-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %ymm2, %ymm0, %ymm3
; AVX2-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -449,8 +451,8 @@ define <8 x i32> @testv8i32u(<8 x i32> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpsubd %ymm0, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vpbroadcastd {{.*}}(%rip), %ymm1
-; AVX512VPOPCNTDQ-NEXT: vpsubd %ymm1, %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddd %ymm1, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vpopcntd %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: # kill: %YMM0<def> %YMM0<kill> %ZMM0<kill>
; AVX512VPOPCNTDQ-NEXT: retq
@@ -460,8 +462,8 @@ define <8 x i32> @testv8i32u(<8 x i32> %in) nounwind {
; X32-AVX-NEXT: vpxor %ymm1, %ymm1, %ymm1
; X32-AVX-NEXT: vpsubd %ymm0, %ymm1, %ymm2
; X32-AVX-NEXT: vpand %ymm2, %ymm0, %ymm0
-; X32-AVX-NEXT: vpbroadcastd {{\.LCPI.*}}, %ymm2
-; X32-AVX-NEXT: vpsubd %ymm2, %ymm0, %ymm0
+; X32-AVX-NEXT: vpcmpeqd %ymm2, %ymm2, %ymm2
+; X32-AVX-NEXT: vpaddd %ymm2, %ymm0, %ymm0
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; X32-AVX-NEXT: vpand %ymm2, %ymm0, %ymm3
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -486,8 +488,8 @@ define <16 x i16> @testv16i16(<16 x i16> %in) nounwind {
; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX1-NEXT: vpsubw %xmm0, %xmm1, %xmm2
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm2
-; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,1,1,1,1,1,1,1]
-; AVX1-NEXT: vpsubw %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpcmpeqd %xmm3, %xmm3, %xmm3
+; AVX1-NEXT: vpaddw %xmm3, %xmm2, %xmm2
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm4, %xmm2, %xmm5
; AVX1-NEXT: vmovdqa {{.*#+}} xmm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -502,7 +504,7 @@ define <16 x i16> @testv16i16(<16 x i16> %in) nounwind {
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
; AVX1-NEXT: vpsubw %xmm0, %xmm1, %xmm1
; AVX1-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX1-NEXT: vpsubw %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpaddw %xmm3, %xmm0, %xmm0
; AVX1-NEXT: vpand %xmm4, %xmm0, %xmm1
; AVX1-NEXT: vpshufb %xmm1, %xmm6, %xmm1
; AVX1-NEXT: vpsrlw $4, %xmm0, %xmm0
@@ -520,7 +522,8 @@ define <16 x i16> @testv16i16(<16 x i16> %in) nounwind {
; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX2-NEXT: vpsubw {{.*}}(%rip), %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX2-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -539,7 +542,8 @@ define <16 x i16> @testv16i16(<16 x i16> %in) nounwind {
; AVX512CDVL-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512CDVL-NEXT: vpsubw {{.*}}(%rip), %ymm0, %ymm0
+; AVX512CDVL-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512CDVL-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDVL-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -558,7 +562,8 @@ define <16 x i16> @testv16i16(<16 x i16> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CD-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; AVX512CD-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512CD-NEXT: vpsubw {{.*}}(%rip), %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512CD-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -577,7 +582,8 @@ define <16 x i16> @testv16i16(<16 x i16> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vpsubw {{.*}}(%rip), %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -596,7 +602,8 @@ define <16 x i16> @testv16i16(<16 x i16> %in) nounwind {
; X32-AVX-NEXT: vpxor %ymm1, %ymm1, %ymm1
; X32-AVX-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; X32-AVX-NEXT: vpand %ymm1, %ymm0, %ymm0
-; X32-AVX-NEXT: vpsubw {{\.LCPI.*}}, %ymm0, %ymm0
+; X32-AVX-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; X32-AVX-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; X32-AVX-NEXT: vpand %ymm1, %ymm0, %ymm2
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -619,8 +626,8 @@ define <16 x i16> @testv16i16u(<16 x i16> %in) nounwind {
; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
; AVX1-NEXT: vpsubw %xmm0, %xmm1, %xmm2
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm2
-; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,1,1,1,1,1,1,1]
-; AVX1-NEXT: vpsubw %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpcmpeqd %xmm3, %xmm3, %xmm3
+; AVX1-NEXT: vpaddw %xmm3, %xmm2, %xmm2
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm4, %xmm2, %xmm5
; AVX1-NEXT: vmovdqa {{.*#+}} xmm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -635,7 +642,7 @@ define <16 x i16> @testv16i16u(<16 x i16> %in) nounwind {
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
; AVX1-NEXT: vpsubw %xmm0, %xmm1, %xmm1
; AVX1-NEXT: vpand %xmm1, %xmm0, %xmm0
-; AVX1-NEXT: vpsubw %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpaddw %xmm3, %xmm0, %xmm0
; AVX1-NEXT: vpand %xmm4, %xmm0, %xmm1
; AVX1-NEXT: vpshufb %xmm1, %xmm6, %xmm1
; AVX1-NEXT: vpsrlw $4, %xmm0, %xmm0
@@ -653,7 +660,8 @@ define <16 x i16> @testv16i16u(<16 x i16> %in) nounwind {
; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX2-NEXT: vpsubw {{.*}}(%rip), %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX2-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -672,7 +680,8 @@ define <16 x i16> @testv16i16u(<16 x i16> %in) nounwind {
; AVX512CDVL-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512CDVL-NEXT: vpsubw {{.*}}(%rip), %ymm0, %ymm0
+; AVX512CDVL-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512CDVL-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDVL-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -691,7 +700,8 @@ define <16 x i16> @testv16i16u(<16 x i16> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CD-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; AVX512CD-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512CD-NEXT: vpsubw {{.*}}(%rip), %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512CD-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -710,7 +720,8 @@ define <16 x i16> @testv16i16u(<16 x i16> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vpsubw {{.*}}(%rip), %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -729,7 +740,8 @@ define <16 x i16> @testv16i16u(<16 x i16> %in) nounwind {
; X32-AVX-NEXT: vpxor %ymm1, %ymm1, %ymm1
; X32-AVX-NEXT: vpsubw %ymm0, %ymm1, %ymm1
; X32-AVX-NEXT: vpand %ymm1, %ymm0, %ymm0
-; X32-AVX-NEXT: vpsubw {{\.LCPI.*}}, %ymm0, %ymm0
+; X32-AVX-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; X32-AVX-NEXT: vpaddw %ymm1, %ymm0, %ymm0
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; X32-AVX-NEXT: vpand %ymm1, %ymm0, %ymm2
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -753,8 +765,8 @@ define <32 x i8> @testv32i8(<32 x i8> %in) nounwind {
; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2
; AVX1-NEXT: vpsubb %xmm1, %xmm2, %xmm3
; AVX1-NEXT: vpand %xmm3, %xmm1, %xmm1
-; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX1-NEXT: vpsubb %xmm3, %xmm1, %xmm1
+; AVX1-NEXT: vpcmpeqd %xmm3, %xmm3, %xmm3
+; AVX1-NEXT: vpaddb %xmm3, %xmm1, %xmm1
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm4, %xmm1, %xmm5
; AVX1-NEXT: vmovdqa {{.*#+}} xmm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -765,7 +777,7 @@ define <32 x i8> @testv32i8(<32 x i8> %in) nounwind {
; AVX1-NEXT: vpaddb %xmm5, %xmm1, %xmm1
; AVX1-NEXT: vpsubb %xmm0, %xmm2, %xmm2
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX1-NEXT: vpsubb %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpaddb %xmm3, %xmm0, %xmm0
; AVX1-NEXT: vpand %xmm4, %xmm0, %xmm2
; AVX1-NEXT: vpshufb %xmm2, %xmm6, %xmm2
; AVX1-NEXT: vpsrlw $4, %xmm0, %xmm0
@@ -780,7 +792,8 @@ define <32 x i8> @testv32i8(<32 x i8> %in) nounwind {
; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX2-NEXT: vpsubb {{.*}}(%rip), %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX2-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -796,7 +809,8 @@ define <32 x i8> @testv32i8(<32 x i8> %in) nounwind {
; AVX512CDVL-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512CDVL-NEXT: vpsubb {{.*}}(%rip), %ymm0, %ymm0
+; AVX512CDVL-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512CDVL-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDVL-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -812,7 +826,8 @@ define <32 x i8> @testv32i8(<32 x i8> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CD-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; AVX512CD-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512CD-NEXT: vpsubb {{.*}}(%rip), %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512CD-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -828,7 +843,8 @@ define <32 x i8> @testv32i8(<32 x i8> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vpsubb {{.*}}(%rip), %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -844,7 +860,8 @@ define <32 x i8> @testv32i8(<32 x i8> %in) nounwind {
; X32-AVX-NEXT: vpxor %ymm1, %ymm1, %ymm1
; X32-AVX-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; X32-AVX-NEXT: vpand %ymm1, %ymm0, %ymm0
-; X32-AVX-NEXT: vpsubb {{\.LCPI.*}}, %ymm0, %ymm0
+; X32-AVX-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; X32-AVX-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; X32-AVX-NEXT: vpand %ymm1, %ymm0, %ymm2
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -865,8 +882,8 @@ define <32 x i8> @testv32i8u(<32 x i8> %in) nounwind {
; AVX1-NEXT: vpxor %xmm2, %xmm2, %xmm2
; AVX1-NEXT: vpsubb %xmm1, %xmm2, %xmm3
; AVX1-NEXT: vpand %xmm3, %xmm1, %xmm1
-; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX1-NEXT: vpsubb %xmm3, %xmm1, %xmm1
+; AVX1-NEXT: vpcmpeqd %xmm3, %xmm3, %xmm3
+; AVX1-NEXT: vpaddb %xmm3, %xmm1, %xmm1
; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX1-NEXT: vpand %xmm4, %xmm1, %xmm5
; AVX1-NEXT: vmovdqa {{.*#+}} xmm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -877,7 +894,7 @@ define <32 x i8> @testv32i8u(<32 x i8> %in) nounwind {
; AVX1-NEXT: vpaddb %xmm5, %xmm1, %xmm1
; AVX1-NEXT: vpsubb %xmm0, %xmm2, %xmm2
; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm0
-; AVX1-NEXT: vpsubb %xmm3, %xmm0, %xmm0
+; AVX1-NEXT: vpaddb %xmm3, %xmm0, %xmm0
; AVX1-NEXT: vpand %xmm4, %xmm0, %xmm2
; AVX1-NEXT: vpshufb %xmm2, %xmm6, %xmm2
; AVX1-NEXT: vpsrlw $4, %xmm0, %xmm0
@@ -892,7 +909,8 @@ define <32 x i8> @testv32i8u(<32 x i8> %in) nounwind {
; AVX2-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX2-NEXT: vpsubb {{.*}}(%rip), %ymm0, %ymm0
+; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX2-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX2-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -908,7 +926,8 @@ define <32 x i8> @testv32i8u(<32 x i8> %in) nounwind {
; AVX512CDVL-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; AVX512CDVL-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512CDVL-NEXT: vpsubb {{.*}}(%rip), %ymm0, %ymm0
+; AVX512CDVL-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512CDVL-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDVL-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512CDVL-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -924,7 +943,8 @@ define <32 x i8> @testv32i8u(<32 x i8> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512CD-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; AVX512CD-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512CD-NEXT: vpsubb {{.*}}(%rip), %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512CD-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -940,7 +960,8 @@ define <32 x i8> @testv32i8u(<32 x i8> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm1, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vpsubb {{.*}}(%rip), %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %ymm1, %ymm0, %ymm2
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -956,7 +977,8 @@ define <32 x i8> @testv32i8u(<32 x i8> %in) nounwind {
; X32-AVX-NEXT: vpxor %ymm1, %ymm1, %ymm1
; X32-AVX-NEXT: vpsubb %ymm0, %ymm1, %ymm1
; X32-AVX-NEXT: vpand %ymm1, %ymm0, %ymm0
-; X32-AVX-NEXT: vpsubb {{\.LCPI.*}}, %ymm0, %ymm0
+; X32-AVX-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
+; X32-AVX-NEXT: vpaddb %ymm1, %ymm0, %ymm0
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; X32-AVX-NEXT: vpand %ymm1, %ymm0, %ymm2
; X32-AVX-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
diff --git a/test/CodeGen/X86/vector-tzcnt-512.ll b/test/CodeGen/X86/vector-tzcnt-512.ll
index abbe964e983c..760216d561c4 100644
--- a/test/CodeGen/X86/vector-tzcnt-512.ll
+++ b/test/CodeGen/X86/vector-tzcnt-512.ll
@@ -10,7 +10,8 @@ define <8 x i64> @testv8i64(<8 x i64> %in) nounwind {
; AVX512CD-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512CD-NEXT: vpsubq %zmm0, %zmm1, %zmm1
; AVX512CD-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512CD-NEXT: vpsubq {{.*}}(%rip){1to8}, %zmm0, %zmm0
+; AVX512CD-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512CD-NEXT: vpaddq %zmm1, %zmm0, %zmm0
; AVX512CD-NEXT: vextracti64x4 $1, %zmm0, %ymm1
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm2, %ymm1, %ymm3
@@ -37,7 +38,8 @@ define <8 x i64> @testv8i64(<8 x i64> %in) nounwind {
; AVX512CDBW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpsubq %zmm0, %zmm1, %zmm2
; AVX512CDBW-NEXT: vpandq %zmm2, %zmm0, %zmm0
-; AVX512CDBW-NEXT: vpsubq {{.*}}(%rip){1to8}, %zmm0, %zmm0
+; AVX512CDBW-NEXT: vpternlogd $255, %zmm2, %zmm2, %zmm2
+; AVX512CDBW-NEXT: vpaddq %zmm2, %zmm0, %zmm0
; AVX512CDBW-NEXT: vmovdqa64 {{.*#+}} zmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDBW-NEXT: vpandq %zmm2, %zmm0, %zmm3
; AVX512CDBW-NEXT: vmovdqu8 {{.*#+}} zmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -54,7 +56,8 @@ define <8 x i64> @testv8i64(<8 x i64> %in) nounwind {
; AVX512BW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512BW-NEXT: vpsubq %zmm0, %zmm1, %zmm2
; AVX512BW-NEXT: vpandq %zmm2, %zmm0, %zmm0
-; AVX512BW-NEXT: vpsubq {{.*}}(%rip){1to8}, %zmm0, %zmm0
+; AVX512BW-NEXT: vpternlogd $255, %zmm2, %zmm2, %zmm2
+; AVX512BW-NEXT: vpaddq %zmm2, %zmm0, %zmm0
; AVX512BW-NEXT: vmovdqa64 {{.*#+}} zmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512BW-NEXT: vpandq %zmm2, %zmm0, %zmm3
; AVX512BW-NEXT: vmovdqu8 {{.*#+}} zmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -71,7 +74,8 @@ define <8 x i64> @testv8i64(<8 x i64> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512VPOPCNTDQ-NEXT: vpsubq %zmm0, %zmm1, %zmm1
; AVX512VPOPCNTDQ-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubq {{.*}}(%rip){1to8}, %zmm0, %zmm0
+; AVX512VPOPCNTDQ-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddq %zmm1, %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: vpopcntq %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: retq
%out = call <8 x i64> @llvm.cttz.v8i64(<8 x i64> %in, i1 0)
@@ -104,7 +108,8 @@ define <8 x i64> @testv8i64u(<8 x i64> %in) nounwind {
; AVX512BW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512BW-NEXT: vpsubq %zmm0, %zmm1, %zmm2
; AVX512BW-NEXT: vpandq %zmm2, %zmm0, %zmm0
-; AVX512BW-NEXT: vpsubq {{.*}}(%rip){1to8}, %zmm0, %zmm0
+; AVX512BW-NEXT: vpternlogd $255, %zmm2, %zmm2, %zmm2
+; AVX512BW-NEXT: vpaddq %zmm2, %zmm0, %zmm0
; AVX512BW-NEXT: vmovdqa64 {{.*#+}} zmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512BW-NEXT: vpandq %zmm2, %zmm0, %zmm3
; AVX512BW-NEXT: vmovdqu8 {{.*#+}} zmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -121,7 +126,8 @@ define <8 x i64> @testv8i64u(<8 x i64> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512VPOPCNTDQ-NEXT: vpsubq %zmm0, %zmm1, %zmm1
; AVX512VPOPCNTDQ-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubq {{.*}}(%rip){1to8}, %zmm0, %zmm0
+; AVX512VPOPCNTDQ-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddq %zmm1, %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: vpopcntq %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: retq
%out = call <8 x i64> @llvm.cttz.v8i64(<8 x i64> %in, i1 -1)
@@ -134,7 +140,8 @@ define <16 x i32> @testv16i32(<16 x i32> %in) nounwind {
; AVX512CD-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512CD-NEXT: vpsubd %zmm0, %zmm1, %zmm1
; AVX512CD-NEXT: vpandd %zmm1, %zmm0, %zmm0
-; AVX512CD-NEXT: vpsubd {{.*}}(%rip){1to16}, %zmm0, %zmm0
+; AVX512CD-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512CD-NEXT: vpaddd %zmm1, %zmm0, %zmm0
; AVX512CD-NEXT: vextracti64x4 $1, %zmm0, %ymm1
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm2, %ymm1, %ymm3
@@ -169,7 +176,8 @@ define <16 x i32> @testv16i32(<16 x i32> %in) nounwind {
; AVX512CDBW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpsubd %zmm0, %zmm1, %zmm2
; AVX512CDBW-NEXT: vpandd %zmm2, %zmm0, %zmm0
-; AVX512CDBW-NEXT: vpsubd {{.*}}(%rip){1to16}, %zmm0, %zmm0
+; AVX512CDBW-NEXT: vpternlogd $255, %zmm2, %zmm2, %zmm2
+; AVX512CDBW-NEXT: vpaddd %zmm2, %zmm0, %zmm0
; AVX512CDBW-NEXT: vmovdqa64 {{.*#+}} zmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDBW-NEXT: vpandq %zmm2, %zmm0, %zmm3
; AVX512CDBW-NEXT: vmovdqu8 {{.*#+}} zmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -190,7 +198,8 @@ define <16 x i32> @testv16i32(<16 x i32> %in) nounwind {
; AVX512BW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512BW-NEXT: vpsubd %zmm0, %zmm1, %zmm2
; AVX512BW-NEXT: vpandd %zmm2, %zmm0, %zmm0
-; AVX512BW-NEXT: vpsubd {{.*}}(%rip){1to16}, %zmm0, %zmm0
+; AVX512BW-NEXT: vpternlogd $255, %zmm2, %zmm2, %zmm2
+; AVX512BW-NEXT: vpaddd %zmm2, %zmm0, %zmm0
; AVX512BW-NEXT: vmovdqa64 {{.*#+}} zmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512BW-NEXT: vpandq %zmm2, %zmm0, %zmm3
; AVX512BW-NEXT: vmovdqu8 {{.*#+}} zmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -211,7 +220,8 @@ define <16 x i32> @testv16i32(<16 x i32> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512VPOPCNTDQ-NEXT: vpsubd %zmm0, %zmm1, %zmm1
; AVX512VPOPCNTDQ-NEXT: vpandd %zmm1, %zmm0, %zmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubd {{.*}}(%rip){1to16}, %zmm0, %zmm0
+; AVX512VPOPCNTDQ-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddd %zmm1, %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: vpopcntd %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: retq
%out = call <16 x i32> @llvm.cttz.v16i32(<16 x i32> %in, i1 0)
@@ -244,7 +254,8 @@ define <16 x i32> @testv16i32u(<16 x i32> %in) nounwind {
; AVX512BW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512BW-NEXT: vpsubd %zmm0, %zmm1, %zmm2
; AVX512BW-NEXT: vpandd %zmm2, %zmm0, %zmm0
-; AVX512BW-NEXT: vpsubd {{.*}}(%rip){1to16}, %zmm0, %zmm0
+; AVX512BW-NEXT: vpternlogd $255, %zmm2, %zmm2, %zmm2
+; AVX512BW-NEXT: vpaddd %zmm2, %zmm0, %zmm0
; AVX512BW-NEXT: vmovdqa64 {{.*#+}} zmm2 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512BW-NEXT: vpandq %zmm2, %zmm0, %zmm3
; AVX512BW-NEXT: vmovdqu8 {{.*#+}} zmm4 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -265,7 +276,8 @@ define <16 x i32> @testv16i32u(<16 x i32> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512VPOPCNTDQ-NEXT: vpsubd %zmm0, %zmm1, %zmm1
; AVX512VPOPCNTDQ-NEXT: vpandd %zmm1, %zmm0, %zmm0
-; AVX512VPOPCNTDQ-NEXT: vpsubd {{.*}}(%rip){1to16}, %zmm0, %zmm0
+; AVX512VPOPCNTDQ-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512VPOPCNTDQ-NEXT: vpaddd %zmm1, %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: vpopcntd %zmm0, %zmm0
; AVX512VPOPCNTDQ-NEXT: retq
%out = call <16 x i32> @llvm.cttz.v16i32(<16 x i32> %in, i1 -1)
@@ -278,8 +290,8 @@ define <32 x i16> @testv32i16(<32 x i16> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm2, %ymm2, %ymm2
; AVX512CD-NEXT: vpsubw %ymm0, %ymm2, %ymm3
; AVX512CD-NEXT: vpand %ymm3, %ymm0, %ymm0
-; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX512CD-NEXT: vpsubw %ymm3, %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm3, %ymm3, %ymm3
+; AVX512CD-NEXT: vpaddw %ymm3, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm4, %ymm0, %ymm5
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -293,7 +305,7 @@ define <32 x i16> @testv32i16(<32 x i16> %in) nounwind {
; AVX512CD-NEXT: vpsrlw $8, %ymm0, %ymm0
; AVX512CD-NEXT: vpsubw %ymm1, %ymm2, %ymm2
; AVX512CD-NEXT: vpand %ymm2, %ymm1, %ymm1
-; AVX512CD-NEXT: vpsubw %ymm3, %ymm1, %ymm1
+; AVX512CD-NEXT: vpaddw %ymm3, %ymm1, %ymm1
; AVX512CD-NEXT: vpand %ymm4, %ymm1, %ymm2
; AVX512CD-NEXT: vpshufb %ymm2, %ymm6, %ymm2
; AVX512CD-NEXT: vpsrlw $4, %ymm1, %ymm1
@@ -310,7 +322,8 @@ define <32 x i16> @testv32i16(<32 x i16> %in) nounwind {
; AVX512CDBW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpsubw %zmm0, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512CDBW-NEXT: vpsubw {{.*}}(%rip), %zmm0, %zmm0
+; AVX512CDBW-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512CDBW-NEXT: vpaddw %zmm1, %zmm0, %zmm0
; AVX512CDBW-NEXT: vmovdqa64 {{.*#+}} zmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDBW-NEXT: vpandq %zmm1, %zmm0, %zmm2
; AVX512CDBW-NEXT: vmovdqu8 {{.*#+}} zmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -329,7 +342,8 @@ define <32 x i16> @testv32i16(<32 x i16> %in) nounwind {
; AVX512BW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512BW-NEXT: vpsubw %zmm0, %zmm1, %zmm1
; AVX512BW-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512BW-NEXT: vpsubw {{.*}}(%rip), %zmm0, %zmm0
+; AVX512BW-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512BW-NEXT: vpaddw %zmm1, %zmm0, %zmm0
; AVX512BW-NEXT: vmovdqa64 {{.*#+}} zmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512BW-NEXT: vpandq %zmm1, %zmm0, %zmm2
; AVX512BW-NEXT: vmovdqu8 {{.*#+}} zmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -348,8 +362,8 @@ define <32 x i16> @testv32i16(<32 x i16> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm2, %ymm2, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm0, %ymm2, %ymm3
; AVX512VPOPCNTDQ-NEXT: vpand %ymm3, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm3, %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm3, %ymm3, %ymm3
+; AVX512VPOPCNTDQ-NEXT: vpaddw %ymm3, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %ymm4, %ymm0, %ymm5
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -363,7 +377,7 @@ define <32 x i16> @testv32i16(<32 x i16> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpsrlw $8, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm1, %ymm2, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpand %ymm2, %ymm1, %ymm1
-; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm3, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddw %ymm3, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm4, %ymm1, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpshufb %ymm2, %ymm6, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpsrlw $4, %ymm1, %ymm1
@@ -384,8 +398,8 @@ define <32 x i16> @testv32i16u(<32 x i16> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm2, %ymm2, %ymm2
; AVX512CD-NEXT: vpsubw %ymm0, %ymm2, %ymm3
; AVX512CD-NEXT: vpand %ymm3, %ymm0, %ymm0
-; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX512CD-NEXT: vpsubw %ymm3, %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm3, %ymm3, %ymm3
+; AVX512CD-NEXT: vpaddw %ymm3, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm4, %ymm0, %ymm5
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -399,7 +413,7 @@ define <32 x i16> @testv32i16u(<32 x i16> %in) nounwind {
; AVX512CD-NEXT: vpsrlw $8, %ymm0, %ymm0
; AVX512CD-NEXT: vpsubw %ymm1, %ymm2, %ymm2
; AVX512CD-NEXT: vpand %ymm2, %ymm1, %ymm1
-; AVX512CD-NEXT: vpsubw %ymm3, %ymm1, %ymm1
+; AVX512CD-NEXT: vpaddw %ymm3, %ymm1, %ymm1
; AVX512CD-NEXT: vpand %ymm4, %ymm1, %ymm2
; AVX512CD-NEXT: vpshufb %ymm2, %ymm6, %ymm2
; AVX512CD-NEXT: vpsrlw $4, %ymm1, %ymm1
@@ -416,7 +430,8 @@ define <32 x i16> @testv32i16u(<32 x i16> %in) nounwind {
; AVX512CDBW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpsubw %zmm0, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512CDBW-NEXT: vpsubw {{.*}}(%rip), %zmm0, %zmm0
+; AVX512CDBW-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512CDBW-NEXT: vpaddw %zmm1, %zmm0, %zmm0
; AVX512CDBW-NEXT: vmovdqa64 {{.*#+}} zmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDBW-NEXT: vpandq %zmm1, %zmm0, %zmm2
; AVX512CDBW-NEXT: vmovdqu8 {{.*#+}} zmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -435,7 +450,8 @@ define <32 x i16> @testv32i16u(<32 x i16> %in) nounwind {
; AVX512BW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512BW-NEXT: vpsubw %zmm0, %zmm1, %zmm1
; AVX512BW-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512BW-NEXT: vpsubw {{.*}}(%rip), %zmm0, %zmm0
+; AVX512BW-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512BW-NEXT: vpaddw %zmm1, %zmm0, %zmm0
; AVX512BW-NEXT: vmovdqa64 {{.*#+}} zmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512BW-NEXT: vpandq %zmm1, %zmm0, %zmm2
; AVX512BW-NEXT: vmovdqu8 {{.*#+}} zmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -454,8 +470,8 @@ define <32 x i16> @testv32i16u(<32 x i16> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm2, %ymm2, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm0, %ymm2, %ymm3
; AVX512VPOPCNTDQ-NEXT: vpand %ymm3, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm3, %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm3, %ymm3, %ymm3
+; AVX512VPOPCNTDQ-NEXT: vpaddw %ymm3, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %ymm4, %ymm0, %ymm5
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -469,7 +485,7 @@ define <32 x i16> @testv32i16u(<32 x i16> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpsrlw $8, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm1, %ymm2, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpand %ymm2, %ymm1, %ymm1
-; AVX512VPOPCNTDQ-NEXT: vpsubw %ymm3, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddw %ymm3, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm4, %ymm1, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpshufb %ymm2, %ymm6, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpsrlw $4, %ymm1, %ymm1
@@ -490,8 +506,8 @@ define <64 x i8> @testv64i8(<64 x i8> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm2, %ymm2, %ymm2
; AVX512CD-NEXT: vpsubb %ymm0, %ymm2, %ymm3
; AVX512CD-NEXT: vpand %ymm3, %ymm0, %ymm0
-; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX512CD-NEXT: vpsubb %ymm3, %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm3, %ymm3, %ymm3
+; AVX512CD-NEXT: vpaddb %ymm3, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm4, %ymm0, %ymm5
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -502,7 +518,7 @@ define <64 x i8> @testv64i8(<64 x i8> %in) nounwind {
; AVX512CD-NEXT: vpaddb %ymm5, %ymm0, %ymm0
; AVX512CD-NEXT: vpsubb %ymm1, %ymm2, %ymm2
; AVX512CD-NEXT: vpand %ymm2, %ymm1, %ymm1
-; AVX512CD-NEXT: vpsubb %ymm3, %ymm1, %ymm1
+; AVX512CD-NEXT: vpaddb %ymm3, %ymm1, %ymm1
; AVX512CD-NEXT: vpand %ymm4, %ymm1, %ymm2
; AVX512CD-NEXT: vpshufb %ymm2, %ymm6, %ymm2
; AVX512CD-NEXT: vpsrlw $4, %ymm1, %ymm1
@@ -516,7 +532,8 @@ define <64 x i8> @testv64i8(<64 x i8> %in) nounwind {
; AVX512CDBW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpsubb %zmm0, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512CDBW-NEXT: vpsubb {{.*}}(%rip), %zmm0, %zmm0
+; AVX512CDBW-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512CDBW-NEXT: vpaddb %zmm1, %zmm0, %zmm0
; AVX512CDBW-NEXT: vmovdqa64 {{.*#+}} zmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDBW-NEXT: vpandq %zmm1, %zmm0, %zmm2
; AVX512CDBW-NEXT: vmovdqu8 {{.*#+}} zmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -532,7 +549,8 @@ define <64 x i8> @testv64i8(<64 x i8> %in) nounwind {
; AVX512BW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512BW-NEXT: vpsubb %zmm0, %zmm1, %zmm1
; AVX512BW-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512BW-NEXT: vpsubb {{.*}}(%rip), %zmm0, %zmm0
+; AVX512BW-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512BW-NEXT: vpaddb %zmm1, %zmm0, %zmm0
; AVX512BW-NEXT: vmovdqa64 {{.*#+}} zmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512BW-NEXT: vpandq %zmm1, %zmm0, %zmm2
; AVX512BW-NEXT: vmovdqu8 {{.*#+}} zmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -548,8 +566,8 @@ define <64 x i8> @testv64i8(<64 x i8> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm2, %ymm2, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm0, %ymm2, %ymm3
; AVX512VPOPCNTDQ-NEXT: vpand %ymm3, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm3, %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm3, %ymm3, %ymm3
+; AVX512VPOPCNTDQ-NEXT: vpaddb %ymm3, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %ymm4, %ymm0, %ymm5
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -560,7 +578,7 @@ define <64 x i8> @testv64i8(<64 x i8> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpaddb %ymm5, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm1, %ymm2, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpand %ymm2, %ymm1, %ymm1
-; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm3, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddb %ymm3, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm4, %ymm1, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpshufb %ymm2, %ymm6, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpsrlw $4, %ymm1, %ymm1
@@ -578,8 +596,8 @@ define <64 x i8> @testv64i8u(<64 x i8> %in) nounwind {
; AVX512CD-NEXT: vpxor %ymm2, %ymm2, %ymm2
; AVX512CD-NEXT: vpsubb %ymm0, %ymm2, %ymm3
; AVX512CD-NEXT: vpand %ymm3, %ymm0, %ymm0
-; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX512CD-NEXT: vpsubb %ymm3, %ymm0, %ymm0
+; AVX512CD-NEXT: vpcmpeqd %ymm3, %ymm3, %ymm3
+; AVX512CD-NEXT: vpaddb %ymm3, %ymm0, %ymm0
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CD-NEXT: vpand %ymm4, %ymm0, %ymm5
; AVX512CD-NEXT: vmovdqa {{.*#+}} ymm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -590,7 +608,7 @@ define <64 x i8> @testv64i8u(<64 x i8> %in) nounwind {
; AVX512CD-NEXT: vpaddb %ymm5, %ymm0, %ymm0
; AVX512CD-NEXT: vpsubb %ymm1, %ymm2, %ymm2
; AVX512CD-NEXT: vpand %ymm2, %ymm1, %ymm1
-; AVX512CD-NEXT: vpsubb %ymm3, %ymm1, %ymm1
+; AVX512CD-NEXT: vpaddb %ymm3, %ymm1, %ymm1
; AVX512CD-NEXT: vpand %ymm4, %ymm1, %ymm2
; AVX512CD-NEXT: vpshufb %ymm2, %ymm6, %ymm2
; AVX512CD-NEXT: vpsrlw $4, %ymm1, %ymm1
@@ -604,7 +622,8 @@ define <64 x i8> @testv64i8u(<64 x i8> %in) nounwind {
; AVX512CDBW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpsubb %zmm0, %zmm1, %zmm1
; AVX512CDBW-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512CDBW-NEXT: vpsubb {{.*}}(%rip), %zmm0, %zmm0
+; AVX512CDBW-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512CDBW-NEXT: vpaddb %zmm1, %zmm0, %zmm0
; AVX512CDBW-NEXT: vmovdqa64 {{.*#+}} zmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512CDBW-NEXT: vpandq %zmm1, %zmm0, %zmm2
; AVX512CDBW-NEXT: vmovdqu8 {{.*#+}} zmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -620,7 +639,8 @@ define <64 x i8> @testv64i8u(<64 x i8> %in) nounwind {
; AVX512BW-NEXT: vpxord %zmm1, %zmm1, %zmm1
; AVX512BW-NEXT: vpsubb %zmm0, %zmm1, %zmm1
; AVX512BW-NEXT: vpandq %zmm1, %zmm0, %zmm0
-; AVX512BW-NEXT: vpsubb {{.*}}(%rip), %zmm0, %zmm0
+; AVX512BW-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1
+; AVX512BW-NEXT: vpaddb %zmm1, %zmm0, %zmm0
; AVX512BW-NEXT: vmovdqa64 {{.*#+}} zmm1 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512BW-NEXT: vpandq %zmm1, %zmm0, %zmm2
; AVX512BW-NEXT: vmovdqu8 {{.*#+}} zmm3 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -636,8 +656,8 @@ define <64 x i8> @testv64i8u(<64 x i8> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpxor %ymm2, %ymm2, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm0, %ymm2, %ymm3
; AVX512VPOPCNTDQ-NEXT: vpand %ymm3, %ymm0, %ymm0
-; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm3 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
-; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm3, %ymm0, %ymm0
+; AVX512VPOPCNTDQ-NEXT: vpcmpeqd %ymm3, %ymm3, %ymm3
+; AVX512VPOPCNTDQ-NEXT: vpaddb %ymm3, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm4 = [15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15]
; AVX512VPOPCNTDQ-NEXT: vpand %ymm4, %ymm0, %ymm5
; AVX512VPOPCNTDQ-NEXT: vmovdqa {{.*#+}} ymm6 = [0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4]
@@ -648,7 +668,7 @@ define <64 x i8> @testv64i8u(<64 x i8> %in) nounwind {
; AVX512VPOPCNTDQ-NEXT: vpaddb %ymm5, %ymm0, %ymm0
; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm1, %ymm2, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpand %ymm2, %ymm1, %ymm1
-; AVX512VPOPCNTDQ-NEXT: vpsubb %ymm3, %ymm1, %ymm1
+; AVX512VPOPCNTDQ-NEXT: vpaddb %ymm3, %ymm1, %ymm1
; AVX512VPOPCNTDQ-NEXT: vpand %ymm4, %ymm1, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpshufb %ymm2, %ymm6, %ymm2
; AVX512VPOPCNTDQ-NEXT: vpsrlw $4, %ymm1, %ymm1
diff --git a/test/CodeGen/X86/vector-zmov.ll b/test/CodeGen/X86/vector-zmov.ll
index c15c2c3c17a7..106177ecda85 100644
--- a/test/CodeGen/X86/vector-zmov.ll
+++ b/test/CodeGen/X86/vector-zmov.ll
@@ -1,9 +1,9 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse2 | FileCheck %s --check-prefix=SSE --check-prefix=SSE2
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+ssse3 | FileCheck %s --check-prefix=SSE --check-prefix=SSSE3
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-prefix=SSE41
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx | FileCheck %s --check-prefix=AVX --check-prefix=AVX1
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
+; 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=+ssse3 | FileCheck %s --check-prefix=SSE --check-prefix=SSSE3
+; 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
define <4 x i32> @load_zmov_4i32_to_0zzz(<4 x i32> *%ptr) {
; SSE-LABEL: load_zmov_4i32_to_0zzz:
@@ -15,7 +15,6 @@ define <4 x i32> @load_zmov_4i32_to_0zzz(<4 x i32> *%ptr) {
; AVX: # BB#0: # %entry
; AVX-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
; AVX-NEXT: retq
-
entry:
%X = load <4 x i32>, <4 x i32>* %ptr
%Y = shufflevector <4 x i32> %X, <4 x i32> zeroinitializer, <4 x i32> <i32 0, i32 4, i32 4, i32 4>
@@ -32,7 +31,6 @@ define <2 x i64> @load_zmov_2i64_to_0z(<2 x i64> *%ptr) {
; AVX: # BB#0: # %entry
; AVX-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
; AVX-NEXT: retq
-
entry:
%X = load <2 x i64>, <2 x i64>* %ptr
%Y = shufflevector <2 x i64> %X, <2 x i64> zeroinitializer, <2 x i32> <i32 0, i32 2>
diff --git a/test/CodeGen/X86/widen_arith-1.ll b/test/CodeGen/X86/widen_arith-1.ll
index 5663b8b40946..a1e9b53638c6 100644
--- a/test/CodeGen/X86/widen_arith-1.ll
+++ b/test/CodeGen/X86/widen_arith-1.ll
@@ -1,44 +1,70 @@
-; RUN: llc < %s -mcpu=generic -march=x86 -mattr=+sse4.2 | FileCheck %s
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.2 | FileCheck %s
define void @update(<3 x i8>* %dst, <3 x i8>* %src, i32 %n) nounwind {
+; CHECK-LABEL: update:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: subl $12, %esp
+; CHECK-NEXT: movl $0, (%esp)
+; CHECK-NEXT: pcmpeqd %xmm0, %xmm0
+; CHECK-NEXT: movdqa {{.*#+}} xmm1 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
+; CHECK-NEXT: jmp .LBB0_1
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB0_2: # %forbody
+; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
+; CHECK-NEXT: movl (%esp), %eax
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
+; CHECK-NEXT: pmovzxbd {{.*#+}} xmm2 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; CHECK-NEXT: psubd %xmm0, %xmm2
+; CHECK-NEXT: pextrb $8, %xmm2, 2(%ecx,%eax,4)
+; CHECK-NEXT: pshufb %xmm1, %xmm2
+; CHECK-NEXT: pextrw $0, %xmm2, (%ecx,%eax,4)
+; CHECK-NEXT: incl (%esp)
+; CHECK-NEXT: .LBB0_1: # %forcond
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: movl (%esp), %eax
+; CHECK-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: jl .LBB0_2
+; CHECK-NEXT: # BB#3: # %afterfor
+; CHECK-NEXT: addl $12, %esp
+; CHECK-NEXT: retl
entry:
-; CHECK-NOT: pextrw
-; CHECK: add
-
- %dst.addr = alloca <3 x i8>* ; <<3 x i8>**> [#uses=2]
- %src.addr = alloca <3 x i8>* ; <<3 x i8>**> [#uses=2]
- %n.addr = alloca i32 ; <i32*> [#uses=2]
- %i = alloca i32, align 4 ; <i32*> [#uses=6]
+ %dst.addr = alloca <3 x i8>*
+ %src.addr = alloca <3 x i8>*
+ %n.addr = alloca i32
+ %i = alloca i32, align 4
store <3 x i8>* %dst, <3 x i8>** %dst.addr
store <3 x i8>* %src, <3 x i8>** %src.addr
store i32 %n, i32* %n.addr
store i32 0, i32* %i
br label %forcond
-forcond: ; preds = %forinc, %entry
- %tmp = load i32, i32* %i ; <i32> [#uses=1]
- %tmp1 = load i32, i32* %n.addr ; <i32> [#uses=1]
- %cmp = icmp slt i32 %tmp, %tmp1 ; <i1> [#uses=1]
+forcond:
+ %tmp = load i32, i32* %i
+ %tmp1 = load i32, i32* %n.addr
+ %cmp = icmp slt i32 %tmp, %tmp1
br i1 %cmp, label %forbody, label %afterfor
-forbody: ; preds = %forcond
- %tmp2 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp3 = load <3 x i8>*, <3 x i8>** %dst.addr ; <<3 x i8>*> [#uses=1]
- %arrayidx = getelementptr <3 x i8>, <3 x i8>* %tmp3, i32 %tmp2 ; <<3 x i8>*> [#uses=1]
- %tmp4 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp5 = load <3 x i8>*, <3 x i8>** %src.addr ; <<3 x i8>*> [#uses=1]
- %arrayidx6 = getelementptr <3 x i8>, <3 x i8>* %tmp5, i32 %tmp4 ; <<3 x i8>*> [#uses=1]
- %tmp7 = load <3 x i8>, <3 x i8>* %arrayidx6 ; <<3 x i8>> [#uses=1]
- %add = add <3 x i8> %tmp7, < i8 1, i8 1, i8 1 > ; <<3 x i8>> [#uses=1]
+forbody:
+ %tmp2 = load i32, i32* %i
+ %tmp3 = load <3 x i8>*, <3 x i8>** %dst.addr
+ %arrayidx = getelementptr <3 x i8>, <3 x i8>* %tmp3, i32 %tmp2
+ %tmp4 = load i32, i32* %i
+ %tmp5 = load <3 x i8>*, <3 x i8>** %src.addr
+ %arrayidx6 = getelementptr <3 x i8>, <3 x i8>* %tmp5, i32 %tmp4
+ %tmp7 = load <3 x i8>, <3 x i8>* %arrayidx6
+ %add = add <3 x i8> %tmp7, < i8 1, i8 1, i8 1 >
store <3 x i8> %add, <3 x i8>* %arrayidx
br label %forinc
-forinc: ; preds = %forbody
- %tmp8 = load i32, i32* %i ; <i32> [#uses=1]
- %inc = add i32 %tmp8, 1 ; <i32> [#uses=1]
+forinc:
+ %tmp8 = load i32, i32* %i
+ %inc = add i32 %tmp8, 1
store i32 %inc, i32* %i
br label %forcond
-afterfor: ; preds = %forcond
+afterfor:
ret void
}
+
diff --git a/test/CodeGen/X86/widen_arith-2.ll b/test/CodeGen/X86/widen_arith-2.ll
index 6c219c1720ef..48753ad4fd76 100644
--- a/test/CodeGen/X86/widen_arith-2.ll
+++ b/test/CodeGen/X86/widen_arith-2.ll
@@ -1,59 +1,93 @@
-; RUN: llc < %s -march=x86 -mattr=+sse4.2 | FileCheck %s
-; CHECK: padd
-; CHECK: pand
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.2 | FileCheck %s
; widen v8i8 to v16i8 (checks even power of 2 widening with add & and)
define void @update(i64* %dst_i, i64* %src_i, i32 %n) nounwind {
+; CHECK-LABEL: update:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: subl $12, %esp
+; CHECK-NEXT: movl $0, (%esp)
+; CHECK-NEXT: pcmpeqd %xmm0, %xmm0
+; CHECK-NEXT: movdqa {{.*#+}} xmm1 = [4,4,4,4,4,4,4,4]
+; CHECK-NEXT: movdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
+; CHECK-NEXT: jmp .LBB0_1
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB0_2: # %forbody
+; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
+; CHECK-NEXT: movl (%esp), %eax
+; CHECK-NEXT: shll $3, %eax
+; CHECK-NEXT: addl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: movl %eax, {{[0-9]+}}(%esp)
+; CHECK-NEXT: movl (%esp), %eax
+; CHECK-NEXT: shll $3, %eax
+; CHECK-NEXT: addl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: movl %eax, {{[0-9]+}}(%esp)
+; CHECK-NEXT: movl (%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
+; CHECK-NEXT: pmovzxbw {{.*#+}} xmm3 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
+; CHECK-NEXT: psubw %xmm0, %xmm3
+; CHECK-NEXT: pand %xmm1, %xmm3
+; CHECK-NEXT: pshufb %xmm2, %xmm3
+; CHECK-NEXT: movq %xmm3, (%edx,%ecx,8)
+; CHECK-NEXT: incl (%esp)
+; CHECK-NEXT: .LBB0_1: # %forcond
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: movl (%esp), %eax
+; CHECK-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: jl .LBB0_2
+; CHECK-NEXT: # BB#3: # %afterfor
+; CHECK-NEXT: addl $12, %esp
+; CHECK-NEXT: retl
entry:
- %dst_i.addr = alloca i64* ; <i64**> [#uses=2]
- %src_i.addr = alloca i64* ; <i64**> [#uses=2]
- %n.addr = alloca i32 ; <i32*> [#uses=2]
- %i = alloca i32, align 4 ; <i32*> [#uses=8]
- %dst = alloca <8 x i8>*, align 4 ; <<8 x i8>**> [#uses=2]
- %src = alloca <8 x i8>*, align 4 ; <<8 x i8>**> [#uses=2]
+ %dst_i.addr = alloca i64*
+ %src_i.addr = alloca i64*
+ %n.addr = alloca i32
+ %i = alloca i32, align 4
+ %dst = alloca <8 x i8>*, align 4
+ %src = alloca <8 x i8>*, align 4
store i64* %dst_i, i64** %dst_i.addr
store i64* %src_i, i64** %src_i.addr
store i32 %n, i32* %n.addr
store i32 0, i32* %i
br label %forcond
-forcond: ; preds = %forinc, %entry
- %tmp = load i32, i32* %i ; <i32> [#uses=1]
- %tmp1 = load i32, i32* %n.addr ; <i32> [#uses=1]
- %cmp = icmp slt i32 %tmp, %tmp1 ; <i1> [#uses=1]
+forcond:
+ %tmp = load i32, i32* %i
+ %tmp1 = load i32, i32* %n.addr
+ %cmp = icmp slt i32 %tmp, %tmp1
br i1 %cmp, label %forbody, label %afterfor
-forbody: ; preds = %forcond
- %tmp2 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp3 = load i64*, i64** %dst_i.addr ; <i64*> [#uses=1]
- %arrayidx = getelementptr i64, i64* %tmp3, i32 %tmp2 ; <i64*> [#uses=1]
- %conv = bitcast i64* %arrayidx to <8 x i8>* ; <<8 x i8>*> [#uses=1]
+forbody:
+ %tmp2 = load i32, i32* %i
+ %tmp3 = load i64*, i64** %dst_i.addr
+ %arrayidx = getelementptr i64, i64* %tmp3, i32 %tmp2
+ %conv = bitcast i64* %arrayidx to <8 x i8>*
store <8 x i8>* %conv, <8 x i8>** %dst
- %tmp4 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp5 = load i64*, i64** %src_i.addr ; <i64*> [#uses=1]
- %arrayidx6 = getelementptr i64, i64* %tmp5, i32 %tmp4 ; <i64*> [#uses=1]
- %conv7 = bitcast i64* %arrayidx6 to <8 x i8>* ; <<8 x i8>*> [#uses=1]
+ %tmp4 = load i32, i32* %i
+ %tmp5 = load i64*, i64** %src_i.addr
+ %arrayidx6 = getelementptr i64, i64* %tmp5, i32 %tmp4
+ %conv7 = bitcast i64* %arrayidx6 to <8 x i8>*
store <8 x i8>* %conv7, <8 x i8>** %src
- %tmp8 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp9 = load <8 x i8>*, <8 x i8>** %dst ; <<8 x i8>*> [#uses=1]
- %arrayidx10 = getelementptr <8 x i8>, <8 x i8>* %tmp9, i32 %tmp8 ; <<8 x i8>*> [#uses=1]
- %tmp11 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp12 = load <8 x i8>*, <8 x i8>** %src ; <<8 x i8>*> [#uses=1]
- %arrayidx13 = getelementptr <8 x i8>, <8 x i8>* %tmp12, i32 %tmp11 ; <<8 x i8>*> [#uses=1]
- %tmp14 = load <8 x i8>, <8 x i8>* %arrayidx13 ; <<8 x i8>> [#uses=1]
- %add = add <8 x i8> %tmp14, < i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1 > ; <<8 x i8>> [#uses=1]
- %and = and <8 x i8> %add, < i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4 > ; <<8 x i8>> [#uses=1]
+ %tmp8 = load i32, i32* %i
+ %tmp9 = load <8 x i8>*, <8 x i8>** %dst
+ %arrayidx10 = getelementptr <8 x i8>, <8 x i8>* %tmp9, i32 %tmp8
+ %tmp11 = load i32, i32* %i
+ %tmp12 = load <8 x i8>*, <8 x i8>** %src
+ %arrayidx13 = getelementptr <8 x i8>, <8 x i8>* %tmp12, i32 %tmp11
+ %tmp14 = load <8 x i8>, <8 x i8>* %arrayidx13
+ %add = add <8 x i8> %tmp14, < i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1 >
+ %and = and <8 x i8> %add, < i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4 >
store <8 x i8> %and, <8 x i8>* %arrayidx10
br label %forinc
-forinc: ; preds = %forbody
- %tmp15 = load i32, i32* %i ; <i32> [#uses=1]
- %inc = add i32 %tmp15, 1 ; <i32> [#uses=1]
+forinc:
+ %tmp15 = load i32, i32* %i
+ %inc = add i32 %tmp15, 1
store i32 %inc, i32* %i
br label %forcond
-afterfor: ; preds = %forcond
+afterfor:
ret void
}
diff --git a/test/CodeGen/X86/widen_arith-3.ll b/test/CodeGen/X86/widen_arith-3.ll
index aea7975a045c..e363a82a2b96 100644
--- a/test/CodeGen/X86/widen_arith-3.ll
+++ b/test/CodeGen/X86/widen_arith-3.ll
@@ -1,18 +1,54 @@
-; RUN: llc < %s -mcpu=generic -march=x86 -mattr=+sse4.2 -post-RA-scheduler=true | FileCheck %s
-; CHECK: paddd
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.2 -post-RA-scheduler=true | FileCheck %s
; Widen a v3i16 to v8i16 to do a vector add
-@.str = internal constant [4 x i8] c"%d \00" ; <[4 x i8]*> [#uses=1]
-@.str1 = internal constant [2 x i8] c"\0A\00" ; <[2 x i8]*> [#uses=1]
+@.str = internal constant [4 x i8] c"%d \00"
+@.str1 = internal constant [2 x i8] c"\0A\00"
define void @update(<3 x i16>* %dst, <3 x i16>* %src, i32 %n) nounwind {
+; CHECK-LABEL: update:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: pushl %ebp
+; CHECK-NEXT: movl %esp, %ebp
+; CHECK-NEXT: andl $-8, %esp
+; CHECK-NEXT: subl $40, %esp
+; CHECK-NEXT: movl {{\.LCPI.*}}, %eax
+; CHECK-NEXT: movdqa {{.*#+}} xmm1 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; CHECK-NEXT: pcmpeqd %xmm0, %xmm0
+; CHECK-NEXT: movl $0, {{[0-9]+}}(%esp)
+; CHECK-NEXT: movl %eax, {{[0-9]+}}(%esp)
+; CHECK-NEXT: movw $1, {{[0-9]+}}(%esp)
+; CHECK-NEXT: jmp .LBB0_1
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB0_2: # %forbody
+; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: movl 12(%ebp), %edx
+; CHECK-NEXT: movl 8(%ebp), %ecx
+; CHECK-NEXT: movd {{.*#+}} xmm2 = mem[0],zero,zero,zero
+; CHECK-NEXT: pmovzxwd {{.*#+}} xmm2 = xmm2[0],zero,xmm2[1],zero,xmm2[2],zero,xmm2[3],zero
+; CHECK-NEXT: pinsrd $2, 4(%edx,%eax,8), %xmm2
+; CHECK-NEXT: psubd %xmm0, %xmm2
+; CHECK-NEXT: pextrw $4, %xmm2, 4(%ecx,%eax,8)
+; CHECK-NEXT: pshufb %xmm1, %xmm2
+; CHECK-NEXT: movd %xmm2, (%ecx,%eax,8)
+; CHECK-NEXT: incl {{[0-9]+}}(%esp)
+; CHECK-NEXT: .LBB0_1: # %forcond
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: cmpl 16(%ebp), %eax
+; CHECK-NEXT: jl .LBB0_2
+; CHECK-NEXT: # BB#3: # %afterfor
+; CHECK-NEXT: movl %ebp, %esp
+; CHECK-NEXT: popl %ebp
+; CHECK-NEXT: retl
entry:
- %dst.addr = alloca <3 x i16>* ; <<3 x i16>**> [#uses=2]
- %src.addr = alloca <3 x i16>* ; <<3 x i16>**> [#uses=2]
- %n.addr = alloca i32 ; <i32*> [#uses=2]
- %v = alloca <3 x i16>, align 8 ; <<3 x i16>*> [#uses=1]
- %i = alloca i32, align 4 ; <i32*> [#uses=6]
+ %dst.addr = alloca <3 x i16>*
+ %src.addr = alloca <3 x i16>*
+ %n.addr = alloca i32
+ %v = alloca <3 x i16>, align 8
+ %i = alloca i32, align 4
store <3 x i16>* %dst, <3 x i16>** %dst.addr
store <3 x i16>* %src, <3 x i16>** %src.addr
store i32 %n, i32* %n.addr
@@ -20,31 +56,31 @@ entry:
store i32 0, i32* %i
br label %forcond
-forcond: ; preds = %forinc, %entry
- %tmp = load i32, i32* %i ; <i32> [#uses=1]
- %tmp1 = load i32, i32* %n.addr ; <i32> [#uses=1]
- %cmp = icmp slt i32 %tmp, %tmp1 ; <i1> [#uses=1]
+forcond:
+ %tmp = load i32, i32* %i
+ %tmp1 = load i32, i32* %n.addr
+ %cmp = icmp slt i32 %tmp, %tmp1
br i1 %cmp, label %forbody, label %afterfor
-forbody: ; preds = %forcond
- %tmp2 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp3 = load <3 x i16>*, <3 x i16>** %dst.addr ; <<3 x i16>*> [#uses=1]
- %arrayidx = getelementptr <3 x i16>, <3 x i16>* %tmp3, i32 %tmp2 ; <<3 x i16>*> [#uses=1]
- %tmp4 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp5 = load <3 x i16>*, <3 x i16>** %src.addr ; <<3 x i16>*> [#uses=1]
- %arrayidx6 = getelementptr <3 x i16>, <3 x i16>* %tmp5, i32 %tmp4 ; <<3 x i16>*> [#uses=1]
- %tmp7 = load <3 x i16>, <3 x i16>* %arrayidx6 ; <<3 x i16>> [#uses=1]
- %add = add <3 x i16> %tmp7, < i16 1, i16 1, i16 1 > ; <<3 x i16>> [#uses=1]
+forbody:
+ %tmp2 = load i32, i32* %i
+ %tmp3 = load <3 x i16>*, <3 x i16>** %dst.addr
+ %arrayidx = getelementptr <3 x i16>, <3 x i16>* %tmp3, i32 %tmp2
+ %tmp4 = load i32, i32* %i
+ %tmp5 = load <3 x i16>*, <3 x i16>** %src.addr
+ %arrayidx6 = getelementptr <3 x i16>, <3 x i16>* %tmp5, i32 %tmp4
+ %tmp7 = load <3 x i16>, <3 x i16>* %arrayidx6
+ %add = add <3 x i16> %tmp7, < i16 1, i16 1, i16 1 >
store <3 x i16> %add, <3 x i16>* %arrayidx
br label %forinc
-forinc: ; preds = %forbody
- %tmp8 = load i32, i32* %i ; <i32> [#uses=1]
- %inc = add i32 %tmp8, 1 ; <i32> [#uses=1]
+forinc:
+ %tmp8 = load i32, i32* %i
+ %inc = add i32 %tmp8, 1
store i32 %inc, i32* %i
br label %forcond
-afterfor: ; preds = %forcond
+afterfor:
ret void
}
diff --git a/test/CodeGen/X86/widen_arith-4.ll b/test/CodeGen/X86/widen_arith-4.ll
index 5dba063d8af4..987c32009e3e 100644
--- a/test/CodeGen/X86/widen_arith-4.ll
+++ b/test/CodeGen/X86/widen_arith-4.ll
@@ -1,16 +1,47 @@
-; RUN: llc < %s -march=x86-64 -mattr=+sse4.2 | FileCheck %s
-; CHECK: psubw
-; CHECK-NEXT: pmullw
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.2 | FileCheck %s
; Widen a v5i16 to v8i16 to do a vector sub and multiple
define void @update(<5 x i16>* %dst, <5 x i16>* %src, i32 %n) nounwind {
+; CHECK-LABEL: update:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: movq %rdi, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movq %rsi, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movl %edx, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movq {{.*}}(%rip), %rax
+; CHECK-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movw $0, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movl $0, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movdqa {{.*#+}} xmm0 = <271,271,271,271,271,u,u,u>
+; CHECK-NEXT: movdqa {{.*#+}} xmm1 = <2,4,2,2,2,u,u,u>
+; CHECK-NEXT: jmp .LBB0_1
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB0_2: # %forbody
+; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
+; CHECK-NEXT: movq -{{[0-9]+}}(%rsp), %rax
+; CHECK-NEXT: movslq -{{[0-9]+}}(%rsp), %rcx
+; CHECK-NEXT: shlq $4, %rcx
+; CHECK-NEXT: movq -{{[0-9]+}}(%rsp), %rdx
+; CHECK-NEXT: movdqa (%rdx,%rcx), %xmm2
+; CHECK-NEXT: psubw %xmm0, %xmm2
+; CHECK-NEXT: pmullw %xmm1, %xmm2
+; CHECK-NEXT: pextrw $4, %xmm2, 8(%rax,%rcx)
+; CHECK-NEXT: movq %xmm2, (%rax,%rcx)
+; CHECK-NEXT: incl -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: .LBB0_1: # %forcond
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: movl -{{[0-9]+}}(%rsp), %eax
+; CHECK-NEXT: cmpl -{{[0-9]+}}(%rsp), %eax
+; CHECK-NEXT: jl .LBB0_2
+; CHECK-NEXT: # BB#3: # %afterfor
+; CHECK-NEXT: retq
entry:
- %dst.addr = alloca <5 x i16>* ; <<5 x i16>**> [#uses=2]
- %src.addr = alloca <5 x i16>* ; <<5 x i16>**> [#uses=2]
- %n.addr = alloca i32 ; <i32*> [#uses=2]
- %v = alloca <5 x i16>, align 16 ; <<5 x i16>*> [#uses=1]
- %i = alloca i32, align 4 ; <i32*> [#uses=6]
+ %dst.addr = alloca <5 x i16>*
+ %src.addr = alloca <5 x i16>*
+ %n.addr = alloca i32
+ %v = alloca <5 x i16>, align 16
+ %i = alloca i32, align 4
store <5 x i16>* %dst, <5 x i16>** %dst.addr
store <5 x i16>* %src, <5 x i16>** %src.addr
store i32 %n, i32* %n.addr
@@ -18,32 +49,32 @@ entry:
store i32 0, i32* %i
br label %forcond
-forcond: ; preds = %forinc, %entry
- %tmp = load i32, i32* %i ; <i32> [#uses=1]
- %tmp1 = load i32, i32* %n.addr ; <i32> [#uses=1]
- %cmp = icmp slt i32 %tmp, %tmp1 ; <i1> [#uses=1]
+forcond:
+ %tmp = load i32, i32* %i
+ %tmp1 = load i32, i32* %n.addr
+ %cmp = icmp slt i32 %tmp, %tmp1
br i1 %cmp, label %forbody, label %afterfor
-forbody: ; preds = %forcond
- %tmp2 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp3 = load <5 x i16>*, <5 x i16>** %dst.addr ; <<5 x i16>*> [#uses=1]
- %arrayidx = getelementptr <5 x i16>, <5 x i16>* %tmp3, i32 %tmp2 ; <<5 x i16>*> [#uses=1]
- %tmp4 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp5 = load <5 x i16>*, <5 x i16>** %src.addr ; <<5 x i16>*> [#uses=1]
- %arrayidx6 = getelementptr <5 x i16>, <5 x i16>* %tmp5, i32 %tmp4 ; <<5 x i16>*> [#uses=1]
- %tmp7 = load <5 x i16>, <5 x i16>* %arrayidx6 ; <<5 x i16>> [#uses=1]
- %sub = sub <5 x i16> %tmp7, < i16 271, i16 271, i16 271, i16 271, i16 271 > ; <<5 x i16>> [#uses=1]
- %mul = mul <5 x i16> %sub, < i16 2, i16 4, i16 2, i16 2, i16 2 > ; <<5 x i16>> [#uses=1]
+forbody:
+ %tmp2 = load i32, i32* %i
+ %tmp3 = load <5 x i16>*, <5 x i16>** %dst.addr
+ %arrayidx = getelementptr <5 x i16>, <5 x i16>* %tmp3, i32 %tmp2
+ %tmp4 = load i32, i32* %i
+ %tmp5 = load <5 x i16>*, <5 x i16>** %src.addr
+ %arrayidx6 = getelementptr <5 x i16>, <5 x i16>* %tmp5, i32 %tmp4
+ %tmp7 = load <5 x i16>, <5 x i16>* %arrayidx6
+ %sub = sub <5 x i16> %tmp7, < i16 271, i16 271, i16 271, i16 271, i16 271 >
+ %mul = mul <5 x i16> %sub, < i16 2, i16 4, i16 2, i16 2, i16 2 >
store <5 x i16> %mul, <5 x i16>* %arrayidx
br label %forinc
-forinc: ; preds = %forbody
- %tmp8 = load i32, i32* %i ; <i32> [#uses=1]
- %inc = add i32 %tmp8, 1 ; <i32> [#uses=1]
+forinc:
+ %tmp8 = load i32, i32* %i
+ %inc = add i32 %tmp8, 1
store i32 %inc, i32* %i
br label %forcond
-afterfor: ; preds = %forcond
+afterfor:
ret void
}
diff --git a/test/CodeGen/X86/widen_arith-5.ll b/test/CodeGen/X86/widen_arith-5.ll
index 04c9ec2def2a..005c2a41be4a 100644
--- a/test/CodeGen/X86/widen_arith-5.ll
+++ b/test/CodeGen/X86/widen_arith-5.ll
@@ -1,17 +1,46 @@
-; RUN: llc < %s -march=x86-64 -mattr=+sse4.2 | FileCheck %s
-; CHECK: movdqa
-; CHECK: pslld $2
-; CHECK: psubd
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.2 | FileCheck %s
; widen a v3i32 to v4i32 to do a vector multiple and a subtraction
define void @update(<3 x i32>* %dst, <3 x i32>* %src, i32 %n) nounwind {
+; CHECK-LABEL: update:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: movq %rdi, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movq %rsi, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movl %edx, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movq {{.*}}(%rip), %rax
+; CHECK-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movl $1, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movl $0, -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: movdqa {{.*#+}} xmm0 = <3,3,3,u>
+; CHECK-NEXT: jmp .LBB0_1
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB0_2: # %forbody
+; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
+; CHECK-NEXT: movq -{{[0-9]+}}(%rsp), %rax
+; CHECK-NEXT: movslq -{{[0-9]+}}(%rsp), %rcx
+; CHECK-NEXT: shlq $4, %rcx
+; CHECK-NEXT: movq -{{[0-9]+}}(%rsp), %rdx
+; CHECK-NEXT: movdqa (%rdx,%rcx), %xmm1
+; CHECK-NEXT: pslld $2, %xmm1
+; CHECK-NEXT: psubd %xmm0, %xmm1
+; CHECK-NEXT: pextrd $2, %xmm1, 8(%rax,%rcx)
+; CHECK-NEXT: movq %xmm1, (%rax,%rcx)
+; CHECK-NEXT: incl -{{[0-9]+}}(%rsp)
+; CHECK-NEXT: .LBB0_1: # %forcond
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: movl -{{[0-9]+}}(%rsp), %eax
+; CHECK-NEXT: cmpl -{{[0-9]+}}(%rsp), %eax
+; CHECK-NEXT: jl .LBB0_2
+; CHECK-NEXT: # BB#3: # %afterfor
+; CHECK-NEXT: retq
entry:
- %dst.addr = alloca <3 x i32>* ; <<3 x i32>**> [#uses=2]
- %src.addr = alloca <3 x i32>* ; <<3 x i32>**> [#uses=2]
- %n.addr = alloca i32 ; <i32*> [#uses=2]
- %v = alloca <3 x i32>, align 16 ; <<3 x i32>*> [#uses=1]
- %i = alloca i32, align 4 ; <i32*> [#uses=6]
+ %dst.addr = alloca <3 x i32>*
+ %src.addr = alloca <3 x i32>*
+ %n.addr = alloca i32
+ %v = alloca <3 x i32>, align 16
+ %i = alloca i32, align 4
store <3 x i32>* %dst, <3 x i32>** %dst.addr
store <3 x i32>* %src, <3 x i32>** %src.addr
store i32 %n, i32* %n.addr
@@ -19,32 +48,32 @@ entry:
store i32 0, i32* %i
br label %forcond
-forcond: ; preds = %forinc, %entry
- %tmp = load i32, i32* %i ; <i32> [#uses=1]
- %tmp1 = load i32, i32* %n.addr ; <i32> [#uses=1]
- %cmp = icmp slt i32 %tmp, %tmp1 ; <i1> [#uses=1]
+forcond:
+ %tmp = load i32, i32* %i
+ %tmp1 = load i32, i32* %n.addr
+ %cmp = icmp slt i32 %tmp, %tmp1
br i1 %cmp, label %forbody, label %afterfor
-forbody: ; preds = %forcond
- %tmp2 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp3 = load <3 x i32>*, <3 x i32>** %dst.addr ; <<3 x i32>*> [#uses=1]
- %arrayidx = getelementptr <3 x i32>, <3 x i32>* %tmp3, i32 %tmp2 ; <<3 x i32>*> [#uses=1]
- %tmp4 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp5 = load <3 x i32>*, <3 x i32>** %src.addr ; <<3 x i32>*> [#uses=1]
- %arrayidx6 = getelementptr <3 x i32>, <3 x i32>* %tmp5, i32 %tmp4 ; <<3 x i32>*> [#uses=1]
- %tmp7 = load <3 x i32>, <3 x i32>* %arrayidx6 ; <<3 x i32>> [#uses=1]
- %mul = mul <3 x i32> %tmp7, < i32 4, i32 4, i32 4 > ; <<3 x i32>> [#uses=1]
- %sub = sub <3 x i32> %mul, < i32 3, i32 3, i32 3 > ; <<3 x i32>> [#uses=1]
+forbody:
+ %tmp2 = load i32, i32* %i
+ %tmp3 = load <3 x i32>*, <3 x i32>** %dst.addr
+ %arrayidx = getelementptr <3 x i32>, <3 x i32>* %tmp3, i32 %tmp2
+ %tmp4 = load i32, i32* %i
+ %tmp5 = load <3 x i32>*, <3 x i32>** %src.addr
+ %arrayidx6 = getelementptr <3 x i32>, <3 x i32>* %tmp5, i32 %tmp4
+ %tmp7 = load <3 x i32>, <3 x i32>* %arrayidx6
+ %mul = mul <3 x i32> %tmp7, < i32 4, i32 4, i32 4 >
+ %sub = sub <3 x i32> %mul, < i32 3, i32 3, i32 3 >
store <3 x i32> %sub, <3 x i32>* %arrayidx
br label %forinc
-forinc: ; preds = %forbody
- %tmp8 = load i32, i32* %i ; <i32> [#uses=1]
- %inc = add i32 %tmp8, 1 ; <i32> [#uses=1]
+forinc:
+ %tmp8 = load i32, i32* %i
+ %inc = add i32 %tmp8, 1
store i32 %inc, i32* %i
br label %forcond
-afterfor: ; preds = %forcond
+afterfor:
ret void
}
diff --git a/test/CodeGen/X86/widen_arith-6.ll b/test/CodeGen/X86/widen_arith-6.ll
index 09998a027d25..0421915154e4 100644
--- a/test/CodeGen/X86/widen_arith-6.ll
+++ b/test/CodeGen/X86/widen_arith-6.ll
@@ -1,16 +1,50 @@
-; RUN: llc < %s -march=x86 -mattr=+sse4.2 | FileCheck %s
-; CHECK: mulps
-; CHECK: addps
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.2 | FileCheck %s
; widen a v3f32 to vfi32 to do a vector multiple and an add
define void @update(<3 x float>* %dst, <3 x float>* %src, i32 %n) nounwind {
+; CHECK-LABEL: update:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: pushl %ebp
+; CHECK-NEXT: movl %esp, %ebp
+; CHECK-NEXT: andl $-16, %esp
+; CHECK-NEXT: subl $48, %esp
+; CHECK-NEXT: movl $1077936128, {{[0-9]+}}(%esp) # imm = 0x40400000
+; CHECK-NEXT: movl $1073741824, {{[0-9]+}}(%esp) # imm = 0x40000000
+; CHECK-NEXT: movl $1065353216, {{[0-9]+}}(%esp) # imm = 0x3F800000
+; CHECK-NEXT: movl $0, {{[0-9]+}}(%esp)
+; CHECK-NEXT: movaps {{.*#+}} xmm0 = <1976.04004,1976.04004,1976.04004,u>
+; CHECK-NEXT: jmp .LBB0_1
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB0_2: # %forbody
+; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: movl 8(%ebp), %ecx
+; CHECK-NEXT: shll $4, %eax
+; CHECK-NEXT: movl 12(%ebp), %edx
+; CHECK-NEXT: movaps (%edx,%eax), %xmm1
+; CHECK-NEXT: mulps {{[0-9]+}}(%esp), %xmm1
+; CHECK-NEXT: addps %xmm0, %xmm1
+; CHECK-NEXT: extractps $2, %xmm1, 8(%ecx,%eax)
+; CHECK-NEXT: extractps $1, %xmm1, 4(%ecx,%eax)
+; CHECK-NEXT: movss %xmm1, (%ecx,%eax)
+; CHECK-NEXT: incl {{[0-9]+}}(%esp)
+; CHECK-NEXT: .LBB0_1: # %forcond
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax
+; CHECK-NEXT: cmpl 16(%ebp), %eax
+; CHECK-NEXT: jl .LBB0_2
+; CHECK-NEXT: # BB#3: # %afterfor
+; CHECK-NEXT: movl %ebp, %esp
+; CHECK-NEXT: popl %ebp
+; CHECK-NEXT: retl
entry:
- %dst.addr = alloca <3 x float>* ; <<3 x float>**> [#uses=2]
- %src.addr = alloca <3 x float>* ; <<3 x float>**> [#uses=2]
- %n.addr = alloca i32 ; <i32*> [#uses=2]
- %v = alloca <3 x float>, align 16 ; <<3 x float>*> [#uses=2]
- %i = alloca i32, align 4 ; <i32*> [#uses=6]
+ %dst.addr = alloca <3 x float>*
+ %src.addr = alloca <3 x float>*
+ %n.addr = alloca i32
+ %v = alloca <3 x float>, align 16
+ %i = alloca i32, align 4
store <3 x float>* %dst, <3 x float>** %dst.addr
store <3 x float>* %src, <3 x float>** %src.addr
store i32 %n, i32* %n.addr
@@ -18,32 +52,32 @@ entry:
store i32 0, i32* %i
br label %forcond
-forcond: ; preds = %forinc, %entry
- %tmp = load i32, i32* %i ; <i32> [#uses=1]
- %tmp1 = load i32, i32* %n.addr ; <i32> [#uses=1]
- %cmp = icmp slt i32 %tmp, %tmp1 ; <i1> [#uses=1]
+forcond:
+ %tmp = load i32, i32* %i
+ %tmp1 = load i32, i32* %n.addr
+ %cmp = icmp slt i32 %tmp, %tmp1
br i1 %cmp, label %forbody, label %afterfor
-forbody: ; preds = %forcond
- %tmp2 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp3 = load <3 x float>*, <3 x float>** %dst.addr ; <<3 x float>*> [#uses=1]
- %arrayidx = getelementptr <3 x float>, <3 x float>* %tmp3, i32 %tmp2 ; <<3 x float>*> [#uses=1]
- %tmp4 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp5 = load <3 x float>*, <3 x float>** %src.addr ; <<3 x float>*> [#uses=1]
- %arrayidx6 = getelementptr <3 x float>, <3 x float>* %tmp5, i32 %tmp4 ; <<3 x float>*> [#uses=1]
- %tmp7 = load <3 x float>, <3 x float>* %arrayidx6 ; <<3 x float>> [#uses=1]
- %tmp8 = load <3 x float>, <3 x float>* %v ; <<3 x float>> [#uses=1]
- %mul = fmul <3 x float> %tmp7, %tmp8 ; <<3 x float>> [#uses=1]
- %add = fadd <3 x float> %mul, < float 0x409EE02900000000, float 0x409EE02900000000, float 0x409EE02900000000 > ; <<3 x float>> [#uses=1]
+forbody:
+ %tmp2 = load i32, i32* %i
+ %tmp3 = load <3 x float>*, <3 x float>** %dst.addr
+ %arrayidx = getelementptr <3 x float>, <3 x float>* %tmp3, i32 %tmp2
+ %tmp4 = load i32, i32* %i
+ %tmp5 = load <3 x float>*, <3 x float>** %src.addr
+ %arrayidx6 = getelementptr <3 x float>, <3 x float>* %tmp5, i32 %tmp4
+ %tmp7 = load <3 x float>, <3 x float>* %arrayidx6
+ %tmp8 = load <3 x float>, <3 x float>* %v
+ %mul = fmul <3 x float> %tmp7, %tmp8
+ %add = fadd <3 x float> %mul, < float 0x409EE02900000000, float 0x409EE02900000000, float 0x409EE02900000000 >
store <3 x float> %add, <3 x float>* %arrayidx
br label %forinc
-forinc: ; preds = %forbody
- %tmp9 = load i32, i32* %i ; <i32> [#uses=1]
- %inc = add i32 %tmp9, 1 ; <i32> [#uses=1]
+forinc:
+ %tmp9 = load i32, i32* %i
+ %inc = add i32 %tmp9, 1
store i32 %inc, i32* %i
br label %forcond
-afterfor: ; preds = %forcond
+afterfor:
ret void
}
diff --git a/test/CodeGen/X86/widen_cast-1.ll b/test/CodeGen/X86/widen_cast-1.ll
index b0240ddb0433..65c8db155e32 100644
--- a/test/CodeGen/X86/widen_cast-1.ll
+++ b/test/CodeGen/X86/widen_cast-1.ll
@@ -1,53 +1,95 @@
-; RUN: llc -march=x86 -mcpu=generic -mattr=+sse4.2 < %s | FileCheck %s
-; RUN: llc -march=x86 -mcpu=atom < %s | FileCheck -check-prefix=ATOM %s
-
-; CHECK: movl
-; CHECK: paddw
-; CHECK: movq
-
-; FIXME - if this test cares about scheduling, why isn't it being checked?
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -mtriple=i686-unknown-unknown -mcpu=generic -mattr=+sse4.2 < %s | FileCheck %s
+; RUN: llc -mtriple=i686-unknown-unknown -mcpu=atom < %s | FileCheck -check-prefix=ATOM %s
; Scheduler causes produce a different instruction order
-; ATOM: movl
-; ATOM: paddw
-; ATOM: movq
; bitcast a v4i16 to v2i32
define void @convert(<2 x i32>* %dst, <4 x i16>* %src) nounwind {
+; CHECK-LABEL: convert:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: pushl %eax
+; CHECK-NEXT: movl $0, (%esp)
+; CHECK-NEXT: movdqa {{.*#+}} xmm0 = [1,1,1,1]
+; CHECK-NEXT: movdqa {{.*#+}} xmm1 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; CHECK-NEXT: cmpl $3, (%esp)
+; CHECK-NEXT: jg .LBB0_3
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB0_2: # %forbody
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: movl (%esp), %eax
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
+; CHECK-NEXT: pmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; CHECK-NEXT: paddw %xmm0, %xmm2
+; CHECK-NEXT: pshufb %xmm1, %xmm2
+; CHECK-NEXT: movq %xmm2, (%ecx,%eax,8)
+; CHECK-NEXT: incl (%esp)
+; CHECK-NEXT: cmpl $3, (%esp)
+; CHECK-NEXT: jle .LBB0_2
+; CHECK-NEXT: .LBB0_3: # %afterfor
+; CHECK-NEXT: popl %eax
+; CHECK-NEXT: retl
+;
+; ATOM-LABEL: convert:
+; ATOM: # BB#0: # %entry
+; ATOM-NEXT: pushl %eax
+; ATOM-NEXT: movdqa {{.*#+}} xmm0 = [1,1,1,1]
+; ATOM-NEXT: movdqa {{.*#+}} xmm1 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; ATOM-NEXT: movl $0, (%esp)
+; ATOM-NEXT: cmpl $3, (%esp)
+; ATOM-NEXT: jg .LBB0_3
+; ATOM-NEXT: .p2align 4, 0x90
+; ATOM-NEXT: .LBB0_2: # %forbody
+; ATOM-NEXT: # =>This Inner Loop Header: Depth=1
+; ATOM-NEXT: movl (%esp), %eax
+; ATOM-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; ATOM-NEXT: movq {{.*#+}} xmm2 = mem[0],zero
+; ATOM-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; ATOM-NEXT: punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
+; ATOM-NEXT: paddw %xmm0, %xmm2
+; ATOM-NEXT: pshufb %xmm1, %xmm2
+; ATOM-NEXT: movq %xmm2, (%ecx,%eax,8)
+; ATOM-NEXT: incl (%esp)
+; ATOM-NEXT: cmpl $3, (%esp)
+; ATOM-NEXT: jle .LBB0_2
+; ATOM-NEXT: .LBB0_3: # %afterfor
+; ATOM-NEXT: popl %eax
+; ATOM-NEXT: retl
entry:
- %dst.addr = alloca <2 x i32>* ; <<2 x i32>**> [#uses=2]
- %src.addr = alloca <4 x i16>* ; <<4 x i16>**> [#uses=2]
- %i = alloca i32, align 4 ; <i32*> [#uses=6]
+ %dst.addr = alloca <2 x i32>*
+ %src.addr = alloca <4 x i16>*
+ %i = alloca i32, align 4
store <2 x i32>* %dst, <2 x i32>** %dst.addr
store <4 x i16>* %src, <4 x i16>** %src.addr
store i32 0, i32* %i
br label %forcond
-forcond: ; preds = %forinc, %entry
- %tmp = load i32, i32* %i ; <i32> [#uses=1]
- %cmp = icmp slt i32 %tmp, 4 ; <i1> [#uses=1]
+forcond:
+ %tmp = load i32, i32* %i
+ %cmp = icmp slt i32 %tmp, 4
br i1 %cmp, label %forbody, label %afterfor
-forbody: ; preds = %forcond
- %tmp1 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp2 = load <2 x i32>*, <2 x i32>** %dst.addr ; <<2 x i32>*> [#uses=1]
- %arrayidx = getelementptr <2 x i32>, <2 x i32>* %tmp2, i32 %tmp1 ; <<2 x i32>*> [#uses=1]
- %tmp3 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp4 = load <4 x i16>*, <4 x i16>** %src.addr ; <<4 x i16>*> [#uses=1]
- %arrayidx5 = getelementptr <4 x i16>, <4 x i16>* %tmp4, i32 %tmp3 ; <<4 x i16>*> [#uses=1]
- %tmp6 = load <4 x i16>, <4 x i16>* %arrayidx5 ; <<4 x i16>> [#uses=1]
- %add = add <4 x i16> %tmp6, < i16 1, i16 1, i16 1, i16 1 > ; <<4 x i16>> [#uses=1]
- %conv = bitcast <4 x i16> %add to <2 x i32> ; <<2 x i32>> [#uses=1]
+forbody:
+ %tmp1 = load i32, i32* %i
+ %tmp2 = load <2 x i32>*, <2 x i32>** %dst.addr
+ %arrayidx = getelementptr <2 x i32>, <2 x i32>* %tmp2, i32 %tmp1
+ %tmp3 = load i32, i32* %i
+ %tmp4 = load <4 x i16>*, <4 x i16>** %src.addr
+ %arrayidx5 = getelementptr <4 x i16>, <4 x i16>* %tmp4, i32 %tmp3
+ %tmp6 = load <4 x i16>, <4 x i16>* %arrayidx5
+ %add = add <4 x i16> %tmp6, < i16 1, i16 1, i16 1, i16 1 >
+ %conv = bitcast <4 x i16> %add to <2 x i32>
store <2 x i32> %conv, <2 x i32>* %arrayidx
br label %forinc
-forinc: ; preds = %forbody
- %tmp7 = load i32, i32* %i ; <i32> [#uses=1]
- %inc = add i32 %tmp7, 1 ; <i32> [#uses=1]
+forinc:
+ %tmp7 = load i32, i32* %i
+ %inc = add i32 %tmp7, 1
store i32 %inc, i32* %i
br label %forcond
-afterfor: ; preds = %forcond
+afterfor:
ret void
}
diff --git a/test/CodeGen/X86/widen_cast-2.ll b/test/CodeGen/X86/widen_cast-2.ll
index 5a9acbd52f20..8caa962e4ec8 100644
--- a/test/CodeGen/X86/widen_cast-2.ll
+++ b/test/CodeGen/X86/widen_cast-2.ll
@@ -1,46 +1,69 @@
-; RUN: llc < %s -march=x86 -mcpu=nehalem -mattr=+sse4.2 | FileCheck %s
-; CHECK: pextrd
-; CHECK: pextrd
-; CHECK: movd
-; CHECK: movdqa
-
-
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.2 | FileCheck %s
; bitcast v14i16 to v7i32
define void @convert(<7 x i32>* %dst, <14 x i16>* %src) nounwind {
+; CHECK-LABEL: convert:
+; CHECK: # BB#0: # %entry
+; CHECK-NEXT: pushl %eax
+; CHECK-NEXT: movl $0, (%esp)
+; CHECK-NEXT: pcmpeqd %xmm0, %xmm0
+; CHECK-NEXT: cmpl $3, (%esp)
+; CHECK-NEXT: jg .LBB0_3
+; CHECK-NEXT: .p2align 4, 0x90
+; CHECK-NEXT: .LBB0_2: # %forbody
+; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
+; CHECK-NEXT: movl (%esp), %eax
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; CHECK-NEXT: shll $5, %eax
+; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
+; CHECK-NEXT: movdqa (%edx,%eax), %xmm1
+; CHECK-NEXT: movdqa 16(%edx,%eax), %xmm2
+; CHECK-NEXT: psubw %xmm0, %xmm1
+; CHECK-NEXT: psubw %xmm0, %xmm2
+; CHECK-NEXT: pextrd $2, %xmm2, 24(%ecx,%eax)
+; CHECK-NEXT: pextrd $1, %xmm2, 20(%ecx,%eax)
+; CHECK-NEXT: movd %xmm2, 16(%ecx,%eax)
+; CHECK-NEXT: movdqa %xmm1, (%ecx,%eax)
+; CHECK-NEXT: incl (%esp)
+; CHECK-NEXT: cmpl $3, (%esp)
+; CHECK-NEXT: jle .LBB0_2
+; CHECK-NEXT: .LBB0_3: # %afterfor
+; CHECK-NEXT: popl %eax
+; CHECK-NEXT: retl
entry:
- %dst.addr = alloca <7 x i32>* ; <<7 x i32>**> [#uses=2]
- %src.addr = alloca <14 x i16>* ; <<14 x i16>**> [#uses=2]
- %i = alloca i32, align 4 ; <i32*> [#uses=6]
+ %dst.addr = alloca <7 x i32>*
+ %src.addr = alloca <14 x i16>*
+ %i = alloca i32, align 4
store <7 x i32>* %dst, <7 x i32>** %dst.addr
store <14 x i16>* %src, <14 x i16>** %src.addr
store i32 0, i32* %i
br label %forcond
-forcond: ; preds = %forinc, %entry
- %tmp = load i32, i32* %i ; <i32> [#uses=1]
- %cmp = icmp slt i32 %tmp, 4 ; <i1> [#uses=1]
+forcond:
+ %tmp = load i32, i32* %i
+ %cmp = icmp slt i32 %tmp, 4
br i1 %cmp, label %forbody, label %afterfor
-forbody: ; preds = %forcond
- %tmp1 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp2 = load <7 x i32>*, <7 x i32>** %dst.addr ; <<2 x i32>*> [#uses=1]
- %arrayidx = getelementptr <7 x i32>, <7 x i32>* %tmp2, i32 %tmp1 ; <<7 x i32>*> [#uses=1]
- %tmp3 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp4 = load <14 x i16>*, <14 x i16>** %src.addr ; <<4 x i16>*> [#uses=1]
- %arrayidx5 = getelementptr <14 x i16>, <14 x i16>* %tmp4, i32 %tmp3 ; <<4 x i16>*> [#uses=1]
- %tmp6 = load <14 x i16>, <14 x i16>* %arrayidx5 ; <<4 x i16>> [#uses=1]
- %add = add <14 x i16> %tmp6, < 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 > ; <<4 x i16>> [#uses=1]
- %conv = bitcast <14 x i16> %add to <7 x i32> ; <<7 x i32>> [#uses=1]
+forbody:
+ %tmp1 = load i32, i32* %i
+ %tmp2 = load <7 x i32>*, <7 x i32>** %dst.addr
+ %arrayidx = getelementptr <7 x i32>, <7 x i32>* %tmp2, i32 %tmp1
+ %tmp3 = load i32, i32* %i
+ %tmp4 = load <14 x i16>*, <14 x i16>** %src.addr
+ %arrayidx5 = getelementptr <14 x i16>, <14 x i16>* %tmp4, i32 %tmp3
+ %tmp6 = load <14 x i16>, <14 x i16>* %arrayidx5
+ %add = add <14 x i16> %tmp6, < 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 >
+ %conv = bitcast <14 x i16> %add to <7 x i32>
store <7 x i32> %conv, <7 x i32>* %arrayidx
br label %forinc
-forinc: ; preds = %forbody
- %tmp7 = load i32, i32* %i ; <i32> [#uses=1]
- %inc = add i32 %tmp7, 1 ; <i32> [#uses=1]
+forinc:
+ %tmp7 = load i32, i32* %i
+ %inc = add i32 %tmp7, 1
store i32 %inc, i32* %i
br label %forcond
-afterfor: ; preds = %forcond
+afterfor:
ret void
}
diff --git a/test/CodeGen/X86/widen_cast-3.ll b/test/CodeGen/X86/widen_cast-3.ll
index ef0737713abc..a50e199cd10d 100644
--- a/test/CodeGen/X86/widen_cast-3.ll
+++ b/test/CodeGen/X86/widen_cast-3.ll
@@ -1,28 +1,29 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=+sse4.2 | FileCheck %s --check-prefix=X86
-; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+sse4.2 | FileCheck %s --check-prefix=X64
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X86
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=X64
; bitcast v12i8 to v3i32
define void @convert(<12 x i8>* %dst.addr, <3 x i32> %src) nounwind {
; X86-LABEL: convert:
-; X86: ## BB#0: ## %entry
+; X86: # BB#0:
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
-; X86-NEXT: paddd LCPI0_0, %xmm0
+; X86-NEXT: pcmpeqd %xmm1, %xmm1
+; X86-NEXT: psubd %xmm1, %xmm0
; X86-NEXT: pextrd $2, %xmm0, 8(%eax)
; X86-NEXT: pextrd $1, %xmm0, 4(%eax)
; X86-NEXT: movd %xmm0, (%eax)
; X86-NEXT: retl
;
; X64-LABEL: convert:
-; X64: ## BB#0: ## %entry
-; X64-NEXT: paddd {{.*}}(%rip), %xmm0
+; X64: # BB#0:
+; X64-NEXT: pcmpeqd %xmm1, %xmm1
+; X64-NEXT: psubd %xmm1, %xmm0
; X64-NEXT: pextrd $2, %xmm0, 8(%rdi)
; X64-NEXT: movq %xmm0, (%rdi)
; X64-NEXT: retq
-entry:
- %add = add <3 x i32> %src, < i32 1, i32 1, i32 1 > ; <<3 x i32>> [#uses=1]
- %conv = bitcast <3 x i32> %add to <12 x i8> ; <<12 x i8>> [#uses=1]
+ %add = add <3 x i32> %src, < i32 1, i32 1, i32 1 >
+ %conv = bitcast <3 x i32> %add to <12 x i8>
store <12 x i8> %conv, <12 x i8>* %dst.addr
ret void
}
diff --git a/test/CodeGen/X86/widen_cast-4.ll b/test/CodeGen/X86/widen_cast-4.ll
index 8ed2785ae73a..e55d62a461aa 100644
--- a/test/CodeGen/X86/widen_cast-4.ll
+++ b/test/CodeGen/X86/widen_cast-4.ll
@@ -1,78 +1,135 @@
-; RUN: llc < %s -march=x86 -mattr=+sse4.2 | FileCheck %s
-; RUN: llc < %s -march=x86 -mattr=+sse4.2 -x86-experimental-vector-widening-legalization | FileCheck %s --check-prefix=CHECK-WIDE
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=NARROW
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.2 -x86-experimental-vector-widening-legalization | FileCheck %s --check-prefix=WIDE
+
+; FIXME: We shouldn't require both a movd and an insert in the wide version.
define void @update(i64* %dst_i, i64* %src_i, i32 %n) nounwind {
-; CHECK-LABEL: update:
-; CHECK-WIDE-LABEL: update:
+; NARROW-LABEL: update:
+; NARROW: # BB#0: # %entry
+; NARROW-NEXT: subl $12, %esp
+; NARROW-NEXT: movl $0, (%esp)
+; NARROW-NEXT: pcmpeqd %xmm0, %xmm0
+; NARROW-NEXT: movdqa {{.*#+}} xmm1 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
+; NARROW-NEXT: jmp .LBB0_1
+; NARROW-NEXT: .p2align 4, 0x90
+; NARROW-NEXT: .LBB0_2: # %forbody
+; NARROW-NEXT: # in Loop: Header=BB0_1 Depth=1
+; NARROW-NEXT: movl (%esp), %eax
+; NARROW-NEXT: shll $3, %eax
+; NARROW-NEXT: addl {{[0-9]+}}(%esp), %eax
+; NARROW-NEXT: movl %eax, {{[0-9]+}}(%esp)
+; NARROW-NEXT: movl (%esp), %eax
+; NARROW-NEXT: shll $3, %eax
+; NARROW-NEXT: addl {{[0-9]+}}(%esp), %eax
+; NARROW-NEXT: movl %eax, {{[0-9]+}}(%esp)
+; NARROW-NEXT: movl (%esp), %ecx
+; NARROW-NEXT: movl {{[0-9]+}}(%esp), %edx
+; NARROW-NEXT: pmovzxbw {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
+; NARROW-NEXT: psubw %xmm0, %xmm2
+; NARROW-NEXT: psllw $8, %xmm2
+; NARROW-NEXT: psraw $8, %xmm2
+; NARROW-NEXT: psraw $2, %xmm2
+; NARROW-NEXT: pshufb %xmm1, %xmm2
+; NARROW-NEXT: movq %xmm2, (%edx,%ecx,8)
+; NARROW-NEXT: incl (%esp)
+; NARROW-NEXT: .LBB0_1: # %forcond
+; NARROW-NEXT: # =>This Inner Loop Header: Depth=1
+; NARROW-NEXT: movl (%esp), %eax
+; NARROW-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NARROW-NEXT: jl .LBB0_2
+; NARROW-NEXT: # BB#3: # %afterfor
+; NARROW-NEXT: addl $12, %esp
+; NARROW-NEXT: retl
+;
+; WIDE-LABEL: update:
+; WIDE: # BB#0: # %entry
+; WIDE-NEXT: subl $12, %esp
+; WIDE-NEXT: movl $0, (%esp)
+; WIDE-NEXT: pcmpeqd %xmm0, %xmm0
+; WIDE-NEXT: movdqa {{.*#+}} xmm1 = [63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63]
+; WIDE-NEXT: movdqa {{.*#+}} xmm2 = [32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32]
+; WIDE-NEXT: jmp .LBB0_1
+; WIDE-NEXT: .p2align 4, 0x90
+; WIDE-NEXT: .LBB0_2: # %forbody
+; WIDE-NEXT: # in Loop: Header=BB0_1 Depth=1
+; WIDE-NEXT: movl (%esp), %eax
+; WIDE-NEXT: shll $3, %eax
+; WIDE-NEXT: addl {{[0-9]+}}(%esp), %eax
+; WIDE-NEXT: movl %eax, {{[0-9]+}}(%esp)
+; WIDE-NEXT: movl (%esp), %eax
+; WIDE-NEXT: shll $3, %eax
+; WIDE-NEXT: addl {{[0-9]+}}(%esp), %eax
+; WIDE-NEXT: movl %eax, {{[0-9]+}}(%esp)
+; WIDE-NEXT: movl (%esp), %ecx
+; WIDE-NEXT: movl {{[0-9]+}}(%esp), %edx
+; WIDE-NEXT: movd {{.*#+}} xmm3 = mem[0],zero,zero,zero
+; WIDE-NEXT: pinsrd $1, 4(%eax,%ecx,8), %xmm3
+; WIDE-NEXT: psubb %xmm0, %xmm3
+; WIDE-NEXT: psrlw $2, %xmm3
+; WIDE-NEXT: pand %xmm1, %xmm3
+; WIDE-NEXT: pxor %xmm2, %xmm3
+; WIDE-NEXT: psubb %xmm2, %xmm3
+; WIDE-NEXT: pextrd $1, %xmm3, 4(%edx,%ecx,8)
+; WIDE-NEXT: movd %xmm3, (%edx,%ecx,8)
+; WIDE-NEXT: incl (%esp)
+; WIDE-NEXT: .LBB0_1: # %forcond
+; WIDE-NEXT: # =>This Inner Loop Header: Depth=1
+; WIDE-NEXT: movl (%esp), %eax
+; WIDE-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; WIDE-NEXT: jl .LBB0_2
+; WIDE-NEXT: # BB#3: # %afterfor
+; WIDE-NEXT: addl $12, %esp
+; WIDE-NEXT: retl
entry:
- %dst_i.addr = alloca i64* ; <i64**> [#uses=2]
- %src_i.addr = alloca i64* ; <i64**> [#uses=2]
- %n.addr = alloca i32 ; <i32*> [#uses=2]
- %i = alloca i32, align 4 ; <i32*> [#uses=8]
- %dst = alloca <8 x i8>*, align 4 ; <<8 x i8>**> [#uses=2]
- %src = alloca <8 x i8>*, align 4 ; <<8 x i8>**> [#uses=2]
+ %dst_i.addr = alloca i64*
+ %src_i.addr = alloca i64*
+ %n.addr = alloca i32
+ %i = alloca i32, align 4
+ %dst = alloca <8 x i8>*, align 4
+ %src = alloca <8 x i8>*, align 4
store i64* %dst_i, i64** %dst_i.addr
store i64* %src_i, i64** %src_i.addr
store i32 %n, i32* %n.addr
store i32 0, i32* %i
br label %forcond
-forcond: ; preds = %forinc, %entry
- %tmp = load i32, i32* %i ; <i32> [#uses=1]
- %tmp1 = load i32, i32* %n.addr ; <i32> [#uses=1]
- %cmp = icmp slt i32 %tmp, %tmp1 ; <i1> [#uses=1]
+forcond:
+ %tmp = load i32, i32* %i
+ %tmp1 = load i32, i32* %n.addr
+ %cmp = icmp slt i32 %tmp, %tmp1
br i1 %cmp, label %forbody, label %afterfor
-forbody: ; preds = %forcond
- %tmp2 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp3 = load i64*, i64** %dst_i.addr ; <i64*> [#uses=1]
- %arrayidx = getelementptr i64, i64* %tmp3, i32 %tmp2 ; <i64*> [#uses=1]
- %conv = bitcast i64* %arrayidx to <8 x i8>* ; <<8 x i8>*> [#uses=1]
+forbody:
+ %tmp2 = load i32, i32* %i
+ %tmp3 = load i64*, i64** %dst_i.addr
+ %arrayidx = getelementptr i64, i64* %tmp3, i32 %tmp2
+ %conv = bitcast i64* %arrayidx to <8 x i8>*
store <8 x i8>* %conv, <8 x i8>** %dst
- %tmp4 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp5 = load i64*, i64** %src_i.addr ; <i64*> [#uses=1]
- %arrayidx6 = getelementptr i64, i64* %tmp5, i32 %tmp4 ; <i64*> [#uses=1]
- %conv7 = bitcast i64* %arrayidx6 to <8 x i8>* ; <<8 x i8>*> [#uses=1]
+ %tmp4 = load i32, i32* %i
+ %tmp5 = load i64*, i64** %src_i.addr
+ %arrayidx6 = getelementptr i64, i64* %tmp5, i32 %tmp4
+ %conv7 = bitcast i64* %arrayidx6 to <8 x i8>*
store <8 x i8>* %conv7, <8 x i8>** %src
- %tmp8 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp9 = load <8 x i8>*, <8 x i8>** %dst ; <<8 x i8>*> [#uses=1]
- %arrayidx10 = getelementptr <8 x i8>, <8 x i8>* %tmp9, i32 %tmp8 ; <<8 x i8>*> [#uses=1]
- %tmp11 = load i32, i32* %i ; <i32> [#uses=1]
- %tmp12 = load <8 x i8>*, <8 x i8>** %src ; <<8 x i8>*> [#uses=1]
- %arrayidx13 = getelementptr <8 x i8>, <8 x i8>* %tmp12, i32 %tmp11 ; <<8 x i8>*> [#uses=1]
- %tmp14 = load <8 x i8>, <8 x i8>* %arrayidx13 ; <<8 x i8>> [#uses=1]
- %add = add <8 x i8> %tmp14, < i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1 > ; <<8 x i8>> [#uses=1]
- %shr = ashr <8 x i8> %add, < i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2 > ; <<8 x i8>> [#uses=1]
+ %tmp8 = load i32, i32* %i
+ %tmp9 = load <8 x i8>*, <8 x i8>** %dst
+ %arrayidx10 = getelementptr <8 x i8>, <8 x i8>* %tmp9, i32 %tmp8
+ %tmp11 = load i32, i32* %i
+ %tmp12 = load <8 x i8>*, <8 x i8>** %src
+ %arrayidx13 = getelementptr <8 x i8>, <8 x i8>* %tmp12, i32 %tmp11
+ %tmp14 = load <8 x i8>, <8 x i8>* %arrayidx13
+ %add = add <8 x i8> %tmp14, < i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1 >
+ %shr = ashr <8 x i8> %add, < i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2, i8 2 >
store <8 x i8> %shr, <8 x i8>* %arrayidx10
br label %forinc
-; CHECK: %forbody
-; CHECK: pmovzxbw
-; CHECK-NEXT: paddw
-; CHECK-NEXT: psllw $8
-; CHECK-NEXT: psraw $8
-; CHECK-NEXT: psraw $2
-; CHECK-NEXT: pshufb
-; CHECK-NEXT: movq
-;
-; FIXME: We shouldn't require both a movd and an insert.
-; CHECK-WIDE: %forbody
-; CHECK-WIDE: movd
-; CHECK-WIDE-NEXT: pinsrd
-; CHECK-WIDE-NEXT: paddb
-; CHECK-WIDE-NEXT: psrlw $2
-; CHECK-WIDE-NEXT: pand
-; CHECK-WIDE-NEXT: pxor
-; CHECK-WIDE-NEXT: psubb
-; CHECK-WIDE-NEXT: pextrd
-; CHECK-WIDE-NEXT: movd
-forinc: ; preds = %forbody
- %tmp15 = load i32, i32* %i ; <i32> [#uses=1]
- %inc = add i32 %tmp15, 1 ; <i32> [#uses=1]
+forinc:
+ %tmp15 = load i32, i32* %i
+ %inc = add i32 %tmp15, 1
store i32 %inc, i32* %i
br label %forcond
-afterfor: ; preds = %forcond
+afterfor:
ret void
}
diff --git a/test/CodeGen/X86/widen_conv-1.ll b/test/CodeGen/X86/widen_conv-1.ll
index a672e84fcde4..c548fc2c77e4 100644
--- a/test/CodeGen/X86/widen_conv-1.ll
+++ b/test/CodeGen/X86/widen_conv-1.ll
@@ -35,7 +35,8 @@ define void @convert_v3i32_to_v3i8(<3 x i8>* %dst.addr, <3 x i32>* %src.addr) no
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
; X86-NEXT: movdqa (%ecx), %xmm0
-; X86-NEXT: paddd {{\.LCPI.*}}, %xmm0
+; X86-NEXT: pcmpeqd %xmm1, %xmm1
+; X86-NEXT: psubd %xmm1, %xmm0
; X86-NEXT: pextrb $8, %xmm0, 2(%eax)
; X86-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
; X86-NEXT: pextrw $0, %xmm0, (%eax)
@@ -45,7 +46,8 @@ define void @convert_v3i32_to_v3i8(<3 x i8>* %dst.addr, <3 x i32>* %src.addr) no
; X64-LABEL: convert_v3i32_to_v3i8:
; X64: # BB#0: # %entry
; X64-NEXT: movdqa (%rsi), %xmm0
-; X64-NEXT: paddd {{.*}}(%rip), %xmm0
+; X64-NEXT: pcmpeqd %xmm1, %xmm1
+; X64-NEXT: psubd %xmm1, %xmm0
; X64-NEXT: pextrb $8, %xmm0, 2(%rdi)
; X64-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
; X64-NEXT: pextrw $0, %xmm0, (%rdi)
@@ -70,7 +72,8 @@ define void @convert_v5i16_to_v5i8(<5 x i8>* %dst.addr, <5 x i16>* %src.addr) no
; X86-NEXT: movl 8(%ebp), %eax
; X86-NEXT: movl 12(%ebp), %ecx
; X86-NEXT: movdqa (%ecx), %xmm0
-; X86-NEXT: paddw {{\.LCPI.*}}, %xmm0
+; X86-NEXT: pcmpeqd %xmm1, %xmm1
+; X86-NEXT: psubw %xmm1, %xmm0
; X86-NEXT: pextrb $8, %xmm0, 4(%eax)
; X86-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u]
; X86-NEXT: movd %xmm0, (%eax)
@@ -81,7 +84,8 @@ define void @convert_v5i16_to_v5i8(<5 x i8>* %dst.addr, <5 x i16>* %src.addr) no
; X64-LABEL: convert_v5i16_to_v5i8:
; X64: # BB#0: # %entry
; X64-NEXT: movdqa (%rsi), %xmm0
-; X64-NEXT: paddw {{.*}}(%rip), %xmm0
+; X64-NEXT: pcmpeqd %xmm1, %xmm1
+; X64-NEXT: psubw %xmm1, %xmm0
; X64-NEXT: pextrb $8, %xmm0, 4(%rdi)
; X64-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u]
; X64-NEXT: movd %xmm0, (%rdi)
diff --git a/test/CodeGen/X86/x86-interleaved-access.ll b/test/CodeGen/X86/x86-interleaved-access.ll
index ec8bce1b43cc..6047279bc6ed 100644
--- a/test/CodeGen/X86/x86-interleaved-access.ll
+++ b/test/CodeGen/X86/x86-interleaved-access.ll
@@ -1,4 +1,5 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: llc -mtriple=x86_64-pc-linux -mattr=+avx < %s | FileCheck %s --check-prefix=AVX --check-prefix=AVX1
; RUN: llc -mtriple=x86_64-pc-linux -mattr=+avx2 < %s | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
@@ -129,26 +130,18 @@ define <4 x i64> @load_factori64_4(<16 x i64>* %ptr) {
define void @store_factorf64_4(<16 x double>* %ptr, <4 x double> %v0, <4 x double> %v1, <4 x double> %v2, <4 x double> %v3) {
; AVX-LABEL: store_factorf64_4:
; AVX: # BB#0:
-; AVX-NEXT: vunpcklpd {{.*#+}} xmm4 = xmm2[0],xmm3[0]
-; AVX-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm4
-; AVX-NEXT: vunpcklpd {{.*#+}} xmm5 = xmm0[0],xmm1[0]
-; AVX-NEXT: vblendpd {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3]
-; AVX-NEXT: vunpckhpd {{.*#+}} xmm5 = xmm2[1],xmm3[1]
-; AVX-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm5
-; AVX-NEXT: vunpckhpd {{.*#+}} xmm6 = xmm0[1],xmm1[1]
-; AVX-NEXT: vblendpd {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3]
-; AVX-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]
-; AVX-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
-; AVX-NEXT: vextractf128 $1, %ymm7, %xmm7
-; AVX-NEXT: vblendpd {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3]
-; AVX-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]
+; AVX-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm4
+; AVX-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm5
+; AVX-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]
+; AVX-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]
+; AVX-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]
+; AVX-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
+; AVX-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]
; AVX-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
-; AVX-NEXT: vextractf128 $1, %ymm0, %xmm0
-; AVX-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]
; AVX-NEXT: vmovupd %ymm0, 96(%rdi)
-; AVX-NEXT: vmovupd %ymm6, 64(%rdi)
-; AVX-NEXT: vmovupd %ymm5, 32(%rdi)
-; AVX-NEXT: vmovupd %ymm4, (%rdi)
+; AVX-NEXT: vmovupd %ymm3, 64(%rdi)
+; AVX-NEXT: vmovupd %ymm4, 32(%rdi)
+; AVX-NEXT: vmovupd %ymm2, (%rdi)
; AVX-NEXT: vzeroupper
; AVX-NEXT: retq
%s0 = shufflevector <4 x double> %v0, <4 x double> %v1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
@@ -161,55 +154,35 @@ define void @store_factorf64_4(<16 x double>* %ptr, <4 x double> %v0, <4 x doubl
define void @store_factori64_4(<16 x i64>* %ptr, <4 x i64> %v0, <4 x i64> %v1, <4 x i64> %v2, <4 x i64> %v3) {
; AVX1-LABEL: store_factori64_4:
; AVX1: # BB#0:
-; AVX1-NEXT: vpunpcklqdq {{.*#+}} xmm4 = xmm2[0],xmm3[0]
-; AVX1-NEXT: vinsertf128 $1, %xmm4, %ymm0, %ymm4
-; AVX1-NEXT: vpunpcklqdq {{.*#+}} xmm5 = xmm0[0],xmm1[0]
-; AVX1-NEXT: vblendpd {{.*#+}} ymm4 = ymm5[0,1],ymm4[2,3]
-; AVX1-NEXT: vpunpckhqdq {{.*#+}} xmm5 = xmm2[1],xmm3[1]
-; AVX1-NEXT: vinsertf128 $1, %xmm5, %ymm0, %ymm5
-; AVX1-NEXT: vpunpckhqdq {{.*#+}} xmm6 = xmm0[1],xmm1[1]
-; AVX1-NEXT: vblendpd {{.*#+}} ymm5 = ymm6[0,1],ymm5[2,3]
-; AVX1-NEXT: vunpcklpd {{.*#+}} ymm6 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]
-; AVX1-NEXT: vunpcklpd {{.*#+}} ymm7 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
-; AVX1-NEXT: vextractf128 $1, %ymm7, %xmm7
-; AVX1-NEXT: vblendpd {{.*#+}} ymm6 = ymm7[0,1],ymm6[2,3]
-; AVX1-NEXT: vunpckhpd {{.*#+}} ymm2 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]
+; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm4
+; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm1, %ymm5
+; AVX1-NEXT: vperm2f128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]
+; AVX1-NEXT: vperm2f128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]
+; AVX1-NEXT: vunpcklpd {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]
+; AVX1-NEXT: vunpcklpd {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
+; AVX1-NEXT: vunpckhpd {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]
; AVX1-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
-; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
-; AVX1-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0,1],ymm2[2,3]
; AVX1-NEXT: vmovupd %ymm0, 96(%rdi)
-; AVX1-NEXT: vmovupd %ymm6, 64(%rdi)
-; AVX1-NEXT: vmovupd %ymm5, 32(%rdi)
-; AVX1-NEXT: vmovupd %ymm4, (%rdi)
+; AVX1-NEXT: vmovupd %ymm3, 64(%rdi)
+; AVX1-NEXT: vmovupd %ymm4, 32(%rdi)
+; AVX1-NEXT: vmovupd %ymm2, (%rdi)
; AVX1-NEXT: vzeroupper
; AVX1-NEXT: retq
;
; AVX2-LABEL: store_factori64_4:
; AVX2: # BB#0:
-; AVX2-NEXT: vpunpcklqdq {{.*#+}} ymm4 = ymm2[0],ymm3[0],ymm2[2],ymm3[2]
-; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm5
-; AVX2-NEXT: vpermq {{.*#+}} ymm6 = ymm1[0,2,2,3]
-; AVX2-NEXT: vpblendd {{.*#+}} xmm5 = xmm5[0,1],xmm6[2,3]
-; AVX2-NEXT: vpblendd {{.*#+}} ymm4 = ymm5[0,1,2,3],ymm4[4,5,6,7]
-; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm5 = ymm2[1],ymm3[1],ymm2[3],ymm3[3]
-; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm6
-; AVX2-NEXT: vpermq {{.*#+}} ymm7 = ymm0[3,1,2,3]
-; AVX2-NEXT: vpblendd {{.*#+}} xmm6 = xmm7[0,1],xmm6[2,3]
-; AVX2-NEXT: vpblendd {{.*#+}} ymm5 = ymm6[0,1,2,3],ymm5[4,5,6,7]
-; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm6
-; AVX2-NEXT: vpbroadcastq %xmm3, %ymm7
-; AVX2-NEXT: vpblendd {{.*#+}} ymm6 = ymm6[0,1,2,3,4,5],ymm7[6,7]
-; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm7 = xmm0[0],xmm1[0]
-; AVX2-NEXT: vpblendd {{.*#+}} ymm6 = ymm7[0,1,2,3],ymm6[4,5,6,7]
-; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm3
-; AVX2-NEXT: vpermq {{.*#+}} ymm2 = ymm2[0,1,1,3]
-; AVX2-NEXT: vpblendd {{.*#+}} ymm2 = ymm2[0,1,2,3,4,5],ymm3[6,7]
-; AVX2-NEXT: vpunpckhqdq {{.*#+}} xmm0 = xmm0[1],xmm1[1]
-; AVX2-NEXT: vpblendd {{.*#+}} ymm0 = ymm0[0,1,2,3],ymm2[4,5,6,7]
-; AVX2-NEXT: vmovdqu %ymm0, 32(%rdi)
-; AVX2-NEXT: vmovdqu %ymm6, (%rdi)
-; AVX2-NEXT: vmovdqu %ymm5, 96(%rdi)
-; AVX2-NEXT: vmovdqu %ymm4, 64(%rdi)
+; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm4
+; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm5
+; AVX2-NEXT: vperm2i128 {{.*#+}} ymm0 = ymm0[2,3],ymm2[2,3]
+; AVX2-NEXT: vperm2i128 {{.*#+}} ymm1 = ymm1[2,3],ymm3[2,3]
+; AVX2-NEXT: vpunpcklqdq {{.*#+}} ymm2 = ymm4[0],ymm5[0],ymm4[2],ymm5[2]
+; AVX2-NEXT: vpunpcklqdq {{.*#+}} ymm3 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
+; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm4 = ymm4[1],ymm5[1],ymm4[3],ymm5[3]
+; AVX2-NEXT: vpunpckhqdq {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
+; AVX2-NEXT: vmovdqu %ymm0, 96(%rdi)
+; AVX2-NEXT: vmovdqu %ymm3, 64(%rdi)
+; AVX2-NEXT: vmovdqu %ymm4, 32(%rdi)
+; AVX2-NEXT: vmovdqu %ymm2, (%rdi)
; AVX2-NEXT: vzeroupper
; AVX2-NEXT: retq
%s0 = shufflevector <4 x i64> %v0, <4 x i64> %v1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
@@ -218,3 +191,61 @@ define void @store_factori64_4(<16 x i64>* %ptr, <4 x i64> %v0, <4 x i64> %v1, <
store <16 x i64> %interleaved.vec, <16 x i64>* %ptr, align 16
ret void
}
+
+
+define void @interleaved_store_vf32_i8_stride4(<32 x i8> %x1, <32 x i8> %x2, <32 x i8> %x3, <32 x i8> %x4, <128 x i8>* %p) {
+; AVX2-LABEL: interleaved_store_vf32_i8_stride4:
+; AVX2: # BB#0:
+; AVX2-NEXT: vpunpcklbw {{.*#+}} xmm4 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3],xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]
+; AVX2-NEXT: vpunpckhwd {{.*#+}} xmm5 = xmm0[4],xmm4[4],xmm0[5],xmm4[5],xmm0[6],xmm4[6],xmm0[7],xmm4[7]
+; AVX2-NEXT: vpunpcklwd {{.*#+}} xmm4 = xmm0[0],xmm4[0],xmm0[1],xmm4[1],xmm0[2],xmm4[2],xmm0[3],xmm4[3]
+; AVX2-NEXT: vinserti128 $1, %xmm5, %ymm4, %ymm4
+; AVX2-NEXT: vpunpcklbw {{.*#+}} xmm5 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
+; AVX2-NEXT: vpunpckhwd {{.*#+}} xmm6 = xmm5[4],xmm0[4],xmm5[5],xmm0[5],xmm5[6],xmm0[6],xmm5[7],xmm0[7]
+; AVX2-NEXT: vpmovzxwd {{.*#+}} xmm5 = xmm5[0],zero,xmm5[1],zero,xmm5[2],zero,xmm5[3],zero
+; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5
+; AVX2-NEXT: vpblendw {{.*#+}} ymm8 = ymm5[0],ymm4[1],ymm5[2],ymm4[3],ymm5[4],ymm4[5],ymm5[6],ymm4[7],ymm5[8],ymm4[9],ymm5[10],ymm4[11],ymm5[12],ymm4[13],ymm5[14],ymm4[15]
+; AVX2-NEXT: vpunpckhbw {{.*#+}} xmm5 = xmm2[8],xmm3[8],xmm2[9],xmm3[9],xmm2[10],xmm3[10],xmm2[11],xmm3[11],xmm2[12],xmm3[12],xmm2[13],xmm3[13],xmm2[14],xmm3[14],xmm2[15],xmm3[15]
+; AVX2-NEXT: vpunpckhwd {{.*#+}} xmm6 = xmm0[4],xmm5[4],xmm0[5],xmm5[5],xmm0[6],xmm5[6],xmm0[7],xmm5[7]
+; AVX2-NEXT: vpunpcklwd {{.*#+}} xmm5 = xmm0[0],xmm5[0],xmm0[1],xmm5[1],xmm0[2],xmm5[2],xmm0[3],xmm5[3]
+; AVX2-NEXT: vinserti128 $1, %xmm6, %ymm5, %ymm5
+; AVX2-NEXT: vpunpckhbw {{.*#+}} xmm6 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]
+; AVX2-NEXT: vpunpckhwd {{.*#+}} xmm7 = xmm6[4],xmm0[4],xmm6[5],xmm0[5],xmm6[6],xmm0[6],xmm6[7],xmm0[7]
+; AVX2-NEXT: vpmovzxwd {{.*#+}} xmm6 = xmm6[0],zero,xmm6[1],zero,xmm6[2],zero,xmm6[3],zero
+; AVX2-NEXT: vinserti128 $1, %xmm7, %ymm6, %ymm6
+; AVX2-NEXT: vpblendw {{.*#+}} ymm5 = ymm6[0],ymm5[1],ymm6[2],ymm5[3],ymm6[4],ymm5[5],ymm6[6],ymm5[7],ymm6[8],ymm5[9],ymm6[10],ymm5[11],ymm6[12],ymm5[13],ymm6[14],ymm5[15]
+; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm3
+; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm2
+; AVX2-NEXT: vpunpcklbw {{.*#+}} xmm6 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3],xmm2[4],xmm3[4],xmm2[5],xmm3[5],xmm2[6],xmm3[6],xmm2[7],xmm3[7]
+; AVX2-NEXT: vpunpckhwd {{.*#+}} xmm7 = xmm0[4],xmm6[4],xmm0[5],xmm6[5],xmm0[6],xmm6[6],xmm0[7],xmm6[7]
+; AVX2-NEXT: vpunpcklwd {{.*#+}} xmm6 = xmm0[0],xmm6[0],xmm0[1],xmm6[1],xmm0[2],xmm6[2],xmm0[3],xmm6[3]
+; AVX2-NEXT: vinserti128 $1, %xmm7, %ymm6, %ymm6
+; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm1
+; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm0
+; AVX2-NEXT: vpunpcklbw {{.*#+}} xmm7 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3],xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
+; AVX2-NEXT: vpunpckhwd {{.*#+}} xmm4 = xmm7[4],xmm0[4],xmm7[5],xmm0[5],xmm7[6],xmm0[6],xmm7[7],xmm0[7]
+; AVX2-NEXT: vpmovzxwd {{.*#+}} xmm7 = xmm7[0],zero,xmm7[1],zero,xmm7[2],zero,xmm7[3],zero
+; AVX2-NEXT: vinserti128 $1, %xmm4, %ymm7, %ymm4
+; AVX2-NEXT: vpblendw {{.*#+}} ymm4 = ymm4[0],ymm6[1],ymm4[2],ymm6[3],ymm4[4],ymm6[5],ymm4[6],ymm6[7],ymm4[8],ymm6[9],ymm4[10],ymm6[11],ymm4[12],ymm6[13],ymm4[14],ymm6[15]
+; AVX2-NEXT: vpunpckhbw {{.*#+}} xmm2 = xmm2[8],xmm3[8],xmm2[9],xmm3[9],xmm2[10],xmm3[10],xmm2[11],xmm3[11],xmm2[12],xmm3[12],xmm2[13],xmm3[13],xmm2[14],xmm3[14],xmm2[15],xmm3[15]
+; AVX2-NEXT: vpunpckhwd {{.*#+}} xmm3 = xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]
+; AVX2-NEXT: vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3]
+; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2
+; AVX2-NEXT: vpunpckhbw {{.*#+}} xmm0 = xmm0[8],xmm1[8],xmm0[9],xmm1[9],xmm0[10],xmm1[10],xmm0[11],xmm1[11],xmm0[12],xmm1[12],xmm0[13],xmm1[13],xmm0[14],xmm1[14],xmm0[15],xmm1[15]
+; AVX2-NEXT: vpunpckhwd {{.*#+}} xmm1 = xmm0[4,4,5,5,6,6,7,7]
+; AVX2-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
+; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
+; AVX2-NEXT: vpblendw {{.*#+}} ymm0 = ymm0[0],ymm2[1],ymm0[2],ymm2[3],ymm0[4],ymm2[5],ymm0[6],ymm2[7],ymm0[8],ymm2[9],ymm0[10],ymm2[11],ymm0[12],ymm2[13],ymm0[14],ymm2[15]
+; AVX2-NEXT: vmovdqa %ymm0, 96(%rdi)
+; AVX2-NEXT: vmovdqa %ymm4, 64(%rdi)
+; AVX2-NEXT: vmovdqa %ymm5, 32(%rdi)
+; AVX2-NEXT: vmovdqa %ymm8, (%rdi)
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
+ %v1 = shufflevector <32 x i8> %x1, <32 x i8> %x2, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ %v2 = shufflevector <32 x i8> %x3, <32 x i8> %x4, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ %interleaved.vec = shufflevector <64 x i8> %v1, <64 x i8> %v2, <128 x i32> <i32 0, i32 32, i32 64, i32 96, i32 1, i32 33, i32 65, i32 97, i32 2, i32 34, i32 66, i32 98, i32 3, i32 35, i32 67, i32 99, i32 4, i32 36, i32 68, i32 100, i32 5, i32 37, i32 69, i32 101, i32 6, i32 38, i32 70, i32 102, i32 7, i32 39, i32 71, i32 103, i32 8, i32 40, i32 72, i32 104, i32 9, i32 41, i32 73, i32 105, i32 10, i32 42, i32 74, i32 106, i32 11, i32 43, i32 75, i32 107, i32 12, i32 44, i32 76, i32 108, i32 13, i32 45, i32 77, i32 109, i32 14, i32 46, i32 78, i32 110, i32 15, i32 47, i32 79, i32 111, i32 16, i32 48, i32 80, i32 112, i32 17, i32 49, i32 81, i32 113, i32 18, i32 50, i32 82, i32 114, i32 19, i32 51, i32 83, i32 115, i32 20, i32 52, i32 84, i32 116, i32 21, i32 53, i32 85, i32 117, i32 22, i32 54, i32 86, i32 118, i32 23, i32 55, i32 87, i32 119, i32 24, i32 56, i32 88, i32 120, i32 25, i32 57, i32 89, i32 121, i32 26, i32 58, i32 90, i32 122, i32 27, i32 59, i32 91, i32 123, i32 28, i32 60, i32 92, i32 124, i32 29, i32 61, i32 93, i32 125, i32 30, i32 62, i32 94, i32 126, i32 31, i32 63, i32 95, i32 127>
+ store <128 x i8> %interleaved.vec, <128 x i8>* %p
+ret void
+}
+
diff --git a/test/CodeGen/X86/xray-attribute-instrumentation.ll b/test/CodeGen/X86/xray-attribute-instrumentation.ll
index 7c60327d2c30..00b45f8d95b7 100644
--- a/test/CodeGen/X86/xray-attribute-instrumentation.ll
+++ b/test/CodeGen/X86/xray-attribute-instrumentation.ll
@@ -14,17 +14,16 @@ define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always"
; CHECK-NEXT: nopw %cs:512(%rax,%rax)
}
; CHECK: .p2align 4, 0x90
-; CHECK-NEXT: .quad {{.*}}xray_synthetic_0
; CHECK-NEXT: .quad {{.*}}xray_fn_idx_synth_0
; CHECK-NEXT: .section {{.*}}xray_instr_map
-; CHECK-LABEL: Lxray_synthetic_0:
+; CHECK-LABEL: Lxray_sleds_start0:
; CHECK: .quad {{.*}}xray_sled_0
; CHECK: .quad {{.*}}xray_sled_1
-; CHECK-LABEL: Lxray_synthetic_end0:
+; CHECK-LABEL: Lxray_sleds_end0:
; CHECK: .section {{.*}}xray_fn_idx
; CHECK-LABEL: Lxray_fn_idx_synth_0:
-; CHECK: .quad {{.*}}xray_synthetic_0
-; CHECK-NEXT: .quad {{.*}}xray_synthetic_end0
+; CHECK: .quad {{.*}}xray_sleds_start0
+; CHECK-NEXT: .quad {{.*}}xray_sleds_end0
; We test multiple returns in a single function to make sure we're getting all
@@ -52,15 +51,14 @@ NotEqual:
; CHECK-NEXT: nopw %cs:512(%rax,%rax)
}
; CHECK: .p2align 4, 0x90
-; CHECK-NEXT: .quad {{.*}}xray_synthetic_1
; CHECK-NEXT: .quad {{.*}}xray_fn_idx_synth_1
; CHECK-NEXT: .section {{.*}}xray_instr_map
-; CHECK-LABEL: Lxray_synthetic_1:
+; CHECK-LABEL: Lxray_sleds_start1:
; CHECK: .quad {{.*}}xray_sled_2
; CHECK: .quad {{.*}}xray_sled_3
; CHECK: .quad {{.*}}xray_sled_4
-; CHECK-LABEL: Lxray_synthetic_end1:
+; CHECK-LABEL: Lxray_sleds_end1:
; CHECK: .section {{.*}}xray_fn_idx
; CHECK-LABEL: Lxray_fn_idx_synth_1:
-; CHECK: .quad {{.*}}xray_synthetic_1
-; CHECK-NEXT: .quad {{.*}}xray_synthetic_end1
+; CHECK: .quad {{.*}}xray_sleds_start1
+; CHECK-NEXT: .quad {{.*}}xray_sleds_end1
diff --git a/test/CodeGen/X86/xray-custom-log.ll b/test/CodeGen/X86/xray-custom-log.ll
index 63625d44b4cb..69fd0f3e9f77 100644
--- a/test/CodeGen/X86/xray-custom-log.ll
+++ b/test/CodeGen/X86/xray-custom-log.ll
@@ -17,7 +17,7 @@ define i32 @fn() nounwind noinline uwtable "function-instrument"="xray-always" {
ret i32 0
}
; CHECK: .section {{.*}}xray_instr_map
-; CHECK-LABEL: Lxray_synthetic_0:
+; CHECK-LABEL: Lxray_sleds_start0:
; CHECK: .quad {{.*}}xray_event_sled_0
declare void @llvm.xray.customevent(i8*, i32)
diff --git a/test/CodeGen/X86/xray-log-args.ll b/test/CodeGen/X86/xray-log-args.ll
index a551868ffb4a..6fe450ac8ad3 100644
--- a/test/CodeGen/X86/xray-log-args.ll
+++ b/test/CodeGen/X86/xray-log-args.ll
@@ -6,7 +6,7 @@
define i32 @callee(i32 %arg) nounwind noinline uwtable "function-instrument"="xray-always" "xray-log-args"="1" {
ret i32 %arg
}
-; CHECK-LABEL: Lxray_synthetic_0:
+; CHECK-LABEL: Lxray_sleds_start0:
; CHECK: .quad {{\.?}}Lxray_sled_0
; CHECK: .quad {{_?}}callee
; CHECK: .byte 3
@@ -22,7 +22,7 @@ define i32 @caller(i32 %arg) nounwind noinline uwtable "function-instrument"="xr
%retval = tail call i32 @callee(i32 %arg)
ret i32 %retval
}
-; CHECK-LABEL: Lxray_synthetic_1:
+; CHECK-LABEL: Lxray_sleds_start1:
; CHECK: .quad {{\.?}}Lxray_sled_2
; CHECK: .quad {{_?}}caller
; CHECK: .byte 3
diff --git a/test/CodeGen/X86/xray-tail-call-sled.ll b/test/CodeGen/X86/xray-tail-call-sled.ll
index b12c78a77b20..c4a973e529f4 100644
--- a/test/CodeGen/X86/xray-tail-call-sled.ll
+++ b/test/CodeGen/X86/xray-tail-call-sled.ll
@@ -14,17 +14,16 @@ define i32 @callee() nounwind noinline uwtable "function-instrument"="xray-alway
; CHECK-NEXT: nopw %cs:512(%rax,%rax)
}
; CHECK: .p2align 4, 0x90
-; CHECK-NEXT: .quad {{.*}}xray_synthetic_0{{.*}}
; CHECK-NEXT: .quad {{.*}}xray_fn_idx_synth_0{{.*}}
; CHECK-NEXT: .section {{.*}}xray_instr_map
-; CHECK-LABEL: Lxray_synthetic_0:
+; CHECK-LABEL: Lxray_sleds_start0:
; CHECK: .quad {{.*}}xray_sled_0
; CHECK: .quad {{.*}}xray_sled_1
-; CHECK-LABEL: Lxray_synthetic_end0:
+; CHECK-LABEL: Lxray_sleds_end0:
; CHECK-NEXT: .section {{.*}}xray_fn_idx
; CHECK-LABEL: Lxray_fn_idx_synth_0:
-; CHECK: .quad {{.*}}xray_synthetic_0
-; CHECK-NEXT: .quad {{.*}}xray_synthetic_end0
+; CHECK: .quad {{.*}}xray_sleds_start0
+; CHECK-NEXT: .quad {{.*}}xray_sleds_end0
define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-always" {
; CHECK: .p2align 1, 0x90
@@ -42,13 +41,12 @@ define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-alway
ret i32 %retval
}
; CHECK: .p2align 4, 0x90
-; CHECK-NEXT: .quad {{.*}}xray_synthetic_1{{.*}}
; CHECK-NEXT: .quad {{.*}}xray_fn_idx_synth_1{{.*}}
-; CHECK-LABEL: Lxray_synthetic_1:
+; CHECK-LABEL: Lxray_sleds_start1:
; CHECK: .quad {{.*}}xray_sled_2
; CHECK: .quad {{.*}}xray_sled_3
-; CHECK-LABEL: Lxray_synthetic_end1:
+; CHECK-LABEL: Lxray_sleds_end1:
; CHECK: .section {{.*}}xray_fn_idx
; CHECK-LABEL: Lxray_fn_idx_synth_1:
-; CHECK: .quad {{.*}}xray_synthetic_1
-; CHECK: .quad {{.*}}xray_synthetic_end1
+; CHECK: .quad {{.*}}xray_sleds_start1
+; CHECK: .quad {{.*}}xray_sleds_end1
diff --git a/test/DebugInfo/COFF/globals.ll b/test/DebugInfo/COFF/globals.ll
index aadf6ab557f9..0d1b9413e3d8 100644
--- a/test/DebugInfo/COFF/globals.ll
+++ b/test/DebugInfo/COFF/globals.ll
@@ -1,5 +1,6 @@
; RUN: llc < %s | FileCheck %s --check-prefix=ASM
; RUN: llc < %s -filetype=obj | llvm-readobj - -codeview | FileCheck %s --check-prefix=OBJ
+; RUN: llc < %s -filetype=obj | obj2yaml | FileCheck %s --check-prefix=YAML
; C++ source to regenerate:
; $ cat t.cpp
@@ -109,6 +110,43 @@
; OBJ: ]
; OBJ: ]
+; YAML-LABEL: - Name: '.debug$S'
+; YAML: Subsections:
+; YAML: - !Symbols
+; YAML: Records:
+; YAML: - Kind: S_COMPILE3
+; YAML: Compile3Sym:
+; YAML: - !Symbols
+; YAML: Records:
+; YAML: - Kind: S_LDATA32
+; YAML: DataSym:
+; YAML-NOT: Segment
+; YAML: Type: 116
+; YAML-NOT: Segment
+; YAML: DisplayName: first
+; YAML-NOT: Segment
+; YAML: - Kind: S_GTHREAD32
+; YAML: ThreadLocalDataSym:
+; YAML: Type: 4097
+; YAML: DisplayName: middle
+; YAML: - Kind: S_GDATA32
+; YAML: DataSym:
+; YAML-NOT: Segment
+; YAML: Type: 116
+; YAML-NOT: Offset
+; YAML-NOT: Segment
+; YAML: DisplayName: last
+; YAML-NOT: Segment
+
+; The missing offsets are represented as relocations against this section.
+; YAML: Relocations:
+; YAML: - VirtualAddress: 92
+; YAML: SymbolName: '?first@@3HA'
+; YAML: Type: IMAGE_REL_AMD64_SECREL
+; YAML: - VirtualAddress: 96
+; YAML: SymbolName: '?first@@3HA'
+; YAML: Type: IMAGE_REL_AMD64_SECTION
+
; ModuleID = 't.cpp'
source_filename = "t.cpp"
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
diff --git a/test/DebugInfo/Generic/sugared-constants.ll b/test/DebugInfo/Generic/sugared-constants.ll
index 2bee2a940326..97d4d60cd0ee 100644
--- a/test/DebugInfo/Generic/sugared-constants.ll
+++ b/test/DebugInfo/Generic/sugared-constants.ll
@@ -3,47 +3,23 @@
; RUN: %llc_dwarf -O0 -filetype=obj %s -o - | llvm-dwarfdump -debug-dump=info - | FileCheck %s
; Use correct signedness when emitting constants of derived (sugared) types.
-; Test compiled to IR from clang with -O1 and the following source:
-
-; void func(int);
-; void func(unsigned);
-; void func(char16_t);
-; int main() {
-; const int i = 42;
-; func(i);
-; const unsigned j = 117;
-; func(j);
-; char16_t c = 7;
-; func(c);
-; }
-
; CHECK: DW_AT_const_value [DW_FORM_sdata] (42)
; CHECK: DW_AT_const_value [DW_FORM_udata] (117)
; CHECK: DW_AT_const_value [DW_FORM_udata] (7)
; Function Attrs: uwtable
-define i32 @main() #0 !dbg !4 {
+define void @main() #0 !dbg !4 {
entry:
tail call void @llvm.dbg.value(metadata i32 42, i64 0, metadata !10, metadata !DIExpression()), !dbg !21
- tail call void @_Z4funci(i32 42), !dbg !22
tail call void @llvm.dbg.value(metadata i32 117, i64 0, metadata !12, metadata !DIExpression()), !dbg !24
- tail call void @_Z4funcj(i32 117), !dbg !25
tail call void @llvm.dbg.value(metadata i16 7, i64 0, metadata !15, metadata !DIExpression()), !dbg !27
- tail call void @_Z4funcDs(i16 zeroext 7), !dbg !28
- ret i32 0, !dbg !29
+ ret void, !dbg !29
}
-declare void @_Z4funci(i32) #1
-
-declare void @_Z4funcj(i32) #1
-
-declare void @_Z4funcDs(i16 zeroext) #1
-
; Function Attrs: nounwind readnone
declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
-attributes #0 = { uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
-attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
+attributes #0 = { uwtable }
attributes #2 = { nounwind readnone }
!llvm.dbg.cu = !{!0}
diff --git a/test/DebugInfo/Inputs/dwarfdump-str-offsets.s b/test/DebugInfo/Inputs/dwarfdump-str-offsets.s
index f395f4b872c1..9ae59ec609c7 100644
--- a/test/DebugInfo/Inputs/dwarfdump-str-offsets.s
+++ b/test/DebugInfo/Inputs/dwarfdump-str-offsets.s
@@ -20,6 +20,14 @@ str_TU:
.asciz "Type_Unit"
str_TU_type:
.asciz "MyStruct"
+str_Subprogram:
+ .asciz "MyFunc"
+str_Variable1:
+ .asciz "MyVar1"
+str_Variable2:
+ .asciz "MyVar2"
+str_Variable3:
+ .asciz "MyVar3"
# Every unit contributes to the string_offsets table.
.section .debug_str_offsets,"",@progbits
@@ -31,6 +39,10 @@ str_TU_type:
.long str_producer
.long str_CU1
.long str_CU1_dir
+ .long str_Subprogram
+ .long str_Variable1
+ .long str_Variable2
+ .long str_Variable3
.debug_str_offsets_segment0_end:
# CU2's contribution
.long .debug_str_offsets_segment1_end-.debug_str_offsets_base1
@@ -85,7 +97,7 @@ dwo_str_TU_5_type:
.section .debug_abbrev,"",@progbits
.byte 0x01 # Abbrev code
.byte 0x11 # DW_TAG_compile_unit
- .byte 0x00 # DW_CHILDREN_no
+ .byte 0x01 # DW_CHILDREN_yes
.byte 0x25 # DW_AT_producer
.byte 0x1a # DW_FORM_strx
.byte 0x03 # DW_AT_name
@@ -112,9 +124,37 @@ dwo_str_TU_5_type:
.byte 0x1a # DW_FORM_strx
.byte 0x00 # EOM(1)
.byte 0x00 # EOM(2)
+ .byte 0x04 # Abbrev code
+ .byte 0x2e # DW_TAG_subprogram
+ .byte 0x01 # DW_CHILDREN_yes
+ .byte 0x03 # DW_AT_name
+ .byte 0x25 # DW_FORM_strx1
+ .byte 0x00 # EOM(1)
+ .byte 0x00 # EOM(2)
+ .byte 0x05 # Abbrev code
+ .byte 0x34 # DW_TAG_variable
+ .byte 0x00 # DW_CHILDREN_no
+ .byte 0x03 # DW_AT_name
+ .byte 0x26 # DW_FORM_strx2
+ .byte 0x00 # EOM(1)
+ .byte 0x00 # EOM(2)
+ .byte 0x06 # Abbrev code
+ .byte 0x34 # DW_TAG_variable
+ .byte 0x00 # DW_CHILDREN_no
+ .byte 0x03 # DW_AT_name
+ .byte 0x27 # DW_FORM_strx3
+ .byte 0x00 # EOM(1)
+ .byte 0x00 # EOM(2)
+ .byte 0x07 # Abbrev code
+ .byte 0x34 # DW_TAG_variable
+ .byte 0x00 # DW_CHILDREN_no
+ .byte 0x03 # DW_AT_name
+ .byte 0x28 # DW_FORM_strx4
+ .byte 0x00 # EOM(1)
+ .byte 0x00 # EOM(2)
.byte 0x00 # EOM(3)
-# And a .dwo copy for the .dwo sections.
+# And a .dwo copy of a subset for the .dwo sections.
.section .debug_abbrev.dwo,"",@progbits
.byte 0x01 # Abbrev code
.byte 0x11 # DW_TAG_compile_unit
@@ -163,6 +203,21 @@ CU1_5_version:
.byte 1 # The index of the CU name string
.long .debug_str_offsets_base0
.byte 2 # The index of the comp dir string
+# A subprogram DIE with DW_AT_name, using DW_FORM_strx1.
+ .byte 4 # Abbreviation code
+ .byte 3 # Subprogram name string (DW_FORM_strx1)
+# A variable DIE with DW_AT_name, using DW_FORM_strx2.
+ .byte 5 # Abbreviation code
+ .short 0x0004 # Subprogram name string (DW_FORM_strx2)
+# A variable DIE with DW_AT_name, using DW_FORM_strx3.
+ .byte 6 # Abbreviation code
+ .byte 5 # Subprogram name string (DW_FORM_strx3)
+ .short 0 # Subprogram name string (DW_FORM_strx3)
+# A variable DIE with DW_AT_name, using DW_FORM_strx4.
+ .byte 7 # Abbreviation code
+ .quad 0x00000006 # Subprogram name string (DW_FORM_strx4)
+ .byte 0 # NULL
+ .byte 0 # NULL
.byte 0 # NULL
CU1_5_end:
diff --git a/test/DebugInfo/Inputs/dwarfdump-str-offsets.x86_64.o b/test/DebugInfo/Inputs/dwarfdump-str-offsets.x86_64.o
index e15ac1c1542f..14753d82e10a 100644
--- a/test/DebugInfo/Inputs/dwarfdump-str-offsets.x86_64.o
+++ b/test/DebugInfo/Inputs/dwarfdump-str-offsets.x86_64.o
Binary files differ
diff --git a/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir b/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir
new file mode 100644
index 000000000000..f7b0ed62b9b4
--- /dev/null
+++ b/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir
@@ -0,0 +1,249 @@
+# RUN: llc -start-after=livedebugvalues -filetype=obj -o - %s \
+# RUN: | llvm-dwarfdump - | FileCheck %s
+
+# This tests for a crash in DwarfDebug's singular DBG_VALUE range promotion when
+# encountering an IMPLICIT_DEF in its own lexical scope.
+
+# CHECK: .debug_info contents:
+# CHECK: DW_TAG_formal_parameter
+# CHECK: DW_AT_const_value [DW_FORM_udata] (0)
+--- |
+ ; ModuleID = 't.ll'
+ source_filename = "t.ll"
+ target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
+ target triple = "aarch64--linux-gnu"
+
+ %class.v = type <{ i32, i8, i8, [2 x i8] }>
+ %class.j = type <{ %"class.j<6, a::f>::D", i32, [4 x i8] }>
+ %"class.j<6, a::f>::D" = type { %"class.j<6, a::f>::p" }
+ %"class.j<6, a::f>::p" = type { i64 }
+
+ @bt = global i32 0, align 4
+
+ define void @_ZN1v2bvEv(%class.v* nocapture readonly %this) local_unnamed_addr align 2 !dbg !14 {
+ entry:
+ %bz = alloca %class.j, align 8
+ %att = alloca %class.j, align 8
+ %ap = getelementptr inbounds %class.v, %class.v* %this, i64 0, i32 1
+ %0 = load i8, i8* %ap, align 4
+ %conv = sext i8 %0 to i32
+ switch i32 %conv, label %sw.epilog [
+ i32 1, label %_ZN1jILi6EN1a1fEE1mEj.exit
+ i32 0, label %sw.bb2
+ ]
+
+ _ZN1jILi6EN1a1fEE1mEj.exit: ; preds = %entry
+ %1 = bitcast %class.j* %att to i64*
+ %2 = bitcast %class.j* %bz to i64*
+ store i64 1, i64* %2, align 8
+ call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18, metadata !23), !dbg !24
+ store i64 1, i64* %1, align 8, !dbg !27
+ br label %sw.epilog
+
+ sw.bb2: ; preds = %entry
+ %3 = bitcast %class.j* %att to i64*
+ %4 = bitcast %class.j* %bz to i64*
+ %.pre = load i64, i64* %3, align 8
+ %agg.tmp.sroa.2.0..sroa_idx1.i.i.i.i.i.i13.phi.trans.insert = getelementptr inbounds %class.j, %class.j* %bz, i64 0, i32 1
+ %.phi.trans.insert = bitcast i32* %agg.tmp.sroa.2.0..sroa_idx1.i.i.i.i.i.i13.phi.trans.insert to i64*
+ %agg.tmp.sroa.2.0.copyload2.i.i6.i.i.i.i14.pre = load i64, i64* %.phi.trans.insert, align 8
+ %.pre25 = load i64, i64* %4, align 8
+ %agg.tmp.sroa.2.0..sroa_idx1.i.i.i.i.i.i.phi.trans.insert = getelementptr inbounds %class.j, %class.j* %att, i64 0, i32 1
+ %.phi.trans.insert26 = bitcast i32* %agg.tmp.sroa.2.0..sroa_idx1.i.i.i.i.i.i.phi.trans.insert to i64*
+ %agg.tmp.sroa.2.0.copyload2.i.i6.i.i.i.i.pre = load i64, i64* %.phi.trans.insert26, align 8
+ br label %sw.epilog
+
+ sw.epilog: ; preds = %sw.bb2, %_ZN1jILi6EN1a1fEE1mEj.exit, %entry
+ %agg.tmp.sroa.2.0.copyload2.i.i6.i.i.i.i = phi i64 [ %agg.tmp.sroa.2.0.copyload2.i.i6.i.i.i.i.pre, %sw.bb2 ], [ undef, %entry ], [ undef, %_ZN1jILi6EN1a1fEE1mEj.exit ], !dbg !32
+ %5 = phi i64 [ %.pre25, %sw.bb2 ], [ 0, %entry ], [ 1, %_ZN1jILi6EN1a1fEE1mEj.exit ]
+ %agg.tmp.sroa.2.0.copyload2.i.i6.i.i.i.i14 = phi i64 [ %agg.tmp.sroa.2.0.copyload2.i.i6.i.i.i.i14.pre, %sw.bb2 ], [ undef, %entry ], [ undef, %_ZN1jILi6EN1a1fEE1mEj.exit ]
+ %6 = phi i64 [ %.pre, %sw.bb2 ], [ 0, %entry ], [ 1, %_ZN1jILi6EN1a1fEE1mEj.exit ]
+ %bw1 = bitcast %class.v* %this to i32*
+ %7 = load i32, i32* %bw1, align 4
+ %bx = getelementptr inbounds %class.v, %class.v* %this, i64 0, i32 2
+ %8 = load i8, i8* %bx, align 1
+ %tobool = icmp ne i8 %8, 0
+ %.fca.0.insert9 = insertvalue [2 x i64] undef, i64 %agg.tmp.sroa.2.0.copyload2.i.i6.i.i.i.i14, 0
+ %.fca.1.insert12 = insertvalue [2 x i64] %.fca.0.insert9, i64 %5, 1
+ %.fca.0.insert = insertvalue [2 x i64] undef, i64 %agg.tmp.sroa.2.0.copyload2.i.i6.i.i.i.i, 0
+ %.fca.1.insert = insertvalue [2 x i64] %.fca.0.insert, i64 %6, 1
+ call void @_Z2byi1LS_bbPi(i32 %7, [2 x i64] %.fca.1.insert12, [2 x i64] %.fca.1.insert, i1 %tobool, i1 false, i32* nonnull @bt)
+ ret void
+ }
+
+ declare void @_Z2byi1LS_bbPi(i32, [2 x i64], [2 x i64], i1, i1, i32*) local_unnamed_addr
+
+ ; Function Attrs: nounwind readnone speculatable
+ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
+
+ ; Function Attrs: nounwind
+ declare void @llvm.stackprotector(i8*, i8**) #1
+
+ attributes #0 = { nounwind readnone speculatable }
+ attributes #1 = { nounwind }
+
+ !llvm.dbg.cu = !{!0}
+ !llvm.module.flags = !{!12, !13}
+
+ !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 5.0.0 (trunk 305696) (llvm/trunk 305708)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !3, globals: !2)
+ !1 = !DIFile(filename: "/<stdin>", directory: "/")
+ !2 = !{}
+ !3 = !{!4, !10}
+ !4 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "r", file: !5, line: 50, size: 8, elements: !6, identifier: "_ZTS1r")
+ !5 = !DIFile(filename: "current.ii", directory: "/")
+ !6 = !{!7}
+ !7 = !DISubprogram(name: "r", scope: !4, file: !5, line: 52, type: !8, isLocal: false, isDefinition: false, scopeLine: 52, flags: DIFlagPublic | DIFlagPrototyped, isOptimized: true)
+ !8 = !DISubroutineType(types: !9)
+ !9 = !{null}
+ !10 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "q", scope: !11, file: !5, line: 39, size: 64, elements: !2, identifier: "_ZTSN1jILi6EN1a1fEE1qE")
+ !11 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "j<6, a::f>", file: !5, line: 7, size: 128, elements: !2, templateParams: !2, identifier: "_ZTS1jILi6EN1a1fEE")
+ !12 = !{i32 2, !"Debug Info Version", i32 3}
+ !13 = !{i32 1, !"wchar_size", i32 4}
+ !14 = distinct !DISubprogram(name: "bv", linkageName: "_ZN1v2bvEv", scope: !15, file: !5, line: 104, type: !16, isLocal: false, isDefinition: true, scopeLine: 104, flags: DIFlagPrototyped, isOptimized: true, unit: !0, declaration: !17, variables: !2)
+ !15 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "v", file: !5, line: 97, size: 64, elements: !2, identifier: "_ZTS1v")
+ !16 = !DISubroutineType(types: !2)
+ !17 = !DISubprogram(name: "bv", linkageName: "_ZN1v2bvEv", scope: !15, file: !5, line: 98, type: !16, isLocal: false, isDefinition: false, scopeLine: 98, flags: DIFlagPrototyped, isOptimized: true)
+ !18 = !DILocalVariable(arg: 2, scope: !19, file: !5, line: 22, type: !21)
+ !19 = distinct !DISubprogram(name: "m", linkageName: "_ZN1jILi6EN1a1fEE1mEj", scope: !11, file: !5, line: 22, type: !16, isLocal: false, isDefinition: true, scopeLine: 22, flags: DIFlagPrototyped, isOptimized: true, unit: !0, declaration: !20, variables: !2)
+ !20 = !DISubprogram(name: "m", linkageName: "_ZN1jILi6EN1a1fEE1mEj", scope: !11, file: !5, line: 22, type: !16, isLocal: false, isDefinition: false, scopeLine: 22, flags: DIFlagPublic | DIFlagPrototyped, isOptimized: true)
+ !21 = !DIDerivedType(tag: DW_TAG_typedef, name: "h", file: !5, line: 10, baseType: !22)
+ !22 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
+ !23 = !DIExpression()
+ !24 = !DILocation(line: 22, scope: !19, inlinedAt: !25)
+ !25 = distinct !DILocation(line: 109, scope: !26)
+ !26 = distinct !DILexicalBlock(scope: !14, file: !5, line: 106)
+ !27 = !DILocation(line: 29, scope: !28, inlinedAt: !31)
+ !28 = distinct !DISubprogram(name: "n", linkageName: "_ZN1jILi6EN1a1fEE1p1nEl", scope: !29, file: !5, line: 29, type: !8, isLocal: false, isDefinition: true, scopeLine: 29, flags: DIFlagPrototyped, isOptimized: true, unit: !0, declaration: !30, variables: !2)
+ !29 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "p", scope: !11, file: !5, line: 26, size: 64, elements: !2, identifier: "_ZTSN1jILi6EN1a1fEE1pE")
+ !30 = !DISubprogram(name: "n", linkageName: "_ZN1jILi6EN1a1fEE1p1nEl", scope: !29, file: !5, line: 29, type: !8, isLocal: false, isDefinition: false, scopeLine: 29, flags: DIFlagPublic | DIFlagPrototyped, isOptimized: true)
+ !31 = distinct !DILocation(line: 24, scope: !19, inlinedAt: !25)
+ !32 = !DILocation(line: 61, scope: !33, inlinedAt: !38)
+ !33 = distinct !DISubprogram(name: "bc<j<6, a::f> >", linkageName: "_ZN1s2bcI1jILi6EN1a1fEEEEDTcl2badeclsr1aE2aaIPT_EEEES6_", scope: !34, file: !5, line: 60, type: !16, isLocal: false, isDefinition: true, scopeLine: 60, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !36, declaration: !35, variables: !2)
+ !34 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "s", file: !5, line: 59, size: 8, elements: !2, identifier: "_ZTS1s")
+ !35 = !DISubprogram(name: "bc<j<6, a::f> >", linkageName: "_ZN1s2bcI1jILi6EN1a1fEEEEDTcl2badeclsr1aE2aaIPT_EEEES6_", scope: !34, file: !5, line: 60, type: !16, isLocal: false, isDefinition: false, scopeLine: 60, flags: DIFlagPrototyped, isOptimized: true, templateParams: !36)
+ !36 = !{!37}
+ !37 = !DITemplateTypeParameter(name: "ay", type: !11)
+ !38 = distinct !DILocation(line: 70, scope: !39, inlinedAt: !42)
+ !39 = distinct !DISubprogram(name: "bc", linkageName: "_ZN1JI1s1jILi6EN1a1fEEE2bcEPS4_", scope: !40, file: !5, line: 70, type: !16, isLocal: false, isDefinition: true, scopeLine: 70, flags: DIFlagPrototyped, isOptimized: true, unit: !0, declaration: !41, variables: !2)
+ !40 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "J<s, j<6, a::f> >", file: !5, line: 69, size: 8, elements: !2, templateParams: !2, identifier: "_ZTS1JI1s1jILi6EN1a1fEEE")
+ !41 = !DISubprogram(name: "bc", linkageName: "_ZN1JI1s1jILi6EN1a1fEEE2bcEPS4_", scope: !40, file: !5, line: 70, type: !16, isLocal: false, isDefinition: false, scopeLine: 70, flags: DIFlagPrototyped, isOptimized: true)
+ !42 = distinct !DILocation(line: 85, scope: !43, inlinedAt: !46)
+ !43 = distinct !DISubprogram(name: "u<j<6, a::f> >", linkageName: "_ZN1uC2I1jILi6EN1a1fEEEERT_", scope: !44, file: !5, line: 85, type: !16, isLocal: false, isDefinition: true, scopeLine: 85, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !36, declaration: !45, variables: !2)
+ !44 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "u", file: !5, line: 82, size: 128, elements: !2, identifier: "_ZTS1u")
+ !45 = !DISubprogram(name: "u<j<6, a::f> >", scope: !44, file: !5, line: 85, type: !16, isLocal: false, isDefinition: false, scopeLine: 85, flags: DIFlagPublic | DIFlagPrototyped, isOptimized: true, templateParams: !36)
+ !46 = distinct !DILocation(line: 85, scope: !47, inlinedAt: !48)
+ !47 = distinct !DISubprogram(name: "u<j<6, a::f> >", linkageName: "_ZN1uC1I1jILi6EN1a1fEEEERT_", scope: !44, file: !5, line: 85, type: !16, isLocal: false, isDefinition: true, scopeLine: 85, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !36, declaration: !45, variables: !2)
+ !48 = distinct !DILocation(line: 92, scope: !49, inlinedAt: !52)
+ !49 = distinct !DISubprogram(name: "L<j<6, a::f> >", linkageName: "_ZN1LC2I1jILi6EN1a1fEEEERT_", scope: !50, file: !5, line: 92, type: !16, isLocal: false, isDefinition: true, scopeLine: 92, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !2, declaration: !51, variables: !2)
+ !50 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "L", file: !5, line: 88, size: 128, elements: !2, identifier: "_ZTS1L")
+ !51 = !DISubprogram(name: "L<j<6, a::f> >", scope: !50, file: !5, line: 92, type: !16, isLocal: false, isDefinition: false, scopeLine: 92, flags: DIFlagPublic | DIFlagPrototyped, isOptimized: true, templateParams: !2)
+ !52 = distinct !DILocation(line: 92, scope: !53, inlinedAt: !54)
+ !53 = distinct !DISubprogram(name: "L<j<6, a::f> >", linkageName: "_ZN1LC1I1jILi6EN1a1fEEEERT_", scope: !50, file: !5, line: 92, type: !16, isLocal: false, isDefinition: true, scopeLine: 92, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !2, declaration: !51, variables: !2)
+ !54 = distinct !DILocation(line: 114, scope: !14)
+
+...
+---
+name: _ZN1v2bvEv
+alignment: 2
+exposesReturnsTwice: false
+legalized: false
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+liveins:
+ - { reg: '%x0', virtual-reg: '' }
+frameInfo:
+ isFrameAddressTaken: false
+ isReturnAddressTaken: false
+ hasStackMap: false
+ hasPatchPoint: false
+ stackSize: 48
+ offsetAdjustment: 0
+ maxAlignment: 16
+ adjustsStack: true
+ hasCalls: true
+ stackProtector: ''
+ maxCallFrameSize: 0
+ hasOpaqueSPAdjustment: false
+ hasVAStart: false
+ hasMustTailInVarArgFunc: false
+ savePoint: ''
+ restorePoint: ''
+fixedStack:
+stack:
+ - { id: 0, name: bz, type: default, offset: -32, size: 16, alignment: 8,
+ callee-saved-register: '', local-offset: -16, di-variable: '', di-expression: '',
+ di-location: '' }
+ - { id: 1, name: att, type: default, offset: -48, size: 16, alignment: 8,
+ callee-saved-register: '', local-offset: -32, di-variable: '', di-expression: '',
+ di-location: '' }
+ - { id: 2, name: '', type: spill-slot, offset: -16, size: 8, alignment: 16,
+ callee-saved-register: '%lr', di-variable: '', di-expression: '',
+ di-location: '' }
+constants:
+body: |
+ bb.0.entry:
+ successors: %bb.3.sw.bb2(0x2aaaaaab), %bb.1.entry(0x55555555)
+ liveins: %x0, %lr
+
+ %sp = frame-setup SUBXri %sp, 48, 0
+ frame-setup STRXui killed %lr, %sp, 4 :: (store 8 into %stack.2)
+ frame-setup CFI_INSTRUCTION def_cfa_offset 48
+ frame-setup CFI_INSTRUCTION offset %w30, -16
+ %w8 = LDRSBWui %x0, 4 :: (load 1 from %ir.ap, align 4)
+ CBZW %w8, %bb.3.sw.bb2
+
+ bb.1.entry:
+ successors: %bb.2._ZN1jILi6EN1a1fEE1mEj.exit(0x40000001), %bb.4(0x3fffffff)
+ liveins: %w8, %x0
+
+ dead %wzr = SUBSWri killed %w8, 1, 0, implicit-def %nzcv
+ Bcc 1, %bb.4, implicit %nzcv
+
+ bb.2._ZN1jILi6EN1a1fEE1mEj.exit:
+ successors: %bb.5.sw.epilog(0x80000000)
+ liveins: %x0
+
+ %w2 = ORRWri %wzr, 0, implicit-def %x2
+ %x3 = IMPLICIT_DEF debug-location !32
+ %x1 = IMPLICIT_DEF
+ STRXui %x2, %sp, 2 :: (store 8 into %ir.2)
+ DBG_VALUE 0, 0, !18, !23, debug-location !24
+ STRXui %x2, %sp, 0, debug-location !27 :: (store 8 into %ir.1)
+ %w4 = ORRWri %wzr, 0, implicit-def %x4
+ B %bb.5.sw.epilog
+
+ bb.3.sw.bb2:
+ successors: %bb.5.sw.epilog(0x80000000)
+ liveins: %x0
+
+ %x4, %x3 = LDPXi %sp, 0 :: (dereferenceable load 8 from %ir.3), (dereferenceable load 8 from %ir..phi.trans.insert26)
+ %x2, %x1 = LDPXi %sp, 2 :: (dereferenceable load 8 from %ir..phi.trans.insert), (dereferenceable load 8 from %ir.4)
+ B %bb.5.sw.epilog
+
+ bb.4:
+ successors: %bb.5.sw.epilog(0x80000000)
+ liveins: %x0
+
+ %x2 = ORRXrs %xzr, %xzr, 0
+ %x4 = ORRXrs %xzr, %xzr, 0
+ %x3 = IMPLICIT_DEF debug-location !32
+ %x1 = IMPLICIT_DEF
+
+ bb.5.sw.epilog:
+ liveins: %x0, %x1, %x2, %x3, %x4
+
+ %w8 = LDRBBui %x0, 5 :: (load 1 from %ir.bx)
+ %w0 = LDRWui killed %x0, 0 :: (load 4 from %ir.bw1)
+ %x7 = ADRP target-flags(aarch64-page) @bt
+ %x7 = ADDXri killed %x7, target-flags(aarch64-pageoff, aarch64-nc) @bt, 0
+ dead %wzr = SUBSWri killed %w8, 0, 0, implicit-def %nzcv
+ %w5 = CSINCWr %wzr, %wzr, 0, implicit killed %nzcv
+ %w6 = ORRWrs %wzr, %wzr, 0
+ BL @_Z2byi1LS_bbPi, csr_aarch64_aapcs, implicit-def dead %lr, implicit %sp, implicit killed %w0, implicit killed %x1, implicit killed %x2, implicit killed %x3, implicit killed %x4, implicit killed %w5, implicit killed %w6, implicit killed %x7, implicit-def %sp
+ %lr = LDRXui %sp, 4 :: (load 8 from %stack.2)
+ %sp = ADDXri %sp, 48, 0
+ RET undef %lr
+
+...
diff --git a/test/DebugInfo/MIR/X86/bit-piece-dh.mir b/test/DebugInfo/MIR/X86/bit-piece-dh.mir
index 34a10bd3f659..d4b897eaac91 100644
--- a/test/DebugInfo/MIR/X86/bit-piece-dh.mir
+++ b/test/DebugInfo/MIR/X86/bit-piece-dh.mir
@@ -1,13 +1,9 @@
-# RUN: llc -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
+# RUN: llc -filetype=obj -o - %s | llvm-dwarfdump --debug-dump=info - | FileCheck %s
# CHECK: .debug_info contents:
# CHECK: DW_TAG_variable
-# CHECK-NEXT: DW_AT_location [DW_FORM_sec_offset] ([[OFS:.*]])
-# CHECK-NEXT: DW_AT_name {{.*}}"dh"
-# CHECK: .debug_loc contents:
-# CHECK: [[OFS]]: Beginning address offset: 0x0000000000000002
-# CHECK: Ending address offset: 0x000000000000000c
-# CHECK: Location description: 51 9d 08 08
# rdx, bit-piece 8 8
+# CHECK-NEXT: DW_AT_location {{.*}} 51 9d 08 08
+# CHECK-NEXT: DW_AT_name {{.*}}"dh"
--- |
; Manually created after:
; char f(int i) {
diff --git a/test/DebugInfo/PDB/dbi-bytes.test b/test/DebugInfo/PDB/dbi-bytes.test
new file mode 100644
index 000000000000..3ed913e880ee
--- /dev/null
+++ b/test/DebugInfo/PDB/dbi-bytes.test
@@ -0,0 +1,59 @@
+; RUN: llvm-pdbutil bytes -ec %p/Inputs/empty.pdb | FileCheck --check-prefix=EC %s
+; RUN: llvm-pdbutil bytes -files %p/Inputs/empty.pdb | FileCheck --check-prefix=FILES %s
+; RUN: llvm-pdbutil bytes -modi %p/Inputs/empty.pdb | FileCheck --check-prefix=MODI %s
+; RUN: llvm-pdbutil bytes -sc %p/Inputs/empty.pdb | FileCheck --check-prefix=SC %s
+; RUN: llvm-pdbutil bytes -sm %p/Inputs/empty.pdb | FileCheck --check-prefix=SM %s
+; RUN: llvm-pdbutil bytes -type-server %p/Inputs/empty.pdb | FileCheck --check-prefix=TYPE-SERVER %s
+
+EC: Edit and Continue Data
+EC-NEXT: ============================================================
+EC-NEXT: Edit and Continue Data (
+EC-NEXT: E280: FEEFFEEF 01000000 31000000 00643A5C 7372635C 6C6C766D 5C746573 745C4465 |........1....d:\src\llvm\test\De|
+EC-NEXT: E2A0: 62756749 6E666F5C 5044425C 496E7075 74735C65 6D707479 2E706462 00020000 |bugInfo\PDB\Inputs\empty.pdb....|
+EC-NEXT: E2C0: 00010000 00000000 00010000 00 |.............|
+EC-NEXT: )
+
+FILES: File Info
+FILES-NEXT: ============================================================
+FILES-NEXT: File Info (
+FILES-NEXT: E240: 02000100 00000100 01000000 00000000 643A5C73 72635C6C 6C766D5C 74657374 |................d:\src\llvm\test|
+FILES-NEXT: E260: 5C646562 7567696E 666F5C70 64625C69 6E707574 735C656D 7074792E 63707000 |\debuginfo\pdb\inputs\empty.cpp.|
+FILES-NEXT: )
+
+MODI: Module Infos
+MODI-NEXT: ============================================================
+MODI-NEXT: Module Infos (
+MODI-NEXT: E040: 00000000 01000000 10000000 0A000000 20005060 00000000 347497D7 00000000 |................ .P`....4t......|
+MODI-NEXT: E060: 00000C00 D0000000 00000000 58000000 01000000 D035E900 00000000 00000000 |............X........5..........|
+MODI-NEXT: E080: 643A5C73 72635C6C 6C766D5C 74657374 5C446562 7567496E 666F5C50 44425C49 |d:\src\llvm\test\DebugInfo\PDB\I|
+MODI-NEXT: E0A0: 6E707574 735C656D 7074792E 6F626A00 643A5C73 72635C6C 6C766D5C 74657374 |nputs\empty.obj.d:\src\llvm\test|
+MODI-NEXT: E0C0: 5C446562 7567496E 666F5C50 44425C49 6E707574 735C656D 7074792E 6F626A00 |\DebugInfo\PDB\Inputs\empty.obj.|
+MODI-NEXT: E0E0: 00000000 01000000 00000000 0A000000 20000060 01000000 00000000 00000000 |................ ..`............|
+MODI-NEXT: E100: 00000E00 04020000 00000000 00000000 00000000 00000000 00000000 01000000 |................................|
+MODI-NEXT: E120: 2A204C69 6E6B6572 202A0000 |* Linker *..|
+MODI-NEXT: )
+
+SC: Section Contributions
+SC-NEXT: ============================================================
+SC-NEXT: Section Contributions (
+SC-NEXT: E12C: 2DBA2EF1 01002511 00000000 0A000000 20000060 01000000 00000000 00000000 |-.....%......... ..`............|
+SC-NEXT: E14C: 01000000 10000000 0A000000 20005060 00000000 347497D7 00000000 02000000 |............ .P`....4t..........|
+SC-NEXT: E16C: 00000000 38000000 40000040 01000000 00000000 00000000 02000000 44010000 |....8...@..@................D...|
+SC-NEXT: E18C: 48000000 40003040 01000000 00000000 00000000 02000000 8C010000 14000000 |H...@.0@........................|
+SC-NEXT: E1AC: 40003040 01000000 00000000 00000000 03000000 00000000 04000000 800030C0 |@.0@..........................0.|
+SC-NEXT: E1CC: 00000000 00000000 00000000 |............|
+SC-NEXT: )
+
+SM: Section Map
+SM-NEXT: ============================================================
+SM-NEXT: Section Map (
+SM-NEXT: E1D8: 05000500 0D010000 00000100 FFFFFFFF 00000000 1A100000 09010000 00000200 |................................|
+SM-NEXT: E1F8: FFFFFFFF 00000000 B2020000 0B010000 00000300 FFFFFFFF 00000000 04000000 |................................|
+SM-NEXT: E218: 09010000 00000400 FFFFFFFF 00000000 08000000 08020000 00000000 FFFFFFFF |................................|
+SM-NEXT: E238: 00000000 FFFFFFFF |........|
+SM-NEXT: )
+
+TYPE-SERVER: Type Server Map
+TYPE-SERVER-NEXT: ============================================================
+TYPE-SERVER-NEXT: Type Server Map (
+TYPE-SERVER-NEXT: )
diff --git a/test/DebugInfo/PDB/module-bytes.test b/test/DebugInfo/PDB/module-bytes.test
new file mode 100644
index 000000000000..f325331ac532
--- /dev/null
+++ b/test/DebugInfo/PDB/module-bytes.test
@@ -0,0 +1,85 @@
+; RUN: llvm-pdbutil bytes -chunks %p/Inputs/empty.pdb | FileCheck --check-prefix=CHUNKS %s
+; RUN: llvm-pdbutil bytes -chunks -mod=0 %p/Inputs/empty.pdb | FileCheck --check-prefix=FILTERED-CHUNKS %s
+; RUN: llvm-pdbutil bytes -chunks -split-chunks -mod=0 %p/Inputs/empty.pdb | FileCheck --check-prefix=SPLIT-CHUNKS %s
+
+; RUN: llvm-pdbutil bytes -syms %p/Inputs/empty.pdb | FileCheck --check-prefix=SYMS %s
+; RUN: llvm-pdbutil bytes -syms -mod=0 %p/Inputs/empty.pdb | FileCheck --check-prefix=FILTERED-SYMS %s
+
+CHUNKS: Debug Chunks
+CHUNKS-NEXT: ============================================================
+CHUNKS-NEXT: Mod 0000 | `d:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj`:
+CHUNKS-NEXT: Debug Chunks (
+CHUNKS-NEXT: 60D0: F2000000 30000000 10000000 01000000 0A000000 00000000 03000000 24000000 |....0.......................$...|
+CHUNKS-NEXT: 60F0: 00000000 05000080 03000000 06000080 08000000 07000080 F4000000 18000000 |................................|
+CHUNKS-NEXT: 6110: 56000000 1001A0A5 BD0D3ECD 93FC29D1 9DE826FB F4BC0000 |V.........>...)...&.....|
+CHUNKS-NEXT: )
+CHUNKS-NEXT: Mod 0001 | `* Linker *`:
+CHUNKS-NEXT: Debug Chunks (
+CHUNKS-NEXT: )
+
+FILTERED-CHUNKS: Debug Chunks
+FILTERED-CHUNKS-NEXT: ============================================================
+FILTERED-CHUNKS-NEXT: Mod 0000 | `d:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj`:
+FILTERED-CHUNKS-NEXT: Debug Chunks (
+FILTERED-CHUNKS-NEXT: 60D0: F2000000 30000000 10000000 01000000 0A000000 00000000 03000000 24000000 |....0.......................$...|
+FILTERED-CHUNKS-NEXT: 60F0: 00000000 05000080 03000000 06000080 08000000 07000080 F4000000 18000000 |................................|
+FILTERED-CHUNKS-NEXT: 6110: 56000000 1001A0A5 BD0D3ECD 93FC29D1 9DE826FB F4BC0000 |V.........>...)...&.....|
+FILTERED-CHUNKS-NEXT: )
+FILTERED-CHUNKS-NOT: Mod 0001
+
+SPLIT-CHUNKS: Debug Chunks
+SPLIT-CHUNKS-NEXT: ============================================================
+SPLIT-CHUNKS-NEXT: Mod 0000 | `d:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj`:
+SPLIT-CHUNKS-NEXT: lines (
+SPLIT-CHUNKS-NEXT: 60D0: F2000000 30000000 10000000 01000000 0A000000 00000000 03000000 24000000 |....0.......................$...|
+SPLIT-CHUNKS-NEXT: 60F0: 00000000 05000080 03000000 06000080 08000000 07000080 |........................|
+SPLIT-CHUNKS-NEXT: )
+SPLIT-CHUNKS-NEXT: checksums (
+SPLIT-CHUNKS-NEXT: 6108: F4000000 18000000 56000000 1001A0A5 BD0D3ECD 93FC29D1 9DE826FB F4BC0000 |........V.........>...)...&.....|
+SPLIT-CHUNKS-NEXT: )
+
+SYMS: Module Symbols
+SYMS-NEXT: ============================================================
+SYMS-NEXT: Mod 0000 | `d:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj`:
+SYMS-NEXT: Symbols (
+SYMS-NEXT: 6004: 36000111 00000000 643A5C73 72635C6C 6C766D5C 74657374 5C446562 7567496E |6.......d:\src\llvm\test\DebugIn|
+SYMS-NEXT: 6024: 666F5C50 44425C49 6E707574 735C656D 7074792E 6F626A00 3A003C11 01200000 |fo\PDB\Inputs\empty.obj.:.<.. ..|
+SYMS-NEXT: 6044: 07001200 00007D79 00001200 00007D79 00004D69 63726F73 6F667420 28522920 |......}y......}y..Microsoft (R) |
+SYMS-NEXT: 6064: 4F707469 6D697A69 6E672043 6F6D7069 6C657200 2A001011 00000000 C4000000 |Optimizing Compiler.*...........|
+SYMS-NEXT: 6084: 00000000 0A000000 03000000 08000000 01100000 10000000 0100016D 61696E00 |...........................main.|
+SYMS-NEXT: 60A4: 1E001210 00000000 00000000 00000000 00000000 00000000 00000082 12000000 |................................|
+SYMS-NEXT: 60C4: 02000600 06004C11 0E100000 |......L.....|
+SYMS-NEXT: )
+SYMS-NEXT: Mod 0001 | `* Linker *`:
+SYMS-NEXT: Symbols (
+SYMS-NEXT: 7004: 12000111 00000000 2A204C69 6E6B6572 202A0000 2E003C11 07000000 03000000 |........* Linker *....<.........|
+SYMS-NEXT: 7024: 00000000 00000C00 00007D79 00004D69 63726F73 6F667420 28522920 4C494E4B |..........}y..Microsoft (R) LINK|
+SYMS-NEXT: 7044: 00000000 AA003D11 00637764 00643A5C 7372635C 6C6C766D 5C746573 745C4465 |......=..cwd.d:\src\llvm\test\De|
+SYMS-NEXT: 7064: 62756749 6E666F5C 5044425C 496E7075 74730065 78650043 3A5C5072 6F677261 |bugInfo\PDB\Inputs.exe.C:\Progra|
+SYMS-NEXT: 7084: 6D204669 6C657320 28783836 295C4D69 63726F73 6F667420 56697375 616C2053 |m Files (x86)\Microsoft Visual S|
+SYMS-NEXT: 70A4: 74756469 6F203132 2E305C56 435C4249 4E5C6C69 6E6B2E65 78650070 64620064 |tudio 12.0\VC\BIN\link.exe.pdb.d|
+SYMS-NEXT: 70C4: 3A5C7372 635C6C6C 766D5C74 6573745C 44656275 67496E66 6F5C5044 425C496E |:\src\llvm\test\DebugInfo\PDB\In|
+SYMS-NEXT: 70E4: 70757473 5C656D70 74792E70 64620000 12002C11 00000500 05000000 10000000 |puts\empty.pdb....,.............|
+SYMS-NEXT: 7104: 01000100 1A003611 01000C00 00100000 1A100000 20000060 2E746578 74000000 |......6............. ..`.text...|
+SYMS-NEXT: 7124: 1A003711 1A100000 20000060 00000000 01002E74 65787424 6D6E0000 1A003611 |..7..... ..`.......text$mn....6.|
+SYMS-NEXT: 7144: 02000C00 00300000 B2020000 40000040 2E726461 74610000 1A003711 43010000 |.....0......@..@.rdata....7.C...|
+SYMS-NEXT: 7164: 40000040 00000000 02002E72 64617461 00000000 1A003711 00000000 40000040 |@..@.......rdata......7.....@..@|
+SYMS-NEXT: 7184: 43010000 02002E65 64617461 00000000 1E003711 6E010000 40000040 44010000 |C......edata......7.n...@..@D...|
+SYMS-NEXT: 71A4: 02002E72 64617461 24646562 75670000 1A003611 03000C00 00400000 04000000 |...rdata$debug....6......@......|
+SYMS-NEXT: 71C4: 400000C0 2E646174 61000000 16003711 04000000 800000C0 00000000 03002E62 |@....data.....7................b|
+SYMS-NEXT: 71E4: 73730000 1A003611 04000C00 00500000 08000000 40000042 2E72656C 6F630000 |ss....6......P......@..B.reloc..|
+SYMS-NEXT: )
+
+FILTERED-SYMS: Module Symbols
+FILTERED-SYMS-NEXT: ============================================================
+FILTERED-SYMS-NEXT: Mod 0000 | `d:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj`:
+FILTERED-SYMS-NEXT: Symbols (
+FILTERED-SYMS-NEXT: 6004: 36000111 00000000 643A5C73 72635C6C 6C766D5C 74657374 5C446562 7567496E |6.......d:\src\llvm\test\DebugIn|
+FILTERED-SYMS-NEXT: 6024: 666F5C50 44425C49 6E707574 735C656D 7074792E 6F626A00 3A003C11 01200000 |fo\PDB\Inputs\empty.obj.:.<.. ..|
+FILTERED-SYMS-NEXT: 6044: 07001200 00007D79 00001200 00007D79 00004D69 63726F73 6F667420 28522920 |......}y......}y..Microsoft (R) |
+FILTERED-SYMS-NEXT: 6064: 4F707469 6D697A69 6E672043 6F6D7069 6C657200 2A001011 00000000 C4000000 |Optimizing Compiler.*...........|
+FILTERED-SYMS-NEXT: 6084: 00000000 0A000000 03000000 08000000 01100000 10000000 0100016D 61696E00 |...........................main.|
+FILTERED-SYMS-NEXT: 60A4: 1E001210 00000000 00000000 00000000 00000000 00000000 00000082 12000000 |................................|
+FILTERED-SYMS-NEXT: 60C4: 02000600 06004C11 0E100000 |......L.....|
+FILTERED-SYMS-NEXT: )
+FILTERED-SYMS-NOT: Mod 0001
diff --git a/test/DebugInfo/PDB/pdb-yaml-symbols.test b/test/DebugInfo/PDB/pdb-yaml-symbols.test
index 574065176b5b..7afa1c3b2a71 100644
--- a/test/DebugInfo/PDB/pdb-yaml-symbols.test
+++ b/test/DebugInfo/PDB/pdb-yaml-symbols.test
@@ -55,6 +55,7 @@ YAML: CodeSize: 10
YAML: DbgStart: 3
YAML: DbgEnd: 8
YAML: FunctionType: 4097
+YAML: Offset: 16
YAML: Segment: 1
YAML: Flags: [ HasFP ]
YAML: DisplayName: main
@@ -178,4 +179,4 @@ YAML: Rva: 20480
YAML: Length: 8
YAML: Characteristics: 1107296320
YAML: Name: .reloc
-YAML: ... \ No newline at end of file
+YAML: ...
diff --git a/test/DebugInfo/PDB/pdbdump-headers.test b/test/DebugInfo/PDB/pdbdump-headers.test
index fa9a25108fac..9a4544cce383 100644
--- a/test/DebugInfo/PDB/pdbdump-headers.test
+++ b/test/DebugInfo/PDB/pdbdump-headers.test
@@ -1,7 +1,7 @@
-; RUN: llvm-pdbutil raw -all %p/Inputs/empty.pdb | FileCheck -check-prefix=ALL %s
-; RUN: llvm-pdbutil raw -summary -modules -files \
+; RUN: llvm-pdbutil dump -all %p/Inputs/empty.pdb | FileCheck -check-prefix=ALL %s
+; RUN: llvm-pdbutil dump -summary -modules -files \
; RUN: %p/Inputs/big-read.pdb | FileCheck -check-prefix=BIG %s
-; RUN: not llvm-pdbutil raw -summary %p/Inputs/bad-block-size.pdb 2>&1 | FileCheck -check-prefix=BAD-BLOCK-SIZE %s
+; RUN: not llvm-pdbutil dump -summary %p/Inputs/bad-block-size.pdb 2>&1 | FileCheck -check-prefix=BAD-BLOCK-SIZE %s
ALL: Summary
ALL-NEXT: ============================================================
@@ -22,23 +22,40 @@ ALL-NEXT: Has conflicting types: false
ALL-NEXT: Is stripped: false
ALL: Streams
ALL-NEXT: ============================================================
-ALL-NEXT: Stream 0: [Old MSF Directory] (40 bytes)
-ALL-NEXT: Stream 1: [PDB Stream] (118 bytes)
-ALL-NEXT: Stream 2: [TPI Stream] (5392 bytes)
-ALL-NEXT: Stream 3: [DBI Stream] (739 bytes)
-ALL-NEXT: Stream 4: [IPI Stream] (784 bytes)
-ALL-NEXT: Stream 5: [Named Stream "/LinkInfo"] (0 bytes)
-ALL-NEXT: Stream 6: [Global Symbol Hash] (556 bytes)
-ALL-NEXT: Stream 7: [Public Symbol Hash] (604 bytes)
-ALL-NEXT: Stream 8: [Public Symbol Records] (104 bytes)
-ALL-NEXT: Stream 9: [Named Stream "/src/headerblock"] (0 bytes)
-ALL-NEXT: Stream 10: [Section Header Data] (160 bytes)
-ALL-NEXT: Stream 11: [New FPO Data] (32 bytes)
-ALL-NEXT: Stream 12: [Module "d:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj"] (308 bytes)
-ALL-NEXT: Stream 13: [Named Stream "/names"] (239 bytes)
-ALL-NEXT: Stream 14: [Module "* Linker *"] (520 bytes)
-ALL-NEXT: Stream 15: [TPI Hash] (308 bytes)
-ALL-NEXT: Stream 16: [IPI Hash] (68 bytes)
+ALL-NEXT: Stream 0: [Old MSF Directory] (40 bytes)
+ALL-NEXT: Blocks: [8]
+ALL-NEXT: Stream 1: [PDB Stream] (118 bytes)
+ALL-NEXT: Blocks: [19]
+ALL-NEXT: Stream 2: [TPI Stream] (5392 bytes)
+ALL-NEXT: Blocks: [18, 17]
+ALL-NEXT: Stream 3: [DBI Stream] (739 bytes)
+ALL-NEXT: Blocks: [14]
+ALL-NEXT: Stream 4: [IPI Stream] (784 bytes)
+ALL-NEXT: Blocks: [20]
+ALL-NEXT: Stream 5: [Named Stream "/LinkInfo"] (0 bytes)
+ALL-NEXT: Blocks: []
+ALL-NEXT: Stream 6: [Global Symbol Hash] (556 bytes)
+ALL-NEXT: Blocks: [11]
+ALL-NEXT: Stream 7: [Public Symbol Hash] (604 bytes)
+ALL-NEXT: Blocks: [13]
+ALL-NEXT: Stream 8: [Public Symbol Records] (104 bytes)
+ALL-NEXT: Blocks: [12]
+ALL-NEXT: Stream 9: [Named Stream "/src/headerblock"] (0 bytes)
+ALL-NEXT: Blocks: []
+ALL-NEXT: Stream 10: [Section Header Data] (160 bytes)
+ALL-NEXT: Blocks: [10]
+ALL-NEXT: Stream 11: [New FPO Data] (32 bytes)
+ALL-NEXT: Blocks: [15]
+ALL-NEXT: Stream 12: [Module "d:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj"] (308 bytes)
+ALL-NEXT: Blocks: [6]
+ALL-NEXT: Stream 13: [Named Stream "/names"] (239 bytes)
+ALL-NEXT: Blocks: [16]
+ALL-NEXT: Stream 14: [Module "* Linker *"] (520 bytes)
+ALL-NEXT: Blocks: [7]
+ALL-NEXT: Stream 15: [TPI Hash] (308 bytes)
+ALL-NEXT: Blocks: [21]
+ALL-NEXT: Stream 16: [IPI Hash] (68 bytes)
+ALL-NEXT: Blocks: [22]
ALL: String Table
ALL-NEXT: ============================================================
ALL-NEXT: ID | String
@@ -458,9 +475,9 @@ ALL: Hash Adjusters:
ALL: Public Symbols
ALL-NEXT: ============================================================
ALL-NEXT: - S_PUB32 [size = 36] `?__purecall@@3PAXA`
-ALL-NEXT: type = <no type>, addr = 0003:0000
+ALL-NEXT: flags = none, addr = 0003:0000
ALL-NEXT: - S_PUB32 [size = 20] `_main`
-ALL-NEXT: type = 0x0002 (<unknown simple type>), addr = 0001:0016
+ALL-NEXT: flags = function, addr = 0001:0016
ALL-NEXT: - S_PROCREF [size = 20] `main`
ALL-NEXT: module = 1, sum name = 0, offset = 120
ALL-NEXT: - S_GDATA32 [size = 28] `__purecall`
diff --git a/test/DebugInfo/PDB/pdbdump-merge-ids-and-types.test b/test/DebugInfo/PDB/pdbdump-merge-ids-and-types.test
index f25e9024453b..d3b7ae56eaac 100644
--- a/test/DebugInfo/PDB/pdbdump-merge-ids-and-types.test
+++ b/test/DebugInfo/PDB/pdbdump-merge-ids-and-types.test
@@ -1,8 +1,8 @@
; RUN: llvm-pdbutil yaml2pdb -pdb=%t.1.pdb %p/Inputs/merge-ids-and-types-1.yaml
; RUN: llvm-pdbutil yaml2pdb -pdb=%t.2.pdb %p/Inputs/merge-ids-and-types-2.yaml
; RUN: llvm-pdbutil merge -pdb=%t.3.pdb %t.1.pdb %t.2.pdb
-; RUN: llvm-pdbutil raw -types %t.3.pdb | FileCheck -check-prefix=TPI-TYPES %s
-; RUN: llvm-pdbutil raw -ids %t.3.pdb | FileCheck -check-prefix=IPI-TYPES %s
+; RUN: llvm-pdbutil dump -types %t.3.pdb | FileCheck -check-prefix=TPI-TYPES %s
+; RUN: llvm-pdbutil dump -ids %t.3.pdb | FileCheck -check-prefix=IPI-TYPES %s
TPI-TYPES: Types (TPI Stream)
TPI-TYPES-NEXT: ============================================================
diff --git a/test/DebugInfo/PDB/pdbdump-mergeids.test b/test/DebugInfo/PDB/pdbdump-mergeids.test
index 441ce4d8dbc8..971bf0eac08f 100644
--- a/test/DebugInfo/PDB/pdbdump-mergeids.test
+++ b/test/DebugInfo/PDB/pdbdump-mergeids.test
@@ -1,8 +1,8 @@
; RUN: llvm-pdbutil yaml2pdb -pdb=%t.1.pdb %p/Inputs/merge-ids-1.yaml
; RUN: llvm-pdbutil yaml2pdb -pdb=%t.2.pdb %p/Inputs/merge-ids-2.yaml
; RUN: llvm-pdbutil merge -pdb=%t.3.pdb %t.1.pdb %t.2.pdb
-; RUN: llvm-pdbutil raw -ids %t.3.pdb | FileCheck -check-prefix=MERGED %s
-; RUN: llvm-pdbutil raw -types %t.3.pdb | FileCheck -check-prefix=TPI-EMPTY %s
+; RUN: llvm-pdbutil dump -ids %t.3.pdb | FileCheck -check-prefix=MERGED %s
+; RUN: llvm-pdbutil dump -types %t.3.pdb | FileCheck -check-prefix=TPI-EMPTY %s
MERGED: Types (IPI Stream)
diff --git a/test/DebugInfo/PDB/pdbdump-mergetypes.test b/test/DebugInfo/PDB/pdbdump-mergetypes.test
index 9aae40543697..8ab64cfab516 100644
--- a/test/DebugInfo/PDB/pdbdump-mergetypes.test
+++ b/test/DebugInfo/PDB/pdbdump-mergetypes.test
@@ -1,7 +1,7 @@
+; RUN: llvm-pdbutil yaml2pdb -pdb=%t.1.pdb %p/Inputs/merge-types-1.yaml
; RUN: llvm-pdbutil yaml2pdb -pdb=%t.2.pdb %p/Inputs/merge-types-2.yaml
; RUN: llvm-pdbutil merge -pdb=%t.3.pdb %t.1.pdb %t.2.pdb
-; RUN: llvm-pdbutil raw -types %t.3.pdb | FileCheck -check-prefix=MERGED %s
+; RUN: llvm-pdbutil dump -types %t.3.pdb | FileCheck -check-prefix=MERGED %s
MERGED: Types (TPI Stream)
diff --git a/test/DebugInfo/PDB/pdbdump-raw-blocks.test b/test/DebugInfo/PDB/pdbdump-raw-blocks.test
index b695d5a1c4cd..aa81293805b4 100644
--- a/test/DebugInfo/PDB/pdbdump-raw-blocks.test
+++ b/test/DebugInfo/PDB/pdbdump-raw-blocks.test
@@ -1,8 +1,9 @@
-; RUN: llvm-pdbutil raw -block-data=0 %p/Inputs/empty.pdb | FileCheck --check-prefix=BLOCK0 %s
-; RUN: llvm-pdbutil raw -block-data=0-1 %p/Inputs/empty.pdb | FileCheck --check-prefix=BLOCK01 %s
-; RUN: not llvm-pdbutil raw -block-data=0,1 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=BADSYNTAX %s
-; RUN: not llvm-pdbutil raw -block-data=0a1 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=BADSYNTAX %s
-; RUN: not llvm-pdbutil raw -block-data=0- %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=BADSYNTAX %s
+; RUN: llvm-pdbutil bytes -block-range=0 %p/Inputs/empty.pdb | FileCheck --check-prefix=BLOCK0 %s
+; RUN: llvm-pdbutil bytes -block-range=0-1 %p/Inputs/empty.pdb | FileCheck --check-prefix=BLOCK01 %s
+; RUN: llvm-pdbutil bytes -block-range=0-0x1 %p/Inputs/empty.pdb | FileCheck --check-prefix=BLOCK01 %s
+; RUN: not llvm-pdbutil bytes -block-range=0,1 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=BADSYNTAX %s
+; RUN: not llvm-pdbutil bytes -block-range=0a1 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=BADSYNTAX %s
+; RUN: not llvm-pdbutil bytes -block-range=0- %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=BADSYNTAX %s
BLOCK0: MSF Blocks
BLOCK0-NEXT: ============================================================
@@ -21,9 +22,9 @@ BLOCK01-NEXT: 0020: 00100000 02000000 19000000 88000000 00000000 18000000 00
BLOCK01-NEXT: 0040: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |................................|
BLOCK01-NEXT: 0060: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |................................|
BLOCK01: Block 1 (
-BLOCK01-NEXT: 0000: C0FCFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................................|
-BLOCK01-NEXT: 0020: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................................|
-BLOCK01-NEXT: 0040: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................................|
+BLOCK01-NEXT: 1000: C0FCFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................................|
+BLOCK01-NEXT: 1020: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................................|
+BLOCK01-NEXT: 1040: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................................|
BLOCK01-NOT: Block 2 (
BADSYNTAX: Argument '{{.*}}' invalid format.
diff --git a/test/DebugInfo/PDB/pdbdump-raw-bytes.test b/test/DebugInfo/PDB/pdbdump-raw-bytes.test
new file mode 100644
index 000000000000..1087dfb65953
--- /dev/null
+++ b/test/DebugInfo/PDB/pdbdump-raw-bytes.test
@@ -0,0 +1,25 @@
+; RUN: llvm-pdbutil bytes -byte-range=20-60 %p/Inputs/empty.pdb | FileCheck --check-prefix=VALID %s
+; RUN: not llvm-pdbutil bytes -byte-range=100-20 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=INVALID %s
+; RUN: not llvm-pdbutil bytes -byte-range=100000-200000 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=INVALID-RANGE %s
+
+; RUN: llvm-pdbutil bytes -name-map %p/Inputs/empty.pdb | FileCheck --check-prefix=NAME-MAP %s
+
+
+VALID: MSF Bytes
+VALID-NEXT: ============================================================
+VALID-NEXT: Bytes (
+VALID-NEXT: 0014: 372E3030 0D0A1A44 53000000 00100000 02000000 19000000 88000000 00000000 |7.00...DS.......................|
+VALID-NEXT: 0034: 18000000 00000000 00 |.........|
+VALID-NEXT: )
+
+INVALID: llvm-pdbutil: Invalid byte range specified. Max < Min
+
+INVALID-RANGE: llvm-pdbutil: Invalid byte range specified. Requested byte larger than file size
+
+NAME-MAP: Named Stream Map
+NAME-MAP-NEXT: ============================================================
+NAME-MAP-NEXT: Named Stream Map (
+NAME-MAP-NEXT: 1301C: 22000000 2F4C696E 6B496E66 6F002F6E 616D6573 002F7372 632F6865 61646572 |".../LinkInfo./names./src/header|
+NAME-MAP-NEXT: 1303C: 626C6F63 6B000300 00000600 00000100 00001A00 00000000 00001100 00000900 |block...........................|
+NAME-MAP-NEXT: 1305C: 00000A00 00000D00 00000000 00000500 0000 |..................|
+NAME-MAP-NEXT: )
diff --git a/test/DebugInfo/PDB/pdbdump-raw-stream.test b/test/DebugInfo/PDB/pdbdump-raw-stream.test
index 2f8e05ad0583..0d57ddea0155 100644
--- a/test/DebugInfo/PDB/pdbdump-raw-stream.test
+++ b/test/DebugInfo/PDB/pdbdump-raw-stream.test
@@ -1,15 +1,21 @@
-; RUN: llvm-pdbutil raw -stream-data=1 %p/Inputs/empty.pdb | FileCheck --check-prefix=STREAM %s
-; RUN: llvm-pdbutil raw -stream-data=100 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=INVALIDSTREAM %s
-; RUN: llvm-pdbutil raw -stream-data=1,100 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=BOTH %s
+; RUN: llvm-pdbutil bytes -stream-data=1 %p/Inputs/empty.pdb | FileCheck --check-prefix=STREAM %s
+; RUN: llvm-pdbutil bytes -stream-data=100 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=INVALIDSTREAM %s
+; RUN: llvm-pdbutil bytes -stream-data=1,100 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=BOTH %s
+
+; RUN: llvm-pdbutil bytes -stream-data=1:10 %p/Inputs/empty.pdb | FileCheck --check-prefix=OFFSET %s
+; RUN: llvm-pdbutil bytes -stream-data=1@20 %p/Inputs/empty.pdb | FileCheck --check-prefix=SIZED %s
+; RUN: llvm-pdbutil bytes -stream-data=1:8@20 %p/Inputs/empty.pdb | FileCheck --check-prefix=SLICE %s
+; RUN: llvm-pdbutil bytes -stream-data=1:0x8@0x14 %p/Inputs/empty.pdb | FileCheck --check-prefix=SLICE %s
+; RUN: llvm-pdbutil bytes -stream-data=2:4050@100 %p/Inputs/empty.pdb 2>&1 | FileCheck --check-prefix=DISCONTINUITY %s
STREAM: Stream Data
STREAM-NEXT: ============================================================
-STREAM-NEXT: Stream 1 (118 bytes): PDB Stream
+STREAM-NEXT: Stream 1: PDB Stream (dumping 118 / 118 bytes)
STREAM-NEXT: Data (
-STREAM-NEXT: 0000: 942E3101 E207E554 01000000 0B355641 86A0A249 896F9988 FAE52FF0 22000000 |..1....T.....5VA...I.o..../."...|
-STREAM-NEXT: 0020: 2F4C696E 6B496E66 6F002F6E 616D6573 002F7372 632F6865 61646572 626C6F63 |/LinkInfo./names./src/headerbloc|
-STREAM-NEXT: 0040: 6B000300 00000600 00000100 00001A00 00000000 00001100 00000900 00000A00 |k...............................|
-STREAM-NEXT: 0060: 00000D00 00000000 00000500 00000000 00004191 3201 |..................A.2.|
+STREAM-NEXT: 13000: 942E3101 E207E554 01000000 0B355641 86A0A249 896F9988 FAE52FF0 22000000 |..1....T.....5VA...I.o..../."...|
+STREAM-NEXT: 13020: 2F4C696E 6B496E66 6F002F6E 616D6573 002F7372 632F6865 61646572 626C6F63 |/LinkInfo./names./src/headerbloc|
+STREAM-NEXT: 13040: 6B000300 00000600 00000100 00001A00 00000000 00001100 00000900 00000A00 |k...............................|
+STREAM-NEXT: 13060: 00000D00 00000000 00000500 00000000 00004191 3201 |..................A.2.|
STREAM-NEXT: )
INVALIDSTREAM: Stream Data
@@ -18,11 +24,46 @@ INVALIDSTREAM-NEXT: Stream 100: Not present
BOTH: Stream Data
BOTH-NEXT: ============================================================
-BOTH-NEXT: Stream 1 (118 bytes): PDB Stream
+BOTH-NEXT: Stream 1: PDB Stream (dumping 118 / 118 bytes)
BOTH-NEXT: Data (
-BOTH-NEXT: 0000: 942E3101 E207E554 01000000 0B355641 86A0A249 896F9988 FAE52FF0 22000000 |..1....T.....5VA...I.o..../."...|
-BOTH-NEXT: 0020: 2F4C696E 6B496E66 6F002F6E 616D6573 002F7372 632F6865 61646572 626C6F63 |/LinkInfo./names./src/headerbloc|
-BOTH-NEXT: 0040: 6B000300 00000600 00000100 00001A00 00000000 00001100 00000900 00000A00 |k...............................|
-BOTH-NEXT: 0060: 00000D00 00000000 00000500 00000000 00004191 3201 |..................A.2.|
+BOTH-NEXT: 13000: 942E3101 E207E554 01000000 0B355641 86A0A249 896F9988 FAE52FF0 22000000 |..1....T.....5VA...I.o..../."...|
+BOTH-NEXT: 13020: 2F4C696E 6B496E66 6F002F6E 616D6573 002F7372 632F6865 61646572 626C6F63 |/LinkInfo./names./src/headerbloc|
+BOTH-NEXT: 13040: 6B000300 00000600 00000100 00001A00 00000000 00001100 00000900 00000A00 |k...............................|
+BOTH-NEXT: 13060: 00000D00 00000000 00000500 00000000 00004191 3201 |..................A.2.|
BOTH-NEXT: )
BOTH-NEXT: Stream 100: Not present
+
+OFFSET: Stream Data
+OFFSET-NEXT: ============================================================
+OFFSET-NEXT: Stream 1: PDB Stream (dumping 108 / 118 bytes)
+OFFSET-NEXT: Data (
+OFFSET-NEXT: 1300A: 00000B35 564186A0 A249896F 9988FAE5 2FF02200 00002F4C 696E6B49 6E666F00 |...5VA...I.o..../.".../LinkInfo.|
+OFFSET-NEXT: 1302A: 2F6E616D 6573002F 7372632F 68656164 6572626C 6F636B00 03000000 06000000 |/names./src/headerblock.........|
+OFFSET-NEXT: 1304A: 01000000 1A000000 00000000 11000000 09000000 0A000000 0D000000 00000000 |................................|
+OFFSET-NEXT: 1306A: 05000000 00000000 41913201 |........A.2.|
+OFFSET-NEXT: )
+
+SIZED: Stream Data
+SIZED-NEXT: ============================================================
+SIZED-NEXT: Stream 1: PDB Stream (dumping 20 / 118 bytes)
+SIZED-NEXT: Data (
+SIZED-NEXT: 13000: 942E3101 E207E554 01000000 0B355641 86A0A249 |..1....T.....5VA...I|
+SIZED-NEXT: )
+
+SLICE: Stream Data
+SLICE-NEXT: ============================================================
+SLICE-NEXT: Stream 1: PDB Stream (dumping 20 / 118 bytes)
+SLICE-NEXT: Data (
+SLICE-NEXT: 13008: 01000000 0B355641 86A0A249 896F9988 FAE52FF0 |.....5VA...I.o..../.|
+SLICE-NEXT: )
+
+DISCONTINUITY: Stream Data
+DISCONTINUITY-NEXT: ============================================================
+DISCONTINUITY-NEXT: Stream 2: TPI Stream (dumping 100 / 5,392 bytes)
+DISCONTINUITY-NEXT: Data (
+DISCONTINUITY-NEXT: 12FD2: 65537472 75637455 73616765 00F10215 03000480 00002000 654C6F63 616C5573 |eStructUsage.......... .eLocalUs|
+DISCONTINUITY-NEXT: 12FF2: 61676500 F2F10215 03000480 0000 |age...........|
+DISCONTINUITY-NEXT: -------------------------------------------------<discontinuity>--------------------------------------------------
+DISCONTINUITY-NEXT: 11000: 40006550 726F7065 72747955 73616765 00F3F2F1 02150300 04800000 80006545 |@.ePropertyUsage..............eE|
+DISCONTINUITY-NEXT: 11020: 76656E74 55736167 6500F2F1 02150300 04800000 0001 |ventUsage.............|
+DISCONTINUITY-NEXT: )
diff --git a/test/DebugInfo/PDB/pdbdump-readwrite.test b/test/DebugInfo/PDB/pdbdump-readwrite.test
index 51ebd754545f..b3ec3ce4ee6a 100644
--- a/test/DebugInfo/PDB/pdbdump-readwrite.test
+++ b/test/DebugInfo/PDB/pdbdump-readwrite.test
@@ -3,8 +3,8 @@ RUN: -pdb-stream -string-table -tpi-stream -stream-directory \
RUN: -stream-metadata %p/Inputs/empty.pdb > %t.1
RUN: llvm-pdbutil yaml2pdb -pdb=%t.2 %t.1
-RUN: llvm-pdbutil raw -summary -string-table -types %p/Inputs/empty.pdb | FileCheck %s
-RUN: llvm-pdbutil raw -summary -string-table -types %t.2 | FileCheck %s
+RUN: llvm-pdbutil dump -summary -string-table -types %p/Inputs/empty.pdb | FileCheck %s
+RUN: llvm-pdbutil dump -summary -string-table -types %t.2 | FileCheck %s
CHECK: Summary
diff --git a/test/DebugInfo/PDB/pdbdump-yaml-types.test b/test/DebugInfo/PDB/pdbdump-yaml-types.test
index a01edcee1e99..493ff3791981 100644
--- a/test/DebugInfo/PDB/pdbdump-yaml-types.test
+++ b/test/DebugInfo/PDB/pdbdump-yaml-types.test
@@ -785,7 +785,7 @@ YAML: Name: eIDLModuleUsage
YAML: - Kind: LF_ENUMERATE
YAML: Enumerator:
YAML: Attrs: 3
-YAML: Value: -32768
+YAML: Value: 32768
YAML: Name: eAnonymousUsage
YAML: - Kind: LF_ENUMERATE
YAML: Enumerator:
diff --git a/test/DebugInfo/PDB/tpi-bytes.test b/test/DebugInfo/PDB/tpi-bytes.test
new file mode 100644
index 000000000000..2345d3aa21ba
--- /dev/null
+++ b/test/DebugInfo/PDB/tpi-bytes.test
@@ -0,0 +1,27 @@
+; RUN: llvm-pdbutil bytes -type=0x1002 %p/Inputs/empty.pdb | FileCheck --check-prefix=TYPE %s
+; RUN: llvm-pdbutil bytes -id=0x1007 %p/Inputs/empty.pdb | FileCheck --check-prefix=ID %s
+; RUN: llvm-pdbutil bytes -type=0x2000 %p/Inputs/empty.pdb | FileCheck --check-prefix=INVALID-TYPE %s
+; RUN: llvm-pdbutil bytes -id=0x2000 %p/Inputs/empty.pdb | FileCheck --check-prefix=INVALID-ID %s
+
+TYPE: Type (TPI) Records
+TYPE-NEXT: ============================================================
+TYPE-NEXT: Type 0x1002 (
+TYPE-NEXT: 12050: 4A000312 02150300 01006170 6172746D 656E7400 02150300 02007369 6E676C65 |J.........apartment.......single|
+TYPE-NEXT: 12070: 00F3F2F1 02150300 03006672 656500F1 02150300 04006E65 75747261 6C00F2F1 |..........free........neutral...|
+TYPE-NEXT: 12090: 02150300 0500626F 746800F1 |......both..|
+TYPE-NEXT: )
+
+ID: Index (IPI) Records
+ID-NEXT: ============================================================
+ID-NEXT: Type 0x1007 (
+ID-NEXT: 140C4: 2E000516 00000000 643A5C73 72635C6C 6C766D5C 74657374 5C446562 7567496E |........d:\src\llvm\test\DebugIn|
+ID-NEXT: 140E4: 666F5C50 44425C49 6E707574 7300F2F1 |fo\PDB\Inputs...|
+ID-NEXT: )
+
+INVALID-TYPE: Type (TPI) Records
+INVALID-TYPE-NEXT: ============================================================
+INVALID-TYPE-NEXT: Error: TypeIndex 0x2000 does not exist
+
+INVALID-ID: Index (IPI) Records
+INVALID-ID-NEXT: ============================================================
+INVALID-ID-NEXT: Error: TypeIndex 0x2000 does not exist
diff --git a/test/DebugInfo/X86/dbg-merge-loc-entry.ll b/test/DebugInfo/X86/dbg-merge-loc-entry.ll
index 17fd0d54d40d..272ee0b6c8e2 100644
--- a/test/DebugInfo/X86/dbg-merge-loc-entry.ll
+++ b/test/DebugInfo/X86/dbg-merge-loc-entry.ll
@@ -6,6 +6,7 @@
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-darwin8"
+; Test that consecutive, identical DBG_VALUEs are merged.
;CHECK: DW_AT_location{{.*}}(<0x1> 55 )
%0 = type { i64, i1 }
@@ -19,6 +20,7 @@ entry:
br i1 undef, label %bb2, label %bb4, !dbg !22
bb2: ; preds = %entry
+ tail call void @llvm.dbg.value(metadata i128 %u, i64 0, metadata !14, metadata !DIExpression()), !dbg !15
br label %bb4, !dbg !23
bb4: ; preds = %bb2, %entry
diff --git a/test/DebugInfo/X86/inlined-formal-parameter.ll b/test/DebugInfo/X86/inlined-formal-parameter.ll
index 78dc905f5e4b..3b603c954fbd 100644
--- a/test/DebugInfo/X86/inlined-formal-parameter.ll
+++ b/test/DebugInfo/X86/inlined-formal-parameter.ll
@@ -1,5 +1,5 @@
; RUN: llc -filetype=obj -o %t.o %s
-; RUN: llvm-dwarfdump -debug-dump=info %t.o | FileCheck %s
+; RUN: llvm-dwarfdump %t.o | FileCheck %s
; Testcase generated using 'clang -g -O2 -S -emit-llvm' from the following:
;; void sink(void);
@@ -10,6 +10,7 @@
;; }
; Check that we have formal parameters for 'a' in both inlined subroutines.
+; CHECK: .debug_info
; CHECK: DW_TAG_inlined_subroutine
; CHECK-NEXT: DW_AT_abstract_origin {{.*}} "bar"
; CHECK: DW_TAG_formal_parameter
@@ -18,9 +19,11 @@
; CHECK: DW_TAG_inlined_subroutine
; CHECK-NEXT: DW_AT_abstract_origin {{.*}} "bar"
; CHECK: DW_TAG_formal_parameter
-; CHECK-NEXT: DW_AT_const_value
+; CHECK-NEXT: DW_AT_location [DW_FORM_data4] (0x00000000)
; CHECK-NEXT: DW_AT_abstract_origin {{.*}} "a"
-
+;
+; CHECK: .debug_loc
+; CHECK: Location description: 11 00
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-darwin"
@@ -34,13 +37,12 @@ entry:
ret void, !dbg !24
}
-declare void @sink() #1
+declare void @sink()
; Function Attrs: nounwind readnone
declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
-attributes #0 = { nounwind ssp uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="core2" "unsafe-fp-math"="false" "use-soft-float"="false" }
-attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="core2" "unsafe-fp-math"="false" "use-soft-float"="false" }
+attributes #0 = { nounwind ssp uwtable }
attributes #2 = { nounwind readnone }
attributes #3 = { nounwind }
diff --git a/test/DebugInfo/X86/parameters.ll b/test/DebugInfo/X86/parameters.ll
index a8494f9e9635..26fb82df1f31 100644
--- a/test/DebugInfo/X86/parameters.ll
+++ b/test/DebugInfo/X86/parameters.ll
@@ -24,8 +24,9 @@
; CHECK: debug_info contents
; 0x74 is DW_OP_breg4, showing that the parameter is accessed indirectly
-; (with a zero offset) from the register parameter
-; CHECK: DW_AT_location [DW_FORM_data4] ([[F_LOC:0x[0-9]*]])
+; (with a zero offset) from the register parameter.
+; CHECK: DW_AT_location {{.*}} 74 00 06
+
; CHECK-NOT: DW_TAG
; CHECK: DW_AT_name{{.*}} = "f"
;
@@ -34,9 +35,6 @@
; CHECK: DW_AT_name{{.*}} = "g"
;
; CHECK: debug_loc contents
-; CHECK: [[F_LOC]]: Beginning
-; CHECK-NEXT: Ending
-; CHECK-NEXT: Location description: 74 00
; CHECK: [[G_LOC]]: Beginning
; CHECK-NEXT: Ending
; CHECK-NEXT: Location description: 74 00
@@ -77,11 +75,10 @@ if.end: ; preds = %if.then, %entry
ret void, !dbg !32
}
-declare void @_ZN7pr147634sinkEPv(i8*) #2
+declare void @_ZN7pr147634sinkEPv(i8*)
-attributes #0 = { uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
+attributes #0 = { uwtable }
attributes #1 = { nounwind readnone }
-attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!21, !33}
diff --git a/test/DebugInfo/X86/partial-constant.ll b/test/DebugInfo/X86/partial-constant.ll
new file mode 100644
index 000000000000..c3abccbc45cd
--- /dev/null
+++ b/test/DebugInfo/X86/partial-constant.ll
@@ -0,0 +1,82 @@
+; RUN: %llc_dwarf -filetype=obj < %s | llvm-dwarfdump - | FileCheck %s
+; Generated at -O2 from:
+; bool c();
+; void f();
+; bool start() {
+; bool result = c();
+; if (!c()) {
+; result = false;
+; goto exit;
+; }
+; f();
+; result = true;
+; exit:
+; return result;
+; }
+;
+; The constant should NOT be available for the entire function.
+; CHECK-NOT: DW_AT_const_value
+; CHECK: .debug_loc
+; CHECK: Location description: 10 01 9f
+; constu 0x00000001, stack-value
+source_filename = "test.ii"
+target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.12.0"
+
+; Function Attrs: noimplicitfloat noredzone nounwind optsize
+define zeroext i1 @_Z5startv() local_unnamed_addr #0 !dbg !7 {
+entry:
+ %call = tail call zeroext i1 @_Z1cv() #3, !dbg !13
+ %call1 = tail call zeroext i1 @_Z1cv() #3, !dbg !14
+ br i1 %call1, label %if.end, label %exit, !dbg !16
+
+if.end: ; preds = %entry
+ tail call void @_Z1fv() #3, !dbg !17
+ tail call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !12, metadata !18), !dbg !19
+ br label %exit, !dbg !20
+
+exit: ; preds = %entry, %if.end
+ %result.0 = phi i1 [ true, %if.end ], [ false, %entry ]
+ ret i1 %result.0, !dbg !21
+}
+
+; Function Attrs: noimplicitfloat noredzone optsize
+declare zeroext i1 @_Z1cv() local_unnamed_addr #1
+
+; Function Attrs: noimplicitfloat noredzone optsize
+declare void @_Z1fv() local_unnamed_addr #1
+
+; Function Attrs: nounwind readnone speculatable
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
+
+attributes #0 = { noimplicitfloat noredzone nounwind optsize }
+attributes #1 = { noimplicitfloat noredzone optsize }
+attributes #2 = { nounwind readnone speculatable }
+attributes #3 = { nobuiltin noimplicitfloat noredzone nounwind optsize }
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!3, !4, !5}
+!llvm.ident = !{!6}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 5.0.0 (trunk 303873) (llvm/trunk 303897)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
+!1 = !DIFile(filename: "test.ii", directory: "/")
+!2 = !{}
+!3 = !{i32 2, !"Dwarf Version", i32 4}
+!4 = !{i32 2, !"Debug Info Version", i32 3}
+!5 = !{i32 1, !"wchar_size", i32 4}
+!6 = !{!"clang version 5.0.0 (trunk 303873) (llvm/trunk 303897)"}
+!7 = distinct !DISubprogram(name: "start", linkageName: "_Z5startv", scope: !1, file: !1, line: 3, type: !8, isLocal: false, isDefinition: true, scopeLine: 3, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !11)
+!8 = !DISubroutineType(types: !9)
+!9 = !{!10}
+!10 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
+!11 = !{!12}
+!12 = !DILocalVariable(name: "result", scope: !7, file: !1, line: 4, type: !10)
+!13 = !DILocation(line: 4, column: 17, scope: !7)
+!14 = !DILocation(line: 5, column: 8, scope: !15)
+!15 = distinct !DILexicalBlock(scope: !7, file: !1, line: 5, column: 7)
+!16 = !DILocation(line: 5, column: 7, scope: !7)
+!17 = !DILocation(line: 9, column: 3, scope: !7)
+!18 = !DIExpression()
+!19 = !DILocation(line: 4, column: 8, scope: !7)
+!20 = !DILocation(line: 10, column: 3, scope: !7)
+!21 = !DILocation(line: 12, column: 3, scope: !7)
diff --git a/test/DebugInfo/X86/pieces-3.ll b/test/DebugInfo/X86/pieces-3.ll
index fd5a8b8617a6..0f80f71af685 100644
--- a/test/DebugInfo/X86/pieces-3.ll
+++ b/test/DebugInfo/X86/pieces-3.ll
@@ -19,7 +19,9 @@
; CHECK-NEXT: DW_AT_location [DW_FORM_data4] ([[LOC1:.*]])
; CHECK-NEXT: DW_AT_name {{.*}}"outer"
; CHECK: DW_TAG_variable
-; CHECK-NEXT: DW_AT_location [DW_FORM_data4] ([[LOC2:.*]])
+; CHECK-NEXT: DW_AT_location
+; rsi, piece 0x00000004
+; CHECK-SAME: 54 93 04
; CHECK-NEXT: "i1"
;
; CHECK: .debug_loc
@@ -32,10 +34,6 @@
; CHECK: Beginning address offset: 0x0000000000000004
; CHECK-NEXT: Ending address offset: 0x0000000000000008
; CHECK-NEXT: Location description: 55 93 08 93 04 54 93 04
-; CHECK: [[LOC2]]: Beginning address offset: 0x0000000000000004
-; CHECK-NEXT: Ending address offset: 0x0000000000000008
-; rsi, piece 0x00000004
-; CHECK-NEXT: Location description: 54 93 04
;
; ModuleID = '/Volumes/Data/llvm/test/DebugInfo/X86/sroasplit-2.ll'
@@ -48,6 +46,7 @@ define i32 @foo(i64 %outer.coerce0, i64 %outer.coerce1) #0 !dbg !4 {
call void @llvm.dbg.declare(metadata !{null}, metadata !27, metadata !28), !dbg !26
call void @llvm.dbg.value(metadata i64 %outer.coerce1, i64 0, metadata !29, metadata !30), !dbg !26
call void @llvm.dbg.declare(metadata !{null}, metadata !31, metadata !32), !dbg !26
+ ; The 'trunc' generates no extra code, thus i1 is visible throughout its scope.
%outer.sroa.1.8.extract.trunc = trunc i64 %outer.coerce1 to i32, !dbg !33
call void @llvm.dbg.value(metadata i32 %outer.sroa.1.8.extract.trunc, i64 0, metadata !34, metadata !35), !dbg !33
%outer.sroa.1.12.extract.shift = lshr i64 %outer.coerce1, 32, !dbg !33
diff --git a/test/DebugInfo/X86/reference-argument.ll b/test/DebugInfo/X86/reference-argument.ll
index 52e9290eaccd..4b8caa13b72c 100644
--- a/test/DebugInfo/X86/reference-argument.ll
+++ b/test/DebugInfo/X86/reference-argument.ll
@@ -1,4 +1,5 @@
-; RUN: llc -mtriple=x86_64-apple-macosx10.9.0 -filetype=obj -O0 < %s | llvm-dwarfdump -debug-dump=all - | FileCheck %s
+; RUN: llc -mtriple=x86_64-apple-macosx10.9.0 -filetype=obj -O0 < %s \
+; RUN: | llvm-dwarfdump -debug-dump=info - | FileCheck %s
; ModuleID = 'aggregate-indirect-arg.cpp'
; extracted from debuginfo-tests/aggregate-indirect-arg.cpp
@@ -11,11 +12,10 @@
; CHECK: DW_AT_name {{.*}} "this"
; CHECK-NOT: DW_TAG_subprogram
; CHECK: DW_TAG_formal_parameter
-; CHECK-NEXT: DW_AT_location [DW_FORM_data4] (0x00000000)
-; CHECK-NEXT: DW_AT_name {{.*}} "v"
-; CHECK: .debug_loc contents:
+; CHECK-NEXT: DW_AT_location
; rsi+0
-; CHECK: Location description: 74 00
+; CHECK-SAME: 74 00
+; CHECK-NEXT: DW_AT_name {{.*}} "v"
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.9.0"
diff --git a/test/DebugInfo/X86/this-stack_value.ll b/test/DebugInfo/X86/this-stack_value.ll
index c292b67543d1..6ea96c2538c9 100644
--- a/test/DebugInfo/X86/this-stack_value.ll
+++ b/test/DebugInfo/X86/this-stack_value.ll
@@ -1,5 +1,5 @@
; RUN: llc -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM
-; RUN: llc -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
+; RUN: llc -filetype=obj -o - %s | llvm-dwarfdump --debug-dump=info - | FileCheck %s
;
; Generated at -O2 from:
; struct B;
@@ -18,7 +18,7 @@
; modified by the debugger.
;
; ASM: [DW_OP_stack_value]
-; CHECK: Location description: 70 00 9f
+; CHECK: DW_AT_location {{.*}} 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"
diff --git a/test/DebugInfo/dwarfdump-str-offsets.test b/test/DebugInfo/dwarfdump-str-offsets.test
index 937c9c4d6ece..0465357ba32a 100644
--- a/test/DebugInfo/dwarfdump-str-offsets.test
+++ b/test/DebugInfo/dwarfdump-str-offsets.test
@@ -19,12 +19,24 @@ CHECK-NEXT: DW_AT_producer [DW_FORM_strx] ( indexed (00000000) string = "Handmad
CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000001) string = "Compile_Unit_1")
CHECK-NEXT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x00000008)
CHECK-NEXT: DW_AT_comp_dir [DW_FORM_strx] ( indexed (00000002) string = "/home/test/CU1")
+CHECK-NOT: NULL
+CHECK: DW_TAG_subprogram
+CHECK-NEXT: DW_AT_name [DW_FORM_strx1] ( indexed (00000003) string = "MyFunc")
+CHECK-NOT: NULL
+CHECK: DW_TAG_variable
+CHECK-NEXT: DW_AT_name [DW_FORM_strx2] ( indexed (00000004) string = "MyVar1")
+CHECK-NOT: NULL
+CHECK: DW_TAG_variable
+CHECK-NEXT: DW_AT_name [DW_FORM_strx3] ( indexed (00000005) string = "MyVar2")
+CHECK-NOT: NULL
+CHECK: DW_TAG_variable
+CHECK-NEXT: DW_AT_name [DW_FORM_strx4] ( indexed (00000006) string = "MyVar3")
; Second compile unit (b.cpp)
CHECK: DW_TAG_compile_unit
CHECK-NEXT: DW_AT_producer [DW_FORM_strx] ( indexed (00000000) string = "Handmade DWARF producer")
CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000001) string = "Compile_Unit_2")
-CHECK-NEXT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x0000001c)
+CHECK-NEXT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x0000002c)
CHECK-NEXT: DW_AT_comp_dir [DW_FORM_strx] ( indexed (00000002) string = "/home/test/CU2")
; The split CU
@@ -40,7 +52,7 @@ CHECK-NEXT: DW_AT_comp_dir [DW_FORM_strx] ( indexed (00000002) string = "/home/t
CHECK: .debug_types contents:
CHECK: DW_TAG_type_unit
CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000000) string = "Type_Unit")
-CHECK-NEXT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x00000030)
+CHECK-NEXT: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x00000040)
CHECK: DW_TAG_structure_type
CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000001) string = "MyStruct")
@@ -54,17 +66,21 @@ CHECK-NEXT: DW_AT_name [DW_FORM_strx] ( indexed (00000001) string = "V5_split_My
; The .debug_str_offsets section
CHECK: .debug_str_offsets contents:
-CHECK-NEXT: 0x00000000: Contribution size = 12, Version = 5
+CHECK-NEXT: 0x00000000: Contribution size = 28, Version = 5
CHECK-NEXT: 0x00000008: 00000000 "Handmade DWARF producer"
CHECK-NEXT: 0x0000000c: 00000018 "Compile_Unit_1"
CHECK-NEXT: 0x00000010: 00000027 "/home/test/CU1"
-CHECK-NEXT: 0x00000014: Contribution size = 12, Version = 5
-CHECK-NEXT: 0x0000001c: 00000000 "Handmade DWARF producer"
-CHECK-NEXT: 0x00000020: 00000036 "Compile_Unit_2"
-CHECK-NEXT: 0x00000024: 00000045 "/home/test/CU2"
-CHECK-NEXT: 0x00000028: Contribution size = 8, Version = 5
-CHECK-NEXT: 0x00000030: 00000054 "Type_Unit"
-CHECK-NEXT: 0x00000034: 0000005e "MyStruct"
+CHECK-NEXT: 0x00000014: 00000067 "MyFunc"
+CHECK-NEXT: 0x00000018: 0000006e "MyVar1"
+CHECK-NEXT: 0x0000001c: 00000075 "MyVar2"
+CHECK-NEXT: 0x00000020: 0000007c "MyVar3"
+CHECK-NEXT: 0x00000024: Contribution size = 12, Version = 5
+CHECK-NEXT: 0x0000002c: 00000000 "Handmade DWARF producer"
+CHECK-NEXT: 0x00000030: 00000036 "Compile_Unit_2"
+CHECK-NEXT: 0x00000034: 00000045 "/home/test/CU2"
+CHECK-NEXT: 0x00000038: Contribution size = 8, Version = 5
+CHECK-NEXT: 0x00000040: 00000054 "Type_Unit"
+CHECK-NEXT: 0x00000044: 0000005e "MyStruct"
CHECK: .debug_str_offsets.dwo contents:
CHECK-NEXT: 0x00000000: Contribution size = 12, Version = 5
diff --git a/test/MC/AArch64/label-arithmetic-diags-darwin.s b/test/MC/AArch64/label-arithmetic-diags-darwin.s
index 96b00cd4e3e5..e32db7c125bb 100644
--- a/test/MC/AArch64/label-arithmetic-diags-darwin.s
+++ b/test/MC/AArch64/label-arithmetic-diags-darwin.s
@@ -15,10 +15,10 @@ Lend:
add w0, w1, #(Lend - var@TLVPPAGEOFF)
cmp w0, #(Lend - var@TLVPPAGEOFF)
- // CHECK: error: unknown AArch64 fixup kind!
+ // CHECK: error: unsupported subtraction of qualified symbol
// CHECK-NEXT: add w0, w1, #(Lend - var@TLVPPAGEOFF)
// CHECK-NEXT: ^
- // CHECK: error: unknown AArch64 fixup kind!
+ // CHECK: error: unsupported subtraction of qualified symbol
// CHECK-NEXT: cmp w0, #(Lend - var@TLVPPAGEOFF)
// CHECK-NEXT: ^
diff --git a/test/MC/AMDGPU/flat-global.s b/test/MC/AMDGPU/flat-global.s
new file mode 100644
index 000000000000..fa33375937dd
--- /dev/null
+++ b/test/MC/AMDGPU/flat-global.s
@@ -0,0 +1,87 @@
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 -show-encoding %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 -show-encoding 2>&1 %s | FileCheck -check-prefix=GFX9-ERR -check-prefix=GCNERR %s
+// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding 2>&1 %s | FileCheck -check-prefix=VI-ERR -check-prefix=GCNERR %s
+
+global_load_ubyte v1, v[3:4]
+// GFX9: global_load_ubyte v1, v[3:4] ; encoding: [0x00,0x80,0x40,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: instruction not supported on this GPU
+
+global_load_sbyte v1, v[3:4]
+// GFX9: global_load_sbyte v1, v[3:4] ; encoding: [0x00,0x80,0x44,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: instruction not supported on this GPU
+
+global_load_ushort v1, v[3:4]
+// GFX9: global_load_ushort v1, v[3:4] ; encoding: [0x00,0x80,0x48,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: instruction not supported on this GPU
+
+global_load_sshort v1, v[3:4]
+// GFX9: global_load_sshort v1, v[3:4] ; encoding: [0x00,0x80,0x4c,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: instruction not supported on this GPU
+
+global_load_dword v1, v[3:4]
+// GFX9: global_load_dword v1, v[3:4] ; encoding: [0x00,0x80,0x50,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: instruction not supported on this GPU
+
+global_load_dwordx2 v[1:2], v[3:4]
+// GFX9: global_load_dwordx2 v[1:2], v[3:4] ; encoding: [0x00,0x80,0x54,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: instruction not supported on this GPU
+
+global_load_dwordx3 v[1:3], v[3:4]
+// GFX9: global_load_dwordx3 v[1:3], v[3:4] ; encoding: [0x00,0x80,0x58,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: instruction not supported on this GPU
+
+global_load_dwordx4 v[1:4], v[3:4]
+// GFX9: global_load_dwordx4 v[1:4], v[3:4] ; encoding: [0x00,0x80,0x5c,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: instruction not supported on this GPU
+// FIXME: VI error should be instruction nto supported
+global_load_dword v1, v[3:4] offset:0
+// GFX9: global_load_dword v1, v[3:4] ; encoding: [0x00,0x80,0x50,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: :36: error: not a valid operand.
+
+global_load_dword v1, v[3:4] offset:4095
+// GFX9: global_load_dword v1, v[3:4] offset:4095 ; encoding: [0xff,0x8f,0x50,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: :36: error: not a valid operand.
+
+global_load_dword v1, v[3:4] offset:-1
+// GFX9: global_load_dword v1, v[3:4] offset:-1 ; encoding: [0xff,0x9f,0x50,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: :36: error: not a valid operand.
+
+global_load_dword v1, v[3:4] offset:-4096
+// GFX9: global_load_dword v1, v[3:4] offset:-4096 ; encoding: [0x00,0x90,0x50,0xdc,0x03,0x00,0x00,0x01]
+// VI-ERR: :36: error: not a valid operand.
+
+global_load_dword v1, v[3:4] offset:4096
+// GFX9-ERR: :30: error: invalid operand for instruction
+// VI-ERR: :36: error: not a valid operand.
+
+global_load_dword v1, v[3:4] offset:-4097
+// GFX9-ERR: :30: error: invalid operand for instruction
+// VI-ERR: :36: error: not a valid operand.
+
+global_store_byte v[3:4], v1
+// GFX9: global_store_byte v[3:4], v1 ; encoding: [0x00,0x80,0x60,0xdc,0x03,0x01,0x00,0x00]
+// VI-ERR: instruction not supported on this GPU
+
+global_store_short v[3:4], v1
+// GFX9: global_store_short v[3:4], v1 ; encoding: [0x00,0x80,0x68,0xdc,0x03,0x01,0x00,0x00]
+// VI-ERR: instruction not supported on this GPU
+
+global_store_dword v[3:4], v1
+// GFX9: global_store_dword v[3:4], v1 ; encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x00,0x00]
+// VI-ERR: instruction not supported on this GPU
+
+global_store_dwordx2 v[3:4], v[1:2]
+// GFX9: global_store_dwordx2 v[3:4], v[1:2] ; encoding: [0x00,0x80,0x74,0xdc,0x03,0x01,0x00,0x00]
+// VI-ERR: instruction not supported on this GPU
+
+global_store_dwordx3 v[3:4], v[1:3]
+// GFX9: global_store_dwordx3 v[3:4], v[1:3] ; encoding: [0x00,0x80,0x78,0xdc,0x03,0x01,0x00,0x00]
+// VI-ERR: instruction not supported on this GPU
+
+global_store_dwordx4 v[3:4], v[1:4]
+// GFX9: global_store_dwordx4 v[3:4], v[1:4] ; encoding: [0x00,0x80,0x7c,0xdc,0x03,0x01,0x00,0x00]
+// VI-ERR: instruction not supported on this GPU
+
+global_store_dword v[3:4], v1 offset:12
+// GFX9: global_store_dword v[3:4], v1 offset:12 ; encoding: [0x0c,0x80,0x70,0xdc,0x03,0x01,0x00,0x00]
+// VI-ERR: :37: error: not a valid operand
diff --git a/test/MC/AMDGPU/gfx7_asm_all.s b/test/MC/AMDGPU/gfx7_asm_all.s
index 915bf4f06652..a4669f3ed85e 100644
--- a/test/MC/AMDGPU/gfx7_asm_all.s
+++ b/test/MC/AMDGPU/gfx7_asm_all.s
@@ -453,21 +453,90 @@ ds_max_f32 v1, v2 offset:4
ds_max_f32 v1, v2 offset:65535 gds
// CHECK: [0xff,0xff,0x4e,0xd8,0x01,0x02,0x00,0x00]
+ds_nop
+// CHECK: [0x00,0x00,0x50,0xd8,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all offset:65535 gds
+// CHECK: [0xff,0xff,0x62,0xd8,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all gds
+// CHECK: [0x00,0x00,0x62,0xd8,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all offset:0 gds
+// CHECK: [0x00,0x00,0x62,0xd8,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all offset:4 gds
+// CHECK: [0x04,0x00,0x62,0xd8,0x00,0x00,0x00,0x00]
+
+ds_gws_init v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x66,0xd8,0x00,0x01,0x00,0x00]
+
+ds_gws_init v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x66,0xd8,0x00,0xff,0x00,0x00]
+
ds_gws_init v1 gds
// CHECK: [0x00,0x00,0x66,0xd8,0x00,0x01,0x00,0x00]
+ds_gws_init v1 offset:0 gds
+// CHECK: [0x00,0x00,0x66,0xd8,0x00,0x01,0x00,0x00]
+
+ds_gws_init v1 offset:4 gds
+// CHECK: [0x04,0x00,0x66,0xd8,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_v offset:65535 gds
+// CHECK: [0xff,0xff,0x6a,0xd8,0x00,0x00,0x00,0x00]
+
ds_gws_sema_v gds
// CHECK: [0x00,0x00,0x6a,0xd8,0x00,0x00,0x00,0x00]
+ds_gws_sema_v offset:0 gds
+// CHECK: [0x00,0x00,0x6a,0xd8,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_v offset:4 gds
+// CHECK: [0x04,0x00,0x6a,0xd8,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_br v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x6e,0xd8,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_br v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x6e,0xd8,0x00,0xff,0x00,0x00]
+
ds_gws_sema_br v1 gds
// CHECK: [0x00,0x00,0x6e,0xd8,0x00,0x01,0x00,0x00]
+ds_gws_sema_br v1 offset:0 gds
+// CHECK: [0x00,0x00,0x6e,0xd8,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_br v1 offset:4 gds
+// CHECK: [0x04,0x00,0x6e,0xd8,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_p offset:65535 gds
+// CHECK: [0xff,0xff,0x72,0xd8,0x00,0x00,0x00,0x00]
+
ds_gws_sema_p gds
// CHECK: [0x00,0x00,0x72,0xd8,0x00,0x00,0x00,0x00]
+ds_gws_sema_p offset:0 gds
+// CHECK: [0x00,0x00,0x72,0xd8,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_p offset:4 gds
+// CHECK: [0x04,0x00,0x72,0xd8,0x00,0x00,0x00,0x00]
+
+ds_gws_barrier v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x76,0xd8,0x00,0x01,0x00,0x00]
+
+ds_gws_barrier v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x76,0xd8,0x00,0xff,0x00,0x00]
+
ds_gws_barrier v1 gds
// CHECK: [0x00,0x00,0x76,0xd8,0x00,0x01,0x00,0x00]
+ds_gws_barrier v1 offset:0 gds
+// CHECK: [0x00,0x00,0x76,0xd8,0x00,0x01,0x00,0x00]
+
+ds_gws_barrier v1 offset:4 gds
+// CHECK: [0x04,0x00,0x76,0xd8,0x00,0x01,0x00,0x00]
+
ds_write_b8 v1, v2 offset:65535
// CHECK: [0xff,0xff,0x78,0xd8,0x01,0x02,0x00,0x00]
@@ -849,6 +918,78 @@ ds_wrxchg_rtn_b32 v5, v1, v2 offset:4
ds_wrxchg_rtn_b32 v5, v1, v2 offset:65535 gds
// CHECK: [0xff,0xff,0xb6,0xd8,0x01,0x02,0x00,0x05]
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xb8,0xd8,0x01,0x02,0x03,0xfe]
+
+ds_wrxchg2_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xb8,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xb8,0xd8,0x01,0xff,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xb8,0xd8,0x01,0x02,0xff,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset1:255
+// CHECK: [0x00,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127
+// CHECK: [0x7f,0x00,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0xb8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0xba,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xbc,0xd8,0x01,0x02,0x03,0xfe]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xbc,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xbc,0xd8,0x01,0xff,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xbc,0xd8,0x01,0x02,0xff,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset1:255
+// CHECK: [0x00,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127
+// CHECK: [0x7f,0x00,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0xbc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0xbe,0xd8,0x01,0x02,0x03,0x05]
+
ds_cmpst_rtn_b32 v5, v1, v2, v3 offset:65535
// CHECK: [0xff,0xff,0xc0,0xd8,0x01,0x02,0x03,0x05]
@@ -951,6 +1092,33 @@ ds_max_rtn_f32 v5, v1, v2 offset:4
ds_max_rtn_f32 v5, v1, v2 offset:65535 gds
// CHECK: [0xff,0xff,0xce,0xd8,0x01,0x02,0x00,0x05]
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0xd0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v255, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0xd0,0xd8,0x01,0x02,0x03,0xff]
+
+ds_wrap_rtn_b32 v5, v255, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0xd0,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v255, v3 offset:65535
+// CHECK: [0xff,0xff,0xd0,0xd8,0x01,0xff,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v255 offset:65535
+// CHECK: [0xff,0xff,0xd0,0xd8,0x01,0x02,0xff,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3
+// CHECK: [0x00,0x00,0xd0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:0
+// CHECK: [0x00,0x00,0xd0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:4
+// CHECK: [0x04,0x00,0xd0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:65535 gds
+// CHECK: [0xff,0xff,0xd2,0xd8,0x01,0x02,0x03,0x05]
+
ds_swizzle_b32 v5, v1 offset:65535
// CHECK: [0xff,0xff,0xd4,0xd8,0x01,0x00,0x00,0x05]
@@ -1983,6 +2151,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,0xb6,0xd9,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,0xb8,0xd9,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,0xb8,0xd9,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,0xb8,0xd9,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,0xb8,0xd9,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,0xb8,0xd9,0x01,0x02,0xfe,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255
+// CHECK: [0x00,0xff,0xb8,0xd9,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,0xb8,0xd9,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,0xb8,0xd9,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127
+// CHECK: [0x7f,0x00,0xb8,0xd9,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,0xb8,0xd9,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,0xb8,0xd9,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,0xba,0xd9,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,0xbc,0xd9,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,0xbc,0xd9,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,0xbc,0xd9,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,0xbc,0xd9,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,0xbc,0xd9,0x01,0x02,0xfe,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255
+// CHECK: [0x00,0xff,0xbc,0xd9,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,0xbc,0xd9,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,0xbc,0xd9,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127
+// CHECK: [0x7f,0x00,0xbc,0xd9,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,0xbc,0xd9,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,0xbc,0xd9,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,0xbe,0xd9,0x01,0x02,0x03,0x05]
+
ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535
// CHECK: [0xff,0xff,0xc0,0xd9,0x01,0x02,0x03,0x05]
@@ -2166,6 +2406,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,0xe2,0xd9,0x01,0x00,0x00,0x05]
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xf8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xf8,0xd9,0x01,0x02,0x00,0xfe]
+
+ds_condxchg32_rtn_b64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xf8,0xd9,0xff,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xf8,0xd9,0x01,0xfe,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xf8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xf8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xf8,0xd9,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xfa,0xd9,0x01,0x02,0x00,0x05]
+
ds_add_src2_u32 v1 offset:65535
// CHECK: [0xff,0xff,0x00,0xda,0x01,0x00,0x00,0x00]
@@ -2328,6 +2592,24 @@ ds_max_src2_u32 v1 offset:4
ds_max_src2_u32 v1 offset:65535 gds
// CHECK: [0xff,0xff,0x22,0xda,0x01,0x00,0x00,0x00]
+ds_and_src2_b32 v1 offset:65535
+// CHECK: [0xff,0xff,0x24,0xda,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v255 offset:65535
+// CHECK: [0xff,0xff,0x24,0xda,0xff,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1
+// CHECK: [0x00,0x00,0x24,0xda,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:0
+// CHECK: [0x00,0x00,0x24,0xda,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:4
+// CHECK: [0x04,0x00,0x24,0xda,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x26,0xda,0x01,0x00,0x00,0x00]
+
ds_or_src2_b32 v1 offset:65535
// CHECK: [0xff,0xff,0x28,0xda,0x01,0x00,0x00,0x00]
@@ -2364,9 +2646,24 @@ ds_xor_src2_b32 v1 offset:4
ds_xor_src2_b32 v1 offset:65535 gds
// CHECK: [0xff,0xff,0x2e,0xda,0x01,0x00,0x00,0x00]
+ds_write_src2_b32 v1 offset:65535
+// CHECK: [0xff,0xff,0x34,0xda,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v255 offset:65535
+// CHECK: [0xff,0xff,0x34,0xda,0xff,0x00,0x00,0x00]
+
ds_write_src2_b32 v1
// CHECK: [0x00,0x00,0x34,0xda,0x01,0x00,0x00,0x00]
+ds_write_src2_b32 v1 offset:0
+// CHECK: [0x00,0x00,0x34,0xda,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v1 offset:4
+// CHECK: [0x04,0x00,0x34,0xda,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x36,0xda,0x01,0x00,0x00,0x00]
+
ds_min_src2_f32 v1 offset:65535
// CHECK: [0xff,0xff,0x48,0xda,0x01,0x00,0x00,0x00]
@@ -2619,9 +2916,24 @@ ds_xor_src2_b64 v1 offset:4
ds_xor_src2_b64 v1 offset:65535 gds
// CHECK: [0xff,0xff,0x2e,0xdb,0x01,0x00,0x00,0x00]
+ds_write_src2_b64 v1 offset:65535
+// CHECK: [0xff,0xff,0x34,0xdb,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v255 offset:65535
+// CHECK: [0xff,0xff,0x34,0xdb,0xff,0x00,0x00,0x00]
+
ds_write_src2_b64 v1
// CHECK: [0x00,0x00,0x34,0xdb,0x01,0x00,0x00,0x00]
+ds_write_src2_b64 v1 offset:0
+// CHECK: [0x00,0x00,0x34,0xdb,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v1 offset:4
+// CHECK: [0x04,0x00,0x34,0xdb,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x36,0xdb,0x01,0x00,0x00,0x00]
+
ds_min_src2_f64 v1 offset:65535
// CHECK: [0xff,0xff,0x48,0xdb,0x01,0x00,0x00,0x00]
@@ -2742,79 +3054,85 @@ ds_read_b128 v[5:8], v1 offset:4
ds_read_b128 v[5:8], v1 offset:65535 gds
// CHECK: [0xff,0xff,0xfe,0xdb,0x01,0x00,0x00,0x05]
-exp mrt0, v0, v0, v0, v0
+exp mrt0 v0, v0, v0, v0
// CHECK: [0x0f,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrtz, v0, v0, v0, v0
+exp mrtz v0, v0, v0, v0
// CHECK: [0x8f,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp null, v0, v0, v0, v0
+exp null v0, v0, v0, v0
// CHECK: [0x9f,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp pos0, v0, v0, v0, v0
+exp pos0 v0, v0, v0, v0
// CHECK: [0xcf,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp param0, v0, v0, v0, v0
+exp param0 v0, v0, v0, v0
// CHECK: [0x0f,0x02,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, v255, v0, v0, v0
+exp mrt0 v255, v0, v0, v0
// CHECK: [0x0f,0x00,0x00,0xf8,0xff,0x00,0x00,0x00]
-exp mrt0, v0, v255, v0, v0
+exp mrt0 v0, v255, v0, v0
// CHECK: [0x0f,0x00,0x00,0xf8,0x00,0xff,0x00,0x00]
-exp mrt0, v0, v0, v255, v0
+exp mrt0 v0, v0, v255, v0
// CHECK: [0x0f,0x00,0x00,0xf8,0x00,0x00,0xff,0x00]
-exp mrt0, v0, v0, v0, v255
+exp mrt0 v0, v0, v0, v255
// CHECK: [0x0f,0x00,0x00,0xf8,0x00,0x00,0x00,0xff]
-exp mrt0, v0, off, off, off
+exp mrt0 v0, off, off, off
// CHECK: [0x01,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, off, off
+exp mrt0 off, v0, off, off
// CHECK: [0x02,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, off, off
+exp mrt0 v0, v0, off, off
// CHECK: [0x03,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, v0, off
+exp mrt0 off, off, v0, off
// CHECK: [0x04,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, v0, off, v0, off
+exp mrt0 v0, off, v0, off
// CHECK: [0x05,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, v0, off
+exp mrt0 off, v0, v0, off
// CHECK: [0x06,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, v0, off
+exp mrt0 v0, v0, v0, off
// CHECK: [0x07,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, off, v0
+exp mrt0 off, off, off, v0
// CHECK: [0x08,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, v0, off, off, v0
+exp mrt0 v0, off, off, v0
// CHECK: [0x09,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, off, v0
+exp mrt0 off, v0, off, v0
// CHECK: [0x0a,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, off, v0
+exp mrt0 v0, v0, off, v0
// CHECK: [0x0b,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, v0, v0
+exp mrt0 off, off, v0, v0
// CHECK: [0x0c,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, v0, off, v0, v0
+exp mrt0 v0, off, v0, v0
// CHECK: [0x0d,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, v0, v0
+exp mrt0 off, v0, v0, v0
// CHECK: [0x0e,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, off, off
+exp mrt0 off, off, off, off
// CHECK: [0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, v0, v0 vm
+exp mrt0 v0, v0, v0, v0 done
+// CHECK: [0x0f,0x08,0x00,0xf8,0x00,0x00,0x00,0x00]
+
+exp mrt0 v0, v0, v0, v0 compr
+// CHECK: [0x0f,0x04,0x00,0xf8,0x00,0x00,0x00,0x00]
+
+exp mrt0 v0, v0, v0, v0 vm
// CHECK: [0x0f,0x10,0x00,0xf8,0x00,0x00,0x00,0x00]
flat_load_ubyte v5, v[1:2]
@@ -13740,6 +14058,48 @@ s_movreld_b64 s[10:11], 0xaf123456
s_movreld_b64 s[10:11], 0x3f717273
// CHECK: [0xff,0x31,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+s_cbranch_join s1
+// CHECK: [0x01,0x32,0x80,0xbe]
+
+s_cbranch_join s103
+// CHECK: [0x67,0x32,0x80,0xbe]
+
+s_cbranch_join flat_scratch_lo
+// CHECK: [0x68,0x32,0x80,0xbe]
+
+s_cbranch_join flat_scratch_hi
+// CHECK: [0x69,0x32,0x80,0xbe]
+
+s_cbranch_join vcc_lo
+// CHECK: [0x6a,0x32,0x80,0xbe]
+
+s_cbranch_join vcc_hi
+// CHECK: [0x6b,0x32,0x80,0xbe]
+
+s_cbranch_join tba_lo
+// CHECK: [0x6c,0x32,0x80,0xbe]
+
+s_cbranch_join tba_hi
+// CHECK: [0x6d,0x32,0x80,0xbe]
+
+s_cbranch_join tma_lo
+// CHECK: [0x6e,0x32,0x80,0xbe]
+
+s_cbranch_join tma_hi
+// CHECK: [0x6f,0x32,0x80,0xbe]
+
+s_cbranch_join ttmp11
+// CHECK: [0x7b,0x32,0x80,0xbe]
+
+s_cbranch_join m0
+// CHECK: [0x7c,0x32,0x80,0xbe]
+
+s_cbranch_join exec_lo
+// CHECK: [0x7e,0x32,0x80,0xbe]
+
+s_cbranch_join exec_hi
+// CHECK: [0x7f,0x32,0x80,0xbe]
+
s_abs_i32 s5, s1
// CHECK: [0x01,0x34,0x85,0xbe]
@@ -19791,6 +20151,18 @@ s_cbranch_g_fork ttmp[10:11], s[4:5]
s_cbranch_g_fork exec, s[4:5]
// CHECK: [0x7e,0x04,0x80,0x95]
+s_cbranch_g_fork 0, s[4:5]
+// CHECK: [0x80,0x04,0x80,0x95]
+
+s_cbranch_g_fork -1, s[4:5]
+// CHECK: [0xc1,0x04,0x80,0x95]
+
+s_cbranch_g_fork 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x80,0x95]
+
+s_cbranch_g_fork -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x80,0x95]
+
s_cbranch_g_fork s[2:3], s[6:7]
// CHECK: [0x02,0x06,0x80,0x95]
@@ -19815,6 +20187,18 @@ s_cbranch_g_fork s[2:3], ttmp[10:11]
s_cbranch_g_fork s[2:3], exec
// CHECK: [0x02,0x7e,0x80,0x95]
+s_cbranch_g_fork s[2:3], 0
+// CHECK: [0x02,0x80,0x80,0x95]
+
+s_cbranch_g_fork s[2:3], -1
+// CHECK: [0x02,0xc1,0x80,0x95]
+
+s_cbranch_g_fork s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x80,0x95]
+
+s_cbranch_g_fork s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x80,0x95]
+
s_absdiff_i32 s5, s1, s2
// CHECK: [0x01,0x02,0x05,0x96]
@@ -22833,6 +23217,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]
@@ -22893,6 +23283,30 @@ 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]
+
v_interp_p1_f32 v5, v1, attr0.x
// CHECK: [0x01,0x00,0x14,0xc8]
@@ -22983,12 +23397,18 @@ v_nop
v_nop_e64
// CHECK: [0x00,0x00,0x00,0xd3,0x00,0x00,0x00,0x00]
+v_mov_b32 v5, v1
+// CHECK: [0x01,0x03,0x0a,0x7e]
+
+v_mov_b32 v255, v1
+// CHECK: [0x01,0x03,0xfe,0x7f]
+
+v_mov_b32 v5, v255
+// CHECK: [0xff,0x03,0x0a,0x7e]
+
v_mov_b32 v5, s1
// CHECK: [0x01,0x02,0x0a,0x7e]
-v_mov_b32 v255, s1
-// CHECK: [0x01,0x02,0xfe,0x7f]
-
v_mov_b32 v5, s103
// CHECK: [0x67,0x02,0x0a,0x7e]
@@ -23046,18 +23466,18 @@ v_mov_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x02,0xd3,0x01,0x01,0x00,0x00]
-v_mov_b32 v5, v255
-// CHECK: [0xff,0x03,0x0a,0x7e]
+v_mov_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x02,0xd3,0x01,0x01,0x00,0x00]
+
+v_mov_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x02,0xd3,0xff,0x01,0x00,0x00]
v_mov_b32_e64 v5, s1
// CHECK: [0x05,0x00,0x02,0xd3,0x01,0x00,0x00,0x00]
-v_mov_b32_e64 v255, s1
-// CHECK: [0xff,0x00,0x02,0xd3,0x01,0x00,0x00,0x00]
-
v_mov_b32_e64 v5, s103
// CHECK: [0x05,0x00,0x02,0xd3,0x67,0x00,0x00,0x00]
@@ -23109,12 +23529,6 @@ v_mov_b32_e64 v5, 0.5
v_mov_b32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x02,0xd3,0xf7,0x00,0x00,0x00]
-v_mov_b32_e64 v5, v1
-// CHECK: [0x05,0x00,0x02,0xd3,0x01,0x01,0x00,0x00]
-
-v_mov_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x02,0xd3,0xff,0x01,0x00,0x00]
-
v_readfirstlane_b32 s5, v1
// CHECK: [0x01,0x05,0x0a,0x7e]
@@ -23139,12 +23553,18 @@ v_readfirstlane_b32 ttmp11, v1
v_readfirstlane_b32 s5, v255
// CHECK: [0xff,0x05,0x0a,0x7e]
+v_cvt_i32_f64 v5, v[1:2]
+// CHECK: [0x01,0x07,0x0a,0x7e]
+
+v_cvt_i32_f64 v255, v[1:2]
+// CHECK: [0x01,0x07,0xfe,0x7f]
+
+v_cvt_i32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x07,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]
@@ -23187,18 +23607,18 @@ v_cvt_i32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x06,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_i32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x07,0x0a,0x7e]
+v_cvt_i32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,0x00,0x06,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, v[254:255]
+// CHECK: [0x05,0x00,0x06,0xd3,0xfe,0x01,0x00,0x00]
v_cvt_i32_f64_e64 v5, s[2:3]
// CHECK: [0x05,0x00,0x06,0xd3,0x02,0x00,0x00,0x00]
-v_cvt_i32_f64_e64 v255, s[2:3]
-// CHECK: [0xff,0x00,0x06,0xd3,0x02,0x00,0x00,0x00]
-
v_cvt_i32_f64_e64 v5, s[4:5]
// CHECK: [0x05,0x00,0x06,0xd3,0x04,0x00,0x00,0x00]
@@ -23235,24 +23655,24 @@ v_cvt_i32_f64_e64 v5, 0.5
v_cvt_i32_f64_e64 v5, -4.0
// CHECK: [0x05,0x00,0x06,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_i32_f64_e64 v5, v[1:2]
-// CHECK: [0x05,0x00,0x06,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_i32_f64_e64 v5, -v[1:2]
+// CHECK: [0x05,0x00,0x06,0xd3,0x01,0x01,0x00,0x20]
-v_cvt_i32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x06,0xd3,0xfe,0x01,0x00,0x00]
+v_cvt_i32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x06,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f64_i32 v[5:6], v1
+// CHECK: [0x01,0x09,0x0a,0x7e]
-v_cvt_i32_f64_e64 v5, -s[2:3]
-// CHECK: [0x05,0x00,0x06,0xd3,0x02,0x00,0x00,0x20]
+v_cvt_f64_i32 v[254:255], v1
+// CHECK: [0x01,0x09,0xfc,0x7f]
-v_cvt_i32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x06,0xd3,0x02,0x00,0x00,0x00]
+v_cvt_f64_i32 v[5:6], v255
+// CHECK: [0xff,0x09,0x0a,0x7e]
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], s103
// CHECK: [0x67,0x08,0x0a,0x7e]
@@ -23310,18 +23730,18 @@ v_cvt_f64_i32 v[5:6], 0xaf123456
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_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x08,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f64_i32 v[5:6], v255
-// CHECK: [0xff,0x09,0x0a,0x7e]
+v_cvt_f64_i32_e64 v[254:255], v1
+// CHECK: [0xfe,0x00,0x08,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], v255
+// CHECK: [0x05,0x00,0x08,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f64_i32_e64 v[5:6], s1
// CHECK: [0x05,0x00,0x08,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f64_i32_e64 v[254:255], s1
-// CHECK: [0xfe,0x00,0x08,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f64_i32_e64 v[5:6], s103
// CHECK: [0x05,0x00,0x08,0xd3,0x67,0x00,0x00,0x00]
@@ -23373,18 +23793,30 @@ v_cvt_f64_i32_e64 v[5:6], 0.5
v_cvt_f64_i32_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x08,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f64_i32_e64 v[5:6], v1
-// CHECK: [0x05,0x00,0x08,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f64_i32_e64 v[5:6], v1 clamp
+// CHECK: [0x05,0x08,0x08,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f64_i32_e64 v[5:6], v255
-// CHECK: [0x05,0x00,0x08,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f64_i32_e64 v[5:6], v1 mul:2
+// CHECK: [0x05,0x00,0x08,0xd3,0x01,0x01,0x00,0x08]
+
+v_cvt_f64_i32_e64 v[5:6], v1 mul:4
+// CHECK: [0x05,0x00,0x08,0xd3,0x01,0x01,0x00,0x10]
+
+v_cvt_f64_i32_e64 v[5:6], v1 div:2
+// CHECK: [0x05,0x00,0x08,0xd3,0x01,0x01,0x00,0x18]
+
+v_cvt_f32_i32 v5, v1
+// CHECK: [0x01,0x0b,0x0a,0x7e]
+
+v_cvt_f32_i32 v255, v1
+// CHECK: [0x01,0x0b,0xfe,0x7f]
+
+v_cvt_f32_i32 v5, v255
+// CHECK: [0xff,0x0b,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x0a,0x0a,0x7e]
@@ -23442,18 +23874,18 @@ v_cvt_f32_i32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x0a,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_i32 v5, v255
-// CHECK: [0xff,0x0b,0x0a,0x7e]
+v_cvt_f32_i32_e64 v255, v1
+// CHECK: [0xff,0x00,0x0a,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, v255
+// CHECK: [0x05,0x00,0x0a,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f32_i32_e64 v5, s1
// CHECK: [0x05,0x00,0x0a,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f32_i32_e64 v255, s1
-// CHECK: [0xff,0x00,0x0a,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f32_i32_e64 v5, s103
// CHECK: [0x05,0x00,0x0a,0xd3,0x67,0x00,0x00,0x00]
@@ -23505,18 +23937,30 @@ v_cvt_f32_i32_e64 v5, 0.5
v_cvt_f32_i32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x0a,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f32_i32_e64 v5, v1
-// CHECK: [0x05,0x00,0x0a,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f32_i32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x0a,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_i32_e64 v5, v255
-// CHECK: [0x05,0x00,0x0a,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f32_i32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x0a,0xd3,0x01,0x01,0x00,0x08]
+
+v_cvt_f32_i32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x0a,0xd3,0x01,0x01,0x00,0x10]
+
+v_cvt_f32_i32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x0a,0xd3,0x01,0x01,0x00,0x18]
+
+v_cvt_f32_u32 v5, v1
+// CHECK: [0x01,0x0d,0x0a,0x7e]
+
+v_cvt_f32_u32 v255, v1
+// CHECK: [0x01,0x0d,0xfe,0x7f]
+
+v_cvt_f32_u32 v5, v255
+// CHECK: [0xff,0x0d,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x0c,0x0a,0x7e]
@@ -23574,18 +24018,18 @@ v_cvt_f32_u32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x0c,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_u32 v5, v255
-// CHECK: [0xff,0x0d,0x0a,0x7e]
+v_cvt_f32_u32_e64 v255, v1
+// CHECK: [0xff,0x00,0x0c,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, v255
+// CHECK: [0x05,0x00,0x0c,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f32_u32_e64 v5, s1
// CHECK: [0x05,0x00,0x0c,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f32_u32_e64 v255, s1
-// CHECK: [0xff,0x00,0x0c,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f32_u32_e64 v5, s103
// CHECK: [0x05,0x00,0x0c,0xd3,0x67,0x00,0x00,0x00]
@@ -23637,18 +24081,30 @@ v_cvt_f32_u32_e64 v5, 0.5
v_cvt_f32_u32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x0c,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f32_u32_e64 v5, v1
-// CHECK: [0x05,0x00,0x0c,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f32_u32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x0c,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_u32_e64 v5, v255
-// CHECK: [0x05,0x00,0x0c,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f32_u32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x0c,0xd3,0x01,0x01,0x00,0x08]
+
+v_cvt_f32_u32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x0c,0xd3,0x01,0x01,0x00,0x10]
+
+v_cvt_f32_u32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x0c,0xd3,0x01,0x01,0x00,0x18]
+
+v_cvt_u32_f32 v5, v1
+// CHECK: [0x01,0x0f,0x0a,0x7e]
+
+v_cvt_u32_f32 v255, v1
+// CHECK: [0x01,0x0f,0xfe,0x7f]
+
+v_cvt_u32_f32 v5, v255
+// CHECK: [0xff,0x0f,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x0e,0x0a,0x7e]
@@ -23706,18 +24162,18 @@ v_cvt_u32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x0e,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_u32_f32 v5, v255
-// CHECK: [0xff,0x0f,0x0a,0x7e]
+v_cvt_u32_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x0e,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x0e,0xd3,0xff,0x01,0x00,0x00]
v_cvt_u32_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x0e,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_u32_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x0e,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_u32_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x0e,0xd3,0x67,0x00,0x00,0x00]
@@ -23769,24 +24225,24 @@ v_cvt_u32_f32_e64 v5, 0.5
v_cvt_u32_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x0e,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_u32_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x0e,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_u32_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x0e,0xd3,0x01,0x01,0x00,0x20]
-v_cvt_u32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x0e,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_u32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x0e,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_u32_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x0e,0xd3,0x01,0x00,0x00,0x20]
+v_cvt_i32_f32 v5, v1
+// CHECK: [0x01,0x11,0x0a,0x7e]
-v_cvt_u32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x0e,0xd3,0x01,0x00,0x00,0x00]
+v_cvt_i32_f32 v255, v1
+// CHECK: [0x01,0x11,0xfe,0x7f]
+
+v_cvt_i32_f32 v5, v255
+// CHECK: [0xff,0x11,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x10,0x0a,0x7e]
@@ -23844,18 +24300,18 @@ v_cvt_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x10,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_i32_f32 v5, v255
-// CHECK: [0xff,0x11,0x0a,0x7e]
+v_cvt_i32_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x10,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x10,0xd3,0xff,0x01,0x00,0x00]
v_cvt_i32_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x10,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_i32_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x10,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_i32_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x10,0xd3,0x67,0x00,0x00,0x00]
@@ -23907,24 +24363,24 @@ v_cvt_i32_f32_e64 v5, 0.5
v_cvt_i32_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x10,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_i32_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x10,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_i32_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x10,0xd3,0x01,0x01,0x00,0x20]
-v_cvt_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x10,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x10,0xd3,0x01,0x01,0x00,0x00]
+
+v_mov_fed_b32 v5, v1
+// CHECK: [0x01,0x13,0x0a,0x7e]
-v_cvt_i32_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x10,0xd3,0x01,0x00,0x00,0x20]
+v_mov_fed_b32 v255, v1
+// CHECK: [0x01,0x13,0xfe,0x7f]
-v_cvt_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x10,0xd3,0x01,0x00,0x00,0x00]
+v_mov_fed_b32 v5, v255
+// CHECK: [0xff,0x13,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x12,0x0a,0x7e]
@@ -23982,18 +24438,18 @@ v_mov_fed_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x12,0xd3,0x01,0x01,0x00,0x00]
-v_mov_fed_b32 v5, v255
-// CHECK: [0xff,0x13,0x0a,0x7e]
+v_mov_fed_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x12,0xd3,0x01,0x01,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x12,0xd3,0xff,0x01,0x00,0x00]
v_mov_fed_b32_e64 v5, s1
// CHECK: [0x05,0x00,0x12,0xd3,0x01,0x00,0x00,0x00]
-v_mov_fed_b32_e64 v255, s1
-// CHECK: [0xff,0x00,0x12,0xd3,0x01,0x00,0x00,0x00]
-
v_mov_fed_b32_e64 v5, s103
// CHECK: [0x05,0x00,0x12,0xd3,0x67,0x00,0x00,0x00]
@@ -24045,18 +24501,18 @@ v_mov_fed_b32_e64 v5, 0.5
v_mov_fed_b32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x12,0xd3,0xf7,0x00,0x00,0x00]
-v_mov_fed_b32_e64 v5, v1
-// CHECK: [0x05,0x00,0x12,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f16_f32 v5, v1
+// CHECK: [0x01,0x15,0x0a,0x7e]
-v_mov_fed_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x12,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f16_f32 v255, v1
+// CHECK: [0x01,0x15,0xfe,0x7f]
+
+v_cvt_f16_f32 v5, v255
+// CHECK: [0xff,0x15,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x14,0x0a,0x7e]
@@ -24114,18 +24570,18 @@ v_cvt_f16_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x14,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f16_f32 v5, v255
-// CHECK: [0xff,0x15,0x0a,0x7e]
+v_cvt_f16_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x14,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x14,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f16_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x14,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f16_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x14,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f16_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x14,0xd3,0x67,0x00,0x00,0x00]
@@ -24177,24 +24633,24 @@ v_cvt_f16_f32_e64 v5, 0.5
v_cvt_f16_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x14,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f16_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x14,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f16_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x14,0xd3,0x01,0x01,0x00,0x20]
-v_cvt_f16_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x14,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f16_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x14,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f16_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x14,0xd3,0x01,0x00,0x00,0x20]
+v_cvt_f32_f16 v5, v1
+// CHECK: [0x01,0x17,0x0a,0x7e]
-v_cvt_f16_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x14,0xd3,0x01,0x00,0x00,0x00]
+v_cvt_f32_f16 v255, v1
+// CHECK: [0x01,0x17,0xfe,0x7f]
+
+v_cvt_f32_f16 v5, v255
+// CHECK: [0xff,0x17,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x16,0x0a,0x7e]
@@ -24240,18 +24696,18 @@ v_cvt_f32_f16 v5, 0
v_cvt_f32_f16 v5, -1
// CHECK: [0xc1,0x16,0x0a,0x7e]
-v_cvt_f32_f16 v5, v1
-// CHECK: [0x01,0x17,0x0a,0x7e]
+v_cvt_f32_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x16,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_f16 v5, v255
-// CHECK: [0xff,0x17,0x0a,0x7e]
+v_cvt_f32_f16_e64 v255, v1
+// CHECK: [0xff,0x00,0x16,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x16,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f32_f16_e64 v5, s1
// CHECK: [0x05,0x00,0x16,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f32_f16_e64 v255, s1
-// CHECK: [0xff,0x00,0x16,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f32_f16_e64 v5, s103
// CHECK: [0x05,0x00,0x16,0xd3,0x67,0x00,0x00,0x00]
@@ -24291,30 +24747,30 @@ v_cvt_f32_f16_e64 v5, exec_lo
v_cvt_f32_f16_e64 v5, exec_hi
// CHECK: [0x05,0x00,0x16,0xd3,0x7f,0x00,0x00,0x00]
-v_cvt_f32_f16_e64 v5, v1
-// CHECK: [0x05,0x00,0x16,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f32_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x16,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x16,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f32_f16_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x16,0xd3,0x01,0x01,0x00,0x08]
-v_cvt_f32_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x16,0xd3,0x01,0x00,0x00,0x00]
+v_cvt_f32_f16_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x16,0xd3,0x01,0x01,0x00,0x10]
-v_cvt_f32_f16_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x16,0xd3,0x01,0x00,0x00,0x08]
+v_cvt_f32_f16_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x16,0xd3,0x01,0x01,0x00,0x18]
+
+v_cvt_rpi_i32_f32 v5, v1
+// CHECK: [0x01,0x19,0x0a,0x7e]
-v_cvt_f32_f16_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x16,0xd3,0x01,0x00,0x00,0x10]
+v_cvt_rpi_i32_f32 v255, v1
+// CHECK: [0x01,0x19,0xfe,0x7f]
-v_cvt_f32_f16_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x16,0xd3,0x01,0x00,0x00,0x18]
+v_cvt_rpi_i32_f32 v5, v255
+// CHECK: [0xff,0x19,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x18,0x0a,0x7e]
@@ -24372,18 +24828,18 @@ v_cvt_rpi_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x18,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_rpi_i32_f32 v5, v255
-// CHECK: [0xff,0x19,0x0a,0x7e]
+v_cvt_rpi_i32_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x18,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x18,0xd3,0xff,0x01,0x00,0x00]
v_cvt_rpi_i32_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x18,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_rpi_i32_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x18,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_rpi_i32_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x18,0xd3,0x67,0x00,0x00,0x00]
@@ -24435,24 +24891,24 @@ v_cvt_rpi_i32_f32_e64 v5, 0.5
v_cvt_rpi_i32_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x18,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_rpi_i32_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x18,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_rpi_i32_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x18,0xd3,0x01,0x01,0x00,0x20]
-v_cvt_rpi_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x18,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_rpi_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x18,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_rpi_i32_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x18,0xd3,0x01,0x00,0x00,0x20]
+v_cvt_flr_i32_f32 v5, v1
+// CHECK: [0x01,0x1b,0x0a,0x7e]
-v_cvt_rpi_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x18,0xd3,0x01,0x00,0x00,0x00]
+v_cvt_flr_i32_f32 v255, v1
+// CHECK: [0x01,0x1b,0xfe,0x7f]
+
+v_cvt_flr_i32_f32 v5, v255
+// CHECK: [0xff,0x1b,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x1a,0x0a,0x7e]
@@ -24510,18 +24966,18 @@ v_cvt_flr_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x1a,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_flr_i32_f32 v5, v255
-// CHECK: [0xff,0x1b,0x0a,0x7e]
+v_cvt_flr_i32_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x1a,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x1a,0xd3,0xff,0x01,0x00,0x00]
v_cvt_flr_i32_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x1a,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_flr_i32_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x1a,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_flr_i32_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x1a,0xd3,0x67,0x00,0x00,0x00]
@@ -24573,24 +25029,24 @@ v_cvt_flr_i32_f32_e64 v5, 0.5
v_cvt_flr_i32_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x1a,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_flr_i32_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x1a,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_flr_i32_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x1a,0xd3,0x01,0x01,0x00,0x20]
-v_cvt_flr_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x1a,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_flr_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x1a,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_flr_i32_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x1a,0xd3,0x01,0x00,0x00,0x20]
+v_cvt_off_f32_i4 v5, v1
+// CHECK: [0x01,0x1d,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v255, v1
+// CHECK: [0x01,0x1d,0xfe,0x7f]
-v_cvt_flr_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x1a,0xd3,0x01,0x00,0x00,0x00]
+v_cvt_off_f32_i4 v5, v255
+// CHECK: [0xff,0x1d,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x1c,0x0a,0x7e]
@@ -24648,18 +25104,18 @@ v_cvt_off_f32_i4 v5, 0x4f
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x1c,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_off_f32_i4 v5, v255
-// CHECK: [0xff,0x1d,0x0a,0x7e]
+v_cvt_off_f32_i4_e64 v255, v1
+// CHECK: [0xff,0x00,0x1c,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, v255
+// CHECK: [0x05,0x00,0x1c,0xd3,0xff,0x01,0x00,0x00]
v_cvt_off_f32_i4_e64 v5, s1
// CHECK: [0x05,0x00,0x1c,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_off_f32_i4_e64 v255, s1
-// CHECK: [0xff,0x00,0x1c,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_off_f32_i4_e64 v5, s103
// CHECK: [0x05,0x00,0x1c,0xd3,0x67,0x00,0x00,0x00]
@@ -24711,18 +25167,30 @@ v_cvt_off_f32_i4_e64 v5, 0.5
v_cvt_off_f32_i4_e64 v5, -4.0
// CHECK: [0x05,0x00,0x1c,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_off_f32_i4_e64 v5, v1
-// CHECK: [0x05,0x00,0x1c,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_off_f32_i4_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x1c,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_off_f32_i4_e64 v5, v255
-// CHECK: [0x05,0x00,0x1c,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_off_f32_i4_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x1c,0xd3,0x01,0x01,0x00,0x08]
+
+v_cvt_off_f32_i4_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x1c,0xd3,0x01,0x01,0x00,0x10]
+
+v_cvt_off_f32_i4_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x1c,0xd3,0x01,0x01,0x00,0x18]
+
+v_cvt_f32_f64 v5, v[1:2]
+// CHECK: [0x01,0x1f,0x0a,0x7e]
+
+v_cvt_f32_f64 v255, v[1:2]
+// CHECK: [0x01,0x1f,0xfe,0x7f]
+
+v_cvt_f32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x1f,0x0a,0x7e]
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]
@@ -24765,18 +25233,18 @@ v_cvt_f32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x1e,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x1f,0x0a,0x7e]
+v_cvt_f32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,0x00,0x1e,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, v[254:255]
+// CHECK: [0x05,0x00,0x1e,0xd3,0xfe,0x01,0x00,0x00]
v_cvt_f32_f64_e64 v5, s[2:3]
// CHECK: [0x05,0x00,0x1e,0xd3,0x02,0x00,0x00,0x00]
-v_cvt_f32_f64_e64 v255, s[2:3]
-// CHECK: [0xff,0x00,0x1e,0xd3,0x02,0x00,0x00,0x00]
-
v_cvt_f32_f64_e64 v5, s[4:5]
// CHECK: [0x05,0x00,0x1e,0xd3,0x04,0x00,0x00,0x00]
@@ -24813,36 +25281,36 @@ v_cvt_f32_f64_e64 v5, 0.5
v_cvt_f32_f64_e64 v5, -4.0
// CHECK: [0x05,0x00,0x1e,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f32_f64_e64 v5, v[1:2]
-// CHECK: [0x05,0x00,0x1e,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f32_f64_e64 v5, -v[1:2]
+// CHECK: [0x05,0x00,0x1e,0xd3,0x01,0x01,0x00,0x20]
-v_cvt_f32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x1e,0xd3,0xfe,0x01,0x00,0x00]
+v_cvt_f32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x1e,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_f64_e64 v5, -s[2:3]
-// CHECK: [0x05,0x00,0x1e,0xd3,0x02,0x00,0x00,0x20]
+v_cvt_f32_f64_e64 v5, v[1:2] clamp
+// CHECK: [0x05,0x08,0x1e,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x1e,0xd3,0x02,0x00,0x00,0x00]
+v_cvt_f32_f64_e64 v5, v[1:2] mul:2
+// CHECK: [0x05,0x00,0x1e,0xd3,0x01,0x01,0x00,0x08]
-v_cvt_f32_f64_e64 v5, s[2:3] clamp
-// CHECK: [0x05,0x08,0x1e,0xd3,0x02,0x00,0x00,0x00]
+v_cvt_f32_f64_e64 v5, v[1:2] mul:4
+// CHECK: [0x05,0x00,0x1e,0xd3,0x01,0x01,0x00,0x10]
-v_cvt_f32_f64_e64 v5, s[2:3] mul:2
-// CHECK: [0x05,0x00,0x1e,0xd3,0x02,0x00,0x00,0x08]
+v_cvt_f32_f64_e64 v5, v[1:2] div:2
+// CHECK: [0x05,0x00,0x1e,0xd3,0x01,0x01,0x00,0x18]
-v_cvt_f32_f64_e64 v5, s[2:3] mul:4
-// CHECK: [0x05,0x00,0x1e,0xd3,0x02,0x00,0x00,0x10]
+v_cvt_f64_f32 v[5:6], v1
+// CHECK: [0x01,0x21,0x0a,0x7e]
-v_cvt_f32_f64_e64 v5, s[2:3] div:2
-// CHECK: [0x05,0x00,0x1e,0xd3,0x02,0x00,0x00,0x18]
+v_cvt_f64_f32 v[254:255], v1
+// CHECK: [0x01,0x21,0xfc,0x7f]
+
+v_cvt_f64_f32 v[5:6], v255
+// CHECK: [0xff,0x21,0x0a,0x7e]
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], s103
// CHECK: [0x67,0x20,0x0a,0x7e]
@@ -24900,18 +25368,18 @@ v_cvt_f64_f32 v[5:6], 0xaf123456
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_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f64_f32 v[5:6], v255
-// CHECK: [0xff,0x21,0x0a,0x7e]
+v_cvt_f64_f32_e64 v[254:255], v1
+// CHECK: [0xfe,0x00,0x20,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], v255
+// CHECK: [0x05,0x00,0x20,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f64_f32_e64 v[5:6], s1
// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f64_f32_e64 v[254:255], s1
-// CHECK: [0xfe,0x00,0x20,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f64_f32_e64 v[5:6], s103
// CHECK: [0x05,0x00,0x20,0xd3,0x67,0x00,0x00,0x00]
@@ -24963,36 +25431,36 @@ v_cvt_f64_f32_e64 v[5:6], 0.5
v_cvt_f64_f32_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x20,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f64_f32_e64 v[5:6], v1
-// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f64_f32_e64 v[5:6], -v1
+// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x01,0x00,0x20]
-v_cvt_f64_f32_e64 v[5:6], v255
-// CHECK: [0x05,0x00,0x20,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f64_f32_e64 v[5:6], |v1|
+// CHECK: [0x05,0x01,0x20,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], v1 clamp
+// CHECK: [0x05,0x08,0x20,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f64_f32_e64 v[5:6], -s1
-// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x00,0x00,0x20]
+v_cvt_f64_f32_e64 v[5:6], v1 mul:2
+// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x01,0x00,0x08]
-v_cvt_f64_f32_e64 v[5:6], |s1|
-// CHECK: [0x05,0x01,0x20,0xd3,0x01,0x00,0x00,0x00]
+v_cvt_f64_f32_e64 v[5:6], v1 mul:4
+// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x01,0x00,0x10]
-v_cvt_f64_f32_e64 v[5:6], s1 clamp
-// CHECK: [0x05,0x08,0x20,0xd3,0x01,0x00,0x00,0x00]
+v_cvt_f64_f32_e64 v[5:6], v1 div:2
+// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x01,0x00,0x18]
-v_cvt_f64_f32_e64 v[5:6], s1 mul:2
-// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x00,0x00,0x08]
+v_cvt_f32_ubyte0 v5, v1
+// CHECK: [0x01,0x23,0x0a,0x7e]
-v_cvt_f64_f32_e64 v[5:6], s1 mul:4
-// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x00,0x00,0x10]
+v_cvt_f32_ubyte0 v255, v1
+// CHECK: [0x01,0x23,0xfe,0x7f]
-v_cvt_f64_f32_e64 v[5:6], s1 div:2
-// CHECK: [0x05,0x00,0x20,0xd3,0x01,0x00,0x00,0x18]
+v_cvt_f32_ubyte0 v5, v255
+// CHECK: [0xff,0x23,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x22,0x0a,0x7e]
@@ -25050,18 +25518,18 @@ v_cvt_f32_ubyte0 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x22,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte0 v5, v255
-// CHECK: [0xff,0x23,0x0a,0x7e]
+v_cvt_f32_ubyte0_e64 v255, v1
+// CHECK: [0xff,0x00,0x22,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, v255
+// CHECK: [0x05,0x00,0x22,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f32_ubyte0_e64 v5, s1
// CHECK: [0x05,0x00,0x22,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f32_ubyte0_e64 v255, s1
-// CHECK: [0xff,0x00,0x22,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f32_ubyte0_e64 v5, s103
// CHECK: [0x05,0x00,0x22,0xd3,0x67,0x00,0x00,0x00]
@@ -25113,18 +25581,18 @@ v_cvt_f32_ubyte0_e64 v5, 0.5
v_cvt_f32_ubyte0_e64 v5, -4.0
// CHECK: [0x05,0x00,0x22,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f32_ubyte0_e64 v5, v1
-// CHECK: [0x05,0x00,0x22,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f32_ubyte1 v5, v1
+// CHECK: [0x01,0x25,0x0a,0x7e]
-v_cvt_f32_ubyte0_e64 v5, v255
-// CHECK: [0x05,0x00,0x22,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f32_ubyte1 v255, v1
+// CHECK: [0x01,0x25,0xfe,0x7f]
+
+v_cvt_f32_ubyte1 v5, v255
+// CHECK: [0xff,0x25,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x24,0x0a,0x7e]
@@ -25182,18 +25650,18 @@ v_cvt_f32_ubyte1 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x24,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte1 v5, v255
-// CHECK: [0xff,0x25,0x0a,0x7e]
+v_cvt_f32_ubyte1_e64 v255, v1
+// CHECK: [0xff,0x00,0x24,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, v255
+// CHECK: [0x05,0x00,0x24,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f32_ubyte1_e64 v5, s1
// CHECK: [0x05,0x00,0x24,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f32_ubyte1_e64 v255, s1
-// CHECK: [0xff,0x00,0x24,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f32_ubyte1_e64 v5, s103
// CHECK: [0x05,0x00,0x24,0xd3,0x67,0x00,0x00,0x00]
@@ -25245,18 +25713,18 @@ v_cvt_f32_ubyte1_e64 v5, 0.5
v_cvt_f32_ubyte1_e64 v5, -4.0
// CHECK: [0x05,0x00,0x24,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f32_ubyte1_e64 v5, v1
-// CHECK: [0x05,0x00,0x24,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f32_ubyte2 v5, v1
+// CHECK: [0x01,0x27,0x0a,0x7e]
-v_cvt_f32_ubyte1_e64 v5, v255
-// CHECK: [0x05,0x00,0x24,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f32_ubyte2 v255, v1
+// CHECK: [0x01,0x27,0xfe,0x7f]
+
+v_cvt_f32_ubyte2 v5, v255
+// CHECK: [0xff,0x27,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x26,0x0a,0x7e]
@@ -25314,18 +25782,18 @@ v_cvt_f32_ubyte2 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x26,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte2 v5, v255
-// CHECK: [0xff,0x27,0x0a,0x7e]
+v_cvt_f32_ubyte2_e64 v255, v1
+// CHECK: [0xff,0x00,0x26,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, v255
+// CHECK: [0x05,0x00,0x26,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f32_ubyte2_e64 v5, s1
// CHECK: [0x05,0x00,0x26,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f32_ubyte2_e64 v255, s1
-// CHECK: [0xff,0x00,0x26,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f32_ubyte2_e64 v5, s103
// CHECK: [0x05,0x00,0x26,0xd3,0x67,0x00,0x00,0x00]
@@ -25377,18 +25845,18 @@ v_cvt_f32_ubyte2_e64 v5, 0.5
v_cvt_f32_ubyte2_e64 v5, -4.0
// CHECK: [0x05,0x00,0x26,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f32_ubyte2_e64 v5, v1
-// CHECK: [0x05,0x00,0x26,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f32_ubyte3 v5, v1
+// CHECK: [0x01,0x29,0x0a,0x7e]
-v_cvt_f32_ubyte2_e64 v5, v255
-// CHECK: [0x05,0x00,0x26,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f32_ubyte3 v255, v1
+// CHECK: [0x01,0x29,0xfe,0x7f]
+
+v_cvt_f32_ubyte3 v5, v255
+// CHECK: [0xff,0x29,0x0a,0x7e]
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, s103
// CHECK: [0x67,0x28,0x0a,0x7e]
@@ -25446,18 +25914,18 @@ v_cvt_f32_ubyte3 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x28,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte3 v5, v255
-// CHECK: [0xff,0x29,0x0a,0x7e]
+v_cvt_f32_ubyte3_e64 v255, v1
+// CHECK: [0xff,0x00,0x28,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, v255
+// CHECK: [0x05,0x00,0x28,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f32_ubyte3_e64 v5, s1
// CHECK: [0x05,0x00,0x28,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f32_ubyte3_e64 v255, s1
-// CHECK: [0xff,0x00,0x28,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f32_ubyte3_e64 v5, s103
// CHECK: [0x05,0x00,0x28,0xd3,0x67,0x00,0x00,0x00]
@@ -25509,18 +25977,18 @@ v_cvt_f32_ubyte3_e64 v5, 0.5
v_cvt_f32_ubyte3_e64 v5, -4.0
// CHECK: [0x05,0x00,0x28,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f32_ubyte3_e64 v5, v1
-// CHECK: [0x05,0x00,0x28,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_u32_f64 v5, v[1:2]
+// CHECK: [0x01,0x2b,0x0a,0x7e]
-v_cvt_f32_ubyte3_e64 v5, v255
-// CHECK: [0x05,0x00,0x28,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_u32_f64 v255, v[1:2]
+// CHECK: [0x01,0x2b,0xfe,0x7f]
+
+v_cvt_u32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x2b,0x0a,0x7e]
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]
@@ -25563,18 +26031,18 @@ v_cvt_u32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x2a,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_u32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x2b,0x0a,0x7e]
+v_cvt_u32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,0x00,0x2a,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, v[254:255]
+// CHECK: [0x05,0x00,0x2a,0xd3,0xfe,0x01,0x00,0x00]
v_cvt_u32_f64_e64 v5, s[2:3]
// CHECK: [0x05,0x00,0x2a,0xd3,0x02,0x00,0x00,0x00]
-v_cvt_u32_f64_e64 v255, s[2:3]
-// CHECK: [0xff,0x00,0x2a,0xd3,0x02,0x00,0x00,0x00]
-
v_cvt_u32_f64_e64 v5, s[4:5]
// CHECK: [0x05,0x00,0x2a,0xd3,0x04,0x00,0x00,0x00]
@@ -25611,24 +26079,24 @@ v_cvt_u32_f64_e64 v5, 0.5
v_cvt_u32_f64_e64 v5, -4.0
// CHECK: [0x05,0x00,0x2a,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_u32_f64_e64 v5, v[1:2]
-// CHECK: [0x05,0x00,0x2a,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_u32_f64_e64 v5, -v[1:2]
+// CHECK: [0x05,0x00,0x2a,0xd3,0x01,0x01,0x00,0x20]
-v_cvt_u32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x2a,0xd3,0xfe,0x01,0x00,0x00]
+v_cvt_u32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x2a,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_u32_f64_e64 v5, -s[2:3]
-// CHECK: [0x05,0x00,0x2a,0xd3,0x02,0x00,0x00,0x20]
+v_cvt_f64_u32 v[5:6], v1
+// CHECK: [0x01,0x2d,0x0a,0x7e]
-v_cvt_u32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x2a,0xd3,0x02,0x00,0x00,0x00]
+v_cvt_f64_u32 v[254:255], v1
+// CHECK: [0x01,0x2d,0xfc,0x7f]
+
+v_cvt_f64_u32 v[5:6], v255
+// CHECK: [0xff,0x2d,0x0a,0x7e]
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], s103
// CHECK: [0x67,0x2c,0x0a,0x7e]
@@ -25686,18 +26154,18 @@ v_cvt_f64_u32 v[5:6], 0xaf123456
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_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x2c,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f64_u32 v[5:6], v255
-// CHECK: [0xff,0x2d,0x0a,0x7e]
+v_cvt_f64_u32_e64 v[254:255], v1
+// CHECK: [0xfe,0x00,0x2c,0xd3,0x01,0x01,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], v255
+// CHECK: [0x05,0x00,0x2c,0xd3,0xff,0x01,0x00,0x00]
v_cvt_f64_u32_e64 v[5:6], s1
// CHECK: [0x05,0x00,0x2c,0xd3,0x01,0x00,0x00,0x00]
-v_cvt_f64_u32_e64 v[254:255], s1
-// CHECK: [0xfe,0x00,0x2c,0xd3,0x01,0x00,0x00,0x00]
-
v_cvt_f64_u32_e64 v[5:6], s103
// CHECK: [0x05,0x00,0x2c,0xd3,0x67,0x00,0x00,0x00]
@@ -25749,18 +26217,30 @@ v_cvt_f64_u32_e64 v[5:6], 0.5
v_cvt_f64_u32_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x2c,0xd3,0xf7,0x00,0x00,0x00]
-v_cvt_f64_u32_e64 v[5:6], v1
-// CHECK: [0x05,0x00,0x2c,0xd3,0x01,0x01,0x00,0x00]
+v_cvt_f64_u32_e64 v[5:6], v1 clamp
+// CHECK: [0x05,0x08,0x2c,0xd3,0x01,0x01,0x00,0x00]
-v_cvt_f64_u32_e64 v[5:6], v255
-// CHECK: [0x05,0x00,0x2c,0xd3,0xff,0x01,0x00,0x00]
+v_cvt_f64_u32_e64 v[5:6], v1 mul:2
+// CHECK: [0x05,0x00,0x2c,0xd3,0x01,0x01,0x00,0x08]
+
+v_cvt_f64_u32_e64 v[5:6], v1 mul:4
+// CHECK: [0x05,0x00,0x2c,0xd3,0x01,0x01,0x00,0x10]
+
+v_cvt_f64_u32_e64 v[5:6], v1 div:2
+// CHECK: [0x05,0x00,0x2c,0xd3,0x01,0x01,0x00,0x18]
+
+v_trunc_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x2f,0x0a,0x7e]
+
+v_trunc_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x2f,0xfc,0x7f]
+
+v_trunc_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x2f,0x0a,0x7e]
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]
@@ -25803,18 +26283,18 @@ v_trunc_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x2e,0xd3,0x01,0x01,0x00,0x00]
-v_trunc_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x2f,0x0a,0x7e]
+v_trunc_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x2e,0xd3,0x01,0x01,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x2e,0xd3,0xfe,0x01,0x00,0x00]
v_trunc_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x2e,0xd3,0x02,0x00,0x00,0x00]
-v_trunc_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x2e,0xd3,0x02,0x00,0x00,0x00]
-
v_trunc_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x2e,0xd3,0x04,0x00,0x00,0x00]
@@ -25851,36 +26331,36 @@ v_trunc_f64_e64 v[5:6], 0.5
v_trunc_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x2e,0xd3,0xf7,0x00,0x00,0x00]
-v_trunc_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x2e,0xd3,0x01,0x01,0x00,0x00]
+v_trunc_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x2e,0xd3,0x01,0x01,0x00,0x20]
-v_trunc_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x2e,0xd3,0xfe,0x01,0x00,0x00]
+v_trunc_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x2e,0xd3,0x01,0x01,0x00,0x00]
-v_trunc_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x2e,0xd3,0x02,0x00,0x00,0x20]
+v_trunc_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x2e,0xd3,0x01,0x01,0x00,0x00]
-v_trunc_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x2e,0xd3,0x02,0x00,0x00,0x00]
+v_trunc_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x2e,0xd3,0x01,0x01,0x00,0x08]
-v_trunc_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x2e,0xd3,0x02,0x00,0x00,0x00]
+v_trunc_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x2e,0xd3,0x01,0x01,0x00,0x10]
-v_trunc_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x2e,0xd3,0x02,0x00,0x00,0x08]
+v_trunc_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x2e,0xd3,0x01,0x01,0x00,0x18]
-v_trunc_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x2e,0xd3,0x02,0x00,0x00,0x10]
+v_ceil_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x31,0x0a,0x7e]
-v_trunc_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x2e,0xd3,0x02,0x00,0x00,0x18]
+v_ceil_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x31,0xfc,0x7f]
+
+v_ceil_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x31,0x0a,0x7e]
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]
@@ -25923,18 +26403,18 @@ v_ceil_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x30,0xd3,0x01,0x01,0x00,0x00]
-v_ceil_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x31,0x0a,0x7e]
+v_ceil_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x30,0xd3,0x01,0x01,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x30,0xd3,0xfe,0x01,0x00,0x00]
v_ceil_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x30,0xd3,0x02,0x00,0x00,0x00]
-v_ceil_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x30,0xd3,0x02,0x00,0x00,0x00]
-
v_ceil_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x30,0xd3,0x04,0x00,0x00,0x00]
@@ -25971,36 +26451,36 @@ v_ceil_f64_e64 v[5:6], 0.5
v_ceil_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x30,0xd3,0xf7,0x00,0x00,0x00]
-v_ceil_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x30,0xd3,0x01,0x01,0x00,0x00]
+v_ceil_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x30,0xd3,0x01,0x01,0x00,0x20]
-v_ceil_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x30,0xd3,0xfe,0x01,0x00,0x00]
+v_ceil_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x30,0xd3,0x01,0x01,0x00,0x00]
-v_ceil_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x30,0xd3,0x02,0x00,0x00,0x20]
+v_ceil_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x30,0xd3,0x01,0x01,0x00,0x00]
-v_ceil_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x30,0xd3,0x02,0x00,0x00,0x00]
+v_ceil_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x30,0xd3,0x01,0x01,0x00,0x08]
-v_ceil_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x30,0xd3,0x02,0x00,0x00,0x00]
+v_ceil_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x30,0xd3,0x01,0x01,0x00,0x10]
-v_ceil_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x30,0xd3,0x02,0x00,0x00,0x08]
+v_ceil_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x30,0xd3,0x01,0x01,0x00,0x18]
-v_ceil_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x30,0xd3,0x02,0x00,0x00,0x10]
+v_rndne_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x33,0x0a,0x7e]
+
+v_rndne_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x33,0xfc,0x7f]
-v_ceil_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x30,0xd3,0x02,0x00,0x00,0x18]
+v_rndne_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x33,0x0a,0x7e]
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]
@@ -26043,18 +26523,18 @@ v_rndne_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x32,0xd3,0x01,0x01,0x00,0x00]
-v_rndne_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x33,0x0a,0x7e]
+v_rndne_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x32,0xd3,0x01,0x01,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x32,0xd3,0xfe,0x01,0x00,0x00]
v_rndne_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x32,0xd3,0x02,0x00,0x00,0x00]
-v_rndne_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x32,0xd3,0x02,0x00,0x00,0x00]
-
v_rndne_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x32,0xd3,0x04,0x00,0x00,0x00]
@@ -26091,36 +26571,36 @@ v_rndne_f64_e64 v[5:6], 0.5
v_rndne_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x32,0xd3,0xf7,0x00,0x00,0x00]
-v_rndne_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x32,0xd3,0x01,0x01,0x00,0x00]
+v_rndne_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x32,0xd3,0x01,0x01,0x00,0x20]
-v_rndne_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x32,0xd3,0xfe,0x01,0x00,0x00]
+v_rndne_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x32,0xd3,0x01,0x01,0x00,0x00]
-v_rndne_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x32,0xd3,0x02,0x00,0x00,0x20]
+v_rndne_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x32,0xd3,0x01,0x01,0x00,0x00]
-v_rndne_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x32,0xd3,0x02,0x00,0x00,0x00]
+v_rndne_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x32,0xd3,0x01,0x01,0x00,0x08]
-v_rndne_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x32,0xd3,0x02,0x00,0x00,0x00]
+v_rndne_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x32,0xd3,0x01,0x01,0x00,0x10]
-v_rndne_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x32,0xd3,0x02,0x00,0x00,0x08]
+v_rndne_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x32,0xd3,0x01,0x01,0x00,0x18]
-v_rndne_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x32,0xd3,0x02,0x00,0x00,0x10]
+v_floor_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x35,0x0a,0x7e]
-v_rndne_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x32,0xd3,0x02,0x00,0x00,0x18]
+v_floor_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x35,0xfc,0x7f]
+
+v_floor_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x35,0x0a,0x7e]
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]
@@ -26163,18 +26643,18 @@ v_floor_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x34,0xd3,0x01,0x01,0x00,0x00]
-v_floor_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x35,0x0a,0x7e]
+v_floor_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x34,0xd3,0x01,0x01,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x34,0xd3,0xfe,0x01,0x00,0x00]
v_floor_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x34,0xd3,0x02,0x00,0x00,0x00]
-v_floor_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x34,0xd3,0x02,0x00,0x00,0x00]
-
v_floor_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x34,0xd3,0x04,0x00,0x00,0x00]
@@ -26211,36 +26691,36 @@ v_floor_f64_e64 v[5:6], 0.5
v_floor_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x34,0xd3,0xf7,0x00,0x00,0x00]
-v_floor_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x34,0xd3,0x01,0x01,0x00,0x00]
+v_floor_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x34,0xd3,0x01,0x01,0x00,0x20]
-v_floor_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x34,0xd3,0xfe,0x01,0x00,0x00]
+v_floor_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x34,0xd3,0x01,0x01,0x00,0x00]
-v_floor_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x34,0xd3,0x02,0x00,0x00,0x20]
+v_floor_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x34,0xd3,0x01,0x01,0x00,0x00]
-v_floor_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x34,0xd3,0x02,0x00,0x00,0x00]
+v_floor_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x34,0xd3,0x01,0x01,0x00,0x08]
-v_floor_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x34,0xd3,0x02,0x00,0x00,0x00]
+v_floor_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x34,0xd3,0x01,0x01,0x00,0x10]
-v_floor_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x34,0xd3,0x02,0x00,0x00,0x08]
+v_floor_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x34,0xd3,0x01,0x01,0x00,0x18]
+
+v_fract_f32 v5, v1
+// CHECK: [0x01,0x41,0x0a,0x7e]
-v_floor_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x34,0xd3,0x02,0x00,0x00,0x10]
+v_fract_f32 v255, v1
+// CHECK: [0x01,0x41,0xfe,0x7f]
-v_floor_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x34,0xd3,0x02,0x00,0x00,0x18]
+v_fract_f32 v5, v255
+// CHECK: [0xff,0x41,0x0a,0x7e]
v_fract_f32 v5, s1
// CHECK: [0x01,0x40,0x0a,0x7e]
-v_fract_f32 v255, s1
-// CHECK: [0x01,0x40,0xfe,0x7f]
-
v_fract_f32 v5, s103
// CHECK: [0x67,0x40,0x0a,0x7e]
@@ -26298,18 +26778,18 @@ v_fract_f32 v5, 0xaf123456
v_fract_f32 v5, 0x3f717273
// CHECK: [0xff,0x40,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_fract_f32 v5, v1
-// CHECK: [0x01,0x41,0x0a,0x7e]
+v_fract_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x01,0x00,0x00]
-v_fract_f32 v5, v255
-// CHECK: [0xff,0x41,0x0a,0x7e]
+v_fract_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x40,0xd3,0x01,0x01,0x00,0x00]
+
+v_fract_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x40,0xd3,0xff,0x01,0x00,0x00]
v_fract_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x00,0x00,0x00]
-v_fract_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x40,0xd3,0x01,0x00,0x00,0x00]
-
v_fract_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x40,0xd3,0x67,0x00,0x00,0x00]
@@ -26361,36 +26841,36 @@ v_fract_f32_e64 v5, 0.5
v_fract_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x40,0xd3,0xf7,0x00,0x00,0x00]
-v_fract_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x01,0x00,0x00]
+v_fract_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x01,0x00,0x20]
-v_fract_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x40,0xd3,0xff,0x01,0x00,0x00]
+v_fract_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x40,0xd3,0x01,0x01,0x00,0x00]
+
+v_fract_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x40,0xd3,0x01,0x01,0x00,0x00]
-v_fract_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x00,0x00,0x20]
+v_fract_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x01,0x00,0x08]
-v_fract_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x40,0xd3,0x01,0x00,0x00,0x00]
+v_fract_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x01,0x00,0x10]
-v_fract_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x40,0xd3,0x01,0x00,0x00,0x00]
+v_fract_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x01,0x00,0x18]
-v_fract_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x00,0x00,0x08]
+v_trunc_f32 v5, v1
+// CHECK: [0x01,0x43,0x0a,0x7e]
-v_fract_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x00,0x00,0x10]
+v_trunc_f32 v255, v1
+// CHECK: [0x01,0x43,0xfe,0x7f]
-v_fract_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x40,0xd3,0x01,0x00,0x00,0x18]
+v_trunc_f32 v5, v255
+// CHECK: [0xff,0x43,0x0a,0x7e]
v_trunc_f32 v5, s1
// CHECK: [0x01,0x42,0x0a,0x7e]
-v_trunc_f32 v255, s1
-// CHECK: [0x01,0x42,0xfe,0x7f]
-
v_trunc_f32 v5, s103
// CHECK: [0x67,0x42,0x0a,0x7e]
@@ -26448,18 +26928,18 @@ v_trunc_f32 v5, 0xaf123456
v_trunc_f32 v5, 0x3f717273
// CHECK: [0xff,0x42,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_trunc_f32 v5, v1
-// CHECK: [0x01,0x43,0x0a,0x7e]
+v_trunc_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x01,0x00,0x00]
-v_trunc_f32 v5, v255
-// CHECK: [0xff,0x43,0x0a,0x7e]
+v_trunc_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x42,0xd3,0x01,0x01,0x00,0x00]
+
+v_trunc_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x42,0xd3,0xff,0x01,0x00,0x00]
v_trunc_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x00,0x00,0x00]
-v_trunc_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x42,0xd3,0x01,0x00,0x00,0x00]
-
v_trunc_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x42,0xd3,0x67,0x00,0x00,0x00]
@@ -26511,36 +26991,36 @@ v_trunc_f32_e64 v5, 0.5
v_trunc_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x42,0xd3,0xf7,0x00,0x00,0x00]
-v_trunc_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x01,0x00,0x00]
+v_trunc_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x01,0x00,0x20]
-v_trunc_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x42,0xd3,0xff,0x01,0x00,0x00]
+v_trunc_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x42,0xd3,0x01,0x01,0x00,0x00]
-v_trunc_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x00,0x00,0x20]
+v_trunc_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x42,0xd3,0x01,0x01,0x00,0x00]
-v_trunc_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x42,0xd3,0x01,0x00,0x00,0x00]
+v_trunc_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x01,0x00,0x08]
-v_trunc_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x42,0xd3,0x01,0x00,0x00,0x00]
+v_trunc_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x01,0x00,0x10]
-v_trunc_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x00,0x00,0x08]
+v_trunc_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x01,0x00,0x18]
-v_trunc_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x00,0x00,0x10]
+v_ceil_f32 v5, v1
+// CHECK: [0x01,0x45,0x0a,0x7e]
+
+v_ceil_f32 v255, v1
+// CHECK: [0x01,0x45,0xfe,0x7f]
-v_trunc_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x42,0xd3,0x01,0x00,0x00,0x18]
+v_ceil_f32 v5, v255
+// CHECK: [0xff,0x45,0x0a,0x7e]
v_ceil_f32 v5, s1
// CHECK: [0x01,0x44,0x0a,0x7e]
-v_ceil_f32 v255, s1
-// CHECK: [0x01,0x44,0xfe,0x7f]
-
v_ceil_f32 v5, s103
// CHECK: [0x67,0x44,0x0a,0x7e]
@@ -26598,18 +27078,18 @@ v_ceil_f32 v5, 0xaf123456
v_ceil_f32 v5, 0x3f717273
// CHECK: [0xff,0x44,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_ceil_f32 v5, v1
-// CHECK: [0x01,0x45,0x0a,0x7e]
+v_ceil_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x01,0x00,0x00]
-v_ceil_f32 v5, v255
-// CHECK: [0xff,0x45,0x0a,0x7e]
+v_ceil_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x44,0xd3,0x01,0x01,0x00,0x00]
+
+v_ceil_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x44,0xd3,0xff,0x01,0x00,0x00]
v_ceil_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x00,0x00,0x00]
-v_ceil_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x44,0xd3,0x01,0x00,0x00,0x00]
-
v_ceil_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x44,0xd3,0x67,0x00,0x00,0x00]
@@ -26661,36 +27141,36 @@ v_ceil_f32_e64 v5, 0.5
v_ceil_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x44,0xd3,0xf7,0x00,0x00,0x00]
-v_ceil_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x01,0x00,0x00]
+v_ceil_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x01,0x00,0x20]
-v_ceil_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x44,0xd3,0xff,0x01,0x00,0x00]
+v_ceil_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x44,0xd3,0x01,0x01,0x00,0x00]
-v_ceil_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x00,0x00,0x20]
+v_ceil_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x44,0xd3,0x01,0x01,0x00,0x00]
-v_ceil_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x44,0xd3,0x01,0x00,0x00,0x00]
+v_ceil_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x01,0x00,0x08]
-v_ceil_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x44,0xd3,0x01,0x00,0x00,0x00]
+v_ceil_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x01,0x00,0x10]
-v_ceil_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x00,0x00,0x08]
+v_ceil_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x01,0x00,0x18]
-v_ceil_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x00,0x00,0x10]
+v_rndne_f32 v5, v1
+// CHECK: [0x01,0x47,0x0a,0x7e]
-v_ceil_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x44,0xd3,0x01,0x00,0x00,0x18]
+v_rndne_f32 v255, v1
+// CHECK: [0x01,0x47,0xfe,0x7f]
+
+v_rndne_f32 v5, v255
+// CHECK: [0xff,0x47,0x0a,0x7e]
v_rndne_f32 v5, s1
// CHECK: [0x01,0x46,0x0a,0x7e]
-v_rndne_f32 v255, s1
-// CHECK: [0x01,0x46,0xfe,0x7f]
-
v_rndne_f32 v5, s103
// CHECK: [0x67,0x46,0x0a,0x7e]
@@ -26748,18 +27228,18 @@ v_rndne_f32 v5, 0xaf123456
v_rndne_f32 v5, 0x3f717273
// CHECK: [0xff,0x46,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rndne_f32 v5, v1
-// CHECK: [0x01,0x47,0x0a,0x7e]
+v_rndne_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x01,0x00,0x00]
-v_rndne_f32 v5, v255
-// CHECK: [0xff,0x47,0x0a,0x7e]
+v_rndne_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x46,0xd3,0x01,0x01,0x00,0x00]
+
+v_rndne_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x46,0xd3,0xff,0x01,0x00,0x00]
v_rndne_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x00,0x00,0x00]
-v_rndne_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x46,0xd3,0x01,0x00,0x00,0x00]
-
v_rndne_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x46,0xd3,0x67,0x00,0x00,0x00]
@@ -26811,36 +27291,36 @@ v_rndne_f32_e64 v5, 0.5
v_rndne_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x46,0xd3,0xf7,0x00,0x00,0x00]
-v_rndne_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x01,0x00,0x00]
+v_rndne_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x01,0x00,0x20]
-v_rndne_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x46,0xd3,0xff,0x01,0x00,0x00]
+v_rndne_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x46,0xd3,0x01,0x01,0x00,0x00]
-v_rndne_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x00,0x00,0x20]
+v_rndne_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x46,0xd3,0x01,0x01,0x00,0x00]
-v_rndne_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x46,0xd3,0x01,0x00,0x00,0x00]
+v_rndne_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x01,0x00,0x08]
-v_rndne_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x46,0xd3,0x01,0x00,0x00,0x00]
+v_rndne_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x01,0x00,0x10]
-v_rndne_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x00,0x00,0x08]
+v_rndne_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x01,0x00,0x18]
+
+v_floor_f32 v5, v1
+// CHECK: [0x01,0x49,0x0a,0x7e]
-v_rndne_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x00,0x00,0x10]
+v_floor_f32 v255, v1
+// CHECK: [0x01,0x49,0xfe,0x7f]
-v_rndne_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x46,0xd3,0x01,0x00,0x00,0x18]
+v_floor_f32 v5, v255
+// CHECK: [0xff,0x49,0x0a,0x7e]
v_floor_f32 v5, s1
// CHECK: [0x01,0x48,0x0a,0x7e]
-v_floor_f32 v255, s1
-// CHECK: [0x01,0x48,0xfe,0x7f]
-
v_floor_f32 v5, s103
// CHECK: [0x67,0x48,0x0a,0x7e]
@@ -26898,18 +27378,18 @@ v_floor_f32 v5, 0xaf123456
v_floor_f32 v5, 0x3f717273
// CHECK: [0xff,0x48,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_floor_f32 v5, v1
-// CHECK: [0x01,0x49,0x0a,0x7e]
+v_floor_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x01,0x00,0x00]
-v_floor_f32 v5, v255
-// CHECK: [0xff,0x49,0x0a,0x7e]
+v_floor_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x48,0xd3,0x01,0x01,0x00,0x00]
+
+v_floor_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x48,0xd3,0xff,0x01,0x00,0x00]
v_floor_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x00,0x00,0x00]
-v_floor_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x48,0xd3,0x01,0x00,0x00,0x00]
-
v_floor_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x48,0xd3,0x67,0x00,0x00,0x00]
@@ -26961,36 +27441,36 @@ v_floor_f32_e64 v5, 0.5
v_floor_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x48,0xd3,0xf7,0x00,0x00,0x00]
-v_floor_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x01,0x00,0x00]
+v_floor_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x01,0x00,0x20]
-v_floor_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x48,0xd3,0xff,0x01,0x00,0x00]
+v_floor_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x48,0xd3,0x01,0x01,0x00,0x00]
+
+v_floor_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x48,0xd3,0x01,0x01,0x00,0x00]
-v_floor_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x00,0x00,0x20]
+v_floor_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x01,0x00,0x08]
-v_floor_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x48,0xd3,0x01,0x00,0x00,0x00]
+v_floor_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x01,0x00,0x10]
-v_floor_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x48,0xd3,0x01,0x00,0x00,0x00]
+v_floor_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x01,0x00,0x18]
-v_floor_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x00,0x00,0x08]
+v_exp_f32 v5, v1
+// CHECK: [0x01,0x4b,0x0a,0x7e]
-v_floor_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x00,0x00,0x10]
+v_exp_f32 v255, v1
+// CHECK: [0x01,0x4b,0xfe,0x7f]
-v_floor_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x48,0xd3,0x01,0x00,0x00,0x18]
+v_exp_f32 v5, v255
+// CHECK: [0xff,0x4b,0x0a,0x7e]
v_exp_f32 v5, s1
// CHECK: [0x01,0x4a,0x0a,0x7e]
-v_exp_f32 v255, s1
-// CHECK: [0x01,0x4a,0xfe,0x7f]
-
v_exp_f32 v5, s103
// CHECK: [0x67,0x4a,0x0a,0x7e]
@@ -27048,18 +27528,18 @@ v_exp_f32 v5, 0xaf123456
v_exp_f32 v5, 0x3f717273
// CHECK: [0xff,0x4a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_exp_f32 v5, v1
-// CHECK: [0x01,0x4b,0x0a,0x7e]
+v_exp_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x01,0x00,0x00]
-v_exp_f32 v5, v255
-// CHECK: [0xff,0x4b,0x0a,0x7e]
+v_exp_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x4a,0xd3,0x01,0x01,0x00,0x00]
+
+v_exp_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x4a,0xd3,0xff,0x01,0x00,0x00]
v_exp_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x00,0x00,0x00]
-v_exp_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x4a,0xd3,0x01,0x00,0x00,0x00]
-
v_exp_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x4a,0xd3,0x67,0x00,0x00,0x00]
@@ -27111,30 +27591,30 @@ v_exp_f32_e64 v5, 0.5
v_exp_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x4a,0xd3,0xf7,0x00,0x00,0x00]
-v_exp_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x01,0x00,0x00]
+v_exp_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x01,0x00,0x20]
-v_exp_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x4a,0xd3,0xff,0x01,0x00,0x00]
+v_exp_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x01,0x00,0x08]
-v_exp_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x00,0x00,0x20]
+v_exp_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x01,0x00,0x10]
-v_exp_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x00,0x00,0x08]
+v_exp_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x01,0x00,0x18]
-v_exp_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x00,0x00,0x10]
+v_log_clamp_f32 v5, v1
+// CHECK: [0x01,0x4d,0x0a,0x7e]
+
+v_log_clamp_f32 v255, v1
+// CHECK: [0x01,0x4d,0xfe,0x7f]
-v_exp_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x4a,0xd3,0x01,0x00,0x00,0x18]
+v_log_clamp_f32 v5, v255
+// CHECK: [0xff,0x4d,0x0a,0x7e]
v_log_clamp_f32 v5, s1
// CHECK: [0x01,0x4c,0x0a,0x7e]
-v_log_clamp_f32 v255, s1
-// CHECK: [0x01,0x4c,0xfe,0x7f]
-
v_log_clamp_f32 v5, s103
// CHECK: [0x67,0x4c,0x0a,0x7e]
@@ -27192,18 +27672,18 @@ v_log_clamp_f32 v5, 0xaf123456
v_log_clamp_f32 v5, 0x3f717273
// CHECK: [0xff,0x4c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_log_clamp_f32 v5, v1
-// CHECK: [0x01,0x4d,0x0a,0x7e]
+v_log_clamp_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x01,0x00,0x00]
-v_log_clamp_f32 v5, v255
-// CHECK: [0xff,0x4d,0x0a,0x7e]
+v_log_clamp_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x4c,0xd3,0x01,0x01,0x00,0x00]
+
+v_log_clamp_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x4c,0xd3,0xff,0x01,0x00,0x00]
v_log_clamp_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x00,0x00,0x00]
-v_log_clamp_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x4c,0xd3,0x01,0x00,0x00,0x00]
-
v_log_clamp_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x4c,0xd3,0x67,0x00,0x00,0x00]
@@ -27255,30 +27735,30 @@ v_log_clamp_f32_e64 v5, 0.5
v_log_clamp_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x4c,0xd3,0xf7,0x00,0x00,0x00]
-v_log_clamp_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x01,0x00,0x00]
+v_log_clamp_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x01,0x00,0x20]
-v_log_clamp_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x4c,0xd3,0xff,0x01,0x00,0x00]
+v_log_clamp_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x01,0x00,0x08]
+
+v_log_clamp_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x01,0x00,0x10]
-v_log_clamp_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x00,0x00,0x20]
+v_log_clamp_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x01,0x00,0x18]
-v_log_clamp_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x00,0x00,0x08]
+v_log_f32 v5, v1
+// CHECK: [0x01,0x4f,0x0a,0x7e]
-v_log_clamp_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x00,0x00,0x10]
+v_log_f32 v255, v1
+// CHECK: [0x01,0x4f,0xfe,0x7f]
-v_log_clamp_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x4c,0xd3,0x01,0x00,0x00,0x18]
+v_log_f32 v5, v255
+// CHECK: [0xff,0x4f,0x0a,0x7e]
v_log_f32 v5, s1
// CHECK: [0x01,0x4e,0x0a,0x7e]
-v_log_f32 v255, s1
-// CHECK: [0x01,0x4e,0xfe,0x7f]
-
v_log_f32 v5, s103
// CHECK: [0x67,0x4e,0x0a,0x7e]
@@ -27336,18 +27816,18 @@ v_log_f32 v5, 0xaf123456
v_log_f32 v5, 0x3f717273
// CHECK: [0xff,0x4e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_log_f32 v5, v1
-// CHECK: [0x01,0x4f,0x0a,0x7e]
+v_log_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x01,0x00,0x00]
-v_log_f32 v5, v255
-// CHECK: [0xff,0x4f,0x0a,0x7e]
+v_log_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x4e,0xd3,0x01,0x01,0x00,0x00]
+
+v_log_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x4e,0xd3,0xff,0x01,0x00,0x00]
v_log_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x00,0x00,0x00]
-v_log_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x4e,0xd3,0x01,0x00,0x00,0x00]
-
v_log_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x4e,0xd3,0x67,0x00,0x00,0x00]
@@ -27399,30 +27879,30 @@ v_log_f32_e64 v5, 0.5
v_log_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x4e,0xd3,0xf7,0x00,0x00,0x00]
-v_log_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x01,0x00,0x00]
+v_log_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x01,0x00,0x20]
-v_log_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x4e,0xd3,0xff,0x01,0x00,0x00]
+v_log_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x01,0x00,0x08]
-v_log_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x00,0x00,0x20]
+v_log_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x01,0x00,0x10]
-v_log_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x00,0x00,0x08]
+v_log_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x01,0x00,0x18]
-v_log_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x00,0x00,0x10]
+v_rcp_clamp_f32 v5, v1
+// CHECK: [0x01,0x51,0x0a,0x7e]
-v_log_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x4e,0xd3,0x01,0x00,0x00,0x18]
+v_rcp_clamp_f32 v255, v1
+// CHECK: [0x01,0x51,0xfe,0x7f]
+
+v_rcp_clamp_f32 v5, v255
+// CHECK: [0xff,0x51,0x0a,0x7e]
v_rcp_clamp_f32 v5, s1
// CHECK: [0x01,0x50,0x0a,0x7e]
-v_rcp_clamp_f32 v255, s1
-// CHECK: [0x01,0x50,0xfe,0x7f]
-
v_rcp_clamp_f32 v5, s103
// CHECK: [0x67,0x50,0x0a,0x7e]
@@ -27480,18 +27960,18 @@ v_rcp_clamp_f32 v5, 0xaf123456
v_rcp_clamp_f32 v5, 0x3f717273
// CHECK: [0xff,0x50,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rcp_clamp_f32 v5, v1
-// CHECK: [0x01,0x51,0x0a,0x7e]
+v_rcp_clamp_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_clamp_f32 v5, v255
-// CHECK: [0xff,0x51,0x0a,0x7e]
+v_rcp_clamp_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x50,0xd3,0x01,0x01,0x00,0x00]
+
+v_rcp_clamp_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x50,0xd3,0xff,0x01,0x00,0x00]
v_rcp_clamp_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x00,0x00,0x00]
-v_rcp_clamp_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x50,0xd3,0x01,0x00,0x00,0x00]
-
v_rcp_clamp_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x50,0xd3,0x67,0x00,0x00,0x00]
@@ -27543,30 +28023,30 @@ v_rcp_clamp_f32_e64 v5, 0.5
v_rcp_clamp_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x50,0xd3,0xf7,0x00,0x00,0x00]
-v_rcp_clamp_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x01,0x00,0x00]
+v_rcp_clamp_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x01,0x00,0x20]
-v_rcp_clamp_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x50,0xd3,0xff,0x01,0x00,0x00]
+v_rcp_clamp_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x01,0x00,0x08]
-v_rcp_clamp_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x00,0x00,0x20]
+v_rcp_clamp_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x01,0x00,0x10]
-v_rcp_clamp_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x00,0x00,0x08]
+v_rcp_clamp_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x01,0x00,0x18]
-v_rcp_clamp_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x00,0x00,0x10]
+v_rcp_legacy_f32 v5, v1
+// CHECK: [0x01,0x53,0x0a,0x7e]
+
+v_rcp_legacy_f32 v255, v1
+// CHECK: [0x01,0x53,0xfe,0x7f]
-v_rcp_clamp_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x50,0xd3,0x01,0x00,0x00,0x18]
+v_rcp_legacy_f32 v5, v255
+// CHECK: [0xff,0x53,0x0a,0x7e]
v_rcp_legacy_f32 v5, s1
// CHECK: [0x01,0x52,0x0a,0x7e]
-v_rcp_legacy_f32 v255, s1
-// CHECK: [0x01,0x52,0xfe,0x7f]
-
v_rcp_legacy_f32 v5, s103
// CHECK: [0x67,0x52,0x0a,0x7e]
@@ -27624,18 +28104,18 @@ v_rcp_legacy_f32 v5, 0xaf123456
v_rcp_legacy_f32 v5, 0x3f717273
// CHECK: [0xff,0x52,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rcp_legacy_f32 v5, v1
-// CHECK: [0x01,0x53,0x0a,0x7e]
+v_rcp_legacy_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_legacy_f32 v5, v255
-// CHECK: [0xff,0x53,0x0a,0x7e]
+v_rcp_legacy_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x52,0xd3,0x01,0x01,0x00,0x00]
+
+v_rcp_legacy_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x52,0xd3,0xff,0x01,0x00,0x00]
v_rcp_legacy_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x00,0x00,0x00]
-v_rcp_legacy_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x52,0xd3,0x01,0x00,0x00,0x00]
-
v_rcp_legacy_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x52,0xd3,0x67,0x00,0x00,0x00]
@@ -27687,30 +28167,30 @@ v_rcp_legacy_f32_e64 v5, 0.5
v_rcp_legacy_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x52,0xd3,0xf7,0x00,0x00,0x00]
-v_rcp_legacy_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x01,0x00,0x00]
+v_rcp_legacy_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x01,0x00,0x20]
-v_rcp_legacy_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x52,0xd3,0xff,0x01,0x00,0x00]
+v_rcp_legacy_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x01,0x00,0x08]
-v_rcp_legacy_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x00,0x00,0x20]
+v_rcp_legacy_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x01,0x00,0x10]
-v_rcp_legacy_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x00,0x00,0x08]
+v_rcp_legacy_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x01,0x00,0x18]
-v_rcp_legacy_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x00,0x00,0x10]
+v_rcp_f32 v5, v1
+// CHECK: [0x01,0x55,0x0a,0x7e]
-v_rcp_legacy_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x52,0xd3,0x01,0x00,0x00,0x18]
+v_rcp_f32 v255, v1
+// CHECK: [0x01,0x55,0xfe,0x7f]
+
+v_rcp_f32 v5, v255
+// CHECK: [0xff,0x55,0x0a,0x7e]
v_rcp_f32 v5, s1
// CHECK: [0x01,0x54,0x0a,0x7e]
-v_rcp_f32 v255, s1
-// CHECK: [0x01,0x54,0xfe,0x7f]
-
v_rcp_f32 v5, s103
// CHECK: [0x67,0x54,0x0a,0x7e]
@@ -27768,18 +28248,18 @@ v_rcp_f32 v5, 0xaf123456
v_rcp_f32 v5, 0x3f717273
// CHECK: [0xff,0x54,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rcp_f32 v5, v1
-// CHECK: [0x01,0x55,0x0a,0x7e]
+v_rcp_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_f32 v5, v255
-// CHECK: [0xff,0x55,0x0a,0x7e]
+v_rcp_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x54,0xd3,0x01,0x01,0x00,0x00]
+
+v_rcp_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x54,0xd3,0xff,0x01,0x00,0x00]
v_rcp_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x00,0x00,0x00]
-v_rcp_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x54,0xd3,0x01,0x00,0x00,0x00]
-
v_rcp_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x54,0xd3,0x67,0x00,0x00,0x00]
@@ -27831,30 +28311,30 @@ v_rcp_f32_e64 v5, 0.5
v_rcp_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x54,0xd3,0xf7,0x00,0x00,0x00]
-v_rcp_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x01,0x00,0x00]
+v_rcp_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x01,0x00,0x20]
-v_rcp_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x54,0xd3,0xff,0x01,0x00,0x00]
+v_rcp_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x01,0x00,0x08]
-v_rcp_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x00,0x00,0x20]
+v_rcp_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x01,0x00,0x10]
-v_rcp_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x00,0x00,0x08]
+v_rcp_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x01,0x00,0x18]
-v_rcp_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x00,0x00,0x10]
+v_rcp_iflag_f32 v5, v1
+// CHECK: [0x01,0x57,0x0a,0x7e]
-v_rcp_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x54,0xd3,0x01,0x00,0x00,0x18]
+v_rcp_iflag_f32 v255, v1
+// CHECK: [0x01,0x57,0xfe,0x7f]
+
+v_rcp_iflag_f32 v5, v255
+// CHECK: [0xff,0x57,0x0a,0x7e]
v_rcp_iflag_f32 v5, s1
// CHECK: [0x01,0x56,0x0a,0x7e]
-v_rcp_iflag_f32 v255, s1
-// CHECK: [0x01,0x56,0xfe,0x7f]
-
v_rcp_iflag_f32 v5, s103
// CHECK: [0x67,0x56,0x0a,0x7e]
@@ -27912,18 +28392,18 @@ v_rcp_iflag_f32 v5, 0xaf123456
v_rcp_iflag_f32 v5, 0x3f717273
// CHECK: [0xff,0x56,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rcp_iflag_f32 v5, v1
-// CHECK: [0x01,0x57,0x0a,0x7e]
+v_rcp_iflag_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_iflag_f32 v5, v255
-// CHECK: [0xff,0x57,0x0a,0x7e]
+v_rcp_iflag_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x56,0xd3,0x01,0x01,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x56,0xd3,0xff,0x01,0x00,0x00]
v_rcp_iflag_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x00,0x00,0x00]
-v_rcp_iflag_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x56,0xd3,0x01,0x00,0x00,0x00]
-
v_rcp_iflag_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x56,0xd3,0x67,0x00,0x00,0x00]
@@ -27975,36 +28455,36 @@ v_rcp_iflag_f32_e64 v5, 0.5
v_rcp_iflag_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x56,0xd3,0xf7,0x00,0x00,0x00]
-v_rcp_iflag_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x01,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x01,0x00,0x20]
-v_rcp_iflag_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x56,0xd3,0xff,0x01,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x56,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_iflag_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x00,0x00,0x20]
+v_rcp_iflag_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x56,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_iflag_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x56,0xd3,0x01,0x00,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x01,0x00,0x08]
-v_rcp_iflag_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x56,0xd3,0x01,0x00,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x01,0x00,0x10]
-v_rcp_iflag_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x00,0x00,0x08]
+v_rcp_iflag_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x01,0x00,0x18]
-v_rcp_iflag_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x00,0x00,0x10]
+v_rsq_clamp_f32 v5, v1
+// CHECK: [0x01,0x59,0x0a,0x7e]
+
+v_rsq_clamp_f32 v255, v1
+// CHECK: [0x01,0x59,0xfe,0x7f]
-v_rcp_iflag_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x56,0xd3,0x01,0x00,0x00,0x18]
+v_rsq_clamp_f32 v5, v255
+// CHECK: [0xff,0x59,0x0a,0x7e]
v_rsq_clamp_f32 v5, s1
// CHECK: [0x01,0x58,0x0a,0x7e]
-v_rsq_clamp_f32 v255, s1
-// CHECK: [0x01,0x58,0xfe,0x7f]
-
v_rsq_clamp_f32 v5, s103
// CHECK: [0x67,0x58,0x0a,0x7e]
@@ -28062,18 +28542,18 @@ v_rsq_clamp_f32 v5, 0xaf123456
v_rsq_clamp_f32 v5, 0x3f717273
// CHECK: [0xff,0x58,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rsq_clamp_f32 v5, v1
-// CHECK: [0x01,0x59,0x0a,0x7e]
+v_rsq_clamp_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_clamp_f32 v5, v255
-// CHECK: [0xff,0x59,0x0a,0x7e]
+v_rsq_clamp_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x58,0xd3,0x01,0x01,0x00,0x00]
+
+v_rsq_clamp_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x58,0xd3,0xff,0x01,0x00,0x00]
v_rsq_clamp_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x00,0x00,0x00]
-v_rsq_clamp_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x58,0xd3,0x01,0x00,0x00,0x00]
-
v_rsq_clamp_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x58,0xd3,0x67,0x00,0x00,0x00]
@@ -28125,36 +28605,36 @@ v_rsq_clamp_f32_e64 v5, 0.5
v_rsq_clamp_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x58,0xd3,0xf7,0x00,0x00,0x00]
-v_rsq_clamp_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x01,0x00,0x00]
+v_rsq_clamp_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x01,0x00,0x20]
-v_rsq_clamp_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x58,0xd3,0xff,0x01,0x00,0x00]
+v_rsq_clamp_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x58,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_clamp_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x00,0x00,0x20]
+v_rsq_clamp_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x58,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_clamp_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x58,0xd3,0x01,0x00,0x00,0x00]
+v_rsq_clamp_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x01,0x00,0x08]
-v_rsq_clamp_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x58,0xd3,0x01,0x00,0x00,0x00]
+v_rsq_clamp_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x01,0x00,0x10]
-v_rsq_clamp_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x00,0x00,0x08]
+v_rsq_clamp_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x01,0x00,0x18]
-v_rsq_clamp_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x00,0x00,0x10]
+v_rsq_legacy_f32 v5, v1
+// CHECK: [0x01,0x5b,0x0a,0x7e]
-v_rsq_clamp_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x58,0xd3,0x01,0x00,0x00,0x18]
+v_rsq_legacy_f32 v255, v1
+// CHECK: [0x01,0x5b,0xfe,0x7f]
+
+v_rsq_legacy_f32 v5, v255
+// CHECK: [0xff,0x5b,0x0a,0x7e]
v_rsq_legacy_f32 v5, s1
// CHECK: [0x01,0x5a,0x0a,0x7e]
-v_rsq_legacy_f32 v255, s1
-// CHECK: [0x01,0x5a,0xfe,0x7f]
-
v_rsq_legacy_f32 v5, s103
// CHECK: [0x67,0x5a,0x0a,0x7e]
@@ -28212,18 +28692,18 @@ v_rsq_legacy_f32 v5, 0xaf123456
v_rsq_legacy_f32 v5, 0x3f717273
// CHECK: [0xff,0x5a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rsq_legacy_f32 v5, v1
-// CHECK: [0x01,0x5b,0x0a,0x7e]
+v_rsq_legacy_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_legacy_f32 v5, v255
-// CHECK: [0xff,0x5b,0x0a,0x7e]
+v_rsq_legacy_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x5a,0xd3,0x01,0x01,0x00,0x00]
+
+v_rsq_legacy_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x5a,0xd3,0xff,0x01,0x00,0x00]
v_rsq_legacy_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x00,0x00,0x00]
-v_rsq_legacy_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x5a,0xd3,0x01,0x00,0x00,0x00]
-
v_rsq_legacy_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x5a,0xd3,0x67,0x00,0x00,0x00]
@@ -28275,36 +28755,36 @@ v_rsq_legacy_f32_e64 v5, 0.5
v_rsq_legacy_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x5a,0xd3,0xf7,0x00,0x00,0x00]
-v_rsq_legacy_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x01,0x00,0x00]
+v_rsq_legacy_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x01,0x00,0x20]
-v_rsq_legacy_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5a,0xd3,0xff,0x01,0x00,0x00]
+v_rsq_legacy_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x5a,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_legacy_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x00,0x00,0x20]
+v_rsq_legacy_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x5a,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_legacy_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x5a,0xd3,0x01,0x00,0x00,0x00]
+v_rsq_legacy_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x01,0x00,0x08]
-v_rsq_legacy_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x5a,0xd3,0x01,0x00,0x00,0x00]
+v_rsq_legacy_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x01,0x00,0x10]
-v_rsq_legacy_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x00,0x00,0x08]
+v_rsq_legacy_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x01,0x00,0x18]
-v_rsq_legacy_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x00,0x00,0x10]
+v_rsq_f32 v5, v1
+// CHECK: [0x01,0x5d,0x0a,0x7e]
-v_rsq_legacy_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5a,0xd3,0x01,0x00,0x00,0x18]
+v_rsq_f32 v255, v1
+// CHECK: [0x01,0x5d,0xfe,0x7f]
+
+v_rsq_f32 v5, v255
+// CHECK: [0xff,0x5d,0x0a,0x7e]
v_rsq_f32 v5, s1
// CHECK: [0x01,0x5c,0x0a,0x7e]
-v_rsq_f32 v255, s1
-// CHECK: [0x01,0x5c,0xfe,0x7f]
-
v_rsq_f32 v5, s103
// CHECK: [0x67,0x5c,0x0a,0x7e]
@@ -28362,18 +28842,18 @@ v_rsq_f32 v5, 0xaf123456
v_rsq_f32 v5, 0x3f717273
// CHECK: [0xff,0x5c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rsq_f32 v5, v1
-// CHECK: [0x01,0x5d,0x0a,0x7e]
+v_rsq_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_f32 v5, v255
-// CHECK: [0xff,0x5d,0x0a,0x7e]
+v_rsq_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x5c,0xd3,0x01,0x01,0x00,0x00]
+
+v_rsq_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x5c,0xd3,0xff,0x01,0x00,0x00]
v_rsq_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x00,0x00,0x00]
-v_rsq_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x5c,0xd3,0x01,0x00,0x00,0x00]
-
v_rsq_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x5c,0xd3,0x67,0x00,0x00,0x00]
@@ -28425,36 +28905,36 @@ v_rsq_f32_e64 v5, 0.5
v_rsq_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x5c,0xd3,0xf7,0x00,0x00,0x00]
-v_rsq_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x01,0x00,0x00]
+v_rsq_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x01,0x00,0x20]
-v_rsq_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5c,0xd3,0xff,0x01,0x00,0x00]
+v_rsq_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x5c,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x00,0x00,0x20]
+v_rsq_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x5c,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x5c,0xd3,0x01,0x00,0x00,0x00]
+v_rsq_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x01,0x00,0x08]
-v_rsq_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x5c,0xd3,0x01,0x00,0x00,0x00]
+v_rsq_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x01,0x00,0x10]
-v_rsq_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x00,0x00,0x08]
+v_rsq_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x01,0x00,0x18]
-v_rsq_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x00,0x00,0x10]
+v_rcp_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x5f,0x0a,0x7e]
-v_rsq_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5c,0xd3,0x01,0x00,0x00,0x18]
+v_rcp_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x5f,0xfc,0x7f]
+
+v_rcp_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x5f,0x0a,0x7e]
v_rcp_f64 v[5:6], s[2:3]
// CHECK: [0x02,0x5e,0x0a,0x7e]
-v_rcp_f64 v[254:255], s[2:3]
-// CHECK: [0x02,0x5e,0xfc,0x7f]
-
v_rcp_f64 v[5:6], s[4:5]
// CHECK: [0x04,0x5e,0x0a,0x7e]
@@ -28497,18 +28977,18 @@ v_rcp_f64 v[5:6], 0xaf123456
v_rcp_f64 v[5:6], 0x3f717273
// CHECK: [0xff,0x5e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rcp_f64 v[5:6], v[1:2]
-// CHECK: [0x01,0x5f,0x0a,0x7e]
+v_rcp_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x5e,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x5f,0x0a,0x7e]
+v_rcp_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x5e,0xd3,0x01,0x01,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x5e,0xd3,0xfe,0x01,0x00,0x00]
v_rcp_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x5e,0xd3,0x02,0x00,0x00,0x00]
-v_rcp_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x5e,0xd3,0x02,0x00,0x00,0x00]
-
v_rcp_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x5e,0xd3,0x04,0x00,0x00,0x00]
@@ -28545,36 +29025,36 @@ v_rcp_f64_e64 v[5:6], 0.5
v_rcp_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x5e,0xd3,0xf7,0x00,0x00,0x00]
-v_rcp_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x5e,0xd3,0x01,0x01,0x00,0x00]
+v_rcp_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x5e,0xd3,0x01,0x01,0x00,0x20]
-v_rcp_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x5e,0xd3,0xfe,0x01,0x00,0x00]
+v_rcp_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x5e,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x5e,0xd3,0x02,0x00,0x00,0x20]
+v_rcp_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x5e,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x5e,0xd3,0x02,0x00,0x00,0x00]
+v_rcp_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x5e,0xd3,0x01,0x01,0x00,0x08]
-v_rcp_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x5e,0xd3,0x02,0x00,0x00,0x00]
+v_rcp_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x5e,0xd3,0x01,0x01,0x00,0x10]
-v_rcp_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x5e,0xd3,0x02,0x00,0x00,0x08]
+v_rcp_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x5e,0xd3,0x01,0x01,0x00,0x18]
-v_rcp_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x5e,0xd3,0x02,0x00,0x00,0x10]
+v_rcp_clamp_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x61,0x0a,0x7e]
+
+v_rcp_clamp_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x61,0xfc,0x7f]
-v_rcp_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x5e,0xd3,0x02,0x00,0x00,0x18]
+v_rcp_clamp_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x61,0x0a,0x7e]
v_rcp_clamp_f64 v[5:6], s[2:3]
// CHECK: [0x02,0x60,0x0a,0x7e]
-v_rcp_clamp_f64 v[254:255], s[2:3]
-// CHECK: [0x02,0x60,0xfc,0x7f]
-
v_rcp_clamp_f64 v[5:6], s[4:5]
// CHECK: [0x04,0x60,0x0a,0x7e]
@@ -28617,18 +29097,18 @@ v_rcp_clamp_f64 v[5:6], 0xaf123456
v_rcp_clamp_f64 v[5:6], 0x3f717273
// CHECK: [0xff,0x60,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rcp_clamp_f64 v[5:6], v[1:2]
-// CHECK: [0x01,0x61,0x0a,0x7e]
+v_rcp_clamp_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x60,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_clamp_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x61,0x0a,0x7e]
+v_rcp_clamp_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x60,0xd3,0x01,0x01,0x00,0x00]
+
+v_rcp_clamp_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x60,0xd3,0xfe,0x01,0x00,0x00]
v_rcp_clamp_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x60,0xd3,0x02,0x00,0x00,0x00]
-v_rcp_clamp_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x60,0xd3,0x02,0x00,0x00,0x00]
-
v_rcp_clamp_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x60,0xd3,0x04,0x00,0x00,0x00]
@@ -28665,36 +29145,36 @@ v_rcp_clamp_f64_e64 v[5:6], 0.5
v_rcp_clamp_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x60,0xd3,0xf7,0x00,0x00,0x00]
-v_rcp_clamp_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x60,0xd3,0x01,0x01,0x00,0x00]
+v_rcp_clamp_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x60,0xd3,0x01,0x01,0x00,0x20]
-v_rcp_clamp_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x60,0xd3,0xfe,0x01,0x00,0x00]
+v_rcp_clamp_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x60,0xd3,0x01,0x01,0x00,0x00]
+
+v_rcp_clamp_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x60,0xd3,0x01,0x01,0x00,0x00]
-v_rcp_clamp_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x60,0xd3,0x02,0x00,0x00,0x20]
+v_rcp_clamp_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x60,0xd3,0x01,0x01,0x00,0x08]
-v_rcp_clamp_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x60,0xd3,0x02,0x00,0x00,0x00]
+v_rcp_clamp_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x60,0xd3,0x01,0x01,0x00,0x10]
-v_rcp_clamp_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x60,0xd3,0x02,0x00,0x00,0x00]
+v_rcp_clamp_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x60,0xd3,0x01,0x01,0x00,0x18]
-v_rcp_clamp_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x60,0xd3,0x02,0x00,0x00,0x08]
+v_rsq_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x63,0x0a,0x7e]
-v_rcp_clamp_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x60,0xd3,0x02,0x00,0x00,0x10]
+v_rsq_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x63,0xfc,0x7f]
-v_rcp_clamp_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x60,0xd3,0x02,0x00,0x00,0x18]
+v_rsq_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x63,0x0a,0x7e]
v_rsq_f64 v[5:6], s[2:3]
// CHECK: [0x02,0x62,0x0a,0x7e]
-v_rsq_f64 v[254:255], s[2:3]
-// CHECK: [0x02,0x62,0xfc,0x7f]
-
v_rsq_f64 v[5:6], s[4:5]
// CHECK: [0x04,0x62,0x0a,0x7e]
@@ -28737,18 +29217,18 @@ v_rsq_f64 v[5:6], 0xaf123456
v_rsq_f64 v[5:6], 0x3f717273
// CHECK: [0xff,0x62,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rsq_f64 v[5:6], v[1:2]
-// CHECK: [0x01,0x63,0x0a,0x7e]
+v_rsq_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x62,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x63,0x0a,0x7e]
+v_rsq_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x62,0xd3,0x01,0x01,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x62,0xd3,0xfe,0x01,0x00,0x00]
v_rsq_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x62,0xd3,0x02,0x00,0x00,0x00]
-v_rsq_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x62,0xd3,0x02,0x00,0x00,0x00]
-
v_rsq_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x62,0xd3,0x04,0x00,0x00,0x00]
@@ -28785,36 +29265,36 @@ v_rsq_f64_e64 v[5:6], 0.5
v_rsq_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x62,0xd3,0xf7,0x00,0x00,0x00]
-v_rsq_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x62,0xd3,0x01,0x01,0x00,0x00]
+v_rsq_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x62,0xd3,0x01,0x01,0x00,0x20]
-v_rsq_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x62,0xd3,0xfe,0x01,0x00,0x00]
+v_rsq_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x62,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x62,0xd3,0x02,0x00,0x00,0x20]
+v_rsq_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x62,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x62,0xd3,0x02,0x00,0x00,0x00]
+v_rsq_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x62,0xd3,0x01,0x01,0x00,0x08]
-v_rsq_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x62,0xd3,0x02,0x00,0x00,0x00]
+v_rsq_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x62,0xd3,0x01,0x01,0x00,0x10]
-v_rsq_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x62,0xd3,0x02,0x00,0x00,0x08]
+v_rsq_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x62,0xd3,0x01,0x01,0x00,0x18]
-v_rsq_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x62,0xd3,0x02,0x00,0x00,0x10]
+v_rsq_clamp_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x65,0x0a,0x7e]
-v_rsq_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x62,0xd3,0x02,0x00,0x00,0x18]
+v_rsq_clamp_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x65,0xfc,0x7f]
+
+v_rsq_clamp_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x65,0x0a,0x7e]
v_rsq_clamp_f64 v[5:6], s[2:3]
// CHECK: [0x02,0x64,0x0a,0x7e]
-v_rsq_clamp_f64 v[254:255], s[2:3]
-// CHECK: [0x02,0x64,0xfc,0x7f]
-
v_rsq_clamp_f64 v[5:6], s[4:5]
// CHECK: [0x04,0x64,0x0a,0x7e]
@@ -28857,18 +29337,18 @@ v_rsq_clamp_f64 v[5:6], 0xaf123456
v_rsq_clamp_f64 v[5:6], 0x3f717273
// CHECK: [0xff,0x64,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_rsq_clamp_f64 v[5:6], v[1:2]
-// CHECK: [0x01,0x65,0x0a,0x7e]
+v_rsq_clamp_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x64,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_clamp_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x65,0x0a,0x7e]
+v_rsq_clamp_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x64,0xd3,0x01,0x01,0x00,0x00]
+
+v_rsq_clamp_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x64,0xd3,0xfe,0x01,0x00,0x00]
v_rsq_clamp_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x64,0xd3,0x02,0x00,0x00,0x00]
-v_rsq_clamp_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x64,0xd3,0x02,0x00,0x00,0x00]
-
v_rsq_clamp_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x64,0xd3,0x04,0x00,0x00,0x00]
@@ -28905,36 +29385,36 @@ v_rsq_clamp_f64_e64 v[5:6], 0.5
v_rsq_clamp_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x64,0xd3,0xf7,0x00,0x00,0x00]
-v_rsq_clamp_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x64,0xd3,0x01,0x01,0x00,0x00]
+v_rsq_clamp_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x64,0xd3,0x01,0x01,0x00,0x20]
-v_rsq_clamp_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x64,0xd3,0xfe,0x01,0x00,0x00]
+v_rsq_clamp_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x64,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_clamp_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x64,0xd3,0x02,0x00,0x00,0x20]
+v_rsq_clamp_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x64,0xd3,0x01,0x01,0x00,0x00]
-v_rsq_clamp_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x64,0xd3,0x02,0x00,0x00,0x00]
+v_rsq_clamp_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x64,0xd3,0x01,0x01,0x00,0x08]
-v_rsq_clamp_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x64,0xd3,0x02,0x00,0x00,0x00]
+v_rsq_clamp_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x64,0xd3,0x01,0x01,0x00,0x10]
-v_rsq_clamp_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x64,0xd3,0x02,0x00,0x00,0x08]
+v_rsq_clamp_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x64,0xd3,0x01,0x01,0x00,0x18]
-v_rsq_clamp_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x64,0xd3,0x02,0x00,0x00,0x10]
+v_sqrt_f32 v5, v1
+// CHECK: [0x01,0x67,0x0a,0x7e]
+
+v_sqrt_f32 v255, v1
+// CHECK: [0x01,0x67,0xfe,0x7f]
-v_rsq_clamp_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x64,0xd3,0x02,0x00,0x00,0x18]
+v_sqrt_f32 v5, v255
+// CHECK: [0xff,0x67,0x0a,0x7e]
v_sqrt_f32 v5, s1
// CHECK: [0x01,0x66,0x0a,0x7e]
-v_sqrt_f32 v255, s1
-// CHECK: [0x01,0x66,0xfe,0x7f]
-
v_sqrt_f32 v5, s103
// CHECK: [0x67,0x66,0x0a,0x7e]
@@ -28992,18 +29472,18 @@ v_sqrt_f32 v5, 0xaf123456
v_sqrt_f32 v5, 0x3f717273
// CHECK: [0xff,0x66,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_sqrt_f32 v5, v1
-// CHECK: [0x01,0x67,0x0a,0x7e]
+v_sqrt_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x01,0x00,0x00]
-v_sqrt_f32 v5, v255
-// CHECK: [0xff,0x67,0x0a,0x7e]
+v_sqrt_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x66,0xd3,0x01,0x01,0x00,0x00]
+
+v_sqrt_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x66,0xd3,0xff,0x01,0x00,0x00]
v_sqrt_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x00,0x00,0x00]
-v_sqrt_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x66,0xd3,0x01,0x00,0x00,0x00]
-
v_sqrt_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x66,0xd3,0x67,0x00,0x00,0x00]
@@ -29055,36 +29535,36 @@ v_sqrt_f32_e64 v5, 0.5
v_sqrt_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x66,0xd3,0xf7,0x00,0x00,0x00]
-v_sqrt_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x01,0x00,0x00]
+v_sqrt_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x01,0x00,0x20]
-v_sqrt_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x66,0xd3,0xff,0x01,0x00,0x00]
+v_sqrt_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x66,0xd3,0x01,0x01,0x00,0x00]
-v_sqrt_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x00,0x00,0x20]
+v_sqrt_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x66,0xd3,0x01,0x01,0x00,0x00]
-v_sqrt_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x66,0xd3,0x01,0x00,0x00,0x00]
+v_sqrt_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x01,0x00,0x08]
-v_sqrt_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x66,0xd3,0x01,0x00,0x00,0x00]
+v_sqrt_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x01,0x00,0x10]
-v_sqrt_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x00,0x00,0x08]
+v_sqrt_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x01,0x00,0x18]
-v_sqrt_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x00,0x00,0x10]
+v_sqrt_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x69,0x0a,0x7e]
-v_sqrt_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x66,0xd3,0x01,0x00,0x00,0x18]
+v_sqrt_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x69,0xfc,0x7f]
+
+v_sqrt_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x69,0x0a,0x7e]
v_sqrt_f64 v[5:6], s[2:3]
// CHECK: [0x02,0x68,0x0a,0x7e]
-v_sqrt_f64 v[254:255], s[2:3]
-// CHECK: [0x02,0x68,0xfc,0x7f]
-
v_sqrt_f64 v[5:6], s[4:5]
// CHECK: [0x04,0x68,0x0a,0x7e]
@@ -29127,18 +29607,18 @@ v_sqrt_f64 v[5:6], 0xaf123456
v_sqrt_f64 v[5:6], 0x3f717273
// CHECK: [0xff,0x68,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_sqrt_f64 v[5:6], v[1:2]
-// CHECK: [0x01,0x69,0x0a,0x7e]
+v_sqrt_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x68,0xd3,0x01,0x01,0x00,0x00]
-v_sqrt_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x69,0x0a,0x7e]
+v_sqrt_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x68,0xd3,0x01,0x01,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x68,0xd3,0xfe,0x01,0x00,0x00]
v_sqrt_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x68,0xd3,0x02,0x00,0x00,0x00]
-v_sqrt_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x68,0xd3,0x02,0x00,0x00,0x00]
-
v_sqrt_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x68,0xd3,0x04,0x00,0x00,0x00]
@@ -29175,36 +29655,36 @@ v_sqrt_f64_e64 v[5:6], 0.5
v_sqrt_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x68,0xd3,0xf7,0x00,0x00,0x00]
-v_sqrt_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x68,0xd3,0x01,0x01,0x00,0x00]
+v_sqrt_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x68,0xd3,0x01,0x01,0x00,0x20]
-v_sqrt_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x68,0xd3,0xfe,0x01,0x00,0x00]
+v_sqrt_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x68,0xd3,0x01,0x01,0x00,0x00]
-v_sqrt_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x68,0xd3,0x02,0x00,0x00,0x20]
+v_sqrt_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x68,0xd3,0x01,0x01,0x00,0x00]
-v_sqrt_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x68,0xd3,0x02,0x00,0x00,0x00]
+v_sqrt_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x68,0xd3,0x01,0x01,0x00,0x08]
-v_sqrt_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x68,0xd3,0x02,0x00,0x00,0x00]
+v_sqrt_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x68,0xd3,0x01,0x01,0x00,0x10]
-v_sqrt_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x68,0xd3,0x02,0x00,0x00,0x08]
+v_sqrt_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x68,0xd3,0x01,0x01,0x00,0x18]
-v_sqrt_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x68,0xd3,0x02,0x00,0x00,0x10]
+v_sin_f32 v5, v1
+// CHECK: [0x01,0x6b,0x0a,0x7e]
-v_sqrt_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x68,0xd3,0x02,0x00,0x00,0x18]
+v_sin_f32 v255, v1
+// CHECK: [0x01,0x6b,0xfe,0x7f]
+
+v_sin_f32 v5, v255
+// CHECK: [0xff,0x6b,0x0a,0x7e]
v_sin_f32 v5, s1
// CHECK: [0x01,0x6a,0x0a,0x7e]
-v_sin_f32 v255, s1
-// CHECK: [0x01,0x6a,0xfe,0x7f]
-
v_sin_f32 v5, s103
// CHECK: [0x67,0x6a,0x0a,0x7e]
@@ -29262,18 +29742,18 @@ v_sin_f32 v5, 0xaf123456
v_sin_f32 v5, 0x3f717273
// CHECK: [0xff,0x6a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_sin_f32 v5, v1
-// CHECK: [0x01,0x6b,0x0a,0x7e]
+v_sin_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x01,0x00,0x00]
-v_sin_f32 v5, v255
-// CHECK: [0xff,0x6b,0x0a,0x7e]
+v_sin_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6a,0xd3,0x01,0x01,0x00,0x00]
+
+v_sin_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6a,0xd3,0xff,0x01,0x00,0x00]
v_sin_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x00,0x00,0x00]
-v_sin_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x6a,0xd3,0x01,0x00,0x00,0x00]
-
v_sin_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x6a,0xd3,0x67,0x00,0x00,0x00]
@@ -29325,36 +29805,36 @@ v_sin_f32_e64 v5, 0.5
v_sin_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x6a,0xd3,0xf7,0x00,0x00,0x00]
-v_sin_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x01,0x00,0x00]
+v_sin_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x01,0x00,0x20]
-v_sin_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6a,0xd3,0xff,0x01,0x00,0x00]
+v_sin_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x6a,0xd3,0x01,0x01,0x00,0x00]
+
+v_sin_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x6a,0xd3,0x01,0x01,0x00,0x00]
-v_sin_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x00,0x00,0x20]
+v_sin_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x01,0x00,0x08]
-v_sin_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x6a,0xd3,0x01,0x00,0x00,0x00]
+v_sin_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x01,0x00,0x10]
-v_sin_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x6a,0xd3,0x01,0x00,0x00,0x00]
+v_sin_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x01,0x00,0x18]
-v_sin_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x00,0x00,0x08]
+v_cos_f32 v5, v1
+// CHECK: [0x01,0x6d,0x0a,0x7e]
-v_sin_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x00,0x00,0x10]
+v_cos_f32 v255, v1
+// CHECK: [0x01,0x6d,0xfe,0x7f]
-v_sin_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x6a,0xd3,0x01,0x00,0x00,0x18]
+v_cos_f32 v5, v255
+// CHECK: [0xff,0x6d,0x0a,0x7e]
v_cos_f32 v5, s1
// CHECK: [0x01,0x6c,0x0a,0x7e]
-v_cos_f32 v255, s1
-// CHECK: [0x01,0x6c,0xfe,0x7f]
-
v_cos_f32 v5, s103
// CHECK: [0x67,0x6c,0x0a,0x7e]
@@ -29412,18 +29892,18 @@ v_cos_f32 v5, 0xaf123456
v_cos_f32 v5, 0x3f717273
// CHECK: [0xff,0x6c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_cos_f32 v5, v1
-// CHECK: [0x01,0x6d,0x0a,0x7e]
+v_cos_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x01,0x00,0x00]
-v_cos_f32 v5, v255
-// CHECK: [0xff,0x6d,0x0a,0x7e]
+v_cos_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6c,0xd3,0x01,0x01,0x00,0x00]
+
+v_cos_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6c,0xd3,0xff,0x01,0x00,0x00]
v_cos_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x00,0x00,0x00]
-v_cos_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x6c,0xd3,0x01,0x00,0x00,0x00]
-
v_cos_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x6c,0xd3,0x67,0x00,0x00,0x00]
@@ -29475,36 +29955,36 @@ v_cos_f32_e64 v5, 0.5
v_cos_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x6c,0xd3,0xf7,0x00,0x00,0x00]
-v_cos_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x01,0x00,0x00]
+v_cos_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x01,0x00,0x20]
-v_cos_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6c,0xd3,0xff,0x01,0x00,0x00]
+v_cos_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x6c,0xd3,0x01,0x01,0x00,0x00]
-v_cos_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x00,0x00,0x20]
+v_cos_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x6c,0xd3,0x01,0x01,0x00,0x00]
-v_cos_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x6c,0xd3,0x01,0x00,0x00,0x00]
+v_cos_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x01,0x00,0x08]
-v_cos_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x6c,0xd3,0x01,0x00,0x00,0x00]
+v_cos_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x01,0x00,0x10]
-v_cos_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x00,0x00,0x08]
+v_cos_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x01,0x00,0x18]
-v_cos_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x00,0x00,0x10]
+v_not_b32 v5, v1
+// CHECK: [0x01,0x6f,0x0a,0x7e]
+
+v_not_b32 v255, v1
+// CHECK: [0x01,0x6f,0xfe,0x7f]
-v_cos_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x6c,0xd3,0x01,0x00,0x00,0x18]
+v_not_b32 v5, v255
+// CHECK: [0xff,0x6f,0x0a,0x7e]
v_not_b32 v5, s1
// CHECK: [0x01,0x6e,0x0a,0x7e]
-v_not_b32 v255, s1
-// CHECK: [0x01,0x6e,0xfe,0x7f]
-
v_not_b32 v5, s103
// CHECK: [0x67,0x6e,0x0a,0x7e]
@@ -29562,18 +30042,18 @@ v_not_b32 v5, 0xaf123456
v_not_b32 v5, 0x3f717273
// CHECK: [0xff,0x6e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_not_b32 v5, v1
-// CHECK: [0x01,0x6f,0x0a,0x7e]
+v_not_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x6e,0xd3,0x01,0x01,0x00,0x00]
-v_not_b32 v5, v255
-// CHECK: [0xff,0x6f,0x0a,0x7e]
+v_not_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6e,0xd3,0x01,0x01,0x00,0x00]
+
+v_not_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6e,0xd3,0xff,0x01,0x00,0x00]
v_not_b32_e64 v5, s1
// CHECK: [0x05,0x00,0x6e,0xd3,0x01,0x00,0x00,0x00]
-v_not_b32_e64 v255, s1
-// CHECK: [0xff,0x00,0x6e,0xd3,0x01,0x00,0x00,0x00]
-
v_not_b32_e64 v5, s103
// CHECK: [0x05,0x00,0x6e,0xd3,0x67,0x00,0x00,0x00]
@@ -29625,18 +30105,18 @@ v_not_b32_e64 v5, 0.5
v_not_b32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x6e,0xd3,0xf7,0x00,0x00,0x00]
-v_not_b32_e64 v5, v1
-// CHECK: [0x05,0x00,0x6e,0xd3,0x01,0x01,0x00,0x00]
+v_bfrev_b32 v5, v1
+// CHECK: [0x01,0x71,0x0a,0x7e]
-v_not_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6e,0xd3,0xff,0x01,0x00,0x00]
+v_bfrev_b32 v255, v1
+// CHECK: [0x01,0x71,0xfe,0x7f]
+
+v_bfrev_b32 v5, v255
+// CHECK: [0xff,0x71,0x0a,0x7e]
v_bfrev_b32 v5, s1
// CHECK: [0x01,0x70,0x0a,0x7e]
-v_bfrev_b32 v255, s1
-// CHECK: [0x01,0x70,0xfe,0x7f]
-
v_bfrev_b32 v5, s103
// CHECK: [0x67,0x70,0x0a,0x7e]
@@ -29694,18 +30174,18 @@ v_bfrev_b32 v5, 0xaf123456
v_bfrev_b32 v5, 0x3f717273
// CHECK: [0xff,0x70,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_bfrev_b32 v5, v1
-// CHECK: [0x01,0x71,0x0a,0x7e]
+v_bfrev_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x70,0xd3,0x01,0x01,0x00,0x00]
-v_bfrev_b32 v5, v255
-// CHECK: [0xff,0x71,0x0a,0x7e]
+v_bfrev_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x70,0xd3,0x01,0x01,0x00,0x00]
+
+v_bfrev_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x70,0xd3,0xff,0x01,0x00,0x00]
v_bfrev_b32_e64 v5, s1
// CHECK: [0x05,0x00,0x70,0xd3,0x01,0x00,0x00,0x00]
-v_bfrev_b32_e64 v255, s1
-// CHECK: [0xff,0x00,0x70,0xd3,0x01,0x00,0x00,0x00]
-
v_bfrev_b32_e64 v5, s103
// CHECK: [0x05,0x00,0x70,0xd3,0x67,0x00,0x00,0x00]
@@ -29757,18 +30237,18 @@ v_bfrev_b32_e64 v5, 0.5
v_bfrev_b32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x70,0xd3,0xf7,0x00,0x00,0x00]
-v_bfrev_b32_e64 v5, v1
-// CHECK: [0x05,0x00,0x70,0xd3,0x01,0x01,0x00,0x00]
+v_ffbh_u32 v5, v1
+// CHECK: [0x01,0x73,0x0a,0x7e]
-v_bfrev_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x70,0xd3,0xff,0x01,0x00,0x00]
+v_ffbh_u32 v255, v1
+// CHECK: [0x01,0x73,0xfe,0x7f]
+
+v_ffbh_u32 v5, v255
+// CHECK: [0xff,0x73,0x0a,0x7e]
v_ffbh_u32 v5, s1
// CHECK: [0x01,0x72,0x0a,0x7e]
-v_ffbh_u32 v255, s1
-// CHECK: [0x01,0x72,0xfe,0x7f]
-
v_ffbh_u32 v5, s103
// CHECK: [0x67,0x72,0x0a,0x7e]
@@ -29826,18 +30306,18 @@ v_ffbh_u32 v5, 0xaf123456
v_ffbh_u32 v5, 0x3f717273
// CHECK: [0xff,0x72,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_ffbh_u32 v5, v1
-// CHECK: [0x01,0x73,0x0a,0x7e]
+v_ffbh_u32_e64 v5, v1
+// CHECK: [0x05,0x00,0x72,0xd3,0x01,0x01,0x00,0x00]
-v_ffbh_u32 v5, v255
-// CHECK: [0xff,0x73,0x0a,0x7e]
+v_ffbh_u32_e64 v255, v1
+// CHECK: [0xff,0x00,0x72,0xd3,0x01,0x01,0x00,0x00]
+
+v_ffbh_u32_e64 v5, v255
+// CHECK: [0x05,0x00,0x72,0xd3,0xff,0x01,0x00,0x00]
v_ffbh_u32_e64 v5, s1
// CHECK: [0x05,0x00,0x72,0xd3,0x01,0x00,0x00,0x00]
-v_ffbh_u32_e64 v255, s1
-// CHECK: [0xff,0x00,0x72,0xd3,0x01,0x00,0x00,0x00]
-
v_ffbh_u32_e64 v5, s103
// CHECK: [0x05,0x00,0x72,0xd3,0x67,0x00,0x00,0x00]
@@ -29889,18 +30369,18 @@ v_ffbh_u32_e64 v5, 0.5
v_ffbh_u32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x72,0xd3,0xf7,0x00,0x00,0x00]
-v_ffbh_u32_e64 v5, v1
-// CHECK: [0x05,0x00,0x72,0xd3,0x01,0x01,0x00,0x00]
+v_ffbl_b32 v5, v1
+// CHECK: [0x01,0x75,0x0a,0x7e]
-v_ffbh_u32_e64 v5, v255
-// CHECK: [0x05,0x00,0x72,0xd3,0xff,0x01,0x00,0x00]
+v_ffbl_b32 v255, v1
+// CHECK: [0x01,0x75,0xfe,0x7f]
+
+v_ffbl_b32 v5, v255
+// CHECK: [0xff,0x75,0x0a,0x7e]
v_ffbl_b32 v5, s1
// CHECK: [0x01,0x74,0x0a,0x7e]
-v_ffbl_b32 v255, s1
-// CHECK: [0x01,0x74,0xfe,0x7f]
-
v_ffbl_b32 v5, s103
// CHECK: [0x67,0x74,0x0a,0x7e]
@@ -29958,18 +30438,18 @@ v_ffbl_b32 v5, 0xaf123456
v_ffbl_b32 v5, 0x3f717273
// CHECK: [0xff,0x74,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_ffbl_b32 v5, v1
-// CHECK: [0x01,0x75,0x0a,0x7e]
+v_ffbl_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x74,0xd3,0x01,0x01,0x00,0x00]
-v_ffbl_b32 v5, v255
-// CHECK: [0xff,0x75,0x0a,0x7e]
+v_ffbl_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x74,0xd3,0x01,0x01,0x00,0x00]
+
+v_ffbl_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x74,0xd3,0xff,0x01,0x00,0x00]
v_ffbl_b32_e64 v5, s1
// CHECK: [0x05,0x00,0x74,0xd3,0x01,0x00,0x00,0x00]
-v_ffbl_b32_e64 v255, s1
-// CHECK: [0xff,0x00,0x74,0xd3,0x01,0x00,0x00,0x00]
-
v_ffbl_b32_e64 v5, s103
// CHECK: [0x05,0x00,0x74,0xd3,0x67,0x00,0x00,0x00]
@@ -30021,18 +30501,18 @@ v_ffbl_b32_e64 v5, 0.5
v_ffbl_b32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x74,0xd3,0xf7,0x00,0x00,0x00]
-v_ffbl_b32_e64 v5, v1
-// CHECK: [0x05,0x00,0x74,0xd3,0x01,0x01,0x00,0x00]
+v_ffbh_i32 v5, v1
+// CHECK: [0x01,0x77,0x0a,0x7e]
-v_ffbl_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x74,0xd3,0xff,0x01,0x00,0x00]
+v_ffbh_i32 v255, v1
+// CHECK: [0x01,0x77,0xfe,0x7f]
+
+v_ffbh_i32 v5, v255
+// CHECK: [0xff,0x77,0x0a,0x7e]
v_ffbh_i32 v5, s1
// CHECK: [0x01,0x76,0x0a,0x7e]
-v_ffbh_i32 v255, s1
-// CHECK: [0x01,0x76,0xfe,0x7f]
-
v_ffbh_i32 v5, s103
// CHECK: [0x67,0x76,0x0a,0x7e]
@@ -30090,18 +30570,18 @@ v_ffbh_i32 v5, 0xaf123456
v_ffbh_i32 v5, 0x3f717273
// CHECK: [0xff,0x76,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_ffbh_i32 v5, v1
-// CHECK: [0x01,0x77,0x0a,0x7e]
+v_ffbh_i32_e64 v5, v1
+// CHECK: [0x05,0x00,0x76,0xd3,0x01,0x01,0x00,0x00]
-v_ffbh_i32 v5, v255
-// CHECK: [0xff,0x77,0x0a,0x7e]
+v_ffbh_i32_e64 v255, v1
+// CHECK: [0xff,0x00,0x76,0xd3,0x01,0x01,0x00,0x00]
+
+v_ffbh_i32_e64 v5, v255
+// CHECK: [0x05,0x00,0x76,0xd3,0xff,0x01,0x00,0x00]
v_ffbh_i32_e64 v5, s1
// CHECK: [0x05,0x00,0x76,0xd3,0x01,0x00,0x00,0x00]
-v_ffbh_i32_e64 v255, s1
-// CHECK: [0xff,0x00,0x76,0xd3,0x01,0x00,0x00,0x00]
-
v_ffbh_i32_e64 v5, s103
// CHECK: [0x05,0x00,0x76,0xd3,0x67,0x00,0x00,0x00]
@@ -30153,18 +30633,18 @@ v_ffbh_i32_e64 v5, 0.5
v_ffbh_i32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x76,0xd3,0xf7,0x00,0x00,0x00]
-v_ffbh_i32_e64 v5, v1
-// CHECK: [0x05,0x00,0x76,0xd3,0x01,0x01,0x00,0x00]
+v_frexp_exp_i32_f64 v5, v[1:2]
+// CHECK: [0x01,0x79,0x0a,0x7e]
-v_ffbh_i32_e64 v5, v255
-// CHECK: [0x05,0x00,0x76,0xd3,0xff,0x01,0x00,0x00]
+v_frexp_exp_i32_f64 v255, v[1:2]
+// CHECK: [0x01,0x79,0xfe,0x7f]
+
+v_frexp_exp_i32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x79,0x0a,0x7e]
v_frexp_exp_i32_f64 v5, s[2:3]
// CHECK: [0x02,0x78,0x0a,0x7e]
-v_frexp_exp_i32_f64 v255, s[2:3]
-// CHECK: [0x02,0x78,0xfe,0x7f]
-
v_frexp_exp_i32_f64 v5, s[4:5]
// CHECK: [0x04,0x78,0x0a,0x7e]
@@ -30207,18 +30687,18 @@ v_frexp_exp_i32_f64 v5, 0xaf123456
v_frexp_exp_i32_f64 v5, 0x3f717273
// CHECK: [0xff,0x78,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_frexp_exp_i32_f64 v5, v[1:2]
-// CHECK: [0x01,0x79,0x0a,0x7e]
+v_frexp_exp_i32_f64_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x78,0xd3,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x79,0x0a,0x7e]
+v_frexp_exp_i32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,0x00,0x78,0xd3,0x01,0x01,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, v[254:255]
+// CHECK: [0x05,0x00,0x78,0xd3,0xfe,0x01,0x00,0x00]
v_frexp_exp_i32_f64_e64 v5, s[2:3]
// CHECK: [0x05,0x00,0x78,0xd3,0x02,0x00,0x00,0x00]
-v_frexp_exp_i32_f64_e64 v255, s[2:3]
-// CHECK: [0xff,0x00,0x78,0xd3,0x02,0x00,0x00,0x00]
-
v_frexp_exp_i32_f64_e64 v5, s[4:5]
// CHECK: [0x05,0x00,0x78,0xd3,0x04,0x00,0x00,0x00]
@@ -30255,24 +30735,24 @@ v_frexp_exp_i32_f64_e64 v5, 0.5
v_frexp_exp_i32_f64_e64 v5, -4.0
// CHECK: [0x05,0x00,0x78,0xd3,0xf7,0x00,0x00,0x00]
-v_frexp_exp_i32_f64_e64 v5, v[1:2]
-// CHECK: [0x05,0x00,0x78,0xd3,0x01,0x01,0x00,0x00]
+v_frexp_exp_i32_f64_e64 v5, -v[1:2]
+// CHECK: [0x05,0x00,0x78,0xd3,0x01,0x01,0x00,0x20]
-v_frexp_exp_i32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x78,0xd3,0xfe,0x01,0x00,0x00]
+v_frexp_exp_i32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x78,0xd3,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f64_e64 v5, -s[2:3]
-// CHECK: [0x05,0x00,0x78,0xd3,0x02,0x00,0x00,0x20]
+v_frexp_mant_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x7b,0x0a,0x7e]
-v_frexp_exp_i32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x78,0xd3,0x02,0x00,0x00,0x00]
+v_frexp_mant_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x7b,0xfc,0x7f]
+
+v_frexp_mant_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x7b,0x0a,0x7e]
v_frexp_mant_f64 v[5:6], s[2:3]
// CHECK: [0x02,0x7a,0x0a,0x7e]
-v_frexp_mant_f64 v[254:255], s[2:3]
-// CHECK: [0x02,0x7a,0xfc,0x7f]
-
v_frexp_mant_f64 v[5:6], s[4:5]
// CHECK: [0x04,0x7a,0x0a,0x7e]
@@ -30315,18 +30795,18 @@ v_frexp_mant_f64 v[5:6], 0xaf123456
v_frexp_mant_f64 v[5:6], 0x3f717273
// CHECK: [0xff,0x7a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_frexp_mant_f64 v[5:6], v[1:2]
-// CHECK: [0x01,0x7b,0x0a,0x7e]
+v_frexp_mant_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x7a,0xd3,0x01,0x01,0x00,0x00]
-v_frexp_mant_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x7b,0x0a,0x7e]
+v_frexp_mant_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x7a,0xd3,0x01,0x01,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x7a,0xd3,0xfe,0x01,0x00,0x00]
v_frexp_mant_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x7a,0xd3,0x02,0x00,0x00,0x00]
-v_frexp_mant_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x7a,0xd3,0x02,0x00,0x00,0x00]
-
v_frexp_mant_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x7a,0xd3,0x04,0x00,0x00,0x00]
@@ -30363,36 +30843,36 @@ v_frexp_mant_f64_e64 v[5:6], 0.5
v_frexp_mant_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x7a,0xd3,0xf7,0x00,0x00,0x00]
-v_frexp_mant_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x7a,0xd3,0x01,0x01,0x00,0x00]
+v_frexp_mant_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x7a,0xd3,0x01,0x01,0x00,0x20]
-v_frexp_mant_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x7a,0xd3,0xfe,0x01,0x00,0x00]
+v_frexp_mant_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x7a,0xd3,0x01,0x01,0x00,0x00]
-v_frexp_mant_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x7a,0xd3,0x02,0x00,0x00,0x20]
+v_frexp_mant_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x7a,0xd3,0x01,0x01,0x00,0x00]
-v_frexp_mant_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x7a,0xd3,0x02,0x00,0x00,0x00]
+v_frexp_mant_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x7a,0xd3,0x01,0x01,0x00,0x08]
-v_frexp_mant_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x7a,0xd3,0x02,0x00,0x00,0x00]
+v_frexp_mant_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x7a,0xd3,0x01,0x01,0x00,0x10]
-v_frexp_mant_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x7a,0xd3,0x02,0x00,0x00,0x08]
+v_frexp_mant_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x7a,0xd3,0x01,0x01,0x00,0x18]
-v_frexp_mant_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x7a,0xd3,0x02,0x00,0x00,0x10]
+v_fract_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x7d,0x0a,0x7e]
-v_frexp_mant_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x7a,0xd3,0x02,0x00,0x00,0x18]
+v_fract_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x7d,0xfc,0x7f]
+
+v_fract_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x7d,0x0a,0x7e]
v_fract_f64 v[5:6], s[2:3]
// CHECK: [0x02,0x7c,0x0a,0x7e]
-v_fract_f64 v[254:255], s[2:3]
-// CHECK: [0x02,0x7c,0xfc,0x7f]
-
v_fract_f64 v[5:6], s[4:5]
// CHECK: [0x04,0x7c,0x0a,0x7e]
@@ -30435,18 +30915,18 @@ v_fract_f64 v[5:6], 0xaf123456
v_fract_f64 v[5:6], 0x3f717273
// CHECK: [0xff,0x7c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_fract_f64 v[5:6], v[1:2]
-// CHECK: [0x01,0x7d,0x0a,0x7e]
+v_fract_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x7c,0xd3,0x01,0x01,0x00,0x00]
-v_fract_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x7d,0x0a,0x7e]
+v_fract_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,0x00,0x7c,0xd3,0x01,0x01,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x7c,0xd3,0xfe,0x01,0x00,0x00]
v_fract_f64_e64 v[5:6], s[2:3]
// CHECK: [0x05,0x00,0x7c,0xd3,0x02,0x00,0x00,0x00]
-v_fract_f64_e64 v[254:255], s[2:3]
-// CHECK: [0xfe,0x00,0x7c,0xd3,0x02,0x00,0x00,0x00]
-
v_fract_f64_e64 v[5:6], s[4:5]
// CHECK: [0x05,0x00,0x7c,0xd3,0x04,0x00,0x00,0x00]
@@ -30483,36 +30963,36 @@ v_fract_f64_e64 v[5:6], 0.5
v_fract_f64_e64 v[5:6], -4.0
// CHECK: [0x05,0x00,0x7c,0xd3,0xf7,0x00,0x00,0x00]
-v_fract_f64_e64 v[5:6], v[1:2]
-// CHECK: [0x05,0x00,0x7c,0xd3,0x01,0x01,0x00,0x00]
+v_fract_f64_e64 v[5:6], -v[1:2]
+// CHECK: [0x05,0x00,0x7c,0xd3,0x01,0x01,0x00,0x20]
-v_fract_f64_e64 v[5:6], v[254:255]
-// CHECK: [0x05,0x00,0x7c,0xd3,0xfe,0x01,0x00,0x00]
+v_fract_f64_e64 v[5:6], |v[1:2]|
+// CHECK: [0x05,0x01,0x7c,0xd3,0x01,0x01,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x08,0x7c,0xd3,0x01,0x01,0x00,0x00]
-v_fract_f64_e64 v[5:6], -s[2:3]
-// CHECK: [0x05,0x00,0x7c,0xd3,0x02,0x00,0x00,0x20]
+v_fract_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x7c,0xd3,0x01,0x01,0x00,0x08]
-v_fract_f64_e64 v[5:6], |s[2:3]|
-// CHECK: [0x05,0x01,0x7c,0xd3,0x02,0x00,0x00,0x00]
+v_fract_f64_e64 v[5:6], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x7c,0xd3,0x01,0x01,0x00,0x10]
-v_fract_f64_e64 v[5:6], s[2:3] clamp
-// CHECK: [0x05,0x08,0x7c,0xd3,0x02,0x00,0x00,0x00]
+v_fract_f64_e64 v[5:6], v[1:2] div:2
+// CHECK: [0x05,0x00,0x7c,0xd3,0x01,0x01,0x00,0x18]
-v_fract_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x7c,0xd3,0x02,0x00,0x00,0x08]
+v_frexp_exp_i32_f32 v5, v1
+// CHECK: [0x01,0x7f,0x0a,0x7e]
-v_fract_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x7c,0xd3,0x02,0x00,0x00,0x10]
+v_frexp_exp_i32_f32 v255, v1
+// CHECK: [0x01,0x7f,0xfe,0x7f]
-v_fract_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x7c,0xd3,0x02,0x00,0x00,0x18]
+v_frexp_exp_i32_f32 v5, v255
+// CHECK: [0xff,0x7f,0x0a,0x7e]
v_frexp_exp_i32_f32 v5, s1
// CHECK: [0x01,0x7e,0x0a,0x7e]
-v_frexp_exp_i32_f32 v255, s1
-// CHECK: [0x01,0x7e,0xfe,0x7f]
-
v_frexp_exp_i32_f32 v5, s103
// CHECK: [0x67,0x7e,0x0a,0x7e]
@@ -30570,18 +31050,18 @@ v_frexp_exp_i32_f32 v5, 0xaf123456
v_frexp_exp_i32_f32 v5, 0x3f717273
// CHECK: [0xff,0x7e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_frexp_exp_i32_f32 v5, v1
-// CHECK: [0x01,0x7f,0x0a,0x7e]
+v_frexp_exp_i32_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x7e,0xd3,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f32 v5, v255
-// CHECK: [0xff,0x7f,0x0a,0x7e]
+v_frexp_exp_i32_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x7e,0xd3,0x01,0x01,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x7e,0xd3,0xff,0x01,0x00,0x00]
v_frexp_exp_i32_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x7e,0xd3,0x01,0x00,0x00,0x00]
-v_frexp_exp_i32_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x7e,0xd3,0x01,0x00,0x00,0x00]
-
v_frexp_exp_i32_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x7e,0xd3,0x67,0x00,0x00,0x00]
@@ -30633,18 +31113,18 @@ v_frexp_exp_i32_f32_e64 v5, 0.5
v_frexp_exp_i32_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x7e,0xd3,0xf7,0x00,0x00,0x00]
-v_frexp_exp_i32_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x7e,0xd3,0x01,0x01,0x00,0x00]
+v_frexp_mant_f32 v5, v1
+// CHECK: [0x01,0x81,0x0a,0x7e]
-v_frexp_exp_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x7e,0xd3,0xff,0x01,0x00,0x00]
+v_frexp_mant_f32 v255, v1
+// CHECK: [0x01,0x81,0xfe,0x7f]
+
+v_frexp_mant_f32 v5, v255
+// CHECK: [0xff,0x81,0x0a,0x7e]
v_frexp_mant_f32 v5, s1
// CHECK: [0x01,0x80,0x0a,0x7e]
-v_frexp_mant_f32 v255, s1
-// CHECK: [0x01,0x80,0xfe,0x7f]
-
v_frexp_mant_f32 v5, s103
// CHECK: [0x67,0x80,0x0a,0x7e]
@@ -30702,18 +31182,18 @@ v_frexp_mant_f32 v5, 0xaf123456
v_frexp_mant_f32 v5, 0x3f717273
// CHECK: [0xff,0x80,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_frexp_mant_f32 v5, v1
-// CHECK: [0x01,0x81,0x0a,0x7e]
+v_frexp_mant_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x80,0xd3,0x01,0x01,0x00,0x00]
-v_frexp_mant_f32 v5, v255
-// CHECK: [0xff,0x81,0x0a,0x7e]
+v_frexp_mant_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x80,0xd3,0x01,0x01,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x80,0xd3,0xff,0x01,0x00,0x00]
v_frexp_mant_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x80,0xd3,0x01,0x00,0x00,0x00]
-v_frexp_mant_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x80,0xd3,0x01,0x00,0x00,0x00]
-
v_frexp_mant_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x80,0xd3,0x67,0x00,0x00,0x00]
@@ -30765,24 +31245,24 @@ v_frexp_mant_f32_e64 v5, 0.5
v_frexp_mant_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x80,0xd3,0xf7,0x00,0x00,0x00]
-v_frexp_mant_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x80,0xd3,0x01,0x01,0x00,0x00]
-
-v_frexp_mant_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x80,0xd3,0xff,0x01,0x00,0x00]
-
v_clrexcp
// CHECK: [0x00,0x82,0x00,0x7e]
v_clrexcp_e64
// CHECK: [0x00,0x00,0x82,0xd3,0x00,0x00,0x00,0x00]
+v_movreld_b32 v5, v1
+// CHECK: [0x01,0x85,0x0a,0x7e]
+
+v_movreld_b32 v255, v1
+// CHECK: [0x01,0x85,0xfe,0x7f]
+
+v_movreld_b32 v5, v255
+// CHECK: [0xff,0x85,0x0a,0x7e]
+
v_movreld_b32 v5, m0
// CHECK: [0x7c,0x84,0x0a,0x7e]
-v_movreld_b32 v255, m0
-// CHECK: [0x7c,0x84,0xfe,0x7f]
-
v_movreld_b32 v5, 0
// CHECK: [0x80,0x84,0x0a,0x7e]
@@ -30795,18 +31275,18 @@ v_movreld_b32 v5, 0.5
v_movreld_b32 v5, -4.0
// CHECK: [0xf7,0x84,0x0a,0x7e]
-v_movreld_b32 v5, v1
-// CHECK: [0x01,0x85,0x0a,0x7e]
+v_movreld_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x01,0x00,0x00]
-v_movreld_b32 v5, v255
-// CHECK: [0xff,0x85,0x0a,0x7e]
+v_movreld_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x84,0xd3,0x01,0x01,0x00,0x00]
+
+v_movreld_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x84,0xd3,0xff,0x01,0x00,0x00]
v_movreld_b32_e64 v5, m0
// CHECK: [0x05,0x00,0x84,0xd3,0x7c,0x00,0x00,0x00]
-v_movreld_b32_e64 v255, m0
-// CHECK: [0xff,0x00,0x84,0xd3,0x7c,0x00,0x00,0x00]
-
v_movreld_b32_e64 v5, 0
// CHECK: [0x05,0x00,0x84,0xd3,0x80,0x00,0x00,0x00]
@@ -30819,12 +31299,6 @@ v_movreld_b32_e64 v5, 0.5
v_movreld_b32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x84,0xd3,0xf7,0x00,0x00,0x00]
-v_movreld_b32_e64 v5, v1
-// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x01,0x00,0x00]
-
-v_movreld_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x84,0xd3,0xff,0x01,0x00,0x00]
-
v_movrels_b32 v5, v1
// CHECK: [0x01,0x87,0x0a,0x7e]
@@ -30861,12 +31335,18 @@ v_movrelsd_b32_e64 v255, v1
v_movrelsd_b32_e64 v5, v255
// CHECK: [0x05,0x00,0x88,0xd3,0xff,0x01,0x00,0x00]
+v_log_legacy_f32 v5, v1
+// CHECK: [0x01,0x8b,0x0a,0x7e]
+
+v_log_legacy_f32 v255, v1
+// CHECK: [0x01,0x8b,0xfe,0x7f]
+
+v_log_legacy_f32 v5, v255
+// CHECK: [0xff,0x8b,0x0a,0x7e]
+
v_log_legacy_f32 v5, s1
// CHECK: [0x01,0x8a,0x0a,0x7e]
-v_log_legacy_f32 v255, s1
-// CHECK: [0x01,0x8a,0xfe,0x7f]
-
v_log_legacy_f32 v5, s103
// CHECK: [0x67,0x8a,0x0a,0x7e]
@@ -30924,18 +31404,18 @@ v_log_legacy_f32 v5, 0xaf123456
v_log_legacy_f32 v5, 0x3f717273
// CHECK: [0xff,0x8a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_log_legacy_f32 v5, v1
-// CHECK: [0x01,0x8b,0x0a,0x7e]
+v_log_legacy_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x01,0x00,0x00]
-v_log_legacy_f32 v5, v255
-// CHECK: [0xff,0x8b,0x0a,0x7e]
+v_log_legacy_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x8a,0xd3,0x01,0x01,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x8a,0xd3,0xff,0x01,0x00,0x00]
v_log_legacy_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x00,0x00,0x00]
-v_log_legacy_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x8a,0xd3,0x01,0x00,0x00,0x00]
-
v_log_legacy_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x8a,0xd3,0x67,0x00,0x00,0x00]
@@ -30987,36 +31467,36 @@ v_log_legacy_f32_e64 v5, 0.5
v_log_legacy_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x8a,0xd3,0xf7,0x00,0x00,0x00]
-v_log_legacy_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x01,0x00,0x00]
+v_log_legacy_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x01,0x00,0x20]
-v_log_legacy_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x8a,0xd3,0xff,0x01,0x00,0x00]
+v_log_legacy_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x8a,0xd3,0x01,0x01,0x00,0x00]
-v_log_legacy_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x00,0x00,0x20]
+v_log_legacy_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x8a,0xd3,0x01,0x01,0x00,0x00]
-v_log_legacy_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x8a,0xd3,0x01,0x00,0x00,0x00]
+v_log_legacy_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x01,0x00,0x08]
-v_log_legacy_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x8a,0xd3,0x01,0x00,0x00,0x00]
+v_log_legacy_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x01,0x00,0x10]
-v_log_legacy_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x00,0x00,0x08]
+v_log_legacy_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x01,0x00,0x18]
-v_log_legacy_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x00,0x00,0x10]
+v_exp_legacy_f32 v5, v1
+// CHECK: [0x01,0x8d,0x0a,0x7e]
-v_log_legacy_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x00,0x00,0x18]
+v_exp_legacy_f32 v255, v1
+// CHECK: [0x01,0x8d,0xfe,0x7f]
+
+v_exp_legacy_f32 v5, v255
+// CHECK: [0xff,0x8d,0x0a,0x7e]
v_exp_legacy_f32 v5, s1
// CHECK: [0x01,0x8c,0x0a,0x7e]
-v_exp_legacy_f32 v255, s1
-// CHECK: [0x01,0x8c,0xfe,0x7f]
-
v_exp_legacy_f32 v5, s103
// CHECK: [0x67,0x8c,0x0a,0x7e]
@@ -31074,18 +31554,18 @@ v_exp_legacy_f32 v5, 0xaf123456
v_exp_legacy_f32 v5, 0x3f717273
// CHECK: [0xff,0x8c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
-v_exp_legacy_f32 v5, v1
-// CHECK: [0x01,0x8d,0x0a,0x7e]
+v_exp_legacy_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x01,0x00,0x00]
-v_exp_legacy_f32 v5, v255
-// CHECK: [0xff,0x8d,0x0a,0x7e]
+v_exp_legacy_f32_e64 v255, v1
+// CHECK: [0xff,0x00,0x8c,0xd3,0x01,0x01,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x8c,0xd3,0xff,0x01,0x00,0x00]
v_exp_legacy_f32_e64 v5, s1
// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x00,0x00,0x00]
-v_exp_legacy_f32_e64 v255, s1
-// CHECK: [0xff,0x00,0x8c,0xd3,0x01,0x00,0x00,0x00]
-
v_exp_legacy_f32_e64 v5, s103
// CHECK: [0x05,0x00,0x8c,0xd3,0x67,0x00,0x00,0x00]
@@ -31137,36 +31617,36 @@ v_exp_legacy_f32_e64 v5, 0.5
v_exp_legacy_f32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x8c,0xd3,0xf7,0x00,0x00,0x00]
-v_exp_legacy_f32_e64 v5, v1
-// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x01,0x00,0x00]
+v_exp_legacy_f32_e64 v5, -v1
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x01,0x00,0x20]
-v_exp_legacy_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x8c,0xd3,0xff,0x01,0x00,0x00]
+v_exp_legacy_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x8c,0xd3,0x01,0x01,0x00,0x00]
-v_exp_legacy_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x00,0x00,0x20]
+v_exp_legacy_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x08,0x8c,0xd3,0x01,0x01,0x00,0x00]
-v_exp_legacy_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x8c,0xd3,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x01,0x00,0x08]
-v_exp_legacy_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x08,0x8c,0xd3,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x01,0x00,0x10]
-v_exp_legacy_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x00,0x00,0x08]
+v_exp_legacy_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x01,0x00,0x18]
-v_exp_legacy_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x00,0x00,0x10]
+v_cndmask_b32 v5, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x00]
-v_exp_legacy_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x00,0x00,0x18]
+v_cndmask_b32 v255, v1, v2, vcc
+// CHECK: [0x01,0x05,0xfe,0x01]
+
+v_cndmask_b32 v5, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x00]
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]
@@ -31176,71 +31656,65 @@ v_cndmask_b32 v5, 0.5, v2, vcc
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, v1, v255, vcc
+// CHECK: [0x01,0xff,0x0b,0x00]
-v_cndmask_b32 v5, v255, v2, vcc
-// CHECK: [0xff,0x05,0x0a,0x00]
+v_cndmask_b32_e64 v5, v1, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x1a,0x00]
-v_cndmask_b32 v5, 0, v255, vcc
-// CHECK: [0x80,0xfe,0x0b,0x00]
+v_cndmask_b32_e64 v255, v1, v2, s[6:7]
+// CHECK: [0xff,0x00,0x00,0xd2,0x01,0x05,0x1a,0x00]
-v_cndmask_b32_e64 v5, 0, 0, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0x19,0x00]
+v_cndmask_b32_e64 v5, v255, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0xff,0x05,0x1a,0x00]
+
+v_cndmask_b32_e64 v5, 0, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x04,0x1a,0x00]
-v_cndmask_b32_e64 v255, 0, 0, s[6:7]
-// CHECK: [0xff,0x00,0x00,0xd2,0x80,0x00,0x19,0x00]
+v_cndmask_b32_e64 v5, -1, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0xc1,0x04,0x1a,0x00]
-v_cndmask_b32_e64 v5, -1, 0, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0xc1,0x00,0x19,0x00]
+v_cndmask_b32_e64 v5, 0.5, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0xf0,0x04,0x1a,0x00]
-v_cndmask_b32_e64 v5, 0.5, 0, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0xf0,0x00,0x19,0x00]
+v_cndmask_b32_e64 v5, -4.0, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0xf7,0x04,0x1a,0x00]
-v_cndmask_b32_e64 v5, -4.0, 0, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0xf7,0x00,0x19,0x00]
+v_cndmask_b32_e64 v5, v1, v255, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xff,0x1b,0x00]
v_cndmask_b32_e64 v5, v1, 0, s[6:7]
// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x01,0x19,0x00]
-v_cndmask_b32_e64 v5, v255, 0, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0xff,0x01,0x19,0x00]
-
-v_cndmask_b32_e64 v5, 0, -1, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x82,0x19,0x00]
-
-v_cndmask_b32_e64 v5, 0, 0.5, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0xe0,0x19,0x00]
+v_cndmask_b32_e64 v5, v1, -1, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x83,0x19,0x00]
-v_cndmask_b32_e64 v5, 0, -4.0, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0xee,0x19,0x00]
+v_cndmask_b32_e64 v5, v1, 0.5, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xe1,0x19,0x00]
-v_cndmask_b32_e64 v5, 0, v2, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x04,0x1a,0x00]
+v_cndmask_b32_e64 v5, v1, -4.0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xef,0x19,0x00]
-v_cndmask_b32_e64 v5, 0, v255, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0xfe,0x1b,0x00]
+v_cndmask_b32_e64 v5, v1, v2, s[8:9]
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x22,0x00]
-v_cndmask_b32_e64 v5, 0, 0, s[8:9]
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0x21,0x00]
+v_cndmask_b32_e64 v5, v1, v2, s[102:103]
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x9a,0x01]
-v_cndmask_b32_e64 v5, 0, 0, s[102:103]
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0x99,0x01]
+v_cndmask_b32_e64 v5, v1, v2, flat_scratch
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xa2,0x01]
-v_cndmask_b32_e64 v5, 0, 0, flat_scratch
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0xa1,0x01]
+v_cndmask_b32_e64 v5, v1, v2, vcc
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xaa,0x01]
-v_cndmask_b32_e64 v5, 0, 0, vcc
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0xa9,0x01]
+v_cndmask_b32_e64 v5, v1, v2, tba
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xb2,0x01]
-v_cndmask_b32_e64 v5, 0, 0, tba
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0xb1,0x01]
+v_cndmask_b32_e64 v5, v1, v2, tma
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xba,0x01]
-v_cndmask_b32_e64 v5, 0, 0, tma
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0xb9,0x01]
-
-v_cndmask_b32_e64 v5, 0, 0, ttmp[10:11]
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0xe9,0x01]
+v_cndmask_b32_e64 v5, v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xea,0x01]
v_readlane_b32 s5, v1, s2
// CHECK: [0x01,0x05,0x0a,0x02]
@@ -31302,57 +31776,69 @@ v_readlane_b32 s5, v1, m0
v_readlane_b32 s5, v1, 0
// CHECK: [0x01,0x01,0x0b,0x02]
-v_writelane_b32 v5, s1, 0
-// CHECK: [0x01,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, s2
+// CHECK: [0x80,0x04,0x0a,0x04]
+
+v_writelane_b32 v255, 0, s2
+// CHECK: [0x80,0x04,0xfe,0x05]
-v_writelane_b32 v255, s1, 0
-// CHECK: [0x01,0x00,0xff,0x05]
+v_writelane_b32 v5, -1, s2
+// CHECK: [0xc1,0x04,0x0a,0x04]
-v_writelane_b32 v5, s103, 0
-// CHECK: [0x67,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0.5, s2
+// CHECK: [0xf0,0x04,0x0a,0x04]
-v_writelane_b32 v5, flat_scratch_lo, 0
-// CHECK: [0x68,0x00,0x0b,0x04]
+v_writelane_b32 v5, -4.0, s2
+// CHECK: [0xf7,0x04,0x0a,0x04]
-v_writelane_b32 v5, flat_scratch_hi, 0
-// CHECK: [0x69,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, s103
+// CHECK: [0x80,0xce,0x0a,0x04]
-v_writelane_b32 v5, vcc_lo, 0
-// CHECK: [0x6a,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, flat_scratch_lo
+// CHECK: [0x80,0xd0,0x0a,0x04]
-v_writelane_b32 v5, vcc_hi, 0
-// CHECK: [0x6b,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, flat_scratch_hi
+// CHECK: [0x80,0xd2,0x0a,0x04]
-v_writelane_b32 v5, tba_lo, 0
-// CHECK: [0x6c,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, vcc_lo
+// CHECK: [0x80,0xd4,0x0a,0x04]
-v_writelane_b32 v5, tba_hi, 0
-// CHECK: [0x6d,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, vcc_hi
+// CHECK: [0x80,0xd6,0x0a,0x04]
-v_writelane_b32 v5, tma_lo, 0
-// CHECK: [0x6e,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, tba_lo
+// CHECK: [0x80,0xd8,0x0a,0x04]
-v_writelane_b32 v5, tma_hi, 0
-// CHECK: [0x6f,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, tba_hi
+// CHECK: [0x80,0xda,0x0a,0x04]
-v_writelane_b32 v5, ttmp11, 0
-// CHECK: [0x7b,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, tma_lo
+// CHECK: [0x80,0xdc,0x0a,0x04]
-v_writelane_b32 v5, m0, 0
-// CHECK: [0x7c,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, tma_hi
+// CHECK: [0x80,0xde,0x0a,0x04]
-v_writelane_b32 v5, exec_lo, 0
-// CHECK: [0x7e,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, ttmp11
+// CHECK: [0x80,0xf6,0x0a,0x04]
-v_writelane_b32 v5, exec_hi, 0
-// CHECK: [0x7f,0x00,0x0b,0x04]
+v_writelane_b32 v5, 0, m0
+// CHECK: [0x80,0xf8,0x0a,0x04]
+
+v_writelane_b32 v5, 0, 0
+// CHECK: [0x80,0x00,0x0b,0x04]
+
+v_add_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x06]
+
+v_add_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x07]
+
+v_add_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x06]
v_add_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x06]
-v_add_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x07]
-
v_add_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x06]
@@ -31410,129 +31896,171 @@ v_add_f32 v5, 0xaf123456, v2
v_add_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x06,0x73,0x72,0x71,0x3f]
-v_add_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x06]
+v_add_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x06]
-v_add_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x06]
+v_add_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x06,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0xff,0x05,0x02,0x00]
+
+v_add_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x67,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x68,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x69,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x6a,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x6b,0x04,0x02,0x00]
-v_add_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x06]
+v_add_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x6c,0x04,0x02,0x00]
-v_add_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x6d,0x04,0x02,0x00]
-v_add_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x06,0xd2,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x6e,0x04,0x02,0x00]
-v_add_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x06,0xd2,0xc1,0x04,0x00,0x00]
+v_add_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x6f,0x04,0x02,0x00]
-v_add_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x06,0xd2,0xf0,0x04,0x00,0x00]
+v_add_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x7b,0x04,0x02,0x00]
-v_add_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x06,0xd2,0xf7,0x04,0x00,0x00]
+v_add_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x7c,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x7e,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x7f,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0xc1,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0xf0,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0xf7,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xff,0x03,0x00]
v_add_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x05,0x00,0x00]
-v_add_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x06,0xd2,0xff,0x05,0x00,0x00]
+v_add_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xcf,0x00,0x00]
-v_add_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xce,0x00,0x00]
+v_add_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xd1,0x00,0x00]
-v_add_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xd0,0x00,0x00]
+v_add_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xd3,0x00,0x00]
-v_add_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xd2,0x00,0x00]
+v_add_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xd5,0x00,0x00]
-v_add_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xd4,0x00,0x00]
+v_add_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xd7,0x00,0x00]
-v_add_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xd6,0x00,0x00]
+v_add_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xd9,0x00,0x00]
-v_add_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xd8,0x00,0x00]
+v_add_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xdb,0x00,0x00]
-v_add_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xda,0x00,0x00]
+v_add_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xdd,0x00,0x00]
-v_add_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xdc,0x00,0x00]
+v_add_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xdf,0x00,0x00]
-v_add_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xde,0x00,0x00]
+v_add_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xf7,0x00,0x00]
-v_add_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xf6,0x00,0x00]
+v_add_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xf9,0x00,0x00]
-v_add_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xf8,0x00,0x00]
+v_add_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xfd,0x00,0x00]
-v_add_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xfc,0x00,0x00]
+v_add_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xff,0x00,0x00]
-v_add_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xfe,0x00,0x00]
+v_add_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x01,0x01,0x00]
-v_add_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x00,0x01,0x00]
+v_add_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x83,0x01,0x00]
-v_add_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x82,0x01,0x00]
+v_add_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xe1,0x01,0x00]
-v_add_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xe0,0x01,0x00]
+v_add_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0xef,0x01,0x00]
-v_add_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xee,0x01,0x00]
+v_add_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x05,0x02,0x20]
-v_add_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x04,0x02,0x00]
+v_add_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x05,0x02,0x40]
-v_add_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0xfe,0x03,0x00]
+v_add_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x05,0x02,0x60]
-v_add_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x04,0x00,0x20]
+v_add_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x06,0xd2,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x04,0x00,0x40]
+v_add_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x06,0xd2,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x04,0x00,0x60]
+v_add_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x06,0xd2,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x06,0xd2,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x06,0xd2,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x06,0xd2,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x05,0x02,0x08]
-v_add_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x06,0xd2,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x05,0x02,0x10]
-v_add_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x06,0xd2,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x06,0xd2,0x01,0x05,0x02,0x18]
-v_add_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x04,0x00,0x08]
+v_sub_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x08]
-v_add_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x04,0x00,0x10]
+v_sub_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x09]
-v_add_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x06,0xd2,0x80,0x04,0x00,0x18]
+v_sub_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x08]
v_sub_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x08]
-v_sub_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x09]
-
v_sub_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x08]
@@ -31590,129 +32118,171 @@ v_sub_f32 v5, 0xaf123456, v2
v_sub_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x08,0x73,0x72,0x71,0x3f]
-v_sub_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x08]
+v_sub_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x08]
-v_sub_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x08]
+v_sub_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x08,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0xff,0x05,0x02,0x00]
+
+v_sub_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x67,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x68,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x69,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x6a,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x6b,0x04,0x02,0x00]
-v_sub_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x08]
+v_sub_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x6c,0x04,0x02,0x00]
-v_sub_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x6d,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x6e,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x6f,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x7b,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x7c,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x7e,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x7f,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x04,0x02,0x00]
-v_sub_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x08,0xd2,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0xc1,0x04,0x02,0x00]
-v_sub_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x08,0xd2,0xc1,0x04,0x00,0x00]
+v_sub_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0xf0,0x04,0x02,0x00]
-v_sub_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x08,0xd2,0xf0,0x04,0x00,0x00]
+v_sub_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0xf7,0x04,0x02,0x00]
-v_sub_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x08,0xd2,0xf7,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xff,0x03,0x00]
v_sub_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x05,0x00,0x00]
-v_sub_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x08,0xd2,0xff,0x05,0x00,0x00]
+v_sub_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xcf,0x00,0x00]
-v_sub_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xce,0x00,0x00]
+v_sub_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xd1,0x00,0x00]
-v_sub_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xd0,0x00,0x00]
+v_sub_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xd3,0x00,0x00]
-v_sub_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xd2,0x00,0x00]
+v_sub_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xd5,0x00,0x00]
-v_sub_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xd4,0x00,0x00]
+v_sub_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xd7,0x00,0x00]
-v_sub_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xd6,0x00,0x00]
+v_sub_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xd9,0x00,0x00]
-v_sub_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xd8,0x00,0x00]
+v_sub_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xdb,0x00,0x00]
-v_sub_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xda,0x00,0x00]
+v_sub_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xdd,0x00,0x00]
-v_sub_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xdc,0x00,0x00]
+v_sub_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xdf,0x00,0x00]
-v_sub_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xde,0x00,0x00]
+v_sub_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xf7,0x00,0x00]
-v_sub_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xf6,0x00,0x00]
+v_sub_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xf9,0x00,0x00]
-v_sub_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xf8,0x00,0x00]
+v_sub_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xfd,0x00,0x00]
-v_sub_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xfc,0x00,0x00]
+v_sub_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xff,0x00,0x00]
-v_sub_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xfe,0x00,0x00]
+v_sub_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x01,0x01,0x00]
-v_sub_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x00,0x01,0x00]
+v_sub_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x83,0x01,0x00]
-v_sub_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x82,0x01,0x00]
+v_sub_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xe1,0x01,0x00]
-v_sub_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xe0,0x01,0x00]
+v_sub_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0xef,0x01,0x00]
-v_sub_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xee,0x01,0x00]
+v_sub_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x05,0x02,0x20]
-v_sub_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x04,0x02,0x00]
+v_sub_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x05,0x02,0x40]
-v_sub_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0xfe,0x03,0x00]
+v_sub_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x05,0x02,0x60]
-v_sub_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x04,0x00,0x20]
+v_sub_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x08,0xd2,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x04,0x00,0x40]
+v_sub_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x08,0xd2,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x04,0x00,0x60]
+v_sub_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x08,0xd2,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x08,0xd2,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x08,0xd2,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x08,0xd2,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x05,0x02,0x08]
-v_sub_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x08,0xd2,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x05,0x02,0x10]
-v_sub_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x08,0xd2,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x08,0xd2,0x01,0x05,0x02,0x18]
-v_sub_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x04,0x00,0x08]
+v_subrev_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0a]
-v_sub_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x04,0x00,0x10]
+v_subrev_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x0b]
-v_sub_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x08,0xd2,0x80,0x04,0x00,0x18]
+v_subrev_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0a]
v_subrev_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x0a]
-v_subrev_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x0b]
-
v_subrev_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x0a]
@@ -31770,129 +32340,171 @@ v_subrev_f32 v5, 0xaf123456, v2
v_subrev_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x0a,0x73,0x72,0x71,0x3f]
-v_subrev_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x0a]
+v_subrev_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x0a]
-v_subrev_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x0a]
+v_subrev_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x05,0x02,0x00]
+
+v_subrev_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0a,0xd2,0x01,0x05,0x02,0x00]
+
+v_subrev_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0xff,0x05,0x02,0x00]
+
+v_subrev_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x67,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x68,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x69,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x6a,0x04,0x02,0x00]
-v_subrev_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x0a]
+v_subrev_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x6b,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x6c,0x04,0x02,0x00]
-v_subrev_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0a,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x6d,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0a,0xd2,0xc1,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x6e,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0a,0xd2,0xf0,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x6f,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0a,0xd2,0xf7,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x7b,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x7c,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x7e,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x7f,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0xc1,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0xf0,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0xf7,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xff,0x03,0x00]
v_subrev_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x05,0x00,0x00]
-v_subrev_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x0a,0xd2,0xff,0x05,0x00,0x00]
+v_subrev_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xcf,0x00,0x00]
-v_subrev_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xce,0x00,0x00]
+v_subrev_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xd1,0x00,0x00]
-v_subrev_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xd0,0x00,0x00]
+v_subrev_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xd3,0x00,0x00]
-v_subrev_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xd2,0x00,0x00]
+v_subrev_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xd5,0x00,0x00]
-v_subrev_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xd4,0x00,0x00]
+v_subrev_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xd7,0x00,0x00]
-v_subrev_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xd6,0x00,0x00]
+v_subrev_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xd9,0x00,0x00]
-v_subrev_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xd8,0x00,0x00]
+v_subrev_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xdb,0x00,0x00]
-v_subrev_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xda,0x00,0x00]
+v_subrev_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xdd,0x00,0x00]
-v_subrev_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xdc,0x00,0x00]
+v_subrev_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xdf,0x00,0x00]
-v_subrev_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xde,0x00,0x00]
+v_subrev_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xf7,0x00,0x00]
-v_subrev_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xf6,0x00,0x00]
+v_subrev_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xf9,0x00,0x00]
-v_subrev_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xf8,0x00,0x00]
+v_subrev_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xfd,0x00,0x00]
-v_subrev_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xfc,0x00,0x00]
+v_subrev_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xff,0x00,0x00]
-v_subrev_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xfe,0x00,0x00]
+v_subrev_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x01,0x01,0x00]
-v_subrev_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x00,0x01,0x00]
+v_subrev_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x83,0x01,0x00]
-v_subrev_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x82,0x01,0x00]
+v_subrev_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xe1,0x01,0x00]
-v_subrev_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xe0,0x01,0x00]
+v_subrev_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0xef,0x01,0x00]
-v_subrev_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xee,0x01,0x00]
+v_subrev_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x05,0x02,0x20]
-v_subrev_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x04,0x02,0x00]
+v_subrev_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x05,0x02,0x40]
-v_subrev_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0xfe,0x03,0x00]
+v_subrev_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x05,0x02,0x60]
-v_subrev_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x04,0x00,0x20]
+v_subrev_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x0a,0xd2,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x04,0x00,0x40]
+v_subrev_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x0a,0xd2,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x04,0x00,0x60]
+v_subrev_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x0a,0xd2,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x0a,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x0a,0xd2,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x0a,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x05,0x02,0x08]
-v_subrev_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x0a,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x05,0x02,0x10]
-v_subrev_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x0a,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x0a,0xd2,0x01,0x05,0x02,0x18]
-v_subrev_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x04,0x00,0x08]
+v_mac_legacy_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0c]
-v_subrev_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x04,0x00,0x10]
+v_mac_legacy_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x0d]
-v_subrev_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x0a,0xd2,0x80,0x04,0x00,0x18]
+v_mac_legacy_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0c]
v_mac_legacy_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x0c]
-v_mac_legacy_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x0d]
-
v_mac_legacy_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x0c]
@@ -31950,129 +32562,171 @@ v_mac_legacy_f32 v5, 0xaf123456, v2
v_mac_legacy_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x0c,0x73,0x72,0x71,0x3f]
-v_mac_legacy_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x0c]
+v_mac_legacy_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x0c]
-v_mac_legacy_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x0c]
+v_mac_legacy_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x05,0x02,0x00]
+
+v_mac_legacy_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0c,0xd2,0x01,0x05,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0xff,0x05,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x67,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x68,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x69,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x6b,0x04,0x02,0x00]
-v_mac_legacy_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x0c]
+v_mac_legacy_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x6c,0x04,0x02,0x00]
-v_mac_legacy_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x04,0x00,0x00]
+v_mac_legacy_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x6d,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x6e,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x6f,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mac_legacy_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x04,0x02,0x00]
-v_mac_legacy_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0c,0xd2,0x80,0x04,0x00,0x00]
+v_mac_legacy_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0xc1,0x04,0x02,0x00]
-v_mac_legacy_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0c,0xd2,0xc1,0x04,0x00,0x00]
+v_mac_legacy_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0xf0,0x04,0x02,0x00]
-v_mac_legacy_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0c,0xd2,0xf0,0x04,0x00,0x00]
+v_mac_legacy_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0xf7,0x04,0x02,0x00]
-v_mac_legacy_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0c,0xd2,0xf7,0x04,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xff,0x03,0x00]
v_mac_legacy_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x05,0x00,0x00]
-v_mac_legacy_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x0c,0xd2,0xff,0x05,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xcf,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xce,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xd1,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xd0,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xd3,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xd2,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xd5,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xd4,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xd7,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xd6,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xd9,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xd8,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xdb,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xda,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xdd,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xdc,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xdf,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xde,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xf7,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xf6,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xf9,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xf8,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xfd,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xfc,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xff,0x00,0x00]
-v_mac_legacy_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xfe,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x01,0x01,0x00]
-v_mac_legacy_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x00,0x01,0x00]
+v_mac_legacy_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x83,0x01,0x00]
-v_mac_legacy_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x82,0x01,0x00]
+v_mac_legacy_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xe1,0x01,0x00]
-v_mac_legacy_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xe0,0x01,0x00]
+v_mac_legacy_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0xef,0x01,0x00]
-v_mac_legacy_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xee,0x01,0x00]
+v_mac_legacy_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x05,0x02,0x20]
-v_mac_legacy_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x04,0x02,0x00]
+v_mac_legacy_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x05,0x02,0x40]
-v_mac_legacy_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0xfe,0x03,0x00]
+v_mac_legacy_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x05,0x02,0x60]
-v_mac_legacy_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x04,0x00,0x20]
+v_mac_legacy_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x0c,0xd2,0x01,0x05,0x02,0x00]
-v_mac_legacy_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x04,0x00,0x40]
+v_mac_legacy_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x0c,0xd2,0x01,0x05,0x02,0x00]
-v_mac_legacy_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x04,0x00,0x60]
+v_mac_legacy_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x0c,0xd2,0x01,0x05,0x02,0x00]
-v_mac_legacy_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x0c,0xd2,0x80,0x04,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x0c,0xd2,0x01,0x05,0x02,0x00]
-v_mac_legacy_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x0c,0xd2,0x80,0x04,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x05,0x02,0x08]
-v_mac_legacy_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x0c,0xd2,0x80,0x04,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x05,0x02,0x10]
-v_mac_legacy_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x0c,0xd2,0x80,0x04,0x00,0x00]
+v_mac_legacy_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x0c,0xd2,0x01,0x05,0x02,0x18]
-v_mac_legacy_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x04,0x00,0x08]
+v_mul_legacy_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0e]
-v_mac_legacy_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x04,0x00,0x10]
+v_mul_legacy_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x0f]
-v_mac_legacy_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x0c,0xd2,0x80,0x04,0x00,0x18]
+v_mul_legacy_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0e]
v_mul_legacy_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x0e]
-v_mul_legacy_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x0f]
-
v_mul_legacy_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x0e]
@@ -32130,129 +32784,171 @@ v_mul_legacy_f32 v5, 0xaf123456, v2
v_mul_legacy_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x0e,0x73,0x72,0x71,0x3f]
-v_mul_legacy_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x0e]
+v_mul_legacy_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x0e]
-v_mul_legacy_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x0e]
+v_mul_legacy_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_legacy_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0e,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0xff,0x05,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x67,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x68,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x69,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_legacy_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x0e]
+v_mul_legacy_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x6d,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0e,0xd2,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x6e,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0e,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x6f,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0e,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x7b,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0e,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xff,0x03,0x00]
v_mul_legacy_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x05,0x00,0x00]
-v_mul_legacy_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x0e,0xd2,0xff,0x05,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xce,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xd1,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xd0,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xd3,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xd2,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xd9,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xdb,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xda,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xdd,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xdf,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xde,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xf7,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xff,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x01,0x01,0x00]
-v_mul_legacy_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x00,0x01,0x00]
+v_mul_legacy_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x83,0x01,0x00]
-v_mul_legacy_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x82,0x01,0x00]
+v_mul_legacy_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_legacy_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_legacy_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0xef,0x01,0x00]
-v_mul_legacy_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xee,0x01,0x00]
+v_mul_legacy_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x05,0x02,0x20]
-v_mul_legacy_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x04,0x02,0x00]
+v_mul_legacy_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x05,0x02,0x40]
-v_mul_legacy_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0xfe,0x03,0x00]
+v_mul_legacy_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x05,0x02,0x60]
-v_mul_legacy_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x04,0x00,0x20]
+v_mul_legacy_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x0e,0xd2,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x04,0x00,0x40]
+v_mul_legacy_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x0e,0xd2,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x04,0x00,0x60]
+v_mul_legacy_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x0e,0xd2,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x0e,0xd2,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x0e,0xd2,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x0e,0xd2,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x05,0x02,0x08]
-v_mul_legacy_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x0e,0xd2,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x05,0x02,0x10]
-v_mul_legacy_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x0e,0xd2,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x0e,0xd2,0x01,0x05,0x02,0x18]
-v_mul_legacy_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x04,0x00,0x08]
+v_mul_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x10]
-v_mul_legacy_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x04,0x00,0x10]
+v_mul_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x11]
-v_mul_legacy_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x0e,0xd2,0x80,0x04,0x00,0x18]
+v_mul_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x10]
v_mul_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x10]
-v_mul_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x11]
-
v_mul_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x10]
@@ -32310,129 +33006,171 @@ v_mul_f32 v5, 0xaf123456, v2
v_mul_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x10,0x73,0x72,0x71,0x3f]
-v_mul_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x10]
+v_mul_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x10]
-v_mul_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x10]
+v_mul_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x10,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0xff,0x05,0x02,0x00]
+
+v_mul_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x67,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x68,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x69,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x10]
+v_mul_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x6d,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x6e,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x6f,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x04,0x02,0x00]
-v_mul_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x10,0xd2,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0xc1,0x04,0x02,0x00]
-v_mul_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x10,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0xf0,0x04,0x02,0x00]
-v_mul_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x10,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x10,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xff,0x03,0x00]
v_mul_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x05,0x00,0x00]
-v_mul_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x10,0xd2,0xff,0x05,0x00,0x00]
+v_mul_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xce,0x00,0x00]
+v_mul_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xd1,0x00,0x00]
-v_mul_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xd0,0x00,0x00]
+v_mul_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xd3,0x00,0x00]
-v_mul_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xd2,0x00,0x00]
+v_mul_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xd9,0x00,0x00]
-v_mul_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xdb,0x00,0x00]
-v_mul_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xda,0x00,0x00]
+v_mul_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xdd,0x00,0x00]
-v_mul_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xdf,0x00,0x00]
-v_mul_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xde,0x00,0x00]
+v_mul_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xf7,0x00,0x00]
-v_mul_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xff,0x00,0x00]
-v_mul_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x01,0x01,0x00]
-v_mul_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x00,0x01,0x00]
+v_mul_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x83,0x01,0x00]
-v_mul_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x82,0x01,0x00]
+v_mul_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0xef,0x01,0x00]
-v_mul_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xee,0x01,0x00]
+v_mul_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x05,0x02,0x20]
-v_mul_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x04,0x02,0x00]
+v_mul_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x05,0x02,0x40]
-v_mul_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0xfe,0x03,0x00]
+v_mul_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x05,0x02,0x60]
-v_mul_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x04,0x00,0x20]
+v_mul_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x10,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x04,0x00,0x40]
+v_mul_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x10,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x04,0x00,0x60]
+v_mul_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x10,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x10,0xd2,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x10,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x10,0xd2,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x05,0x02,0x08]
-v_mul_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x10,0xd2,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x05,0x02,0x10]
-v_mul_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x10,0xd2,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x10,0xd2,0x01,0x05,0x02,0x18]
-v_mul_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x04,0x00,0x08]
+v_mul_i32_i24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x12]
-v_mul_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x04,0x00,0x10]
+v_mul_i32_i24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x13]
-v_mul_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x10,0xd2,0x80,0x04,0x00,0x18]
+v_mul_i32_i24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x12]
v_mul_i32_i24 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x12]
-v_mul_i32_i24 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x13]
-
v_mul_i32_i24 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x12]
@@ -32490,99 +33228,141 @@ v_mul_i32_i24 v5, 0xaf123456, v2
v_mul_i32_i24 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x12,0x73,0x72,0x71,0x3f]
-v_mul_i32_i24 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x12]
+v_mul_i32_i24 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x12]
-v_mul_i32_i24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x12]
+v_mul_i32_i24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_i32_i24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x12,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0xff,0x05,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x67,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x68,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x69,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_i32_i24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x12]
+v_mul_i32_i24_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x6d,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x12,0xd2,0x80,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x6e,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x12,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x6f,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x12,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x7b,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x12,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0x80,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x12,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xff,0x03,0x00]
v_mul_i32_i24_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x12,0xd2,0x01,0x05,0x00,0x00]
-v_mul_i32_i24_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x12,0xd2,0xff,0x05,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xce,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xd1,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xd0,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xd3,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xd2,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xd9,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xdb,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xda,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xdd,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xdf,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xde,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xf7,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xff,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0x01,0x01,0x00]
-v_mul_i32_i24_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0x00,0x01,0x00]
+v_mul_i32_i24_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0x83,0x01,0x00]
-v_mul_i32_i24_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0x82,0x01,0x00]
+v_mul_i32_i24_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_i32_i24_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_i32_i24_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x12,0xd2,0x01,0xef,0x01,0x00]
-v_mul_i32_i24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xee,0x01,0x00]
+v_mul_hi_i32_i24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x14]
-v_mul_i32_i24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0x04,0x02,0x00]
+v_mul_hi_i32_i24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x15]
-v_mul_i32_i24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x12,0xd2,0x80,0xfe,0x03,0x00]
+v_mul_hi_i32_i24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x14]
v_mul_hi_i32_i24 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x14]
-v_mul_hi_i32_i24 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x15]
-
v_mul_hi_i32_i24 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x14]
@@ -32640,99 +33420,141 @@ v_mul_hi_i32_i24 v5, 0xaf123456, v2
v_mul_hi_i32_i24 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x14,0x73,0x72,0x71,0x3f]
-v_mul_hi_i32_i24 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x14]
+v_mul_hi_i32_i24 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x14]
-v_mul_hi_i32_i24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x14]
+v_mul_hi_i32_i24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x14,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0xff,0x05,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x67,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x68,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x69,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_hi_i32_i24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x14]
+v_mul_hi_i32_i24_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x6d,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x6e,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x6f,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0x80,0x04,0x02,0x00]
-v_mul_hi_i32_i24_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x14,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0xc1,0x04,0x02,0x00]
-v_mul_hi_i32_i24_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x14,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0xf0,0x04,0x02,0x00]
-v_mul_hi_i32_i24_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x14,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x14,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_hi_i32_i24_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x14,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xff,0x03,0x00]
v_mul_hi_i32_i24_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x14,0xd2,0x01,0x05,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x14,0xd2,0xff,0x05,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xce,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xd1,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xd0,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xd3,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xd2,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xd9,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xdb,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xda,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xdd,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xdf,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xde,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xf7,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xff,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0x01,0x01,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0x00,0x01,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0x83,0x01,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0x82,0x01,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x14,0xd2,0x01,0xef,0x01,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xee,0x01,0x00]
+v_mul_u32_u24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x16]
-v_mul_hi_i32_i24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0x04,0x02,0x00]
+v_mul_u32_u24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x17]
-v_mul_hi_i32_i24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x14,0xd2,0x80,0xfe,0x03,0x00]
+v_mul_u32_u24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x16]
v_mul_u32_u24 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x16]
-v_mul_u32_u24 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x17]
-
v_mul_u32_u24 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x16]
@@ -32790,99 +33612,141 @@ v_mul_u32_u24 v5, 0xaf123456, v2
v_mul_u32_u24 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x16,0x73,0x72,0x71,0x3f]
-v_mul_u32_u24 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x16]
+v_mul_u32_u24 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x16]
-v_mul_u32_u24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x16]
+v_mul_u32_u24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_u32_u24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x16,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0xff,0x05,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x67,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x68,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x69,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_u32_u24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x16]
+v_mul_u32_u24_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x6d,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x16,0xd2,0x80,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x6e,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x16,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x6f,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x16,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x7b,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x16,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0x80,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x16,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xff,0x03,0x00]
v_mul_u32_u24_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x16,0xd2,0x01,0x05,0x00,0x00]
-v_mul_u32_u24_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x16,0xd2,0xff,0x05,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xce,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xd1,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xd0,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xd3,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xd2,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xd9,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xdb,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xda,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xdd,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xdf,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xde,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xf7,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xff,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0x01,0x01,0x00]
-v_mul_u32_u24_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0x00,0x01,0x00]
+v_mul_u32_u24_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0x83,0x01,0x00]
-v_mul_u32_u24_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0x82,0x01,0x00]
+v_mul_u32_u24_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_u32_u24_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_u32_u24_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x16,0xd2,0x01,0xef,0x01,0x00]
-v_mul_u32_u24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xee,0x01,0x00]
+v_mul_hi_u32_u24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x18]
-v_mul_u32_u24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0x04,0x02,0x00]
+v_mul_hi_u32_u24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x19]
-v_mul_u32_u24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x16,0xd2,0x80,0xfe,0x03,0x00]
+v_mul_hi_u32_u24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x18]
v_mul_hi_u32_u24 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x18]
-v_mul_hi_u32_u24 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x19]
-
v_mul_hi_u32_u24 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x18]
@@ -32940,99 +33804,141 @@ v_mul_hi_u32_u24 v5, 0xaf123456, v2
v_mul_hi_u32_u24 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x18,0x73,0x72,0x71,0x3f]
-v_mul_hi_u32_u24 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x18]
+v_mul_hi_u32_u24 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x18]
-v_mul_hi_u32_u24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x18]
+v_mul_hi_u32_u24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x18,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0xff,0x05,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x67,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x68,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x69,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x6b,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_hi_u32_u24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x18]
+v_mul_hi_u32_u24_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x6d,0x04,0x02,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x6e,0x04,0x02,0x00]
-v_mul_hi_u32_u24_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x18,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x6f,0x04,0x02,0x00]
-v_mul_hi_u32_u24_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x18,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x7b,0x04,0x02,0x00]
-v_mul_hi_u32_u24_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x18,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x7c,0x04,0x02,0x00]
-v_mul_hi_u32_u24_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x18,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0x80,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x18,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xff,0x03,0x00]
v_mul_hi_u32_u24_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x18,0xd2,0x01,0x05,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x18,0xd2,0xff,0x05,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xce,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xd1,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xd0,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xd3,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xd2,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xd9,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xdb,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xda,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xdd,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xdf,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xde,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xf7,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xff,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0x01,0x01,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0x00,0x01,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0x83,0x01,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0x82,0x01,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x18,0xd2,0x01,0xef,0x01,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xee,0x01,0x00]
+v_min_legacy_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1a]
-v_mul_hi_u32_u24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0x04,0x02,0x00]
+v_min_legacy_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x1b]
-v_mul_hi_u32_u24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x18,0xd2,0x80,0xfe,0x03,0x00]
+v_min_legacy_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1a]
v_min_legacy_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x1a]
-v_min_legacy_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x1b]
-
v_min_legacy_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x1a]
@@ -33090,129 +33996,171 @@ v_min_legacy_f32 v5, 0xaf123456, v2
v_min_legacy_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x1a,0x73,0x72,0x71,0x3f]
-v_min_legacy_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x1a]
+v_min_legacy_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x1a]
-v_min_legacy_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x1a]
+v_min_legacy_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_legacy_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x1a,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0xff,0x05,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x67,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x68,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x69,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x6a,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x6b,0x04,0x02,0x00]
-v_min_legacy_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x1a]
+v_min_legacy_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x6c,0x04,0x02,0x00]
-v_min_legacy_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x04,0x00,0x00]
+v_min_legacy_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x6d,0x04,0x02,0x00]
-v_min_legacy_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x1a,0xd2,0x80,0x04,0x00,0x00]
+v_min_legacy_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x6e,0x04,0x02,0x00]
-v_min_legacy_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x1a,0xd2,0xc1,0x04,0x00,0x00]
+v_min_legacy_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x6f,0x04,0x02,0x00]
-v_min_legacy_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x1a,0xd2,0xf0,0x04,0x00,0x00]
+v_min_legacy_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x7b,0x04,0x02,0x00]
-v_min_legacy_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x1a,0xd2,0xf7,0x04,0x00,0x00]
+v_min_legacy_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x7c,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x7e,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x7f,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0xc1,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0xf0,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0xf7,0x04,0x02,0x00]
+
+v_min_legacy_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xff,0x03,0x00]
v_min_legacy_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x05,0x00,0x00]
-v_min_legacy_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x1a,0xd2,0xff,0x05,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xcf,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xce,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xd1,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xd0,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xd3,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xd2,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xd5,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xd4,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xd7,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xd6,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xd9,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xd8,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xdb,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xda,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xdd,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xdc,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xdf,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xde,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xf7,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xf6,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xf9,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xf8,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xfd,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xfc,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xff,0x00,0x00]
-v_min_legacy_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xfe,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x01,0x01,0x00]
-v_min_legacy_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x00,0x01,0x00]
+v_min_legacy_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x83,0x01,0x00]
-v_min_legacy_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x82,0x01,0x00]
+v_min_legacy_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xe1,0x01,0x00]
-v_min_legacy_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xe0,0x01,0x00]
+v_min_legacy_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0xef,0x01,0x00]
-v_min_legacy_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xee,0x01,0x00]
+v_min_legacy_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x05,0x02,0x20]
-v_min_legacy_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x04,0x02,0x00]
+v_min_legacy_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x05,0x02,0x40]
-v_min_legacy_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0xfe,0x03,0x00]
+v_min_legacy_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x05,0x02,0x60]
-v_min_legacy_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x04,0x00,0x20]
+v_min_legacy_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x1a,0xd2,0x01,0x05,0x02,0x00]
-v_min_legacy_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x04,0x00,0x40]
+v_min_legacy_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x1a,0xd2,0x01,0x05,0x02,0x00]
-v_min_legacy_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x04,0x00,0x60]
+v_min_legacy_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x1a,0xd2,0x01,0x05,0x02,0x00]
-v_min_legacy_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x1a,0xd2,0x80,0x04,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x1a,0xd2,0x01,0x05,0x02,0x00]
-v_min_legacy_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x1a,0xd2,0x80,0x04,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x05,0x02,0x08]
-v_min_legacy_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x1a,0xd2,0x80,0x04,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x05,0x02,0x10]
-v_min_legacy_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x1a,0xd2,0x80,0x04,0x00,0x00]
+v_min_legacy_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x1a,0xd2,0x01,0x05,0x02,0x18]
-v_min_legacy_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x04,0x00,0x08]
+v_max_legacy_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1c]
-v_min_legacy_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x04,0x00,0x10]
+v_max_legacy_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x1d]
-v_min_legacy_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x1a,0xd2,0x80,0x04,0x00,0x18]
+v_max_legacy_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1c]
v_max_legacy_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x1c]
-v_max_legacy_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x1d]
-
v_max_legacy_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x1c]
@@ -33270,129 +34218,171 @@ v_max_legacy_f32 v5, 0xaf123456, v2
v_max_legacy_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x1c,0x73,0x72,0x71,0x3f]
-v_max_legacy_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x1c]
+v_max_legacy_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x1c]
-v_max_legacy_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x1c]
+v_max_legacy_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_legacy_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x1c,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0xff,0x05,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x67,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x68,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x69,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x6a,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x6b,0x04,0x02,0x00]
-v_max_legacy_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x1c]
+v_max_legacy_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x6c,0x04,0x02,0x00]
-v_max_legacy_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x04,0x00,0x00]
+v_max_legacy_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x6d,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x6e,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x6f,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x7b,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x7c,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x7e,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x7f,0x04,0x02,0x00]
+
+v_max_legacy_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x04,0x02,0x00]
-v_max_legacy_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x1c,0xd2,0x80,0x04,0x00,0x00]
+v_max_legacy_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0xc1,0x04,0x02,0x00]
-v_max_legacy_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x1c,0xd2,0xc1,0x04,0x00,0x00]
+v_max_legacy_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0xf0,0x04,0x02,0x00]
-v_max_legacy_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x1c,0xd2,0xf0,0x04,0x00,0x00]
+v_max_legacy_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0xf7,0x04,0x02,0x00]
-v_max_legacy_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x1c,0xd2,0xf7,0x04,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xff,0x03,0x00]
v_max_legacy_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x05,0x00,0x00]
-v_max_legacy_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x1c,0xd2,0xff,0x05,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xcf,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xce,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xd1,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xd0,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xd3,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xd2,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xd5,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xd4,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xd7,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xd6,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xd9,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xd8,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xdb,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xda,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xdd,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xdc,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xdf,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xde,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xf7,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xf6,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xf9,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xf8,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xfd,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xfc,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xff,0x00,0x00]
-v_max_legacy_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xfe,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x01,0x01,0x00]
-v_max_legacy_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x00,0x01,0x00]
+v_max_legacy_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x83,0x01,0x00]
-v_max_legacy_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x82,0x01,0x00]
+v_max_legacy_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xe1,0x01,0x00]
-v_max_legacy_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xe0,0x01,0x00]
+v_max_legacy_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0xef,0x01,0x00]
-v_max_legacy_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xee,0x01,0x00]
+v_max_legacy_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x05,0x02,0x20]
-v_max_legacy_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x04,0x02,0x00]
+v_max_legacy_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x05,0x02,0x40]
-v_max_legacy_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0xfe,0x03,0x00]
+v_max_legacy_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x05,0x02,0x60]
-v_max_legacy_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x04,0x00,0x20]
+v_max_legacy_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x1c,0xd2,0x01,0x05,0x02,0x00]
-v_max_legacy_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x04,0x00,0x40]
+v_max_legacy_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x1c,0xd2,0x01,0x05,0x02,0x00]
-v_max_legacy_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x04,0x00,0x60]
+v_max_legacy_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x1c,0xd2,0x01,0x05,0x02,0x00]
-v_max_legacy_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x1c,0xd2,0x80,0x04,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x1c,0xd2,0x01,0x05,0x02,0x00]
-v_max_legacy_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x1c,0xd2,0x80,0x04,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x05,0x02,0x08]
-v_max_legacy_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x1c,0xd2,0x80,0x04,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x05,0x02,0x10]
-v_max_legacy_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x1c,0xd2,0x80,0x04,0x00,0x00]
+v_max_legacy_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x1c,0xd2,0x01,0x05,0x02,0x18]
-v_max_legacy_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x04,0x00,0x08]
+v_min_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1e]
-v_max_legacy_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x04,0x00,0x10]
+v_min_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x1f]
-v_max_legacy_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x1c,0xd2,0x80,0x04,0x00,0x18]
+v_min_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1e]
v_min_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x1e]
-v_min_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x1f]
-
v_min_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x1e]
@@ -33450,129 +34440,171 @@ v_min_f32 v5, 0xaf123456, v2
v_min_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x1e,0x73,0x72,0x71,0x3f]
-v_min_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x1e]
+v_min_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x1e]
-v_min_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x1e]
+v_min_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x1e,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0xff,0x05,0x02,0x00]
+
+v_min_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x67,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x68,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x69,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x6a,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x6b,0x04,0x02,0x00]
-v_min_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x1e]
+v_min_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x6c,0x04,0x02,0x00]
-v_min_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x6d,0x04,0x02,0x00]
-v_min_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x1e,0xd2,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x6e,0x04,0x02,0x00]
-v_min_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x1e,0xd2,0xc1,0x04,0x00,0x00]
+v_min_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x6f,0x04,0x02,0x00]
-v_min_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x1e,0xd2,0xf0,0x04,0x00,0x00]
+v_min_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x7b,0x04,0x02,0x00]
-v_min_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x1e,0xd2,0xf7,0x04,0x00,0x00]
+v_min_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x7c,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x7e,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x7f,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0xc1,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0xf0,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0xf7,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xff,0x03,0x00]
v_min_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x05,0x00,0x00]
-v_min_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x1e,0xd2,0xff,0x05,0x00,0x00]
+v_min_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xcf,0x00,0x00]
-v_min_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xce,0x00,0x00]
+v_min_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xd1,0x00,0x00]
-v_min_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xd0,0x00,0x00]
+v_min_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xd3,0x00,0x00]
-v_min_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xd2,0x00,0x00]
+v_min_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xd5,0x00,0x00]
-v_min_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xd4,0x00,0x00]
+v_min_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xd7,0x00,0x00]
-v_min_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xd6,0x00,0x00]
+v_min_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xd9,0x00,0x00]
-v_min_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xd8,0x00,0x00]
+v_min_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xdb,0x00,0x00]
-v_min_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xda,0x00,0x00]
+v_min_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xdd,0x00,0x00]
-v_min_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xdc,0x00,0x00]
+v_min_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xdf,0x00,0x00]
-v_min_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xde,0x00,0x00]
+v_min_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xf7,0x00,0x00]
-v_min_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xf6,0x00,0x00]
+v_min_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xf9,0x00,0x00]
-v_min_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xf8,0x00,0x00]
+v_min_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xfd,0x00,0x00]
-v_min_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xfc,0x00,0x00]
+v_min_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xff,0x00,0x00]
-v_min_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xfe,0x00,0x00]
+v_min_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x01,0x01,0x00]
-v_min_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x00,0x01,0x00]
+v_min_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x83,0x01,0x00]
-v_min_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x82,0x01,0x00]
+v_min_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xe1,0x01,0x00]
-v_min_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xe0,0x01,0x00]
+v_min_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0xef,0x01,0x00]
-v_min_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xee,0x01,0x00]
+v_min_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x05,0x02,0x20]
-v_min_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x04,0x02,0x00]
+v_min_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x05,0x02,0x40]
-v_min_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0xfe,0x03,0x00]
+v_min_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x05,0x02,0x60]
-v_min_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x04,0x00,0x20]
+v_min_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x1e,0xd2,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x04,0x00,0x40]
+v_min_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x1e,0xd2,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x04,0x00,0x60]
+v_min_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x1e,0xd2,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x1e,0xd2,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x1e,0xd2,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x1e,0xd2,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x05,0x02,0x08]
-v_min_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x1e,0xd2,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x05,0x02,0x10]
-v_min_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x1e,0xd2,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x1e,0xd2,0x01,0x05,0x02,0x18]
-v_min_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x04,0x00,0x08]
+v_max_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x20]
-v_min_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x04,0x00,0x10]
+v_max_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x21]
-v_min_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x1e,0xd2,0x80,0x04,0x00,0x18]
+v_max_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x20]
v_max_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x20]
-v_max_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x21]
-
v_max_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x20]
@@ -33630,129 +34662,171 @@ v_max_f32 v5, 0xaf123456, v2
v_max_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x20,0x73,0x72,0x71,0x3f]
-v_max_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x20]
+v_max_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x20]
-v_max_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x20]
+v_max_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x20,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0xff,0x05,0x02,0x00]
+
+v_max_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x67,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x68,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x69,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x6a,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x6b,0x04,0x02,0x00]
-v_max_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x20]
+v_max_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x6c,0x04,0x02,0x00]
-v_max_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x6d,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x6e,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x6f,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x7b,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x7c,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x7e,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x7f,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x04,0x02,0x00]
-v_max_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x20,0xd2,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0xc1,0x04,0x02,0x00]
-v_max_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x20,0xd2,0xc1,0x04,0x00,0x00]
+v_max_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0xf0,0x04,0x02,0x00]
-v_max_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x20,0xd2,0xf0,0x04,0x00,0x00]
+v_max_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0xf7,0x04,0x02,0x00]
-v_max_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x20,0xd2,0xf7,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xff,0x03,0x00]
v_max_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x05,0x00,0x00]
-v_max_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x20,0xd2,0xff,0x05,0x00,0x00]
+v_max_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xcf,0x00,0x00]
-v_max_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xce,0x00,0x00]
+v_max_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xd1,0x00,0x00]
-v_max_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xd0,0x00,0x00]
+v_max_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xd3,0x00,0x00]
-v_max_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xd2,0x00,0x00]
+v_max_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xd5,0x00,0x00]
-v_max_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xd4,0x00,0x00]
+v_max_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xd7,0x00,0x00]
-v_max_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xd6,0x00,0x00]
+v_max_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xd9,0x00,0x00]
-v_max_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xd8,0x00,0x00]
+v_max_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xdb,0x00,0x00]
-v_max_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xda,0x00,0x00]
+v_max_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xdd,0x00,0x00]
-v_max_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xdc,0x00,0x00]
+v_max_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xdf,0x00,0x00]
-v_max_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xde,0x00,0x00]
+v_max_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xf7,0x00,0x00]
-v_max_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xf6,0x00,0x00]
+v_max_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xf9,0x00,0x00]
-v_max_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xf8,0x00,0x00]
+v_max_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xfd,0x00,0x00]
-v_max_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xfc,0x00,0x00]
+v_max_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xff,0x00,0x00]
-v_max_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xfe,0x00,0x00]
+v_max_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x01,0x01,0x00]
-v_max_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x00,0x01,0x00]
+v_max_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x83,0x01,0x00]
-v_max_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x82,0x01,0x00]
+v_max_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xe1,0x01,0x00]
-v_max_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xe0,0x01,0x00]
+v_max_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0xef,0x01,0x00]
-v_max_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xee,0x01,0x00]
+v_max_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x05,0x02,0x20]
-v_max_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x04,0x02,0x00]
+v_max_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x05,0x02,0x40]
-v_max_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0xfe,0x03,0x00]
+v_max_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x05,0x02,0x60]
-v_max_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x04,0x00,0x20]
+v_max_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x20,0xd2,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x04,0x00,0x40]
+v_max_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x20,0xd2,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x04,0x00,0x60]
+v_max_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x20,0xd2,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x20,0xd2,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x20,0xd2,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x20,0xd2,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x05,0x02,0x08]
-v_max_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x20,0xd2,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x05,0x02,0x10]
-v_max_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x20,0xd2,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x20,0xd2,0x01,0x05,0x02,0x18]
-v_max_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x04,0x00,0x08]
+v_min_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x22]
-v_max_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x04,0x00,0x10]
+v_min_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x23]
-v_max_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x20,0xd2,0x80,0x04,0x00,0x18]
+v_min_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x22]
v_min_i32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x22]
-v_min_i32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x23]
-
v_min_i32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x22]
@@ -33810,99 +34884,141 @@ v_min_i32 v5, 0xaf123456, v2
v_min_i32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x22,0x73,0x72,0x71,0x3f]
-v_min_i32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x22]
+v_min_i32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x22]
-v_min_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x22]
+v_min_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x22,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0xff,0x05,0x02,0x00]
+
+v_min_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x67,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x68,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x69,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x6a,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x6b,0x04,0x02,0x00]
-v_min_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x22]
+v_min_i32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x6c,0x04,0x02,0x00]
-v_min_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0x04,0x00,0x00]
+v_min_i32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x6d,0x04,0x02,0x00]
-v_min_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x22,0xd2,0x80,0x04,0x00,0x00]
+v_min_i32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x6e,0x04,0x02,0x00]
-v_min_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x22,0xd2,0xc1,0x04,0x00,0x00]
+v_min_i32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x6f,0x04,0x02,0x00]
-v_min_i32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x22,0xd2,0xf0,0x04,0x00,0x00]
+v_min_i32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x7b,0x04,0x02,0x00]
-v_min_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x22,0xd2,0xf7,0x04,0x00,0x00]
+v_min_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x7c,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x7e,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x7f,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0x80,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0xc1,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0xf0,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x22,0xd2,0xf7,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xff,0x03,0x00]
v_min_i32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x22,0xd2,0x01,0x05,0x00,0x00]
-v_min_i32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x22,0xd2,0xff,0x05,0x00,0x00]
+v_min_i32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xcf,0x00,0x00]
-v_min_i32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xce,0x00,0x00]
+v_min_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xd1,0x00,0x00]
-v_min_i32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xd0,0x00,0x00]
+v_min_i32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xd3,0x00,0x00]
-v_min_i32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xd2,0x00,0x00]
+v_min_i32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xd5,0x00,0x00]
-v_min_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xd4,0x00,0x00]
+v_min_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xd7,0x00,0x00]
-v_min_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xd6,0x00,0x00]
+v_min_i32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xd9,0x00,0x00]
-v_min_i32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xd8,0x00,0x00]
+v_min_i32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xdb,0x00,0x00]
-v_min_i32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xda,0x00,0x00]
+v_min_i32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xdd,0x00,0x00]
-v_min_i32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xdc,0x00,0x00]
+v_min_i32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xdf,0x00,0x00]
-v_min_i32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xde,0x00,0x00]
+v_min_i32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xf7,0x00,0x00]
-v_min_i32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xf6,0x00,0x00]
+v_min_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xf9,0x00,0x00]
-v_min_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xf8,0x00,0x00]
+v_min_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xfd,0x00,0x00]
-v_min_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xfc,0x00,0x00]
+v_min_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xff,0x00,0x00]
-v_min_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xfe,0x00,0x00]
+v_min_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0x01,0x01,0x00]
-v_min_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0x00,0x01,0x00]
+v_min_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0x83,0x01,0x00]
-v_min_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0x82,0x01,0x00]
+v_min_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xe1,0x01,0x00]
-v_min_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xe0,0x01,0x00]
+v_min_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x22,0xd2,0x01,0xef,0x01,0x00]
-v_min_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xee,0x01,0x00]
+v_max_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x24]
-v_min_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0x04,0x02,0x00]
+v_max_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x25]
-v_min_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x22,0xd2,0x80,0xfe,0x03,0x00]
+v_max_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x24]
v_max_i32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x24]
-v_max_i32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x25]
-
v_max_i32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x24]
@@ -33960,99 +35076,141 @@ v_max_i32 v5, 0xaf123456, v2
v_max_i32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x24,0x73,0x72,0x71,0x3f]
-v_max_i32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x24]
+v_max_i32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x24]
-v_max_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x24]
+v_max_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x24,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0xff,0x05,0x02,0x00]
+
+v_max_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x67,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x68,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x69,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x6a,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x6b,0x04,0x02,0x00]
-v_max_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x24]
+v_max_i32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x6c,0x04,0x02,0x00]
-v_max_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0x04,0x00,0x00]
+v_max_i32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x6d,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x6e,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x6f,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x7b,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x7c,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x7e,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x7f,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0x80,0x04,0x02,0x00]
-v_max_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x24,0xd2,0x80,0x04,0x00,0x00]
+v_max_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0xc1,0x04,0x02,0x00]
-v_max_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x24,0xd2,0xc1,0x04,0x00,0x00]
+v_max_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0xf0,0x04,0x02,0x00]
-v_max_i32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x24,0xd2,0xf0,0x04,0x00,0x00]
+v_max_i32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x24,0xd2,0xf7,0x04,0x02,0x00]
-v_max_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x24,0xd2,0xf7,0x04,0x00,0x00]
+v_max_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xff,0x03,0x00]
v_max_i32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x24,0xd2,0x01,0x05,0x00,0x00]
-v_max_i32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x24,0xd2,0xff,0x05,0x00,0x00]
+v_max_i32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xcf,0x00,0x00]
-v_max_i32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xce,0x00,0x00]
+v_max_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xd1,0x00,0x00]
-v_max_i32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xd0,0x00,0x00]
+v_max_i32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xd3,0x00,0x00]
-v_max_i32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xd2,0x00,0x00]
+v_max_i32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xd5,0x00,0x00]
-v_max_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xd4,0x00,0x00]
+v_max_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xd7,0x00,0x00]
-v_max_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xd6,0x00,0x00]
+v_max_i32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xd9,0x00,0x00]
-v_max_i32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xd8,0x00,0x00]
+v_max_i32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xdb,0x00,0x00]
-v_max_i32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xda,0x00,0x00]
+v_max_i32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xdd,0x00,0x00]
-v_max_i32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xdc,0x00,0x00]
+v_max_i32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xdf,0x00,0x00]
-v_max_i32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xde,0x00,0x00]
+v_max_i32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xf7,0x00,0x00]
-v_max_i32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xf6,0x00,0x00]
+v_max_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xf9,0x00,0x00]
-v_max_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xf8,0x00,0x00]
+v_max_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xfd,0x00,0x00]
-v_max_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xfc,0x00,0x00]
+v_max_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xff,0x00,0x00]
-v_max_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xfe,0x00,0x00]
+v_max_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0x01,0x01,0x00]
-v_max_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0x00,0x01,0x00]
+v_max_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0x83,0x01,0x00]
-v_max_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0x82,0x01,0x00]
+v_max_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xe1,0x01,0x00]
-v_max_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xe0,0x01,0x00]
+v_max_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x24,0xd2,0x01,0xef,0x01,0x00]
-v_max_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xee,0x01,0x00]
+v_min_u32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x26]
-v_max_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0x04,0x02,0x00]
+v_min_u32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x27]
-v_max_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x24,0xd2,0x80,0xfe,0x03,0x00]
+v_min_u32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x26]
v_min_u32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x26]
-v_min_u32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x27]
-
v_min_u32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x26]
@@ -34110,99 +35268,141 @@ v_min_u32 v5, 0xaf123456, v2
v_min_u32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x26,0x73,0x72,0x71,0x3f]
-v_min_u32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x26]
+v_min_u32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x26]
-v_min_u32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x26]
+v_min_u32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_u32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x26,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_u32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0xff,0x05,0x02,0x00]
+
+v_min_u32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x67,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x68,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x69,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x6a,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x6b,0x04,0x02,0x00]
-v_min_u32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x26]
+v_min_u32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x6c,0x04,0x02,0x00]
-v_min_u32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0x04,0x00,0x00]
+v_min_u32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x6d,0x04,0x02,0x00]
-v_min_u32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x26,0xd2,0x80,0x04,0x00,0x00]
+v_min_u32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x6e,0x04,0x02,0x00]
-v_min_u32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x26,0xd2,0xc1,0x04,0x00,0x00]
+v_min_u32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x6f,0x04,0x02,0x00]
-v_min_u32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x26,0xd2,0xf0,0x04,0x00,0x00]
+v_min_u32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x7b,0x04,0x02,0x00]
-v_min_u32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x26,0xd2,0xf7,0x04,0x00,0x00]
+v_min_u32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x7c,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x7e,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x7f,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0x80,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0xc1,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0xf0,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x26,0xd2,0xf7,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xff,0x03,0x00]
v_min_u32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x26,0xd2,0x01,0x05,0x00,0x00]
-v_min_u32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x26,0xd2,0xff,0x05,0x00,0x00]
+v_min_u32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xcf,0x00,0x00]
-v_min_u32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xce,0x00,0x00]
+v_min_u32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xd1,0x00,0x00]
-v_min_u32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xd0,0x00,0x00]
+v_min_u32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xd3,0x00,0x00]
-v_min_u32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xd2,0x00,0x00]
+v_min_u32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xd5,0x00,0x00]
-v_min_u32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xd4,0x00,0x00]
+v_min_u32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xd7,0x00,0x00]
-v_min_u32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xd6,0x00,0x00]
+v_min_u32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xd9,0x00,0x00]
-v_min_u32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xd8,0x00,0x00]
+v_min_u32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xdb,0x00,0x00]
-v_min_u32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xda,0x00,0x00]
+v_min_u32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xdd,0x00,0x00]
-v_min_u32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xdc,0x00,0x00]
+v_min_u32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xdf,0x00,0x00]
-v_min_u32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xde,0x00,0x00]
+v_min_u32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xf7,0x00,0x00]
-v_min_u32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xf6,0x00,0x00]
+v_min_u32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xf9,0x00,0x00]
-v_min_u32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xf8,0x00,0x00]
+v_min_u32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xfd,0x00,0x00]
-v_min_u32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xfc,0x00,0x00]
+v_min_u32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xff,0x00,0x00]
-v_min_u32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xfe,0x00,0x00]
+v_min_u32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0x01,0x01,0x00]
-v_min_u32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0x00,0x01,0x00]
+v_min_u32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0x83,0x01,0x00]
-v_min_u32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0x82,0x01,0x00]
+v_min_u32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xe1,0x01,0x00]
-v_min_u32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xe0,0x01,0x00]
+v_min_u32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x26,0xd2,0x01,0xef,0x01,0x00]
-v_min_u32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xee,0x01,0x00]
+v_max_u32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x28]
-v_min_u32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0x04,0x02,0x00]
+v_max_u32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x29]
-v_min_u32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x26,0xd2,0x80,0xfe,0x03,0x00]
+v_max_u32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x28]
v_max_u32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x28]
-v_max_u32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x29]
-
v_max_u32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x28]
@@ -34260,99 +35460,141 @@ v_max_u32 v5, 0xaf123456, v2
v_max_u32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x28,0x73,0x72,0x71,0x3f]
-v_max_u32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x28]
+v_max_u32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x28]
-v_max_u32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x28]
+v_max_u32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_u32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x28,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_u32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0xff,0x05,0x02,0x00]
+
+v_max_u32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x67,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x68,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x69,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x6a,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x6b,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x6c,0x04,0x02,0x00]
-v_max_u32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x28]
+v_max_u32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x6d,0x04,0x02,0x00]
-v_max_u32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0x04,0x00,0x00]
+v_max_u32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x6e,0x04,0x02,0x00]
-v_max_u32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x28,0xd2,0x80,0x04,0x00,0x00]
+v_max_u32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x6f,0x04,0x02,0x00]
-v_max_u32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x28,0xd2,0xc1,0x04,0x00,0x00]
+v_max_u32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x7b,0x04,0x02,0x00]
-v_max_u32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x28,0xd2,0xf0,0x04,0x00,0x00]
+v_max_u32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x7c,0x04,0x02,0x00]
-v_max_u32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x28,0xd2,0xf7,0x04,0x00,0x00]
+v_max_u32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x7e,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x7f,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0x80,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0xc1,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0xf0,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x28,0xd2,0xf7,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xff,0x03,0x00]
v_max_u32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x28,0xd2,0x01,0x05,0x00,0x00]
-v_max_u32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x28,0xd2,0xff,0x05,0x00,0x00]
+v_max_u32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xcf,0x00,0x00]
-v_max_u32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xce,0x00,0x00]
+v_max_u32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xd1,0x00,0x00]
-v_max_u32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xd0,0x00,0x00]
+v_max_u32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xd3,0x00,0x00]
-v_max_u32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xd2,0x00,0x00]
+v_max_u32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xd5,0x00,0x00]
-v_max_u32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xd4,0x00,0x00]
+v_max_u32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xd7,0x00,0x00]
-v_max_u32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xd6,0x00,0x00]
+v_max_u32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xd9,0x00,0x00]
-v_max_u32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xd8,0x00,0x00]
+v_max_u32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xdb,0x00,0x00]
-v_max_u32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xda,0x00,0x00]
+v_max_u32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xdd,0x00,0x00]
-v_max_u32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xdc,0x00,0x00]
+v_max_u32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xdf,0x00,0x00]
-v_max_u32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xde,0x00,0x00]
+v_max_u32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xf7,0x00,0x00]
-v_max_u32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xf6,0x00,0x00]
+v_max_u32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xf9,0x00,0x00]
-v_max_u32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xf8,0x00,0x00]
+v_max_u32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xfd,0x00,0x00]
-v_max_u32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xfc,0x00,0x00]
+v_max_u32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xff,0x00,0x00]
-v_max_u32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xfe,0x00,0x00]
+v_max_u32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0x01,0x01,0x00]
-v_max_u32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0x00,0x01,0x00]
+v_max_u32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0x83,0x01,0x00]
-v_max_u32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0x82,0x01,0x00]
+v_max_u32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xe1,0x01,0x00]
-v_max_u32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xe0,0x01,0x00]
+v_max_u32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x28,0xd2,0x01,0xef,0x01,0x00]
-v_max_u32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xee,0x01,0x00]
+v_lshr_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x2a]
-v_max_u32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0x04,0x02,0x00]
+v_lshr_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x2b]
-v_max_u32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x28,0xd2,0x80,0xfe,0x03,0x00]
+v_lshr_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x2a]
v_lshr_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x2a]
-v_lshr_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x2b]
-
v_lshr_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x2a]
@@ -34410,99 +35652,141 @@ v_lshr_b32 v5, 0xaf123456, v2
v_lshr_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x2a,0x73,0x72,0x71,0x3f]
-v_lshr_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x2a]
+v_lshr_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x2a]
-v_lshr_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x2a]
+v_lshr_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshr_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2a,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshr_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0xff,0x05,0x02,0x00]
+
+v_lshr_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x67,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x68,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x69,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x6a,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x6b,0x04,0x02,0x00]
-v_lshr_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x2a]
+v_lshr_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x6c,0x04,0x02,0x00]
-v_lshr_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0x04,0x00,0x00]
+v_lshr_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x6d,0x04,0x02,0x00]
-v_lshr_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2a,0xd2,0x80,0x04,0x00,0x00]
+v_lshr_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x6e,0x04,0x02,0x00]
-v_lshr_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2a,0xd2,0xc1,0x04,0x00,0x00]
+v_lshr_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x6f,0x04,0x02,0x00]
-v_lshr_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2a,0xd2,0xf0,0x04,0x00,0x00]
+v_lshr_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x7b,0x04,0x02,0x00]
-v_lshr_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2a,0xd2,0xf7,0x04,0x00,0x00]
+v_lshr_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x7c,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x7e,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x7f,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0xc1,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0xf0,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2a,0xd2,0xf7,0x04,0x02,0x00]
+
+v_lshr_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xff,0x03,0x00]
v_lshr_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0x05,0x00,0x00]
-v_lshr_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x2a,0xd2,0xff,0x05,0x00,0x00]
+v_lshr_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xcf,0x00,0x00]
-v_lshr_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xce,0x00,0x00]
+v_lshr_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xd1,0x00,0x00]
-v_lshr_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xd0,0x00,0x00]
+v_lshr_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xd3,0x00,0x00]
-v_lshr_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xd2,0x00,0x00]
+v_lshr_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xd5,0x00,0x00]
-v_lshr_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xd4,0x00,0x00]
+v_lshr_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xd7,0x00,0x00]
-v_lshr_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xd6,0x00,0x00]
+v_lshr_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xd9,0x00,0x00]
-v_lshr_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xd8,0x00,0x00]
+v_lshr_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xdb,0x00,0x00]
-v_lshr_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xda,0x00,0x00]
+v_lshr_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xdd,0x00,0x00]
-v_lshr_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xdc,0x00,0x00]
+v_lshr_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xdf,0x00,0x00]
-v_lshr_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xde,0x00,0x00]
+v_lshr_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xf7,0x00,0x00]
-v_lshr_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xf6,0x00,0x00]
+v_lshr_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xf9,0x00,0x00]
-v_lshr_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xf8,0x00,0x00]
+v_lshr_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xfd,0x00,0x00]
-v_lshr_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xfc,0x00,0x00]
+v_lshr_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xff,0x00,0x00]
-v_lshr_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xfe,0x00,0x00]
+v_lshr_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0x01,0x01,0x00]
-v_lshr_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0x00,0x01,0x00]
+v_lshr_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0x83,0x01,0x00]
-v_lshr_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0x82,0x01,0x00]
+v_lshr_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xe1,0x01,0x00]
-v_lshr_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xe0,0x01,0x00]
+v_lshr_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2a,0xd2,0x01,0xef,0x01,0x00]
-v_lshr_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xee,0x01,0x00]
+v_lshrrev_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x2c]
-v_lshr_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0x04,0x02,0x00]
+v_lshrrev_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x2d]
-v_lshr_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2a,0xd2,0x80,0xfe,0x03,0x00]
+v_lshrrev_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x2c]
v_lshrrev_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x2c]
-v_lshrrev_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x2d]
-
v_lshrrev_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x2c]
@@ -34560,99 +35844,141 @@ v_lshrrev_b32 v5, 0xaf123456, v2
v_lshrrev_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x2c,0x73,0x72,0x71,0x3f]
-v_lshrrev_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x2c]
+v_lshrrev_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x2c]
-v_lshrrev_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x2c]
+v_lshrrev_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2c,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0xff,0x05,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x67,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x68,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x69,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x6a,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x6b,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x6c,0x04,0x02,0x00]
-v_lshrrev_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x2c]
+v_lshrrev_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x6d,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x6e,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2c,0xd2,0x80,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x6f,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2c,0xd2,0xc1,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x7b,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2c,0xd2,0xf0,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x7c,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2c,0xd2,0xf7,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x7e,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x7f,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0xc1,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0xf0,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2c,0xd2,0xf7,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xff,0x03,0x00]
v_lshrrev_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0x05,0x00,0x00]
-v_lshrrev_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x2c,0xd2,0xff,0x05,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xcf,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xce,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xd1,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xd0,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xd3,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xd2,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xd5,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xd4,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xd7,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xd6,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xd9,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xd8,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xdb,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xda,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xdd,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xdc,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xdf,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xde,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xf7,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xf6,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xf9,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xf8,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xfd,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xfc,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xff,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xfe,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0x01,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0x00,0x01,0x00]
+v_lshrrev_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0x83,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0x82,0x01,0x00]
+v_lshrrev_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xe1,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xe0,0x01,0x00]
+v_lshrrev_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2c,0xd2,0x01,0xef,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xee,0x01,0x00]
+v_ashr_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x2e]
-v_lshrrev_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0x04,0x02,0x00]
+v_ashr_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x2f]
-v_lshrrev_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2c,0xd2,0x80,0xfe,0x03,0x00]
+v_ashr_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x2e]
v_ashr_i32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x2e]
-v_ashr_i32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x2f]
-
v_ashr_i32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x2e]
@@ -34710,99 +36036,141 @@ v_ashr_i32 v5, 0xaf123456, v2
v_ashr_i32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x2e,0x73,0x72,0x71,0x3f]
-v_ashr_i32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x2e]
+v_ashr_i32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x2e]
-v_ashr_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x2e]
+v_ashr_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0x05,0x02,0x00]
+
+v_ashr_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2e,0xd2,0x01,0x05,0x02,0x00]
+
+v_ashr_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0xff,0x05,0x02,0x00]
+
+v_ashr_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x67,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x68,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x69,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x6a,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x6b,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x6c,0x04,0x02,0x00]
-v_ashr_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x2e]
+v_ashr_i32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x6d,0x04,0x02,0x00]
-v_ashr_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0x04,0x00,0x00]
+v_ashr_i32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x6e,0x04,0x02,0x00]
-v_ashr_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2e,0xd2,0x80,0x04,0x00,0x00]
+v_ashr_i32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x6f,0x04,0x02,0x00]
-v_ashr_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2e,0xd2,0xc1,0x04,0x00,0x00]
+v_ashr_i32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x7b,0x04,0x02,0x00]
-v_ashr_i32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2e,0xd2,0xf0,0x04,0x00,0x00]
+v_ashr_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x7c,0x04,0x02,0x00]
-v_ashr_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2e,0xd2,0xf7,0x04,0x00,0x00]
+v_ashr_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x7e,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x7f,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0xc1,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0xf0,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2e,0xd2,0xf7,0x04,0x02,0x00]
+
+v_ashr_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xff,0x03,0x00]
v_ashr_i32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0x05,0x00,0x00]
-v_ashr_i32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x2e,0xd2,0xff,0x05,0x00,0x00]
+v_ashr_i32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xcf,0x00,0x00]
-v_ashr_i32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xce,0x00,0x00]
+v_ashr_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xd1,0x00,0x00]
-v_ashr_i32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xd0,0x00,0x00]
+v_ashr_i32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xd3,0x00,0x00]
-v_ashr_i32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xd2,0x00,0x00]
+v_ashr_i32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xd5,0x00,0x00]
-v_ashr_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xd4,0x00,0x00]
+v_ashr_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xd7,0x00,0x00]
-v_ashr_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xd6,0x00,0x00]
+v_ashr_i32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xd9,0x00,0x00]
-v_ashr_i32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xd8,0x00,0x00]
+v_ashr_i32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xdb,0x00,0x00]
-v_ashr_i32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xda,0x00,0x00]
+v_ashr_i32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xdd,0x00,0x00]
-v_ashr_i32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xdc,0x00,0x00]
+v_ashr_i32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xdf,0x00,0x00]
-v_ashr_i32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xde,0x00,0x00]
+v_ashr_i32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xf7,0x00,0x00]
-v_ashr_i32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xf6,0x00,0x00]
+v_ashr_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xf9,0x00,0x00]
-v_ashr_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xf8,0x00,0x00]
+v_ashr_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xfd,0x00,0x00]
-v_ashr_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xfc,0x00,0x00]
+v_ashr_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xff,0x00,0x00]
-v_ashr_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xfe,0x00,0x00]
+v_ashr_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0x01,0x01,0x00]
-v_ashr_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0x00,0x01,0x00]
+v_ashr_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0x83,0x01,0x00]
-v_ashr_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0x82,0x01,0x00]
+v_ashr_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xe1,0x01,0x00]
-v_ashr_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xe0,0x01,0x00]
+v_ashr_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2e,0xd2,0x01,0xef,0x01,0x00]
-v_ashr_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xee,0x01,0x00]
+v_ashrrev_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x30]
-v_ashr_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0x04,0x02,0x00]
+v_ashrrev_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x31]
-v_ashr_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2e,0xd2,0x80,0xfe,0x03,0x00]
+v_ashrrev_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x30]
v_ashrrev_i32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x30]
-v_ashrrev_i32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x31]
-
v_ashrrev_i32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x30]
@@ -34860,99 +36228,141 @@ v_ashrrev_i32 v5, 0xaf123456, v2
v_ashrrev_i32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x30,0x73,0x72,0x71,0x3f]
-v_ashrrev_i32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x30]
+v_ashrrev_i32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x30]
-v_ashrrev_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x30]
+v_ashrrev_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x30,0xd2,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0xff,0x05,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x67,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x68,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x69,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x6a,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x6b,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x6c,0x04,0x02,0x00]
-v_ashrrev_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x30]
+v_ashrrev_i32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x6d,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x6e,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x30,0xd2,0x80,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x6f,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x30,0xd2,0xc1,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x7b,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x30,0xd2,0xf0,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x7c,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x30,0xd2,0xf7,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x7e,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x7f,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0x80,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0xc1,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0xf0,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x30,0xd2,0xf7,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xff,0x03,0x00]
v_ashrrev_i32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x30,0xd2,0x01,0x05,0x00,0x00]
-v_ashrrev_i32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x30,0xd2,0xff,0x05,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xcf,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xce,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xd1,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xd0,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xd3,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xd2,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xd5,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xd4,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xd7,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xd6,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xd9,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xd8,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xdb,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xda,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xdd,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xdc,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xdf,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xde,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xf7,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xf6,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xf9,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xf8,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xfd,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xfc,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xff,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xfe,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0x01,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0x00,0x01,0x00]
+v_ashrrev_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0x83,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0x82,0x01,0x00]
+v_ashrrev_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xe1,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xe0,0x01,0x00]
+v_ashrrev_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x30,0xd2,0x01,0xef,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xee,0x01,0x00]
+v_lshl_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x32]
-v_ashrrev_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0x04,0x02,0x00]
+v_lshl_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x33]
-v_ashrrev_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x30,0xd2,0x80,0xfe,0x03,0x00]
+v_lshl_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x32]
v_lshl_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x32]
-v_lshl_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x33]
-
v_lshl_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x32]
@@ -35010,99 +36420,141 @@ v_lshl_b32 v5, 0xaf123456, v2
v_lshl_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x32,0x73,0x72,0x71,0x3f]
-v_lshl_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x32]
+v_lshl_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x32]
-v_lshl_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x32]
+v_lshl_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshl_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x32,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshl_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0xff,0x05,0x02,0x00]
+
+v_lshl_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x67,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x68,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x69,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x6a,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x6b,0x04,0x02,0x00]
-v_lshl_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x32]
+v_lshl_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x6c,0x04,0x02,0x00]
-v_lshl_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0x04,0x00,0x00]
+v_lshl_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x6d,0x04,0x02,0x00]
-v_lshl_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x32,0xd2,0x80,0x04,0x00,0x00]
+v_lshl_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x6e,0x04,0x02,0x00]
-v_lshl_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x32,0xd2,0xc1,0x04,0x00,0x00]
+v_lshl_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x6f,0x04,0x02,0x00]
-v_lshl_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x32,0xd2,0xf0,0x04,0x00,0x00]
+v_lshl_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x7b,0x04,0x02,0x00]
-v_lshl_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x32,0xd2,0xf7,0x04,0x00,0x00]
+v_lshl_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x7c,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x7e,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x7f,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0x80,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0xc1,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0xf0,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x32,0xd2,0xf7,0x04,0x02,0x00]
+
+v_lshl_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xff,0x03,0x00]
v_lshl_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x32,0xd2,0x01,0x05,0x00,0x00]
-v_lshl_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x32,0xd2,0xff,0x05,0x00,0x00]
+v_lshl_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xcf,0x00,0x00]
-v_lshl_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xce,0x00,0x00]
+v_lshl_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xd1,0x00,0x00]
-v_lshl_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xd0,0x00,0x00]
+v_lshl_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xd3,0x00,0x00]
-v_lshl_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xd2,0x00,0x00]
+v_lshl_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xd5,0x00,0x00]
-v_lshl_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xd4,0x00,0x00]
+v_lshl_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xd7,0x00,0x00]
-v_lshl_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xd6,0x00,0x00]
+v_lshl_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xd9,0x00,0x00]
-v_lshl_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xd8,0x00,0x00]
+v_lshl_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xdb,0x00,0x00]
-v_lshl_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xda,0x00,0x00]
+v_lshl_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xdd,0x00,0x00]
-v_lshl_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xdc,0x00,0x00]
+v_lshl_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xdf,0x00,0x00]
-v_lshl_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xde,0x00,0x00]
+v_lshl_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xf7,0x00,0x00]
-v_lshl_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xf6,0x00,0x00]
+v_lshl_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xf9,0x00,0x00]
-v_lshl_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xf8,0x00,0x00]
+v_lshl_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xfd,0x00,0x00]
-v_lshl_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xfc,0x00,0x00]
+v_lshl_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xff,0x00,0x00]
-v_lshl_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xfe,0x00,0x00]
+v_lshl_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0x01,0x01,0x00]
-v_lshl_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0x00,0x01,0x00]
+v_lshl_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0x83,0x01,0x00]
-v_lshl_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0x82,0x01,0x00]
+v_lshl_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xe1,0x01,0x00]
-v_lshl_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xe0,0x01,0x00]
+v_lshl_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x32,0xd2,0x01,0xef,0x01,0x00]
-v_lshl_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xee,0x01,0x00]
+v_lshlrev_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x34]
-v_lshl_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0x04,0x02,0x00]
+v_lshlrev_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x35]
-v_lshl_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x32,0xd2,0x80,0xfe,0x03,0x00]
+v_lshlrev_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x34]
v_lshlrev_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x34]
-v_lshlrev_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x35]
-
v_lshlrev_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x34]
@@ -35160,99 +36612,141 @@ v_lshlrev_b32 v5, 0xaf123456, v2
v_lshlrev_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x34,0x73,0x72,0x71,0x3f]
-v_lshlrev_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x34]
+v_lshlrev_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x34]
-v_lshlrev_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x34]
+v_lshlrev_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x34,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0xff,0x05,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x67,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x68,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x69,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x6a,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x6b,0x04,0x02,0x00]
-v_lshlrev_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x34]
+v_lshlrev_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x6c,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x6d,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x6e,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x6f,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x7b,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x7c,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x7e,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x7f,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0x80,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x34,0xd2,0x80,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0xc1,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x34,0xd2,0xc1,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0xf0,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x34,0xd2,0xf0,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x34,0xd2,0xf7,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x34,0xd2,0xf7,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xff,0x03,0x00]
v_lshlrev_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x34,0xd2,0x01,0x05,0x00,0x00]
-v_lshlrev_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x34,0xd2,0xff,0x05,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xcf,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xce,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xd1,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xd0,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xd3,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xd2,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xd5,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xd4,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xd7,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xd6,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xd9,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xd8,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xdb,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xda,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xdd,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xdc,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xdf,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xde,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xf7,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xf6,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xf9,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xf8,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xfd,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xfc,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xff,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xfe,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0x01,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0x00,0x01,0x00]
+v_lshlrev_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0x83,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0x82,0x01,0x00]
+v_lshlrev_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xe1,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xe0,0x01,0x00]
+v_lshlrev_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x34,0xd2,0x01,0xef,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xee,0x01,0x00]
+v_and_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x36]
-v_lshlrev_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0x04,0x02,0x00]
+v_and_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x37]
-v_lshlrev_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x34,0xd2,0x80,0xfe,0x03,0x00]
+v_and_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x36]
v_and_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x36]
-v_and_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x37]
-
v_and_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x36]
@@ -35310,99 +36804,141 @@ v_and_b32 v5, 0xaf123456, v2
v_and_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x36,0x73,0x72,0x71,0x3f]
-v_and_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x36]
+v_and_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x36]
-v_and_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x36]
+v_and_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0x05,0x02,0x00]
+
+v_and_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x36,0xd2,0x01,0x05,0x02,0x00]
+
+v_and_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0xff,0x05,0x02,0x00]
+
+v_and_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x67,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x68,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x69,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x6a,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x6b,0x04,0x02,0x00]
-v_and_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x36]
+v_and_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x6c,0x04,0x02,0x00]
-v_and_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0x04,0x00,0x00]
+v_and_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x6d,0x04,0x02,0x00]
-v_and_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x36,0xd2,0x80,0x04,0x00,0x00]
+v_and_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x6e,0x04,0x02,0x00]
-v_and_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x36,0xd2,0xc1,0x04,0x00,0x00]
+v_and_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x6f,0x04,0x02,0x00]
-v_and_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x36,0xd2,0xf0,0x04,0x00,0x00]
+v_and_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x7b,0x04,0x02,0x00]
-v_and_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x36,0xd2,0xf7,0x04,0x00,0x00]
+v_and_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x7c,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x7e,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x7f,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0x80,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0xc1,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0xf0,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x36,0xd2,0xf7,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xff,0x03,0x00]
v_and_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x36,0xd2,0x01,0x05,0x00,0x00]
-v_and_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x36,0xd2,0xff,0x05,0x00,0x00]
+v_and_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xcf,0x00,0x00]
-v_and_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xce,0x00,0x00]
+v_and_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xd1,0x00,0x00]
-v_and_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xd0,0x00,0x00]
+v_and_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xd3,0x00,0x00]
-v_and_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xd2,0x00,0x00]
+v_and_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xd5,0x00,0x00]
-v_and_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xd4,0x00,0x00]
+v_and_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xd7,0x00,0x00]
-v_and_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xd6,0x00,0x00]
+v_and_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xd9,0x00,0x00]
-v_and_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xd8,0x00,0x00]
+v_and_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xdb,0x00,0x00]
-v_and_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xda,0x00,0x00]
+v_and_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xdd,0x00,0x00]
-v_and_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xdc,0x00,0x00]
+v_and_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xdf,0x00,0x00]
-v_and_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xde,0x00,0x00]
+v_and_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xf7,0x00,0x00]
-v_and_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xf6,0x00,0x00]
+v_and_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xf9,0x00,0x00]
-v_and_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xf8,0x00,0x00]
+v_and_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xfd,0x00,0x00]
-v_and_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xfc,0x00,0x00]
+v_and_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xff,0x00,0x00]
-v_and_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xfe,0x00,0x00]
+v_and_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0x01,0x01,0x00]
-v_and_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0x00,0x01,0x00]
+v_and_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0x83,0x01,0x00]
-v_and_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0x82,0x01,0x00]
+v_and_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xe1,0x01,0x00]
-v_and_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xe0,0x01,0x00]
+v_and_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x36,0xd2,0x01,0xef,0x01,0x00]
-v_and_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xee,0x01,0x00]
+v_or_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x38]
-v_and_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0x04,0x02,0x00]
+v_or_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x39]
-v_and_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x36,0xd2,0x80,0xfe,0x03,0x00]
+v_or_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x38]
v_or_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x38]
-v_or_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x39]
-
v_or_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x38]
@@ -35460,99 +36996,141 @@ v_or_b32 v5, 0xaf123456, v2
v_or_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x38,0x73,0x72,0x71,0x3f]
-v_or_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x38]
+v_or_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x38]
-v_or_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x38]
+v_or_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0x05,0x02,0x00]
+
+v_or_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x38,0xd2,0x01,0x05,0x02,0x00]
+
+v_or_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0xff,0x05,0x02,0x00]
+
+v_or_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x67,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x68,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x69,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x6a,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x6b,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x6c,0x04,0x02,0x00]
-v_or_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x38]
+v_or_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x6d,0x04,0x02,0x00]
-v_or_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0x04,0x00,0x00]
+v_or_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x6e,0x04,0x02,0x00]
-v_or_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x38,0xd2,0x80,0x04,0x00,0x00]
+v_or_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x6f,0x04,0x02,0x00]
-v_or_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x38,0xd2,0xc1,0x04,0x00,0x00]
+v_or_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x7b,0x04,0x02,0x00]
-v_or_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x38,0xd2,0xf0,0x04,0x00,0x00]
+v_or_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x7c,0x04,0x02,0x00]
-v_or_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x38,0xd2,0xf7,0x04,0x00,0x00]
+v_or_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x7e,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x7f,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0x80,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0xc1,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0xf0,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x38,0xd2,0xf7,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xff,0x03,0x00]
v_or_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x38,0xd2,0x01,0x05,0x00,0x00]
-v_or_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x38,0xd2,0xff,0x05,0x00,0x00]
+v_or_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xcf,0x00,0x00]
-v_or_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xce,0x00,0x00]
+v_or_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xd1,0x00,0x00]
-v_or_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xd0,0x00,0x00]
+v_or_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xd3,0x00,0x00]
-v_or_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xd2,0x00,0x00]
+v_or_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xd5,0x00,0x00]
-v_or_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xd4,0x00,0x00]
+v_or_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xd7,0x00,0x00]
-v_or_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xd6,0x00,0x00]
+v_or_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xd9,0x00,0x00]
-v_or_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xd8,0x00,0x00]
+v_or_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xdb,0x00,0x00]
-v_or_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xda,0x00,0x00]
+v_or_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xdd,0x00,0x00]
-v_or_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xdc,0x00,0x00]
+v_or_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xdf,0x00,0x00]
-v_or_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xde,0x00,0x00]
+v_or_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xf7,0x00,0x00]
-v_or_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xf6,0x00,0x00]
+v_or_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xf9,0x00,0x00]
-v_or_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xf8,0x00,0x00]
+v_or_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xfd,0x00,0x00]
-v_or_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xfc,0x00,0x00]
+v_or_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xff,0x00,0x00]
-v_or_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xfe,0x00,0x00]
+v_or_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0x01,0x01,0x00]
-v_or_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0x00,0x01,0x00]
+v_or_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0x83,0x01,0x00]
-v_or_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0x82,0x01,0x00]
+v_or_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xe1,0x01,0x00]
-v_or_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xe0,0x01,0x00]
+v_or_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x38,0xd2,0x01,0xef,0x01,0x00]
-v_or_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xee,0x01,0x00]
+v_xor_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x3a]
-v_or_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0x04,0x02,0x00]
+v_xor_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x3b]
-v_or_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x38,0xd2,0x80,0xfe,0x03,0x00]
+v_xor_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x3a]
v_xor_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x3a]
-v_xor_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x3b]
-
v_xor_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x3a]
@@ -35610,99 +37188,141 @@ v_xor_b32 v5, 0xaf123456, v2
v_xor_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x3a,0x73,0x72,0x71,0x3f]
-v_xor_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x3a]
+v_xor_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x3a]
-v_xor_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x3a]
+v_xor_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0x05,0x02,0x00]
+
+v_xor_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x3a,0xd2,0x01,0x05,0x02,0x00]
+
+v_xor_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0xff,0x05,0x02,0x00]
+
+v_xor_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x67,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x68,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x69,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x6a,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x6b,0x04,0x02,0x00]
-v_xor_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x3a]
+v_xor_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x6c,0x04,0x02,0x00]
-v_xor_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0x04,0x00,0x00]
+v_xor_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x6d,0x04,0x02,0x00]
-v_xor_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x3a,0xd2,0x80,0x04,0x00,0x00]
+v_xor_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x6e,0x04,0x02,0x00]
-v_xor_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x3a,0xd2,0xc1,0x04,0x00,0x00]
+v_xor_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x6f,0x04,0x02,0x00]
-v_xor_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x3a,0xd2,0xf0,0x04,0x00,0x00]
+v_xor_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x7b,0x04,0x02,0x00]
-v_xor_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x3a,0xd2,0xf7,0x04,0x00,0x00]
+v_xor_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x7c,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x7e,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x7f,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0xc1,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0xf0,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x3a,0xd2,0xf7,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xff,0x03,0x00]
v_xor_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0x05,0x00,0x00]
-v_xor_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x3a,0xd2,0xff,0x05,0x00,0x00]
+v_xor_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xcf,0x00,0x00]
-v_xor_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xce,0x00,0x00]
+v_xor_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xd1,0x00,0x00]
-v_xor_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xd0,0x00,0x00]
+v_xor_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xd3,0x00,0x00]
-v_xor_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xd2,0x00,0x00]
+v_xor_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xd5,0x00,0x00]
-v_xor_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xd4,0x00,0x00]
+v_xor_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xd7,0x00,0x00]
-v_xor_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xd6,0x00,0x00]
+v_xor_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xd9,0x00,0x00]
-v_xor_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xd8,0x00,0x00]
+v_xor_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xdb,0x00,0x00]
-v_xor_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xda,0x00,0x00]
+v_xor_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xdd,0x00,0x00]
-v_xor_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xdc,0x00,0x00]
+v_xor_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xdf,0x00,0x00]
-v_xor_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xde,0x00,0x00]
+v_xor_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xf7,0x00,0x00]
-v_xor_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xf6,0x00,0x00]
+v_xor_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xf9,0x00,0x00]
-v_xor_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xf8,0x00,0x00]
+v_xor_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xfd,0x00,0x00]
-v_xor_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xfc,0x00,0x00]
+v_xor_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xff,0x00,0x00]
-v_xor_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xfe,0x00,0x00]
+v_xor_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0x01,0x01,0x00]
-v_xor_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0x00,0x01,0x00]
+v_xor_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0x83,0x01,0x00]
-v_xor_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0x82,0x01,0x00]
+v_xor_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xe1,0x01,0x00]
-v_xor_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xe0,0x01,0x00]
+v_xor_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x3a,0xd2,0x01,0xef,0x01,0x00]
-v_xor_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xee,0x01,0x00]
+v_bfm_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x3c]
-v_xor_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0x04,0x02,0x00]
+v_bfm_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x3d]
-v_xor_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x3a,0xd2,0x80,0xfe,0x03,0x00]
+v_bfm_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x3c]
v_bfm_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x3c]
-v_bfm_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x3d]
-
v_bfm_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x3c]
@@ -35760,99 +37380,141 @@ v_bfm_b32 v5, 0xaf123456, v2
v_bfm_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x3c,0x73,0x72,0x71,0x3f]
-v_bfm_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x3c]
+v_bfm_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x3c]
-v_bfm_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x3c]
+v_bfm_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0x05,0x02,0x00]
+
+v_bfm_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x3c,0xd2,0x01,0x05,0x02,0x00]
+
+v_bfm_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0xff,0x05,0x02,0x00]
+
+v_bfm_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x67,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x68,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x69,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x6a,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x6b,0x04,0x02,0x00]
-v_bfm_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x3c]
+v_bfm_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x6c,0x04,0x02,0x00]
-v_bfm_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0x04,0x00,0x00]
+v_bfm_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x6d,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x6e,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x6f,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x7b,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x7c,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x7e,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x7f,0x04,0x02,0x00]
+
+v_bfm_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0x04,0x02,0x00]
-v_bfm_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x3c,0xd2,0x80,0x04,0x00,0x00]
+v_bfm_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0xc1,0x04,0x02,0x00]
-v_bfm_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x3c,0xd2,0xc1,0x04,0x00,0x00]
+v_bfm_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0xf0,0x04,0x02,0x00]
-v_bfm_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x3c,0xd2,0xf0,0x04,0x00,0x00]
+v_bfm_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x3c,0xd2,0xf7,0x04,0x02,0x00]
-v_bfm_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x3c,0xd2,0xf7,0x04,0x00,0x00]
+v_bfm_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xff,0x03,0x00]
v_bfm_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0x05,0x00,0x00]
-v_bfm_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x3c,0xd2,0xff,0x05,0x00,0x00]
+v_bfm_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xcf,0x00,0x00]
-v_bfm_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xce,0x00,0x00]
+v_bfm_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xd1,0x00,0x00]
-v_bfm_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xd0,0x00,0x00]
+v_bfm_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xd3,0x00,0x00]
-v_bfm_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xd2,0x00,0x00]
+v_bfm_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xd5,0x00,0x00]
-v_bfm_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xd4,0x00,0x00]
+v_bfm_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xd7,0x00,0x00]
-v_bfm_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xd6,0x00,0x00]
+v_bfm_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xd9,0x00,0x00]
-v_bfm_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xd8,0x00,0x00]
+v_bfm_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xdb,0x00,0x00]
-v_bfm_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xda,0x00,0x00]
+v_bfm_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xdd,0x00,0x00]
-v_bfm_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xdc,0x00,0x00]
+v_bfm_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xdf,0x00,0x00]
-v_bfm_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xde,0x00,0x00]
+v_bfm_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xf7,0x00,0x00]
-v_bfm_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xf6,0x00,0x00]
+v_bfm_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xf9,0x00,0x00]
-v_bfm_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xf8,0x00,0x00]
+v_bfm_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xfd,0x00,0x00]
-v_bfm_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xfc,0x00,0x00]
+v_bfm_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xff,0x00,0x00]
-v_bfm_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xfe,0x00,0x00]
+v_bfm_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0x01,0x01,0x00]
-v_bfm_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0x00,0x01,0x00]
+v_bfm_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0x83,0x01,0x00]
-v_bfm_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0x82,0x01,0x00]
+v_bfm_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xe1,0x01,0x00]
-v_bfm_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xe0,0x01,0x00]
+v_bfm_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x3c,0xd2,0x01,0xef,0x01,0x00]
-v_bfm_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xee,0x01,0x00]
+v_mac_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x3e]
-v_bfm_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0x04,0x02,0x00]
+v_mac_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x3f]
-v_bfm_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x3c,0xd2,0x80,0xfe,0x03,0x00]
+v_mac_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x3e]
v_mac_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x3e]
-v_mac_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x3f]
-
v_mac_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x3e]
@@ -35910,129 +37572,171 @@ v_mac_f32 v5, 0xaf123456, v2
v_mac_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x3e,0x73,0x72,0x71,0x3f]
-v_mac_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x3e]
+v_mac_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x3e]
-v_mac_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x3e]
+v_mac_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x05,0x02,0x00]
+
+v_mac_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x3e,0xd2,0x01,0x05,0x02,0x00]
+
+v_mac_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0xff,0x05,0x02,0x00]
+
+v_mac_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x67,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x68,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x69,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x6b,0x04,0x02,0x00]
-v_mac_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x3e]
+v_mac_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x6c,0x04,0x02,0x00]
-v_mac_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x6d,0x04,0x02,0x00]
-v_mac_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x3e,0xd2,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x6e,0x04,0x02,0x00]
-v_mac_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x3e,0xd2,0xc1,0x04,0x00,0x00]
+v_mac_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x6f,0x04,0x02,0x00]
-v_mac_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x3e,0xd2,0xf0,0x04,0x00,0x00]
+v_mac_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x7b,0x04,0x02,0x00]
-v_mac_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x3e,0xd2,0xf7,0x04,0x00,0x00]
+v_mac_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xff,0x03,0x00]
v_mac_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x05,0x00,0x00]
-v_mac_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x3e,0xd2,0xff,0x05,0x00,0x00]
+v_mac_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xcf,0x00,0x00]
-v_mac_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xce,0x00,0x00]
+v_mac_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xd1,0x00,0x00]
-v_mac_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xd0,0x00,0x00]
+v_mac_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xd3,0x00,0x00]
-v_mac_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xd2,0x00,0x00]
+v_mac_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xd5,0x00,0x00]
-v_mac_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xd4,0x00,0x00]
+v_mac_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xd7,0x00,0x00]
-v_mac_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xd6,0x00,0x00]
+v_mac_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xd9,0x00,0x00]
-v_mac_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xd8,0x00,0x00]
+v_mac_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xdb,0x00,0x00]
-v_mac_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xda,0x00,0x00]
+v_mac_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xdd,0x00,0x00]
-v_mac_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xdc,0x00,0x00]
+v_mac_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xdf,0x00,0x00]
-v_mac_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xde,0x00,0x00]
+v_mac_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xf7,0x00,0x00]
-v_mac_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xf6,0x00,0x00]
+v_mac_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xf9,0x00,0x00]
-v_mac_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xf8,0x00,0x00]
+v_mac_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xfd,0x00,0x00]
-v_mac_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xfc,0x00,0x00]
+v_mac_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xff,0x00,0x00]
-v_mac_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xfe,0x00,0x00]
+v_mac_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x01,0x01,0x00]
-v_mac_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x00,0x01,0x00]
+v_mac_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x83,0x01,0x00]
-v_mac_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x82,0x01,0x00]
+v_mac_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xe1,0x01,0x00]
-v_mac_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xe0,0x01,0x00]
+v_mac_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0xef,0x01,0x00]
-v_mac_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xee,0x01,0x00]
+v_mac_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x05,0x02,0x20]
-v_mac_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x04,0x02,0x00]
+v_mac_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x05,0x02,0x40]
-v_mac_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0xfe,0x03,0x00]
+v_mac_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x05,0x02,0x60]
-v_mac_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x04,0x00,0x20]
+v_mac_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x3e,0xd2,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x04,0x00,0x40]
+v_mac_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x3e,0xd2,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x04,0x00,0x60]
+v_mac_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x3e,0xd2,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x3e,0xd2,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x08,0x3e,0xd2,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x3e,0xd2,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x05,0x02,0x08]
-v_mac_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x3e,0xd2,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x05,0x02,0x10]
-v_mac_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x08,0x3e,0xd2,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x3e,0xd2,0x01,0x05,0x02,0x18]
-v_mac_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x04,0x00,0x08]
+v_madmk_f32 v5, v1, 0x11213141, v3
+// CHECK: [0x01,0x07,0x0a,0x40,0x41,0x31,0x21,0x11]
-v_mac_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x04,0x00,0x10]
+v_madmk_f32 v255, v1, 0x11213141, v3
+// CHECK: [0x01,0x07,0xfe,0x41,0x41,0x31,0x21,0x11]
-v_mac_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x3e,0xd2,0x80,0x04,0x00,0x18]
+v_madmk_f32 v5, v255, 0x11213141, v3
+// CHECK: [0xff,0x07,0x0a,0x40,0x41,0x31,0x21,0x11]
v_madmk_f32 v5, 0, 0x11213141, v3
// CHECK: [0x80,0x06,0x0a,0x40,0x41,0x31,0x21,0x11]
-v_madmk_f32 v255, 0, 0x11213141, v3
-// CHECK: [0x80,0x06,0xfe,0x41,0x41,0x31,0x21,0x11]
-
v_madmk_f32 v5, -1, 0x11213141, v3
// CHECK: [0xc1,0x06,0x0a,0x40,0x41,0x31,0x21,0x11]
@@ -36042,24 +37746,24 @@ v_madmk_f32 v5, 0.5, 0x11213141, v3
v_madmk_f32 v5, -4.0, 0x11213141, v3
// CHECK: [0xf7,0x06,0x0a,0x40,0x41,0x31,0x21,0x11]
-v_madmk_f32 v5, v1, 0x11213141, v3
-// CHECK: [0x01,0x07,0x0a,0x40,0x41,0x31,0x21,0x11]
+v_madmk_f32 v5, v1, 0xa1b1c1d1, v3
+// CHECK: [0x01,0x07,0x0a,0x40,0xd1,0xc1,0xb1,0xa1]
-v_madmk_f32 v5, v255, 0x11213141, v3
-// CHECK: [0xff,0x07,0x0a,0x40,0x41,0x31,0x21,0x11]
+v_madmk_f32 v5, v1, 0x11213141, v255
+// CHECK: [0x01,0xff,0x0b,0x40,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v5, v1, v2, 0x11213141
+// CHECK: [0x01,0x05,0x0a,0x42,0x41,0x31,0x21,0x11]
-v_madmk_f32 v5, 0, 0xa1b1c1d1, v3
-// CHECK: [0x80,0x06,0x0a,0x40,0xd1,0xc1,0xb1,0xa1]
+v_madak_f32 v255, v1, v2, 0x11213141
+// CHECK: [0x01,0x05,0xfe,0x43,0x41,0x31,0x21,0x11]
-v_madmk_f32 v5, 0, 0x11213141, v255
-// CHECK: [0x80,0xfe,0x0b,0x40,0x41,0x31,0x21,0x11]
+v_madak_f32 v5, v255, v2, 0x11213141
+// CHECK: [0xff,0x05,0x0a,0x42,0x41,0x31,0x21,0x11]
v_madak_f32 v5, 0, v2, 0x11213141
// CHECK: [0x80,0x04,0x0a,0x42,0x41,0x31,0x21,0x11]
-v_madak_f32 v255, 0, v2, 0x11213141
-// CHECK: [0x80,0x04,0xfe,0x43,0x41,0x31,0x21,0x11]
-
v_madak_f32 v5, -1, v2, 0x11213141
// CHECK: [0xc1,0x04,0x0a,0x42,0x41,0x31,0x21,0x11]
@@ -36069,24 +37773,24 @@ v_madak_f32 v5, 0.5, v2, 0x11213141
v_madak_f32 v5, -4.0, v2, 0x11213141
// CHECK: [0xf7,0x04,0x0a,0x42,0x41,0x31,0x21,0x11]
-v_madak_f32 v5, v1, v2, 0x11213141
-// CHECK: [0x01,0x05,0x0a,0x42,0x41,0x31,0x21,0x11]
+v_madak_f32 v5, v1, v255, 0x11213141
+// CHECK: [0x01,0xff,0x0b,0x42,0x41,0x31,0x21,0x11]
-v_madak_f32 v5, v255, v2, 0x11213141
-// CHECK: [0xff,0x05,0x0a,0x42,0x41,0x31,0x21,0x11]
+v_madak_f32 v5, v1, v2, 0xa1b1c1d1
+// CHECK: [0x01,0x05,0x0a,0x42,0xd1,0xc1,0xb1,0xa1]
-v_madak_f32 v5, 0, v255, 0x11213141
-// CHECK: [0x80,0xfe,0x0b,0x42,0x41,0x31,0x21,0x11]
+v_bcnt_u32_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x44]
-v_madak_f32 v5, 0, v2, 0xa1b1c1d1
-// CHECK: [0x80,0x04,0x0a,0x42,0xd1,0xc1,0xb1,0xa1]
+v_bcnt_u32_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x45]
+
+v_bcnt_u32_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x44]
v_bcnt_u32_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x44]
-v_bcnt_u32_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x45]
-
v_bcnt_u32_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x44]
@@ -36144,99 +37848,141 @@ v_bcnt_u32_b32 v5, 0xaf123456, v2
v_bcnt_u32_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x44,0x73,0x72,0x71,0x3f]
-v_bcnt_u32_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x44]
+v_bcnt_u32_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x44]
-v_bcnt_u32_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x44]
+v_bcnt_u32_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0x05,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x44,0xd2,0x01,0x05,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0xff,0x05,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x67,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x68,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x69,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x6a,0x04,0x02,0x00]
-v_bcnt_u32_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x44]
+v_bcnt_u32_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x6b,0x04,0x02,0x00]
-v_bcnt_u32_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0x04,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x6c,0x04,0x02,0x00]
-v_bcnt_u32_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x44,0xd2,0x80,0x04,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x6d,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x6e,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x6f,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x7b,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x7c,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x7e,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x7f,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0x80,0x04,0x02,0x00]
-v_bcnt_u32_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x44,0xd2,0xc1,0x04,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0xc1,0x04,0x02,0x00]
-v_bcnt_u32_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x44,0xd2,0xf0,0x04,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0xf0,0x04,0x02,0x00]
-v_bcnt_u32_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x44,0xd2,0xf7,0x04,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x44,0xd2,0xf7,0x04,0x02,0x00]
+
+v_bcnt_u32_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xff,0x03,0x00]
v_bcnt_u32_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x44,0xd2,0x01,0x05,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x44,0xd2,0xff,0x05,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xcf,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xce,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xd1,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xd0,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xd3,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xd2,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xd5,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xd4,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xd7,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xd6,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xd9,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xd8,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xdb,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xda,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xdd,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xdc,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xdf,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xde,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xf7,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xf6,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xf9,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xf8,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xfd,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xfc,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xff,0x00,0x00]
-v_bcnt_u32_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xfe,0x00,0x00]
+v_bcnt_u32_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0x01,0x01,0x00]
-v_bcnt_u32_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0x00,0x01,0x00]
+v_bcnt_u32_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0x83,0x01,0x00]
-v_bcnt_u32_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0x82,0x01,0x00]
+v_bcnt_u32_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xe1,0x01,0x00]
-v_bcnt_u32_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xe0,0x01,0x00]
+v_bcnt_u32_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x44,0xd2,0x01,0xef,0x01,0x00]
-v_bcnt_u32_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xee,0x01,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x46]
-v_bcnt_u32_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0x04,0x02,0x00]
+v_mbcnt_lo_u32_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x47]
-v_bcnt_u32_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x44,0xd2,0x80,0xfe,0x03,0x00]
+v_mbcnt_lo_u32_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x46]
v_mbcnt_lo_u32_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x46]
-v_mbcnt_lo_u32_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x47]
-
v_mbcnt_lo_u32_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x46]
@@ -36294,99 +38040,141 @@ v_mbcnt_lo_u32_b32 v5, 0xaf123456, v2
v_mbcnt_lo_u32_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x46,0x73,0x72,0x71,0x3f]
-v_mbcnt_lo_u32_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x46]
+v_mbcnt_lo_u32_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x46]
-v_mbcnt_lo_u32_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x46]
+v_mbcnt_lo_u32_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0x05,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x46,0xd2,0x01,0x05,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0xff,0x05,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x67,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x68,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x69,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x6a,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x46]
+v_mbcnt_lo_u32_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x6b,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x6c,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x46,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x6d,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x46,0xd2,0xc1,0x04,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x6e,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x46,0xd2,0xf0,0x04,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x6f,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x46,0xd2,0xf7,0x04,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0x80,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x46,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xff,0x03,0x00]
v_mbcnt_lo_u32_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x46,0xd2,0x01,0x05,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x46,0xd2,0xff,0x05,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xcf,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xce,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xd1,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xd0,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xd3,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xd2,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xd5,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xd4,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xd7,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xd6,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xd9,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xd8,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xdb,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xda,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xdd,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xdc,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xdf,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xde,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xf7,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xf6,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xf9,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xf8,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xfd,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xfc,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xff,0x00,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xfe,0x00,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0x01,0x01,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0x00,0x01,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0x83,0x01,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0x82,0x01,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xe1,0x01,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xe0,0x01,0x00]
+v_mbcnt_lo_u32_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x46,0xd2,0x01,0xef,0x01,0x00]
-v_mbcnt_lo_u32_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xee,0x01,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x48]
-v_mbcnt_lo_u32_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0x04,0x02,0x00]
+v_mbcnt_hi_u32_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x49]
-v_mbcnt_lo_u32_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x46,0xd2,0x80,0xfe,0x03,0x00]
+v_mbcnt_hi_u32_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x48]
v_mbcnt_hi_u32_b32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x48]
-v_mbcnt_hi_u32_b32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x49]
-
v_mbcnt_hi_u32_b32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x48]
@@ -36444,99 +38232,141 @@ v_mbcnt_hi_u32_b32 v5, 0xaf123456, v2
v_mbcnt_hi_u32_b32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x48,0x73,0x72,0x71,0x3f]
-v_mbcnt_hi_u32_b32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x48]
+v_mbcnt_hi_u32_b32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x48]
-v_mbcnt_hi_u32_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x48]
+v_mbcnt_hi_u32_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0x05,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x48,0xd2,0x01,0x05,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0xff,0x05,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x67,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x68,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x69,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x6a,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x48]
+v_mbcnt_hi_u32_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x6b,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x6c,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x48,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x6d,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x6e,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x6f,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0x80,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x48,0xd2,0xc1,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0xc1,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x48,0xd2,0xf0,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0xf0,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x48,0xd2,0xf7,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x48,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xff,0x03,0x00]
v_mbcnt_hi_u32_b32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x48,0xd2,0x01,0x05,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x48,0xd2,0xff,0x05,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xcf,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xce,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xd1,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xd0,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xd3,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xd2,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xd5,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xd4,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xd7,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xd6,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xd9,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xd8,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xdb,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xda,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xdd,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xdc,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xdf,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xde,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xf7,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xf6,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xf9,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xf8,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xfd,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xfc,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xff,0x00,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xfe,0x00,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0x01,0x01,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0x00,0x01,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0x83,0x01,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0x82,0x01,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xe1,0x01,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xe0,0x01,0x00]
+v_mbcnt_hi_u32_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x48,0xd2,0x01,0xef,0x01,0x00]
-v_mbcnt_hi_u32_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xee,0x01,0x00]
+v_add_i32 v5, vcc, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x4a]
-v_mbcnt_hi_u32_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0x04,0x02,0x00]
+v_add_i32 v255, vcc, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x4b]
-v_mbcnt_hi_u32_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x48,0xd2,0x80,0xfe,0x03,0x00]
+v_add_i32 v5, vcc, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x4a]
v_add_i32 v5, vcc, s1, v2
// CHECK: [0x01,0x04,0x0a,0x4a]
-v_add_i32 v255, vcc, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x4b]
-
v_add_i32 v5, vcc, s103, v2
// CHECK: [0x67,0x04,0x0a,0x4a]
@@ -36594,120 +38424,162 @@ v_add_i32 v5, vcc, 0xaf123456, v2
v_add_i32 v5, vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x4a,0x73,0x72,0x71,0x3f]
-v_add_i32 v5, vcc, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x4a]
+v_add_i32 v5, vcc, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x4a]
-v_add_i32 v5, vcc, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x4a]
+v_add_i32_e64 v5, s[12:13], v1, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_i32_e64 v255, s[12:13], v1, v2
+// CHECK: [0xff,0x0c,0x4a,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_i32_e64 v5, s[14:15], v1, v2
+// CHECK: [0x05,0x0e,0x4a,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_i32_e64 v5, s[102:103], v1, v2
+// CHECK: [0x05,0x66,0x4a,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_i32_e64 v5, flat_scratch, v1, v2
+// CHECK: [0x05,0x68,0x4a,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_i32_e64 v5, vcc, v1, v2
+// CHECK: [0x05,0x6a,0x4a,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_i32_e64 v5, tba, v1, v2
+// CHECK: [0x05,0x6c,0x4a,0xd2,0x01,0x05,0x02,0x00]
-v_add_i32 v5, vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x4a]
+v_add_i32_e64 v5, tma, v1, v2
+// CHECK: [0x05,0x6e,0x4a,0xd2,0x01,0x05,0x02,0x00]
-v_add_i32_e64 v5, s[12:13], 0, s2
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0x04,0x00,0x00]
+v_add_i32_e64 v5, ttmp[10:11], v1, v2
+// CHECK: [0x05,0x7a,0x4a,0xd2,0x01,0x05,0x02,0x00]
-v_add_i32_e64 v255, s[12:13], 0, s2
-// CHECK: [0xff,0x0c,0x4a,0xd2,0x80,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v255, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0xff,0x05,0x02,0x00]
-v_add_i32_e64 v5, s[14:15], 0, s2
-// CHECK: [0x05,0x0e,0x4a,0xd2,0x80,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], s1, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0x04,0x02,0x00]
-v_add_i32_e64 v5, s[102:103], 0, s2
-// CHECK: [0x05,0x66,0x4a,0xd2,0x80,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], s103, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x67,0x04,0x02,0x00]
-v_add_i32_e64 v5, flat_scratch, 0, s2
-// CHECK: [0x05,0x68,0x4a,0xd2,0x80,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], flat_scratch_lo, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x68,0x04,0x02,0x00]
-v_add_i32_e64 v5, vcc, 0, s2
-// CHECK: [0x05,0x6a,0x4a,0xd2,0x80,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], flat_scratch_hi, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x69,0x04,0x02,0x00]
-v_add_i32_e64 v5, tba, 0, s2
-// CHECK: [0x05,0x6c,0x4a,0xd2,0x80,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], vcc_lo, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x6a,0x04,0x02,0x00]
-v_add_i32_e64 v5, tma, 0, s2
-// CHECK: [0x05,0x6e,0x4a,0xd2,0x80,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], vcc_hi, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x6b,0x04,0x02,0x00]
-v_add_i32_e64 v5, ttmp[10:11], 0, s2
-// CHECK: [0x05,0x7a,0x4a,0xd2,0x80,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], tba_lo, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x6c,0x04,0x02,0x00]
-v_add_i32_e64 v5, s[12:13], -1, s2
-// CHECK: [0x05,0x0c,0x4a,0xd2,0xc1,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], tba_hi, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x6d,0x04,0x02,0x00]
-v_add_i32_e64 v5, s[12:13], 0.5, s2
-// CHECK: [0x05,0x0c,0x4a,0xd2,0xf0,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], tma_lo, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x6e,0x04,0x02,0x00]
-v_add_i32_e64 v5, s[12:13], -4.0, s2
-// CHECK: [0x05,0x0c,0x4a,0xd2,0xf7,0x04,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], tma_hi, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x6f,0x04,0x02,0x00]
+
+v_add_i32_e64 v5, s[12:13], ttmp11, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x7b,0x04,0x02,0x00]
+
+v_add_i32_e64 v5, s[12:13], m0, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x7c,0x04,0x02,0x00]
+
+v_add_i32_e64 v5, s[12:13], exec_lo, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x7e,0x04,0x02,0x00]
+
+v_add_i32_e64 v5, s[12:13], exec_hi, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x7f,0x04,0x02,0x00]
+
+v_add_i32_e64 v5, s[12:13], 0, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0x04,0x02,0x00]
+
+v_add_i32_e64 v5, s[12:13], -1, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0xc1,0x04,0x02,0x00]
+
+v_add_i32_e64 v5, s[12:13], 0.5, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0xf0,0x04,0x02,0x00]
+
+v_add_i32_e64 v5, s[12:13], -4.0, v2
+// CHECK: [0x05,0x0c,0x4a,0xd2,0xf7,0x04,0x02,0x00]
+
+v_add_i32_e64 v5, s[12:13], v1, v255
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xff,0x03,0x00]
v_add_i32_e64 v5, s[12:13], v1, s2
// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0x05,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], v255, s2
-// CHECK: [0x05,0x0c,0x4a,0xd2,0xff,0x05,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, s103
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xcf,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, s103
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xce,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, flat_scratch_lo
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xd1,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, flat_scratch_lo
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xd0,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, flat_scratch_hi
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xd3,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, flat_scratch_hi
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xd2,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, vcc_lo
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xd5,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, vcc_lo
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xd4,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, vcc_hi
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xd7,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, vcc_hi
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xd6,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, tba_lo
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xd9,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, tba_lo
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xd8,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, tba_hi
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xdb,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, tba_hi
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xda,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, tma_lo
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xdd,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, tma_lo
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xdc,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, tma_hi
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xdf,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, tma_hi
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xde,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, ttmp11
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xf7,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, ttmp11
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xf6,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, m0
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xf9,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, m0
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xf8,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, exec_lo
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xfd,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, exec_lo
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xfc,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, exec_hi
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xff,0x00,0x00]
-v_add_i32_e64 v5, s[12:13], 0, exec_hi
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xfe,0x00,0x00]
+v_add_i32_e64 v5, s[12:13], v1, 0
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0x01,0x01,0x00]
-v_add_i32_e64 v5, s[12:13], 0, 0
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0x00,0x01,0x00]
+v_add_i32_e64 v5, s[12:13], v1, -1
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0x83,0x01,0x00]
-v_add_i32_e64 v5, s[12:13], 0, -1
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0x82,0x01,0x00]
+v_add_i32_e64 v5, s[12:13], v1, 0.5
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xe1,0x01,0x00]
-v_add_i32_e64 v5, s[12:13], 0, 0.5
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xe0,0x01,0x00]
+v_add_i32_e64 v5, s[12:13], v1, -4.0
+// CHECK: [0x05,0x0c,0x4a,0xd2,0x01,0xef,0x01,0x00]
-v_add_i32_e64 v5, s[12:13], 0, -4.0
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xee,0x01,0x00]
+v_sub_i32 v5, vcc, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x4c]
-v_add_i32_e64 v5, s[12:13], 0, v2
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0x04,0x02,0x00]
+v_sub_i32 v255, vcc, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x4d]
-v_add_i32_e64 v5, s[12:13], 0, v255
-// CHECK: [0x05,0x0c,0x4a,0xd2,0x80,0xfe,0x03,0x00]
+v_sub_i32 v5, vcc, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x4c]
v_sub_i32 v5, vcc, s1, v2
// CHECK: [0x01,0x04,0x0a,0x4c]
-v_sub_i32 v255, vcc, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x4d]
-
v_sub_i32 v5, vcc, s103, v2
// CHECK: [0x67,0x04,0x0a,0x4c]
@@ -36765,120 +38637,162 @@ v_sub_i32 v5, vcc, 0xaf123456, v2
v_sub_i32 v5, vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x4c,0x73,0x72,0x71,0x3f]
-v_sub_i32 v5, vcc, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x4c]
+v_sub_i32 v5, vcc, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x4c]
-v_sub_i32 v5, vcc, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x4c]
+v_sub_i32_e64 v5, s[12:13], v1, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_i32_e64 v255, s[12:13], v1, v2
+// CHECK: [0xff,0x0c,0x4c,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_i32_e64 v5, s[14:15], v1, v2
+// CHECK: [0x05,0x0e,0x4c,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_i32_e64 v5, s[102:103], v1, v2
+// CHECK: [0x05,0x66,0x4c,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_i32_e64 v5, flat_scratch, v1, v2
+// CHECK: [0x05,0x68,0x4c,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_i32_e64 v5, vcc, v1, v2
+// CHECK: [0x05,0x6a,0x4c,0xd2,0x01,0x05,0x02,0x00]
+
+v_sub_i32_e64 v5, tba, v1, v2
+// CHECK: [0x05,0x6c,0x4c,0xd2,0x01,0x05,0x02,0x00]
-v_sub_i32 v5, vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x4c]
+v_sub_i32_e64 v5, tma, v1, v2
+// CHECK: [0x05,0x6e,0x4c,0xd2,0x01,0x05,0x02,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, s2
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0x04,0x00,0x00]
+v_sub_i32_e64 v5, ttmp[10:11], v1, v2
+// CHECK: [0x05,0x7a,0x4c,0xd2,0x01,0x05,0x02,0x00]
-v_sub_i32_e64 v255, s[12:13], 0, s2
-// CHECK: [0xff,0x0c,0x4c,0xd2,0x80,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v255, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0xff,0x05,0x02,0x00]
-v_sub_i32_e64 v5, s[14:15], 0, s2
-// CHECK: [0x05,0x0e,0x4c,0xd2,0x80,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], s1, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0x04,0x02,0x00]
-v_sub_i32_e64 v5, s[102:103], 0, s2
-// CHECK: [0x05,0x66,0x4c,0xd2,0x80,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], s103, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x67,0x04,0x02,0x00]
-v_sub_i32_e64 v5, flat_scratch, 0, s2
-// CHECK: [0x05,0x68,0x4c,0xd2,0x80,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], flat_scratch_lo, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x68,0x04,0x02,0x00]
-v_sub_i32_e64 v5, vcc, 0, s2
-// CHECK: [0x05,0x6a,0x4c,0xd2,0x80,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], flat_scratch_hi, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x69,0x04,0x02,0x00]
-v_sub_i32_e64 v5, tba, 0, s2
-// CHECK: [0x05,0x6c,0x4c,0xd2,0x80,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], vcc_lo, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x6a,0x04,0x02,0x00]
-v_sub_i32_e64 v5, tma, 0, s2
-// CHECK: [0x05,0x6e,0x4c,0xd2,0x80,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], vcc_hi, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x6b,0x04,0x02,0x00]
-v_sub_i32_e64 v5, ttmp[10:11], 0, s2
-// CHECK: [0x05,0x7a,0x4c,0xd2,0x80,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], tba_lo, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x6c,0x04,0x02,0x00]
-v_sub_i32_e64 v5, s[12:13], -1, s2
-// CHECK: [0x05,0x0c,0x4c,0xd2,0xc1,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], tba_hi, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x6d,0x04,0x02,0x00]
+
+v_sub_i32_e64 v5, s[12:13], tma_lo, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x6e,0x04,0x02,0x00]
+
+v_sub_i32_e64 v5, s[12:13], tma_hi, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x6f,0x04,0x02,0x00]
+
+v_sub_i32_e64 v5, s[12:13], ttmp11, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x7b,0x04,0x02,0x00]
+
+v_sub_i32_e64 v5, s[12:13], m0, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x7c,0x04,0x02,0x00]
+
+v_sub_i32_e64 v5, s[12:13], exec_lo, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x7e,0x04,0x02,0x00]
+
+v_sub_i32_e64 v5, s[12:13], exec_hi, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x7f,0x04,0x02,0x00]
+
+v_sub_i32_e64 v5, s[12:13], 0, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0x04,0x02,0x00]
-v_sub_i32_e64 v5, s[12:13], 0.5, s2
-// CHECK: [0x05,0x0c,0x4c,0xd2,0xf0,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], -1, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0xc1,0x04,0x02,0x00]
-v_sub_i32_e64 v5, s[12:13], -4.0, s2
-// CHECK: [0x05,0x0c,0x4c,0xd2,0xf7,0x04,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], 0.5, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0xf0,0x04,0x02,0x00]
+
+v_sub_i32_e64 v5, s[12:13], -4.0, v2
+// CHECK: [0x05,0x0c,0x4c,0xd2,0xf7,0x04,0x02,0x00]
+
+v_sub_i32_e64 v5, s[12:13], v1, v255
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xff,0x03,0x00]
v_sub_i32_e64 v5, s[12:13], v1, s2
// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0x05,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], v255, s2
-// CHECK: [0x05,0x0c,0x4c,0xd2,0xff,0x05,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, s103
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xcf,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, s103
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xce,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, flat_scratch_lo
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xd1,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, flat_scratch_lo
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xd0,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, flat_scratch_hi
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xd3,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, flat_scratch_hi
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xd2,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, vcc_lo
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xd5,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, vcc_lo
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xd4,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, vcc_hi
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xd7,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, vcc_hi
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xd6,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, tba_lo
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xd9,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, tba_lo
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xd8,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, tba_hi
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xdb,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, tba_hi
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xda,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, tma_lo
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xdd,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, tma_lo
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xdc,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, tma_hi
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xdf,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, tma_hi
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xde,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, ttmp11
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xf7,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, ttmp11
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xf6,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, m0
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xf9,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, m0
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xf8,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, exec_lo
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xfd,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, exec_lo
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xfc,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, exec_hi
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xff,0x00,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, exec_hi
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xfe,0x00,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, 0
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0x01,0x01,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, 0
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0x00,0x01,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, -1
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0x83,0x01,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, -1
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0x82,0x01,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, 0.5
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xe1,0x01,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, 0.5
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xe0,0x01,0x00]
+v_sub_i32_e64 v5, s[12:13], v1, -4.0
+// CHECK: [0x05,0x0c,0x4c,0xd2,0x01,0xef,0x01,0x00]
-v_sub_i32_e64 v5, s[12:13], 0, -4.0
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xee,0x01,0x00]
+v_subrev_i32 v5, vcc, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x4e]
-v_sub_i32_e64 v5, s[12:13], 0, v2
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0x04,0x02,0x00]
+v_subrev_i32 v255, vcc, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x4f]
-v_sub_i32_e64 v5, s[12:13], 0, v255
-// CHECK: [0x05,0x0c,0x4c,0xd2,0x80,0xfe,0x03,0x00]
+v_subrev_i32 v5, vcc, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x4e]
v_subrev_i32 v5, vcc, s1, v2
// CHECK: [0x01,0x04,0x0a,0x4e]
-v_subrev_i32 v255, vcc, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x4f]
-
v_subrev_i32 v5, vcc, s103, v2
// CHECK: [0x67,0x04,0x0a,0x4e]
@@ -36936,120 +38850,162 @@ v_subrev_i32 v5, vcc, 0xaf123456, v2
v_subrev_i32 v5, vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x4e,0x73,0x72,0x71,0x3f]
-v_subrev_i32 v5, vcc, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x4e]
+v_subrev_i32 v5, vcc, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x4e]
-v_subrev_i32 v5, vcc, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x4e]
+v_subrev_i32_e64 v5, s[12:13], v1, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0x05,0x02,0x00]
+
+v_subrev_i32_e64 v255, s[12:13], v1, v2
+// CHECK: [0xff,0x0c,0x4e,0xd2,0x01,0x05,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[14:15], v1, v2
+// CHECK: [0x05,0x0e,0x4e,0xd2,0x01,0x05,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[102:103], v1, v2
+// CHECK: [0x05,0x66,0x4e,0xd2,0x01,0x05,0x02,0x00]
+
+v_subrev_i32_e64 v5, flat_scratch, v1, v2
+// CHECK: [0x05,0x68,0x4e,0xd2,0x01,0x05,0x02,0x00]
+
+v_subrev_i32_e64 v5, vcc, v1, v2
+// CHECK: [0x05,0x6a,0x4e,0xd2,0x01,0x05,0x02,0x00]
+
+v_subrev_i32_e64 v5, tba, v1, v2
+// CHECK: [0x05,0x6c,0x4e,0xd2,0x01,0x05,0x02,0x00]
-v_subrev_i32 v5, vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x4e]
+v_subrev_i32_e64 v5, tma, v1, v2
+// CHECK: [0x05,0x6e,0x4e,0xd2,0x01,0x05,0x02,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, s2
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, ttmp[10:11], v1, v2
+// CHECK: [0x05,0x7a,0x4e,0xd2,0x01,0x05,0x02,0x00]
-v_subrev_i32_e64 v255, s[12:13], 0, s2
-// CHECK: [0xff,0x0c,0x4e,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v255, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0xff,0x05,0x02,0x00]
-v_subrev_i32_e64 v5, s[14:15], 0, s2
-// CHECK: [0x05,0x0e,0x4e,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], s1, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0x04,0x02,0x00]
-v_subrev_i32_e64 v5, s[102:103], 0, s2
-// CHECK: [0x05,0x66,0x4e,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], s103, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x67,0x04,0x02,0x00]
-v_subrev_i32_e64 v5, flat_scratch, 0, s2
-// CHECK: [0x05,0x68,0x4e,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], flat_scratch_lo, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x68,0x04,0x02,0x00]
-v_subrev_i32_e64 v5, vcc, 0, s2
-// CHECK: [0x05,0x6a,0x4e,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], flat_scratch_hi, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x69,0x04,0x02,0x00]
-v_subrev_i32_e64 v5, tba, 0, s2
-// CHECK: [0x05,0x6c,0x4e,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], vcc_lo, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x6a,0x04,0x02,0x00]
-v_subrev_i32_e64 v5, tma, 0, s2
-// CHECK: [0x05,0x6e,0x4e,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], vcc_hi, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x6b,0x04,0x02,0x00]
-v_subrev_i32_e64 v5, ttmp[10:11], 0, s2
-// CHECK: [0x05,0x7a,0x4e,0xd2,0x80,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], tba_lo, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x6c,0x04,0x02,0x00]
-v_subrev_i32_e64 v5, s[12:13], -1, s2
-// CHECK: [0x05,0x0c,0x4e,0xd2,0xc1,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], tba_hi, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x6d,0x04,0x02,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0.5, s2
-// CHECK: [0x05,0x0c,0x4e,0xd2,0xf0,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], tma_lo, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x6e,0x04,0x02,0x00]
-v_subrev_i32_e64 v5, s[12:13], -4.0, s2
-// CHECK: [0x05,0x0c,0x4e,0xd2,0xf7,0x04,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], tma_hi, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x6f,0x04,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[12:13], ttmp11, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x7b,0x04,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[12:13], m0, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x7c,0x04,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[12:13], exec_lo, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x7e,0x04,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[12:13], exec_hi, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x7f,0x04,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[12:13], 0, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0x04,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[12:13], -1, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0xc1,0x04,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[12:13], 0.5, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0xf0,0x04,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[12:13], -4.0, v2
+// CHECK: [0x05,0x0c,0x4e,0xd2,0xf7,0x04,0x02,0x00]
+
+v_subrev_i32_e64 v5, s[12:13], v1, v255
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xff,0x03,0x00]
v_subrev_i32_e64 v5, s[12:13], v1, s2
// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0x05,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], v255, s2
-// CHECK: [0x05,0x0c,0x4e,0xd2,0xff,0x05,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, s103
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xcf,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, s103
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xce,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, flat_scratch_lo
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xd1,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, flat_scratch_lo
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xd0,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, flat_scratch_hi
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xd3,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, flat_scratch_hi
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xd2,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, vcc_lo
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xd5,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, vcc_lo
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xd4,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, vcc_hi
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xd7,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, vcc_hi
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xd6,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, tba_lo
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xd9,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, tba_lo
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xd8,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, tba_hi
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xdb,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, tba_hi
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xda,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, tma_lo
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xdd,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, tma_lo
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xdc,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, tma_hi
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xdf,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, tma_hi
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xde,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, ttmp11
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xf7,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, ttmp11
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xf6,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, m0
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xf9,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, m0
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xf8,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, exec_lo
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xfd,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, exec_lo
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xfc,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, exec_hi
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xff,0x00,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, exec_hi
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xfe,0x00,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, 0
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0x01,0x01,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, 0
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0x00,0x01,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, -1
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0x83,0x01,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, -1
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0x82,0x01,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, 0.5
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xe1,0x01,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, 0.5
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xe0,0x01,0x00]
+v_subrev_i32_e64 v5, s[12:13], v1, -4.0
+// CHECK: [0x05,0x0c,0x4e,0xd2,0x01,0xef,0x01,0x00]
-v_subrev_i32_e64 v5, s[12:13], 0, -4.0
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xee,0x01,0x00]
+v_addc_u32 v5, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x50]
-v_subrev_i32_e64 v5, s[12:13], 0, v2
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0x04,0x02,0x00]
+v_addc_u32 v255, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0xfe,0x51]
-v_subrev_i32_e64 v5, s[12:13], 0, v255
-// CHECK: [0x05,0x0c,0x4e,0xd2,0x80,0xfe,0x03,0x00]
+v_addc_u32 v5, vcc, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x50]
v_addc_u32 v5, vcc, 0, v2, vcc
// CHECK: [0x80,0x04,0x0a,0x50]
-v_addc_u32 v255, vcc, 0, v2, vcc
-// CHECK: [0x80,0x04,0xfe,0x51]
-
v_addc_u32 v5, vcc, -1, v2, vcc
// CHECK: [0xc1,0x04,0x0a,0x50]
@@ -37059,99 +39015,99 @@ v_addc_u32 v5, vcc, 0.5, v2, vcc
v_addc_u32 v5, vcc, -4.0, v2, vcc
// CHECK: [0xf7,0x04,0x0a,0x50]
-v_addc_u32 v5, vcc, v1, v2, vcc
-// CHECK: [0x01,0x05,0x0a,0x50]
+v_addc_u32 v5, vcc, v1, v255, vcc
+// CHECK: [0x01,0xff,0x0b,0x50]
-v_addc_u32 v5, vcc, v255, v2, vcc
-// CHECK: [0xff,0x05,0x0a,0x50]
+v_addc_u32_e64 v5, s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x05,0x1a,0x00]
-v_addc_u32 v5, vcc, 0, v255, vcc
-// CHECK: [0x80,0xfe,0x0b,0x50]
+v_addc_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: [0xff,0x0c,0x50,0xd2,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[14:15], v1, v2, s[6:7]
+// CHECK: [0x05,0x0e,0x50,0xd2,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v255, s[12:13], 0, 0, s[6:7]
-// CHECK: [0xff,0x0c,0x50,0xd2,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[102:103], v1, v2, s[6:7]
+// CHECK: [0x05,0x66,0x50,0xd2,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, s[14:15], 0, 0, s[6:7]
-// CHECK: [0x05,0x0e,0x50,0xd2,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, flat_scratch, v1, v2, s[6:7]
+// CHECK: [0x05,0x68,0x50,0xd2,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, s[102:103], 0, 0, s[6:7]
-// CHECK: [0x05,0x66,0x50,0xd2,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, vcc, v1, v2, s[6:7]
+// CHECK: [0x05,0x6a,0x50,0xd2,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, flat_scratch, 0, 0, s[6:7]
-// CHECK: [0x05,0x68,0x50,0xd2,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, tba, v1, v2, s[6:7]
+// CHECK: [0x05,0x6c,0x50,0xd2,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, vcc, 0, 0, s[6:7]
-// CHECK: [0x05,0x6a,0x50,0xd2,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, tma, v1, v2, s[6:7]
+// CHECK: [0x05,0x6e,0x50,0xd2,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, tba, 0, 0, s[6:7]
-// CHECK: [0x05,0x6c,0x50,0xd2,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, ttmp[10:11], v1, v2, s[6:7]
+// CHECK: [0x05,0x7a,0x50,0xd2,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, tma, 0, 0, s[6:7]
-// CHECK: [0x05,0x6e,0x50,0xd2,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v255, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0xff,0x05,0x1a,0x00]
+
+v_addc_u32_e64 v5, s[12:13], 0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x04,0x1a,0x00]
-v_addc_u32_e64 v5, ttmp[10:11], 0, 0, s[6:7]
-// CHECK: [0x05,0x7a,0x50,0xd2,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], -1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0xc1,0x04,0x1a,0x00]
-v_addc_u32_e64 v5, s[12:13], -1, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0xc1,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], 0.5, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0xf0,0x04,0x1a,0x00]
-v_addc_u32_e64 v5, s[12:13], 0.5, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0xf0,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], -4.0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0xf7,0x04,0x1a,0x00]
-v_addc_u32_e64 v5, s[12:13], -4.0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0xf7,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v255, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0xff,0x1b,0x00]
v_addc_u32_e64 v5, s[12:13], v1, 0, s[6:7]
// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x01,0x19,0x00]
-v_addc_u32_e64 v5, s[12:13], v255, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0xff,0x01,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, -1, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x83,0x19,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, -1, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x82,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, 0.5, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0xe1,0x19,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, 0.5, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0xe0,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, -4.0, s[6:7]
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0xef,0x19,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, -4.0, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0xee,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x05,0x22,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, v2, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x04,0x1a,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v2, s[102:103]
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x05,0x9a,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, v255, s[6:7]
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0xfe,0x1b,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x05,0xa2,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, s[8:9]
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x00,0x21,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x05,0xaa,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, s[102:103]
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x00,0x99,0x01]
+v_addc_u32_e64 v5, s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x05,0xb2,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, flat_scratch
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x00,0xa1,0x01]
+v_addc_u32_e64 v5, s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x05,0xba,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, vcc
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x00,0xa9,0x01]
+v_addc_u32_e64 v5, s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0x50,0xd2,0x01,0x05,0xea,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, tba
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x00,0xb1,0x01]
+v_subb_u32 v5, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x52]
-v_addc_u32_e64 v5, s[12:13], 0, 0, tma
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x00,0xb9,0x01]
+v_subb_u32 v255, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0xfe,0x53]
-v_addc_u32_e64 v5, s[12:13], 0, 0, ttmp[10:11]
-// CHECK: [0x05,0x0c,0x50,0xd2,0x80,0x00,0xe9,0x01]
+v_subb_u32 v5, vcc, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x52]
v_subb_u32 v5, vcc, 0, v2, vcc
// CHECK: [0x80,0x04,0x0a,0x52]
-v_subb_u32 v255, vcc, 0, v2, vcc
-// CHECK: [0x80,0x04,0xfe,0x53]
-
v_subb_u32 v5, vcc, -1, v2, vcc
// CHECK: [0xc1,0x04,0x0a,0x52]
@@ -37161,99 +39117,99 @@ v_subb_u32 v5, vcc, 0.5, v2, vcc
v_subb_u32 v5, vcc, -4.0, v2, vcc
// CHECK: [0xf7,0x04,0x0a,0x52]
-v_subb_u32 v5, vcc, v1, v2, vcc
-// CHECK: [0x01,0x05,0x0a,0x52]
+v_subb_u32 v5, vcc, v1, v255, vcc
+// CHECK: [0x01,0xff,0x0b,0x52]
-v_subb_u32 v5, vcc, v255, v2, vcc
-// CHECK: [0xff,0x05,0x0a,0x52]
+v_subb_u32_e64 v5, s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x05,0x1a,0x00]
-v_subb_u32 v5, vcc, 0, v255, vcc
-// CHECK: [0x80,0xfe,0x0b,0x52]
+v_subb_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: [0xff,0x0c,0x52,0xd2,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[14:15], v1, v2, s[6:7]
+// CHECK: [0x05,0x0e,0x52,0xd2,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v255, s[12:13], 0, 0, s[6:7]
-// CHECK: [0xff,0x0c,0x52,0xd2,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[102:103], v1, v2, s[6:7]
+// CHECK: [0x05,0x66,0x52,0xd2,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, s[14:15], 0, 0, s[6:7]
-// CHECK: [0x05,0x0e,0x52,0xd2,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, flat_scratch, v1, v2, s[6:7]
+// CHECK: [0x05,0x68,0x52,0xd2,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, s[102:103], 0, 0, s[6:7]
-// CHECK: [0x05,0x66,0x52,0xd2,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, vcc, v1, v2, s[6:7]
+// CHECK: [0x05,0x6a,0x52,0xd2,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, flat_scratch, 0, 0, s[6:7]
-// CHECK: [0x05,0x68,0x52,0xd2,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, tba, v1, v2, s[6:7]
+// CHECK: [0x05,0x6c,0x52,0xd2,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, vcc, 0, 0, s[6:7]
-// CHECK: [0x05,0x6a,0x52,0xd2,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, tma, v1, v2, s[6:7]
+// CHECK: [0x05,0x6e,0x52,0xd2,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, tba, 0, 0, s[6:7]
-// CHECK: [0x05,0x6c,0x52,0xd2,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, ttmp[10:11], v1, v2, s[6:7]
+// CHECK: [0x05,0x7a,0x52,0xd2,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, tma, 0, 0, s[6:7]
-// CHECK: [0x05,0x6e,0x52,0xd2,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v255, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0xff,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, ttmp[10:11], 0, 0, s[6:7]
-// CHECK: [0x05,0x7a,0x52,0xd2,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], 0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x04,0x1a,0x00]
-v_subb_u32_e64 v5, s[12:13], -1, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0xc1,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], -1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0xc1,0x04,0x1a,0x00]
-v_subb_u32_e64 v5, s[12:13], 0.5, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0xf0,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], 0.5, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0xf0,0x04,0x1a,0x00]
-v_subb_u32_e64 v5, s[12:13], -4.0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0xf7,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], -4.0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0xf7,0x04,0x1a,0x00]
+
+v_subb_u32_e64 v5, s[12:13], v1, v255, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0xff,0x1b,0x00]
v_subb_u32_e64 v5, s[12:13], v1, 0, s[6:7]
// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x01,0x19,0x00]
-v_subb_u32_e64 v5, s[12:13], v255, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0xff,0x01,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, -1, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x83,0x19,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, -1, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x82,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, 0.5, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0xe1,0x19,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, 0.5, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0xe0,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, -4.0, s[6:7]
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0xef,0x19,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, -4.0, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0xee,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x05,0x22,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, v2, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x04,0x1a,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, v2, s[102:103]
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x05,0x9a,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, v255, s[6:7]
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0xfe,0x1b,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x05,0xa2,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, s[8:9]
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x00,0x21,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x05,0xaa,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, s[102:103]
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x00,0x99,0x01]
+v_subb_u32_e64 v5, s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x05,0xb2,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, flat_scratch
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x00,0xa1,0x01]
+v_subb_u32_e64 v5, s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x05,0xba,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, vcc
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x00,0xa9,0x01]
+v_subb_u32_e64 v5, s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0x52,0xd2,0x01,0x05,0xea,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, tba
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x00,0xb1,0x01]
+v_subbrev_u32 v5, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x54]
-v_subb_u32_e64 v5, s[12:13], 0, 0, tma
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x00,0xb9,0x01]
+v_subbrev_u32 v255, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0xfe,0x55]
-v_subb_u32_e64 v5, s[12:13], 0, 0, ttmp[10:11]
-// CHECK: [0x05,0x0c,0x52,0xd2,0x80,0x00,0xe9,0x01]
+v_subbrev_u32 v5, vcc, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x54]
v_subbrev_u32 v5, vcc, 0, v2, vcc
// CHECK: [0x80,0x04,0x0a,0x54]
-v_subbrev_u32 v255, vcc, 0, v2, vcc
-// CHECK: [0x80,0x04,0xfe,0x55]
-
v_subbrev_u32 v5, vcc, -1, v2, vcc
// CHECK: [0xc1,0x04,0x0a,0x54]
@@ -37263,99 +39219,99 @@ v_subbrev_u32 v5, vcc, 0.5, v2, vcc
v_subbrev_u32 v5, vcc, -4.0, v2, vcc
// CHECK: [0xf7,0x04,0x0a,0x54]
-v_subbrev_u32 v5, vcc, v1, v2, vcc
-// CHECK: [0x01,0x05,0x0a,0x54]
+v_subbrev_u32 v5, vcc, v1, v255, vcc
+// CHECK: [0x01,0xff,0x0b,0x54]
-v_subbrev_u32 v5, vcc, v255, v2, vcc
-// CHECK: [0xff,0x05,0x0a,0x54]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x05,0x1a,0x00]
-v_subbrev_u32 v5, vcc, 0, v255, vcc
-// CHECK: [0x80,0xfe,0x0b,0x54]
+v_subbrev_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: [0xff,0x0c,0x54,0xd2,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[14:15], v1, v2, s[6:7]
+// CHECK: [0x05,0x0e,0x54,0xd2,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v255, s[12:13], 0, 0, s[6:7]
-// CHECK: [0xff,0x0c,0x54,0xd2,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[102:103], v1, v2, s[6:7]
+// CHECK: [0x05,0x66,0x54,0xd2,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[14:15], 0, 0, s[6:7]
-// CHECK: [0x05,0x0e,0x54,0xd2,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, flat_scratch, v1, v2, s[6:7]
+// CHECK: [0x05,0x68,0x54,0xd2,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[102:103], 0, 0, s[6:7]
-// CHECK: [0x05,0x66,0x54,0xd2,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, vcc, v1, v2, s[6:7]
+// CHECK: [0x05,0x6a,0x54,0xd2,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, flat_scratch, 0, 0, s[6:7]
-// CHECK: [0x05,0x68,0x54,0xd2,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, tba, v1, v2, s[6:7]
+// CHECK: [0x05,0x6c,0x54,0xd2,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, vcc, 0, 0, s[6:7]
-// CHECK: [0x05,0x6a,0x54,0xd2,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, tma, v1, v2, s[6:7]
+// CHECK: [0x05,0x6e,0x54,0xd2,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, tba, 0, 0, s[6:7]
-// CHECK: [0x05,0x6c,0x54,0xd2,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, ttmp[10:11], v1, v2, s[6:7]
+// CHECK: [0x05,0x7a,0x54,0xd2,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, tma, 0, 0, s[6:7]
-// CHECK: [0x05,0x6e,0x54,0xd2,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v255, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0xff,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, ttmp[10:11], 0, 0, s[6:7]
-// CHECK: [0x05,0x7a,0x54,0xd2,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], 0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x04,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[12:13], -1, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0xc1,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], -1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0xc1,0x04,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0.5, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0xf0,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], 0.5, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0xf0,0x04,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[12:13], -4.0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0xf7,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], -4.0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0xf7,0x04,0x1a,0x00]
+
+v_subbrev_u32_e64 v5, s[12:13], v1, v255, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0xff,0x1b,0x00]
v_subbrev_u32_e64 v5, s[12:13], v1, 0, s[6:7]
// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x01,0x19,0x00]
-v_subbrev_u32_e64 v5, s[12:13], v255, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0xff,0x01,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, -1, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x83,0x19,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, -1, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x82,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, 0.5, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0xe1,0x19,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0.5, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0xe0,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, -4.0, s[6:7]
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0xef,0x19,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, -4.0, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0xee,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x05,0x22,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, v2, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x04,0x1a,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[102:103]
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x05,0x9a,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, v255, s[6:7]
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0xfe,0x1b,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x05,0xa2,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, s[8:9]
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x00,0x21,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x05,0xaa,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, s[102:103]
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x00,0x99,0x01]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x05,0xb2,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, flat_scratch
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x00,0xa1,0x01]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x05,0xba,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, vcc
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x00,0xa9,0x01]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0x54,0xd2,0x01,0x05,0xea,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, tba
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x00,0xb1,0x01]
+v_ldexp_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x56]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, tma
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x00,0xb9,0x01]
+v_ldexp_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x57]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, ttmp[10:11]
-// CHECK: [0x05,0x0c,0x54,0xd2,0x80,0x00,0xe9,0x01]
+v_ldexp_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x56]
v_ldexp_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x56]
-v_ldexp_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x57]
-
v_ldexp_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x56]
@@ -37413,99 +39369,141 @@ v_ldexp_f32 v5, 0xaf123456, v2
v_ldexp_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x56,0x73,0x72,0x71,0x3f]
-v_ldexp_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x56]
+v_ldexp_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x56]
-v_ldexp_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x56]
+v_ldexp_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0x05,0x02,0x00]
+
+v_ldexp_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x56,0xd2,0x01,0x05,0x02,0x00]
+
+v_ldexp_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0xff,0x05,0x02,0x00]
+
+v_ldexp_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x67,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x68,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x69,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x6a,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x6b,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x6c,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x6d,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x6e,0x04,0x02,0x00]
-v_ldexp_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x56]
+v_ldexp_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x6f,0x04,0x02,0x00]
-v_ldexp_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x7b,0x04,0x02,0x00]
-v_ldexp_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x56,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x7c,0x04,0x02,0x00]
-v_ldexp_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x56,0xd2,0xc1,0x04,0x00,0x00]
+v_ldexp_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x7e,0x04,0x02,0x00]
-v_ldexp_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x56,0xd2,0xf0,0x04,0x00,0x00]
+v_ldexp_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x7f,0x04,0x02,0x00]
-v_ldexp_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x56,0xd2,0xf7,0x04,0x00,0x00]
+v_ldexp_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0x80,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0xc1,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0xf0,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x56,0xd2,0xf7,0x04,0x02,0x00]
+
+v_ldexp_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xff,0x03,0x00]
v_ldexp_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x56,0xd2,0x01,0x05,0x00,0x00]
-v_ldexp_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x56,0xd2,0xff,0x05,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xcf,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xce,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xd1,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xd0,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xd3,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xd2,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xd5,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xd4,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xd7,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xd6,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xd9,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xd8,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xdb,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xda,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xdd,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xdc,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xdf,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xde,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xf7,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xf6,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xf9,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xf8,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xfd,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xfc,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xff,0x00,0x00]
-v_ldexp_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xfe,0x00,0x00]
+v_ldexp_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0x01,0x01,0x00]
-v_ldexp_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0x00,0x01,0x00]
+v_ldexp_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0x83,0x01,0x00]
-v_ldexp_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0x82,0x01,0x00]
+v_ldexp_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xe1,0x01,0x00]
-v_ldexp_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xe0,0x01,0x00]
+v_ldexp_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x56,0xd2,0x01,0xef,0x01,0x00]
-v_ldexp_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x58]
-v_ldexp_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pkaccum_u8_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x59]
-v_ldexp_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x56,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pkaccum_u8_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x58]
v_cvt_pkaccum_u8_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x58]
-v_cvt_pkaccum_u8_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x59]
-
v_cvt_pkaccum_u8_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x58]
@@ -37563,105 +39561,147 @@ v_cvt_pkaccum_u8_f32 v5, 0xaf123456, v2
v_cvt_pkaccum_u8_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x58,0x73,0x72,0x71,0x3f]
-v_cvt_pkaccum_u8_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x58]
+v_cvt_pkaccum_u8_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x58]
-v_cvt_pkaccum_u8_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x58]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x58,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pkaccum_u8_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x58]
+v_cvt_pkaccum_u8_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pkaccum_u8_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x58,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x68,0x04,0x02,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x58,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x69,0x04,0x02,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x58,0xd2,0xf0,0x04,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x6a,0x04,0x02,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x58,0xd2,0xf7,0x04,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x6b,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x6c,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x6e,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x6f,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x7b,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xff,0x03,0x00]
v_cvt_pkaccum_u8_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x58,0xd2,0x01,0x05,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x58,0xd2,0xff,0x05,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xcf,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xce,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xd1,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xd0,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xd3,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xd2,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xd5,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xd4,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xd7,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xd6,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xf9,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xf8,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xfd,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xfc,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xff,0x00,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xfe,0x00,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0x83,0x01,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0x82,0x01,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xe1,0x01,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xe0,0x01,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x58,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pkaccum_u8_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x58,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkaccum_u8_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5a]
-v_cvt_pkaccum_u8_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x58,0xd2,0x80,0x04,0x00,0x20]
+v_cvt_pknorm_i16_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x5b]
-v_cvt_pkaccum_u8_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x58,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5a]
v_cvt_pknorm_i16_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x5a]
-v_cvt_pknorm_i16_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x5b]
-
v_cvt_pknorm_i16_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x5a]
@@ -37719,117 +39759,159 @@ v_cvt_pknorm_i16_f32 v5, 0xaf123456, v2
v_cvt_pknorm_i16_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x5a,0x73,0x72,0x71,0x3f]
-v_cvt_pknorm_i16_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x5a]
+v_cvt_pknorm_i16_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x5a]
-v_cvt_pknorm_i16_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x5a]
+v_cvt_pknorm_i16_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x5a,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x5a]
+v_cvt_pknorm_i16_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x5a,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x68,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x5a,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x69,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x5a,0xd2,0xf0,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x6a,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x5a,0xd2,0xf7,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x6b,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x6c,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x6e,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x6f,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x7b,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xff,0x03,0x00]
v_cvt_pknorm_i16_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0x05,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x5a,0xd2,0xff,0x05,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xcf,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xce,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xd1,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xd0,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xd3,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xd2,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xd5,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xd4,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xd7,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xd6,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xf9,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xf8,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xfd,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xfc,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xff,0x00,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xfe,0x00,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0x83,0x01,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0x82,0x01,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xe1,0x01,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xe0,0x01,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pknorm_i16_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0x05,0x02,0x40]
-v_cvt_pknorm_i16_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pknorm_i16_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x5a,0xd2,0x01,0x05,0x02,0x60]
-v_cvt_pknorm_i16_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0x04,0x00,0x20]
+v_cvt_pknorm_i16_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x5a,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0x04,0x00,0x40]
+v_cvt_pknorm_i16_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x5a,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x5a,0xd2,0x80,0x04,0x00,0x60]
+v_cvt_pknorm_i16_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x5a,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x5a,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5c]
-v_cvt_pknorm_i16_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x5a,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x5d]
-v_cvt_pknorm_i16_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x5a,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5c]
v_cvt_pknorm_u16_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x5c]
-v_cvt_pknorm_u16_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x5d]
-
v_cvt_pknorm_u16_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x5c]
@@ -37887,117 +39969,159 @@ v_cvt_pknorm_u16_f32 v5, 0xaf123456, v2
v_cvt_pknorm_u16_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x5c,0x73,0x72,0x71,0x3f]
-v_cvt_pknorm_u16_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x5c]
+v_cvt_pknorm_u16_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x5c]
-v_cvt_pknorm_u16_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x5c]
+v_cvt_pknorm_u16_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x5c,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x5c]
+v_cvt_pknorm_u16_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x5c,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x68,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x5c,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x69,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x5c,0xd2,0xf0,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x6a,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x5c,0xd2,0xf7,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x6b,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x6c,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x6e,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x6f,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x7b,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xff,0x03,0x00]
v_cvt_pknorm_u16_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0x05,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x5c,0xd2,0xff,0x05,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xcf,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xce,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xd1,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xd0,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xd3,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xd2,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xd5,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xd4,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xd7,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xd6,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xf9,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xf8,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xfd,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xfc,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xff,0x00,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xfe,0x00,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0x83,0x01,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0x82,0x01,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xe1,0x01,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xe0,0x01,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pknorm_u16_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0x05,0x02,0x40]
-v_cvt_pknorm_u16_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pknorm_u16_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x5c,0xd2,0x01,0x05,0x02,0x60]
-v_cvt_pknorm_u16_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0x04,0x00,0x20]
+v_cvt_pknorm_u16_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x5c,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0x04,0x00,0x40]
+v_cvt_pknorm_u16_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x5c,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x5c,0xd2,0x80,0x04,0x00,0x60]
+v_cvt_pknorm_u16_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x5c,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x5c,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5e]
-v_cvt_pknorm_u16_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x5c,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x5f]
-v_cvt_pknorm_u16_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x5c,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5e]
v_cvt_pkrtz_f16_f32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x5e]
-v_cvt_pkrtz_f16_f32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x5f]
-
v_cvt_pkrtz_f16_f32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x5e]
@@ -38055,117 +40179,159 @@ v_cvt_pkrtz_f16_f32 v5, 0xaf123456, v2
v_cvt_pkrtz_f16_f32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x5e,0x73,0x72,0x71,0x3f]
-v_cvt_pkrtz_f16_f32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x5e]
+v_cvt_pkrtz_f16_f32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x5e]
-v_cvt_pkrtz_f16_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x5e]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x5e,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0xff,0x05,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x5e]
+v_cvt_pkrtz_f16_f32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x68,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x5e,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x69,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x5e,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x6a,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x5e,0xd2,0xf0,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x6b,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x5e,0xd2,0xf7,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x6c,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x6e,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x6f,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x7b,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xff,0x03,0x00]
v_cvt_pkrtz_f16_f32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0x05,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x5e,0xd2,0xff,0x05,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xcf,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xce,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xd1,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xd0,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xd3,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xd2,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xd5,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xd4,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xd7,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xd6,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xf9,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xf8,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xfd,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xfc,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xff,0x00,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xfe,0x00,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0x83,0x01,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0x82,0x01,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xe1,0x01,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xe0,0x01,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0x05,0x02,0x40]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pkrtz_f16_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x5e,0xd2,0x01,0x05,0x02,0x60]
-v_cvt_pkrtz_f16_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0x04,0x00,0x20]
+v_cvt_pkrtz_f16_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x5e,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0x04,0x00,0x40]
+v_cvt_pkrtz_f16_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x5e,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x5e,0xd2,0x80,0x04,0x00,0x60]
+v_cvt_pkrtz_f16_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x5e,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x5e,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x60]
-v_cvt_pkrtz_f16_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x5e,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x61]
-v_cvt_pkrtz_f16_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x5e,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x60]
v_cvt_pk_u16_u32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x60]
-v_cvt_pk_u16_u32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x61]
-
v_cvt_pk_u16_u32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x60]
@@ -38223,99 +40389,141 @@ v_cvt_pk_u16_u32 v5, 0xaf123456, v2
v_cvt_pk_u16_u32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x60,0x73,0x72,0x71,0x3f]
-v_cvt_pk_u16_u32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x60]
+v_cvt_pk_u16_u32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x60]
-v_cvt_pk_u16_u32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x60]
+v_cvt_pk_u16_u32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x60,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pk_u16_u32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x60]
+v_cvt_pk_u16_u32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pk_u16_u32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x60,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x68,0x04,0x02,0x00]
-v_cvt_pk_u16_u32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x60,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x69,0x04,0x02,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x60,0xd2,0xf0,0x04,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x6a,0x04,0x02,0x00]
-v_cvt_pk_u16_u32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x60,0xd2,0xf7,0x04,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x6b,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x6c,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x6e,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x6f,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x7b,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x60,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xff,0x03,0x00]
v_cvt_pk_u16_u32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x60,0xd2,0x01,0x05,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x60,0xd2,0xff,0x05,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xcf,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xce,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xd1,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xd0,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xd3,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xd2,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xd5,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xd4,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xd7,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xd6,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xf9,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xf8,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xfd,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xfc,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xff,0x00,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xfe,0x00,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0x83,0x01,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0x82,0x01,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xe1,0x01,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xe0,0x01,0x00]
+v_cvt_pk_u16_u32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x60,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pk_u16_u32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pk_i16_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x62]
-v_cvt_pk_u16_u32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pk_i16_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x63]
-v_cvt_pk_u16_u32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x60,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pk_i16_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x62]
v_cvt_pk_i16_i32 v5, s1, v2
// CHECK: [0x01,0x04,0x0a,0x62]
-v_cvt_pk_i16_i32 v255, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x63]
-
v_cvt_pk_i16_i32 v5, s103, v2
// CHECK: [0x67,0x04,0x0a,0x62]
@@ -38373,5384 +40581,9215 @@ v_cvt_pk_i16_i32 v5, 0xaf123456, v2
v_cvt_pk_i16_i32 v5, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x62,0x73,0x72,0x71,0x3f]
-v_cvt_pk_i16_i32 v5, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x62]
+v_cvt_pk_i16_i32 v5, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x62]
-v_cvt_pk_i16_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x62]
+v_cvt_pk_i16_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x62,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0xff,0x05,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, s103, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x67,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x68,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x69,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x6a,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x6b,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x6c,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x6e,0x04,0x02,0x00]
-v_cvt_pk_i16_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x62]
+v_cvt_pk_i16_i32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x6f,0x04,0x02,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x7b,0x04,0x02,0x00]
-v_cvt_pk_i16_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x62,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x7c,0x04,0x02,0x00]
-v_cvt_pk_i16_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x62,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x7e,0x04,0x02,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x62,0xd2,0xf0,0x04,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x7f,0x04,0x02,0x00]
-v_cvt_pk_i16_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x62,0xd2,0xf7,0x04,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x62,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xff,0x03,0x00]
v_cvt_pk_i16_i32_e64 v5, v1, s2
// CHECK: [0x05,0x00,0x62,0xd2,0x01,0x05,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, v255, s2
-// CHECK: [0x05,0x00,0x62,0xd2,0xff,0x05,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, s103
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xcf,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, s103
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xce,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xd1,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xd0,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xd3,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xd2,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xd5,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xd4,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xd7,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xd6,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xf9,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xf8,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xfd,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xfc,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xff,0x00,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xfe,0x00,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0x83,0x01,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0x82,0x01,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xe1,0x01,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xe0,0x01,0x00]
+v_cvt_pk_i16_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x62,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pk_i16_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xee,0x01,0x00]
+v_mad_legacy_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0e,0x04]
-v_cvt_pk_i16_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0x04,0x02,0x00]
+v_mad_legacy_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x80,0xd2,0x01,0x05,0x0e,0x04]
-v_cvt_pk_i16_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x62,0xd2,0x80,0xfe,0x03,0x00]
+v_mad_legacy_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0xff,0x05,0x0e,0x04]
-v_mad_legacy_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x04,0x0e,0x04]
-v_mad_legacy_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x80,0xd2,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x67,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x67,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x68,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x68,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x69,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x69,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x6a,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x6a,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x6b,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x6b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x6c,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x6c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x6d,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x6d,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x6e,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x6e,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x6f,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x6f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x7b,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x7b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x7c,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x7c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x7e,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x7e,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x7f,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x7f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x80,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x80,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0xc1,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0xc1,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0xf0,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0xf0,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0xf7,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0xf7,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xff,0x0f,0x04]
-v_mad_legacy_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0c,0x04]
-v_mad_legacy_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0xff,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xcf,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x82,0x01,0x02]
+v_mad_legacy_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xd1,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xe0,0x01,0x02]
+v_mad_legacy_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xd3,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xee,0x01,0x02]
+v_mad_legacy_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xd5,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x04,0x02,0x02]
+v_mad_legacy_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xd7,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xfe,0x03,0x02]
+v_mad_legacy_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xd9,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x05,0x03]
+v_mad_legacy_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xdb,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0xc1,0x03]
+v_mad_legacy_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xdd,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0xdd,0x03]
+v_mad_legacy_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xdf,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x0d,0x04]
+v_mad_legacy_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xf7,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0xfd,0x07]
+v_mad_legacy_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xf9,0x0c,0x04]
-v_mad_legacy_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x01,0x22]
+v_mad_legacy_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xfd,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x01,0x42]
+v_mad_legacy_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xff,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x01,0x82]
+v_mad_legacy_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x01,0x0d,0x04]
-v_mad_legacy_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x01,0xe2]
+v_mad_legacy_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x83,0x0d,0x04]
-v_mad_legacy_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0x80,0xd2,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xe1,0x0d,0x04]
-v_mad_legacy_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0x80,0xd2,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xef,0x0d,0x04]
-v_mad_legacy_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0x80,0xd2,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xfe,0x07]
-v_mad_legacy_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0x80,0xd2,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0e,0x00]
-v_mad_legacy_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0x80,0xd2,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x9e,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x01,0x0a]
+v_mad_legacy_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xa2,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x01,0x12]
+v_mad_legacy_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xa6,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x00,0x01,0x1a]
+v_mad_legacy_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xaa,0x01]
-v_mad_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xae,0x01]
-v_mad_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x82,0xd2,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xb2,0x01]
-v_mad_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x67,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xb6,0x01]
-v_mad_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x68,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xba,0x01]
-v_mad_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x69,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xbe,0x01]
-v_mad_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x6a,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xee,0x01]
-v_mad_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x6b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xf2,0x01]
-v_mad_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x6c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xfa,0x01]
-v_mad_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x6d,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xfe,0x01]
-v_mad_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x6e,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x02]
-v_mad_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x6f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x06,0x03]
-v_mad_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x7b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xc2,0x03]
-v_mad_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x7c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0xde,0x03]
-v_mad_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x7e,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0e,0x24]
-v_mad_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x7f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0e,0x44]
-v_mad_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x80,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0e,0x84]
-v_mad_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0xc1,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0e,0xe4]
-v_mad_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0xf0,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0x80,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0xf7,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0x80,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0x80,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0xff,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0x80,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x82,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0x80,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xe0,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0e,0x0c]
-v_mad_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xee,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0e,0x14]
-v_mad_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x04,0x02,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x0e,0x1c]
-v_mad_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xfe,0x03,0x02]
+v_mad_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x05,0x03]
+v_mad_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x82,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0xc1,0x03]
+v_mad_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0xff,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0xdd,0x03]
+v_mad_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x0d,0x04]
+v_mad_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x67,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0xfd,0x07]
+v_mad_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x68,0x04,0x0e,0x04]
-v_mad_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x01,0x22]
+v_mad_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x69,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x01,0x42]
+v_mad_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x6a,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x01,0x82]
+v_mad_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x6b,0x04,0x0e,0x04]
-v_mad_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x01,0xe2]
+v_mad_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x6c,0x04,0x0e,0x04]
-v_mad_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0x82,0xd2,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x6d,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0x82,0xd2,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x6e,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0x82,0xd2,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x6f,0x04,0x0e,0x04]
-v_mad_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0x82,0xd2,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x7b,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0x82,0xd2,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x7c,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x01,0x0a]
+v_mad_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x7e,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x01,0x12]
+v_mad_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x7f,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x00,0x01,0x1a]
+v_mad_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x80,0x04,0x0e,0x04]
-v_mad_i32_i24 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0xc1,0x04,0x0e,0x04]
-v_mad_i32_i24 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x84,0xd2,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0xf0,0x04,0x0e,0x04]
-v_mad_i32_i24 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x67,0x00,0x01,0x02]
+v_mad_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0xf7,0x04,0x0e,0x04]
-v_mad_i32_i24 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x68,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xff,0x0f,0x04]
-v_mad_i32_i24 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x69,0x00,0x01,0x02]
+v_mad_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0c,0x04]
-v_mad_i32_i24 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x6a,0x00,0x01,0x02]
+v_mad_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xcf,0x0c,0x04]
-v_mad_i32_i24 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x6b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xd1,0x0c,0x04]
-v_mad_i32_i24 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x6c,0x00,0x01,0x02]
+v_mad_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xd3,0x0c,0x04]
-v_mad_i32_i24 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x6d,0x00,0x01,0x02]
+v_mad_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xd5,0x0c,0x04]
-v_mad_i32_i24 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x6e,0x00,0x01,0x02]
+v_mad_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xd7,0x0c,0x04]
-v_mad_i32_i24 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x6f,0x00,0x01,0x02]
+v_mad_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xd9,0x0c,0x04]
-v_mad_i32_i24 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x7b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xdb,0x0c,0x04]
-v_mad_i32_i24 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x7c,0x00,0x01,0x02]
+v_mad_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xdd,0x0c,0x04]
-v_mad_i32_i24 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x7e,0x00,0x01,0x02]
+v_mad_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xdf,0x0c,0x04]
-v_mad_i32_i24 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x7f,0x00,0x01,0x02]
+v_mad_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xf7,0x0c,0x04]
-v_mad_i32_i24 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x00,0x01,0x02]
+v_mad_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xf9,0x0c,0x04]
-v_mad_i32_i24 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0xc1,0x00,0x01,0x02]
+v_mad_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xfd,0x0c,0x04]
-v_mad_i32_i24 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0xf0,0x00,0x01,0x02]
+v_mad_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xff,0x0c,0x04]
-v_mad_i32_i24 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0xf7,0x00,0x01,0x02]
+v_mad_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x01,0x0d,0x04]
-v_mad_i32_i24 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x01,0x01,0x02]
+v_mad_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x83,0x0d,0x04]
-v_mad_i32_i24 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0xff,0x01,0x01,0x02]
+v_mad_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xe1,0x0d,0x04]
-v_mad_i32_i24 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x82,0x01,0x02]
+v_mad_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xef,0x0d,0x04]
-v_mad_i32_i24 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xe0,0x01,0x02]
+v_mad_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xfe,0x07]
-v_mad_i32_i24 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xee,0x01,0x02]
+v_mad_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0e,0x00]
-v_mad_i32_i24 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x04,0x02,0x02]
+v_mad_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x9e,0x01]
-v_mad_i32_i24 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xfe,0x03,0x02]
+v_mad_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xa2,0x01]
-v_mad_i32_i24 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x00,0x05,0x03]
+v_mad_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xa6,0x01]
-v_mad_i32_i24 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x00,0xc1,0x03]
+v_mad_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xaa,0x01]
-v_mad_i32_i24 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x00,0xdd,0x03]
+v_mad_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xae,0x01]
-v_mad_i32_i24 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x00,0x0d,0x04]
+v_mad_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xb2,0x01]
-v_mad_i32_i24 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x00,0xfd,0x07]
+v_mad_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xb6,0x01]
-v_mad_u32_u24 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xba,0x01]
-v_mad_u32_u24 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x86,0xd2,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xbe,0x01]
-v_mad_u32_u24 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x67,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xee,0x01]
-v_mad_u32_u24 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x68,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xf2,0x01]
-v_mad_u32_u24 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x69,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xfa,0x01]
-v_mad_u32_u24 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x6a,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xfe,0x01]
-v_mad_u32_u24 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x6b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x02]
-v_mad_u32_u24 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x6c,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x06,0x03]
-v_mad_u32_u24 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x6d,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xc2,0x03]
-v_mad_u32_u24 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x6e,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0xde,0x03]
-v_mad_u32_u24 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x6f,0x00,0x01,0x02]
+v_mad_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0e,0x24]
-v_mad_u32_u24 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x7b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0e,0x44]
-v_mad_u32_u24 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x7c,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0e,0x84]
-v_mad_u32_u24 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x7e,0x00,0x01,0x02]
+v_mad_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0e,0xe4]
-v_mad_u32_u24 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x7f,0x00,0x01,0x02]
+v_mad_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0x82,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x00,0x01,0x02]
+v_mad_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0x82,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0xc1,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0x82,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0xf0,0x00,0x01,0x02]
+v_mad_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0x82,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0xf7,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0x82,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x01,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0e,0x0c]
-v_mad_u32_u24 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0xff,0x01,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0e,0x14]
-v_mad_u32_u24 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x82,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x0e,0x1c]
-v_mad_u32_u24 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xe0,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xee,0x01,0x02]
+v_mad_i32_i24 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x84,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x04,0x02,0x02]
+v_mad_i32_i24 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0xff,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xfe,0x03,0x02]
+v_mad_i32_i24 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x00,0x05,0x03]
+v_mad_i32_i24 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x67,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x00,0xc1,0x03]
+v_mad_i32_i24 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x68,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x00,0xdd,0x03]
+v_mad_i32_i24 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x69,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x00,0x0d,0x04]
+v_mad_i32_i24 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x6a,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x00,0xfd,0x07]
+v_mad_i32_i24 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x6b,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x6c,0x04,0x0e,0x04]
-v_cubeid_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x88,0xd2,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x6d,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x67,0x00,0x01,0x02]
+v_mad_i32_i24 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x6e,0x04,0x0e,0x04]
-v_cubeid_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x68,0x00,0x01,0x02]
+v_mad_i32_i24 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x6f,0x04,0x0e,0x04]
-v_cubeid_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x69,0x00,0x01,0x02]
+v_mad_i32_i24 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x7b,0x04,0x0e,0x04]
-v_cubeid_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x6a,0x00,0x01,0x02]
+v_mad_i32_i24 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x7c,0x04,0x0e,0x04]
-v_cubeid_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x6b,0x00,0x01,0x02]
+v_mad_i32_i24 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x7e,0x04,0x0e,0x04]
-v_cubeid_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x6c,0x00,0x01,0x02]
+v_mad_i32_i24 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x7f,0x04,0x0e,0x04]
-v_cubeid_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x6d,0x00,0x01,0x02]
+v_mad_i32_i24 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x0e,0x04]
-v_cubeid_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x6e,0x00,0x01,0x02]
+v_mad_i32_i24 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0xc1,0x04,0x0e,0x04]
-v_cubeid_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x6f,0x00,0x01,0x02]
+v_mad_i32_i24 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0xf0,0x04,0x0e,0x04]
-v_cubeid_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x7b,0x00,0x01,0x02]
+v_mad_i32_i24 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0xf7,0x04,0x0e,0x04]
-v_cubeid_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x7c,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xff,0x0f,0x04]
-v_cubeid_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x7e,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x0c,0x04]
-v_cubeid_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x7f,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xcf,0x0c,0x04]
-v_cubeid_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd1,0x0c,0x04]
-v_cubeid_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0xc1,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd3,0x0c,0x04]
-v_cubeid_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0xf0,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd5,0x0c,0x04]
-v_cubeid_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0xf7,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd7,0x0c,0x04]
-v_cubeid_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x01,0x01,0x02]
+v_mad_i32_i24 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd9,0x0c,0x04]
-v_cubeid_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0xff,0x01,0x01,0x02]
+v_mad_i32_i24 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xdb,0x0c,0x04]
-v_cubeid_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x82,0x01,0x02]
+v_mad_i32_i24 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xdd,0x0c,0x04]
-v_cubeid_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xe0,0x01,0x02]
+v_mad_i32_i24 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xdf,0x0c,0x04]
-v_cubeid_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xee,0x01,0x02]
+v_mad_i32_i24 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xf7,0x0c,0x04]
-v_cubeid_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x04,0x02,0x02]
+v_mad_i32_i24 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xf9,0x0c,0x04]
-v_cubeid_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xfe,0x03,0x02]
+v_mad_i32_i24 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xfd,0x0c,0x04]
-v_cubeid_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x05,0x03]
+v_mad_i32_i24 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xff,0x0c,0x04]
-v_cubeid_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0xc1,0x03]
+v_mad_i32_i24 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x01,0x0d,0x04]
-v_cubeid_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0xdd,0x03]
+v_mad_i32_i24 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x83,0x0d,0x04]
-v_cubeid_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x0d,0x04]
+v_mad_i32_i24 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xe1,0x0d,0x04]
-v_cubeid_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0xfd,0x07]
+v_mad_i32_i24 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xef,0x0d,0x04]
-v_cubeid_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x01,0x22]
+v_mad_i32_i24 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xfe,0x07]
-v_cubeid_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x01,0x42]
+v_mad_i32_i24 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x0e,0x00]
-v_cubeid_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x01,0x82]
+v_mad_i32_i24 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x9e,0x01]
-v_cubeid_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x01,0xe2]
+v_mad_i32_i24 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xa2,0x01]
-v_cubeid_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0x88,0xd2,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xa6,0x01]
-v_cubeid_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0x88,0xd2,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xaa,0x01]
-v_cubeid_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0x88,0xd2,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xae,0x01]
-v_cubeid_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0x88,0xd2,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xb2,0x01]
-v_cubeid_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0x88,0xd2,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xb6,0x01]
-v_cubeid_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x01,0x0a]
+v_mad_i32_i24 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xba,0x01]
-v_cubeid_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x01,0x12]
+v_mad_i32_i24 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xbe,0x01]
-v_cubeid_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x00,0x01,0x1a]
+v_mad_i32_i24 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xee,0x01]
-v_cubesc_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xf2,0x01]
-v_cubesc_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x8a,0xd2,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xfa,0x01]
-v_cubesc_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x67,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xfe,0x01]
-v_cubesc_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x68,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x02]
-v_cubesc_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x69,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x06,0x03]
-v_cubesc_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6a,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xc2,0x03]
-v_cubesc_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6b,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0xde,0x03]
-v_cubesc_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6c,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x0e,0x04]
-v_cubesc_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6d,0x00,0x01,0x02]
+v_mad_u32_u24 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x86,0xd2,0x01,0x05,0x0e,0x04]
-v_cubesc_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6e,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0xff,0x05,0x0e,0x04]
-v_cubesc_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6f,0x00,0x01,0x02]
+v_mad_u32_u24 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x04,0x0e,0x04]
-v_cubesc_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x7b,0x00,0x01,0x02]
+v_mad_u32_u24 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x67,0x04,0x0e,0x04]
-v_cubesc_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x7c,0x00,0x01,0x02]
+v_mad_u32_u24 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x68,0x04,0x0e,0x04]
-v_cubesc_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x7e,0x00,0x01,0x02]
+v_mad_u32_u24 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x69,0x04,0x0e,0x04]
-v_cubesc_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x7f,0x00,0x01,0x02]
+v_mad_u32_u24 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x6a,0x04,0x0e,0x04]
-v_cubesc_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0x00,0x01,0x02]
+v_mad_u32_u24 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x6b,0x04,0x0e,0x04]
-v_cubesc_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0xc1,0x00,0x01,0x02]
+v_mad_u32_u24 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x6c,0x04,0x0e,0x04]
-v_cubesc_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0xf0,0x00,0x01,0x02]
+v_mad_u32_u24 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x6d,0x04,0x0e,0x04]
-v_cubesc_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0xf7,0x00,0x01,0x02]
+v_mad_u32_u24 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x6e,0x04,0x0e,0x04]
-v_cubesc_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x01,0x01,0x02]
+v_mad_u32_u24 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x6f,0x04,0x0e,0x04]
-v_cubesc_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0xff,0x01,0x01,0x02]
+v_mad_u32_u24 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x7b,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x82,0x01,0x02]
+v_mad_u32_u24 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x7c,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xe0,0x01,0x02]
+v_mad_u32_u24 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x7e,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xee,0x01,0x02]
+v_mad_u32_u24 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x7f,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x04,0x02,0x02]
+v_mad_u32_u24 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xfe,0x03,0x02]
+v_mad_u32_u24 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0xc1,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x05,0x03]
+v_mad_u32_u24 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0xf0,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0xc1,0x03]
+v_mad_u32_u24 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0xf7,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0xdd,0x03]
+v_mad_u32_u24 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xff,0x0f,0x04]
-v_cubesc_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x0d,0x04]
+v_mad_u32_u24 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0xfd,0x07]
+v_mad_u32_u24 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xcf,0x0c,0x04]
-v_cubesc_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x22]
+v_mad_u32_u24 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd1,0x0c,0x04]
-v_cubesc_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x42]
+v_mad_u32_u24 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd3,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x82]
+v_mad_u32_u24 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd5,0x0c,0x04]
-v_cubesc_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0xe2]
+v_mad_u32_u24 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd7,0x0c,0x04]
-v_cubesc_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0x8a,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd9,0x0c,0x04]
-v_cubesc_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0x8a,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xdb,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0x8a,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xdd,0x0c,0x04]
-v_cubesc_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0x8a,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xdf,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0x8a,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xf7,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x0a]
+v_mad_u32_u24 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xf9,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x12]
+v_mad_u32_u24 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xfd,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x1a]
+v_mad_u32_u24 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xff,0x0c,0x04]
-v_cubetc_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x01,0x0d,0x04]
-v_cubetc_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x8c,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x83,0x0d,0x04]
-v_cubetc_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x67,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xe1,0x0d,0x04]
-v_cubetc_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x68,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xef,0x0d,0x04]
-v_cubetc_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x69,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xfe,0x07]
-v_cubetc_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x6a,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x0e,0x00]
-v_cubetc_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x6b,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x9e,0x01]
-v_cubetc_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x6c,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xa2,0x01]
-v_cubetc_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x6d,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xa6,0x01]
-v_cubetc_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x6e,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xaa,0x01]
-v_cubetc_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x6f,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xae,0x01]
-v_cubetc_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x7b,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xb2,0x01]
-v_cubetc_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x7c,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xb6,0x01]
-v_cubetc_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x7e,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xba,0x01]
-v_cubetc_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x7f,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xbe,0x01]
-v_cubetc_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xee,0x01]
-v_cubetc_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0xc1,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xf2,0x01]
-v_cubetc_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0xf0,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xfa,0x01]
-v_cubetc_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0xf7,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xfe,0x01]
-v_cubetc_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x01,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x02,0x02]
-v_cubetc_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0xff,0x01,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x06,0x03]
-v_cubetc_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x82,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xc2,0x03]
-v_cubetc_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xe0,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0xde,0x03]
-v_cubetc_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xee,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0e,0x04]
-v_cubetc_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x04,0x02,0x02]
+v_cubeid_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x88,0xd2,0x01,0x05,0x0e,0x04]
-v_cubetc_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xfe,0x03,0x02]
+v_cubeid_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0xff,0x05,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x05,0x03]
+v_cubeid_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0xc1,0x03]
+v_cubeid_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x67,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0xdd,0x03]
+v_cubeid_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x68,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x0d,0x04]
+v_cubeid_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x69,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0xfd,0x07]
+v_cubeid_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x6a,0x04,0x0e,0x04]
-v_cubetc_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x01,0x22]
+v_cubeid_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x6b,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x01,0x42]
+v_cubeid_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x6c,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x01,0x82]
+v_cubeid_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x6d,0x04,0x0e,0x04]
-v_cubetc_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x01,0xe2]
+v_cubeid_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x6e,0x04,0x0e,0x04]
-v_cubetc_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0x8c,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x6f,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0x8c,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x7b,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0x8c,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x7c,0x04,0x0e,0x04]
-v_cubetc_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0x8c,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x7e,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0x8c,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x7f,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x01,0x0a]
+v_cubeid_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x01,0x12]
+v_cubeid_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0xc1,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x00,0x01,0x1a]
+v_cubeid_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0xf0,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0xf7,0x04,0x0e,0x04]
-v_cubema_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x8e,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xff,0x0f,0x04]
-v_cubema_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x67,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0c,0x04]
-v_cubema_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x68,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xcf,0x0c,0x04]
-v_cubema_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x69,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd1,0x0c,0x04]
-v_cubema_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x6a,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd3,0x0c,0x04]
-v_cubema_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x6b,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd5,0x0c,0x04]
-v_cubema_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x6c,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd7,0x0c,0x04]
-v_cubema_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x6d,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd9,0x0c,0x04]
-v_cubema_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x6e,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xdb,0x0c,0x04]
-v_cubema_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x6f,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xdd,0x0c,0x04]
-v_cubema_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x7b,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xdf,0x0c,0x04]
-v_cubema_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x7c,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xf7,0x0c,0x04]
-v_cubema_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x7e,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xf9,0x0c,0x04]
-v_cubema_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x7f,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xfd,0x0c,0x04]
-v_cubema_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x80,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xff,0x0c,0x04]
-v_cubema_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0xc1,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x01,0x0d,0x04]
-v_cubema_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0xf0,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x83,0x0d,0x04]
-v_cubema_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0xf7,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xe1,0x0d,0x04]
-v_cubema_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x01,0x01,0x02]
+v_cubeid_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xef,0x0d,0x04]
-v_cubema_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0xff,0x01,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xfe,0x07]
-v_cubema_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x82,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0e,0x00]
-v_cubema_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xe0,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x9e,0x01]
-v_cubema_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xee,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xa2,0x01]
-v_cubema_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x04,0x02,0x02]
+v_cubeid_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xa6,0x01]
-v_cubema_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xfe,0x03,0x02]
+v_cubeid_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xaa,0x01]
-v_cubema_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x05,0x03]
+v_cubeid_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xae,0x01]
-v_cubema_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0xc1,0x03]
+v_cubeid_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xb2,0x01]
-v_cubema_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0xdd,0x03]
+v_cubeid_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xb6,0x01]
-v_cubema_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x0d,0x04]
+v_cubeid_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xba,0x01]
-v_cubema_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0xfd,0x07]
+v_cubeid_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xbe,0x01]
-v_cubema_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x01,0x22]
+v_cubeid_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xee,0x01]
-v_cubema_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x01,0x42]
+v_cubeid_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xf2,0x01]
-v_cubema_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x01,0x82]
+v_cubeid_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xfa,0x01]
-v_cubema_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x01,0xe2]
+v_cubeid_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xfe,0x01]
-v_cubema_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0x8e,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x02]
-v_cubema_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0x8e,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x06,0x03]
-v_cubema_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0x8e,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xc2,0x03]
-v_cubema_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0x8e,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0xde,0x03]
-v_cubema_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0x8e,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0e,0x24]
-v_cubema_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x01,0x0a]
+v_cubeid_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0e,0x44]
-v_cubema_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x01,0x12]
+v_cubeid_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0e,0x84]
-v_cubema_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x00,0x01,0x1a]
+v_cubeid_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0e,0xe4]
-v_bfe_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0x88,0xd2,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x90,0xd2,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0x88,0xd2,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x67,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0x88,0xd2,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x68,0x00,0x01,0x02]
+v_cubeid_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0x88,0xd2,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x69,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0x88,0xd2,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x6a,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0e,0x0c]
-v_bfe_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x6b,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0e,0x14]
-v_bfe_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x6c,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x0e,0x1c]
-v_bfe_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x6d,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x6e,0x00,0x01,0x02]
+v_cubesc_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x8a,0xd2,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x6f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0xff,0x05,0x0e,0x04]
-v_bfe_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x7b,0x00,0x01,0x02]
+v_cubesc_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x04,0x0e,0x04]
-v_bfe_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x7c,0x00,0x01,0x02]
+v_cubesc_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x67,0x04,0x0e,0x04]
-v_bfe_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x7e,0x00,0x01,0x02]
+v_cubesc_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x68,0x04,0x0e,0x04]
-v_bfe_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x7f,0x00,0x01,0x02]
+v_cubesc_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x69,0x04,0x0e,0x04]
-v_bfe_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x00,0x01,0x02]
+v_cubesc_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x6a,0x04,0x0e,0x04]
-v_bfe_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0xc1,0x00,0x01,0x02]
+v_cubesc_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x6b,0x04,0x0e,0x04]
-v_bfe_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0xf0,0x00,0x01,0x02]
+v_cubesc_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x6c,0x04,0x0e,0x04]
-v_bfe_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0xf7,0x00,0x01,0x02]
+v_cubesc_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x6d,0x04,0x0e,0x04]
-v_bfe_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x01,0x01,0x02]
+v_cubesc_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x6e,0x04,0x0e,0x04]
-v_bfe_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0xff,0x01,0x01,0x02]
+v_cubesc_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x6f,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x82,0x01,0x02]
+v_cubesc_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x7b,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xe0,0x01,0x02]
+v_cubesc_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x7c,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xee,0x01,0x02]
+v_cubesc_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x7e,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x04,0x02,0x02]
+v_cubesc_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x7f,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xfe,0x03,0x02]
+v_cubesc_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x00,0x05,0x03]
+v_cubesc_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0xc1,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x00,0xc1,0x03]
+v_cubesc_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0xf0,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x00,0xdd,0x03]
+v_cubesc_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0xf7,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x00,0x0d,0x04]
+v_cubesc_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xff,0x0f,0x04]
-v_bfe_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x00,0xfd,0x07]
+v_cubesc_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0c,0x04]
-v_bfe_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xcf,0x0c,0x04]
-v_bfe_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x92,0xd2,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xd1,0x0c,0x04]
-v_bfe_i32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x67,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xd3,0x0c,0x04]
-v_bfe_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x68,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xd5,0x0c,0x04]
-v_bfe_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x69,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xd7,0x0c,0x04]
-v_bfe_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x6a,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xd9,0x0c,0x04]
-v_bfe_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x6b,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xdb,0x0c,0x04]
-v_bfe_i32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x6c,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xdd,0x0c,0x04]
-v_bfe_i32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x6d,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xdf,0x0c,0x04]
-v_bfe_i32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x6e,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xf7,0x0c,0x04]
-v_bfe_i32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x6f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xf9,0x0c,0x04]
-v_bfe_i32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x7b,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xfd,0x0c,0x04]
-v_bfe_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x7c,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xff,0x0c,0x04]
-v_bfe_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x7e,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x01,0x0d,0x04]
-v_bfe_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x7f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x83,0x0d,0x04]
-v_bfe_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xe1,0x0d,0x04]
-v_bfe_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0xc1,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0xef,0x0d,0x04]
-v_bfe_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0xf0,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xfe,0x07]
-v_bfe_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0xf7,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0e,0x00]
-v_bfe_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x01,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x9e,0x01]
-v_bfe_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0xff,0x01,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xa2,0x01]
-v_bfe_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x82,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xa6,0x01]
-v_bfe_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xe0,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xaa,0x01]
-v_bfe_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xee,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xae,0x01]
-v_bfe_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x04,0x02,0x02]
+v_cubesc_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xb2,0x01]
-v_bfe_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xfe,0x03,0x02]
+v_cubesc_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xb6,0x01]
-v_bfe_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x00,0x05,0x03]
+v_cubesc_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xba,0x01]
-v_bfe_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x00,0xc1,0x03]
+v_cubesc_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xbe,0x01]
-v_bfe_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x00,0xdd,0x03]
+v_cubesc_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xee,0x01]
-v_bfe_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x00,0x0d,0x04]
+v_cubesc_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xf2,0x01]
-v_bfe_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x00,0xfd,0x07]
+v_cubesc_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xfa,0x01]
-v_bfi_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xfe,0x01]
-v_bfi_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x94,0xd2,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x02,0x02]
-v_bfi_b32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x67,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x06,0x03]
-v_bfi_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x68,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xc2,0x03]
-v_bfi_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x69,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0xde,0x03]
-v_bfi_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x6a,0x00,0x01,0x02]
+v_cubesc_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0e,0x24]
-v_bfi_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x6b,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0e,0x44]
-v_bfi_b32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x6c,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0e,0x84]
-v_bfi_b32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x6d,0x00,0x01,0x02]
+v_cubesc_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0e,0xe4]
-v_bfi_b32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x6e,0x00,0x01,0x02]
+v_cubesc_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0x8a,0xd2,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x6f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0x8a,0xd2,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x7b,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0x8a,0xd2,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x7c,0x00,0x01,0x02]
+v_cubesc_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0x8a,0xd2,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x7e,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0x8a,0xd2,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x7f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0e,0x0c]
-v_bfi_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0e,0x14]
-v_bfi_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0xc1,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x05,0x0e,0x1c]
-v_bfi_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0xf0,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0xf7,0x00,0x01,0x02]
+v_cubetc_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x8c,0xd2,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x01,0x01,0x02]
+v_cubetc_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0xff,0x05,0x0e,0x04]
-v_bfi_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0xff,0x01,0x01,0x02]
+v_cubetc_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x82,0x01,0x02]
+v_cubetc_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x67,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xe0,0x01,0x02]
+v_cubetc_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x68,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xee,0x01,0x02]
+v_cubetc_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x69,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x04,0x02,0x02]
+v_cubetc_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6a,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xfe,0x03,0x02]
+v_cubetc_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6b,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x00,0x05,0x03]
+v_cubetc_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6c,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x00,0xc1,0x03]
+v_cubetc_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6d,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x00,0xdd,0x03]
+v_cubetc_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6e,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x00,0x0d,0x04]
+v_cubetc_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6f,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x00,0xfd,0x07]
+v_cubetc_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7b,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7c,0x04,0x0e,0x04]
-v_fma_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x96,0xd2,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7e,0x04,0x0e,0x04]
-v_fma_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x67,0x00,0x01,0x02]
+v_cubetc_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7f,0x04,0x0e,0x04]
-v_fma_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x68,0x00,0x01,0x02]
+v_cubetc_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x0e,0x04]
-v_fma_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x69,0x00,0x01,0x02]
+v_cubetc_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0xc1,0x04,0x0e,0x04]
-v_fma_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x6a,0x00,0x01,0x02]
+v_cubetc_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0xf0,0x04,0x0e,0x04]
-v_fma_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x6b,0x00,0x01,0x02]
+v_cubetc_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0xf7,0x04,0x0e,0x04]
-v_fma_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x6c,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xff,0x0f,0x04]
-v_fma_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x6d,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0c,0x04]
-v_fma_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x6e,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xcf,0x0c,0x04]
-v_fma_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x6f,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd1,0x0c,0x04]
-v_fma_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x7b,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd3,0x0c,0x04]
-v_fma_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x7c,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd5,0x0c,0x04]
-v_fma_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x7e,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd7,0x0c,0x04]
-v_fma_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x7f,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd9,0x0c,0x04]
-v_fma_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xdb,0x0c,0x04]
-v_fma_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0xc1,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xdd,0x0c,0x04]
-v_fma_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0xf0,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xdf,0x0c,0x04]
-v_fma_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0xf7,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xf7,0x0c,0x04]
-v_fma_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x01,0x01,0x02]
+v_cubetc_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xf9,0x0c,0x04]
-v_fma_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0xff,0x01,0x01,0x02]
+v_cubetc_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xfd,0x0c,0x04]
-v_fma_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x82,0x01,0x02]
+v_cubetc_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xff,0x0c,0x04]
-v_fma_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xe0,0x01,0x02]
+v_cubetc_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x01,0x0d,0x04]
-v_fma_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xee,0x01,0x02]
+v_cubetc_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x83,0x0d,0x04]
-v_fma_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x04,0x02,0x02]
+v_cubetc_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xe1,0x0d,0x04]
-v_fma_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xfe,0x03,0x02]
+v_cubetc_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xef,0x0d,0x04]
-v_fma_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x05,0x03]
+v_cubetc_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xfe,0x07]
-v_fma_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0xc1,0x03]
+v_cubetc_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0e,0x00]
-v_fma_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0xdd,0x03]
+v_cubetc_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x9e,0x01]
-v_fma_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x0d,0x04]
+v_cubetc_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xa2,0x01]
-v_fma_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0xfd,0x07]
+v_cubetc_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xa6,0x01]
-v_fma_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x01,0x22]
+v_cubetc_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xaa,0x01]
-v_fma_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x01,0x42]
+v_cubetc_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xae,0x01]
-v_fma_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x01,0x82]
+v_cubetc_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xb2,0x01]
-v_fma_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x01,0xe2]
+v_cubetc_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xb6,0x01]
-v_fma_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0x96,0xd2,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xba,0x01]
-v_fma_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0x96,0xd2,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xbe,0x01]
-v_fma_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0x96,0xd2,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xee,0x01]
-v_fma_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0x96,0xd2,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xf2,0x01]
-v_fma_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0x96,0xd2,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xfa,0x01]
-v_fma_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x01,0x0a]
+v_cubetc_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xfe,0x01]
-v_fma_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x01,0x12]
+v_cubetc_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x02,0x02]
-v_fma_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x00,0x01,0x1a]
+v_cubetc_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x06,0x03]
-v_fma_f64 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xc2,0x03]
-v_fma_f64 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0x98,0xd2,0x02,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0xde,0x03]
-v_fma_f64 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x04,0x00,0x01,0x02]
+v_cubetc_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0e,0x24]
-v_fma_f64 v[5:6], s[102:103], 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x66,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0e,0x44]
-v_fma_f64 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x68,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0e,0x84]
-v_fma_f64 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x6a,0x00,0x01,0x02]
+v_cubetc_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0e,0xe4]
-v_fma_f64 v[5:6], tba, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x6c,0x00,0x01,0x02]
+v_cubetc_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0x8c,0xd2,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], tma, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x6e,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0x8c,0xd2,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], ttmp[10:11], 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x7a,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0x8c,0xd2,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x7e,0x00,0x01,0x02]
+v_cubetc_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0x8c,0xd2,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0x8c,0xd2,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0xc1,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0e,0x0c]
-v_fma_f64 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0xf0,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0e,0x14]
-v_fma_f64 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0xf7,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x0e,0x1c]
-v_fma_f64 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0xfe,0x01,0x01,0x02]
+v_cubema_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x8e,0xd2,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x82,0x01,0x02]
+v_cubema_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0xff,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0xe0,0x01,0x02]
+v_cubema_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0xee,0x01,0x02]
+v_cubema_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x67,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], v[2:3], 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x04,0x02,0x02]
+v_cubema_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x68,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], v[254:255], 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0xfc,0x03,0x02]
+v_cubema_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x69,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x05,0x03]
+v_cubema_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x6a,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0xc1,0x03]
+v_cubema_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x6b,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, -4.0
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0xdd,0x03]
+v_cubema_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x6c,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, v[3:4]
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x0d,0x04]
+v_cubema_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x6d,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, v[254:255]
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0xf9,0x07]
+v_cubema_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x6e,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], -s[2:3], 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x01,0x22]
+v_cubema_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x6f,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], neg(0), 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x01,0x42]
+v_cubema_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x7b,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, neg(0)
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x01,0x82]
+v_cubema_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x7c,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], -s[2:3], neg(0), neg(0)
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x01,0xe2]
+v_cubema_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x7e,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], |s[2:3]|, 0, 0
-// CHECK: [0x05,0x01,0x98,0xd2,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x7f,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], |0|, 0
-// CHECK: [0x05,0x02,0x98,0xd2,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x80,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, |0|
-// CHECK: [0x05,0x04,0x98,0xd2,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0xc1,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], |s[2:3]|, |0|, |0|
-// CHECK: [0x05,0x07,0x98,0xd2,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0xf0,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 clamp
-// CHECK: [0x05,0x08,0x98,0xd2,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0xf7,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 mul:2
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x01,0x0a]
+v_cubema_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xff,0x0f,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 mul:4
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x01,0x12]
+v_cubema_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0c,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 div:2
-// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x00,0x01,0x1a]
+v_cubema_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xcf,0x0c,0x04]
-v_lerp_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xd1,0x0c,0x04]
-v_lerp_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x9a,0xd2,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xd3,0x0c,0x04]
-v_lerp_u8 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x67,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xd5,0x0c,0x04]
-v_lerp_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x68,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xd7,0x0c,0x04]
-v_lerp_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x69,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xd9,0x0c,0x04]
-v_lerp_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x6a,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xdb,0x0c,0x04]
-v_lerp_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x6b,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xdd,0x0c,0x04]
-v_lerp_u8 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x6c,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xdf,0x0c,0x04]
-v_lerp_u8 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x6d,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xf7,0x0c,0x04]
-v_lerp_u8 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x6e,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xf9,0x0c,0x04]
-v_lerp_u8 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x6f,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xfd,0x0c,0x04]
-v_lerp_u8 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x7b,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xff,0x0c,0x04]
-v_lerp_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x7c,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x01,0x0d,0x04]
-v_lerp_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x7e,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x83,0x0d,0x04]
-v_lerp_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x7f,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xe1,0x0d,0x04]
-v_lerp_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x80,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0xef,0x0d,0x04]
-v_lerp_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0xc1,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xfe,0x07]
-v_lerp_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0e,0x00]
-v_lerp_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0xff,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x9e,0x01]
-v_lerp_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x82,0x01,0x02]
+v_cubema_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xa2,0x01]
-v_lerp_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x04,0x02,0x02]
+v_cubema_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xa6,0x01]
-v_lerp_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xfe,0x03,0x02]
+v_cubema_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xaa,0x01]
-v_lerp_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x00,0x05,0x03]
+v_cubema_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xae,0x01]
-v_lerp_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x00,0x0d,0x04]
+v_cubema_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xb2,0x01]
-v_lerp_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x00,0xfd,0x07]
+v_cubema_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xb6,0x01]
-v_alignbit_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xba,0x01]
-v_alignbit_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x9c,0xd2,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xbe,0x01]
-v_alignbit_b32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x67,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xee,0x01]
-v_alignbit_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x68,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xf2,0x01]
-v_alignbit_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x69,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xfa,0x01]
-v_alignbit_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x6a,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xfe,0x01]
-v_alignbit_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x6b,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x02,0x02]
-v_alignbit_b32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x6c,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x06,0x03]
-v_alignbit_b32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x6d,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xc2,0x03]
-v_alignbit_b32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x6e,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0xde,0x03]
-v_alignbit_b32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x6f,0x00,0x01,0x02]
+v_cubema_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0e,0x24]
-v_alignbit_b32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x7b,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0e,0x44]
-v_alignbit_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x7c,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0e,0x84]
-v_alignbit_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x7e,0x00,0x01,0x02]
+v_cubema_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0e,0xe4]
-v_alignbit_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x7f,0x00,0x01,0x02]
+v_cubema_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0x8e,0xd2,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x80,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0x8e,0xd2,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0xc1,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0x8e,0xd2,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0xf0,0x00,0x01,0x02]
+v_cubema_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0x8e,0xd2,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0xf7,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0x8e,0xd2,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0e,0x0c]
-v_alignbit_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0xff,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0e,0x14]
-v_alignbit_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x82,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0x8e,0xd2,0x01,0x05,0x0e,0x1c]
-v_alignbit_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xe0,0x01,0x02]
+v_bfe_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xee,0x01,0x02]
+v_bfe_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x90,0xd2,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x04,0x02,0x02]
+v_bfe_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0xff,0x05,0x0e,0x04]
-v_alignbit_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xfe,0x03,0x02]
+v_bfe_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x00,0x05,0x03]
+v_bfe_u32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x67,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x00,0xc1,0x03]
+v_bfe_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x68,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x00,0xdd,0x03]
+v_bfe_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x69,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x00,0x0d,0x04]
+v_bfe_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x6a,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x00,0xfd,0x07]
+v_bfe_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x6b,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x6c,0x04,0x0e,0x04]
-v_alignbyte_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x9e,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x6d,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x67,0x00,0x01,0x02]
+v_bfe_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x6e,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x68,0x00,0x01,0x02]
+v_bfe_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x6f,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x69,0x00,0x01,0x02]
+v_bfe_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x7b,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x6a,0x00,0x01,0x02]
+v_bfe_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x7c,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x6b,0x00,0x01,0x02]
+v_bfe_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x7e,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x6c,0x00,0x01,0x02]
+v_bfe_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x7f,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x6d,0x00,0x01,0x02]
+v_bfe_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x6e,0x00,0x01,0x02]
+v_bfe_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0xc1,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x6f,0x00,0x01,0x02]
+v_bfe_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0xf0,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x7b,0x00,0x01,0x02]
+v_bfe_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0xf7,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x7c,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xff,0x0f,0x04]
-v_alignbyte_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x7e,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0x0c,0x04]
-v_alignbyte_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x7f,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xcf,0x0c,0x04]
-v_alignbyte_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x80,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xd1,0x0c,0x04]
-v_alignbyte_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0xc1,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xd3,0x0c,0x04]
-v_alignbyte_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0xf0,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xd5,0x0c,0x04]
-v_alignbyte_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0xf7,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xd7,0x0c,0x04]
-v_alignbyte_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x01,0x01,0x02]
+v_bfe_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xd9,0x0c,0x04]
-v_alignbyte_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0xff,0x01,0x01,0x02]
+v_bfe_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xdb,0x0c,0x04]
-v_alignbyte_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x82,0x01,0x02]
+v_bfe_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xdd,0x0c,0x04]
-v_alignbyte_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xe0,0x01,0x02]
+v_bfe_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xdf,0x0c,0x04]
-v_alignbyte_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xee,0x01,0x02]
+v_bfe_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xf7,0x0c,0x04]
-v_alignbyte_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x04,0x02,0x02]
+v_bfe_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xf9,0x0c,0x04]
-v_alignbyte_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xfe,0x03,0x02]
+v_bfe_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xfd,0x0c,0x04]
-v_alignbyte_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x00,0x05,0x03]
+v_bfe_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xff,0x0c,0x04]
-v_alignbyte_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x00,0xc1,0x03]
+v_bfe_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x01,0x0d,0x04]
-v_alignbyte_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x00,0xdd,0x03]
+v_bfe_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x83,0x0d,0x04]
-v_alignbyte_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x00,0x0d,0x04]
+v_bfe_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xe1,0x0d,0x04]
-v_alignbyte_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x00,0xfd,0x07]
+v_bfe_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xef,0x0d,0x04]
-v_mullit_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xfe,0x07]
-v_mullit_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xa0,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0x0e,0x00]
-v_mullit_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x67,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0x9e,0x01]
-v_mullit_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x68,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xa2,0x01]
-v_mullit_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x69,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xa6,0x01]
-v_mullit_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x6a,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xaa,0x01]
-v_mullit_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x6b,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xae,0x01]
-v_mullit_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x6c,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xb2,0x01]
-v_mullit_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x6d,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xb6,0x01]
-v_mullit_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x6e,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xba,0x01]
-v_mullit_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x6f,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xbe,0x01]
-v_mullit_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x7b,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xee,0x01]
-v_mullit_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x7c,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xf2,0x01]
-v_mullit_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x7e,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xfa,0x01]
-v_mullit_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x7f,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xfe,0x01]
-v_mullit_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x80,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0x02,0x02]
-v_mullit_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0xc1,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0x06,0x03]
-v_mullit_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0xf0,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xc2,0x03]
-v_mullit_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0xf7,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0xde,0x03]
-v_mullit_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x01,0x01,0x02]
+v_bfe_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x0e,0x04]
-v_mullit_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0xff,0x01,0x01,0x02]
+v_bfe_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x92,0xd2,0x01,0x05,0x0e,0x04]
-v_mullit_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x82,0x01,0x02]
+v_bfe_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0xff,0x05,0x0e,0x04]
-v_mullit_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xe0,0x01,0x02]
+v_bfe_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xee,0x01,0x02]
+v_bfe_i32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x67,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x04,0x02,0x02]
+v_bfe_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x68,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xfe,0x03,0x02]
+v_bfe_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x69,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x05,0x03]
+v_bfe_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x6a,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0xc1,0x03]
+v_bfe_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x6b,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0xdd,0x03]
+v_bfe_i32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x6c,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x0d,0x04]
+v_bfe_i32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x6d,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0xfd,0x07]
+v_bfe_i32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x6e,0x04,0x0e,0x04]
-v_mullit_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x01,0x22]
+v_bfe_i32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x6f,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x01,0x42]
+v_bfe_i32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x7b,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x01,0x82]
+v_bfe_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x7c,0x04,0x0e,0x04]
-v_mullit_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x01,0xe2]
+v_bfe_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x7e,0x04,0x0e,0x04]
-v_mullit_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xa0,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x7f,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xa0,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xa0,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0xc1,0x04,0x0e,0x04]
-v_mullit_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xa0,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0xf0,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0xa0,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0xf7,0x04,0x0e,0x04]
-v_mullit_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x01,0x0a]
+v_bfe_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xff,0x0f,0x04]
-v_mullit_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x01,0x12]
+v_bfe_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x0c,0x04]
-v_mullit_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x00,0x01,0x1a]
+v_bfe_i32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xcf,0x0c,0x04]
-v_min3_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd1,0x0c,0x04]
-v_min3_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xa2,0xd2,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd3,0x0c,0x04]
-v_min3_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x67,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd5,0x0c,0x04]
-v_min3_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x68,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd7,0x0c,0x04]
-v_min3_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x69,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd9,0x0c,0x04]
-v_min3_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x6a,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xdb,0x0c,0x04]
-v_min3_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x6b,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xdd,0x0c,0x04]
-v_min3_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x6c,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xdf,0x0c,0x04]
-v_min3_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x6d,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xf7,0x0c,0x04]
-v_min3_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x6e,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xf9,0x0c,0x04]
-v_min3_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x6f,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xfd,0x0c,0x04]
-v_min3_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x7b,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xff,0x0c,0x04]
-v_min3_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x7c,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x01,0x0d,0x04]
-v_min3_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x7e,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x83,0x0d,0x04]
-v_min3_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x7f,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xe1,0x0d,0x04]
-v_min3_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x80,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xef,0x0d,0x04]
-v_min3_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0xc1,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xfe,0x07]
-v_min3_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0xf0,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x0e,0x00]
-v_min3_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0xf7,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x9e,0x01]
-v_min3_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x01,0x01,0x02]
+v_bfe_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xa2,0x01]
-v_min3_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0xff,0x01,0x01,0x02]
+v_bfe_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xa6,0x01]
-v_min3_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x82,0x01,0x02]
+v_bfe_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xaa,0x01]
-v_min3_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xe0,0x01,0x02]
+v_bfe_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xae,0x01]
-v_min3_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xee,0x01,0x02]
+v_bfe_i32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xb2,0x01]
-v_min3_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x04,0x02,0x02]
+v_bfe_i32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xb6,0x01]
-v_min3_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xfe,0x03,0x02]
+v_bfe_i32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xba,0x01]
-v_min3_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x05,0x03]
+v_bfe_i32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xbe,0x01]
-v_min3_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0xc1,0x03]
+v_bfe_i32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xee,0x01]
-v_min3_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0xdd,0x03]
+v_bfe_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xf2,0x01]
-v_min3_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x0d,0x04]
+v_bfe_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xfa,0x01]
-v_min3_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0xfd,0x07]
+v_bfe_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xfe,0x01]
-v_min3_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x01,0x22]
+v_bfe_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x02]
-v_min3_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x01,0x42]
+v_bfe_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x06,0x03]
-v_min3_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x01,0x82]
+v_bfe_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xc2,0x03]
-v_min3_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x01,0xe2]
+v_bfe_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0xde,0x03]
-v_min3_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xa2,0xd2,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x0e,0x04]
-v_min3_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xa2,0xd2,0x01,0x00,0x01,0x02]
+v_bfi_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x94,0xd2,0x01,0x05,0x0e,0x04]
-v_min3_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xa2,0xd2,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0xff,0x05,0x0e,0x04]
-v_min3_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xa2,0xd2,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0xa2,0xd2,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x67,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x01,0x0a]
+v_bfi_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x68,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x01,0x12]
+v_bfi_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x69,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x00,0x01,0x1a]
+v_bfi_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x6a,0x04,0x0e,0x04]
-v_min3_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x6b,0x04,0x0e,0x04]
-v_min3_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xa4,0xd2,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x6c,0x04,0x0e,0x04]
-v_min3_i32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x67,0x00,0x01,0x02]
+v_bfi_b32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x6d,0x04,0x0e,0x04]
-v_min3_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x68,0x00,0x01,0x02]
+v_bfi_b32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x6e,0x04,0x0e,0x04]
-v_min3_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x69,0x00,0x01,0x02]
+v_bfi_b32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x6f,0x04,0x0e,0x04]
-v_min3_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x6a,0x00,0x01,0x02]
+v_bfi_b32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x7b,0x04,0x0e,0x04]
-v_min3_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x6b,0x00,0x01,0x02]
+v_bfi_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x7c,0x04,0x0e,0x04]
-v_min3_i32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x6c,0x00,0x01,0x02]
+v_bfi_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x7e,0x04,0x0e,0x04]
-v_min3_i32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x6d,0x00,0x01,0x02]
+v_bfi_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x7f,0x04,0x0e,0x04]
-v_min3_i32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x6e,0x00,0x01,0x02]
+v_bfi_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x0e,0x04]
-v_min3_i32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x6f,0x00,0x01,0x02]
+v_bfi_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0xc1,0x04,0x0e,0x04]
-v_min3_i32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x7b,0x00,0x01,0x02]
+v_bfi_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0xf0,0x04,0x0e,0x04]
-v_min3_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x7c,0x00,0x01,0x02]
+v_bfi_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0xf7,0x04,0x0e,0x04]
-v_min3_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x7e,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xff,0x0f,0x04]
-v_min3_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x7f,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x0c,0x04]
-v_min3_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x80,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xcf,0x0c,0x04]
-v_min3_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0xc1,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd1,0x0c,0x04]
-v_min3_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0xf0,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd3,0x0c,0x04]
-v_min3_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0xf7,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd5,0x0c,0x04]
-v_min3_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd7,0x0c,0x04]
-v_min3_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0xff,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd9,0x0c,0x04]
-v_min3_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x82,0x01,0x02]
+v_bfi_b32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xdb,0x0c,0x04]
-v_min3_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xe0,0x01,0x02]
+v_bfi_b32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xdd,0x0c,0x04]
-v_min3_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xee,0x01,0x02]
+v_bfi_b32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xdf,0x0c,0x04]
-v_min3_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x04,0x02,0x02]
+v_bfi_b32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xf7,0x0c,0x04]
-v_min3_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xfe,0x03,0x02]
+v_bfi_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xf9,0x0c,0x04]
-v_min3_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x00,0x05,0x03]
+v_bfi_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xfd,0x0c,0x04]
-v_min3_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x00,0xc1,0x03]
+v_bfi_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xff,0x0c,0x04]
-v_min3_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x00,0xdd,0x03]
+v_bfi_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x01,0x0d,0x04]
-v_min3_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x00,0x0d,0x04]
+v_bfi_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x83,0x0d,0x04]
-v_min3_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x00,0xfd,0x07]
+v_bfi_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xe1,0x0d,0x04]
-v_min3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xef,0x0d,0x04]
-v_min3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xa6,0xd2,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xfe,0x07]
-v_min3_u32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x67,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x0e,0x00]
-v_min3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x68,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x9e,0x01]
-v_min3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x69,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xa2,0x01]
-v_min3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x6a,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xa6,0x01]
-v_min3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x6b,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xaa,0x01]
-v_min3_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x6c,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xae,0x01]
-v_min3_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x6d,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xb2,0x01]
-v_min3_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x6e,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xb6,0x01]
-v_min3_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x6f,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xba,0x01]
-v_min3_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x7b,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xbe,0x01]
-v_min3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x7c,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xee,0x01]
-v_min3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x7e,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xf2,0x01]
-v_min3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x7f,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xfa,0x01]
-v_min3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x80,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xfe,0x01]
-v_min3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0xc1,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x02]
-v_min3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0xf0,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x06,0x03]
-v_min3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0xf7,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xc2,0x03]
-v_min3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0xde,0x03]
-v_min3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0xff,0x01,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0e,0x04]
-v_min3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x82,0x01,0x02]
+v_fma_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x96,0xd2,0x01,0x05,0x0e,0x04]
-v_min3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xe0,0x01,0x02]
+v_fma_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0xff,0x05,0x0e,0x04]
-v_min3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xee,0x01,0x02]
+v_fma_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x04,0x0e,0x04]
-v_min3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x04,0x02,0x02]
+v_fma_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x67,0x04,0x0e,0x04]
-v_min3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xfe,0x03,0x02]
+v_fma_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x68,0x04,0x0e,0x04]
-v_min3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x00,0x05,0x03]
+v_fma_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x69,0x04,0x0e,0x04]
-v_min3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x00,0xc1,0x03]
+v_fma_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x6a,0x04,0x0e,0x04]
-v_min3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x00,0xdd,0x03]
+v_fma_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x6b,0x04,0x0e,0x04]
-v_min3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x00,0x0d,0x04]
+v_fma_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x6c,0x04,0x0e,0x04]
-v_min3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x00,0xfd,0x07]
+v_fma_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x6d,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x6e,0x04,0x0e,0x04]
-v_max3_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xa8,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x6f,0x04,0x0e,0x04]
-v_max3_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x67,0x00,0x01,0x02]
+v_fma_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x7b,0x04,0x0e,0x04]
-v_max3_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x68,0x00,0x01,0x02]
+v_fma_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x7c,0x04,0x0e,0x04]
-v_max3_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x69,0x00,0x01,0x02]
+v_fma_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x7e,0x04,0x0e,0x04]
-v_max3_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x6a,0x00,0x01,0x02]
+v_fma_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x7f,0x04,0x0e,0x04]
-v_max3_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x6b,0x00,0x01,0x02]
+v_fma_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x0e,0x04]
-v_max3_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x6c,0x00,0x01,0x02]
+v_fma_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0xc1,0x04,0x0e,0x04]
-v_max3_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x6d,0x00,0x01,0x02]
+v_fma_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0xf0,0x04,0x0e,0x04]
-v_max3_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x6e,0x00,0x01,0x02]
+v_fma_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0xf7,0x04,0x0e,0x04]
-v_max3_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x6f,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xff,0x0f,0x04]
-v_max3_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x7b,0x00,0x01,0x02]
+v_fma_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0c,0x04]
-v_max3_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x7c,0x00,0x01,0x02]
+v_fma_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xcf,0x0c,0x04]
-v_max3_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x7e,0x00,0x01,0x02]
+v_fma_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd1,0x0c,0x04]
-v_max3_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x7f,0x00,0x01,0x02]
+v_fma_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd3,0x0c,0x04]
-v_max3_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x80,0x00,0x01,0x02]
+v_fma_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd5,0x0c,0x04]
-v_max3_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0xc1,0x00,0x01,0x02]
+v_fma_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd7,0x0c,0x04]
-v_max3_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0xf0,0x00,0x01,0x02]
+v_fma_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd9,0x0c,0x04]
-v_max3_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0xf7,0x00,0x01,0x02]
+v_fma_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xdb,0x0c,0x04]
-v_max3_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x01,0x01,0x02]
+v_fma_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xdd,0x0c,0x04]
-v_max3_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0xff,0x01,0x01,0x02]
+v_fma_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xdf,0x0c,0x04]
-v_max3_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x82,0x01,0x02]
+v_fma_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xf7,0x0c,0x04]
-v_max3_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xe0,0x01,0x02]
+v_fma_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xf9,0x0c,0x04]
-v_max3_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xee,0x01,0x02]
+v_fma_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xfd,0x0c,0x04]
-v_max3_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x04,0x02,0x02]
+v_fma_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xff,0x0c,0x04]
-v_max3_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xfe,0x03,0x02]
+v_fma_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x01,0x0d,0x04]
-v_max3_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x05,0x03]
+v_fma_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x83,0x0d,0x04]
-v_max3_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0xc1,0x03]
+v_fma_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xe1,0x0d,0x04]
-v_max3_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0xdd,0x03]
+v_fma_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xef,0x0d,0x04]
-v_max3_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x0d,0x04]
+v_fma_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xfe,0x07]
-v_max3_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0xfd,0x07]
+v_fma_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0e,0x00]
-v_max3_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x01,0x22]
+v_fma_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x9e,0x01]
-v_max3_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x01,0x42]
+v_fma_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xa2,0x01]
-v_max3_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x01,0x82]
+v_fma_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xa6,0x01]
-v_max3_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x01,0xe2]
+v_fma_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xaa,0x01]
-v_max3_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xa8,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xae,0x01]
-v_max3_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xa8,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xb2,0x01]
-v_max3_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xa8,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xb6,0x01]
-v_max3_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xa8,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xba,0x01]
-v_max3_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0xa8,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xbe,0x01]
-v_max3_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x01,0x0a]
+v_fma_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xee,0x01]
-v_max3_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x01,0x12]
+v_fma_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xf2,0x01]
-v_max3_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x00,0x01,0x1a]
+v_fma_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xfa,0x01]
-v_max3_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xfe,0x01]
-v_max3_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xaa,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x02]
-v_max3_i32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x67,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x06,0x03]
-v_max3_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x68,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xc2,0x03]
-v_max3_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x69,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0xde,0x03]
-v_max3_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x6a,0x00,0x01,0x02]
+v_fma_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0e,0x24]
-v_max3_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x6b,0x00,0x01,0x02]
+v_fma_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0e,0x44]
-v_max3_i32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x6c,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0e,0x84]
-v_max3_i32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x6d,0x00,0x01,0x02]
+v_fma_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0e,0xe4]
-v_max3_i32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x6e,0x00,0x01,0x02]
+v_fma_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0x96,0xd2,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x6f,0x00,0x01,0x02]
+v_fma_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0x96,0xd2,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x7b,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0x96,0xd2,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x7c,0x00,0x01,0x02]
+v_fma_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0x96,0xd2,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x7e,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0x96,0xd2,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x7f,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0e,0x0c]
-v_max3_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x80,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0e,0x14]
-v_max3_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0xc1,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x0e,0x1c]
-v_max3_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0xf0,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0xf7,0x00,0x01,0x02]
+v_fma_f64 v[254:255], v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x00,0x98,0xd2,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x01,0x01,0x02]
+v_fma_f64 v[5:6], v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0xfe,0x05,0x0e,0x04]
-v_max3_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0xff,0x01,0x01,0x02]
+v_fma_f64 v[5:6], s[2:3], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x02,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x82,0x01,0x02]
+v_fma_f64 v[5:6], s[4:5], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x04,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xe0,0x01,0x02]
+v_fma_f64 v[5:6], s[102:103], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x66,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xee,0x01,0x02]
+v_fma_f64 v[5:6], flat_scratch, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x68,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x04,0x02,0x02]
+v_fma_f64 v[5:6], vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x6a,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xfe,0x03,0x02]
+v_fma_f64 v[5:6], tba, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x6c,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x00,0x05,0x03]
+v_fma_f64 v[5:6], tma, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x6e,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x00,0xc1,0x03]
+v_fma_f64 v[5:6], ttmp[10:11], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x7a,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x00,0xdd,0x03]
+v_fma_f64 v[5:6], exec, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x7e,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x00,0x0d,0x04]
+v_fma_f64 v[5:6], 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x00,0xfd,0x07]
+v_fma_f64 v[5:6], -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0xc1,0x04,0x0e,0x04]
-v_max3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0xf0,0x04,0x0e,0x04]
-v_max3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xac,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0xf7,0x04,0x0e,0x04]
-v_max3_u32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x67,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xfd,0x0f,0x04]
-v_max3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x68,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], s[4:5], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x09,0x0c,0x04]
-v_max3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x69,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], s[6:7], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x0d,0x0c,0x04]
-v_max3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x6a,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], s[102:103], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xcd,0x0c,0x04]
-v_max3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x6b,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], flat_scratch, v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xd1,0x0c,0x04]
-v_max3_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x6c,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xd5,0x0c,0x04]
-v_max3_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x6d,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], tba, v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xd9,0x0c,0x04]
-v_max3_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x6e,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], tma, v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xdd,0x0c,0x04]
-v_max3_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x6f,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], ttmp[10:11], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xf5,0x0c,0x04]
-v_max3_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x7b,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], exec, v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xfd,0x0c,0x04]
-v_max3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x7c,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x01,0x0d,0x04]
-v_max3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x7e,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x83,0x0d,0x04]
-v_max3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x7f,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xe1,0x0d,0x04]
-v_max3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x80,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xef,0x0d,0x04]
-v_max3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0xc1,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0xfa,0x07]
-v_max3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0xf0,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], s[6:7]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x1a,0x00]
-v_max3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0xf7,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], s[8:9]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x22,0x00]
-v_max3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x01,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], s[102:103]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x9a,0x01]
-v_max3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0xff,0x01,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], flat_scratch
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0xa2,0x01]
-v_max3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x82,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0xaa,0x01]
-v_max3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xe0,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], tba
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0xb2,0x01]
-v_max3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xee,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], tma
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0xba,0x01]
-v_max3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x04,0x02,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], ttmp[10:11]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0xea,0x01]
-v_max3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xfe,0x03,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], exec
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0xfa,0x01]
-v_max3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x00,0x05,0x03]
+v_fma_f64 v[5:6], v[1:2], v[2:3], 0
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x02,0x02]
-v_max3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x00,0xc1,0x03]
+v_fma_f64 v[5:6], v[1:2], v[2:3], -1
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x06,0x03]
-v_max3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x00,0xdd,0x03]
+v_fma_f64 v[5:6], v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0xc2,0x03]
-v_max3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x00,0x0d,0x04]
+v_fma_f64 v[5:6], v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0xde,0x03]
-v_max3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x00,0xfd,0x07]
+v_fma_f64 v[5:6], -v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x0e,0x24]
-v_med3_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], -v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x0e,0x44]
-v_med3_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xae,0xd2,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x0e,0x84]
-v_med3_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x67,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x0e,0xe4]
-v_med3_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x68,0x00,0x01,0x02]
+v_fma_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4]
+// CHECK: [0x05,0x01,0x98,0xd2,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x69,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4]
+// CHECK: [0x05,0x02,0x98,0xd2,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x6a,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], |v[3:4]|
+// CHECK: [0x05,0x04,0x98,0xd2,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x6b,0x00,0x01,0x02]
+v_fma_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]|
+// CHECK: [0x05,0x07,0x98,0xd2,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x6c,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp
+// CHECK: [0x05,0x08,0x98,0xd2,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x6d,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x0e,0x0c]
-v_med3_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x6e,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x0e,0x14]
-v_med3_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x6f,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x0e,0x1c]
-v_med3_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x7b,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x7c,0x00,0x01,0x02]
+v_lerp_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x9a,0xd2,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x7e,0x00,0x01,0x02]
+v_lerp_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0xff,0x05,0x0e,0x04]
-v_med3_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x7f,0x00,0x01,0x02]
+v_lerp_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x04,0x0e,0x04]
-v_med3_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x80,0x00,0x01,0x02]
+v_lerp_u8 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x67,0x04,0x0e,0x04]
-v_med3_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0xc1,0x00,0x01,0x02]
+v_lerp_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x68,0x04,0x0e,0x04]
-v_med3_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0xf0,0x00,0x01,0x02]
+v_lerp_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x69,0x04,0x0e,0x04]
-v_med3_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0xf7,0x00,0x01,0x02]
+v_lerp_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x6a,0x04,0x0e,0x04]
-v_med3_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x01,0x01,0x02]
+v_lerp_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x6b,0x04,0x0e,0x04]
-v_med3_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0xff,0x01,0x01,0x02]
+v_lerp_u8 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x6c,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x82,0x01,0x02]
+v_lerp_u8 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x6d,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xe0,0x01,0x02]
+v_lerp_u8 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x6e,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xee,0x01,0x02]
+v_lerp_u8 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x6f,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x04,0x02,0x02]
+v_lerp_u8 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x7b,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xfe,0x03,0x02]
+v_lerp_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x7c,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x05,0x03]
+v_lerp_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x7e,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0xc1,0x03]
+v_lerp_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x7f,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0xdd,0x03]
+v_lerp_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x80,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x0d,0x04]
+v_lerp_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0xc1,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0xfd,0x07]
+v_lerp_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xff,0x0f,0x04]
-v_med3_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x01,0x22]
+v_lerp_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x0c,0x04]
-v_med3_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x01,0x42]
+v_lerp_u8 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xcf,0x0c,0x04]
-v_med3_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x01,0x82]
+v_lerp_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xd1,0x0c,0x04]
-v_med3_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x01,0xe2]
+v_lerp_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xd3,0x0c,0x04]
-v_med3_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xae,0xd2,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xd5,0x0c,0x04]
-v_med3_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xae,0xd2,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xd7,0x0c,0x04]
-v_med3_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xae,0xd2,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xd9,0x0c,0x04]
-v_med3_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xae,0xd2,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xdb,0x0c,0x04]
-v_med3_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0xae,0xd2,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xdd,0x0c,0x04]
-v_med3_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x01,0x0a]
+v_lerp_u8 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xdf,0x0c,0x04]
-v_med3_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x01,0x12]
+v_lerp_u8 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xf7,0x0c,0x04]
-v_med3_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x00,0x01,0x1a]
+v_lerp_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xf9,0x0c,0x04]
-v_med3_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xfd,0x0c,0x04]
-v_med3_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xb0,0xd2,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0xff,0x0c,0x04]
-v_med3_i32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x67,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x01,0x0d,0x04]
-v_med3_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x68,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x83,0x0d,0x04]
-v_med3_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x69,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xfe,0x07]
-v_med3_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x6a,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x0e,0x00]
-v_med3_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x6b,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x9e,0x01]
-v_med3_i32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x6c,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xa2,0x01]
-v_med3_i32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x6d,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xa6,0x01]
-v_med3_i32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x6e,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xaa,0x01]
-v_med3_i32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x6f,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xae,0x01]
-v_med3_i32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x7b,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xb2,0x01]
-v_med3_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x7c,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xb6,0x01]
-v_med3_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x7e,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xba,0x01]
-v_med3_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x7f,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xbe,0x01]
-v_med3_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x80,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xee,0x01]
-v_med3_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0xc1,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xf2,0x01]
-v_med3_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0xf0,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xfa,0x01]
-v_med3_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0xf7,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0xfe,0x01]
-v_med3_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x01,0x01,0x02]
+v_lerp_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x02,0x02]
-v_med3_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0xff,0x01,0x01,0x02]
+v_lerp_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x9a,0xd2,0x01,0x05,0x06,0x03]
-v_med3_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x82,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x0e,0x04]
-v_med3_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xe0,0x01,0x02]
+v_alignbit_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x9c,0xd2,0x01,0x05,0x0e,0x04]
-v_med3_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xee,0x01,0x02]
+v_alignbit_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0xff,0x05,0x0e,0x04]
-v_med3_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x04,0x02,0x02]
+v_alignbit_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xfe,0x03,0x02]
+v_alignbit_b32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x67,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x00,0x05,0x03]
+v_alignbit_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x68,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x00,0xc1,0x03]
+v_alignbit_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x69,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x00,0xdd,0x03]
+v_alignbit_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x6a,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x00,0x0d,0x04]
+v_alignbit_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x6b,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x00,0xfd,0x07]
+v_alignbit_b32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x6c,0x04,0x0e,0x04]
-v_med3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x6d,0x04,0x0e,0x04]
-v_med3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xb2,0xd2,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x6e,0x04,0x0e,0x04]
-v_med3_u32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x67,0x00,0x01,0x02]
+v_alignbit_b32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x6f,0x04,0x0e,0x04]
-v_med3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x68,0x00,0x01,0x02]
+v_alignbit_b32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x7b,0x04,0x0e,0x04]
-v_med3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x69,0x00,0x01,0x02]
+v_alignbit_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x7c,0x04,0x0e,0x04]
-v_med3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x6a,0x00,0x01,0x02]
+v_alignbit_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x7e,0x04,0x0e,0x04]
-v_med3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x6b,0x00,0x01,0x02]
+v_alignbit_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x7f,0x04,0x0e,0x04]
-v_med3_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x6c,0x00,0x01,0x02]
+v_alignbit_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x80,0x04,0x0e,0x04]
-v_med3_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x6d,0x00,0x01,0x02]
+v_alignbit_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0xc1,0x04,0x0e,0x04]
-v_med3_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x6e,0x00,0x01,0x02]
+v_alignbit_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0xf0,0x04,0x0e,0x04]
-v_med3_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x6f,0x00,0x01,0x02]
+v_alignbit_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0xf7,0x04,0x0e,0x04]
-v_med3_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x7b,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xff,0x0f,0x04]
-v_med3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x7c,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x0c,0x04]
-v_med3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x7e,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xcf,0x0c,0x04]
-v_med3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x7f,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xd1,0x0c,0x04]
-v_med3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x80,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xd3,0x0c,0x04]
-v_med3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0xc1,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xd5,0x0c,0x04]
-v_med3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0xf0,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xd7,0x0c,0x04]
-v_med3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0xf7,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xd9,0x0c,0x04]
-v_med3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x01,0x01,0x02]
+v_alignbit_b32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xdb,0x0c,0x04]
-v_med3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0xff,0x01,0x01,0x02]
+v_alignbit_b32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xdd,0x0c,0x04]
-v_med3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x82,0x01,0x02]
+v_alignbit_b32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xdf,0x0c,0x04]
-v_med3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xe0,0x01,0x02]
+v_alignbit_b32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xf7,0x0c,0x04]
-v_med3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xee,0x01,0x02]
+v_alignbit_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xf9,0x0c,0x04]
-v_med3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x04,0x02,0x02]
+v_alignbit_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xfd,0x0c,0x04]
-v_med3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xfe,0x03,0x02]
+v_alignbit_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xff,0x0c,0x04]
-v_med3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x00,0x05,0x03]
+v_alignbit_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x01,0x0d,0x04]
-v_med3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x00,0xc1,0x03]
+v_alignbit_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x83,0x0d,0x04]
-v_med3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x00,0xdd,0x03]
+v_alignbit_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xe1,0x0d,0x04]
-v_med3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x00,0x0d,0x04]
+v_alignbit_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xef,0x0d,0x04]
-v_med3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x00,0xfd,0x07]
+v_alignbit_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xfe,0x07]
-v_sad_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x0e,0x00]
-v_sad_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xb4,0xd2,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x9e,0x01]
-v_sad_u8 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x67,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xa2,0x01]
-v_sad_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x68,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xa6,0x01]
-v_sad_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x69,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xaa,0x01]
-v_sad_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x6a,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xae,0x01]
-v_sad_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x6b,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xb2,0x01]
-v_sad_u8 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x6c,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xb6,0x01]
-v_sad_u8 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x6d,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xba,0x01]
-v_sad_u8 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x6e,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xbe,0x01]
-v_sad_u8 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x6f,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xee,0x01]
-v_sad_u8 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x7b,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xf2,0x01]
-v_sad_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x7c,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xfa,0x01]
-v_sad_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x7e,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xfe,0x01]
-v_sad_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x7f,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x02,0x02]
-v_sad_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x80,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x06,0x03]
-v_sad_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0xc1,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xc2,0x03]
-v_sad_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x01,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0xde,0x03]
-v_sad_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0xff,0x01,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x0e,0x04]
-v_sad_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x82,0x01,0x02]
+v_alignbyte_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x9e,0xd2,0x01,0x05,0x0e,0x04]
-v_sad_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x04,0x02,0x02]
+v_alignbyte_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0xff,0x05,0x0e,0x04]
-v_sad_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xfe,0x03,0x02]
+v_alignbyte_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x00,0x05,0x03]
+v_alignbyte_b32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x67,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x00,0xc1,0x03]
+v_alignbyte_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x68,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x00,0xdd,0x03]
+v_alignbyte_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x69,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x00,0x0d,0x04]
+v_alignbyte_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x6a,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x00,0xfd,0x07]
+v_alignbyte_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x6b,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x6c,0x04,0x0e,0x04]
-v_sad_hi_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xb6,0xd2,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x6d,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x67,0x00,0x01,0x02]
+v_alignbyte_b32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x6e,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x68,0x00,0x01,0x02]
+v_alignbyte_b32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x6f,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x69,0x00,0x01,0x02]
+v_alignbyte_b32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x7b,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x6a,0x00,0x01,0x02]
+v_alignbyte_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x7c,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x6b,0x00,0x01,0x02]
+v_alignbyte_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x7e,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x6c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x7f,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x6d,0x00,0x01,0x02]
+v_alignbyte_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x80,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x6e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0xc1,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x6f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0xf0,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x7b,0x00,0x01,0x02]
+v_alignbyte_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0xf7,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x7c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xff,0x0f,0x04]
-v_sad_hi_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x7e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x0c,0x04]
-v_sad_hi_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x7f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xcf,0x0c,0x04]
-v_sad_hi_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x80,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xd1,0x0c,0x04]
-v_sad_hi_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0xc1,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xd3,0x0c,0x04]
-v_sad_hi_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x01,0x01,0x02]
+v_alignbyte_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xd5,0x0c,0x04]
-v_sad_hi_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0xff,0x01,0x01,0x02]
+v_alignbyte_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xd7,0x0c,0x04]
-v_sad_hi_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x82,0x01,0x02]
+v_alignbyte_b32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xd9,0x0c,0x04]
-v_sad_hi_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x04,0x02,0x02]
+v_alignbyte_b32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xdb,0x0c,0x04]
-v_sad_hi_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xfe,0x03,0x02]
+v_alignbyte_b32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xdd,0x0c,0x04]
-v_sad_hi_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x00,0x05,0x03]
+v_alignbyte_b32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xdf,0x0c,0x04]
-v_sad_hi_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x00,0xc1,0x03]
+v_alignbyte_b32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xf7,0x0c,0x04]
-v_sad_hi_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x00,0xdd,0x03]
+v_alignbyte_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xf9,0x0c,0x04]
-v_sad_hi_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x00,0x0d,0x04]
+v_alignbyte_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xfd,0x0c,0x04]
-v_sad_hi_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x00,0xfd,0x07]
+v_alignbyte_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xff,0x0c,0x04]
-v_sad_u16 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x01,0x0d,0x04]
-v_sad_u16 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xb8,0xd2,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x83,0x0d,0x04]
-v_sad_u16 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x67,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xe1,0x0d,0x04]
-v_sad_u16 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x68,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0xef,0x0d,0x04]
-v_sad_u16 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x69,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xfe,0x07]
-v_sad_u16 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x6a,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x0e,0x00]
-v_sad_u16 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x6b,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x9e,0x01]
-v_sad_u16 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x6c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xa2,0x01]
-v_sad_u16 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x6d,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xa6,0x01]
-v_sad_u16 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x6e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xaa,0x01]
-v_sad_u16 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x6f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xae,0x01]
-v_sad_u16 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x7b,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xb2,0x01]
-v_sad_u16 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x7c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xb6,0x01]
-v_sad_u16 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x7e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xba,0x01]
-v_sad_u16 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x7f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xbe,0x01]
-v_sad_u16 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x80,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xee,0x01]
-v_sad_u16 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0xc1,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xf2,0x01]
-v_sad_u16 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x01,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xfa,0x01]
-v_sad_u16 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0xff,0x01,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xfe,0x01]
-v_sad_u16 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x82,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x02,0x02]
-v_sad_u16 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x04,0x02,0x02]
+v_alignbyte_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0x06,0x03]
-v_sad_u16 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xfe,0x03,0x02]
+v_alignbyte_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xc2,0x03]
-v_sad_u16 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x00,0x05,0x03]
+v_alignbyte_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x9e,0xd2,0x01,0x05,0xde,0x03]
-v_sad_u16 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x00,0xc1,0x03]
+v_mullit_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0e,0x04]
-v_sad_u16 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x00,0xdd,0x03]
+v_mullit_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xa0,0xd2,0x01,0x05,0x0e,0x04]
-v_sad_u16 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x00,0x0d,0x04]
+v_mullit_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0xff,0x05,0x0e,0x04]
-v_sad_u16 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x00,0xfd,0x07]
+v_mullit_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x04,0x0e,0x04]
-v_sad_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x00,0x01,0x02]
+v_mullit_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x67,0x04,0x0e,0x04]
-v_sad_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xba,0xd2,0x01,0x00,0x01,0x02]
+v_mullit_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x68,0x04,0x0e,0x04]
-v_sad_u32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x67,0x00,0x01,0x02]
+v_mullit_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x69,0x04,0x0e,0x04]
-v_sad_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x68,0x00,0x01,0x02]
+v_mullit_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x6a,0x04,0x0e,0x04]
-v_sad_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x69,0x00,0x01,0x02]
+v_mullit_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x6b,0x04,0x0e,0x04]
-v_sad_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x6a,0x00,0x01,0x02]
+v_mullit_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x6c,0x04,0x0e,0x04]
-v_sad_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x6b,0x00,0x01,0x02]
+v_mullit_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x6d,0x04,0x0e,0x04]
-v_sad_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x6c,0x00,0x01,0x02]
+v_mullit_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x6e,0x04,0x0e,0x04]
-v_sad_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x6d,0x00,0x01,0x02]
+v_mullit_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x6f,0x04,0x0e,0x04]
-v_sad_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x6e,0x00,0x01,0x02]
+v_mullit_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x7b,0x04,0x0e,0x04]
-v_sad_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x6f,0x00,0x01,0x02]
+v_mullit_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x7c,0x04,0x0e,0x04]
-v_sad_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x7b,0x00,0x01,0x02]
+v_mullit_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x7e,0x04,0x0e,0x04]
-v_sad_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x7c,0x00,0x01,0x02]
+v_mullit_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x7f,0x04,0x0e,0x04]
-v_sad_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x7e,0x00,0x01,0x02]
+v_mullit_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x80,0x04,0x0e,0x04]
-v_sad_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x7f,0x00,0x01,0x02]
+v_mullit_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0xc1,0x04,0x0e,0x04]
-v_sad_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x80,0x00,0x01,0x02]
+v_mullit_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0xf0,0x04,0x0e,0x04]
-v_sad_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0xc1,0x00,0x01,0x02]
+v_mullit_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0xf7,0x04,0x0e,0x04]
-v_sad_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0xf0,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x0f,0x04]
-v_sad_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0xf7,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0c,0x04]
-v_sad_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x01,0x01,0x02]
+v_mullit_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xcf,0x0c,0x04]
-v_sad_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0xff,0x01,0x01,0x02]
+v_mullit_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xd1,0x0c,0x04]
-v_sad_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x82,0x01,0x02]
+v_mullit_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xd3,0x0c,0x04]
-v_sad_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xe0,0x01,0x02]
+v_mullit_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xd5,0x0c,0x04]
-v_sad_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xee,0x01,0x02]
+v_mullit_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xd7,0x0c,0x04]
-v_sad_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x04,0x02,0x02]
+v_mullit_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xd9,0x0c,0x04]
-v_sad_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xfe,0x03,0x02]
+v_mullit_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xdb,0x0c,0x04]
-v_sad_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x00,0x05,0x03]
+v_mullit_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xdd,0x0c,0x04]
-v_sad_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x00,0xc1,0x03]
+v_mullit_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xdf,0x0c,0x04]
-v_sad_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x00,0xdd,0x03]
+v_mullit_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xf7,0x0c,0x04]
-v_sad_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x00,0x0d,0x04]
+v_mullit_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xf9,0x0c,0x04]
-v_sad_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x00,0xfd,0x07]
+v_mullit_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xfd,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x0c,0x04]
-v_cvt_pk_u8_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xbc,0xd2,0x01,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x01,0x0d,0x04]
-v_cvt_pk_u8_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x67,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x83,0x0d,0x04]
-v_cvt_pk_u8_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x68,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xe1,0x0d,0x04]
-v_cvt_pk_u8_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x69,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xef,0x0d,0x04]
-v_cvt_pk_u8_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x6a,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xfe,0x07]
-v_cvt_pk_u8_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x6b,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0e,0x00]
-v_cvt_pk_u8_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x6c,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x9e,0x01]
-v_cvt_pk_u8_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x6d,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xa2,0x01]
-v_cvt_pk_u8_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x6e,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xa6,0x01]
-v_cvt_pk_u8_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x6f,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xaa,0x01]
-v_cvt_pk_u8_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x7b,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xae,0x01]
-v_cvt_pk_u8_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x7c,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xb2,0x01]
-v_cvt_pk_u8_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x7e,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xb6,0x01]
-v_cvt_pk_u8_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x7f,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xba,0x01]
-v_cvt_pk_u8_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x80,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xbe,0x01]
-v_cvt_pk_u8_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0xc1,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xee,0x01]
-v_cvt_pk_u8_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0xf0,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xf2,0x01]
-v_cvt_pk_u8_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0xf7,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xfa,0x01]
-v_cvt_pk_u8_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x01,0x01,0x02]
+v_mullit_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xfe,0x01]
-v_cvt_pk_u8_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0xff,0x01,0x01,0x02]
+v_mullit_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x02]
-v_cvt_pk_u8_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x82,0x01,0x02]
+v_mullit_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x06,0x03]
-v_cvt_pk_u8_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xe0,0x01,0x02]
+v_mullit_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xc2,0x03]
-v_cvt_pk_u8_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xee,0x01,0x02]
+v_mullit_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0xde,0x03]
-v_cvt_pk_u8_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x04,0x02,0x02]
+v_mullit_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0e,0x24]
-v_cvt_pk_u8_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xfe,0x03,0x02]
+v_mullit_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0e,0x44]
-v_cvt_pk_u8_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x00,0x05,0x03]
+v_mullit_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0e,0x84]
-v_cvt_pk_u8_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x00,0xc1,0x03]
+v_mullit_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0e,0xe4]
-v_cvt_pk_u8_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x00,0xdd,0x03]
+v_mullit_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xa0,0xd2,0x01,0x05,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x00,0x0d,0x04]
+v_mullit_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xa0,0xd2,0x01,0x05,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x00,0xfd,0x07]
+v_mullit_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xa0,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x01,0x02]
+v_mullit_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xa0,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xbe,0xd2,0x01,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0xa0,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x67,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0e,0x0c]
-v_div_fixup_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x68,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0e,0x14]
-v_div_fixup_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x69,0x00,0x01,0x02]
+v_mullit_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x0e,0x1c]
-v_div_fixup_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x6a,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x6b,0x00,0x01,0x02]
+v_min3_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xa2,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x6c,0x00,0x01,0x02]
+v_min3_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0xff,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x6d,0x00,0x01,0x02]
+v_min3_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x6e,0x00,0x01,0x02]
+v_min3_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x67,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x6f,0x00,0x01,0x02]
+v_min3_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x68,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x7b,0x00,0x01,0x02]
+v_min3_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x69,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x7c,0x00,0x01,0x02]
+v_min3_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x6a,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x7e,0x00,0x01,0x02]
+v_min3_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x6b,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x7f,0x00,0x01,0x02]
+v_min3_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x6c,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x80,0x00,0x01,0x02]
+v_min3_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x6d,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0xc1,0x00,0x01,0x02]
+v_min3_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x6e,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0xf0,0x00,0x01,0x02]
+v_min3_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x6f,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0xf7,0x00,0x01,0x02]
+v_min3_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x7b,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x01,0x01,0x02]
+v_min3_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x7c,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0xff,0x01,0x01,0x02]
+v_min3_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x7e,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x82,0x01,0x02]
+v_min3_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x7f,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xe0,0x01,0x02]
+v_min3_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x80,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xee,0x01,0x02]
+v_min3_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0xc1,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x04,0x02,0x02]
+v_min3_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0xf0,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xfe,0x03,0x02]
+v_min3_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0xf7,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x05,0x03]
+v_min3_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xff,0x0f,0x04]
-v_div_fixup_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0xc1,0x03]
+v_min3_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0xdd,0x03]
+v_min3_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xcf,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x0d,0x04]
+v_min3_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xd1,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0xfd,0x07]
+v_min3_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xd3,0x0c,0x04]
-v_div_fixup_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x01,0x22]
+v_min3_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xd5,0x0c,0x04]
-v_div_fixup_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x01,0x42]
+v_min3_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xd7,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x01,0x82]
+v_min3_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xd9,0x0c,0x04]
-v_div_fixup_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x01,0xe2]
+v_min3_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xdb,0x0c,0x04]
-v_div_fixup_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xbe,0xd2,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xdd,0x0c,0x04]
-v_div_fixup_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xbe,0xd2,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xdf,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xbe,0xd2,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xf7,0x0c,0x04]
-v_div_fixup_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xbe,0xd2,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xf9,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x08,0xbe,0xd2,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xfd,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x01,0x0a]
+v_min3_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xff,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x01,0x12]
+v_min3_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x01,0x0d,0x04]
-v_div_fixup_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x00,0x01,0x1a]
+v_min3_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x83,0x0d,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x01,0x02]
+v_min3_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xe1,0x0d,0x04]
-v_div_fixup_f64 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xc0,0xd2,0x02,0x00,0x01,0x02]
+v_min3_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0xef,0x0d,0x04]
-v_div_fixup_f64 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x04,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xfe,0x07]
-v_div_fixup_f64 v[5:6], s[102:103], 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x66,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0e,0x00]
-v_div_fixup_f64 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x68,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x9e,0x01]
-v_div_fixup_f64 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x6a,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xa2,0x01]
-v_div_fixup_f64 v[5:6], tba, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x6c,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xa6,0x01]
-v_div_fixup_f64 v[5:6], tma, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x6e,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xaa,0x01]
-v_div_fixup_f64 v[5:6], ttmp[10:11], 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x7a,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xae,0x01]
-v_div_fixup_f64 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x7e,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xb2,0x01]
-v_div_fixup_f64 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x80,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xb6,0x01]
-v_div_fixup_f64 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0xc1,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xba,0x01]
-v_div_fixup_f64 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0xf0,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xbe,0x01]
-v_div_fixup_f64 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0xf7,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xee,0x01]
-v_div_fixup_f64 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x01,0x01,0x02]
+v_min3_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xf2,0x01]
-v_div_fixup_f64 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0xfe,0x01,0x01,0x02]
+v_min3_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xfa,0x01]
-v_div_fixup_f64 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x82,0x01,0x02]
+v_min3_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xfe,0x01]
-v_div_fixup_f64 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0xe0,0x01,0x02]
+v_min3_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x02,0x02]
-v_div_fixup_f64 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0xee,0x01,0x02]
+v_min3_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x06,0x03]
-v_div_fixup_f64 v[5:6], s[2:3], v[2:3], 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x04,0x02,0x02]
+v_min3_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xc2,0x03]
-v_div_fixup_f64 v[5:6], s[2:3], v[254:255], 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0xfc,0x03,0x02]
+v_min3_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0xde,0x03]
-v_div_fixup_f64 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x05,0x03]
+v_min3_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0e,0x24]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0xc1,0x03]
+v_min3_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0e,0x44]
-v_div_fixup_f64 v[5:6], s[2:3], 0, -4.0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0xdd,0x03]
+v_min3_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0e,0x84]
-v_div_fixup_f64 v[5:6], s[2:3], 0, v[3:4]
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x0d,0x04]
+v_min3_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0e,0xe4]
-v_div_fixup_f64 v[5:6], s[2:3], 0, v[254:255]
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0xf9,0x07]
+v_min3_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xa2,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], -s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x01,0x22]
+v_min3_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xa2,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], neg(0), 0
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x01,0x42]
+v_min3_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xa2,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, neg(0)
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x01,0x82]
+v_min3_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xa2,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], -s[2:3], neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x01,0xe2]
+v_min3_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0xa2,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], |s[2:3]|, 0, 0
-// CHECK: [0x05,0x01,0xc0,0xd2,0x02,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0e,0x0c]
-v_div_fixup_f64 v[5:6], s[2:3], |0|, 0
-// CHECK: [0x05,0x02,0xc0,0xd2,0x02,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0e,0x14]
-v_div_fixup_f64 v[5:6], s[2:3], 0, |0|
-// CHECK: [0x05,0x04,0xc0,0xd2,0x02,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xa2,0xd2,0x01,0x05,0x0e,0x1c]
-v_div_fixup_f64 v[5:6], |s[2:3]|, |0|, |0|
-// CHECK: [0x05,0x07,0xc0,0xd2,0x02,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 clamp
-// CHECK: [0x05,0x08,0xc0,0xd2,0x02,0x00,0x01,0x02]
+v_min3_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xa4,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x01,0x0a]
+v_min3_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0xff,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x01,0x12]
+v_min3_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 div:2
-// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x00,0x01,0x1a]
+v_min3_i32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x67,0x04,0x0e,0x04]
-v_lshl_b64 v[5:6], 0, s2
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0x04,0x00,0x00]
+v_min3_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x68,0x04,0x0e,0x04]
-v_lshl_b64 v[254:255], 0, s2
-// CHECK: [0xfe,0x00,0xc2,0xd2,0x80,0x04,0x00,0x00]
+v_min3_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x69,0x04,0x0e,0x04]
-v_lshl_b64 v[5:6], -1, s2
-// CHECK: [0x05,0x00,0xc2,0xd2,0xc1,0x04,0x00,0x00]
+v_min3_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x6a,0x04,0x0e,0x04]
-v_lshl_b64 v[5:6], 0.5, s2
-// CHECK: [0x05,0x00,0xc2,0xd2,0xf0,0x04,0x00,0x00]
+v_min3_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x6b,0x04,0x0e,0x04]
-v_lshl_b64 v[5:6], -4.0, s2
-// CHECK: [0x05,0x00,0xc2,0xd2,0xf7,0x04,0x00,0x00]
+v_min3_i32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x6c,0x04,0x0e,0x04]
-v_lshl_b64 v[5:6], v[1:2], s2
-// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0x05,0x00,0x00]
+v_min3_i32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_min3_i32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_min3_i32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_min3_i32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_min3_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_min3_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_min3_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_min3_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x80,0x04,0x0e,0x04]
+
+v_min3_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_min3_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_min3_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_min3_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xff,0x0f,0x04]
+
+v_min3_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0x0c,0x04]
+
+v_min3_i32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_min3_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_min3_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_min3_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_min3_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_min3_i32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_min3_i32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_min3_i32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_min3_i32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_min3_i32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_min3_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_min3_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_min3_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xff,0x0c,0x04]
+
+v_min3_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x01,0x0d,0x04]
+
+v_min3_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x83,0x0d,0x04]
+
+v_min3_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_min3_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0xef,0x0d,0x04]
+
+v_min3_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xfe,0x07]
+
+v_min3_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0x0e,0x00]
+
+v_min3_i32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0x9e,0x01]
+
+v_min3_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xa2,0x01]
+
+v_min3_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xa6,0x01]
+
+v_min3_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xaa,0x01]
+
+v_min3_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xae,0x01]
+
+v_min3_i32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xb2,0x01]
+
+v_min3_i32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xb6,0x01]
+
+v_min3_i32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xba,0x01]
+
+v_min3_i32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xbe,0x01]
+
+v_min3_i32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xee,0x01]
+
+v_min3_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xf2,0x01]
+
+v_min3_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xfa,0x01]
+
+v_min3_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xfe,0x01]
+
+v_min3_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0x02,0x02]
+
+v_min3_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0x06,0x03]
+
+v_min3_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xc2,0x03]
+
+v_min3_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xa4,0xd2,0x01,0x05,0xde,0x03]
+
+v_min3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0x0e,0x04]
+
+v_min3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xa6,0xd2,0x01,0x05,0x0e,0x04]
+
+v_min3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0xff,0x05,0x0e,0x04]
+
+v_min3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x04,0x0e,0x04]
+
+v_min3_u32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x67,0x04,0x0e,0x04]
+
+v_min3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x68,0x04,0x0e,0x04]
+
+v_min3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x69,0x04,0x0e,0x04]
+
+v_min3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_min3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_min3_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_min3_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_min3_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_min3_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_min3_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_min3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_min3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_min3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_min3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x80,0x04,0x0e,0x04]
+
+v_min3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_min3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_min3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_min3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xff,0x0f,0x04]
+
+v_min3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0x0c,0x04]
+
+v_min3_u32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_min3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_min3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_min3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_min3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_min3_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_min3_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_min3_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_min3_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_min3_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_min3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_min3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_min3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xff,0x0c,0x04]
+
+v_min3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x01,0x0d,0x04]
+
+v_min3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x83,0x0d,0x04]
+
+v_min3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_min3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0xef,0x0d,0x04]
+
+v_min3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xfe,0x07]
+
+v_min3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0x0e,0x00]
+
+v_min3_u32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0x9e,0x01]
+
+v_min3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xa2,0x01]
+
+v_min3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xa6,0x01]
+
+v_min3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xaa,0x01]
+
+v_min3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xae,0x01]
+
+v_min3_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xb2,0x01]
+
+v_min3_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xb6,0x01]
+
+v_min3_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xba,0x01]
+
+v_min3_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xbe,0x01]
+
+v_min3_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xee,0x01]
+
+v_min3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xf2,0x01]
+
+v_min3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xfa,0x01]
+
+v_min3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xfe,0x01]
+
+v_min3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0x02,0x02]
+
+v_min3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0x06,0x03]
+
+v_min3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xc2,0x03]
+
+v_min3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xa6,0xd2,0x01,0x05,0xde,0x03]
+
+v_max3_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xa8,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0xff,0x05,0x0e,0x04]
+
+v_max3_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x04,0x0e,0x04]
+
+v_max3_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x67,0x04,0x0e,0x04]
+
+v_max3_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x68,0x04,0x0e,0x04]
+
+v_max3_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x69,0x04,0x0e,0x04]
+
+v_max3_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_max3_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_max3_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_max3_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_max3_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_max3_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_max3_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_max3_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_max3_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_max3_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_max3_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x80,0x04,0x0e,0x04]
+
+v_max3_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_max3_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_max3_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_max3_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xff,0x0f,0x04]
+
+v_max3_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0c,0x04]
+
+v_max3_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_max3_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_max3_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_max3_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_max3_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_max3_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_max3_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_max3_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_max3_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_max3_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_max3_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_max3_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_max3_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xff,0x0c,0x04]
+
+v_max3_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x01,0x0d,0x04]
+
+v_max3_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x83,0x0d,0x04]
+
+v_max3_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_max3_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0xef,0x0d,0x04]
+
+v_max3_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xfe,0x07]
+
+v_max3_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0e,0x00]
+
+v_max3_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x9e,0x01]
+
+v_max3_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xa2,0x01]
+
+v_max3_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xa6,0x01]
+
+v_max3_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xaa,0x01]
+
+v_max3_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xae,0x01]
+
+v_max3_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xb2,0x01]
+
+v_max3_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xb6,0x01]
+
+v_max3_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xba,0x01]
+
+v_max3_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xbe,0x01]
+
+v_max3_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xee,0x01]
+
+v_max3_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xf2,0x01]
+
+v_max3_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xfa,0x01]
+
+v_max3_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xfe,0x01]
+
+v_max3_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x02,0x02]
+
+v_max3_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x06,0x03]
+
+v_max3_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xc2,0x03]
+
+v_max3_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0xde,0x03]
+
+v_max3_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0e,0x24]
+
+v_max3_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0e,0x44]
+
+v_max3_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0e,0x84]
+
+v_max3_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0e,0xe4]
+
+v_max3_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xa8,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xa8,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xa8,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xa8,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0xa8,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0e,0x0c]
+
+v_max3_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0e,0x14]
+
+v_max3_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xa8,0xd2,0x01,0x05,0x0e,0x1c]
+
+v_max3_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xaa,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0xff,0x05,0x0e,0x04]
+
+v_max3_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x04,0x0e,0x04]
+
+v_max3_i32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x67,0x04,0x0e,0x04]
+
+v_max3_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x68,0x04,0x0e,0x04]
+
+v_max3_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x69,0x04,0x0e,0x04]
+
+v_max3_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_max3_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_max3_i32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_max3_i32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_max3_i32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_max3_i32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_max3_i32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_max3_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_max3_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_max3_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_max3_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x80,0x04,0x0e,0x04]
+
+v_max3_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_max3_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_max3_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_max3_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xff,0x0f,0x04]
+
+v_max3_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0x0c,0x04]
+
+v_max3_i32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_max3_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_max3_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_max3_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_max3_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_max3_i32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_max3_i32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_max3_i32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_max3_i32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_max3_i32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_max3_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_max3_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_max3_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xff,0x0c,0x04]
+
+v_max3_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x01,0x0d,0x04]
+
+v_max3_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x83,0x0d,0x04]
+
+v_max3_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_max3_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0xef,0x0d,0x04]
+
+v_max3_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xfe,0x07]
+
+v_max3_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0x0e,0x00]
+
+v_max3_i32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0x9e,0x01]
+
+v_max3_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xa2,0x01]
+
+v_max3_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xa6,0x01]
+
+v_max3_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xaa,0x01]
+
+v_max3_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xae,0x01]
+
+v_max3_i32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xb2,0x01]
+
+v_max3_i32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xb6,0x01]
+
+v_max3_i32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xba,0x01]
+
+v_max3_i32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xbe,0x01]
+
+v_max3_i32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xee,0x01]
+
+v_max3_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xf2,0x01]
+
+v_max3_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xfa,0x01]
+
+v_max3_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xfe,0x01]
+
+v_max3_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0x02,0x02]
+
+v_max3_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0x06,0x03]
+
+v_max3_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xc2,0x03]
+
+v_max3_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xaa,0xd2,0x01,0x05,0xde,0x03]
+
+v_max3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xac,0xd2,0x01,0x05,0x0e,0x04]
+
+v_max3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0xff,0x05,0x0e,0x04]
+
+v_max3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x04,0x0e,0x04]
+
+v_max3_u32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x67,0x04,0x0e,0x04]
+
+v_max3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x68,0x04,0x0e,0x04]
+
+v_max3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x69,0x04,0x0e,0x04]
+
+v_max3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_max3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_max3_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_max3_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_max3_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_max3_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_max3_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_max3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_max3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_max3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_max3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x80,0x04,0x0e,0x04]
+
+v_max3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_max3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_max3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_max3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xff,0x0f,0x04]
+
+v_max3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0x0c,0x04]
+
+v_max3_u32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_max3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_max3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_max3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_max3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_max3_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_max3_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_max3_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_max3_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_max3_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_max3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_max3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_max3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xff,0x0c,0x04]
+
+v_max3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x01,0x0d,0x04]
+
+v_max3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x83,0x0d,0x04]
+
+v_max3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_max3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0xef,0x0d,0x04]
+
+v_max3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xfe,0x07]
+
+v_max3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0x0e,0x00]
+
+v_max3_u32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0x9e,0x01]
+
+v_max3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xa2,0x01]
+
+v_max3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xa6,0x01]
+
+v_max3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xaa,0x01]
+
+v_max3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xae,0x01]
+
+v_max3_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xb2,0x01]
+
+v_max3_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xb6,0x01]
+
+v_max3_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xba,0x01]
+
+v_max3_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xbe,0x01]
+
+v_max3_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xee,0x01]
+
+v_max3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xf2,0x01]
+
+v_max3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xfa,0x01]
+
+v_max3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xfe,0x01]
+
+v_max3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0x02,0x02]
+
+v_max3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0x06,0x03]
+
+v_max3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xc2,0x03]
+
+v_max3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xac,0xd2,0x01,0x05,0xde,0x03]
+
+v_med3_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xae,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0xff,0x05,0x0e,0x04]
+
+v_med3_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x04,0x0e,0x04]
+
+v_med3_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x67,0x04,0x0e,0x04]
+
+v_med3_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x68,0x04,0x0e,0x04]
+
+v_med3_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x69,0x04,0x0e,0x04]
+
+v_med3_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_med3_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_med3_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_med3_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_med3_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_med3_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_med3_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_med3_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_med3_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_med3_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_med3_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x80,0x04,0x0e,0x04]
+
+v_med3_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_med3_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_med3_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_med3_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xff,0x0f,0x04]
+
+v_med3_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0c,0x04]
+
+v_med3_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_med3_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_med3_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_med3_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_med3_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_med3_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_med3_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xdb,0x0c,0x04]
-v_lshl_b64 v[5:6], v[254:255], s2
-// CHECK: [0x05,0x00,0xc2,0xd2,0xfe,0x05,0x00,0x00]
+v_med3_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xdd,0x0c,0x04]
-v_lshl_b64 v[5:6], 0, s103
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xce,0x00,0x00]
+v_med3_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xdf,0x0c,0x04]
-v_lshl_b64 v[5:6], 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xd0,0x00,0x00]
+v_med3_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xf7,0x0c,0x04]
-v_lshl_b64 v[5:6], 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xd2,0x00,0x00]
+v_med3_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xf9,0x0c,0x04]
-v_lshl_b64 v[5:6], 0, vcc_lo
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xd4,0x00,0x00]
+v_med3_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xfd,0x0c,0x04]
-v_lshl_b64 v[5:6], 0, vcc_hi
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xd6,0x00,0x00]
+v_med3_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xff,0x0c,0x04]
-v_lshl_b64 v[5:6], 0, tba_lo
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xd8,0x00,0x00]
+v_med3_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x01,0x0d,0x04]
-v_lshl_b64 v[5:6], 0, tba_hi
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xda,0x00,0x00]
+v_med3_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x83,0x0d,0x04]
-v_lshl_b64 v[5:6], 0, tma_lo
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xdc,0x00,0x00]
+v_med3_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xe1,0x0d,0x04]
-v_lshl_b64 v[5:6], 0, tma_hi
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xde,0x00,0x00]
+v_med3_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0xef,0x0d,0x04]
-v_lshl_b64 v[5:6], 0, ttmp11
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xf6,0x00,0x00]
+v_med3_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xfe,0x07]
-v_lshl_b64 v[5:6], 0, m0
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xf8,0x00,0x00]
+v_med3_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0e,0x00]
-v_lshl_b64 v[5:6], 0, exec_lo
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xfc,0x00,0x00]
+v_med3_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x9e,0x01]
-v_lshl_b64 v[5:6], 0, exec_hi
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xfe,0x00,0x00]
+v_med3_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xa2,0x01]
-v_lshl_b64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0x00,0x01,0x00]
+v_med3_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xa6,0x01]
-v_lshl_b64 v[5:6], 0, -1
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0x82,0x01,0x00]
+v_med3_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xaa,0x01]
-v_lshl_b64 v[5:6], 0, 0.5
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xe0,0x01,0x00]
+v_med3_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xae,0x01]
-v_lshl_b64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xee,0x01,0x00]
+v_med3_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xb2,0x01]
+
+v_med3_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xb6,0x01]
+
+v_med3_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xba,0x01]
+
+v_med3_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xbe,0x01]
+
+v_med3_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xee,0x01]
+
+v_med3_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xf2,0x01]
+
+v_med3_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xfa,0x01]
+
+v_med3_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xfe,0x01]
+
+v_med3_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x02,0x02]
+
+v_med3_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x06,0x03]
+
+v_med3_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xc2,0x03]
+
+v_med3_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0xde,0x03]
+
+v_med3_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0e,0x24]
+
+v_med3_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0e,0x44]
+
+v_med3_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0e,0x84]
+
+v_med3_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0e,0xe4]
+
+v_med3_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xae,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xae,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xae,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xae,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0xae,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0e,0x0c]
+
+v_med3_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0e,0x14]
+
+v_med3_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xae,0xd2,0x01,0x05,0x0e,0x1c]
+
+v_med3_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xb0,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0xff,0x05,0x0e,0x04]
+
+v_med3_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x04,0x0e,0x04]
+
+v_med3_i32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x67,0x04,0x0e,0x04]
+
+v_med3_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x68,0x04,0x0e,0x04]
+
+v_med3_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x69,0x04,0x0e,0x04]
+
+v_med3_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_med3_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_med3_i32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_med3_i32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_med3_i32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_med3_i32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_med3_i32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_med3_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_med3_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_med3_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_med3_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x80,0x04,0x0e,0x04]
+
+v_med3_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_med3_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_med3_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_med3_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xff,0x0f,0x04]
+
+v_med3_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0x0c,0x04]
+
+v_med3_i32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_med3_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_med3_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_med3_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_med3_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_med3_i32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_med3_i32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_med3_i32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_med3_i32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_med3_i32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_med3_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_med3_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_med3_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xff,0x0c,0x04]
+
+v_med3_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x01,0x0d,0x04]
+
+v_med3_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x83,0x0d,0x04]
+
+v_med3_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_med3_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0xef,0x0d,0x04]
+
+v_med3_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xfe,0x07]
+
+v_med3_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0x0e,0x00]
+
+v_med3_i32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0x9e,0x01]
+
+v_med3_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xa2,0x01]
+
+v_med3_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xa6,0x01]
+
+v_med3_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xaa,0x01]
+
+v_med3_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xae,0x01]
+
+v_med3_i32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xb2,0x01]
+
+v_med3_i32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xb6,0x01]
+
+v_med3_i32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xba,0x01]
+
+v_med3_i32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xbe,0x01]
+
+v_med3_i32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xee,0x01]
+
+v_med3_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xf2,0x01]
+
+v_med3_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xfa,0x01]
+
+v_med3_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xfe,0x01]
+
+v_med3_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0x02,0x02]
+
+v_med3_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0x06,0x03]
+
+v_med3_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xc2,0x03]
+
+v_med3_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xb0,0xd2,0x01,0x05,0xde,0x03]
+
+v_med3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xb2,0xd2,0x01,0x05,0x0e,0x04]
+
+v_med3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0xff,0x05,0x0e,0x04]
+
+v_med3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x04,0x0e,0x04]
+
+v_med3_u32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x67,0x04,0x0e,0x04]
+
+v_med3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x68,0x04,0x0e,0x04]
+
+v_med3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x69,0x04,0x0e,0x04]
+
+v_med3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_med3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_med3_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_med3_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_med3_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_med3_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_med3_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_med3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_med3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_med3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_med3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x80,0x04,0x0e,0x04]
+
+v_med3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_med3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_med3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_med3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xff,0x0f,0x04]
+
+v_med3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0x0c,0x04]
+
+v_med3_u32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_med3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_med3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_med3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_med3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_med3_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_med3_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_med3_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_med3_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_med3_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_med3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_med3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_med3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xff,0x0c,0x04]
+
+v_med3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x01,0x0d,0x04]
+
+v_med3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x83,0x0d,0x04]
+
+v_med3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_med3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0xef,0x0d,0x04]
+
+v_med3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xfe,0x07]
+
+v_med3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0x0e,0x00]
+
+v_med3_u32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0x9e,0x01]
+
+v_med3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xa2,0x01]
+
+v_med3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xa6,0x01]
+
+v_med3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xaa,0x01]
+
+v_med3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xae,0x01]
+
+v_med3_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xb2,0x01]
+
+v_med3_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xb6,0x01]
+
+v_med3_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xba,0x01]
+
+v_med3_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xbe,0x01]
+
+v_med3_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xee,0x01]
+
+v_med3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xf2,0x01]
+
+v_med3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xfa,0x01]
+
+v_med3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xfe,0x01]
+
+v_med3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0x02,0x02]
+
+v_med3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0x06,0x03]
+
+v_med3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xc2,0x03]
+
+v_med3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xb2,0xd2,0x01,0x05,0xde,0x03]
+
+v_sad_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0x0e,0x04]
+
+v_sad_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xb4,0xd2,0x01,0x05,0x0e,0x04]
+
+v_sad_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0xff,0x05,0x0e,0x04]
+
+v_sad_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x04,0x0e,0x04]
+
+v_sad_u8 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x67,0x04,0x0e,0x04]
+
+v_sad_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x68,0x04,0x0e,0x04]
+
+v_sad_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x69,0x04,0x0e,0x04]
+
+v_sad_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_sad_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_sad_u8 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_sad_u8 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_sad_u8 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_sad_u8 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_sad_u8 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_sad_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_sad_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_sad_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_sad_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x80,0x04,0x0e,0x04]
+
+v_sad_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_sad_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xff,0x0f,0x04]
+
+v_sad_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0x0c,0x04]
+
+v_sad_u8 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_sad_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_sad_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_sad_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_sad_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_sad_u8 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_sad_u8 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_sad_u8 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_sad_u8 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_sad_u8 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_sad_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_sad_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_sad_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0xff,0x0c,0x04]
+
+v_sad_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x01,0x0d,0x04]
+
+v_sad_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x83,0x0d,0x04]
+
+v_sad_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xfe,0x07]
+
+v_sad_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0x0e,0x00]
+
+v_sad_u8 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0x9e,0x01]
+
+v_sad_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xa2,0x01]
+
+v_sad_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xa6,0x01]
+
+v_sad_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xaa,0x01]
+
+v_sad_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xae,0x01]
+
+v_sad_u8 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xb2,0x01]
+
+v_sad_u8 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xb6,0x01]
+
+v_sad_u8 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xba,0x01]
+
+v_sad_u8 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xbe,0x01]
+
+v_sad_u8 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xee,0x01]
+
+v_sad_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xf2,0x01]
+
+v_sad_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xfa,0x01]
+
+v_sad_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xfe,0x01]
+
+v_sad_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0x02,0x02]
+
+v_sad_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0x06,0x03]
+
+v_sad_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xc2,0x03]
+
+v_sad_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xb4,0xd2,0x01,0x05,0xde,0x03]
+
+v_sad_hi_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0x0e,0x04]
+
+v_sad_hi_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xb6,0xd2,0x01,0x05,0x0e,0x04]
+
+v_sad_hi_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0xff,0x05,0x0e,0x04]
+
+v_sad_hi_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x67,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x68,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x69,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x80,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xff,0x0f,0x04]
+
+v_sad_hi_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0xff,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x01,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x83,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xfe,0x07]
+
+v_sad_hi_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0x0e,0x00]
+
+v_sad_hi_u8 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0x9e,0x01]
+
+v_sad_hi_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xa2,0x01]
+
+v_sad_hi_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xa6,0x01]
+
+v_sad_hi_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xaa,0x01]
+
+v_sad_hi_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xae,0x01]
+
+v_sad_hi_u8 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xb2,0x01]
+
+v_sad_hi_u8 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xb6,0x01]
+
+v_sad_hi_u8 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xba,0x01]
+
+v_sad_hi_u8 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xbe,0x01]
+
+v_sad_hi_u8 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xee,0x01]
+
+v_sad_hi_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xf2,0x01]
+
+v_sad_hi_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xfa,0x01]
+
+v_sad_hi_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xfe,0x01]
+
+v_sad_hi_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0x02,0x02]
+
+v_sad_hi_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0x06,0x03]
+
+v_sad_hi_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xc2,0x03]
+
+v_sad_hi_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xb6,0xd2,0x01,0x05,0xde,0x03]
+
+v_sad_u16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0x0e,0x04]
+
+v_sad_u16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xb8,0xd2,0x01,0x05,0x0e,0x04]
+
+v_sad_u16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0xff,0x05,0x0e,0x04]
+
+v_sad_u16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x04,0x0e,0x04]
+
+v_sad_u16 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x67,0x04,0x0e,0x04]
+
+v_sad_u16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x68,0x04,0x0e,0x04]
+
+v_sad_u16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x69,0x04,0x0e,0x04]
+
+v_sad_u16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_sad_u16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_sad_u16 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_sad_u16 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_sad_u16 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_sad_u16 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_sad_u16 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_sad_u16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_sad_u16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_sad_u16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_sad_u16 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x80,0x04,0x0e,0x04]
+
+v_sad_u16 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_sad_u16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xff,0x0f,0x04]
+
+v_sad_u16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0x0c,0x04]
+
+v_sad_u16 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_sad_u16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_sad_u16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_sad_u16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_sad_u16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_sad_u16 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_sad_u16 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_sad_u16 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_sad_u16 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_sad_u16 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_sad_u16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_sad_u16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_sad_u16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0xff,0x0c,0x04]
+
+v_sad_u16 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x01,0x0d,0x04]
+
+v_sad_u16 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x83,0x0d,0x04]
+
+v_sad_u16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xfe,0x07]
+
+v_sad_u16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0x0e,0x00]
+
+v_sad_u16 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0x9e,0x01]
+
+v_sad_u16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xa2,0x01]
+
+v_sad_u16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xa6,0x01]
+
+v_sad_u16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xaa,0x01]
+
+v_sad_u16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xae,0x01]
+
+v_sad_u16 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xb2,0x01]
+
+v_sad_u16 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xb6,0x01]
+
+v_sad_u16 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xba,0x01]
+
+v_sad_u16 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xbe,0x01]
+
+v_sad_u16 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xee,0x01]
+
+v_sad_u16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xf2,0x01]
+
+v_sad_u16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xfa,0x01]
+
+v_sad_u16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xfe,0x01]
+
+v_sad_u16 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0x02,0x02]
+
+v_sad_u16 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0x06,0x03]
+
+v_sad_u16 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xc2,0x03]
+
+v_sad_u16 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xb8,0xd2,0x01,0x05,0xde,0x03]
+
+v_sad_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0x0e,0x04]
+
+v_sad_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xba,0xd2,0x01,0x05,0x0e,0x04]
+
+v_sad_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0xff,0x05,0x0e,0x04]
+
+v_sad_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x04,0x0e,0x04]
+
+v_sad_u32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x67,0x04,0x0e,0x04]
+
+v_sad_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x68,0x04,0x0e,0x04]
+
+v_sad_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x69,0x04,0x0e,0x04]
+
+v_sad_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_sad_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_sad_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_sad_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_sad_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_sad_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_sad_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_sad_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_sad_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_sad_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_sad_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x80,0x04,0x0e,0x04]
+
+v_sad_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_sad_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_sad_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_sad_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xff,0x0f,0x04]
+
+v_sad_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0x0c,0x04]
+
+v_sad_u32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_sad_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_sad_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_sad_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_sad_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_sad_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_sad_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_sad_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_sad_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_sad_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_sad_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_sad_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_sad_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xff,0x0c,0x04]
+
+v_sad_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x01,0x0d,0x04]
+
+v_sad_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x83,0x0d,0x04]
+
+v_sad_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_sad_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0xef,0x0d,0x04]
+
+v_sad_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xfe,0x07]
+
+v_sad_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0x0e,0x00]
+
+v_sad_u32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0x9e,0x01]
+
+v_sad_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xa2,0x01]
+
+v_sad_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xa6,0x01]
+
+v_sad_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xaa,0x01]
+
+v_sad_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xae,0x01]
+
+v_sad_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xb2,0x01]
+
+v_sad_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xb6,0x01]
+
+v_sad_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xba,0x01]
+
+v_sad_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xbe,0x01]
+
+v_sad_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xee,0x01]
+
+v_sad_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xf2,0x01]
+
+v_sad_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xfa,0x01]
+
+v_sad_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xfe,0x01]
+
+v_sad_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0x02,0x02]
+
+v_sad_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0x06,0x03]
+
+v_sad_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xc2,0x03]
+
+v_sad_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xba,0xd2,0x01,0x05,0xde,0x03]
+
+v_cvt_pk_u8_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xbc,0xd2,0x01,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0xff,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x67,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x68,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x69,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x80,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xff,0x0f,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xff,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x01,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x83,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0xef,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xfe,0x07]
+
+v_cvt_pk_u8_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0x0e,0x00]
+
+v_cvt_pk_u8_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0x9e,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xa2,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xa6,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xaa,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xae,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xb2,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xb6,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xba,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xbe,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xee,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xf2,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xfa,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xfe,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0x02,0x02]
+
+v_cvt_pk_u8_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0x06,0x03]
+
+v_cvt_pk_u8_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xc2,0x03]
+
+v_cvt_pk_u8_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xbc,0xd2,0x01,0x05,0xde,0x03]
+
+v_div_fixup_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xbe,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0xff,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x67,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x68,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x69,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x80,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xff,0x0f,0x04]
+
+v_div_fixup_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xff,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x01,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x83,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0xef,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xfe,0x07]
+
+v_div_fixup_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0e,0x00]
+
+v_div_fixup_f32 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x9e,0x01]
+
+v_div_fixup_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xa2,0x01]
+
+v_div_fixup_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xa6,0x01]
+
+v_div_fixup_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xaa,0x01]
+
+v_div_fixup_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xae,0x01]
+
+v_div_fixup_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xb2,0x01]
+
+v_div_fixup_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xb6,0x01]
+
+v_div_fixup_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xba,0x01]
+
+v_div_fixup_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xbe,0x01]
+
+v_div_fixup_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xee,0x01]
+
+v_div_fixup_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xf2,0x01]
+
+v_div_fixup_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xfa,0x01]
+
+v_div_fixup_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xfe,0x01]
+
+v_div_fixup_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x02,0x02]
+
+v_div_fixup_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x06,0x03]
+
+v_div_fixup_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xc2,0x03]
+
+v_div_fixup_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0xde,0x03]
+
+v_div_fixup_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0e,0x24]
+
+v_div_fixup_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0e,0x44]
+
+v_div_fixup_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0e,0x84]
+
+v_div_fixup_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0e,0xe4]
+
+v_div_fixup_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xbe,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xbe,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xbe,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xbe,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0xbe,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0e,0x0c]
+
+v_div_fixup_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0e,0x14]
+
+v_div_fixup_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xbe,0xd2,0x01,0x05,0x0e,0x1c]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[254:255], v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x00,0xc0,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0xfe,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], s[2:3], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x02,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], s[4:5], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x04,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], s[102:103], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x66,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], flat_scratch, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x68,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], tba, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], tma, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], ttmp[10:11], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x7a,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], exec, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x80,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xfd,0x0f,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], s[4:5], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x09,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], s[6:7], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x0d,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], s[102:103], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xcd,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], flat_scratch, v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], tba, v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], tma, v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], ttmp[10:11], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xf5,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], exec, v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x01,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x83,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0xef,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0xfa,0x07]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[6:7]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x1a,0x00]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[8:9]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x22,0x00]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[102:103]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x9a,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], flat_scratch
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0xa2,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0xaa,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], tba
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0xb2,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], tma
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0xba,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], ttmp[10:11]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0xea,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], exec
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0xfa,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x02,0x02]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -1
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x06,0x03]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0xc2,0x03]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0xde,0x03]
+
+v_div_fixup_f64 v[5:6], -v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x0e,0x24]
+
+v_div_fixup_f64 v[5:6], v[1:2], -v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x0e,0x44]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x0e,0x84]
+
+v_div_fixup_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x0e,0xe4]
+
+v_div_fixup_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4]
+// CHECK: [0x05,0x01,0xc0,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4]
+// CHECK: [0x05,0x02,0xc0,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], |v[3:4]|
+// CHECK: [0x05,0x04,0xc0,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]|
+// CHECK: [0x05,0x07,0xc0,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp
+// CHECK: [0x05,0x08,0xc0,0xd2,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x0e,0x0c]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x0e,0x14]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2
+// CHECK: [0x05,0x00,0xc0,0xd2,0x01,0x05,0x0e,0x1c]
+
+v_lshl_b64 v[5:6], v[1:2], v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshl_b64 v[254:255], v[1:2], v2
+// CHECK: [0xfe,0x00,0xc2,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshl_b64 v[5:6], v[254:255], v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0xfe,0x05,0x02,0x00]
+
+v_lshl_b64 v[5:6], s[2:3], v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x02,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], s[4:5], v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x04,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], s[102:103], v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x66,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], flat_scratch, v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x68,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], vcc, v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x6a,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], tba, v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x6c,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], tma, v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x6e,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], ttmp[10:11], v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x7a,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], exec, v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x7e,0x04,0x02,0x00]
v_lshl_b64 v[5:6], 0, v2
// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0x04,0x02,0x00]
-v_lshl_b64 v[5:6], 0, v255
-// CHECK: [0x05,0x00,0xc2,0xd2,0x80,0xfe,0x03,0x00]
+v_lshl_b64 v[5:6], -1, v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0xc1,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], 0.5, v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0xf0,0x04,0x02,0x00]
+
+v_lshl_b64 v[5:6], -4.0, v2
+// CHECK: [0x05,0x00,0xc2,0xd2,0xf7,0x04,0x02,0x00]
-v_lshr_b64 v[5:6], 0, s2
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0x04,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], v255
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xff,0x03,0x00]
-v_lshr_b64 v[254:255], 0, s2
-// CHECK: [0xfe,0x00,0xc4,0xd2,0x80,0x04,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], s2
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0x05,0x00,0x00]
-v_lshr_b64 v[5:6], -1, s2
-// CHECK: [0x05,0x00,0xc4,0xd2,0xc1,0x04,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], s103
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xcf,0x00,0x00]
-v_lshr_b64 v[5:6], 0.5, s2
-// CHECK: [0x05,0x00,0xc4,0xd2,0xf0,0x04,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], flat_scratch_lo
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xd1,0x00,0x00]
-v_lshr_b64 v[5:6], -4.0, s2
-// CHECK: [0x05,0x00,0xc4,0xd2,0xf7,0x04,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], flat_scratch_hi
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xd3,0x00,0x00]
-v_lshr_b64 v[5:6], v[1:2], s2
-// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0x05,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], vcc_lo
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xd5,0x00,0x00]
+
+v_lshl_b64 v[5:6], v[1:2], vcc_hi
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xd7,0x00,0x00]
-v_lshr_b64 v[5:6], v[254:255], s2
-// CHECK: [0x05,0x00,0xc4,0xd2,0xfe,0x05,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], tba_lo
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xd9,0x00,0x00]
-v_lshr_b64 v[5:6], 0, s103
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xce,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], tba_hi
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xdb,0x00,0x00]
-v_lshr_b64 v[5:6], 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xd0,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], tma_lo
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xdd,0x00,0x00]
-v_lshr_b64 v[5:6], 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xd2,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], tma_hi
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xdf,0x00,0x00]
-v_lshr_b64 v[5:6], 0, vcc_lo
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xd4,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], ttmp11
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xf7,0x00,0x00]
-v_lshr_b64 v[5:6], 0, vcc_hi
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xd6,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], m0
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xf9,0x00,0x00]
-v_lshr_b64 v[5:6], 0, tba_lo
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xd8,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], exec_lo
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xfd,0x00,0x00]
-v_lshr_b64 v[5:6], 0, tba_hi
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xda,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], exec_hi
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xff,0x00,0x00]
-v_lshr_b64 v[5:6], 0, tma_lo
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xdc,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0x01,0x01,0x00]
-v_lshr_b64 v[5:6], 0, tma_hi
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xde,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0x83,0x01,0x00]
-v_lshr_b64 v[5:6], 0, ttmp11
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xf6,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xe1,0x01,0x00]
-v_lshr_b64 v[5:6], 0, m0
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xf8,0x00,0x00]
+v_lshl_b64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0xc2,0xd2,0x01,0xef,0x01,0x00]
-v_lshr_b64 v[5:6], 0, exec_lo
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xfc,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0x05,0x02,0x00]
-v_lshr_b64 v[5:6], 0, exec_hi
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xfe,0x00,0x00]
+v_lshr_b64 v[254:255], v[1:2], v2
+// CHECK: [0xfe,0x00,0xc4,0xd2,0x01,0x05,0x02,0x00]
-v_lshr_b64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0x00,0x01,0x00]
+v_lshr_b64 v[5:6], v[254:255], v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0xfe,0x05,0x02,0x00]
-v_lshr_b64 v[5:6], 0, -1
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0x82,0x01,0x00]
+v_lshr_b64 v[5:6], s[2:3], v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x02,0x04,0x02,0x00]
-v_lshr_b64 v[5:6], 0, 0.5
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xe0,0x01,0x00]
+v_lshr_b64 v[5:6], s[4:5], v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x04,0x04,0x02,0x00]
-v_lshr_b64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xee,0x01,0x00]
+v_lshr_b64 v[5:6], s[102:103], v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x66,0x04,0x02,0x00]
+
+v_lshr_b64 v[5:6], flat_scratch, v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x68,0x04,0x02,0x00]
+
+v_lshr_b64 v[5:6], vcc, v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x6a,0x04,0x02,0x00]
+
+v_lshr_b64 v[5:6], tba, v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x6c,0x04,0x02,0x00]
+
+v_lshr_b64 v[5:6], tma, v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x6e,0x04,0x02,0x00]
+
+v_lshr_b64 v[5:6], ttmp[10:11], v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x7a,0x04,0x02,0x00]
+
+v_lshr_b64 v[5:6], exec, v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x7e,0x04,0x02,0x00]
v_lshr_b64 v[5:6], 0, v2
// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0x04,0x02,0x00]
-v_lshr_b64 v[5:6], 0, v255
-// CHECK: [0x05,0x00,0xc4,0xd2,0x80,0xfe,0x03,0x00]
+v_lshr_b64 v[5:6], -1, v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0xc1,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], 0, s2
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0x04,0x00,0x00]
+v_lshr_b64 v[5:6], 0.5, v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0xf0,0x04,0x02,0x00]
-v_ashr_i64 v[254:255], 0, s2
-// CHECK: [0xfe,0x00,0xc6,0xd2,0x80,0x04,0x00,0x00]
+v_lshr_b64 v[5:6], -4.0, v2
+// CHECK: [0x05,0x00,0xc4,0xd2,0xf7,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], -1, s2
-// CHECK: [0x05,0x00,0xc6,0xd2,0xc1,0x04,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], v255
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xff,0x03,0x00]
-v_ashr_i64 v[5:6], 0.5, s2
-// CHECK: [0x05,0x00,0xc6,0xd2,0xf0,0x04,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], s2
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0x05,0x00,0x00]
-v_ashr_i64 v[5:6], -4.0, s2
-// CHECK: [0x05,0x00,0xc6,0xd2,0xf7,0x04,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], s103
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xcf,0x00,0x00]
-v_ashr_i64 v[5:6], v[1:2], s2
-// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0x05,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], flat_scratch_lo
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xd1,0x00,0x00]
+
+v_lshr_b64 v[5:6], v[1:2], flat_scratch_hi
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xd3,0x00,0x00]
+
+v_lshr_b64 v[5:6], v[1:2], vcc_lo
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xd5,0x00,0x00]
+
+v_lshr_b64 v[5:6], v[1:2], vcc_hi
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xd7,0x00,0x00]
+
+v_lshr_b64 v[5:6], v[1:2], tba_lo
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xd9,0x00,0x00]
+
+v_lshr_b64 v[5:6], v[1:2], tba_hi
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xdb,0x00,0x00]
+
+v_lshr_b64 v[5:6], v[1:2], tma_lo
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xdd,0x00,0x00]
+
+v_lshr_b64 v[5:6], v[1:2], tma_hi
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xdf,0x00,0x00]
+
+v_lshr_b64 v[5:6], v[1:2], ttmp11
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xf7,0x00,0x00]
-v_ashr_i64 v[5:6], v[254:255], s2
-// CHECK: [0x05,0x00,0xc6,0xd2,0xfe,0x05,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], m0
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xf9,0x00,0x00]
-v_ashr_i64 v[5:6], 0, s103
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xce,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], exec_lo
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xfd,0x00,0x00]
-v_ashr_i64 v[5:6], 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xd0,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], exec_hi
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xff,0x00,0x00]
-v_ashr_i64 v[5:6], 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xd2,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0x01,0x01,0x00]
-v_ashr_i64 v[5:6], 0, vcc_lo
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xd4,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0x83,0x01,0x00]
-v_ashr_i64 v[5:6], 0, vcc_hi
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xd6,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xe1,0x01,0x00]
-v_ashr_i64 v[5:6], 0, tba_lo
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xd8,0x00,0x00]
+v_lshr_b64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0xc4,0xd2,0x01,0xef,0x01,0x00]
-v_ashr_i64 v[5:6], 0, tba_hi
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xda,0x00,0x00]
+v_ashr_i64 v[5:6], v[1:2], v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0x05,0x02,0x00]
-v_ashr_i64 v[5:6], 0, tma_lo
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xdc,0x00,0x00]
+v_ashr_i64 v[254:255], v[1:2], v2
+// CHECK: [0xfe,0x00,0xc6,0xd2,0x01,0x05,0x02,0x00]
-v_ashr_i64 v[5:6], 0, tma_hi
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xde,0x00,0x00]
+v_ashr_i64 v[5:6], v[254:255], v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0xfe,0x05,0x02,0x00]
-v_ashr_i64 v[5:6], 0, ttmp11
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xf6,0x00,0x00]
+v_ashr_i64 v[5:6], s[2:3], v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x02,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], 0, m0
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xf8,0x00,0x00]
+v_ashr_i64 v[5:6], s[4:5], v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x04,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], 0, exec_lo
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xfc,0x00,0x00]
+v_ashr_i64 v[5:6], s[102:103], v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x66,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], 0, exec_hi
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xfe,0x00,0x00]
+v_ashr_i64 v[5:6], flat_scratch, v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x68,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0x00,0x01,0x00]
+v_ashr_i64 v[5:6], vcc, v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x6a,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], 0, -1
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0x82,0x01,0x00]
+v_ashr_i64 v[5:6], tba, v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x6c,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], 0, 0.5
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xe0,0x01,0x00]
+v_ashr_i64 v[5:6], tma, v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x6e,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xee,0x01,0x00]
+v_ashr_i64 v[5:6], ttmp[10:11], v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x7a,0x04,0x02,0x00]
+
+v_ashr_i64 v[5:6], exec, v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x7e,0x04,0x02,0x00]
v_ashr_i64 v[5:6], 0, v2
// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0x04,0x02,0x00]
-v_ashr_i64 v[5:6], 0, v255
-// CHECK: [0x05,0x00,0xc6,0xd2,0x80,0xfe,0x03,0x00]
+v_ashr_i64 v[5:6], -1, v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0xc1,0x04,0x02,0x00]
-v_add_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x08,0x00,0x00]
+v_ashr_i64 v[5:6], 0.5, v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0xf0,0x04,0x02,0x00]
-v_add_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0xc8,0xd2,0x04,0x08,0x00,0x00]
+v_ashr_i64 v[5:6], -4.0, v2
+// CHECK: [0x05,0x00,0xc6,0xd2,0xf7,0x04,0x02,0x00]
-v_add_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0x80,0x08,0x00,0x00]
+v_ashr_i64 v[5:6], v[1:2], v255
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xff,0x03,0x00]
-v_add_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0xc1,0x08,0x00,0x00]
+v_ashr_i64 v[5:6], v[1:2], s2
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0x05,0x00,0x00]
-v_add_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0xf0,0x08,0x00,0x00]
+v_ashr_i64 v[5:6], v[1:2], s103
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xcf,0x00,0x00]
-v_add_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0xf7,0x08,0x00,0x00]
+v_ashr_i64 v[5:6], v[1:2], flat_scratch_lo
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xd1,0x00,0x00]
-v_add_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x09,0x00,0x00]
+v_ashr_i64 v[5:6], v[1:2], flat_scratch_hi
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xd3,0x00,0x00]
+
+v_ashr_i64 v[5:6], v[1:2], vcc_lo
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xd5,0x00,0x00]
+
+v_ashr_i64 v[5:6], v[1:2], vcc_hi
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xd7,0x00,0x00]
+
+v_ashr_i64 v[5:6], v[1:2], tba_lo
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xd9,0x00,0x00]
+
+v_ashr_i64 v[5:6], v[1:2], tba_hi
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xdb,0x00,0x00]
-v_add_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0xfe,0x09,0x00,0x00]
+v_ashr_i64 v[5:6], v[1:2], tma_lo
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xdd,0x00,0x00]
-v_add_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x00,0x01,0x00]
+v_ashr_i64 v[5:6], v[1:2], tma_hi
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xdf,0x00,0x00]
-v_add_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x82,0x01,0x00]
+v_ashr_i64 v[5:6], v[1:2], ttmp11
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xf7,0x00,0x00]
-v_add_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0xe0,0x01,0x00]
+v_ashr_i64 v[5:6], v[1:2], m0
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xf9,0x00,0x00]
-v_add_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0xee,0x01,0x00]
+v_ashr_i64 v[5:6], v[1:2], exec_lo
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xfd,0x00,0x00]
+
+v_ashr_i64 v[5:6], v[1:2], exec_hi
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xff,0x00,0x00]
+
+v_ashr_i64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0x01,0x01,0x00]
+
+v_ashr_i64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0x83,0x01,0x00]
+
+v_ashr_i64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xe1,0x01,0x00]
+
+v_ashr_i64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0xc6,0xd2,0x01,0xef,0x01,0x00]
+
+v_add_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0xc8,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0xfe,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x02,0x04,0x02,0x00]
v_add_f64 v[5:6], s[4:5], v[2:3]
// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x04,0x02,0x00]
-v_add_f64 v[5:6], s[4:5], v[254:255]
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0xfc,0x03,0x00]
+v_add_f64 v[5:6], s[102:103], v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x66,0x04,0x02,0x00]
-v_add_f64 v[5:6], -s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x08,0x00,0x20]
+v_add_f64 v[5:6], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x68,0x04,0x02,0x00]
-v_add_f64 v[5:6], s[4:5], -s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x08,0x00,0x40]
+v_add_f64 v[5:6], vcc, v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x6a,0x04,0x02,0x00]
-v_add_f64 v[5:6], -s[4:5], -s[4:5]
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x08,0x00,0x60]
+v_add_f64 v[5:6], tba, v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x6c,0x04,0x02,0x00]
-v_add_f64 v[5:6], |s[4:5]|, s[4:5]
-// CHECK: [0x05,0x01,0xc8,0xd2,0x04,0x08,0x00,0x00]
+v_add_f64 v[5:6], tma, v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x6e,0x04,0x02,0x00]
-v_add_f64 v[5:6], s[4:5], |s[4:5]|
-// CHECK: [0x05,0x02,0xc8,0xd2,0x04,0x08,0x00,0x00]
+v_add_f64 v[5:6], ttmp[10:11], v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x7a,0x04,0x02,0x00]
-v_add_f64 v[5:6], |s[4:5]|, |s[4:5]|
-// CHECK: [0x05,0x03,0xc8,0xd2,0x04,0x08,0x00,0x00]
+v_add_f64 v[5:6], exec, v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x7e,0x04,0x02,0x00]
-v_add_f64 v[5:6], s[4:5], s[4:5] clamp
-// CHECK: [0x05,0x08,0xc8,0xd2,0x04,0x08,0x00,0x00]
+v_add_f64 v[5:6], 0, v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x80,0x04,0x02,0x00]
-v_add_f64 v[5:6], s[4:5], s[4:5] mul:2
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x08,0x00,0x08]
+v_add_f64 v[5:6], -1, v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0xc1,0x04,0x02,0x00]
-v_add_f64 v[5:6], s[4:5], s[4:5] mul:4
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x08,0x00,0x10]
+v_add_f64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0xf0,0x04,0x02,0x00]
-v_add_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0xc8,0xd2,0x04,0x08,0x00,0x18]
+v_add_f64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xfd,0x03,0x00]
-v_mul_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0xca,0xd2,0x04,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x09,0x00,0x00]
-v_mul_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0x80,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x0d,0x00,0x00]
-v_mul_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0xc1,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], s[102:103]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xcd,0x00,0x00]
-v_mul_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0xf0,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xd1,0x00,0x00]
-v_mul_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0xf7,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x09,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], tba
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xd9,0x00,0x00]
+
+v_add_f64 v[5:6], v[1:2], tma
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xdd,0x00,0x00]
+
+v_add_f64 v[5:6], v[1:2], ttmp[10:11]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xf5,0x00,0x00]
+
+v_add_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xfd,0x00,0x00]
+
+v_add_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x01,0x01,0x00]
+
+v_add_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x83,0x01,0x00]
+
+v_add_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0xfe,0x09,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0xef,0x01,0x00]
-v_mul_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x00,0x01,0x00]
+v_add_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x05,0x02,0x20]
-v_mul_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x82,0x01,0x00]
+v_add_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x05,0x02,0x40]
-v_mul_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0xe0,0x01,0x00]
+v_add_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x05,0x02,0x60]
-v_mul_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0xee,0x01,0x00]
+v_add_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0xc8,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0xc8,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0xc8,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x08,0xc8,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x05,0x02,0x08]
+
+v_add_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x05,0x02,0x10]
+
+v_add_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0xc8,0xd2,0x01,0x05,0x02,0x18]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0xca,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0xfe,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x02,0x04,0x02,0x00]
v_mul_f64 v[5:6], s[4:5], v[2:3]
// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], v[254:255]
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0xfc,0x03,0x00]
+v_mul_f64 v[5:6], s[102:103], v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x66,0x04,0x02,0x00]
-v_mul_f64 v[5:6], -s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x08,0x00,0x20]
+v_mul_f64 v[5:6], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x68,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], -s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x08,0x00,0x40]
+v_mul_f64 v[5:6], vcc, v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x6a,0x04,0x02,0x00]
-v_mul_f64 v[5:6], -s[4:5], -s[4:5]
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x08,0x00,0x60]
+v_mul_f64 v[5:6], tba, v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_f64 v[5:6], |s[4:5]|, s[4:5]
-// CHECK: [0x05,0x01,0xca,0xd2,0x04,0x08,0x00,0x00]
+v_mul_f64 v[5:6], tma, v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x6e,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], |s[4:5]|
-// CHECK: [0x05,0x02,0xca,0xd2,0x04,0x08,0x00,0x00]
+v_mul_f64 v[5:6], ttmp[10:11], v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x7a,0x04,0x02,0x00]
-v_mul_f64 v[5:6], |s[4:5]|, |s[4:5]|
-// CHECK: [0x05,0x03,0xca,0xd2,0x04,0x08,0x00,0x00]
+v_mul_f64 v[5:6], exec, v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x7e,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], s[4:5] clamp
-// CHECK: [0x05,0x08,0xca,0xd2,0x04,0x08,0x00,0x00]
+v_mul_f64 v[5:6], 0, v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x80,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], s[4:5] mul:2
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x08,0x00,0x08]
+v_mul_f64 v[5:6], -1, v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0xc1,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], s[4:5] mul:4
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x08,0x00,0x10]
+v_mul_f64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0xf0,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0xca,0xd2,0x04,0x08,0x00,0x18]
+v_mul_f64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0xf7,0x04,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xfd,0x03,0x00]
-v_min_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0xcc,0xd2,0x04,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x09,0x00,0x00]
-v_min_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0x80,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x0d,0x00,0x00]
-v_min_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0xc1,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], s[102:103]
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xcd,0x00,0x00]
-v_min_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0xf0,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xd1,0x00,0x00]
-v_min_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0xf7,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xd5,0x00,0x00]
-v_min_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x09,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], tba
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xd9,0x00,0x00]
+
+v_mul_f64 v[5:6], v[1:2], tma
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xdd,0x00,0x00]
+
+v_mul_f64 v[5:6], v[1:2], ttmp[10:11]
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xf5,0x00,0x00]
+
+v_mul_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xfd,0x00,0x00]
+
+v_mul_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x01,0x01,0x00]
+
+v_mul_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x83,0x01,0x00]
-v_min_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0xfe,0x09,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xe1,0x01,0x00]
-v_min_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x00,0x01,0x00]
+v_mul_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0xef,0x01,0x00]
-v_min_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x82,0x01,0x00]
+v_mul_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x05,0x02,0x20]
-v_min_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0xe0,0x01,0x00]
+v_mul_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x05,0x02,0x40]
-v_min_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0xee,0x01,0x00]
+v_mul_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x05,0x02,0x60]
+
+v_mul_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0xca,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0xca,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0xca,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x08,0xca,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x05,0x02,0x08]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x05,0x02,0x10]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0xca,0xd2,0x01,0x05,0x02,0x18]
+
+v_min_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0xcc,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0xfe,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x02,0x04,0x02,0x00]
v_min_f64 v[5:6], s[4:5], v[2:3]
// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x04,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], v[254:255]
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0xfc,0x03,0x00]
+v_min_f64 v[5:6], s[102:103], v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x66,0x04,0x02,0x00]
-v_min_f64 v[5:6], -s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x08,0x00,0x20]
+v_min_f64 v[5:6], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x68,0x04,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], -s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x08,0x00,0x40]
+v_min_f64 v[5:6], vcc, v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x6a,0x04,0x02,0x00]
-v_min_f64 v[5:6], -s[4:5], -s[4:5]
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x08,0x00,0x60]
+v_min_f64 v[5:6], tba, v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x6c,0x04,0x02,0x00]
-v_min_f64 v[5:6], |s[4:5]|, s[4:5]
-// CHECK: [0x05,0x01,0xcc,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], tma, v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x6e,0x04,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], |s[4:5]|
-// CHECK: [0x05,0x02,0xcc,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], ttmp[10:11], v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x7a,0x04,0x02,0x00]
-v_min_f64 v[5:6], |s[4:5]|, |s[4:5]|
-// CHECK: [0x05,0x03,0xcc,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], exec, v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x7e,0x04,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], s[4:5] clamp
-// CHECK: [0x05,0x08,0xcc,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], 0, v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x80,0x04,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], s[4:5] mul:2
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x08,0x00,0x08]
+v_min_f64 v[5:6], -1, v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0xc1,0x04,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], s[4:5] mul:4
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x08,0x00,0x10]
+v_min_f64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0xf0,0x04,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0xcc,0xd2,0x04,0x08,0x00,0x18]
+v_min_f64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0xf7,0x04,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xfd,0x03,0x00]
-v_max_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0xce,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x09,0x00,0x00]
-v_max_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0x80,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x0d,0x00,0x00]
-v_max_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0xc1,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], s[102:103]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xcd,0x00,0x00]
-v_max_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0xf0,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xd1,0x00,0x00]
-v_max_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0xf7,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xd5,0x00,0x00]
-v_max_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x09,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], tba
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xd9,0x00,0x00]
+
+v_min_f64 v[5:6], v[1:2], tma
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xdd,0x00,0x00]
+
+v_min_f64 v[5:6], v[1:2], ttmp[10:11]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xf5,0x00,0x00]
+
+v_min_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xfd,0x00,0x00]
+
+v_min_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x01,0x01,0x00]
-v_max_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0xfe,0x09,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x83,0x01,0x00]
-v_max_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x00,0x01,0x00]
+v_min_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xe1,0x01,0x00]
-v_max_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x82,0x01,0x00]
+v_min_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0xef,0x01,0x00]
-v_max_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0xe0,0x01,0x00]
+v_min_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x05,0x02,0x20]
-v_max_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0xee,0x01,0x00]
+v_min_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x05,0x02,0x40]
+
+v_min_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x05,0x02,0x60]
+
+v_min_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0xcc,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0xcc,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0xcc,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x08,0xcc,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x05,0x02,0x08]
+
+v_min_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x05,0x02,0x10]
+
+v_min_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0xcc,0xd2,0x01,0x05,0x02,0x18]
+
+v_max_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0xce,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0xfe,0x05,0x02,0x00]
+
+v_max_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x02,0x04,0x02,0x00]
v_max_f64 v[5:6], s[4:5], v[2:3]
// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x04,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], v[254:255]
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0xfc,0x03,0x00]
+v_max_f64 v[5:6], s[102:103], v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x66,0x04,0x02,0x00]
-v_max_f64 v[5:6], -s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x08,0x00,0x20]
+v_max_f64 v[5:6], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x68,0x04,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], -s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x08,0x00,0x40]
+v_max_f64 v[5:6], vcc, v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x6a,0x04,0x02,0x00]
-v_max_f64 v[5:6], -s[4:5], -s[4:5]
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x08,0x00,0x60]
+v_max_f64 v[5:6], tba, v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x6c,0x04,0x02,0x00]
-v_max_f64 v[5:6], |s[4:5]|, s[4:5]
-// CHECK: [0x05,0x01,0xce,0xd2,0x04,0x08,0x00,0x00]
+v_max_f64 v[5:6], tma, v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x6e,0x04,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], |s[4:5]|
-// CHECK: [0x05,0x02,0xce,0xd2,0x04,0x08,0x00,0x00]
+v_max_f64 v[5:6], ttmp[10:11], v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x7a,0x04,0x02,0x00]
-v_max_f64 v[5:6], |s[4:5]|, |s[4:5]|
-// CHECK: [0x05,0x03,0xce,0xd2,0x04,0x08,0x00,0x00]
+v_max_f64 v[5:6], exec, v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x7e,0x04,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], s[4:5] clamp
-// CHECK: [0x05,0x08,0xce,0xd2,0x04,0x08,0x00,0x00]
+v_max_f64 v[5:6], 0, v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x80,0x04,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], s[4:5] mul:2
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x08,0x00,0x08]
+v_max_f64 v[5:6], -1, v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0xc1,0x04,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], s[4:5] mul:4
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x08,0x00,0x10]
+v_max_f64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0xf0,0x04,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0xce,0xd2,0x04,0x08,0x00,0x18]
+v_max_f64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0xf7,0x04,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, s2
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xfd,0x03,0x00]
-v_ldexp_f64 v[254:255], 0, s2
-// CHECK: [0xfe,0x00,0xd0,0xd2,0x80,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x09,0x00,0x00]
-v_ldexp_f64 v[5:6], -1, s2
-// CHECK: [0x05,0x00,0xd0,0xd2,0xc1,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x0d,0x00,0x00]
-v_ldexp_f64 v[5:6], 0.5, s2
-// CHECK: [0x05,0x00,0xd0,0xd2,0xf0,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], s[102:103]
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xcd,0x00,0x00]
-v_ldexp_f64 v[5:6], -4.0, s2
-// CHECK: [0x05,0x00,0xd0,0xd2,0xf7,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xd1,0x00,0x00]
-v_ldexp_f64 v[5:6], v[1:2], s2
-// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0x05,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xd5,0x00,0x00]
+
+v_max_f64 v[5:6], v[1:2], tba
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xd9,0x00,0x00]
+
+v_max_f64 v[5:6], v[1:2], tma
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xdd,0x00,0x00]
-v_ldexp_f64 v[5:6], v[254:255], s2
-// CHECK: [0x05,0x00,0xd0,0xd2,0xfe,0x05,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], ttmp[10:11]
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xf5,0x00,0x00]
-v_ldexp_f64 v[5:6], 0, s103
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xce,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xfd,0x00,0x00]
-v_ldexp_f64 v[5:6], 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xd0,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x01,0x01,0x00]
-v_ldexp_f64 v[5:6], 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xd2,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x83,0x01,0x00]
-v_ldexp_f64 v[5:6], 0, vcc_lo
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xd4,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xe1,0x01,0x00]
-v_ldexp_f64 v[5:6], 0, vcc_hi
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xd6,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0xef,0x01,0x00]
-v_ldexp_f64 v[5:6], 0, tba_lo
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xd8,0x00,0x00]
+v_max_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x05,0x02,0x20]
-v_ldexp_f64 v[5:6], 0, tba_hi
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xda,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x05,0x02,0x40]
-v_ldexp_f64 v[5:6], 0, tma_lo
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xdc,0x00,0x00]
+v_max_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x05,0x02,0x60]
-v_ldexp_f64 v[5:6], 0, tma_hi
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xde,0x00,0x00]
+v_max_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0xce,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, ttmp11
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xf6,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0xce,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, m0
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xf8,0x00,0x00]
+v_max_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0xce,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, exec_lo
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xfc,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x08,0xce,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, exec_hi
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xfe,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x05,0x02,0x08]
-v_ldexp_f64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0x00,0x01,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x05,0x02,0x10]
-v_ldexp_f64 v[5:6], 0, -1
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0x82,0x01,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0xce,0xd2,0x01,0x05,0x02,0x18]
-v_ldexp_f64 v[5:6], 0, 0.5
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xe0,0x01,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xee,0x01,0x00]
+v_ldexp_f64 v[254:255], v[1:2], v2
+// CHECK: [0xfe,0x00,0xd0,0xd2,0x01,0x05,0x02,0x00]
+
+v_ldexp_f64 v[5:6], v[254:255], v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0xfe,0x05,0x02,0x00]
+
+v_ldexp_f64 v[5:6], s[2:3], v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x02,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], s[4:5], v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x04,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], s[102:103], v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x66,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], flat_scratch, v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x68,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], vcc, v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x6a,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], tba, v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x6c,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], tma, v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x6e,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], ttmp[10:11], v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x7a,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], exec, v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x7e,0x04,0x02,0x00]
v_ldexp_f64 v[5:6], 0, v2
// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0x04,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, v255
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0xfe,0x03,0x00]
+v_ldexp_f64 v[5:6], -1, v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0xc1,0x04,0x02,0x00]
-v_ldexp_f64 v[5:6], neg(0), s2
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0x04,0x00,0x20]
+v_ldexp_f64 v[5:6], 0.5, v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0xf0,0x04,0x02,0x00]
-v_ldexp_f64 v[5:6], |0|, s2
-// CHECK: [0x05,0x01,0xd0,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], -4.0, v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0xf7,0x04,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, s2 clamp
-// CHECK: [0x05,0x08,0xd0,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v255
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xff,0x03,0x00]
-v_ldexp_f64 v[5:6], 0, s2 mul:2
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0x04,0x00,0x08]
+v_ldexp_f64 v[5:6], v[1:2], s2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0x05,0x00,0x00]
-v_ldexp_f64 v[5:6], 0, s2 mul:4
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0x04,0x00,0x10]
+v_ldexp_f64 v[5:6], v[1:2], s103
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xcf,0x00,0x00]
-v_ldexp_f64 v[5:6], 0, s2 div:2
-// CHECK: [0x05,0x00,0xd0,0xd2,0x80,0x04,0x00,0x18]
+v_ldexp_f64 v[5:6], v[1:2], flat_scratch_lo
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xd1,0x00,0x00]
-v_mul_lo_u32 v5, 0, s2
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], flat_scratch_hi
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xd3,0x00,0x00]
-v_mul_lo_u32 v255, 0, s2
-// CHECK: [0xff,0x00,0xd2,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], vcc_lo
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_lo_u32 v5, -1, s2
-// CHECK: [0x05,0x00,0xd2,0xd2,0xc1,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], vcc_hi
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_lo_u32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0xd2,0xd2,0xf0,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], tba_lo
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xd9,0x00,0x00]
-v_mul_lo_u32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0xd2,0xd2,0xf7,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], tba_hi
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xdb,0x00,0x00]
-v_mul_lo_u32 v5, v1, s2
-// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0x05,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], tma_lo
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xdd,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], tma_hi
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xdf,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], ttmp11
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xf7,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], m0
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xf9,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], exec_lo
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xfd,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], exec_hi
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xff,0x00,0x00]
-v_mul_lo_u32 v5, v255, s2
-// CHECK: [0x05,0x00,0xd2,0xd2,0xff,0x05,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0x01,0x01,0x00]
-v_mul_lo_u32 v5, 0, s103
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xce,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0x83,0x01,0x00]
-v_mul_lo_u32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xd0,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_lo_u32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xd2,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0xef,0x01,0x00]
-v_mul_lo_u32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xd4,0x00,0x00]
+v_ldexp_f64 v[5:6], -v[1:2], v2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0x05,0x02,0x20]
-v_mul_lo_u32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xd6,0x00,0x00]
+v_ldexp_f64 v[5:6], |v[1:2]|, v2
+// CHECK: [0x05,0x01,0xd0,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xd8,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 clamp
+// CHECK: [0x05,0x08,0xd0,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xda,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 mul:2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0x05,0x02,0x08]
-v_mul_lo_u32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xdc,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 mul:4
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0x05,0x02,0x10]
-v_mul_lo_u32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xde,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 div:2
+// CHECK: [0x05,0x00,0xd0,0xd2,0x01,0x05,0x02,0x18]
-v_mul_lo_u32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_lo_u32 v5, v1, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, m0
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_lo_u32 v255, v1, v2
+// CHECK: [0xff,0x00,0xd2,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_lo_u32 v5, v255, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0xff,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_lo_u32 v5, s1, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0x00,0x01,0x00]
+v_mul_lo_u32 v5, s103, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x67,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, -1
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0x82,0x01,0x00]
+v_mul_lo_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x68,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_lo_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x69,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xee,0x01,0x00]
+v_mul_lo_u32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x6b,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x6c,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x6d,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x6e,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x6f,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, m0, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x7f,0x04,0x02,0x00]
v_mul_lo_u32 v5, 0, v2
// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, v255
-// CHECK: [0x05,0x00,0xd2,0xd2,0x80,0xfe,0x03,0x00]
+v_mul_lo_u32 v5, -1, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0xc1,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, s2
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0x04,0x00,0x00]
+v_mul_lo_u32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0xf0,0x04,0x02,0x00]
-v_mul_hi_u32 v255, 0, s2
-// CHECK: [0xff,0x00,0xd4,0xd2,0x80,0x04,0x00,0x00]
+v_mul_lo_u32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0xd2,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_hi_u32 v5, -1, s2
-// CHECK: [0x05,0x00,0xd4,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, v255
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xff,0x03,0x00]
-v_mul_hi_u32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0xd4,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, s2
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0x05,0x00,0x00]
-v_mul_hi_u32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0xd4,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, s103
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_hi_u32 v5, v1, s2
-// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0x05,0x00,0x00]
+v_mul_lo_u32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xd1,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xd3,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xd5,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xd7,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xd9,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xdb,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xdd,0x00,0x00]
-v_mul_hi_u32 v5, v255, s2
-// CHECK: [0x05,0x00,0xd4,0xd2,0xff,0x05,0x00,0x00]
+v_mul_lo_u32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xdf,0x00,0x00]
-v_mul_hi_u32 v5, 0, s103
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xce,0x00,0x00]
+v_mul_lo_u32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xf7,0x00,0x00]
-v_mul_hi_u32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xd0,0x00,0x00]
+v_mul_lo_u32 v5, v1, m0
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_hi_u32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xd2,0x00,0x00]
+v_mul_lo_u32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_hi_u32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_lo_u32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xff,0x00,0x00]
-v_mul_hi_u32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_lo_u32 v5, v1, 0
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0x01,0x01,0x00]
-v_mul_hi_u32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_lo_u32 v5, v1, -1
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0x83,0x01,0x00]
-v_mul_hi_u32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xda,0x00,0x00]
+v_mul_lo_u32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_hi_u32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_lo_u32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0xd2,0xd2,0x01,0xef,0x01,0x00]
-v_mul_hi_u32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xde,0x00,0x00]
+v_mul_hi_u32 v5, v1, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_u32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_hi_u32 v255, v1, v2
+// CHECK: [0xff,0x00,0xd4,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_u32 v5, 0, m0
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_hi_u32 v5, v255, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0xff,0x05,0x02,0x00]
-v_mul_hi_u32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_hi_u32 v5, s1, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_hi_u32 v5, s103, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x67,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0x00,0x01,0x00]
+v_mul_hi_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x68,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, -1
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0x82,0x01,0x00]
+v_mul_hi_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x69,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_hi_u32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x6a,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xee,0x01,0x00]
+v_mul_hi_u32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x6b,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x6c,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x6d,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x6e,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x6f,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, m0, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x7f,0x04,0x02,0x00]
v_mul_hi_u32 v5, 0, v2
// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, v255
-// CHECK: [0x05,0x00,0xd4,0xd2,0x80,0xfe,0x03,0x00]
+v_mul_hi_u32 v5, -1, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0xc1,0x04,0x02,0x00]
-v_mul_lo_i32 v5, 0, s2
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_u32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0xf0,0x04,0x02,0x00]
-v_mul_lo_i32 v255, 0, s2
-// CHECK: [0xff,0x00,0xd6,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_u32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0xd4,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_lo_i32 v5, -1, s2
-// CHECK: [0x05,0x00,0xd6,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_hi_u32 v5, v1, v255
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xff,0x03,0x00]
-v_mul_lo_i32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0xd6,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_hi_u32 v5, v1, s2
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0x05,0x00,0x00]
-v_mul_lo_i32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0xd6,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_hi_u32 v5, v1, s103
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_lo_i32 v5, v1, s2
-// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0x05,0x00,0x00]
+v_mul_hi_u32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xd1,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xd3,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xd5,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xd7,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xd9,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xdb,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xdd,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xdf,0x00,0x00]
-v_mul_lo_i32 v5, v255, s2
-// CHECK: [0x05,0x00,0xd6,0xd2,0xff,0x05,0x00,0x00]
+v_mul_hi_u32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xf7,0x00,0x00]
-v_mul_lo_i32 v5, 0, s103
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xce,0x00,0x00]
+v_mul_hi_u32 v5, v1, m0
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_lo_i32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xd0,0x00,0x00]
+v_mul_hi_u32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_lo_i32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xd2,0x00,0x00]
+v_mul_hi_u32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xff,0x00,0x00]
-v_mul_lo_i32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_hi_u32 v5, v1, 0
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0x01,0x01,0x00]
-v_mul_lo_i32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_hi_u32 v5, v1, -1
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0x83,0x01,0x00]
-v_mul_lo_i32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_hi_u32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_lo_i32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xda,0x00,0x00]
+v_mul_hi_u32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0xd4,0xd2,0x01,0xef,0x01,0x00]
-v_mul_lo_i32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_lo_i32 v5, v1, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_i32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xde,0x00,0x00]
+v_mul_lo_i32 v255, v1, v2
+// CHECK: [0xff,0x00,0xd6,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_i32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_lo_i32 v5, v255, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0xff,0x05,0x02,0x00]
-v_mul_lo_i32 v5, 0, m0
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_lo_i32 v5, s1, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0x04,0x02,0x00]
-v_mul_lo_i32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_lo_i32 v5, s103, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x67,0x04,0x02,0x00]
-v_mul_lo_i32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_lo_i32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x68,0x04,0x02,0x00]
-v_mul_lo_i32 v5, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0x00,0x01,0x00]
+v_mul_lo_i32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x69,0x04,0x02,0x00]
-v_mul_lo_i32 v5, 0, -1
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0x82,0x01,0x00]
+v_mul_lo_i32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x6a,0x04,0x02,0x00]
-v_mul_lo_i32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_lo_i32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_lo_i32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xee,0x01,0x00]
+v_mul_lo_i32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x6c,0x04,0x02,0x00]
+
+v_mul_lo_i32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x6d,0x04,0x02,0x00]
+
+v_mul_lo_i32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x6e,0x04,0x02,0x00]
+
+v_mul_lo_i32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x6f,0x04,0x02,0x00]
+
+v_mul_lo_i32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mul_lo_i32 v5, m0, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_lo_i32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_lo_i32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x7f,0x04,0x02,0x00]
v_mul_lo_i32 v5, 0, v2
// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0x04,0x02,0x00]
-v_mul_lo_i32 v5, 0, v255
-// CHECK: [0x05,0x00,0xd6,0xd2,0x80,0xfe,0x03,0x00]
+v_mul_lo_i32 v5, -1, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mul_lo_i32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mul_lo_i32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0xd6,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, s2
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0x04,0x00,0x00]
+v_mul_lo_i32 v5, v1, v255
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xff,0x03,0x00]
-v_mul_hi_i32 v255, 0, s2
-// CHECK: [0xff,0x00,0xd8,0xd2,0x80,0x04,0x00,0x00]
+v_mul_lo_i32 v5, v1, s2
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0x05,0x00,0x00]
-v_mul_hi_i32 v5, -1, s2
-// CHECK: [0x05,0x00,0xd8,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_lo_i32 v5, v1, s103
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_hi_i32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0xd8,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_lo_i32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xd1,0x00,0x00]
-v_mul_hi_i32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0xd8,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_lo_i32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xd3,0x00,0x00]
-v_mul_hi_i32 v5, v1, s2
-// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0x05,0x00,0x00]
+v_mul_lo_i32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xd5,0x00,0x00]
+
+v_mul_lo_i32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xd7,0x00,0x00]
+
+v_mul_lo_i32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xd9,0x00,0x00]
+
+v_mul_lo_i32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xdb,0x00,0x00]
+
+v_mul_lo_i32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xdd,0x00,0x00]
+
+v_mul_lo_i32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xdf,0x00,0x00]
-v_mul_hi_i32 v5, v255, s2
-// CHECK: [0x05,0x00,0xd8,0xd2,0xff,0x05,0x00,0x00]
+v_mul_lo_i32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xf7,0x00,0x00]
-v_mul_hi_i32 v5, 0, s103
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xce,0x00,0x00]
+v_mul_lo_i32 v5, v1, m0
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_hi_i32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xd0,0x00,0x00]
+v_mul_lo_i32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_hi_i32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xd2,0x00,0x00]
+v_mul_lo_i32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xff,0x00,0x00]
-v_mul_hi_i32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_lo_i32 v5, v1, 0
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0x01,0x01,0x00]
-v_mul_hi_i32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_lo_i32 v5, v1, -1
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0x83,0x01,0x00]
-v_mul_hi_i32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_lo_i32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_hi_i32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xda,0x00,0x00]
+v_mul_lo_i32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0xd6,0xd2,0x01,0xef,0x01,0x00]
-v_mul_hi_i32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_hi_i32 v5, v1, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_i32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xde,0x00,0x00]
+v_mul_hi_i32 v255, v1, v2
+// CHECK: [0xff,0x00,0xd8,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_i32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_hi_i32 v5, v255, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0xff,0x05,0x02,0x00]
-v_mul_hi_i32 v5, 0, m0
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_hi_i32 v5, s1, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_hi_i32 v5, s103, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x67,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_hi_i32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x68,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0x00,0x01,0x00]
+v_mul_hi_i32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x69,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, -1
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0x82,0x01,0x00]
+v_mul_hi_i32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x6a,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_hi_i32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xee,0x01,0x00]
+v_mul_hi_i32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x6c,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x6d,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x6e,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x6f,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, m0, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x7f,0x04,0x02,0x00]
v_mul_hi_i32 v5, 0, v2
// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, v255
-// CHECK: [0x05,0x00,0xd8,0xd2,0x80,0xfe,0x03,0x00]
+v_mul_hi_i32 v5, -1, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0xc1,0x04,0x02,0x00]
-v_div_scale_f32 v5, vcc, s1, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x00,0x01,0x02]
+v_mul_hi_i32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0xf0,0x04,0x02,0x00]
-v_div_scale_f32 v255, vcc, s1, 0, 0
-// CHECK: [0xff,0x6a,0xda,0xd2,0x01,0x00,0x01,0x02]
+v_mul_hi_i32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0xd8,0xd2,0xf7,0x04,0x02,0x00]
-v_div_scale_f32 v5, vcc, s103, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x67,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, v255
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xff,0x03,0x00]
-v_div_scale_f32 v5, vcc, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x68,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, s2
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0x05,0x00,0x00]
-v_div_scale_f32 v5, vcc, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x69,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, s103
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xcf,0x00,0x00]
-v_div_scale_f32 v5, vcc, vcc_lo, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x6a,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xd1,0x00,0x00]
-v_div_scale_f32 v5, vcc, vcc_hi, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x6b,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xd3,0x00,0x00]
-v_div_scale_f32 v5, vcc, tba_lo, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x6c,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xd5,0x00,0x00]
-v_div_scale_f32 v5, vcc, tba_hi, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x6d,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xd7,0x00,0x00]
-v_div_scale_f32 v5, vcc, tma_lo, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x6e,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xd9,0x00,0x00]
-v_div_scale_f32 v5, vcc, tma_hi, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x6f,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xdb,0x00,0x00]
-v_div_scale_f32 v5, vcc, ttmp11, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x7b,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xdd,0x00,0x00]
-v_div_scale_f32 v5, vcc, m0, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x7c,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xdf,0x00,0x00]
-v_div_scale_f32 v5, vcc, exec_lo, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x7e,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xf7,0x00,0x00]
-v_div_scale_f32 v5, vcc, exec_hi, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x7f,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, m0
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xf9,0x00,0x00]
-v_div_scale_f32 v5, vcc, 0, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x80,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xfd,0x00,0x00]
-v_div_scale_f32 v5, vcc, -1, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0xc1,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xff,0x00,0x00]
-v_div_scale_f32 v5, vcc, 0.5, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0xf0,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, 0
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0x01,0x01,0x00]
-v_div_scale_f32 v5, vcc, -4.0, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0xf7,0x00,0x01,0x02]
+v_mul_hi_i32 v5, v1, -1
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0x83,0x01,0x00]
-v_div_scale_f32 v5, vcc, v1, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x01,0x01,0x02]
+v_mul_hi_i32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xe1,0x01,0x00]
-v_div_scale_f32 v5, vcc, v255, 0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0xff,0x01,0x01,0x02]
+v_mul_hi_i32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0xd8,0xd2,0x01,0xef,0x01,0x00]
-v_div_scale_f32 v5, vcc, s1, -1, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x82,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0.5, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xe0,0x01,0x02]
+v_div_scale_f32 v255, vcc, v1, v2, v3
+// CHECK: [0xff,0x6a,0xda,0xd2,0x01,0x05,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, -4.0, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xee,0x01,0x02]
+v_div_scale_f32 v5, vcc, v255, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0xff,0x05,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, v2, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x04,0x02,0x02]
+v_div_scale_f32 v5, vcc, s1, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, v255, 0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xfe,0x03,0x02]
+v_div_scale_f32 v5, vcc, s103, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x67,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, -1
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x00,0x05,0x03]
+v_div_scale_f32 v5, vcc, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x68,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, 0.5
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x00,0xc1,0x03]
+v_div_scale_f32 v5, vcc, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x69,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, -4.0
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x00,0xdd,0x03]
+v_div_scale_f32 v5, vcc, vcc_lo, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x6a,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, v3
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x00,0x0d,0x04]
+v_div_scale_f32 v5, vcc, vcc_hi, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x6b,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, v255
-// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x00,0xfd,0x07]
+v_div_scale_f32 v5, vcc, tba_lo, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x6c,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, tba_hi, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x6d,0x04,0x0e,0x04]
-v_div_scale_f64 v[254:255], vcc, s[2:3], 0, 0
-// CHECK: [0xfe,0x6a,0xdc,0xd2,0x02,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, tma_lo, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x6e,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[4:5], 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x04,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, tma_hi, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x6f,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[102:103], 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x66,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, ttmp11, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x7b,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, flat_scratch, 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x68,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, m0, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x7c,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, vcc, 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x6a,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, exec_lo, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x7e,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, tba, 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x6c,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, exec_hi, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x7f,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, tma, 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x6e,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, 0, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x80,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, ttmp[10:11], 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x7a,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, -1, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0xc1,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, exec, 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x7e,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, 0.5, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0xf0,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, 0, 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x80,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, -4.0, v2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0xf7,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, -1, 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0xc1,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v255, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xff,0x0f,0x04]
-v_div_scale_f64 v[5:6], vcc, 0.5, 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0xf0,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, s2, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, -4.0, 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0xf7,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, s103, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xcf,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, v[1:2], 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x01,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xd1,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, v[254:255], 0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0xfe,0x01,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xd3,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], -1, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0x82,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, vcc_lo, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xd5,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0.5, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0xe0,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, vcc_hi, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xd7,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], -4.0, 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0xee,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, tba_lo, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xd9,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], v[2:3], 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0x04,0x02,0x02]
+v_div_scale_f32 v5, vcc, v1, tba_hi, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xdb,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], v[254:255], 0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0xfc,0x03,0x02]
+v_div_scale_f32 v5, vcc, v1, tma_lo, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xdd,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -1
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0x00,0x05,0x03]
+v_div_scale_f32 v5, vcc, v1, tma_hi, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xdf,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0.5
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0x00,0xc1,0x03]
+v_div_scale_f32 v5, vcc, v1, ttmp11, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xf7,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -4.0
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0x00,0xdd,0x03]
+v_div_scale_f32 v5, vcc, v1, m0, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xf9,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, v[3:4]
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0x00,0x0d,0x04]
+v_div_scale_f32 v5, vcc, v1, exec_lo, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xfd,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, v[254:255]
-// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0x00,0xf9,0x07]
+v_div_scale_f32 v5, vcc, v1, exec_hi, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xff,0x0c,0x04]
-v_div_fmas_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, 0, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x01,0x0d,0x04]
-v_div_fmas_f32 v255, 0, 0, 0
-// CHECK: [0xff,0x00,0xde,0xd2,0x80,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, -1, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x83,0x0d,0x04]
-v_div_fmas_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0xc1,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, 0.5, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xe1,0x0d,0x04]
-v_div_fmas_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0xf0,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, -4.0, v3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0xef,0x0d,0x04]
-v_div_fmas_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0xf7,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, v255
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xfe,0x07]
-v_div_fmas_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x01,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, s3
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0x0e,0x00]
-v_div_fmas_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0xff,0x01,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, s103
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0x9e,0x01]
-v_div_fmas_f32 v5, 0, -1, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x82,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xa2,0x01]
-v_div_fmas_f32 v5, 0, 0.5, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0xe0,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xa6,0x01]
-v_div_fmas_f32 v5, 0, -4.0, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0xee,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, vcc_lo
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xaa,0x01]
-v_div_fmas_f32 v5, 0, v2, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x04,0x02,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, vcc_hi
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xae,0x01]
-v_div_fmas_f32 v5, 0, v255, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0xfe,0x03,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, tba_lo
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xb2,0x01]
-v_div_fmas_f32 v5, 0, 0, -1
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x05,0x03]
+v_div_scale_f32 v5, vcc, v1, v2, tba_hi
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xb6,0x01]
-v_div_fmas_f32 v5, 0, 0, 0.5
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0xc1,0x03]
+v_div_scale_f32 v5, vcc, v1, v2, tma_lo
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xba,0x01]
-v_div_fmas_f32 v5, 0, 0, -4.0
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0xdd,0x03]
+v_div_scale_f32 v5, vcc, v1, v2, tma_hi
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xbe,0x01]
-v_div_fmas_f32 v5, 0, 0, v3
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x0d,0x04]
+v_div_scale_f32 v5, vcc, v1, v2, ttmp11
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xee,0x01]
-v_div_fmas_f32 v5, 0, 0, v255
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0xfd,0x07]
+v_div_scale_f32 v5, vcc, v1, v2, m0
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xf2,0x01]
-v_div_fmas_f32 v5, neg(0), 0, 0
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x01,0x22]
+v_div_scale_f32 v5, vcc, v1, v2, exec_lo
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xfa,0x01]
-v_div_fmas_f32 v5, 0, neg(0), 0
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x01,0x42]
+v_div_scale_f32 v5, vcc, v1, v2, exec_hi
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xfe,0x01]
-v_div_fmas_f32 v5, 0, 0, neg(0)
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x01,0x82]
+v_div_scale_f32 v5, vcc, v1, v2, 0
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0x02,0x02]
-v_div_fmas_f32 v5, neg(0), neg(0), neg(0)
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x01,0xe2]
+v_div_scale_f32 v5, vcc, v1, v2, -1
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0x06,0x03]
-v_div_fmas_f32 v5, |0|, 0, 0
-// CHECK: [0x05,0x01,0xde,0xd2,0x80,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, 0.5
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xc2,0x03]
-v_div_fmas_f32 v5, 0, |0|, 0
-// CHECK: [0x05,0x02,0xde,0xd2,0x80,0x00,0x01,0x02]
+v_div_scale_f32 v5, vcc, v1, v2, -4.0
+// CHECK: [0x05,0x6a,0xda,0xd2,0x01,0x05,0xde,0x03]
-v_div_fmas_f32 v5, 0, 0, |0|
-// CHECK: [0x05,0x04,0xde,0xd2,0x80,0x00,0x01,0x02]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fmas_f32 v5, |0|, |0|, |0|
-// CHECK: [0x05,0x07,0xde,0xd2,0x80,0x00,0x01,0x02]
+v_div_scale_f64 v[254:255], vcc, v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x6a,0xdc,0xd2,0x01,0x05,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 clamp
-// CHECK: [0x05,0x08,0xde,0xd2,0x80,0x00,0x01,0x02]
+v_div_scale_f64 v[5:6], vcc, v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0xfe,0x05,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x01,0x0a]
+v_div_scale_f64 v[5:6], vcc, s[2:3], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x02,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x01,0x12]
+v_div_scale_f64 v[5:6], vcc, s[4:5], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x04,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 div:2
-// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x00,0x01,0x1a]
+v_div_scale_f64 v[5:6], vcc, s[102:103], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x66,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, flat_scratch, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x68,0x04,0x0e,0x04]
-v_div_fmas_f64 v[254:255], vcc, vcc, vcc
-// CHECK: [0xfe,0x00,0xe0,0xd2,0x6a,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x6a,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], 0, vcc, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x80,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, tba, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x6c,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], -1, vcc, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0xc1,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, tma, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x6e,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], 0.5, vcc, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0xf0,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, ttmp[10:11], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x7a,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], -4.0, vcc, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0xf7,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, exec, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x7e,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], v[1:2], vcc, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0xd5,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x80,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], v[254:255], vcc, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0xfe,0xd5,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0xc1,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, 0, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0x00,0xa9,0x01]
+v_div_scale_f64 v[5:6], vcc, 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0xf0,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, -1, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0x82,0xa9,0x01]
+v_div_scale_f64 v[5:6], vcc, -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0xf7,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, 0.5, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xe0,0xa9,0x01]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xfd,0x0f,0x04]
-v_div_fmas_f64 v[5:6], vcc, -4.0, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xee,0xa9,0x01]
+v_div_scale_f64 v[5:6], vcc, v[1:2], s[4:5], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x09,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, v[2:3], vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0x04,0xaa,0x01]
+v_div_scale_f64 v[5:6], vcc, v[1:2], s[6:7], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x0d,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, v[254:255], vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xfc,0xab,0x01]
+v_div_scale_f64 v[5:6], vcc, v[1:2], s[102:103], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xcd,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, 0
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0x00,0x02]
+v_div_scale_f64 v[5:6], vcc, v[1:2], flat_scratch, v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xd1,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, -1
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0x04,0x03]
+v_div_scale_f64 v[5:6], vcc, v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xd5,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, 0.5
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xc0,0x03]
+v_div_scale_f64 v[5:6], vcc, v[1:2], tba, v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xd9,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, -4.0
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xdc,0x03]
+v_div_scale_f64 v[5:6], vcc, v[1:2], tma, v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xdd,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, v[3:4]
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0x0c,0x04]
+v_div_scale_f64 v[5:6], vcc, v[1:2], ttmp[10:11], v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xf5,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, v[254:255]
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xf8,0x07]
+v_div_scale_f64 v[5:6], vcc, v[1:2], exec, v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xfd,0x0c,0x04]
-v_div_fmas_f64 v[5:6], -vcc, vcc, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xa8,0x21]
+v_div_scale_f64 v[5:6], vcc, v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x01,0x0d,0x04]
-v_div_fmas_f64 v[5:6], vcc, -vcc, vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xa8,0x41]
+v_div_scale_f64 v[5:6], vcc, v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x83,0x0d,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, -vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xa8,0x81]
+v_div_scale_f64 v[5:6], vcc, v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xe1,0x0d,0x04]
-v_div_fmas_f64 v[5:6], -vcc, -vcc, -vcc
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xa8,0xe1]
+v_div_scale_f64 v[5:6], vcc, v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0xef,0x0d,0x04]
-v_div_fmas_f64 v[5:6], |vcc|, vcc, vcc
-// CHECK: [0x05,0x01,0xe0,0xd2,0x6a,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0xfa,0x07]
-v_div_fmas_f64 v[5:6], vcc, |vcc|, vcc
-// CHECK: [0x05,0x02,0xe0,0xd2,0x6a,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[6:7]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0x1a,0x00]
-v_div_fmas_f64 v[5:6], vcc, vcc, |vcc|
-// CHECK: [0x05,0x04,0xe0,0xd2,0x6a,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[8:9]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0x22,0x00]
-v_div_fmas_f64 v[5:6], |vcc|, |vcc|, |vcc|
-// CHECK: [0x05,0x07,0xe0,0xd2,0x6a,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[102:103]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0x9a,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc clamp
-// CHECK: [0x05,0x08,0xe0,0xd2,0x6a,0xd4,0xa8,0x01]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], flat_scratch
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0xa2,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:2
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xa8,0x09]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0xaa,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:4
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xa8,0x11]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], tba
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0xb2,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc div:2
-// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0xd4,0xa8,0x19]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], tma
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0xba,0x01]
-v_msad_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x00,0x01,0x02]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], ttmp[10:11]
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0xea,0x01]
-v_msad_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xe2,0xd2,0x01,0x00,0x01,0x02]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], exec
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0xfa,0x01]
-v_msad_u8 v5, s103, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x67,0x00,0x01,0x02]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0x02,0x02]
-v_msad_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x68,0x00,0x01,0x02]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -1
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0x06,0x03]
-v_msad_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x69,0x00,0x01,0x02]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0xc2,0x03]
-v_msad_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x6a,0x00,0x01,0x02]
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x6a,0xdc,0xd2,0x01,0x05,0xde,0x03]
-v_msad_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x6b,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x6c,0x00,0x01,0x02]
+v_div_fmas_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xde,0xd2,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x6d,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0xff,0x05,0x0e,0x04]
-v_msad_u8 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x6e,0x00,0x01,0x02]
+v_div_fmas_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x80,0x04,0x0e,0x04]
-v_msad_u8 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x6f,0x00,0x01,0x02]
+v_div_fmas_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0xc1,0x04,0x0e,0x04]
-v_msad_u8 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x7b,0x00,0x01,0x02]
+v_div_fmas_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0xf0,0x04,0x0e,0x04]
-v_msad_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x7c,0x00,0x01,0x02]
+v_div_fmas_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0xf7,0x04,0x0e,0x04]
-v_msad_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x7e,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0xff,0x0f,0x04]
-v_msad_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x7f,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x01,0x0d,0x04]
-v_msad_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x80,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x83,0x0d,0x04]
-v_msad_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0xc1,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0xe1,0x0d,0x04]
-v_msad_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x01,0x01,0x02]
+v_div_fmas_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0xef,0x0d,0x04]
-v_msad_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0xff,0x01,0x01,0x02]
+v_div_fmas_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0xfe,0x07]
-v_msad_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x82,0x01,0x02]
+v_div_fmas_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x02,0x02]
-v_msad_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x04,0x02,0x02]
+v_div_fmas_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x06,0x03]
-v_msad_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xfe,0x03,0x02]
+v_div_fmas_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0xc2,0x03]
-v_msad_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x00,0x05,0x03]
+v_div_fmas_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0xde,0x03]
-v_msad_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x00,0x0d,0x04]
+v_div_fmas_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x0e,0x24]
-v_msad_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x00,0xfd,0x07]
+v_div_fmas_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x0e,0x44]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x02,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x0e,0x84]
-v_qsad_pk_u16_u8 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xe4,0xd2,0x02,0x00,0x01,0x02]
+v_div_fmas_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x0e,0xe4]
-v_qsad_pk_u16_u8 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x04,0x00,0x01,0x02]
+v_div_fmas_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xde,0xd2,0x01,0x05,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[102:103], 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x66,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xde,0xd2,0x01,0x05,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x68,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xde,0xd2,0x01,0x05,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x6a,0x00,0x01,0x02]
+v_div_fmas_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xde,0xd2,0x01,0x05,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], tba, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x6c,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x08,0xde,0xd2,0x01,0x05,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], tma, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x6e,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x0e,0x0c]
-v_qsad_pk_u16_u8 v[5:6], ttmp[10:11], 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x7a,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x0e,0x14]
-v_qsad_pk_u16_u8 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x7e,0x00,0x01,0x02]
+v_div_fmas_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xde,0xd2,0x01,0x05,0x0e,0x1c]
-v_qsad_pk_u16_u8 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x80,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0xc1,0x00,0x01,0x02]
+v_div_fmas_f64 v[254:255], v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x00,0xe0,0xd2,0x01,0x05,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x01,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0xfe,0x05,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0xfe,0x01,0x01,0x02]
+v_div_fmas_f64 v[5:6], vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x6a,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x02,0x82,0x01,0x02]
+v_div_fmas_f64 v[5:6], 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x80,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x02,0x04,0x02,0x02]
+v_div_fmas_f64 v[5:6], -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0xc1,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], v255, 0
-// CHECK: [0x05,0x00,0xe4,0xd2,0x02,0xfe,0x03,0x02]
+v_div_fmas_f64 v[5:6], 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0xf0,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xe4,0xd2,0x02,0x00,0x05,0x03]
+v_div_fmas_f64 v[5:6], -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0xf7,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, v[3:4]
-// CHECK: [0x05,0x00,0xe4,0xd2,0x02,0x00,0x0d,0x04]
+v_div_fmas_f64 v[5:6], v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0xfd,0x0f,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, v[254:255]
-// CHECK: [0x05,0x00,0xe4,0xd2,0x02,0x00,0xf9,0x07]
+v_div_fmas_f64 v[5:6], v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0xd5,0x0c,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x02,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x01,0x0d,0x04]
-v_mqsad_pk_u16_u8 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xe6,0xd2,0x02,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x83,0x0d,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x04,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0xe1,0x0d,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[102:103], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x66,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0xef,0x0d,0x04]
-v_mqsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x68,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0xfa,0x07]
-v_mqsad_pk_u16_u8 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x6a,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0xaa,0x01]
-v_mqsad_pk_u16_u8 v[5:6], tba, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x6c,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x02,0x02]
-v_mqsad_pk_u16_u8 v[5:6], tma, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x6e,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -1
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x06,0x03]
-v_mqsad_pk_u16_u8 v[5:6], ttmp[10:11], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x7a,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0xc2,0x03]
-v_mqsad_pk_u16_u8 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x7e,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0xde,0x03]
-v_mqsad_pk_u16_u8 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x80,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], -v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x0e,0x24]
-v_mqsad_pk_u16_u8 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0xc1,0x00,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], -v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x0e,0x44]
-v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x01,0x01,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x0e,0x84]
-v_mqsad_pk_u16_u8 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0xfe,0x01,0x01,0x02]
+v_div_fmas_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x0e,0xe4]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x02,0x82,0x01,0x02]
+v_div_fmas_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4]
+// CHECK: [0x05,0x01,0xe0,0xd2,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x02,0x04,0x02,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4]
+// CHECK: [0x05,0x02,0xe0,0xd2,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], v255, 0
-// CHECK: [0x05,0x00,0xe6,0xd2,0x02,0xfe,0x03,0x02]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], |v[3:4]|
+// CHECK: [0x05,0x04,0xe0,0xd2,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xe6,0xd2,0x02,0x00,0x05,0x03]
+v_div_fmas_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]|
+// CHECK: [0x05,0x07,0xe0,0xd2,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, v[3:4]
-// CHECK: [0x05,0x00,0xe6,0xd2,0x02,0x00,0x0d,0x04]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp
+// CHECK: [0x05,0x08,0xe0,0xd2,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, v[254:255]
-// CHECK: [0x05,0x00,0xe6,0xd2,0x02,0x00,0xf9,0x07]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x0e,0x0c]
-v_trig_preop_f64 v[5:6], 0, s2
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0x04,0x00,0x00]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x0e,0x14]
-v_trig_preop_f64 v[254:255], 0, s2
-// CHECK: [0xfe,0x00,0xe8,0xd2,0x80,0x04,0x00,0x00]
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2
+// CHECK: [0x05,0x00,0xe0,0xd2,0x01,0x05,0x0e,0x1c]
-v_trig_preop_f64 v[5:6], -1, s2
-// CHECK: [0x05,0x00,0xe8,0xd2,0xc1,0x04,0x00,0x00]
+v_msad_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0x0e,0x04]
-v_trig_preop_f64 v[5:6], 0.5, s2
-// CHECK: [0x05,0x00,0xe8,0xd2,0xf0,0x04,0x00,0x00]
+v_msad_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xe2,0xd2,0x01,0x05,0x0e,0x04]
-v_trig_preop_f64 v[5:6], -4.0, s2
-// CHECK: [0x05,0x00,0xe8,0xd2,0xf7,0x04,0x00,0x00]
+v_msad_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0xff,0x05,0x0e,0x04]
-v_trig_preop_f64 v[5:6], v[1:2], s2
-// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0x05,0x00,0x00]
+v_msad_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x04,0x0e,0x04]
+
+v_msad_u8 v5, s103, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x67,0x04,0x0e,0x04]
+
+v_msad_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x68,0x04,0x0e,0x04]
+
+v_msad_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x69,0x04,0x0e,0x04]
+
+v_msad_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_msad_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_msad_u8 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_msad_u8 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_msad_u8 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_msad_u8 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_msad_u8 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_msad_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_msad_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_msad_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_msad_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x80,0x04,0x0e,0x04]
+
+v_msad_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_msad_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xff,0x0f,0x04]
+
+v_msad_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0x0c,0x04]
+
+v_msad_u8 v5, v1, s103, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_msad_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_msad_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_msad_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_msad_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_msad_u8 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_msad_u8 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_msad_u8 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_msad_u8 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_msad_u8 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_msad_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_msad_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_msad_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0xff,0x0c,0x04]
+
+v_msad_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x01,0x0d,0x04]
+
+v_msad_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x83,0x0d,0x04]
+
+v_msad_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xfe,0x07]
+
+v_msad_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0x0e,0x00]
+
+v_msad_u8 v5, v1, v2, s103
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0x9e,0x01]
+
+v_msad_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xa2,0x01]
+
+v_msad_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xa6,0x01]
+
+v_msad_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xaa,0x01]
+
+v_msad_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xae,0x01]
+
+v_msad_u8 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xb2,0x01]
+
+v_msad_u8 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xb6,0x01]
+
+v_msad_u8 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xba,0x01]
+
+v_msad_u8 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xbe,0x01]
+
+v_msad_u8 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xee,0x01]
+
+v_msad_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xf2,0x01]
+
+v_msad_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xfa,0x01]
+
+v_msad_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0xfe,0x01]
+
+v_msad_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0x02,0x02]
+
+v_msad_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xe2,0xd2,0x01,0x05,0x06,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4]
+// CHECK: [0xfe,0x00,0xe4,0xd2,0x01,0x05,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0xfe,0x05,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x02,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x04,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[102:103], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x66,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x68,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], tba, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], tma, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], ttmp[10:11], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x7a,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], exec, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], 0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x80,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], -1, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xff,0x0f,0x04]
-v_trig_preop_f64 v[5:6], v[254:255], s2
-// CHECK: [0x05,0x00,0xe8,0xd2,0xfe,0x05,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, s103
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xce,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], s103, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xcf,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xd0,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xd1,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xd2,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xd3,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, vcc_lo
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xd4,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xd5,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, vcc_hi
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xd6,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xd7,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, tba_lo
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xd8,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], tba_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xd9,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, tba_hi
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xda,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], tba_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xdb,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, tma_lo
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xdc,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], tma_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xdd,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, tma_hi
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xde,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], tma_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xdf,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, ttmp11
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xf6,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], ttmp11, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xf7,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, m0
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xf8,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xf9,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, exec_lo
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xfc,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xfd,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, exec_hi
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xfe,0x00,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0xff,0x0c,0x04]
-v_trig_preop_f64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0x00,0x01,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x01,0x0d,0x04]
-v_trig_preop_f64 v[5:6], 0, -1
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0x82,0x01,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x83,0x0d,0x04]
-v_trig_preop_f64 v[5:6], 0, 0.5
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xe0,0x01,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0xfa,0x07]
-v_trig_preop_f64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xee,0x01,0x00]
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0x1a,0x00]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0x22,0x00]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[102:103]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0x9a,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0xa2,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0xaa,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, tba
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0xb2,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, tma
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0xba,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, ttmp[10:11]
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0xea,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, exec
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0xfa,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, 0
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0x02,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, -1
+// CHECK: [0x05,0x00,0xe4,0xd2,0x01,0x05,0x06,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4]
+// CHECK: [0xfe,0x00,0xe6,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0xfe,0x05,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x02,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x04,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[102:103], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x66,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x68,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], tba, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], tma, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], ttmp[10:11], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x7a,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], exec, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], 0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x80,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], -1, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xff,0x0f,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], s103, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], tba_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], tba_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], tma_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], tma_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], ttmp11, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0xff,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x01,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x83,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0xfa,0x07]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0x1a,0x00]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0x22,0x00]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[102:103]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0x9a,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0xa2,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0xaa,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, tba
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0xb2,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, tma
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0xba,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, ttmp[10:11]
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0xea,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, exec
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0xfa,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, 0
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0x02,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, -1
+// CHECK: [0x05,0x00,0xe6,0xd2,0x01,0x05,0x06,0x03]
+
+v_trig_preop_f64 v[5:6], v[1:2], v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0x05,0x02,0x00]
+
+v_trig_preop_f64 v[254:255], v[1:2], v2
+// CHECK: [0xfe,0x00,0xe8,0xd2,0x01,0x05,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], v[254:255], v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0xfe,0x05,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], s[2:3], v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x02,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], s[4:5], v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x04,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], s[102:103], v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x66,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], flat_scratch, v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x68,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], vcc, v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x6a,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], tba, v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x6c,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], tma, v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x6e,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], ttmp[10:11], v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x7a,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], exec, v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x7e,0x04,0x02,0x00]
v_trig_preop_f64 v[5:6], 0, v2
// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0x04,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, v255
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0xfe,0x03,0x00]
+v_trig_preop_f64 v[5:6], -1, v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0xc1,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], 0.5, v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0xf0,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], -4.0, v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0xf7,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], v255
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xff,0x03,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], s2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0x05,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], s103
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xcf,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], flat_scratch_lo
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xd1,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], flat_scratch_hi
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xd3,0x00,0x00]
-v_trig_preop_f64 v[5:6], neg(0), s2
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0x04,0x00,0x20]
+v_trig_preop_f64 v[5:6], v[1:2], vcc_lo
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xd5,0x00,0x00]
-v_trig_preop_f64 v[5:6], |0|, s2
-// CHECK: [0x05,0x01,0xe8,0xd2,0x80,0x04,0x00,0x00]
+v_trig_preop_f64 v[5:6], v[1:2], vcc_hi
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xd7,0x00,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 clamp
-// CHECK: [0x05,0x08,0xe8,0xd2,0x80,0x04,0x00,0x00]
+v_trig_preop_f64 v[5:6], v[1:2], tba_lo
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xd9,0x00,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 mul:2
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0x04,0x00,0x08]
+v_trig_preop_f64 v[5:6], v[1:2], tba_hi
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xdb,0x00,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 mul:4
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0x04,0x00,0x10]
+v_trig_preop_f64 v[5:6], v[1:2], tma_lo
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xdd,0x00,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 div:2
-// CHECK: [0x05,0x00,0xe8,0xd2,0x80,0x04,0x00,0x18]
+v_trig_preop_f64 v[5:6], v[1:2], tma_hi
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xdf,0x00,0x00]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], ttmp11
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xf7,0x00,0x00]
-v_mad_u64_u32 v[254:255], s[12:13], s1, 0, 0
-// CHECK: [0xfe,0x0c,0xec,0xd2,0x01,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], m0
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xf9,0x00,0x00]
-v_mad_u64_u32 v[5:6], s[14:15], s1, 0, 0
-// CHECK: [0x05,0x0e,0xec,0xd2,0x01,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], exec_lo
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xfd,0x00,0x00]
-v_mad_u64_u32 v[5:6], s[102:103], s1, 0, 0
-// CHECK: [0x05,0x66,0xec,0xd2,0x01,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], exec_hi
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xff,0x00,0x00]
-v_mad_u64_u32 v[5:6], flat_scratch, s1, 0, 0
-// CHECK: [0x05,0x68,0xec,0xd2,0x01,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0x01,0x01,0x00]
-v_mad_u64_u32 v[5:6], vcc, s1, 0, 0
-// CHECK: [0x05,0x6a,0xec,0xd2,0x01,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0x83,0x01,0x00]
-v_mad_u64_u32 v[5:6], tba, s1, 0, 0
-// CHECK: [0x05,0x6c,0xec,0xd2,0x01,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xe1,0x01,0x00]
-v_mad_u64_u32 v[5:6], tma, s1, 0, 0
-// CHECK: [0x05,0x6e,0xec,0xd2,0x01,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0xef,0x01,0x00]
-v_mad_u64_u32 v[5:6], ttmp[10:11], s1, 0, 0
-// CHECK: [0x05,0x7a,0xec,0xd2,0x01,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], -v[1:2], v2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0x05,0x02,0x20]
-v_mad_u64_u32 v[5:6], s[12:13], s103, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x67,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], |v[1:2]|, v2
+// CHECK: [0x05,0x01,0xe8,0xd2,0x01,0x05,0x02,0x00]
-v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x68,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], v2 clamp
+// CHECK: [0x05,0x08,0xe8,0xd2,0x01,0x05,0x02,0x00]
-v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x69,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], v2 mul:2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0x05,0x02,0x08]
-v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x6a,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], v2 mul:4
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0x05,0x02,0x10]
-v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x6b,0x00,0x01,0x02]
+v_trig_preop_f64 v[5:6], v[1:2], v2 div:2
+// CHECK: [0x05,0x00,0xe8,0xd2,0x01,0x05,0x02,0x18]
-v_mad_u64_u32 v[5:6], s[12:13], tba_lo, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x6c,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], tba_hi, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x6d,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], s[2:3], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x02,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], tma_lo, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x6e,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], s[4:5], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x04,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], tma_hi, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x6f,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], s[102:103], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x66,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], ttmp11, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x7b,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], flat_scratch, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x68,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], m0, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x7c,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], vcc, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x6a,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], exec_lo, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x7e,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], tba, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x6c,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], exec_hi, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x7f,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], tma, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x6e,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], 0, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x80,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], ttmp[10:11], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x7a,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], -1, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0xc1,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], exec, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x7e,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], 0.5, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0xf0,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], 0, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x80,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], -4.0, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0xf7,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], -1, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0xc1,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], v1, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x01,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], s2, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0x05,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], v255, 0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0xff,0x01,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], s103, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xcf,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, -1, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x82,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], flat_scratch_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xd1,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0.5, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xe0,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], flat_scratch_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xd3,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, -4.0, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xee,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], vcc_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xd5,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, v2, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x04,0x02,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], vcc_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xd7,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, v255, 0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xfe,0x03,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], tba_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xd9,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -1
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x00,0x05,0x03]
+v_mqsad_u32_u8 v[252:255], v[1:2], tba_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xdb,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0.5
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x00,0xc1,0x03]
+v_mqsad_u32_u8 v[252:255], v[1:2], tma_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xdd,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -4.0
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x00,0xdd,0x03]
+v_mqsad_u32_u8 v[252:255], v[1:2], tma_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xdf,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, v[3:4]
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x00,0x0d,0x04]
+v_mqsad_u32_u8 v[252:255], v[1:2], ttmp11, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xf7,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, v[254:255]
-// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x00,0xf9,0x07]
+v_mqsad_u32_u8 v[252:255], v[1:2], m0, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xf9,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], exec_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xfd,0x0c,0x04]
-v_mad_i64_i32 v[254:255], s[12:13], s1, 0, 0
-// CHECK: [0xfe,0x0c,0xee,0xd2,0x01,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], exec_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0xff,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[14:15], s1, 0, 0
-// CHECK: [0x05,0x0e,0xee,0xd2,0x01,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], 0, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0x01,0x0d,0x04]
-v_mad_i64_i32 v[5:6], s[102:103], s1, 0, 0
-// CHECK: [0x05,0x66,0xee,0xd2,0x01,0x00,0x01,0x02]
+v_mqsad_u32_u8 v[252:255], v[1:2], -1, v[3:6]
+// CHECK: [0xfc,0x00,0xea,0xd2,0x01,0x83,0x0d,0x04]
-v_mad_i64_i32 v[5:6], flat_scratch, s1, 0, 0
-// CHECK: [0x05,0x68,0xee,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], vcc, s1, 0, 0
-// CHECK: [0x05,0x6a,0xee,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u64_u32 v[254:255], s[12:13], v1, v2, v[3:4]
+// CHECK: [0xfe,0x0c,0xec,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], tba, s1, 0, 0
-// CHECK: [0x05,0x6c,0xee,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[14:15], v1, v2, v[3:4]
+// CHECK: [0x05,0x0e,0xec,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], tma, s1, 0, 0
-// CHECK: [0x05,0x6e,0xee,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[102:103], v1, v2, v[3:4]
+// CHECK: [0x05,0x66,0xec,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], ttmp[10:11], s1, 0, 0
-// CHECK: [0x05,0x7a,0xee,0xd2,0x01,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], flat_scratch, v1, v2, v[3:4]
+// CHECK: [0x05,0x68,0xec,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s103, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x67,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], vcc, v1, v2, v[3:4]
+// CHECK: [0x05,0x6a,0xec,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x68,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], tba, v1, v2, v[3:4]
+// CHECK: [0x05,0x6c,0xec,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x69,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], tma, v1, v2, v[3:4]
+// CHECK: [0x05,0x6e,0xec,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x6a,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], ttmp[10:11], v1, v2, v[3:4]
+// CHECK: [0x05,0x7a,0xec,0xd2,0x01,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x6b,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], v255, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0xff,0x05,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], tba_lo, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x6c,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], s1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], tba_hi, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x6d,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], s103, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x67,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], tma_lo, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x6e,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x68,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], tma_hi, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x6f,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x69,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], ttmp11, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x7b,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x6a,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], m0, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x7c,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x6b,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], exec_lo, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x7e,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], tba_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x6c,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], exec_hi, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x7f,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], tba_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x6d,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], 0, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x80,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], tma_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x6e,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], -1, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0xc1,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], tma_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x6f,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], 0.5, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0xf0,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], ttmp11, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x7b,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], -4.0, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0xf7,0x00,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], m0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x7c,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], v1, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x01,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], exec_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x7e,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], v255, 0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0xff,0x01,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], exec_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x7f,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, -1, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x82,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], 0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x80,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0.5, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xe0,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], -1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0xc1,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, -4.0, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xee,0x01,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0xf0,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, v2, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x04,0x02,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0xf7,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, v255, 0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xfe,0x03,0x02]
+v_mad_u64_u32 v[5:6], s[12:13], v1, v255, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xff,0x0f,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, -1
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x00,0x05,0x03]
+v_mad_u64_u32 v[5:6], s[12:13], v1, s2, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0.5
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x00,0xc1,0x03]
+v_mad_u64_u32 v[5:6], s[12:13], v1, s103, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xcf,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, -4.0
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x00,0xdd,0x03]
+v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xd1,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, v[3:4]
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x00,0x0d,0x04]
+v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xd3,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, v[254:255]
-// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x00,0xf9,0x07]
+v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, tba_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, tba_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, tma_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, tma_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, ttmp11, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, m0, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, exec_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, exec_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xff,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, 0, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x01,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, -1, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x83,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, 0.5, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, -4.0, v[3:4]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0xef,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[254:255]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0xfa,0x07]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0x1a,0x00]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0x22,0x00]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[102:103]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0x9a,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0xa2,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0xaa,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0xb2,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0xba,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0xea,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, exec
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0xfa,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0x02,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -1
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0x06,0x03]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0.5
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0xc2,0x03]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -4.0
+// CHECK: [0x05,0x0c,0xec,0xd2,0x01,0x05,0xde,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[254:255], s[12:13], v1, v2, v[3:4]
+// CHECK: [0xfe,0x0c,0xee,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[14:15], v1, v2, v[3:4]
+// CHECK: [0x05,0x0e,0xee,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[102:103], v1, v2, v[3:4]
+// CHECK: [0x05,0x66,0xee,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], flat_scratch, v1, v2, v[3:4]
+// CHECK: [0x05,0x68,0xee,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], vcc, v1, v2, v[3:4]
+// CHECK: [0x05,0x6a,0xee,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], tba, v1, v2, v[3:4]
+// CHECK: [0x05,0x6c,0xee,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], tma, v1, v2, v[3:4]
+// CHECK: [0x05,0x6e,0xee,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], ttmp[10:11], v1, v2, v[3:4]
+// CHECK: [0x05,0x7a,0xee,0xd2,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v255, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0xff,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], s103, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x67,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x68,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x69,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], tba_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x6c,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], tba_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x6d,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], tma_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x6e,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], tma_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x6f,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], ttmp11, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x7b,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], m0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], exec_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], exec_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], 0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x80,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], -1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v255, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xff,0x0f,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, s2, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, s103, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xd1,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xd3,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, tba_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xd9,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, tba_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xdb,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, tma_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xdd,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, tma_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xdf,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, ttmp11, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xf7,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, m0, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, exec_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, exec_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xff,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, 0, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x01,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, -1, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x83,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, 0.5, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, -4.0, v[3:4]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0xef,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[254:255]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0xfa,0x07]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0x1a,0x00]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0x22,0x00]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[102:103]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0x9a,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0xa2,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0xaa,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0xb2,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0xba,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0xea,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, exec
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0xfa,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0x02,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -1
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0x06,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0.5
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0xc2,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -4.0
+// CHECK: [0x05,0x0c,0xee,0xd2,0x01,0x05,0xde,0x03]
+
+v_cmp_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x00,0x7c]
+
+v_cmp_f_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x00,0x7c]
v_cmp_f_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x00,0x7c]
@@ -43812,119 +49851,161 @@ v_cmp_f_f32 vcc, 0xaf123456, v2
v_cmp_f_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x00,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_f_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x00,0x7c]
+v_cmp_f_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x01,0x7c]
-v_cmp_f_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x00,0x7c]
+v_cmp_f_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x00,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x00,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x00,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x00,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x00,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x00,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x00,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_f_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x01,0x7c]
+v_cmp_f_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_f_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x00,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_f_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x00,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x6f,0x04,0x02,0x00]
-v_cmp_f_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x00,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_f_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x00,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x7c,0x04,0x02,0x00]
-v_cmp_f_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x00,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_f_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x00,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x7f,0x04,0x02,0x00]
-v_cmp_f_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x00,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0xc1,0x04,0x02,0x00]
-v_cmp_f_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x00,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0xf0,0x04,0x02,0x00]
-v_cmp_f_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x00,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0xf7,0x04,0x02,0x00]
-v_cmp_f_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x00,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xff,0x03,0x00]
v_cmp_f_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x00,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmp_f_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_f_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_f_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_f_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_f_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x00,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_f_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x02,0x7c]
-v_cmp_f_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x00,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_lt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x02,0x7c]
v_cmp_lt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x02,0x7c]
@@ -43986,119 +50067,161 @@ v_cmp_lt_f32 vcc, 0xaf123456, v2
v_cmp_lt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x02,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_lt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x02,0x7c]
+v_cmp_lt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x03,0x7c]
-v_cmp_lt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x02,0x7c]
+v_cmp_lt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x02,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x02,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x02,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x02,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x02,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x03,0x7c]
+v_cmp_lt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x02,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x02,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x02,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_lt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x02,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x02,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x02,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x02,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x02,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x02,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x02,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x02,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x02,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xff,0x03,0x00]
v_cmp_lt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x02,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_lt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_lt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_lt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x02,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_lt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmp_lt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x04,0x7c]
-v_cmp_lt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x02,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_eq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x04,0x7c]
v_cmp_eq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x04,0x7c]
@@ -44160,119 +50283,161 @@ v_cmp_eq_f32 vcc, 0xaf123456, v2
v_cmp_eq_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x04,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_eq_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x04,0x7c]
+v_cmp_eq_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x05,0x7c]
-v_cmp_eq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x04,0x7c]
+v_cmp_eq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x04,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x04,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x04,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x04,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x04,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x04,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x04,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_eq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x05,0x7c]
+v_cmp_eq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x04,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x04,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x6f,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x04,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x04,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x7c,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x04,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x04,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x7f,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x04,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0xc1,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x04,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0xf0,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x04,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0xf7,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x04,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xff,0x03,0x00]
v_cmp_eq_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x04,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmp_eq_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_eq_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_eq_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_eq_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_eq_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x04,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_eq_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x06,0x7c]
-v_cmp_eq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x04,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_le_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x06,0x7c]
v_cmp_le_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x06,0x7c]
@@ -44334,119 +50499,161 @@ v_cmp_le_f32 vcc, 0xaf123456, v2
v_cmp_le_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x06,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_le_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x06,0x7c]
+v_cmp_le_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x07,0x7c]
-v_cmp_le_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x06,0x7c]
+v_cmp_le_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x06,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x06,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x06,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x06,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x06,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x07,0x7c]
+v_cmp_le_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x06,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x06,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x06,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_le_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x06,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_le_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x06,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_le_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x06,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_le_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x06,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_le_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x06,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_le_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x06,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_le_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x06,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_le_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x06,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_le_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x06,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xff,0x03,0x00]
v_cmp_le_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x06,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmp_le_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_le_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_le_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_le_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_le_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x06,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_le_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x08,0x7c]
-v_cmp_le_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x06,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_gt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x08,0x7c]
v_cmp_gt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x08,0x7c]
@@ -44508,119 +50715,161 @@ v_cmp_gt_f32 vcc, 0xaf123456, v2
v_cmp_gt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x08,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_gt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x08,0x7c]
+v_cmp_gt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x09,0x7c]
-v_cmp_gt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x08,0x7c]
+v_cmp_gt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x08,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x08,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x08,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x08,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x08,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x09,0x7c]
+v_cmp_gt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x08,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x08,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x08,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_gt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x08,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x08,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x08,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x08,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x08,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x08,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x08,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x08,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x08,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xff,0x03,0x00]
v_cmp_gt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x08,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmp_gt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_gt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_gt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_gt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_gt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x08,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_gt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x7c]
-v_cmp_gt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x08,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_lg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x7c]
v_cmp_lg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x0a,0x7c]
@@ -44682,119 +50931,161 @@ v_cmp_lg_f32 vcc, 0xaf123456, v2
v_cmp_lg_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_lg_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x7c]
+v_cmp_lg_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x7c]
-v_cmp_lg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x7c]
+v_cmp_lg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x0a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x0a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x0a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x0a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x0a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x7c]
+v_cmp_lg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x0a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x0a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x0a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x0a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_lg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x0a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_lg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x0a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_lg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x0a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_lg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x0a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_lg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x0a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_lg_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x0a,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x0a,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_lg_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x0a,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xff,0x03,0x00]
v_cmp_lg_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x0a,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_lg_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_lg_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_lg_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lg_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x0a,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_lg_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmp_lg_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x0c,0x7c]
-v_cmp_lg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x0a,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_ge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x0c,0x7c]
v_cmp_ge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x0c,0x7c]
@@ -44856,119 +51147,161 @@ v_cmp_ge_f32 vcc, 0xaf123456, v2
v_cmp_ge_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_ge_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x0c,0x7c]
+v_cmp_ge_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x0d,0x7c]
-v_cmp_ge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x0c,0x7c]
+v_cmp_ge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x0c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x0c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x0c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x0c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x0c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0d,0x7c]
+v_cmp_ge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x0c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x0c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x0c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ge_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x0c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x0c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x0c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x0c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x0c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x0c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x0c,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x0c,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x0c,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xff,0x03,0x00]
v_cmp_ge_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x0c,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_ge_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_ge_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_ge_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ge_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x0c,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_ge_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmp_ge_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x0e,0x7c]
-v_cmp_ge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x0c,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_o_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x0e,0x7c]
v_cmp_o_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x0e,0x7c]
@@ -45030,119 +51363,161 @@ v_cmp_o_f32 vcc, 0xaf123456, v2
v_cmp_o_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_o_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x0e,0x7c]
+v_cmp_o_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x0f,0x7c]
-v_cmp_o_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x0e,0x7c]
+v_cmp_o_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x0e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x0e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x0e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x0e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0f,0x7c]
+v_cmp_o_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x0e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x0e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x0e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x0e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x0e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_o_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x0e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_o_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x0e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_o_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x0e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_o_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x0e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_o_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x0e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_o_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x0e,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_o_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x0e,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_o_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x0e,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xff,0x03,0x00]
v_cmp_o_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x0e,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_o_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_o_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_o_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_o_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x0e,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_o_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmp_o_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x10,0x7c]
-v_cmp_o_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x0e,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_u_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x10,0x7c]
v_cmp_u_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x10,0x7c]
@@ -45204,119 +51579,161 @@ v_cmp_u_f32 vcc, 0xaf123456, v2
v_cmp_u_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x10,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_u_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x10,0x7c]
+v_cmp_u_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x11,0x7c]
-v_cmp_u_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x10,0x7c]
+v_cmp_u_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x11,0x7c]
+v_cmp_u_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_u_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_u_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_u_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_u_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_u_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_u_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_u_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x10,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_u_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x10,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x02,0x00]
-v_cmp_u_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x10,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xff,0x03,0x00]
v_cmp_u_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x10,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmp_u_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_u_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_u_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_u_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_u_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_u_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x12,0x7c]
-v_cmp_u_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x12,0x7c]
v_cmp_nge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x12,0x7c]
@@ -45378,119 +51795,161 @@ v_cmp_nge_f32 vcc, 0xaf123456, v2
v_cmp_nge_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x12,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_nge_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x12,0x7c]
+v_cmp_nge_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x13,0x7c]
-v_cmp_nge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x12,0x7c]
+v_cmp_nge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x13,0x7c]
+v_cmp_nge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_nge_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x12,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x12,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x12,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xff,0x03,0x00]
v_cmp_nge_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x12,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_nge_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_nge_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_nge_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_nge_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_nge_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmp_nge_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x14,0x7c]
-v_cmp_nge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nlg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x14,0x7c]
v_cmp_nlg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x14,0x7c]
@@ -45552,119 +52011,161 @@ v_cmp_nlg_f32 vcc, 0xaf123456, v2
v_cmp_nlg_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x14,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_nlg_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x14,0x7c]
+v_cmp_nlg_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x15,0x7c]
-v_cmp_nlg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x14,0x7c]
+v_cmp_nlg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_nlg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x15,0x7c]
+v_cmp_nlg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6f,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7c,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7f,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xc1,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf0,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf7,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xff,0x03,0x00]
v_cmp_nlg_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmp_nlg_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_nlg_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_nlg_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_nlg_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_nlg_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_nlg_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x16,0x7c]
-v_cmp_nlg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_ngt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x16,0x7c]
v_cmp_ngt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x16,0x7c]
@@ -45726,119 +52227,161 @@ v_cmp_ngt_f32 vcc, 0xaf123456, v2
v_cmp_ngt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x16,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_ngt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x16,0x7c]
+v_cmp_ngt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x17,0x7c]
-v_cmp_ngt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x16,0x7c]
+v_cmp_ngt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x16,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x16,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x16,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x16,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x16,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x17,0x7c]
+v_cmp_ngt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x16,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x16,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x16,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ngt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x16,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x16,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x16,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x16,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x16,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x16,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x16,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x16,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x16,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xff,0x03,0x00]
v_cmp_ngt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x16,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmp_ngt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ngt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_ngt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_ngt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_ngt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x16,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_ngt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x18,0x7c]
-v_cmp_ngt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x16,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nle_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x18,0x7c]
v_cmp_nle_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x18,0x7c]
@@ -45900,119 +52443,161 @@ v_cmp_nle_f32 vcc, 0xaf123456, v2
v_cmp_nle_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x18,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_nle_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x18,0x7c]
+v_cmp_nle_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x19,0x7c]
-v_cmp_nle_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x18,0x7c]
+v_cmp_nle_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x18,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x18,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x18,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x18,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x18,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x19,0x7c]
+v_cmp_nle_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x18,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x18,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x18,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_nle_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x18,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x18,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x18,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x18,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x18,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x18,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x18,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x18,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x18,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xff,0x03,0x00]
v_cmp_nle_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x18,0xd0,0xff,0x05,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmp_nle_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_nle_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_nle_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_nle_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_nle_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x18,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_nle_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x1a,0x7c]
-v_cmp_nle_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x18,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_neq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x1a,0x7c]
v_cmp_neq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x1a,0x7c]
@@ -46074,119 +52659,161 @@ v_cmp_neq_f32 vcc, 0xaf123456, v2
v_cmp_neq_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x1a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_neq_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x1a,0x7c]
+v_cmp_neq_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x1b,0x7c]
-v_cmp_neq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x1a,0x7c]
+v_cmp_neq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x1a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x1a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x1a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x1a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x1a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x1b,0x7c]
+v_cmp_neq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x1a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x1a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x1a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_neq_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x1a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x1a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x1a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x1a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x1a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x1a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x1a,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x1a,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x1a,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xff,0x03,0x00]
v_cmp_neq_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x1a,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmp_neq_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_neq_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_neq_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_neq_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_neq_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x1a,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_neq_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x1c,0x7c]
-v_cmp_neq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x1a,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nlt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x1c,0x7c]
v_cmp_nlt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x1c,0x7c]
@@ -46248,119 +52875,161 @@ v_cmp_nlt_f32 vcc, 0xaf123456, v2
v_cmp_nlt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x1c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_nlt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x1c,0x7c]
+v_cmp_nlt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x1d,0x7c]
-v_cmp_nlt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x1c,0x7c]
+v_cmp_nlt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x1c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x1c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x1c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x1c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x1c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x1c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x1d,0x7c]
+v_cmp_nlt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x1c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x1c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x1c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x1c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x1c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x1c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x1c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x1c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x1c,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x1c,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0xc1,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x1c,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xff,0x03,0x00]
v_cmp_nlt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x1c,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmp_nlt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_nlt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_nlt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_nlt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_nlt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x1c,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_nlt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x1e,0x7c]
-v_cmp_nlt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x1c,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_tru_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x1e,0x7c]
v_cmp_tru_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x1e,0x7c]
@@ -46422,119 +53091,161 @@ v_cmp_tru_f32 vcc, 0xaf123456, v2
v_cmp_tru_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x1e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_tru_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x1e,0x7c]
+v_cmp_tru_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x1f,0x7c]
-v_cmp_tru_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x1e,0x7c]
+v_cmp_tru_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x1e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x1e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x1e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x1e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x1e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x1f,0x7c]
+v_cmp_tru_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x1e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x1e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x1e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_tru_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x1e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x1e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x1e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x1e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x69,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x1e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x1e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x1e,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x1e,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x1e,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xff,0x03,0x00]
v_cmp_tru_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0x05,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x1e,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmp_tru_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xce,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xcf,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xd0,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xd2,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xd3,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xd4,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xd6,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xf8,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xf9,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xfc,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xfe,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xff,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0x00,0x01,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0x82,0x01,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xe0,0x01,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xee,0x01,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_tru_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_tru_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0x05,0x02,0x40]
-v_cmp_tru_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0x04,0x00,0x20]
+v_cmp_tru_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x1e,0xd0,0x01,0x05,0x02,0x60]
-v_cmp_tru_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x20,0x7c]
-v_cmp_tru_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x1e,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_f_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x20,0x7c]
v_cmpx_f_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x20,0x7c]
@@ -46596,119 +53307,161 @@ v_cmpx_f_f32 vcc, 0xaf123456, v2
v_cmpx_f_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x20,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_f_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x20,0x7c]
+v_cmpx_f_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x21,0x7c]
-v_cmpx_f_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x20,0x7c]
+v_cmpx_f_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_f_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x21,0x7c]
+v_cmpx_f_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xf7,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_f_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmpx_f_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_f_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_f_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_f_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x20]
+v_cmpx_f_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_f_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x22,0x7c]
-v_cmpx_f_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_lt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x22,0x7c]
v_cmpx_lt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x22,0x7c]
@@ -46770,119 +53523,161 @@ v_cmpx_lt_f32 vcc, 0xaf123456, v2
v_cmpx_lt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x22,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_lt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x22,0x7c]
+v_cmpx_lt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x23,0x7c]
-v_cmpx_lt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x22,0x7c]
+v_cmpx_lt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x23,0x7c]
+v_cmpx_lt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_lt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x22,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x22,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x22,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_lt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x22,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_lt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_lt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_lt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_lt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_lt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x24,0x7c]
-v_cmpx_lt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_eq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x24,0x7c]
v_cmpx_eq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x24,0x7c]
@@ -46944,119 +53739,161 @@ v_cmpx_eq_f32 vcc, 0xaf123456, v2
v_cmpx_eq_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x24,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_eq_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x24,0x7c]
+v_cmpx_eq_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x25,0x7c]
-v_cmpx_eq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x24,0x7c]
+v_cmpx_eq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_eq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x25,0x7c]
+v_cmpx_eq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x24,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x24,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xf7,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x24,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_eq_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x24,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmpx_eq_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_eq_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_eq_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_eq_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x20]
+v_cmpx_eq_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_eq_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x26,0x7c]
-v_cmpx_eq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_le_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x26,0x7c]
v_cmpx_le_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x26,0x7c]
@@ -47118,119 +53955,161 @@ v_cmpx_le_f32 vcc, 0xaf123456, v2
v_cmpx_le_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x26,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_le_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x26,0x7c]
+v_cmpx_le_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x27,0x7c]
-v_cmpx_le_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x26,0x7c]
+v_cmpx_le_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x27,0x7c]
+v_cmpx_le_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_le_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_le_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpx_le_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_le_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_le_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_le_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x20]
+v_cmpx_le_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_le_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x28,0x7c]
-v_cmpx_le_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_gt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x28,0x7c]
v_cmpx_gt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x28,0x7c]
@@ -47292,119 +54171,161 @@ v_cmpx_gt_f32 vcc, 0xaf123456, v2
v_cmpx_gt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x28,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_gt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x28,0x7c]
+v_cmpx_gt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x29,0x7c]
-v_cmpx_gt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x28,0x7c]
+v_cmpx_gt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x29,0x7c]
+v_cmpx_gt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_gt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_gt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmpx_gt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_gt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_gt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_gt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x20]
+v_cmpx_gt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_gt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x2a,0x7c]
-v_cmpx_gt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_lg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x2a,0x7c]
v_cmpx_lg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x2a,0x7c]
@@ -47466,119 +54387,161 @@ v_cmpx_lg_f32 vcc, 0xaf123456, v2
v_cmpx_lg_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x2a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_lg_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x2a,0x7c]
+v_cmpx_lg_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x2b,0x7c]
-v_cmpx_lg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x2a,0x7c]
+v_cmpx_lg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x2b,0x7c]
+v_cmpx_lg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_lg_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_lg_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_lg_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_lg_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_lg_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lg_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_lg_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_lg_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x2c,0x7c]
-v_cmpx_lg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_ge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x2c,0x7c]
v_cmpx_ge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x2c,0x7c]
@@ -47640,119 +54603,161 @@ v_cmpx_ge_f32 vcc, 0xaf123456, v2
v_cmpx_ge_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x2c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_ge_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x2c,0x7c]
+v_cmpx_ge_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x2d,0x7c]
-v_cmpx_ge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x2c,0x7c]
+v_cmpx_ge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x2d,0x7c]
+v_cmpx_ge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ge_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_ge_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_ge_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_ge_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_ge_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_ge_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_ge_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x2e,0x7c]
-v_cmpx_ge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_o_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x2e,0x7c]
v_cmpx_o_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x2e,0x7c]
@@ -47814,119 +54819,161 @@ v_cmpx_o_f32 vcc, 0xaf123456, v2
v_cmpx_o_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x2e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_o_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x2e,0x7c]
+v_cmpx_o_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x2f,0x7c]
-v_cmpx_o_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x2e,0x7c]
+v_cmpx_o_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x2f,0x7c]
+v_cmpx_o_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_o_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_o_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_o_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_o_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_o_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_o_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_o_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x30,0x7c]
-v_cmpx_o_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_u_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x30,0x7c]
v_cmpx_u_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x30,0x7c]
@@ -47988,119 +55035,161 @@ v_cmpx_u_f32 vcc, 0xaf123456, v2
v_cmpx_u_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x30,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_u_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x30,0x7c]
+v_cmpx_u_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x31,0x7c]
-v_cmpx_u_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x30,0x7c]
+v_cmpx_u_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x31,0x7c]
+v_cmpx_u_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_u_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_u_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmpx_u_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_u_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_u_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_u_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x20]
+v_cmpx_u_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_u_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x32,0x7c]
-v_cmpx_u_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x32,0x7c]
v_cmpx_nge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x32,0x7c]
@@ -48162,119 +55251,161 @@ v_cmpx_nge_f32 vcc, 0xaf123456, v2
v_cmpx_nge_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x32,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_nge_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x32,0x7c]
+v_cmpx_nge_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x33,0x7c]
-v_cmpx_nge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x32,0x7c]
+v_cmpx_nge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x33,0x7c]
+v_cmpx_nge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_nge_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_nge_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_nge_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_nge_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_nge_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_nge_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_nge_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_nge_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x34,0x7c]
-v_cmpx_nge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nlg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x34,0x7c]
v_cmpx_nlg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x34,0x7c]
@@ -48336,119 +55467,161 @@ v_cmpx_nlg_f32 vcc, 0xaf123456, v2
v_cmpx_nlg_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x34,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_nlg_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x34,0x7c]
+v_cmpx_nlg_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x35,0x7c]
-v_cmpx_nlg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x34,0x7c]
+v_cmpx_nlg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x35,0x7c]
+v_cmpx_nlg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_nlg_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_nlg_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_nlg_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_nlg_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_nlg_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_nlg_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x36,0x7c]
-v_cmpx_nlg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_ngt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x36,0x7c]
v_cmpx_ngt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x36,0x7c]
@@ -48510,119 +55683,161 @@ v_cmpx_ngt_f32 vcc, 0xaf123456, v2
v_cmpx_ngt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x36,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_ngt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x36,0x7c]
+v_cmpx_ngt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x37,0x7c]
-v_cmpx_ngt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x36,0x7c]
+v_cmpx_ngt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x37,0x7c]
+v_cmpx_ngt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ngt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_ngt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_ngt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_ngt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_ngt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_ngt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x38,0x7c]
-v_cmpx_ngt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nle_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x38,0x7c]
v_cmpx_nle_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x38,0x7c]
@@ -48684,119 +55899,161 @@ v_cmpx_nle_f32 vcc, 0xaf123456, v2
v_cmpx_nle_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x38,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_nle_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x38,0x7c]
+v_cmpx_nle_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x39,0x7c]
-v_cmpx_nle_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x38,0x7c]
+v_cmpx_nle_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nle_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x39,0x7c]
+v_cmpx_nle_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_nle_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpx_nle_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_nle_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_nle_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_nle_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x20]
+v_cmpx_nle_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_nle_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x3a,0x7c]
-v_cmpx_nle_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_neq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x3a,0x7c]
v_cmpx_neq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x3a,0x7c]
@@ -48858,119 +56115,161 @@ v_cmpx_neq_f32 vcc, 0xaf123456, v2
v_cmpx_neq_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x3a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_neq_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x3a,0x7c]
+v_cmpx_neq_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x3b,0x7c]
-v_cmpx_neq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x3a,0x7c]
+v_cmpx_neq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x3b,0x7c]
+v_cmpx_neq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_neq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_neq_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_neq_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_neq_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_neq_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_neq_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_neq_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_neq_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x3c,0x7c]
-v_cmpx_neq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nlt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x3c,0x7c]
v_cmpx_nlt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x3c,0x7c]
@@ -49032,119 +56331,161 @@ v_cmpx_nlt_f32 vcc, 0xaf123456, v2
v_cmpx_nlt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x3c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_nlt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x3c,0x7c]
+v_cmpx_nlt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x3d,0x7c]
-v_cmpx_nlt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x3c,0x7c]
+v_cmpx_nlt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x3d,0x7c]
+v_cmpx_nlt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_nlt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_nlt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_nlt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_nlt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_nlt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x40]
+v_cmpx_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x3e,0x7c]
-v_cmpx_nlt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_tru_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x3e,0x7c]
v_cmpx_tru_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x3e,0x7c]
@@ -49206,119 +56547,161 @@ v_cmpx_tru_f32 vcc, 0xaf123456, v2
v_cmpx_tru_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x3e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_tru_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x3e,0x7c]
+v_cmpx_tru_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x3f,0x7c]
-v_cmpx_tru_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x3e,0x7c]
+v_cmpx_tru_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x3f,0x7c]
+v_cmpx_tru_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x69,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xff,0x03,0x00]
v_cmpx_tru_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0xff,0x05,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xce,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xff,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x00,0x01,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x82,0x01,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xee,0x01,0x00]
+v_cmpx_tru_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_tru_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x40]
-v_cmpx_tru_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_tru_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x60]
-v_cmpx_tru_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpx_tru_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x40]
+v_cmp_f_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x40,0x7c]
-v_cmpx_tru_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_f_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x40,0x7c]
v_cmp_f_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x40,0x7c]
@@ -49365,83 +56748,131 @@ v_cmp_f_f64 vcc, 0xaf123456, v[2:3]
v_cmp_f_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x40,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_f_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x40,0x7c]
+v_cmp_f_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x41,0x7c]
-v_cmp_f_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x40,0x7c]
+v_cmp_f_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x41,0x7c]
+v_cmp_f_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x40,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x40,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x40,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x40,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x40,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_f_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x40,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_f_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x40,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_f_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_f_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_f_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_f_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_f_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_f_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_f_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_f_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_f_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_f_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_f_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_f_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_f_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_f_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_f_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_f_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_f_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_f_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_f_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_f_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_f_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_f_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_f_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_f_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_f_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_f_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_f_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_f_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_f_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_f_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_f_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_lt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x42,0x7c]
+
+v_cmp_lt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x42,0x7c]
v_cmp_lt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x42,0x7c]
@@ -49488,83 +56919,131 @@ v_cmp_lt_f64 vcc, 0xaf123456, v[2:3]
v_cmp_lt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x42,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_lt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x42,0x7c]
+v_cmp_lt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x43,0x7c]
-v_cmp_lt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x42,0x7c]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x43,0x7c]
+v_cmp_lt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x42,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x42,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x42,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x42,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x42,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_lt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x42,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_lt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x42,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_lt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_lt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_lt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_lt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_lt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_lt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_lt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_lt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_lt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_lt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_lt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_lt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_lt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_lt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_lt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_eq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x44,0x7c]
+
+v_cmp_eq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x44,0x7c]
v_cmp_eq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x44,0x7c]
@@ -49611,83 +57090,131 @@ v_cmp_eq_f64 vcc, 0xaf123456, v[2:3]
v_cmp_eq_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x44,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_eq_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x44,0x7c]
+v_cmp_eq_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x45,0x7c]
-v_cmp_eq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x44,0x7c]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x45,0x7c]
+v_cmp_eq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x44,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x44,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x44,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x44,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x44,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_eq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x44,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_eq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x44,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_eq_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_eq_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_eq_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_eq_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_eq_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_eq_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_eq_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_eq_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_eq_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_eq_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_eq_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_eq_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_eq_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_eq_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_eq_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_eq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_le_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x46,0x7c]
+
+v_cmp_le_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x46,0x7c]
v_cmp_le_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x46,0x7c]
@@ -49734,83 +57261,131 @@ v_cmp_le_f64 vcc, 0xaf123456, v[2:3]
v_cmp_le_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x46,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_le_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x46,0x7c]
+v_cmp_le_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x47,0x7c]
-v_cmp_le_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x46,0x7c]
+v_cmp_le_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x47,0x7c]
+v_cmp_le_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x46,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x46,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x46,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x46,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x46,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_le_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x46,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_le_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x46,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_le_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_le_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_le_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_le_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_le_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_le_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_le_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_le_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_le_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_le_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_le_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_le_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_le_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_le_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_le_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_le_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_le_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_le_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_le_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_le_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_le_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_le_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_le_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_le_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_le_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_le_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_gt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x48,0x7c]
+
+v_cmp_gt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x48,0x7c]
v_cmp_gt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x48,0x7c]
@@ -49857,83 +57432,131 @@ v_cmp_gt_f64 vcc, 0xaf123456, v[2:3]
v_cmp_gt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x48,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_gt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x48,0x7c]
+v_cmp_gt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x49,0x7c]
-v_cmp_gt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x48,0x7c]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x49,0x7c]
+v_cmp_gt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x48,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_gt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x48,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x02,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x48,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x48,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x48,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x48,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x48,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0xc1,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0xf0,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_gt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_gt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_gt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_gt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_gt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_gt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_gt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_gt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_gt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_gt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_gt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_gt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_lg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x4a,0x7c]
+
+v_cmp_lg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x4a,0x7c]
v_cmp_lg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x4a,0x7c]
@@ -49980,83 +57603,131 @@ v_cmp_lg_f64 vcc, 0xaf123456, v[2:3]
v_cmp_lg_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x4a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_lg_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x4a,0x7c]
+v_cmp_lg_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x4b,0x7c]
-v_cmp_lg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x4a,0x7c]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x4b,0x7c]
+v_cmp_lg_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x4a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x4a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x4a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x4a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x4a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_lg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x4a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_lg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x4a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_lg_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_lg_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_lg_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_lg_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_lg_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_lg_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_lg_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_lg_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_lg_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_lg_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lg_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_lg_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_lg_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_lg_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_lg_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_lg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_ge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x4c,0x7c]
+
+v_cmp_ge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x4c,0x7c]
v_cmp_ge_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x4c,0x7c]
@@ -50103,83 +57774,131 @@ v_cmp_ge_f64 vcc, 0xaf123456, v[2:3]
v_cmp_ge_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x4c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_ge_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x4c,0x7c]
+v_cmp_ge_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x4d,0x7c]
-v_cmp_ge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x4c,0x7c]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x4d,0x7c]
+v_cmp_ge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x4c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x4c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x4c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x4c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x4c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_ge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x4c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x4c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_ge_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ge_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_ge_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_ge_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_ge_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_ge_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_ge_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_ge_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_ge_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_ge_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ge_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_ge_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_ge_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_ge_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_ge_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_ge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_o_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x4e,0x7c]
+
+v_cmp_o_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x4e,0x7c]
v_cmp_o_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x4e,0x7c]
@@ -50226,83 +57945,131 @@ v_cmp_o_f64 vcc, 0xaf123456, v[2:3]
v_cmp_o_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x4e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_o_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x4e,0x7c]
+v_cmp_o_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x4f,0x7c]
-v_cmp_o_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x4e,0x7c]
+v_cmp_o_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x4f,0x7c]
+v_cmp_o_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x4e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x4e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_o_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x4e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x02,0x04,0x02,0x00]
-v_cmp_o_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x4e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_o_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x4e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_o_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x4e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_o_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x4e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_o_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_o_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x02,0x00]
-v_cmp_o_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x02,0x00]
-v_cmp_o_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_o_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_o_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_o_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_o_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_o_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_o_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_o_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_o_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_o_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_o_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_o_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_o_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_o_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_o_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_o_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_o_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_o_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_o_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_o_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_o_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_o_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_o_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_u_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x50,0x7c]
+
+v_cmp_u_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x50,0x7c]
v_cmp_u_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x50,0x7c]
@@ -50349,83 +58116,131 @@ v_cmp_u_f64 vcc, 0xaf123456, v[2:3]
v_cmp_u_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x50,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_u_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x50,0x7c]
+v_cmp_u_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x51,0x7c]
-v_cmp_u_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x50,0x7c]
+v_cmp_u_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x51,0x7c]
+v_cmp_u_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x50,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x50,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x50,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x50,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x50,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_u_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x50,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_u_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x50,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_u_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_u_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x50,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_u_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x50,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_u_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x50,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_u_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_u_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x50,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_u_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_u_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_u_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_u_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_u_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_u_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_u_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_u_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_u_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_u_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_u_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_u_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_u_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_u_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_u_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_u_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_u_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x50,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_u_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_u_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_u_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x52,0x7c]
+
+v_cmp_nge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x52,0x7c]
v_cmp_nge_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x52,0x7c]
@@ -50472,83 +58287,131 @@ v_cmp_nge_f64 vcc, 0xaf123456, v[2:3]
v_cmp_nge_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x52,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_nge_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x52,0x7c]
+v_cmp_nge_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x53,0x7c]
-v_cmp_nge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x52,0x7c]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x53,0x7c]
+v_cmp_nge_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x52,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x52,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x52,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x52,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x52,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_nge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x52,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_nge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x52,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_nge_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nge_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x52,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nge_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x52,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_nge_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x52,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_nge_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_nge_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x52,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_nge_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_nge_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_nge_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_nge_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nge_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_nge_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_nge_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_nge_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_nge_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x52,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_nge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nlg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x54,0x7c]
+
+v_cmp_nlg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x54,0x7c]
v_cmp_nlg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x54,0x7c]
@@ -50595,83 +58458,131 @@ v_cmp_nlg_f64 vcc, 0xaf123456, v[2:3]
v_cmp_nlg_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x54,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_nlg_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x54,0x7c]
+v_cmp_nlg_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x55,0x7c]
-v_cmp_nlg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x54,0x7c]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x55,0x7c]
+v_cmp_nlg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x54,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x54,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x54,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x54,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x54,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_nlg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x54,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_nlg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x54,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_nlg_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nlg_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x54,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nlg_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x54,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_nlg_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x54,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_nlg_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_nlg_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x54,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_nlg_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_nlg_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_nlg_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_nlg_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_nlg_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_nlg_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_nlg_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_nlg_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x54,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_ngt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x56,0x7c]
+
+v_cmp_ngt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x56,0x7c]
v_cmp_ngt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x56,0x7c]
@@ -50718,83 +58629,131 @@ v_cmp_ngt_f64 vcc, 0xaf123456, v[2:3]
v_cmp_ngt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x56,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_ngt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x56,0x7c]
+v_cmp_ngt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x57,0x7c]
-v_cmp_ngt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x56,0x7c]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x57,0x7c]
+v_cmp_ngt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x56,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x56,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x56,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x56,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x56,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_ngt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x56,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ngt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x56,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_ngt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ngt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x56,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_ngt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x56,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_ngt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x56,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_ngt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_ngt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x56,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_ngt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_ngt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_ngt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_ngt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_ngt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_ngt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_ngt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_ngt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x56,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nle_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x58,0x7c]
+
+v_cmp_nle_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x58,0x7c]
v_cmp_nle_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x58,0x7c]
@@ -50841,83 +58800,131 @@ v_cmp_nle_f64 vcc, 0xaf123456, v[2:3]
v_cmp_nle_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x58,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_nle_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x58,0x7c]
+v_cmp_nle_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x59,0x7c]
-v_cmp_nle_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x58,0x7c]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x59,0x7c]
+v_cmp_nle_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x58,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_nle_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x58,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x02,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x58,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x58,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x58,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x58,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x58,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x58,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0xc1,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x58,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0xf0,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x58,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_nle_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_nle_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x58,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_nle_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_nle_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_nle_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_nle_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nle_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xf5,0x00,0x00]
-v_cmp_nle_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_nle_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_nle_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_nle_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x58,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_nle_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_neq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x5a,0x7c]
+
+v_cmp_neq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x5a,0x7c]
v_cmp_neq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x5a,0x7c]
@@ -50964,83 +58971,131 @@ v_cmp_neq_f64 vcc, 0xaf123456, v[2:3]
v_cmp_neq_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x5a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_neq_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x5a,0x7c]
+v_cmp_neq_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x5b,0x7c]
-v_cmp_neq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x5a,0x7c]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x5b,0x7c]
+v_cmp_neq_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x5a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_neq_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x5a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x02,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x5a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x5a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x5a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x5a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x5a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_neq_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_neq_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_neq_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_neq_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_neq_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_neq_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_neq_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_neq_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_neq_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_neq_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_neq_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_neq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nlt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x5c,0x7c]
+
+v_cmp_nlt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x5c,0x7c]
v_cmp_nlt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x5c,0x7c]
@@ -51087,83 +59142,131 @@ v_cmp_nlt_f64 vcc, 0xaf123456, v[2:3]
v_cmp_nlt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x5c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_nlt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x5c,0x7c]
+v_cmp_nlt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x5d,0x7c]
-v_cmp_nlt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x5c,0x7c]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x5d,0x7c]
+v_cmp_nlt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x5c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x5c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x5c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x5c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x5c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x5c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x5c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_nlt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_nlt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_nlt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_nlt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_nlt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_nlt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_nlt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_nlt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_nlt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_nlt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_tru_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x5e,0x7c]
+
+v_cmp_tru_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x5e,0x7c]
v_cmp_tru_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x5e,0x7c]
@@ -51210,83 +59313,131 @@ v_cmp_tru_f64 vcc, 0xaf123456, v[2:3]
v_cmp_tru_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x5e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmp_tru_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x5e,0x7c]
+v_cmp_tru_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x5f,0x7c]
-v_cmp_tru_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x5e,0x7c]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x5f,0x7c]
+v_cmp_tru_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x5e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x5e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x5e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x5e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x5e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0x04,0x02,0x00]
-v_cmp_tru_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x5e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_tru_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x5e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x68,0x04,0x02,0x00]
-v_cmp_tru_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_tru_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0xc1,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_tru_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0xf0,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_tru_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0xf7,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xfd,0x03,0x00]
v_cmp_tru_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x09,0x00,0x00]
-v_cmp_tru_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0xfe,0x09,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x0d,0x00,0x00]
-v_cmp_tru_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0x00,0x01,0x00]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xcd,0x00,0x00]
-v_cmp_tru_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0x82,0x01,0x00]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmp_tru_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0xe0,0x01,0x00]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmp_tru_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0xee,0x01,0x00]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_tru_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0x04,0x02,0x00]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmp_tru_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0xfc,0x03,0x00]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x01,0x01,0x00]
-v_cmp_tru_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0x08,0x00,0x20]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x83,0x01,0x00]
-v_cmp_tru_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0x08,0x00,0x40]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xe1,0x01,0x00]
-v_cmp_tru_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x04,0x08,0x00,0x60]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_tru_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_f_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x60,0x7c]
+
+v_cmpx_f_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x60,0x7c]
v_cmpx_f_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x60,0x7c]
@@ -51333,83 +59484,131 @@ v_cmpx_f_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_f_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x60,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_f_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x60,0x7c]
+v_cmpx_f_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x61,0x7c]
-v_cmpx_f_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x60,0x7c]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x61,0x7c]
+v_cmpx_f_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_f_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_f_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_f_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_f_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_f_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_f_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_f_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_f_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpx_f_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_f_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_f_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_f_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_f_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_lt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x62,0x7c]
+
+v_cmpx_lt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x62,0x7c]
v_cmpx_lt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x62,0x7c]
@@ -51456,83 +59655,131 @@ v_cmpx_lt_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_lt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x62,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_lt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x62,0x7c]
+v_cmpx_lt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x63,0x7c]
-v_cmpx_lt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x62,0x7c]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x63,0x7c]
+v_cmpx_lt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_lt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_lt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_lt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_lt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_lt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_lt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_lt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_lt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_lt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_lt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_lt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpx_lt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_lt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_lt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_lt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_lt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_eq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x64,0x7c]
+
+v_cmpx_eq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x64,0x7c]
v_cmpx_eq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x64,0x7c]
@@ -51579,83 +59826,131 @@ v_cmpx_eq_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_eq_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x64,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_eq_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x64,0x7c]
+v_cmpx_eq_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x65,0x7c]
-v_cmpx_eq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x64,0x7c]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x65,0x7c]
+v_cmpx_eq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_eq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_eq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_eq_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_eq_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_eq_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_eq_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_eq_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_eq_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_eq_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_eq_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpx_eq_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_eq_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_eq_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_eq_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_eq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_le_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x66,0x7c]
+
+v_cmpx_le_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x66,0x7c]
v_cmpx_le_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x66,0x7c]
@@ -51702,83 +59997,131 @@ v_cmpx_le_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_le_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x66,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_le_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x66,0x7c]
+v_cmpx_le_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x67,0x7c]
-v_cmpx_le_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x66,0x7c]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x67,0x7c]
+v_cmpx_le_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_le_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_le_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_le_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_le_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_le_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_le_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_le_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_le_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_le_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_le_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_le_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_le_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_le_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_le_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_le_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_le_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_le_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_le_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_gt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x68,0x7c]
+
+v_cmpx_gt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x68,0x7c]
v_cmpx_gt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x68,0x7c]
@@ -51825,83 +60168,131 @@ v_cmpx_gt_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_gt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x68,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_gt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x68,0x7c]
+v_cmpx_gt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x69,0x7c]
-v_cmpx_gt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x68,0x7c]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x69,0x7c]
+v_cmpx_gt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_gt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_gt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_gt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_gt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_gt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_gt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_gt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpx_gt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_gt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_gt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_gt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_gt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_lg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x6a,0x7c]
+
+v_cmpx_lg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x6a,0x7c]
v_cmpx_lg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x6a,0x7c]
@@ -51948,83 +60339,131 @@ v_cmpx_lg_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_lg_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x6a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_lg_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x6a,0x7c]
+v_cmpx_lg_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x6b,0x7c]
-v_cmpx_lg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x6a,0x7c]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x6b,0x7c]
+v_cmpx_lg_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_lg_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_lg_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_lg_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_lg_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_lg_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_lg_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_lg_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lg_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_lg_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_lg_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_lg_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_lg_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_lg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_ge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x6c,0x7c]
+
+v_cmpx_ge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x6c,0x7c]
v_cmpx_ge_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x6c,0x7c]
@@ -52071,83 +60510,131 @@ v_cmpx_ge_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_ge_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x6c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_ge_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x6c,0x7c]
+v_cmpx_ge_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x6d,0x7c]
-v_cmpx_ge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x6c,0x7c]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x6d,0x7c]
+v_cmpx_ge_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_ge_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_ge_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_ge_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_ge_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_ge_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_ge_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_ge_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_ge_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_ge_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_ge_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_ge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_o_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x6e,0x7c]
+
+v_cmpx_o_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x6e,0x7c]
v_cmpx_o_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x6e,0x7c]
@@ -52194,83 +60681,131 @@ v_cmpx_o_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_o_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x6e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_o_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x6e,0x7c]
+v_cmpx_o_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x6f,0x7c]
-v_cmpx_o_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x6e,0x7c]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x6f,0x7c]
+v_cmpx_o_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_o_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_o_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_o_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_o_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_o_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_o_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_o_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_o_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_o_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_o_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_o_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_o_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_o_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_o_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_o_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_o_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_o_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_o_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_u_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x70,0x7c]
+
+v_cmpx_u_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x70,0x7c]
v_cmpx_u_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x70,0x7c]
@@ -52317,83 +60852,131 @@ v_cmpx_u_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_u_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x70,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_u_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x70,0x7c]
+v_cmpx_u_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x71,0x7c]
-v_cmpx_u_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x70,0x7c]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x71,0x7c]
+v_cmpx_u_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x70,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x70,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x70,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x70,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_u_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_u_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x70,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_u_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_u_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_u_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_u_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_u_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_u_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_u_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_u_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_u_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_u_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x72,0x7c]
+
+v_cmpx_nge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x72,0x7c]
v_cmpx_nge_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x72,0x7c]
@@ -52440,83 +61023,131 @@ v_cmpx_nge_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_nge_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x72,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_nge_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x72,0x7c]
+v_cmpx_nge_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x73,0x7c]
-v_cmpx_nge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x72,0x7c]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x73,0x7c]
+v_cmpx_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_nge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_nge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nge_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x72,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nge_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x72,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_nge_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x72,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_nge_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x72,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_nge_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_nge_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x72,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_nge_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_nge_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_nge_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_nge_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nge_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_nge_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_nge_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_nge_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_nge_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_nge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nlg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x74,0x7c]
+
+v_cmpx_nlg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x74,0x7c]
v_cmpx_nlg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x74,0x7c]
@@ -52563,83 +61194,131 @@ v_cmpx_nlg_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_nlg_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x74,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_nlg_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x74,0x7c]
+v_cmpx_nlg_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x75,0x7c]
-v_cmpx_nlg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x74,0x7c]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x75,0x7c]
+v_cmpx_nlg_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_nlg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nlg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_nlg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x74,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x74,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x74,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x74,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_nlg_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x74,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_nlg_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_ngt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x76,0x7c]
+
+v_cmpx_ngt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x76,0x7c]
v_cmpx_ngt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x76,0x7c]
@@ -52686,83 +61365,131 @@ v_cmpx_ngt_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_ngt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x76,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_ngt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x76,0x7c]
+v_cmpx_ngt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x77,0x7c]
-v_cmpx_ngt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x76,0x7c]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x77,0x7c]
+v_cmpx_ngt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_ngt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x76,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x76,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x76,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x76,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_ngt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x76,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_ngt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nle_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x78,0x7c]
+
+v_cmpx_nle_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x78,0x7c]
v_cmpx_nle_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x78,0x7c]
@@ -52809,83 +61536,131 @@ v_cmpx_nle_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_nle_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x78,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_nle_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x78,0x7c]
+v_cmpx_nle_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x79,0x7c]
-v_cmpx_nle_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x78,0x7c]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x79,0x7c]
+v_cmpx_nle_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_nle_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_nle_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_nle_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_nle_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_nle_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_nle_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_nle_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nle_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpx_nle_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_nle_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_nle_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_nle_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_nle_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_neq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x7a,0x7c]
+
+v_cmpx_neq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x7a,0x7c]
v_cmpx_neq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x7a,0x7c]
@@ -52932,83 +61707,131 @@ v_cmpx_neq_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_neq_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x7a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_neq_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x7a,0x7c]
+v_cmpx_neq_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x7b,0x7c]
-v_cmpx_neq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x7a,0x7c]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x7b,0x7c]
+v_cmpx_neq_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_neq_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x80,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_neq_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_neq_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_neq_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_neq_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_neq_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_neq_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_neq_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_neq_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_neq_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_neq_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_neq_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_neq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nlt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x7c,0x7c]
+
+v_cmpx_nlt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x7c,0x7c]
v_cmpx_nlt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x7c,0x7c]
@@ -53055,83 +61878,131 @@ v_cmpx_nlt_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_nlt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x7c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_nlt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x7c,0x7c]
+v_cmpx_nlt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x7d,0x7c]
-v_cmpx_nlt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x7c,0x7c]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x7d,0x7c]
+v_cmpx_nlt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_nlt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_nlt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_tru_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x7e,0x7c]
+
+v_cmpx_tru_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x7e,0x7c]
v_cmpx_tru_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x7e,0x7c]
@@ -53178,83 +62049,131 @@ v_cmpx_tru_f64 vcc, 0xaf123456, v[2:3]
v_cmpx_tru_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x7e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpx_tru_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x7e,0x7c]
+v_cmpx_tru_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x7f,0x7c]
-v_cmpx_tru_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x7e,0x7c]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x7f,0x7c]
+v_cmpx_tru_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_tru_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_tru_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x68,0x04,0x02,0x00]
-v_cmpx_tru_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_tru_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_tru_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_tru_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x03,0x00]
v_cmpx_tru_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x09,0x00,0x00]
-v_cmpx_tru_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpx_tru_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x00,0x01,0x00]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpx_tru_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x82,0x01,0x00]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpx_tru_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpx_tru_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0xee,0x01,0x00]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_tru_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x04,0x02,0x00]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_tru_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x01,0x01,0x00]
-v_cmpx_tru_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x20]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x83,0x01,0x00]
-v_cmpx_tru_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x40]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpx_tru_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_tru_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x80,0x7c]
+
+v_cmps_f_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x80,0x7c]
v_cmps_f_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x80,0x7c]
@@ -53316,119 +62235,161 @@ v_cmps_f_f32 vcc, 0xaf123456, v2
v_cmps_f_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x80,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_f_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x80,0x7c]
+v_cmps_f_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x81,0x7c]
-v_cmps_f_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x80,0x7c]
+v_cmps_f_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x80,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x80,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x80,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x80,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x80,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x80,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x80,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmps_f_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmps_f_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmps_f_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmps_f_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmps_f_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmps_f_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_f_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x81,0x7c]
+v_cmps_f_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_f_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x80,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_f_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x80,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x6f,0x04,0x02,0x00]
-v_cmps_f_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x80,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x7b,0x04,0x02,0x00]
-v_cmps_f_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x80,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x7c,0x04,0x02,0x00]
-v_cmps_f_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x80,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x7e,0x04,0x02,0x00]
-v_cmps_f_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x80,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x7f,0x04,0x02,0x00]
-v_cmps_f_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x80,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_f_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0xc1,0x04,0x02,0x00]
-v_cmps_f_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x80,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0xf0,0x04,0x02,0x00]
-v_cmps_f_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x80,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0xf7,0x04,0x02,0x00]
-v_cmps_f_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x80,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xff,0x03,0x00]
v_cmps_f_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x80,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_f_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmps_f_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_f_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_f_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_f_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_f_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_f_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x80,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_f_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x82,0x7c]
-v_cmps_f_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x80,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_lt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x82,0x7c]
v_cmps_lt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x82,0x7c]
@@ -53490,119 +62451,161 @@ v_cmps_lt_f32 vcc, 0xaf123456, v2
v_cmps_lt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x82,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_lt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x82,0x7c]
+v_cmps_lt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x83,0x7c]
-v_cmps_lt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x82,0x7c]
+v_cmps_lt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x82,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x82,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x82,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x82,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x82,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x83,0x7c]
+v_cmps_lt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x82,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x82,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x82,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_lt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x82,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_lt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x82,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_lt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x82,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_lt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x82,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_lt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x82,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_lt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x82,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_lt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x82,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x82,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_lt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x82,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_lt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xff,0x03,0x00]
v_cmps_lt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x82,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_lt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_lt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_lt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_lt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_lt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_lt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x82,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_lt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmps_lt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x84,0x7c]
-v_cmps_lt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x82,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_eq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x84,0x7c]
v_cmps_eq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x84,0x7c]
@@ -53664,119 +62667,161 @@ v_cmps_eq_f32 vcc, 0xaf123456, v2
v_cmps_eq_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x84,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_eq_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x84,0x7c]
+v_cmps_eq_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x85,0x7c]
-v_cmps_eq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x84,0x7c]
+v_cmps_eq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x84,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x84,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x84,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x84,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x84,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x84,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x84,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_eq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x85,0x7c]
+v_cmps_eq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x84,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x84,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x6f,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x84,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x7b,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x84,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x7c,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x84,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x7e,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x84,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x7f,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x84,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_eq_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0xc1,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x84,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0xf0,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x84,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0xf7,0x04,0x02,0x00]
-v_cmps_eq_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x84,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xff,0x03,0x00]
v_cmps_eq_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x84,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_eq_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmps_eq_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_eq_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_eq_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_eq_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_eq_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_eq_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x84,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_eq_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x86,0x7c]
-v_cmps_eq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x84,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_le_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x86,0x7c]
v_cmps_le_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x86,0x7c]
@@ -53838,119 +62883,161 @@ v_cmps_le_f32 vcc, 0xaf123456, v2
v_cmps_le_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x86,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_le_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x86,0x7c]
+v_cmps_le_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x87,0x7c]
-v_cmps_le_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x86,0x7c]
+v_cmps_le_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_le_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x86,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_le_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x86,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_le_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x86,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_le_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x86,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_le_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x86,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_le_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x87,0x7c]
+v_cmps_le_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x86,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_le_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x86,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_le_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x86,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_le_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x86,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_le_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x86,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_le_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x86,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_le_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x86,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_le_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x86,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_le_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x86,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_le_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x86,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_le_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x86,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_le_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x86,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_le_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xff,0x03,0x00]
v_cmps_le_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x86,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmps_le_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_le_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_le_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_le_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_le_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_le_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_le_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x86,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_le_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x88,0x7c]
-v_cmps_le_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x86,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_gt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x88,0x7c]
v_cmps_gt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x88,0x7c]
@@ -54012,119 +63099,161 @@ v_cmps_gt_f32 vcc, 0xaf123456, v2
v_cmps_gt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x88,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_gt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x88,0x7c]
+v_cmps_gt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x89,0x7c]
-v_cmps_gt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x88,0x7c]
+v_cmps_gt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x88,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x88,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x88,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x88,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x88,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_gt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x89,0x7c]
+v_cmps_gt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x88,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x88,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_gt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x88,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_gt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x88,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_gt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x88,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_gt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x88,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_gt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x88,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_gt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x88,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_gt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x88,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_gt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x88,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x88,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0x04,0x02,0x00]
-v_cmps_gt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x88,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_gt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xff,0x03,0x00]
v_cmps_gt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x88,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_gt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmps_gt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_gt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_gt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_gt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_gt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_gt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x88,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_gt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8a,0x7c]
-v_cmps_gt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x88,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_lg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8a,0x7c]
v_cmps_lg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8a,0x7c]
@@ -54186,119 +63315,161 @@ v_cmps_lg_f32 vcc, 0xaf123456, v2
v_cmps_lg_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x8a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_lg_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x8a,0x7c]
+v_cmps_lg_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x8b,0x7c]
-v_cmps_lg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8a,0x7c]
+v_cmps_lg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x8a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x8a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x8a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x8a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x8a,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8b,0x7c]
+v_cmps_lg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x8a,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x8a,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lg_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x8a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_lg_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x8a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_lg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x8a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_lg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x8a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_lg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x8a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_lg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x8a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_lg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x8a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_lg_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x8a,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x8a,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_lg_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x8a,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_lg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xff,0x03,0x00]
v_cmps_lg_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x8a,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_lg_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_lg_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_lg_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_lg_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_lg_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_lg_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x8a,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_lg_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmps_lg_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8c,0x7c]
-v_cmps_lg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x8a,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_ge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8c,0x7c]
v_cmps_ge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8c,0x7c]
@@ -54360,119 +63531,161 @@ v_cmps_ge_f32 vcc, 0xaf123456, v2
v_cmps_ge_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x8c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_ge_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x8c,0x7c]
+v_cmps_ge_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x8d,0x7c]
-v_cmps_ge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8c,0x7c]
+v_cmps_ge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x8c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x8c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x8c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x8c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x8c,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8d,0x7c]
+v_cmps_ge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x8c,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x8c,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ge_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x8c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_ge_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x8c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_ge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x8c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_ge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x8c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_ge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x8c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_ge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x8c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_ge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x8c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_ge_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x8c,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x8c,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0x04,0x02,0x00]
-v_cmps_ge_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x8c,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_ge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xff,0x03,0x00]
v_cmps_ge_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x8c,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_ge_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_ge_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_ge_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_ge_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_ge_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_ge_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x8c,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_ge_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmps_ge_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8e,0x7c]
-v_cmps_ge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x8c,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_o_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8e,0x7c]
v_cmps_o_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8e,0x7c]
@@ -54534,119 +63747,161 @@ v_cmps_o_f32 vcc, 0xaf123456, v2
v_cmps_o_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x8e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_o_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x8e,0x7c]
+v_cmps_o_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x8f,0x7c]
-v_cmps_o_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8e,0x7c]
+v_cmps_o_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_o_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x8e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_o_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x8e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_o_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x8e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_o_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x8e,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8f,0x7c]
+v_cmps_o_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x8e,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_o_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x8e,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x8e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_o_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x8e,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x8e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_o_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x8e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_o_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x8e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_o_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x8e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_o_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x8e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_o_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x8e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_o_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x8e,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_o_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x8e,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_o_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x8e,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_o_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xff,0x03,0x00]
v_cmps_o_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x8e,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_o_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_o_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_o_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_o_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_o_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_o_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x8e,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_o_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmps_o_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x90,0x7c]
-v_cmps_o_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x8e,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_u_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x90,0x7c]
v_cmps_u_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x90,0x7c]
@@ -54708,119 +63963,161 @@ v_cmps_u_f32 vcc, 0xaf123456, v2
v_cmps_u_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x90,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_u_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x90,0x7c]
+v_cmps_u_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x91,0x7c]
-v_cmps_u_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x90,0x7c]
+v_cmps_u_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_u_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x90,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_u_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x90,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_u_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x90,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_u_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x90,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_u_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x90,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_u_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x91,0x7c]
+v_cmps_u_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x90,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_u_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x90,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_u_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x90,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_u_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x90,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_u_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x90,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_u_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x90,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_u_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x90,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_u_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x90,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_u_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x90,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_u_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x90,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_u_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x90,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0x04,0x02,0x00]
-v_cmps_u_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x90,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_u_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xff,0x03,0x00]
v_cmps_u_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x90,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_u_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmps_u_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_u_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_u_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_u_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_u_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_u_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x90,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_u_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x92,0x7c]
-v_cmps_u_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x90,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_nge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x92,0x7c]
v_cmps_nge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x92,0x7c]
@@ -54882,119 +64179,161 @@ v_cmps_nge_f32 vcc, 0xaf123456, v2
v_cmps_nge_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x92,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_nge_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x92,0x7c]
+v_cmps_nge_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x93,0x7c]
-v_cmps_nge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x92,0x7c]
+v_cmps_nge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x92,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x92,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x92,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x92,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x92,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x93,0x7c]
+v_cmps_nge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x92,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x92,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nge_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x92,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_nge_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x92,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_nge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x92,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_nge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x92,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_nge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x92,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_nge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x92,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_nge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x92,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_nge_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x92,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x92,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_nge_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x92,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_nge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xff,0x03,0x00]
v_cmps_nge_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x92,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_nge_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_nge_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_nge_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_nge_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_nge_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_nge_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x92,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_nge_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmps_nge_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x94,0x7c]
-v_cmps_nge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x92,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_nlg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x94,0x7c]
v_cmps_nlg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x94,0x7c]
@@ -55056,119 +64395,161 @@ v_cmps_nlg_f32 vcc, 0xaf123456, v2
v_cmps_nlg_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x94,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_nlg_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x94,0x7c]
+v_cmps_nlg_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x95,0x7c]
-v_cmps_nlg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x94,0x7c]
+v_cmps_nlg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x94,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x94,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x94,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x94,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x94,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x94,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x94,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_nlg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x95,0x7c]
+v_cmps_nlg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x94,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x94,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x6f,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x94,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x7b,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x94,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x7c,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x94,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x7e,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x94,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x7f,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x94,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_nlg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0xc1,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x94,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0xf0,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x94,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0xf7,0x04,0x02,0x00]
-v_cmps_nlg_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x94,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xff,0x03,0x00]
v_cmps_nlg_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x94,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_nlg_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmps_nlg_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_nlg_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_nlg_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_nlg_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_nlg_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_nlg_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x94,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_nlg_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x96,0x7c]
-v_cmps_nlg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x94,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_ngt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x96,0x7c]
v_cmps_ngt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x96,0x7c]
@@ -55230,119 +64611,161 @@ v_cmps_ngt_f32 vcc, 0xaf123456, v2
v_cmps_ngt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x96,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_ngt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x96,0x7c]
+v_cmps_ngt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x97,0x7c]
-v_cmps_ngt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x96,0x7c]
+v_cmps_ngt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x96,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x96,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x96,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x96,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x96,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ngt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x97,0x7c]
+v_cmps_ngt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x96,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x96,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ngt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x96,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_ngt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x96,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_ngt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x96,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_ngt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x96,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_ngt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x96,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_ngt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x96,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_ngt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x96,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_ngt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x96,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x96,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_ngt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x96,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_ngt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xff,0x03,0x00]
v_cmps_ngt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x96,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmps_ngt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_ngt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_ngt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_ngt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_ngt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_ngt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_ngt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x96,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_ngt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x98,0x7c]
-v_cmps_ngt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x96,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_nle_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x98,0x7c]
v_cmps_nle_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x98,0x7c]
@@ -55404,119 +64827,161 @@ v_cmps_nle_f32 vcc, 0xaf123456, v2
v_cmps_nle_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x98,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_nle_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x98,0x7c]
+v_cmps_nle_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x99,0x7c]
-v_cmps_nle_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x98,0x7c]
+v_cmps_nle_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x98,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x98,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x98,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x98,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x98,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nle_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x99,0x7c]
+v_cmps_nle_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x98,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x98,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nle_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x98,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_nle_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x98,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_nle_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x98,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_nle_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x98,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_nle_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x98,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_nle_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x98,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_nle_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x98,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_nle_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x98,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x98,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0x04,0x02,0x00]
-v_cmps_nle_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x98,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_nle_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xff,0x03,0x00]
v_cmps_nle_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x98,0xd0,0xff,0x05,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_nle_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmps_nle_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_nle_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_nle_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_nle_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_nle_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_nle_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x98,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_nle_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9a,0x7c]
-v_cmps_nle_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x98,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_neq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9a,0x7c]
v_cmps_neq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9a,0x7c]
@@ -55578,119 +65043,161 @@ v_cmps_neq_f32 vcc, 0xaf123456, v2
v_cmps_neq_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x9a,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_neq_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x9a,0x7c]
+v_cmps_neq_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x9b,0x7c]
-v_cmps_neq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9a,0x7c]
+v_cmps_neq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x9a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x9a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x9a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x9a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x9a,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_neq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9b,0x7c]
+v_cmps_neq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x9a,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x9a,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_neq_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x9a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_neq_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x9a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_neq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x9a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_neq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x9a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_neq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x9a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_neq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x9a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_neq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x9a,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_neq_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x9a,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x9a,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_neq_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x9a,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_neq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xff,0x03,0x00]
v_cmps_neq_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x9a,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmps_neq_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_neq_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_neq_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_neq_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_neq_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_neq_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_neq_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x9a,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_neq_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9c,0x7c]
-v_cmps_neq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x9a,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_nlt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9c,0x7c]
v_cmps_nlt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9c,0x7c]
@@ -55752,119 +65259,161 @@ v_cmps_nlt_f32 vcc, 0xaf123456, v2
v_cmps_nlt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x9c,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_nlt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x9c,0x7c]
+v_cmps_nlt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x9d,0x7c]
-v_cmps_nlt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9c,0x7c]
+v_cmps_nlt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x9c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x9c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x9c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x9c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x9c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x9c,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9d,0x7c]
+v_cmps_nlt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x9c,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_nlt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x9c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_nlt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x9c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_nlt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x9c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_nlt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x9c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_nlt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x9c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_nlt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x9c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_nlt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x9c,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_nlt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x9c,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0x04,0x02,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x9c,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0xc1,0x04,0x02,0x00]
-v_cmps_nlt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x9c,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_nlt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xff,0x03,0x00]
v_cmps_nlt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x9c,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmps_nlt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_nlt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_nlt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_nlt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_nlt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_nlt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_nlt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x9c,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_nlt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9e,0x7c]
-v_cmps_nlt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x9c,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_tru_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9e,0x7c]
v_cmps_tru_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9e,0x7c]
@@ -55926,119 +65475,161 @@ v_cmps_tru_f32 vcc, 0xaf123456, v2
v_cmps_tru_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x9e,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_tru_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x9e,0x7c]
+v_cmps_tru_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x9f,0x7c]
-v_cmps_tru_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9e,0x7c]
+v_cmps_tru_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x9e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x9e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x9e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_tru_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x9e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_tru_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x9e,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9f,0x7c]
+v_cmps_tru_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x9e,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x9e,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x9e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0xff,0x05,0x02,0x00]
-v_cmps_tru_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x9e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0x04,0x02,0x00]
-v_cmps_tru_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x9e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x67,0x04,0x02,0x00]
-v_cmps_tru_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x9e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_tru_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x9e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x69,0x04,0x02,0x00]
-v_cmps_tru_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x9e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_tru_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x9e,0xd0,0x80,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x6b,0x04,0x02,0x00]
-v_cmps_tru_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x9e,0xd0,0xc1,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x9e,0xd0,0xf0,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x6d,0x04,0x02,0x00]
-v_cmps_tru_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x9e,0xd0,0xf7,0x04,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_tru_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xff,0x03,0x00]
v_cmps_tru_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0x05,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x9e,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmps_tru_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xce,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xcf,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xd0,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xd2,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xd3,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xd4,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xd6,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xd7,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xda,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xde,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xf7,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xf8,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xf9,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xfc,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xfe,0x00,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xff,0x00,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0x00,0x01,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0x82,0x01,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xe0,0x01,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xee,0x01,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_tru_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0x04,0x02,0x00]
+v_cmps_tru_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0x05,0x02,0x20]
-v_cmps_tru_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0xfe,0x03,0x00]
+v_cmps_tru_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0x05,0x02,0x40]
-v_cmps_tru_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0x04,0x00,0x20]
+v_cmps_tru_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0x9e,0xd0,0x01,0x05,0x02,0x60]
-v_cmps_tru_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa0,0x7c]
-v_cmps_tru_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x9e,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_f_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa0,0x7c]
v_cmpsx_f_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa0,0x7c]
@@ -56100,119 +65691,161 @@ v_cmpsx_f_f32 vcc, 0xaf123456, v2
v_cmpsx_f_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa0,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_f_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa0,0x7c]
+v_cmpsx_f_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa1,0x7c]
-v_cmpsx_f_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa0,0x7c]
+v_cmpsx_f_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_f_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa1,0x7c]
+v_cmpsx_f_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_f_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x02,0x00]
-v_cmpsx_f_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_f_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0xff,0x05,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_f_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmpsx_f_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_f_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_f_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_f_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_f_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_f_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_f_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa2,0x7c]
-v_cmpsx_f_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_lt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa2,0x7c]
v_cmpsx_lt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa2,0x7c]
@@ -56274,119 +65907,161 @@ v_cmpsx_lt_f32 vcc, 0xaf123456, v2
v_cmpsx_lt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa2,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_lt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa2,0x7c]
+v_cmpsx_lt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa3,0x7c]
-v_cmpsx_lt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa2,0x7c]
+v_cmpsx_lt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa3,0x7c]
+v_cmpsx_lt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_lt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_lt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_lt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_lt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_lt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_lt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_lt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_lt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0xff,0x05,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_lt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_lt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_lt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_lt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_lt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x20]
-
-v_cmpsx_lt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa4,0x7c]
-v_cmpsx_lt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_eq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa4,0x7c]
v_cmpsx_eq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa4,0x7c]
@@ -56448,119 +66123,161 @@ v_cmpsx_eq_f32 vcc, 0xaf123456, v2
v_cmpsx_eq_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa4,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_eq_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa4,0x7c]
+v_cmpsx_eq_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa5,0x7c]
-v_cmpsx_eq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa4,0x7c]
+v_cmpsx_eq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_eq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa5,0x7c]
+v_cmpsx_eq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_eq_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x02,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_eq_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0xff,0x05,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_eq_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmpsx_eq_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_eq_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_eq_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_eq_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_eq_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_eq_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa6,0x7c]
-v_cmpsx_eq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_le_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa6,0x7c]
v_cmpsx_le_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa6,0x7c]
@@ -56622,119 +66339,161 @@ v_cmpsx_le_f32 vcc, 0xaf123456, v2
v_cmpsx_le_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa6,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_le_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa6,0x7c]
+v_cmpsx_le_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa7,0x7c]
-v_cmpsx_le_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa6,0x7c]
+v_cmpsx_le_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_le_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_le_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_le_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa7,0x7c]
+v_cmpsx_le_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_le_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_le_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_le_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_le_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_le_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_le_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_le_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_le_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_le_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_le_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_le_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_le_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_le_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_le_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_le_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_le_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_le_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_le_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa8,0x7c]
-v_cmpsx_le_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_gt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa8,0x7c]
v_cmpsx_gt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa8,0x7c]
@@ -56796,119 +66555,161 @@ v_cmpsx_gt_f32 vcc, 0xaf123456, v2
v_cmpsx_gt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa8,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_gt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa8,0x7c]
+v_cmpsx_gt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa9,0x7c]
-v_cmpsx_gt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa8,0x7c]
+v_cmpsx_gt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x69,0x04,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_gt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa9,0x7c]
+v_cmpsx_gt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_gt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x02,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_gt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0xff,0x05,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_gt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmpsx_gt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_gt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_gt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_gt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_gt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_gt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xaa,0x7c]
-v_cmpsx_gt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_lg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xaa,0x7c]
v_cmpsx_lg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xaa,0x7c]
@@ -56970,119 +66771,161 @@ v_cmpsx_lg_f32 vcc, 0xaf123456, v2
v_cmpsx_lg_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xaa,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_lg_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xaa,0x7c]
+v_cmpsx_lg_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xab,0x7c]
-v_cmpsx_lg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xaa,0x7c]
+v_cmpsx_lg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xab,0x7c]
+v_cmpsx_lg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lg_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_lg_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_lg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_lg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_lg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_lg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_lg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_lg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_lg_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_lg_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_lg_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_lg_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_lg_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_lg_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_lg_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_lg_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xac,0x7c]
-v_cmpsx_lg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_ge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xac,0x7c]
v_cmpsx_ge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xac,0x7c]
@@ -57144,119 +66987,161 @@ v_cmpsx_ge_f32 vcc, 0xaf123456, v2
v_cmpsx_ge_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xac,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_ge_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xac,0x7c]
+v_cmpsx_ge_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xad,0x7c]
-v_cmpsx_ge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xac,0x7c]
+v_cmpsx_ge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xad,0x7c]
+v_cmpsx_ge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_ge_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_ge_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_ge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_ge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_ge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_ge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_ge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xac,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xac,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xac,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_ge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_ge_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xac,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_ge_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_ge_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_ge_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_ge_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_ge_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_ge_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_ge_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xae,0x7c]
-v_cmpsx_ge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_o_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xae,0x7c]
v_cmpsx_o_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xae,0x7c]
@@ -57318,119 +67203,161 @@ v_cmpsx_o_f32 vcc, 0xaf123456, v2
v_cmpsx_o_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xae,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_o_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xae,0x7c]
+v_cmpsx_o_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xaf,0x7c]
-v_cmpsx_o_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xae,0x7c]
+v_cmpsx_o_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_o_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_o_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_o_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xaf,0x7c]
+v_cmpsx_o_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_o_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_o_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_o_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_o_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_o_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_o_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_o_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xae,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xae,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_o_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xae,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_o_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_o_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xae,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_o_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_o_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_o_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_o_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_o_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_o_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_o_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_o_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb0,0x7c]
-v_cmpsx_o_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_u_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb0,0x7c]
v_cmpsx_u_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb0,0x7c]
@@ -57492,119 +67419,161 @@ v_cmpsx_u_f32 vcc, 0xaf123456, v2
v_cmpsx_u_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xb0,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_u_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xb0,0x7c]
+v_cmpsx_u_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xb1,0x7c]
-v_cmpsx_u_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb0,0x7c]
+v_cmpsx_u_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_u_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_u_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_u_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_u_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_u_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb1,0x7c]
+v_cmpsx_u_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_u_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_u_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_u_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_u_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_u_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_u_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_u_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_u_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_u_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_u_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_u_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_u_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_u_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_u_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_u_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_u_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_u_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_u_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_u_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb2,0x7c]
-v_cmpsx_u_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_nge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb2,0x7c]
v_cmpsx_nge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb2,0x7c]
@@ -57666,119 +67635,161 @@ v_cmpsx_nge_f32 vcc, 0xaf123456, v2
v_cmpsx_nge_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xb2,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_nge_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xb2,0x7c]
+v_cmpsx_nge_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xb3,0x7c]
-v_cmpsx_nge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb2,0x7c]
+v_cmpsx_nge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb3,0x7c]
+v_cmpsx_nge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_nge_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_nge_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_nge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_nge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_nge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_nge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_nge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_nge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_nge_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_nge_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_nge_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_nge_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_nge_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_nge_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_nge_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_nge_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb4,0x7c]
-v_cmpsx_nge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_nlg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb4,0x7c]
v_cmpsx_nlg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb4,0x7c]
@@ -57840,119 +67851,161 @@ v_cmpsx_nlg_f32 vcc, 0xaf123456, v2
v_cmpsx_nlg_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xb4,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_nlg_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xb4,0x7c]
+v_cmpsx_nlg_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xb5,0x7c]
-v_cmpsx_nlg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb4,0x7c]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb5,0x7c]
+v_cmpsx_nlg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_nlg_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_nlg_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_nlg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_nlg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_nlg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_nlg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_nlg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_nlg_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_nlg_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_nlg_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_nlg_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_nlg_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_nlg_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb6,0x7c]
-v_cmpsx_nlg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_ngt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb6,0x7c]
v_cmpsx_ngt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb6,0x7c]
@@ -58014,119 +68067,161 @@ v_cmpsx_ngt_f32 vcc, 0xaf123456, v2
v_cmpsx_ngt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xb6,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_ngt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xb6,0x7c]
+v_cmpsx_ngt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xb7,0x7c]
-v_cmpsx_ngt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb6,0x7c]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ngt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb7,0x7c]
+v_cmpsx_ngt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ngt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_ngt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_ngt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_ngt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_ngt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_ngt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_ngt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_ngt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_ngt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_ngt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_ngt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_ngt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_ngt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb8,0x7c]
-v_cmpsx_ngt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_nle_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb8,0x7c]
v_cmpsx_nle_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb8,0x7c]
@@ -58188,119 +68283,161 @@ v_cmpsx_nle_f32 vcc, 0xaf123456, v2
v_cmpsx_nle_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xb8,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_nle_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xb8,0x7c]
+v_cmpsx_nle_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xb9,0x7c]
-v_cmpsx_nle_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb8,0x7c]
+v_cmpsx_nle_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nle_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb9,0x7c]
+v_cmpsx_nle_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nle_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_nle_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_nle_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_nle_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_nle_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_nle_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_nle_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_nle_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_nle_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0xff,0x05,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_nle_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xee,0x01,0x00]
-
-v_cmpsx_nle_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_nle_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_nle_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_nle_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_nle_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_nle_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xba,0x7c]
-v_cmpsx_nle_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_neq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xba,0x7c]
v_cmpsx_neq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xba,0x7c]
@@ -58362,119 +68499,161 @@ v_cmpsx_neq_f32 vcc, 0xaf123456, v2
v_cmpsx_neq_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xba,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_neq_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xba,0x7c]
+v_cmpsx_neq_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xbb,0x7c]
-v_cmpsx_neq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xba,0x7c]
+v_cmpsx_neq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_neq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbb,0x7c]
+v_cmpsx_neq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_neq_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_neq_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_neq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_neq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_neq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_neq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_neq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xba,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xba,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xba,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_neq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_neq_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xba,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_neq_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_neq_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_neq_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_neq_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_neq_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_neq_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_neq_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbc,0x7c]
-v_cmpsx_neq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_nlt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbc,0x7c]
v_cmpsx_nlt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbc,0x7c]
@@ -58536,119 +68715,161 @@ v_cmpsx_nlt_f32 vcc, 0xaf123456, v2
v_cmpsx_nlt_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xbc,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_nlt_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xbc,0x7c]
+v_cmpsx_nlt_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xbd,0x7c]
-v_cmpsx_nlt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbc,0x7c]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbd,0x7c]
+v_cmpsx_nlt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_nlt_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_nlt_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_nlt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_nlt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_nlt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_nlt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_nlt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_nlt_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_nlt_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_nlt_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_nlt_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_nlt_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_nlt_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x40]
+v_cmpsx_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbe,0x7c]
-v_cmpsx_nlt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x60]
+v_cmpsx_tru_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbe,0x7c]
v_cmpsx_tru_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbe,0x7c]
@@ -58710,119 +68931,161 @@ v_cmpsx_tru_f32 vcc, 0xaf123456, v2
v_cmpsx_tru_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xbe,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_tru_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xbe,0x7c]
+v_cmpsx_tru_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xbf,0x7c]
-v_cmpsx_tru_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbe,0x7c]
+v_cmpsx_tru_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_tru_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbf,0x7c]
+v_cmpsx_tru_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_tru_f32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xff,0x05,0x02,0x00]
-v_cmpsx_tru_f32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x04,0x02,0x00]
-v_cmpsx_tru_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x67,0x04,0x02,0x00]
-v_cmpsx_tru_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_tru_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x69,0x04,0x02,0x00]
-v_cmpsx_tru_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_tru_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7f,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_tru_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xff,0x03,0x00]
v_cmpsx_tru_f32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0xff,0x05,0x00,0x00]
-
-v_cmpsx_tru_f32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xce,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xcf,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xd0,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xd2,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd3,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xd4,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xd6,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xda,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xde,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xf8,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xf9,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xfc,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x00,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xff,0x00,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x00,0x01,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x82,0x01,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xe0,0x01,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xee,0x01,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xef,0x01,0x00]
-v_cmpsx_tru_f32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x02,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x20]
-v_cmpsx_tru_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpsx_tru_f32_e64 s[10:11], v1, -v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x40]
-v_cmpsx_tru_f32_e64 s[10:11], neg(0), s2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x20]
+v_cmpsx_tru_f32_e64 s[10:11], -v1, -v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x60]
-v_cmpsx_tru_f32_e64 s[10:11], 0, -s2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x40]
+v_cmps_f_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc0,0x7c]
-v_cmpsx_tru_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x60]
+v_cmps_f_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc0,0x7c]
v_cmps_f_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc0,0x7c]
@@ -58869,83 +69132,131 @@ v_cmps_f_f64 vcc, 0xaf123456, v[2:3]
v_cmps_f_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc0,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_f_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc0,0x7c]
+v_cmps_f_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc1,0x7c]
-v_cmps_f_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc0,0x7c]
+v_cmps_f_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_f_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc1,0x7c]
+v_cmps_f_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_f_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_f_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_f_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_f_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_f_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_f_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_f_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_f_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_f_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_f_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_f_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_f_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_f_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_f_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_f_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_f_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_f_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_f_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_f_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_f_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_f_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_f_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_f_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_f_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_f_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_f_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_f_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_f_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_f_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_f_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_f_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_f_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_f_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_f_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_f_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_f_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_f_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_f_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_f_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_f_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_f_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_f_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_f_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_f_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_f_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_f_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_f_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_f_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_f_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_f_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_f_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_f_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_f_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_f_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_f_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_f_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_f_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_lt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc2,0x7c]
+
+v_cmps_lt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc2,0x7c]
v_cmps_lt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc2,0x7c]
@@ -58992,83 +69303,131 @@ v_cmps_lt_f64 vcc, 0xaf123456, v[2:3]
v_cmps_lt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc2,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_lt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc2,0x7c]
+v_cmps_lt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc3,0x7c]
-v_cmps_lt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc2,0x7c]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc3,0x7c]
+v_cmps_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_lt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_lt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_lt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_lt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_lt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_lt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_lt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_lt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_lt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_lt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_lt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_lt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_lt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_lt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_lt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_lt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_lt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_lt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_lt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_lt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_lt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_lt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_lt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_eq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc4,0x7c]
+
+v_cmps_eq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc4,0x7c]
v_cmps_eq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc4,0x7c]
@@ -59115,83 +69474,131 @@ v_cmps_eq_f64 vcc, 0xaf123456, v[2:3]
v_cmps_eq_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc4,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_eq_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc4,0x7c]
+v_cmps_eq_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc5,0x7c]
-v_cmps_eq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc4,0x7c]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_eq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc5,0x7c]
+v_cmps_eq_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_eq_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_eq_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_eq_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_eq_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_eq_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_eq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_eq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_eq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_eq_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_eq_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_eq_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_eq_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_eq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_eq_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_eq_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_eq_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_eq_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_eq_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_eq_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_eq_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_eq_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_eq_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_eq_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_eq_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_eq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_eq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_eq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_eq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_le_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc6,0x7c]
+
+v_cmps_le_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc6,0x7c]
v_cmps_le_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc6,0x7c]
@@ -59238,83 +69645,131 @@ v_cmps_le_f64 vcc, 0xaf123456, v[2:3]
v_cmps_le_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc6,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_le_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc6,0x7c]
+v_cmps_le_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc7,0x7c]
-v_cmps_le_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc6,0x7c]
+v_cmps_le_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_le_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_le_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_le_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc7,0x7c]
+v_cmps_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_le_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_le_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_le_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_le_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_le_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_le_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_le_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_le_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_le_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_le_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_le_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_le_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_le_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_le_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_le_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_le_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_le_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_le_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_le_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_le_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_le_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_le_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_le_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_le_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_le_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_le_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_le_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_le_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_le_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_le_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_le_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_le_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_le_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_le_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_le_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_le_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_le_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_le_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_le_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_le_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_le_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_le_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_le_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_le_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_le_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_le_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmps_le_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_le_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_le_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_le_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_le_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_le_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_le_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xef,0x01,0x00]
-v_cmps_le_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_le_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_le_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_le_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_gt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc8,0x7c]
+
+v_cmps_gt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc8,0x7c]
v_cmps_gt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc8,0x7c]
@@ -59361,83 +69816,131 @@ v_cmps_gt_f64 vcc, 0xaf123456, v[2:3]
v_cmps_gt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc8,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_gt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc8,0x7c]
+v_cmps_gt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc9,0x7c]
-v_cmps_gt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc8,0x7c]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_gt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_gt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc9,0x7c]
+v_cmps_gt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_gt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xfe,0x05,0x02,0x00]
-v_cmps_gt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x02,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmps_gt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmps_gt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmps_gt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x7e,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x02,0x00]
-v_cmps_gt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_gt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_gt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_gt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_gt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_gt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_gt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_gt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_gt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_gt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_gt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_gt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_gt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_gt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_gt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_gt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_gt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_gt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_lg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xca,0x7c]
+
+v_cmps_lg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xca,0x7c]
v_cmps_lg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xca,0x7c]
@@ -59484,83 +69987,131 @@ v_cmps_lg_f64 vcc, 0xaf123456, v[2:3]
v_cmps_lg_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xca,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_lg_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xca,0x7c]
+v_cmps_lg_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcb,0x7c]
-v_cmps_lg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xca,0x7c]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_lg_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcb,0x7c]
+v_cmps_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lg_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lg_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xca,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lg_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xca,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lg_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xca,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_lg_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xca,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_lg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xca,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_lg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xca,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_lg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xca,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_lg_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_lg_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_lg_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_lg_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_lg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_lg_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_lg_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_lg_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_lg_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_lg_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_lg_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_lg_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_lg_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_lg_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_lg_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_lg_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_lg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_lg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_lg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_lg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_ge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xcc,0x7c]
+
+v_cmps_ge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xcc,0x7c]
v_cmps_ge_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xcc,0x7c]
@@ -59607,83 +70158,131 @@ v_cmps_ge_f64 vcc, 0xaf123456, v[2:3]
v_cmps_ge_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xcc,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_ge_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xcc,0x7c]
+v_cmps_ge_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcd,0x7c]
-v_cmps_ge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xcc,0x7c]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcd,0x7c]
+v_cmps_ge_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ge_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ge_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xcc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ge_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xcc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ge_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xcc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ge_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xcc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_ge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xcc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_ge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xcc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_ge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xcc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_ge_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_ge_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_ge_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_ge_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_ge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_ge_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_ge_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_ge_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_ge_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_ge_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_ge_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_ge_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_ge_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_ge_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_ge_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_ge_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_ge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_ge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_ge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_ge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_o_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xce,0x7c]
+
+v_cmps_o_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xce,0x7c]
v_cmps_o_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xce,0x7c]
@@ -59730,83 +70329,131 @@ v_cmps_o_f64 vcc, 0xaf123456, v[2:3]
v_cmps_o_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xce,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_o_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xce,0x7c]
+v_cmps_o_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcf,0x7c]
-v_cmps_o_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xce,0x7c]
+v_cmps_o_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_o_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcf,0x7c]
+v_cmps_o_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xce,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_o_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xce,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_o_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xce,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_o_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xce,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_o_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_o_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xce,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_o_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_o_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_o_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_o_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xce,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_o_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_o_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xce,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_o_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_o_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_o_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_o_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_o_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_o_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_o_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_o_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_o_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmps_o_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_o_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_o_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_o_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_o_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_o_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_o_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_o_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_o_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_o_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_o_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_o_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_o_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_o_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_o_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_o_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_o_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_o_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_o_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_o_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_o_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_o_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_o_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_o_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_o_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_o_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_o_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_o_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_o_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_o_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_o_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_o_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_u_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd0,0x7c]
+
+v_cmps_u_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd0,0x7c]
v_cmps_u_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd0,0x7c]
@@ -59853,83 +70500,131 @@ v_cmps_u_f64 vcc, 0xaf123456, v[2:3]
v_cmps_u_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xd0,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_u_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xd0,0x7c]
+v_cmps_u_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd1,0x7c]
-v_cmps_u_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd0,0x7c]
+v_cmps_u_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_u_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_u_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd1,0x7c]
+v_cmps_u_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_u_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_u_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xd0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_u_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_u_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xd0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_u_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_u_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xd0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_u_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_u_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xd0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_u_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_u_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_u_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_u_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_u_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xd0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_u_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_u_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xd0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_u_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_u_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xd0,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_u_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_u_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_u_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_u_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_u_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_u_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_u_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_u_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_u_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_u_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_u_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_u_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_u_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_u_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_u_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_u_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_u_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_u_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_u_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_u_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_u_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_u_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_u_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_u_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_u_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_u_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_u_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_u_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_u_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_u_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_u_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_u_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_u_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_u_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_u_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_u_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_u_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_u_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_u_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_u_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_nge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd2,0x7c]
+
+v_cmps_nge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd2,0x7c]
v_cmps_nge_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd2,0x7c]
@@ -59976,83 +70671,131 @@ v_cmps_nge_f64 vcc, 0xaf123456, v[2:3]
v_cmps_nge_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xd2,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_nge_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xd2,0x7c]
+v_cmps_nge_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd3,0x7c]
-v_cmps_nge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd2,0x7c]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nge_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd3,0x7c]
+v_cmps_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nge_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nge_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xd2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nge_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xd2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nge_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xd2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nge_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xd2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_nge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xd2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_nge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xd2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_nge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xd2,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_nge_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_nge_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_nge_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_nge_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_nge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_nge_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_nge_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_nge_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_nge_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_nge_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_nge_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_nge_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_nge_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_nge_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_nge_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_nge_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_nge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_nge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_nge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_nge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_nlg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd4,0x7c]
+
+v_cmps_nlg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd4,0x7c]
v_cmps_nlg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd4,0x7c]
@@ -60099,83 +70842,131 @@ v_cmps_nlg_f64 vcc, 0xaf123456, v[2:3]
v_cmps_nlg_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xd4,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_nlg_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xd4,0x7c]
+v_cmps_nlg_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd5,0x7c]
-v_cmps_nlg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd4,0x7c]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd5,0x7c]
+v_cmps_nlg_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlg_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlg_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xd4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlg_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xd4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlg_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xd4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlg_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xd4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_nlg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xd4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_nlg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xd4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_nlg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xd4,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_nlg_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_nlg_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_nlg_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_nlg_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_nlg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_nlg_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_nlg_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_nlg_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_nlg_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_nlg_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_nlg_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_nlg_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_nlg_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_nlg_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_nlg_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_nlg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_nlg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_ngt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd6,0x7c]
+
+v_cmps_ngt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd6,0x7c]
v_cmps_ngt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd6,0x7c]
@@ -60222,83 +71013,131 @@ v_cmps_ngt_f64 vcc, 0xaf123456, v[2:3]
v_cmps_ngt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xd6,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_ngt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xd6,0x7c]
+v_cmps_ngt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd7,0x7c]
-v_cmps_ngt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd6,0x7c]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_ngt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ngt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd7,0x7c]
+v_cmps_ngt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ngt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_ngt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xd6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xfe,0x05,0x02,0x00]
-v_cmps_ngt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xd6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x02,0x04,0x02,0x00]
-v_cmps_ngt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xd6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmps_ngt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmps_ngt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmps_ngt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_ngt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xd6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_ngt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xd6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_ngt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xd6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_ngt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xd6,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x7e,0x04,0x02,0x00]
-v_cmps_ngt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0x04,0x02,0x00]
-v_cmps_ngt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x02,0x00]
-v_cmps_ngt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x02,0x00]
-v_cmps_ngt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_ngt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_ngt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_ngt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_ngt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_ngt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_ngt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_ngt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_ngt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_ngt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_ngt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_ngt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_ngt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_nle_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd8,0x7c]
+
+v_cmps_nle_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd8,0x7c]
v_cmps_nle_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd8,0x7c]
@@ -60345,83 +71184,131 @@ v_cmps_nle_f64 vcc, 0xaf123456, v[2:3]
v_cmps_nle_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xd8,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_nle_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xd8,0x7c]
+v_cmps_nle_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd9,0x7c]
-v_cmps_nle_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd8,0x7c]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nle_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nle_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd9,0x7c]
+v_cmps_nle_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nle_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nle_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xd8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xfe,0x05,0x02,0x00]
-v_cmps_nle_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xd8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x02,0x04,0x02,0x00]
-v_cmps_nle_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xd8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmps_nle_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmps_nle_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmps_nle_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_nle_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xd8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_nle_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xd8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_nle_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xd8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_nle_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xd8,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x7e,0x04,0x02,0x00]
-v_cmps_nle_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0x04,0x02,0x00]
-v_cmps_nle_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x02,0x00]
-v_cmps_nle_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x02,0x00]
-v_cmps_nle_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_nle_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_nle_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_nle_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_nle_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_nle_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_nle_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_nle_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_nle_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_nle_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xf5,0x00,0x00]
-v_cmps_nle_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_nle_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_nle_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_nle_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_nle_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmps_nle_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_nle_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_nle_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_nle_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_neq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xda,0x7c]
+
+v_cmps_neq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xda,0x7c]
v_cmps_neq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xda,0x7c]
@@ -60468,83 +71355,131 @@ v_cmps_neq_f64 vcc, 0xaf123456, v[2:3]
v_cmps_neq_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xda,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_neq_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xda,0x7c]
+v_cmps_neq_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdb,0x7c]
-v_cmps_neq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xda,0x7c]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_neq_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_neq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdb,0x7c]
+v_cmps_neq_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_neq_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_neq_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xda,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0xfe,0x05,0x02,0x00]
-v_cmps_neq_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xda,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x02,0x04,0x02,0x00]
-v_cmps_neq_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xda,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmps_neq_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmps_neq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmps_neq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_neq_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xda,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_neq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xda,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_neq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xda,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_neq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xda,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x7e,0x04,0x02,0x00]
-v_cmps_neq_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0x04,0x02,0x00]
-v_cmps_neq_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xda,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0xc1,0x04,0x02,0x00]
-v_cmps_neq_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xda,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0xf0,0x04,0x02,0x00]
-v_cmps_neq_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xda,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_neq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_neq_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_neq_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xda,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_neq_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_neq_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_neq_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_neq_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_neq_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_neq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_neq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_neq_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_neq_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_neq_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_neq_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xda,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_neq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_neq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_neq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_neq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_nlt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xdc,0x7c]
+
+v_cmps_nlt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xdc,0x7c]
v_cmps_nlt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xdc,0x7c]
@@ -60591,83 +71526,131 @@ v_cmps_nlt_f64 vcc, 0xaf123456, v[2:3]
v_cmps_nlt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xdc,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_nlt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xdc,0x7c]
+v_cmps_nlt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdd,0x7c]
-v_cmps_nlt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xdc,0x7c]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdd,0x7c]
+v_cmps_nlt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xdc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xdc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xdc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_nlt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xdc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_nlt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xdc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_nlt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xdc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_nlt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xdc,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_nlt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_nlt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_nlt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x7a,0x04,0x02,0x00]
-v_cmps_nlt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_nlt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_nlt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_nlt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_nlt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_nlt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_nlt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_nlt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_nlt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_nlt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_nlt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_nlt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_nlt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_nlt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmps_tru_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xde,0x7c]
+
+v_cmps_tru_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xde,0x7c]
v_cmps_tru_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xde,0x7c]
@@ -60714,83 +71697,131 @@ v_cmps_tru_f64 vcc, 0xaf123456, v[2:3]
v_cmps_tru_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xde,0x7c,0x73,0x72,0x71,0x3f]
-v_cmps_tru_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xde,0x7c]
+v_cmps_tru_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdf,0x7c]
-v_cmps_tru_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xde,0x7c]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmps_tru_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdf,0x7c]
+v_cmps_tru_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xde,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xde,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xde,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xde,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
-v_cmps_tru_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xde,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0x04,0x02,0x00]
-v_cmps_tru_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xde,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x66,0x04,0x02,0x00]
-v_cmps_tru_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xde,0xd0,0x04,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x68,0x04,0x02,0x00]
-v_cmps_tru_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6a,0x04,0x02,0x00]
-v_cmps_tru_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xde,0xd0,0xc1,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6c,0x04,0x02,0x00]
-v_cmps_tru_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xde,0xd0,0xf0,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6e,0x04,0x02,0x00]
-v_cmps_tru_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xde,0xd0,0xf7,0x08,0x00,0x00]
+v_cmps_tru_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xfd,0x03,0x00]
v_cmps_tru_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x09,0x00,0x00]
-v_cmps_tru_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xde,0xd0,0xfe,0x09,0x00,0x00]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x0d,0x00,0x00]
-v_cmps_tru_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0x00,0x01,0x00]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xcd,0x00,0x00]
-v_cmps_tru_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0x82,0x01,0x00]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xd1,0x00,0x00]
-v_cmps_tru_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0xe0,0x01,0x00]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xd5,0x00,0x00]
-v_cmps_tru_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0xee,0x01,0x00]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xd9,0x00,0x00]
-v_cmps_tru_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0x04,0x02,0x00]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xfd,0x00,0x00]
-v_cmps_tru_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0xfc,0x03,0x00]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x01,0x01,0x00]
-v_cmps_tru_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0x08,0x00,0x20]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x83,0x01,0x00]
-v_cmps_tru_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0x08,0x00,0x40]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xe1,0x01,0x00]
-v_cmps_tru_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xde,0xd0,0x04,0x08,0x00,0x60]
+v_cmps_tru_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmps_tru_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmps_tru_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmps_tru_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_f_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe0,0x7c]
+
+v_cmpsx_f_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe0,0x7c]
v_cmpsx_f_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe0,0x7c]
@@ -60837,83 +71868,131 @@ v_cmpsx_f_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_f_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe0,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_f_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe0,0x7c]
+v_cmpsx_f_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe1,0x7c]
-v_cmpsx_f_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe0,0x7c]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_f_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_f_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe1,0x7c]
+v_cmpsx_f_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_f_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_f_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpsx_f_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x02,0x04,0x02,0x00]
-v_cmpsx_f_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpsx_f_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpsx_f_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_f_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_f_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_f_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_f_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_f_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_f_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_f_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_f_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_f_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_f_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_f_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_f_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_f_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_f_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_f_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_f_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpsx_f_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_f_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_f_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_f_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_f_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_f_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_f_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_lt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe2,0x7c]
+
+v_cmpsx_lt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe2,0x7c]
v_cmpsx_lt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe2,0x7c]
@@ -60960,83 +72039,131 @@ v_cmpsx_lt_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_lt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe2,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_lt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe2,0x7c]
+v_cmpsx_lt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe3,0x7c]
-v_cmpsx_lt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe2,0x7c]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe3,0x7c]
+v_cmpsx_lt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x04,0x02,0x00]
-v_cmpsx_lt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x66,0x04,0x02,0x00]
-v_cmpsx_lt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_lt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_lt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_lt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_lt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_lt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_eq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe4,0x7c]
+
+v_cmpsx_eq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe4,0x7c]
v_cmpsx_eq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe4,0x7c]
@@ -61083,83 +72210,131 @@ v_cmpsx_eq_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_eq_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe4,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_eq_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe4,0x7c]
+v_cmpsx_eq_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe5,0x7c]
-v_cmpsx_eq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe4,0x7c]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_eq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe5,0x7c]
+v_cmpsx_eq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_eq_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_eq_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_eq_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_eq_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_eq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x04,0x02,0x00]
-v_cmpsx_eq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x66,0x04,0x02,0x00]
-v_cmpsx_eq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_eq_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_eq_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_eq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_eq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_eq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_le_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe6,0x7c]
+
+v_cmpsx_le_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe6,0x7c]
v_cmpsx_le_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe6,0x7c]
@@ -61206,83 +72381,131 @@ v_cmpsx_le_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_le_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe6,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_le_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe6,0x7c]
+v_cmpsx_le_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe7,0x7c]
-v_cmpsx_le_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe6,0x7c]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_le_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe7,0x7c]
+v_cmpsx_le_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_le_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x04,0x02,0x00]
-v_cmpsx_le_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x66,0x04,0x02,0x00]
-v_cmpsx_le_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_le_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_le_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_le_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_le_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_le_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_le_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_le_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_le_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_le_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_le_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_le_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_le_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_le_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_le_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_le_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_le_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_le_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_le_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_le_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_gt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe8,0x7c]
+
+v_cmpsx_gt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe8,0x7c]
v_cmpsx_gt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe8,0x7c]
@@ -61329,83 +72552,131 @@ v_cmpsx_gt_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_gt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe8,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_gt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe8,0x7c]
+v_cmpsx_gt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe9,0x7c]
-v_cmpsx_gt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe8,0x7c]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_gt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_gt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe9,0x7c]
+v_cmpsx_gt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_gt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpsx_gt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x02,0x04,0x02,0x00]
-v_cmpsx_gt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpsx_gt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpsx_gt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_gt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_gt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_gt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_gt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_gt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_gt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_gt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_gt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_gt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_gt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_lg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xea,0x7c]
+
+v_cmpsx_lg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xea,0x7c]
v_cmpsx_lg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xea,0x7c]
@@ -61452,83 +72723,131 @@ v_cmpsx_lg_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_lg_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xea,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_lg_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xea,0x7c]
+v_cmpsx_lg_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xeb,0x7c]
-v_cmpsx_lg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xea,0x7c]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_lg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xeb,0x7c]
+v_cmpsx_lg_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_lg_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpsx_lg_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x02,0x04,0x02,0x00]
-v_cmpsx_lg_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpsx_lg_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpsx_lg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_lg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_lg_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_lg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_lg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_lg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_lg_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_lg_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_lg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_lg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_lg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_ge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xec,0x7c]
+
+v_cmpsx_ge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xec,0x7c]
v_cmpsx_ge_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xec,0x7c]
@@ -61575,83 +72894,131 @@ v_cmpsx_ge_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_ge_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xec,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_ge_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xec,0x7c]
+v_cmpsx_ge_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xed,0x7c]
-v_cmpsx_ge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xec,0x7c]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xed,0x7c]
+v_cmpsx_ge_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ge_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ge_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ge_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ge_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x04,0x02,0x00]
-v_cmpsx_ge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x66,0x04,0x02,0x00]
-v_cmpsx_ge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_ge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_ge_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_ge_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_ge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_ge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_ge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_o_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xee,0x7c]
+
+v_cmpsx_o_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xee,0x7c]
v_cmpsx_o_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xee,0x7c]
@@ -61698,83 +73065,131 @@ v_cmpsx_o_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_o_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xee,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_o_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xee,0x7c]
+v_cmpsx_o_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xef,0x7c]
-v_cmpsx_o_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xee,0x7c]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_o_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xef,0x7c]
+v_cmpsx_o_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_o_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x04,0x02,0x00]
-v_cmpsx_o_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x66,0x04,0x02,0x00]
-v_cmpsx_o_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_o_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_o_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_o_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_o_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_o_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_o_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_o_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_o_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_o_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_o_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_o_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_o_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_o_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_o_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_o_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_o_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_o_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_o_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_o_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_u_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf0,0x7c]
+
+v_cmpsx_u_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf0,0x7c]
v_cmpsx_u_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xf0,0x7c]
@@ -61821,83 +73236,131 @@ v_cmpsx_u_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_u_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xf0,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_u_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xf0,0x7c]
+v_cmpsx_u_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf1,0x7c]
-v_cmpsx_u_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf0,0x7c]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_u_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_u_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf1,0x7c]
+v_cmpsx_u_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_u_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_u_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_u_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_u_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_u_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x04,0x02,0x00]
-v_cmpsx_u_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x66,0x04,0x02,0x00]
-v_cmpsx_u_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_u_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_u_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_u_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_u_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_u_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_u_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_u_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_u_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_u_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_u_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_u_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_u_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_u_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_u_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_u_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_u_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_u_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_u_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_u_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_u_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_nge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf2,0x7c]
+
+v_cmpsx_nge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf2,0x7c]
v_cmpsx_nge_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xf2,0x7c]
@@ -61944,83 +73407,131 @@ v_cmpsx_nge_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_nge_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xf2,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_nge_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xf2,0x7c]
+v_cmpsx_nge_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf3,0x7c]
-v_cmpsx_nge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf2,0x7c]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nge_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf3,0x7c]
+v_cmpsx_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nge_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nge_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nge_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nge_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x04,0x02,0x00]
-v_cmpsx_nge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x66,0x04,0x02,0x00]
-v_cmpsx_nge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_nge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_nge_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_nge_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_nge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_nge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_nge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_nlg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf4,0x7c]
+
+v_cmpsx_nlg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf4,0x7c]
v_cmpsx_nlg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xf4,0x7c]
@@ -62067,83 +73578,131 @@ v_cmpsx_nlg_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_nlg_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xf4,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_nlg_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xf4,0x7c]
+v_cmpsx_nlg_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf5,0x7c]
-v_cmpsx_nlg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf4,0x7c]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf5,0x7c]
+v_cmpsx_nlg_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlg_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlg_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlg_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlg_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x04,0x02,0x00]
-v_cmpsx_nlg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x66,0x04,0x02,0x00]
-v_cmpsx_nlg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_nlg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_nlg_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_nlg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_nlg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_ngt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf6,0x7c]
+
+v_cmpsx_ngt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf6,0x7c]
v_cmpsx_ngt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xf6,0x7c]
@@ -62190,83 +73749,131 @@ v_cmpsx_ngt_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_ngt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xf6,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_ngt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xf6,0x7c]
+v_cmpsx_ngt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf7,0x7c]
-v_cmpsx_ngt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf6,0x7c]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_ngt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ngt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf7,0x7c]
+v_cmpsx_ngt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_ngt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpsx_ngt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x02,0x04,0x02,0x00]
-v_cmpsx_ngt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_ngt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_ngt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_ngt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_ngt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_ngt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_ngt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_ngt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_nle_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf8,0x7c]
+
+v_cmpsx_nle_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf8,0x7c]
v_cmpsx_nle_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xf8,0x7c]
@@ -62313,83 +73920,131 @@ v_cmpsx_nle_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_nle_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xf8,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_nle_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xf8,0x7c]
+v_cmpsx_nle_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf9,0x7c]
-v_cmpsx_nle_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf8,0x7c]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nle_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nle_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf9,0x7c]
+v_cmpsx_nle_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nle_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpsx_nle_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x02,0x04,0x02,0x00]
-v_cmpsx_nle_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpsx_nle_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpsx_nle_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_nle_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_nle_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_nle_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_nle_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_nle_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_nle_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xf5,0x00,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_nle_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_nle_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_nle_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_nle_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_neq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfa,0x7c]
+
+v_cmpsx_neq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfa,0x7c]
v_cmpsx_neq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xfa,0x7c]
@@ -62436,83 +74091,131 @@ v_cmpsx_neq_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_neq_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xfa,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_neq_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xfa,0x7c]
+v_cmpsx_neq_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfb,0x7c]
-v_cmpsx_neq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfa,0x7c]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_neq_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_neq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xfb,0x7c]
+v_cmpsx_neq_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_neq_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpsx_neq_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x02,0x04,0x02,0x00]
-v_cmpsx_neq_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpsx_neq_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpsx_neq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_neq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_neq_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_neq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_neq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_neq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_neq_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_neq_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_neq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_neq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_neq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_nlt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfc,0x7c]
+
+v_cmpsx_nlt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfc,0x7c]
v_cmpsx_nlt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xfc,0x7c]
@@ -62559,83 +74262,131 @@ v_cmpsx_nlt_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_nlt_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xfc,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_nlt_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xfc,0x7c]
+v_cmpsx_nlt_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfd,0x7c]
-v_cmpsx_nlt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfc,0x7c]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xfd,0x7c]
+v_cmpsx_nlt_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlt_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlt_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlt_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_nlt_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x02,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x04,0x02,0x00]
-v_cmpsx_nlt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x66,0x04,0x02,0x00]
-v_cmpsx_nlt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x68,0x04,0x02,0x00]
-v_cmpsx_nlt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_nlt_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_nlt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_nlt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpsx_tru_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfe,0x7c]
+
+v_cmpsx_tru_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfe,0x7c]
v_cmpsx_tru_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xfe,0x7c]
@@ -62682,83 +74433,131 @@ v_cmpsx_tru_f64 vcc, 0xaf123456, v[2:3]
v_cmpsx_tru_f64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xfe,0x7c,0x73,0x72,0x71,0x3f]
-v_cmpsx_tru_f64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xfe,0x7c]
+v_cmpsx_tru_f64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xff,0x7c]
-v_cmpsx_tru_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfe,0x7c]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpsx_tru_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_tru_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xff,0x7c]
+v_cmpsx_tru_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpsx_tru_f64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpsx_tru_f64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x02,0x04,0x02,0x00]
-v_cmpsx_tru_f64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpsx_tru_f64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpsx_tru_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x68,0x04,0x02,0x00]
+
+v_cmpsx_tru_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpsx_tru_f64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpsx_tru_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpsx_tru_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpsx_tru_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x80,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x80,0x04,0x02,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0xc1,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xc1,0x04,0x02,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0xf0,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xf0,0x04,0x02,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0xf7,0x08,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x03,0x00]
v_cmpsx_tru_f64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x09,0x00,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0xfe,0x09,0x00,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x0d,0x00,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x00,0x01,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xcd,0x00,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x82,0x01,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xd1,0x00,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0xe0,0x01,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xd5,0x00,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0xee,0x01,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x04,0x02,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x01,0x01,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], -s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x20]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x83,0x01,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x40]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xe1,0x01,0x00]
-v_cmpsx_tru_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x60]
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpsx_tru_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpsx_tru_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpsx_tru_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_f_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x00,0x7d]
+
+v_cmp_f_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x00,0x7d]
v_cmp_f_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x00,0x7d]
@@ -62820,110 +74619,152 @@ v_cmp_f_i32 vcc, 0xaf123456, v2
v_cmp_f_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x00,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_f_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x00,0x7d]
+v_cmp_f_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x01,0x7d]
-v_cmp_f_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x00,0x7d]
+v_cmp_f_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x00,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x00,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x00,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x00,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x00,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x00,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_f_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x01,0x7d]
+v_cmp_f_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x00,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_f_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x00,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_f_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x00,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_f_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x00,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_f_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x00,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_f_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x00,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_f_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x00,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_f_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x00,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_f_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x00,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_f_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x00,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_f_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x00,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x00,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xff,0x03,0x00]
v_cmp_f_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x00,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_f_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x00,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_lt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x02,0x7d]
-v_cmp_f_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x00,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_lt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x02,0x7d]
v_cmp_lt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x02,0x7d]
@@ -62985,110 +74826,152 @@ v_cmp_lt_i32 vcc, 0xaf123456, v2
v_cmp_lt_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x02,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_lt_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x02,0x7d]
+v_cmp_lt_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x03,0x7d]
-v_cmp_lt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x02,0x7d]
+v_cmp_lt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x03,0x7d]
+v_cmp_lt_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_lt_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x02,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x02,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x02,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x02,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xff,0x03,0x00]
v_cmp_lt_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x02,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_lt_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x02,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_eq_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x04,0x7d]
-v_cmp_lt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x02,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_eq_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x04,0x7d]
v_cmp_eq_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x04,0x7d]
@@ -63150,110 +75033,152 @@ v_cmp_eq_i32 vcc, 0xaf123456, v2
v_cmp_eq_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x04,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_eq_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x04,0x7d]
+v_cmp_eq_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x05,0x7d]
-v_cmp_eq_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x04,0x7d]
+v_cmp_eq_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0xff,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x67,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x69,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x6b,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_eq_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x05,0x7d]
+v_cmp_eq_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x6f,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x7b,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x7c,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x7e,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x7f,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x04,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0xf0,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x04,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x04,0xd1,0xf7,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x04,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xff,0x03,0x00]
v_cmp_eq_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x04,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_eq_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x04,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_le_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x06,0x7d]
-v_cmp_eq_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x04,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_le_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x06,0x7d]
v_cmp_le_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x06,0x7d]
@@ -63315,110 +75240,152 @@ v_cmp_le_i32 vcc, 0xaf123456, v2
v_cmp_le_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x06,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_le_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x06,0x7d]
+v_cmp_le_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x07,0x7d]
-v_cmp_le_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x06,0x7d]
+v_cmp_le_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x07,0x7d]
+v_cmp_le_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_le_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_le_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_le_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_le_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_le_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_le_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_le_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_le_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x06,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_le_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x06,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_le_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x06,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x06,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xff,0x03,0x00]
v_cmp_le_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x06,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_le_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x06,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_gt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x08,0x7d]
-v_cmp_le_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x06,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_gt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x08,0x7d]
v_cmp_gt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x08,0x7d]
@@ -63480,110 +75447,152 @@ v_cmp_gt_i32 vcc, 0xaf123456, v2
v_cmp_gt_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x08,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_gt_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x08,0x7d]
+v_cmp_gt_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x09,0x7d]
-v_cmp_gt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x08,0x7d]
+v_cmp_gt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_gt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x09,0x7d]
+v_cmp_gt_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_gt_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x08,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x08,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x08,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x08,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xff,0x03,0x00]
v_cmp_gt_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x08,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_gt_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x08,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_ne_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x7d]
-v_cmp_gt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x08,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_ne_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x7d]
v_cmp_ne_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x0a,0x7d]
@@ -63645,110 +75654,152 @@ v_cmp_ne_i32 vcc, 0xaf123456, v2
v_cmp_ne_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_ne_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x7d]
+v_cmp_ne_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x7d]
-v_cmp_ne_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x7d]
+v_cmp_ne_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x7d]
+v_cmp_ne_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_ne_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x0a,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x0a,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x0a,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x0a,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xff,0x03,0x00]
v_cmp_ne_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x0a,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_ne_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x0a,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_ge_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x0c,0x7d]
-v_cmp_ne_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x0a,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_ge_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x0c,0x7d]
v_cmp_ge_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x0c,0x7d]
@@ -63810,110 +75861,152 @@ v_cmp_ge_i32 vcc, 0xaf123456, v2
v_cmp_ge_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0c,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_ge_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x0c,0x7d]
+v_cmp_ge_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x0d,0x7d]
-v_cmp_ge_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x0c,0x7d]
+v_cmp_ge_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0d,0x7d]
+v_cmp_ge_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_ge_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x0c,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x0c,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x0c,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x0c,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xff,0x03,0x00]
v_cmp_ge_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x0c,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_ge_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x0c,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_t_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x0e,0x7d]
-v_cmp_ge_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x0c,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_t_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x0e,0x7d]
v_cmp_t_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x0e,0x7d]
@@ -63975,110 +76068,152 @@ v_cmp_t_i32 vcc, 0xaf123456, v2
v_cmp_t_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0e,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_t_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x0e,0x7d]
+v_cmp_t_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x0f,0x7d]
-v_cmp_t_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x0e,0x7d]
+v_cmp_t_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0f,0x7d]
+v_cmp_t_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_t_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_t_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_t_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_t_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_t_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_t_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_t_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x0e,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_t_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x0e,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_t_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x0e,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x0e,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xff,0x03,0x00]
v_cmp_t_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x0e,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_t_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x0e,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_f_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x20,0x7d]
-v_cmp_t_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x0e,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_f_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x20,0x7d]
v_cmpx_f_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x20,0x7d]
@@ -64140,110 +76275,152 @@ v_cmpx_f_i32 vcc, 0xaf123456, v2
v_cmpx_f_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x20,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_f_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x20,0x7d]
+v_cmpx_f_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x21,0x7d]
-v_cmpx_f_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x20,0x7d]
+v_cmpx_f_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x21,0x7d]
+v_cmpx_f_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_f_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x20,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x20,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x20,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x20,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_f_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x20,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_f_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x20,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_lt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x22,0x7d]
-v_cmpx_f_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x20,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x22,0x7d]
v_cmpx_lt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x22,0x7d]
@@ -64305,110 +76482,152 @@ v_cmpx_lt_i32 vcc, 0xaf123456, v2
v_cmpx_lt_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x22,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_lt_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x22,0x7d]
+v_cmpx_lt_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x23,0x7d]
-v_cmpx_lt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x22,0x7d]
+v_cmpx_lt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x23,0x7d]
+v_cmpx_lt_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_lt_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x22,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x22,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x22,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x22,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_lt_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x22,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_lt_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x22,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_eq_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x24,0x7d]
-v_cmpx_lt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x22,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x24,0x7d]
v_cmpx_eq_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x24,0x7d]
@@ -64470,110 +76689,152 @@ v_cmpx_eq_i32 vcc, 0xaf123456, v2
v_cmpx_eq_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x24,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_eq_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x24,0x7d]
+v_cmpx_eq_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x25,0x7d]
-v_cmpx_eq_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x24,0x7d]
+v_cmpx_eq_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x24,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x24,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x24,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x24,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x24,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x24,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x24,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0xff,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x67,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x69,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x6b,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x25,0x7d]
+v_cmpx_eq_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x24,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x6f,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x24,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x7b,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x24,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x7c,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x24,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x7e,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x24,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x7f,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x24,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x24,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x24,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x24,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x24,0xd1,0xf7,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x24,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_eq_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x24,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_eq_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x24,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_le_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x26,0x7d]
-v_cmpx_eq_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x24,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_le_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x26,0x7d]
v_cmpx_le_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x26,0x7d]
@@ -64635,110 +76896,152 @@ v_cmpx_le_i32 vcc, 0xaf123456, v2
v_cmpx_le_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x26,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_le_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x26,0x7d]
+v_cmpx_le_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x27,0x7d]
-v_cmpx_le_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x26,0x7d]
+v_cmpx_le_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x27,0x7d]
+v_cmpx_le_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_le_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x26,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x26,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x26,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x26,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_le_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x26,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_le_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x26,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_gt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x28,0x7d]
-v_cmpx_le_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x26,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x28,0x7d]
v_cmpx_gt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x28,0x7d]
@@ -64800,110 +77103,152 @@ v_cmpx_gt_i32 vcc, 0xaf123456, v2
v_cmpx_gt_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x28,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_gt_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x28,0x7d]
+v_cmpx_gt_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x29,0x7d]
-v_cmpx_gt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x28,0x7d]
+v_cmpx_gt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x29,0x7d]
+v_cmpx_gt_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_gt_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x28,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x28,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x28,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x28,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_gt_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x28,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_gt_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x28,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_ne_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x2a,0x7d]
-v_cmpx_gt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x28,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x2a,0x7d]
v_cmpx_ne_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x2a,0x7d]
@@ -64965,110 +77310,152 @@ v_cmpx_ne_i32 vcc, 0xaf123456, v2
v_cmpx_ne_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x2a,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_ne_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x2a,0x7d]
+v_cmpx_ne_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x2b,0x7d]
-v_cmpx_ne_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x2a,0x7d]
+v_cmpx_ne_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x2b,0x7d]
+v_cmpx_ne_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_ne_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x2a,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x2a,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x2a,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_ne_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x2a,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_ne_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x2a,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_ge_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x2c,0x7d]
-v_cmpx_ne_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x2a,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x2c,0x7d]
v_cmpx_ge_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x2c,0x7d]
@@ -65130,110 +77517,152 @@ v_cmpx_ge_i32 vcc, 0xaf123456, v2
v_cmpx_ge_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x2c,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_ge_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x2c,0x7d]
+v_cmpx_ge_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x2d,0x7d]
-v_cmpx_ge_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x2c,0x7d]
+v_cmpx_ge_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x2d,0x7d]
+v_cmpx_ge_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x2c,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x2c,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x2c,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_ge_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x2c,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_ge_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x2c,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_t_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x2e,0x7d]
-v_cmpx_ge_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x2c,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_t_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x2e,0x7d]
v_cmpx_t_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x2e,0x7d]
@@ -65295,110 +77724,152 @@ v_cmpx_t_i32 vcc, 0xaf123456, v2
v_cmpx_t_i32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x2e,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_t_i32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x2e,0x7d]
+v_cmpx_t_i32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x2f,0x7d]
-v_cmpx_t_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x2e,0x7d]
+v_cmpx_t_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x2f,0x7d]
+v_cmpx_t_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_t_i32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x2e,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x2e,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x2e,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_t_i32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x2e,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_t_i32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x2e,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_f_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x40,0x7d]
-v_cmpx_t_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x2e,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_f_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x40,0x7d]
v_cmp_f_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x40,0x7d]
@@ -65445,74 +77916,122 @@ v_cmp_f_i64 vcc, 0xaf123456, v[2:3]
v_cmp_f_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x40,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_f_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x40,0x7d]
+v_cmp_f_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x41,0x7d]
-v_cmp_f_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x40,0x7d]
+v_cmp_f_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x40,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x40,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x40,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x40,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x40,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x40,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_f_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x41,0x7d]
+v_cmp_f_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x40,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_f_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0xfe,0x05,0x02,0x00]
-v_cmp_f_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x40,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x02,0x04,0x02,0x00]
-v_cmp_f_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x40,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_f_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x40,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_f_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x40,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_f_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x40,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_f_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x40,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x7e,0x04,0x02,0x00]
-v_cmp_f_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x40,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_f_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_f_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0xf0,0x04,0x02,0x00]
-v_cmp_f_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x40,0xd1,0xf7,0x04,0x02,0x00]
-v_cmp_f_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_f_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_f_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x40,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_f_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x40,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_f_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_f_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x40,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_f_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_f_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x40,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_f_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_f_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x40,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_f_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_f_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x40,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_f_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_f_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x40,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_f_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x40,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_lt_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x42,0x7d]
+
+v_cmp_lt_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x42,0x7d]
v_cmp_lt_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x42,0x7d]
@@ -65559,74 +78078,122 @@ v_cmp_lt_i64 vcc, 0xaf123456, v[2:3]
v_cmp_lt_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x42,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_lt_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x42,0x7d]
+v_cmp_lt_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x43,0x7d]
-v_cmp_lt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x42,0x7d]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x42,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x42,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x43,0x7d]
+v_cmp_lt_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x42,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x42,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x42,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x42,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x42,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x42,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x42,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x42,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x42,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x42,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x42,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x42,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x42,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_lt_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_lt_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x42,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_lt_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x42,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_lt_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x42,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_lt_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x42,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_lt_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x42,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_lt_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x42,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_lt_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x42,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x42,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_eq_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x44,0x7d]
+
+v_cmp_eq_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x44,0x7d]
v_cmp_eq_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x44,0x7d]
@@ -65673,74 +78240,122 @@ v_cmp_eq_i64 vcc, 0xaf123456, v[2:3]
v_cmp_eq_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x44,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_eq_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x44,0x7d]
+v_cmp_eq_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x45,0x7d]
-v_cmp_eq_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x44,0x7d]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x44,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x45,0x7d]
+v_cmp_eq_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x44,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x44,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x44,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x44,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x44,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x44,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x44,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x44,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x44,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x44,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x44,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x44,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x44,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x44,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_eq_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_eq_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x44,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_eq_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x44,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_eq_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x44,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_eq_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x44,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_eq_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x44,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_eq_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x44,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_eq_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x44,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x44,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_le_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x46,0x7d]
+
+v_cmp_le_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x46,0x7d]
v_cmp_le_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x46,0x7d]
@@ -65787,74 +78402,122 @@ v_cmp_le_i64 vcc, 0xaf123456, v[2:3]
v_cmp_le_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x46,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_le_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x46,0x7d]
+v_cmp_le_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x47,0x7d]
-v_cmp_le_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x46,0x7d]
+v_cmp_le_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x46,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x46,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x47,0x7d]
+v_cmp_le_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x46,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x46,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x46,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x46,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x46,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x46,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x46,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x46,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x46,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_le_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x46,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_le_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x46,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_le_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x46,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_le_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_le_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_le_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_le_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x46,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_le_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_le_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x46,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_le_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x46,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_le_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_le_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x46,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_le_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_le_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x46,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_le_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_le_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x46,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_le_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_le_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x46,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_le_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_le_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x46,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_le_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x46,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_gt_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x48,0x7d]
+
+v_cmp_gt_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x48,0x7d]
v_cmp_gt_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x48,0x7d]
@@ -65901,74 +78564,122 @@ v_cmp_gt_i64 vcc, 0xaf123456, v[2:3]
v_cmp_gt_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x48,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_gt_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x48,0x7d]
+v_cmp_gt_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x49,0x7d]
-v_cmp_gt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x48,0x7d]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x48,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x48,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x48,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x48,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x48,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x48,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_gt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x49,0x7d]
+v_cmp_gt_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x48,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_gt_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0xfe,0x05,0x02,0x00]
-v_cmp_gt_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x48,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x02,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x48,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x48,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x48,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x48,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x48,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x7e,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x48,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0xf0,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x48,0xd1,0xf7,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_gt_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_gt_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x48,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_gt_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x48,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_gt_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x48,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_gt_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x48,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_gt_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x48,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_gt_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x48,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_gt_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x48,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x48,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_ne_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x4a,0x7d]
+
+v_cmp_ne_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x4a,0x7d]
v_cmp_ne_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x4a,0x7d]
@@ -66015,74 +78726,122 @@ v_cmp_ne_i64 vcc, 0xaf123456, v[2:3]
v_cmp_ne_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x4a,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_ne_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x4a,0x7d]
+v_cmp_ne_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x4b,0x7d]
-v_cmp_ne_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x4a,0x7d]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x4a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x4a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x4b,0x7d]
+v_cmp_ne_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x4a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x4a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x4a,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x4a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x4a,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x4a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x4a,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x4a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x4a,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x4a,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x4a,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x4a,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_ne_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_ne_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x4a,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_ne_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x4a,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_ne_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x4a,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_ne_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x4a,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_ne_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x4a,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_ne_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x4a,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_ne_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x4a,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x4a,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_ge_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x4c,0x7d]
+
+v_cmp_ge_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x4c,0x7d]
v_cmp_ge_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x4c,0x7d]
@@ -66129,74 +78888,122 @@ v_cmp_ge_i64 vcc, 0xaf123456, v[2:3]
v_cmp_ge_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x4c,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_ge_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x4c,0x7d]
+v_cmp_ge_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x4d,0x7d]
-v_cmp_ge_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x4c,0x7d]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x4c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x4d,0x7d]
+v_cmp_ge_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x4c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x4c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x4c,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x4c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x4c,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x4c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x4c,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x4c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x4c,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x4c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_ge_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x4c,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_ge_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x4c,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_ge_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x4c,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_ge_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_ge_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_ge_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_ge_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_ge_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_ge_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x4c,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_ge_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x4c,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_ge_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x4c,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_ge_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x4c,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_ge_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x4c,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_ge_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x4c,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_ge_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x4c,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x4c,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_t_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x4e,0x7d]
+
+v_cmp_t_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x4e,0x7d]
v_cmp_t_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x4e,0x7d]
@@ -66243,74 +79050,122 @@ v_cmp_t_i64 vcc, 0xaf123456, v[2:3]
v_cmp_t_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x4e,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_t_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x4e,0x7d]
+v_cmp_t_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x4f,0x7d]
-v_cmp_t_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x4e,0x7d]
+v_cmp_t_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x4e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x4e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x4e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x4e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x4e,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x4f,0x7d]
+v_cmp_t_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x4e,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x4e,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x4e,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0xfe,0x05,0x02,0x00]
-v_cmp_t_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x4e,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x02,0x04,0x02,0x00]
-v_cmp_t_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x4e,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_t_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x4e,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_t_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x4e,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_t_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x4e,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_t_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x4e,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x7e,0x04,0x02,0x00]
-v_cmp_t_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_t_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_t_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0xf0,0x04,0x02,0x00]
-v_cmp_t_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_t_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_t_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x4e,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_t_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x4e,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_t_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_t_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x4e,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_t_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_t_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x4e,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_t_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_t_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x4e,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_t_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_t_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x4e,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_t_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_t_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x4e,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_t_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x4e,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_f_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x60,0x7d]
+
+v_cmpx_f_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x60,0x7d]
v_cmpx_f_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x60,0x7d]
@@ -66357,74 +79212,122 @@ v_cmpx_f_i64 vcc, 0xaf123456, v[2:3]
v_cmpx_f_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x60,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_f_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x60,0x7d]
+v_cmpx_f_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x61,0x7d]
-v_cmpx_f_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x60,0x7d]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x60,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x61,0x7d]
+v_cmpx_f_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x60,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x60,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x60,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x60,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x60,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x60,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x60,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x60,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x60,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x60,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x04,0x04,0x02,0x00]
-v_cmpx_f_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x60,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x66,0x04,0x02,0x00]
-v_cmpx_f_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x60,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_f_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x60,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_f_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_f_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_f_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_f_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_f_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_f_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x60,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_f_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x60,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_f_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x60,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_f_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x60,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_f_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x60,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_f_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x60,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_f_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x60,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x60,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_lt_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x62,0x7d]
+
+v_cmpx_lt_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x62,0x7d]
v_cmpx_lt_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x62,0x7d]
@@ -66471,74 +79374,122 @@ v_cmpx_lt_i64 vcc, 0xaf123456, v[2:3]
v_cmpx_lt_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x62,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_lt_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x62,0x7d]
+v_cmpx_lt_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x63,0x7d]
-v_cmpx_lt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x62,0x7d]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x62,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x62,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x63,0x7d]
+v_cmpx_lt_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x62,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x62,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x62,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x62,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x62,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x62,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x62,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x62,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x62,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x04,0x04,0x02,0x00]
-v_cmpx_lt_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x62,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x66,0x04,0x02,0x00]
-v_cmpx_lt_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x62,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_lt_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x62,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_lt_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_lt_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_lt_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_lt_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_lt_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x62,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_lt_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x62,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_lt_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x62,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_lt_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x62,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_lt_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x62,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x62,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_lt_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x62,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x62,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_eq_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x64,0x7d]
+
+v_cmpx_eq_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x64,0x7d]
v_cmpx_eq_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x64,0x7d]
@@ -66585,74 +79536,122 @@ v_cmpx_eq_i64 vcc, 0xaf123456, v[2:3]
v_cmpx_eq_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x64,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_eq_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x64,0x7d]
+v_cmpx_eq_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x65,0x7d]
-v_cmpx_eq_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x64,0x7d]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x64,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x65,0x7d]
+v_cmpx_eq_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x64,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x64,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x64,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x64,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x64,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x64,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x64,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x64,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x64,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x64,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x04,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x64,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x66,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x64,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x64,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_eq_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_eq_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x64,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_eq_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x64,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_eq_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x64,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_eq_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x64,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_eq_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x64,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x64,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_eq_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x64,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x64,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_le_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x66,0x7d]
+
+v_cmpx_le_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x66,0x7d]
v_cmpx_le_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x66,0x7d]
@@ -66699,74 +79698,122 @@ v_cmpx_le_i64 vcc, 0xaf123456, v[2:3]
v_cmpx_le_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x66,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_le_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x66,0x7d]
+v_cmpx_le_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x67,0x7d]
-v_cmpx_le_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x66,0x7d]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x66,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x66,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x66,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x66,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x66,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x67,0x7d]
+v_cmpx_le_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x66,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x66,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x66,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0xfe,0x05,0x02,0x00]
-v_cmpx_le_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x66,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x02,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x66,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x66,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x66,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x66,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x66,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x7e,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_le_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_le_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x66,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_le_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x66,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_le_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x66,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_le_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x66,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_le_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x66,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_le_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x66,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_le_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x66,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x66,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_gt_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x68,0x7d]
+
+v_cmpx_gt_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x68,0x7d]
v_cmpx_gt_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x68,0x7d]
@@ -66813,74 +79860,122 @@ v_cmpx_gt_i64 vcc, 0xaf123456, v[2:3]
v_cmpx_gt_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x68,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_gt_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x68,0x7d]
+v_cmpx_gt_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x69,0x7d]
-v_cmpx_gt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x68,0x7d]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x68,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x68,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x68,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x68,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x68,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x69,0x7d]
+v_cmpx_gt_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x68,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x68,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x68,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0xfe,0x05,0x02,0x00]
-v_cmpx_gt_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x68,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x02,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x68,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x68,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x68,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x68,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x68,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x7e,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_gt_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_gt_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_gt_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x68,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_gt_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x68,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_gt_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x68,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_gt_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x68,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x68,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xf5,0x00,0x00]
-v_cmpx_gt_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x68,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x68,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_ne_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x6a,0x7d]
+
+v_cmpx_ne_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x6a,0x7d]
v_cmpx_ne_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x6a,0x7d]
@@ -66927,74 +80022,122 @@ v_cmpx_ne_i64 vcc, 0xaf123456, v[2:3]
v_cmpx_ne_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x6a,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_ne_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x6a,0x7d]
+v_cmpx_ne_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x6b,0x7d]
-v_cmpx_ne_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x6a,0x7d]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x6a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6a,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x6b,0x7d]
+v_cmpx_ne_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6a,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6a,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x6a,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0xfe,0x05,0x02,0x00]
-v_cmpx_ne_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x6a,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x02,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x6a,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x6a,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6a,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6a,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6a,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x7e,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_ne_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_ne_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x6a,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_ne_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x6a,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_ne_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x6a,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_ne_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x6a,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_ne_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x6a,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_ne_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x6a,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_ne_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x6a,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6a,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_ge_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x6c,0x7d]
+
+v_cmpx_ge_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x6c,0x7d]
v_cmpx_ge_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x6c,0x7d]
@@ -67041,74 +80184,122 @@ v_cmpx_ge_i64 vcc, 0xaf123456, v[2:3]
v_cmpx_ge_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x6c,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_ge_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x6c,0x7d]
+v_cmpx_ge_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x6d,0x7d]
-v_cmpx_ge_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x6c,0x7d]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6c,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x6d,0x7d]
+v_cmpx_ge_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6c,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x6c,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x6c,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6c,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x6c,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6c,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x6c,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6c,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x6c,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x04,0x04,0x02,0x00]
-v_cmpx_ge_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6c,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x66,0x04,0x02,0x00]
-v_cmpx_ge_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6c,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_ge_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6c,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_ge_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_ge_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_ge_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_ge_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_ge_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x6c,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_ge_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x6c,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_ge_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x6c,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_ge_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x6c,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_ge_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x6c,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x6c,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_ge_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x6c,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6c,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_t_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0x6e,0x7d]
+
+v_cmpx_t_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0x6e,0x7d]
v_cmpx_t_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0x6e,0x7d]
@@ -67155,74 +80346,122 @@ v_cmpx_t_i64 vcc, 0xaf123456, v[2:3]
v_cmpx_t_i64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0x6e,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_t_i64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0x6e,0x7d]
+v_cmpx_t_i64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0x6f,0x7d]
-v_cmpx_t_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0x6e,0x7d]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0x6e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6e,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0x6f,0x7d]
+v_cmpx_t_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6e,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_i64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6e,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_i64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x6e,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0xfe,0x05,0x02,0x00]
-v_cmpx_t_i64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x6e,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x02,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0x6e,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x6e,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6e,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6e,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6e,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x7e,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_t_i64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_t_i64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0x6e,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_t_i64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0x6e,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_t_i64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0x6e,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_t_i64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0x6e,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_t_i64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0x6e,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_t_i64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0x6e,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_t_i64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0x6e,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6e,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_f_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x80,0x7d]
+
+v_cmp_f_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x80,0x7d]
v_cmp_f_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x80,0x7d]
@@ -67284,110 +80523,152 @@ v_cmp_f_u32 vcc, 0xaf123456, v2
v_cmp_f_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x80,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_f_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x80,0x7d]
+v_cmp_f_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x81,0x7d]
-v_cmp_f_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x80,0x7d]
+v_cmp_f_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x80,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x80,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x80,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x80,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x80,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x80,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_f_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x81,0x7d]
+v_cmp_f_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x80,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_f_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x80,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_f_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x80,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_f_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x80,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_f_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x80,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_f_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x80,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_f_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x80,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_f_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x80,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_f_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x80,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_f_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x80,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_f_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x80,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x80,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xff,0x03,0x00]
v_cmp_f_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x80,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_f_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x80,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_lt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x82,0x7d]
-v_cmp_f_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x80,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_lt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x82,0x7d]
v_cmp_lt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x82,0x7d]
@@ -67449,110 +80730,152 @@ v_cmp_lt_u32 vcc, 0xaf123456, v2
v_cmp_lt_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x82,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_lt_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x82,0x7d]
+v_cmp_lt_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x83,0x7d]
-v_cmp_lt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x82,0x7d]
+v_cmp_lt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x82,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x82,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x82,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x82,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x82,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x82,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x83,0x7d]
+v_cmp_lt_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x82,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_lt_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x82,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x82,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x82,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x82,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x82,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x82,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x82,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x82,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x82,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x82,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x82,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xff,0x03,0x00]
v_cmp_lt_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x82,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_lt_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x82,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_eq_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x84,0x7d]
-v_cmp_lt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x82,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_eq_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x84,0x7d]
v_cmp_eq_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x84,0x7d]
@@ -67614,110 +80937,152 @@ v_cmp_eq_u32 vcc, 0xaf123456, v2
v_cmp_eq_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x84,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_eq_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x84,0x7d]
+v_cmp_eq_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x85,0x7d]
-v_cmp_eq_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x84,0x7d]
+v_cmp_eq_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x84,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x84,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x84,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x84,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x84,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x84,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x84,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0xff,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x67,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x69,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x6b,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_eq_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x85,0x7d]
+v_cmp_eq_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x84,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x6f,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x84,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x7b,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x84,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x7c,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x84,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x7e,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x84,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x7f,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x84,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x84,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x84,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0xf0,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x84,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x84,0xd1,0xf7,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x84,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xff,0x03,0x00]
v_cmp_eq_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x84,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_eq_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x84,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_le_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x86,0x7d]
-v_cmp_eq_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x84,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_le_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x86,0x7d]
v_cmp_le_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x86,0x7d]
@@ -67779,110 +81144,152 @@ v_cmp_le_u32 vcc, 0xaf123456, v2
v_cmp_le_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x86,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_le_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x86,0x7d]
+v_cmp_le_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x87,0x7d]
-v_cmp_le_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x86,0x7d]
+v_cmp_le_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x86,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x86,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x86,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x86,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x86,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x86,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x87,0x7d]
+v_cmp_le_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x86,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_le_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x86,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_le_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x86,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_le_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x86,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_le_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x86,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_le_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x86,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_le_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x86,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_le_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x86,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_le_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x86,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_le_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x86,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_le_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x86,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x86,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xff,0x03,0x00]
v_cmp_le_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x86,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_le_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x86,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_gt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x88,0x7d]
-v_cmp_le_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x86,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_gt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x88,0x7d]
v_cmp_gt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x88,0x7d]
@@ -67944,110 +81351,152 @@ v_cmp_gt_u32 vcc, 0xaf123456, v2
v_cmp_gt_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x88,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_gt_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x88,0x7d]
+v_cmp_gt_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x89,0x7d]
-v_cmp_gt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x88,0x7d]
+v_cmp_gt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x88,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x88,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x88,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x88,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x88,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x88,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_gt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x89,0x7d]
+v_cmp_gt_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x88,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_gt_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x88,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x88,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x88,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x88,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x88,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x88,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x88,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x88,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x88,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x88,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x88,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xff,0x03,0x00]
v_cmp_gt_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x88,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_gt_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x88,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_ne_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8a,0x7d]
-v_cmp_gt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x88,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_ne_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8a,0x7d]
v_cmp_ne_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8a,0x7d]
@@ -68109,110 +81558,152 @@ v_cmp_ne_u32 vcc, 0xaf123456, v2
v_cmp_ne_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x8a,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_ne_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x8a,0x7d]
+v_cmp_ne_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x8b,0x7d]
-v_cmp_ne_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8a,0x7d]
+v_cmp_ne_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x8a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x8a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x8a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x8a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x8a,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x8a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8b,0x7d]
+v_cmp_ne_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x8a,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_ne_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x8a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x8a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x8a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x8a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x8a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x8a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x8a,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x8a,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x8a,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x8a,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x8a,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xff,0x03,0x00]
v_cmp_ne_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x8a,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_ne_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x8a,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_ge_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8c,0x7d]
-v_cmp_ne_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x8a,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_ge_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8c,0x7d]
v_cmp_ge_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8c,0x7d]
@@ -68274,110 +81765,152 @@ v_cmp_ge_u32 vcc, 0xaf123456, v2
v_cmp_ge_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x8c,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_ge_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x8c,0x7d]
+v_cmp_ge_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x8d,0x7d]
-v_cmp_ge_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8c,0x7d]
+v_cmp_ge_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x8c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x8c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x8c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x8c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x8c,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x8c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8d,0x7d]
+v_cmp_ge_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x8c,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_ge_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x8c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x8c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x8c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x8c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x8c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x8c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x8c,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x8c,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x8c,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x8c,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x8c,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xff,0x03,0x00]
v_cmp_ge_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x8c,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_ge_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x8c,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_t_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8e,0x7d]
-v_cmp_ge_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x8c,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_t_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8e,0x7d]
v_cmp_t_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8e,0x7d]
@@ -68439,110 +81972,152 @@ v_cmp_t_u32 vcc, 0xaf123456, v2
v_cmp_t_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x8e,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_t_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x8e,0x7d]
+v_cmp_t_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x8f,0x7d]
-v_cmp_t_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8e,0x7d]
+v_cmp_t_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x8e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x8e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x8e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x8e,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x8e,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8f,0x7d]
+v_cmp_t_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x8e,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x8e,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0x8e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0xff,0x05,0x02,0x00]
-v_cmp_t_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0x8e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0x04,0x02,0x00]
-v_cmp_t_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0x8e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x67,0x04,0x02,0x00]
-v_cmp_t_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x8e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_t_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x8e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x69,0x04,0x02,0x00]
-v_cmp_t_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x8e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_t_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x8e,0xd1,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_t_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0x8e,0xd1,0xc1,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_t_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0x8e,0xd1,0xf0,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x6d,0x04,0x02,0x00]
-v_cmp_t_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0x8e,0xd1,0xf7,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x8e,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xff,0x03,0x00]
v_cmp_t_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0x05,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0x8e,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmp_t_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xce,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xcf,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xd0,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xd2,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xd3,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xd4,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xd6,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xd7,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xd8,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xda,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xdb,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xdc,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xdd,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xde,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xdf,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xf6,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xf7,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xf8,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xf9,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xfc,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xfe,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xff,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0x00,0x01,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0x01,0x01,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0x82,0x01,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0x83,0x01,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xe0,0x01,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xe1,0x01,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xee,0x01,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x8e,0xd1,0x01,0xef,0x01,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_f_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa0,0x7d]
-v_cmp_t_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x8e,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_f_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa0,0x7d]
v_cmpx_f_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa0,0x7d]
@@ -68604,110 +82179,152 @@ v_cmpx_f_u32 vcc, 0xaf123456, v2
v_cmpx_f_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa0,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_f_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa0,0x7d]
+v_cmpx_f_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa1,0x7d]
-v_cmpx_f_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa0,0x7d]
+v_cmpx_f_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa0,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa1,0x7d]
+v_cmpx_f_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa0,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_f_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa0,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa0,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa0,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa0,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa0,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa0,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa0,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa0,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa0,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa0,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_f_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa0,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_f_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa0,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_lt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa2,0x7d]
-v_cmpx_f_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa0,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa2,0x7d]
v_cmpx_lt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa2,0x7d]
@@ -68769,110 +82386,152 @@ v_cmpx_lt_u32 vcc, 0xaf123456, v2
v_cmpx_lt_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa2,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_lt_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa2,0x7d]
+v_cmpx_lt_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa3,0x7d]
-v_cmpx_lt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa2,0x7d]
+v_cmpx_lt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa2,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa2,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa2,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa2,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa2,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa2,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa3,0x7d]
+v_cmpx_lt_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa2,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_lt_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa2,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa2,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa2,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa2,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa2,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa2,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa2,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa2,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa2,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa2,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_lt_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa2,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_lt_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa2,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_eq_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa4,0x7d]
-v_cmpx_lt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa2,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa4,0x7d]
v_cmpx_eq_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa4,0x7d]
@@ -68934,110 +82593,152 @@ v_cmpx_eq_u32 vcc, 0xaf123456, v2
v_cmpx_eq_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa4,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_eq_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa4,0x7d]
+v_cmpx_eq_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa5,0x7d]
-v_cmpx_eq_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa4,0x7d]
+v_cmpx_eq_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa4,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa4,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa4,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa4,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa4,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa4,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa5,0x7d]
+v_cmpx_eq_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa4,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_eq_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa4,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa4,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa4,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa4,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa4,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa4,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa4,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa4,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa4,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa4,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_eq_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa4,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_eq_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa4,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_le_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa6,0x7d]
-v_cmpx_eq_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa4,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_le_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa6,0x7d]
v_cmpx_le_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa6,0x7d]
@@ -69099,110 +82800,152 @@ v_cmpx_le_u32 vcc, 0xaf123456, v2
v_cmpx_le_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa6,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_le_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa6,0x7d]
+v_cmpx_le_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa7,0x7d]
-v_cmpx_le_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa6,0x7d]
+v_cmpx_le_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa6,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa7,0x7d]
+v_cmpx_le_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa6,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa6,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa6,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_le_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa6,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa6,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa6,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa6,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa6,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa6,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa6,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa6,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa6,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_le_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa6,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_le_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa6,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_gt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa8,0x7d]
-v_cmpx_le_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa6,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa8,0x7d]
v_cmpx_gt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa8,0x7d]
@@ -69264,110 +83007,152 @@ v_cmpx_gt_u32 vcc, 0xaf123456, v2
v_cmpx_gt_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xa8,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_gt_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xa8,0x7d]
+v_cmpx_gt_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xa9,0x7d]
-v_cmpx_gt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa8,0x7d]
+v_cmpx_gt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xa8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xa8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0xff,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x67,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x69,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_gt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa9,0x7d]
+v_cmpx_gt_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xa8,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xa8,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x6f,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xa8,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x7b,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa8,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x7c,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa8,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x7e,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa8,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x7f,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa8,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xa8,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xa8,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd1,0xf7,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xa8,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_gt_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xa8,0xd1,0xff,0x05,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xa8,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xee,0x01,0x00]
-
-v_cmpx_gt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_ne_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xaa,0x7d]
-v_cmpx_gt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa8,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xaa,0x7d]
v_cmpx_ne_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xaa,0x7d]
@@ -69429,110 +83214,152 @@ v_cmpx_ne_u32 vcc, 0xaf123456, v2
v_cmpx_ne_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xaa,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_ne_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xaa,0x7d]
+v_cmpx_ne_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xab,0x7d]
-v_cmpx_ne_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xaa,0x7d]
+v_cmpx_ne_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xaa,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xaa,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xaa,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xaa,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xaa,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xab,0x7d]
+v_cmpx_ne_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xaa,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xaa,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xaa,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_ne_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xaa,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xaa,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xaa,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xaa,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xaa,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xaa,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xaa,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xaa,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xaa,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_ne_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xaa,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_ne_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xaa,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_ge_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xac,0x7d]
-v_cmpx_ne_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xaa,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xac,0x7d]
v_cmpx_ge_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xac,0x7d]
@@ -69594,110 +83421,152 @@ v_cmpx_ge_u32 vcc, 0xaf123456, v2
v_cmpx_ge_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xac,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_ge_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xac,0x7d]
+v_cmpx_ge_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xad,0x7d]
-v_cmpx_ge_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xac,0x7d]
+v_cmpx_ge_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xac,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xac,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xac,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xac,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xac,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xac,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xad,0x7d]
+v_cmpx_ge_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xac,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_ge_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xac,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xac,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xac,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xac,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xac,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xac,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xac,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xac,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xac,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xac,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xac,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_ge_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xac,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_ge_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xac,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0x04,0x02,0x00]
+v_cmpx_t_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xae,0x7d]
-v_cmpx_ge_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xac,0xd1,0x80,0xfe,0x03,0x00]
+v_cmpx_t_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xae,0x7d]
v_cmpx_t_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xae,0x7d]
@@ -69759,110 +83628,152 @@ v_cmpx_t_u32 vcc, 0xaf123456, v2
v_cmpx_t_u32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0xae,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_t_u32 vcc, v1, v2
-// CHECK: [0x01,0x05,0xae,0x7d]
+v_cmpx_t_u32 vcc, v1, v255
+// CHECK: [0x01,0xff,0xaf,0x7d]
-v_cmpx_t_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xae,0x7d]
+v_cmpx_t_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xae,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0xae,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0xae,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xae,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xae,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xaf,0x7d]
+v_cmpx_t_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xae,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xae,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u32_e64 s[12:13], 0, s2
-// CHECK: [0x0c,0x00,0xae,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0xff,0x05,0x02,0x00]
-v_cmpx_t_u32_e64 s[102:103], 0, s2
-// CHECK: [0x66,0x00,0xae,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x68,0x00,0xae,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x67,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xae,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xae,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x69,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xae,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xae,0xd1,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x6b,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 s[10:11], -1, s2
-// CHECK: [0x0a,0x00,0xae,0xd1,0xc1,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0.5, s2
-// CHECK: [0x0a,0x00,0xae,0xd1,0xf0,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x6d,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 s[10:11], -4.0, s2
-// CHECK: [0x0a,0x00,0xae,0xd1,0xf7,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xae,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xff,0x03,0x00]
v_cmpx_t_u32_e64 s[10:11], v1, s2
// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0x05,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], v255, s2
-// CHECK: [0x0a,0x00,0xae,0xd1,0xff,0x05,0x00,0x00]
-
-v_cmpx_t_u32_e64 s[10:11], 0, s103
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xce,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xcf,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, flat_scratch_lo
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xd0,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, flat_scratch_hi
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xd2,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xd3,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, vcc_lo
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xd4,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, vcc_hi
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xd6,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xd7,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xd8,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xda,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xdb,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xdc,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xdd,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xde,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xdf,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xf6,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xf7,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, m0
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xf8,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xf9,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, exec_lo
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xfc,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, exec_hi
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xfe,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xff,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, 0
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0x00,0x01,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0x01,0x01,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, -1
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0x82,0x01,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0x83,0x01,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, 0.5
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xe0,0x01,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xe1,0x01,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, -4.0
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xee,0x01,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0xae,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0x04,0x02,0x00]
+v_cmp_f_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc0,0x7d]
-v_cmpx_t_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xae,0xd1,0x80,0xfe,0x03,0x00]
+v_cmp_f_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc0,0x7d]
v_cmp_f_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc0,0x7d]
@@ -69909,74 +83820,122 @@ v_cmp_f_u64 vcc, 0xaf123456, v[2:3]
v_cmp_f_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc0,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_f_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc0,0x7d]
+v_cmp_f_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc1,0x7d]
-v_cmp_f_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc0,0x7d]
+v_cmp_f_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc0,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_f_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc1,0x7d]
+v_cmp_f_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc0,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_f_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc0,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_f_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc0,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0xfe,0x05,0x02,0x00]
-v_cmp_f_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc0,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x02,0x04,0x02,0x00]
-v_cmp_f_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc0,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_f_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc0,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_f_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc0,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_f_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc0,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_f_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc0,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x7e,0x04,0x02,0x00]
-v_cmp_f_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_f_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_f_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0xf0,0x04,0x02,0x00]
-v_cmp_f_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_f_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_f_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc0,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_f_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc0,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_f_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_f_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc0,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_f_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_f_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc0,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_f_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_f_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc0,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_f_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_f_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc0,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_f_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xf5,0x00,0x00]
-v_cmp_f_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc0,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_f_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc0,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_lt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc2,0x7d]
+
+v_cmp_lt_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc2,0x7d]
v_cmp_lt_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc2,0x7d]
@@ -70023,74 +83982,122 @@ v_cmp_lt_u64 vcc, 0xaf123456, v[2:3]
v_cmp_lt_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc2,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_lt_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc2,0x7d]
+v_cmp_lt_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc3,0x7d]
-v_cmp_lt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc2,0x7d]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc2,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc3,0x7d]
+v_cmp_lt_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc2,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc2,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc2,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc2,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc2,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc2,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc2,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc2,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc2,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc2,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc2,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_lt_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc2,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_lt_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc2,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_lt_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_lt_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_lt_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_lt_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x7a,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_lt_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_lt_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc2,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_lt_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc2,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_lt_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc2,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_lt_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc2,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_lt_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc2,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_lt_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc2,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xf5,0x00,0x00]
-v_cmp_lt_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc2,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc2,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_eq_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc4,0x7d]
+
+v_cmp_eq_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc4,0x7d]
v_cmp_eq_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc4,0x7d]
@@ -70137,74 +84144,122 @@ v_cmp_eq_u64 vcc, 0xaf123456, v[2:3]
v_cmp_eq_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc4,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_eq_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc4,0x7d]
+v_cmp_eq_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc5,0x7d]
-v_cmp_eq_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc4,0x7d]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc5,0x7d]
+v_cmp_eq_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc4,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc4,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc4,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc4,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc4,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc4,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc4,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc4,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc4,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc4,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_eq_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc4,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc4,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_eq_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc4,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_eq_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc4,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_eq_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_eq_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_eq_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_eq_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x7a,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_eq_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_eq_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc4,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_eq_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc4,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_eq_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc4,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_eq_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc4,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_eq_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc4,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_eq_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc4,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xf5,0x00,0x00]
-v_cmp_eq_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc4,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc4,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_le_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc6,0x7d]
+
+v_cmp_le_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc6,0x7d]
v_cmp_le_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc6,0x7d]
@@ -70251,74 +84306,122 @@ v_cmp_le_u64 vcc, 0xaf123456, v[2:3]
v_cmp_le_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc6,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_le_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc6,0x7d]
+v_cmp_le_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc7,0x7d]
-v_cmp_le_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc6,0x7d]
+v_cmp_le_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc6,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc7,0x7d]
+v_cmp_le_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc6,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc6,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc6,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc6,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc6,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc6,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc6,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc6,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc6,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc6,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_le_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc6,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_le_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc6,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_le_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc6,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_le_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_le_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_le_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_le_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x7a,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_le_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_le_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc6,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_le_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc6,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_le_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_le_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc6,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_le_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_le_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc6,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_le_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_le_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc6,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_le_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_le_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc6,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_le_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_le_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc6,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_le_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc6,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_gt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc8,0x7d]
+
+v_cmp_gt_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc8,0x7d]
v_cmp_gt_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc8,0x7d]
@@ -70365,74 +84468,122 @@ v_cmp_gt_u64 vcc, 0xaf123456, v[2:3]
v_cmp_gt_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xc8,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_gt_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xc8,0x7d]
+v_cmp_gt_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc9,0x7d]
-v_cmp_gt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc8,0x7d]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xc8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xc8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xc8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xc8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xc8,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_gt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc9,0x7d]
+v_cmp_gt_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xc8,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_gt_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xc8,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_gt_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xc8,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0xfe,0x05,0x02,0x00]
-v_cmp_gt_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xc8,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x02,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xc8,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xc8,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xc8,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xc8,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xc8,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x7e,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0xf0,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_gt_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_gt_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xc8,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_gt_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xc8,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_gt_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xc8,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_gt_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xc8,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_gt_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xc8,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_gt_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xc8,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xf5,0x00,0x00]
-v_cmp_gt_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xc8,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xc8,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_ne_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xca,0x7d]
+
+v_cmp_ne_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xca,0x7d]
v_cmp_ne_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xca,0x7d]
@@ -70479,74 +84630,122 @@ v_cmp_ne_u64 vcc, 0xaf123456, v[2:3]
v_cmp_ne_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xca,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_ne_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xca,0x7d]
+v_cmp_ne_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcb,0x7d]
-v_cmp_ne_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xca,0x7d]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xca,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xca,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xca,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xca,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xca,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcb,0x7d]
+v_cmp_ne_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xca,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xca,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ne_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xca,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0xfe,0x05,0x02,0x00]
-v_cmp_ne_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xca,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x02,0x04,0x02,0x00]
-v_cmp_ne_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xca,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_ne_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xca,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_ne_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xca,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_ne_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xca,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_ne_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xca,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x7e,0x04,0x02,0x00]
-v_cmp_ne_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x80,0x04,0x02,0x00]
-v_cmp_ne_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0xc1,0x04,0x02,0x00]
-v_cmp_ne_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0xf0,0x04,0x02,0x00]
-v_cmp_ne_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xca,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_ne_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_ne_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xca,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_ne_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xca,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_ne_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xca,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_ne_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xca,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_ne_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xca,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_ne_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xca,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_ne_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xca,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xca,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_ge_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xcc,0x7d]
+
+v_cmp_ge_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xcc,0x7d]
v_cmp_ge_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xcc,0x7d]
@@ -70593,74 +84792,122 @@ v_cmp_ge_u64 vcc, 0xaf123456, v[2:3]
v_cmp_ge_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xcc,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_ge_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xcc,0x7d]
+v_cmp_ge_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcd,0x7d]
-v_cmp_ge_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xcc,0x7d]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xcc,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcd,0x7d]
+v_cmp_ge_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xcc,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xcc,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xcc,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xcc,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xcc,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xcc,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xcc,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xcc,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_ge_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xcc,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xcc,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xcc,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xcc,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xcc,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_ge_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_ge_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xcc,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_ge_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xcc,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_ge_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xcc,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_ge_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xcc,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_ge_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xcc,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_ge_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xcc,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_ge_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xcc,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xcc,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_t_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xce,0x7d]
+
+v_cmp_t_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xce,0x7d]
v_cmp_t_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xce,0x7d]
@@ -70707,74 +84954,122 @@ v_cmp_t_u64 vcc, 0xaf123456, v[2:3]
v_cmp_t_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xce,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_t_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xce,0x7d]
+v_cmp_t_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcf,0x7d]
-v_cmp_t_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xce,0x7d]
+v_cmp_t_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xce,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcf,0x7d]
+v_cmp_t_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xce,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xce,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xce,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xce,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xce,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xce,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xce,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xce,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xce,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xce,0xd1,0x01,0x05,0x02,0x00]
-v_cmp_t_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xce,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x04,0x04,0x02,0x00]
-v_cmp_t_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xce,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x66,0x04,0x02,0x00]
-v_cmp_t_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xce,0xd1,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x68,0x04,0x02,0x00]
-v_cmp_t_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd1,0x80,0x08,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x6a,0x04,0x02,0x00]
-v_cmp_t_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd1,0xc1,0x08,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x6c,0x04,0x02,0x00]
-v_cmp_t_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd1,0xf0,0x08,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x6e,0x04,0x02,0x00]
-v_cmp_t_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd1,0xf7,0x08,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x7a,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xce,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xfd,0x03,0x00]
v_cmp_t_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0x09,0x00,0x00]
-v_cmp_t_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xce,0xd1,0xfe,0x09,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0x0d,0x00,0x00]
-v_cmp_t_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xce,0xd1,0x04,0x00,0x01,0x00]
+v_cmp_t_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xcd,0x00,0x00]
-v_cmp_t_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xce,0xd1,0x04,0x82,0x01,0x00]
+v_cmp_t_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xd1,0x00,0x00]
-v_cmp_t_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xce,0xd1,0x04,0xe0,0x01,0x00]
+v_cmp_t_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xd5,0x00,0x00]
-v_cmp_t_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xce,0xd1,0x04,0xee,0x01,0x00]
+v_cmp_t_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xd9,0x00,0x00]
-v_cmp_t_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xce,0xd1,0x04,0x04,0x02,0x00]
+v_cmp_t_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xfd,0x00,0x00]
-v_cmp_t_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xce,0xd1,0x04,0xfc,0x03,0x00]
+v_cmp_t_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xce,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_f_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe0,0x7d]
+
+v_cmpx_f_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe0,0x7d]
v_cmpx_f_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe0,0x7d]
@@ -70821,74 +85116,122 @@ v_cmpx_f_u64 vcc, 0xaf123456, v[2:3]
v_cmpx_f_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe0,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_f_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe0,0x7d]
+v_cmpx_f_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe1,0x7d]
-v_cmpx_f_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe0,0x7d]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe0,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe1,0x7d]
+v_cmpx_f_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe0,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe0,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe0,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe0,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe0,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe0,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe0,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe0,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_f_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe0,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x04,0x04,0x02,0x00]
-v_cmpx_f_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe0,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x66,0x04,0x02,0x00]
-v_cmpx_f_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe0,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_f_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe0,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_f_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_f_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_f_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_f_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_f_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_f_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe0,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_f_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe0,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_f_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe0,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_f_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe0,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_f_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe0,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_f_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe0,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_f_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe0,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe0,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_lt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe2,0x7d]
+
+v_cmpx_lt_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe2,0x7d]
v_cmpx_lt_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe2,0x7d]
@@ -70935,74 +85278,122 @@ v_cmpx_lt_u64 vcc, 0xaf123456, v[2:3]
v_cmpx_lt_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe2,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_lt_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe2,0x7d]
+v_cmpx_lt_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe3,0x7d]
-v_cmpx_lt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe2,0x7d]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe2,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe2,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe3,0x7d]
+v_cmpx_lt_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe2,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe2,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe2,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe2,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe2,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe2,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe2,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe2,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe2,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x04,0x04,0x02,0x00]
-v_cmpx_lt_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe2,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x66,0x04,0x02,0x00]
-v_cmpx_lt_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe2,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_lt_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe2,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_lt_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_lt_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_lt_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_lt_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_lt_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_lt_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe2,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_lt_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe2,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_lt_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe2,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_lt_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe2,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe2,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_lt_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe2,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe2,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_eq_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe4,0x7d]
+
+v_cmpx_eq_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe4,0x7d]
v_cmpx_eq_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe4,0x7d]
@@ -71049,74 +85440,122 @@ v_cmpx_eq_u64 vcc, 0xaf123456, v[2:3]
v_cmpx_eq_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe4,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_eq_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe4,0x7d]
+v_cmpx_eq_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe5,0x7d]
-v_cmpx_eq_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe4,0x7d]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe4,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe5,0x7d]
+v_cmpx_eq_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe4,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe4,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe4,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe4,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe4,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe4,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe4,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe4,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe4,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe4,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x04,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe4,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x66,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe4,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe4,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_eq_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_eq_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe4,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_eq_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe4,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_eq_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe4,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_eq_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe4,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_eq_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe4,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe4,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_eq_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe4,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe4,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_le_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe6,0x7d]
+
+v_cmpx_le_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe6,0x7d]
v_cmpx_le_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe6,0x7d]
@@ -71163,74 +85602,122 @@ v_cmpx_le_u64 vcc, 0xaf123456, v[2:3]
v_cmpx_le_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe6,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_le_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe6,0x7d]
+v_cmpx_le_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe7,0x7d]
-v_cmpx_le_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe6,0x7d]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe6,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe6,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe7,0x7d]
+v_cmpx_le_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe6,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe6,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_le_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe6,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0xfe,0x05,0x02,0x00]
-v_cmpx_le_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe6,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x02,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe6,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe6,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe6,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe6,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe6,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x7e,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_le_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_le_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe6,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_le_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe6,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_le_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe6,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_le_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe6,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_le_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe6,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_le_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe6,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_le_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe6,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe6,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_gt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe8,0x7d]
+
+v_cmpx_gt_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe8,0x7d]
v_cmpx_gt_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe8,0x7d]
@@ -71277,74 +85764,122 @@ v_cmpx_gt_u64 vcc, 0xaf123456, v[2:3]
v_cmpx_gt_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xe8,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_gt_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xe8,0x7d]
+v_cmpx_gt_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe9,0x7d]
-v_cmpx_gt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe8,0x7d]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xe8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe8,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe8,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_gt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe9,0x7d]
+v_cmpx_gt_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe8,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_gt_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe8,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_gt_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe8,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0xfe,0x05,0x02,0x00]
-v_cmpx_gt_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe8,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x02,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xe8,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe8,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe8,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe8,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe8,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x7e,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_gt_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_gt_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_gt_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xe8,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_gt_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xe8,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_gt_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xe8,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_gt_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xe8,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xe8,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xf5,0x00,0x00]
-v_cmpx_gt_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xe8,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe8,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_ne_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xea,0x7d]
+
+v_cmpx_ne_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xea,0x7d]
v_cmpx_ne_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xea,0x7d]
@@ -71391,74 +85926,122 @@ v_cmpx_ne_u64 vcc, 0xaf123456, v[2:3]
v_cmpx_ne_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xea,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_ne_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xea,0x7d]
+v_cmpx_ne_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xeb,0x7d]
-v_cmpx_ne_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xea,0x7d]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xea,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xea,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xea,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xea,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xea,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xeb,0x7d]
+v_cmpx_ne_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xea,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xea,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xea,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0xfe,0x05,0x02,0x00]
-v_cmpx_ne_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xea,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x02,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xea,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xea,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xea,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xea,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xea,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x7e,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x80,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0xc1,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0xf0,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_ne_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_ne_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xea,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_ne_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xea,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_ne_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xea,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_ne_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xea,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_ne_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xea,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_ne_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xea,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_ne_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xea,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xea,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_ge_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xec,0x7d]
+
+v_cmpx_ge_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xec,0x7d]
v_cmpx_ge_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xec,0x7d]
@@ -71505,74 +86088,122 @@ v_cmpx_ge_u64 vcc, 0xaf123456, v[2:3]
v_cmpx_ge_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xec,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_ge_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xec,0x7d]
+v_cmpx_ge_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xed,0x7d]
-v_cmpx_ge_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xec,0x7d]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xec,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xed,0x7d]
+v_cmpx_ge_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xec,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xec,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xec,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xec,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xec,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xec,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xec,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xec,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xec,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xec,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x04,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xec,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x66,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xec,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xec,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x7a,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_ge_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_ge_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xec,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_ge_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xec,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_ge_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xec,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_ge_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xec,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_ge_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xec,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xec,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_ge_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xec,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xec,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_t_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xee,0x7d]
+
+v_cmpx_t_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xee,0x7d]
v_cmpx_t_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xee,0x7d]
@@ -71619,74 +86250,122 @@ v_cmpx_t_u64 vcc, 0xaf123456, v[2:3]
v_cmpx_t_u64 vcc, 0x3f717273, v[2:3]
// CHECK: [0xff,0x04,0xee,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_t_u64 vcc, v[1:2], v[2:3]
-// CHECK: [0x01,0x05,0xee,0x7d]
+v_cmpx_t_u64 vcc, v[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xef,0x7d]
-v_cmpx_t_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xee,0x7d]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xee,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xef,0x7d]
+v_cmpx_t_u64_e64 s[102:103], v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xee,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64_e64 s[10:11], s[4:5], s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x68,0x00,0xee,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64_e64 s[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xee,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xee,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64_e64 s[102:103], s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xee,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xee,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64_e64 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x68,0x00,0xee,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xee,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64_e64 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xee,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xee,0xd1,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xee,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x04,0x04,0x02,0x00]
-v_cmpx_t_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xee,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], s[102:103], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x66,0x04,0x02,0x00]
-v_cmpx_t_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xee,0xd1,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x68,0x04,0x02,0x00]
-v_cmpx_t_u64_e64 s[10:11], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd1,0x80,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x6a,0x04,0x02,0x00]
-v_cmpx_t_u64_e64 s[10:11], -1, s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd1,0xc1,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x6c,0x04,0x02,0x00]
-v_cmpx_t_u64_e64 s[10:11], 0.5, s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd1,0xf0,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x6e,0x04,0x02,0x00]
-v_cmpx_t_u64_e64 s[10:11], -4.0, s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd1,0xf7,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x7a,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xfd,0x03,0x00]
v_cmpx_t_u64_e64 s[10:11], v[1:2], s[4:5]
// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0x09,0x00,0x00]
-v_cmpx_t_u64_e64 s[10:11], v[254:255], s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd1,0xfe,0x09,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0x0d,0x00,0x00]
-v_cmpx_t_u64_e64 s[10:11], s[4:5], 0
-// CHECK: [0x0a,0x00,0xee,0xd1,0x04,0x00,0x01,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], s[102:103]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xcd,0x00,0x00]
-v_cmpx_t_u64_e64 s[10:11], s[4:5], -1
-// CHECK: [0x0a,0x00,0xee,0xd1,0x04,0x82,0x01,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xd1,0x00,0x00]
-v_cmpx_t_u64_e64 s[10:11], s[4:5], 0.5
-// CHECK: [0x0a,0x00,0xee,0xd1,0x04,0xe0,0x01,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xd5,0x00,0x00]
-v_cmpx_t_u64_e64 s[10:11], s[4:5], -4.0
-// CHECK: [0x0a,0x00,0xee,0xd1,0x04,0xee,0x01,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], tba
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_t_u64_e64 s[10:11], s[4:5], v[2:3]
-// CHECK: [0x0a,0x00,0xee,0xd1,0x04,0x04,0x02,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], tma
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xf5,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xfd,0x00,0x00]
-v_cmpx_t_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xee,0xd1,0x04,0xfc,0x03,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xee,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_class_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x10,0x7d]
+
+v_cmp_class_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x10,0x7d]
v_cmp_class_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x10,0x7d]
@@ -71748,14 +86427,155 @@ v_cmp_class_f32 vcc, 0xaf123456, v2
v_cmp_class_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x10,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_class_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x10,0x7d]
+v_cmp_class_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x11,0x7d]
-v_cmp_class_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x10,0x7d]
+v_cmp_class_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0xff,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x67,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x69,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x6b,0x04,0x02,0x00]
-v_cmp_class_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x11,0x7d]
+v_cmp_class_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x6c,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xff,0x03,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0x05,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xcf,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xd1,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xd3,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xd5,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xd7,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xd9,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xdb,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xdf,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xf7,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xf9,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xff,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x10,0xd1,0x01,0x05,0x02,0x20]
+
+v_cmpx_class_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x30,0x7d]
+
+v_cmpx_class_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x30,0x7d]
v_cmpx_class_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x30,0x7d]
@@ -71817,14 +86637,155 @@ v_cmpx_class_f32 vcc, 0xaf123456, v2
v_cmpx_class_f32 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x30,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_class_f32 vcc, v1, v2
-// CHECK: [0x01,0x05,0x30,0x7d]
+v_cmpx_class_f32 vcc, v1, v255
+// CHECK: [0x01,0xff,0x31,0x7d]
-v_cmpx_class_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x30,0x7d]
+v_cmpx_class_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[102:103], v1, v2
+// CHECK: [0x66,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x68,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0xff,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], s103, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x67,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x69,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x6b,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x6c,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x7f,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xff,0x03,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0x05,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, s103
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xcf,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xd1,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xd3,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xd5,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xd7,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xd9,0x00,0x00]
-v_cmpx_class_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x31,0x7d]
+v_cmpx_class_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xdb,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xdf,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xf7,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xf9,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, exec_lo
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, exec_hi
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xff,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, 0
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, -1
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, 0.5
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, -4.0
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], -v1, v2
+// CHECK: [0x0a,0x00,0x30,0xd1,0x01,0x05,0x02,0x20]
+
+v_cmp_class_f64 vcc, v[1:2], v2
+// CHECK: [0x01,0x05,0x50,0x7d]
+
+v_cmp_class_f64 vcc, v[254:255], v2
+// CHECK: [0xfe,0x05,0x50,0x7d]
v_cmp_class_f64 vcc, s[2:3], v2
// CHECK: [0x02,0x04,0x50,0x7d]
@@ -71871,14 +86832,140 @@ v_cmp_class_f64 vcc, 0xaf123456, v2
v_cmp_class_f64 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x50,0x7d,0x73,0x72,0x71,0x3f]
-v_cmp_class_f64 vcc, v[1:2], v2
-// CHECK: [0x01,0x05,0x50,0x7d]
+v_cmp_class_f64 vcc, v[1:2], v255
+// CHECK: [0x01,0xff,0x51,0x7d]
-v_cmp_class_f64 vcc, v[254:255], v2
-// CHECK: [0xfe,0x05,0x50,0x7d]
+v_cmp_class_f64_e64 s[10:11], v[1:2], v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 s[12:13], v[1:2], v2
+// CHECK: [0x0c,0x00,0x50,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 s[102:103], v[1:2], v2
+// CHECK: [0x66,0x00,0x50,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 flat_scratch, v[1:2], v2
+// CHECK: [0x68,0x00,0x50,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 vcc, v[1:2], v2
+// CHECK: [0x6a,0x00,0x50,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 tba, v[1:2], v2
+// CHECK: [0x6c,0x00,0x50,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 tma, v[1:2], v2
+// CHECK: [0x6e,0x00,0x50,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 ttmp[10:11], v[1:2], v2
+// CHECK: [0x7a,0x00,0x50,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[254:255], v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], s[2:3], v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], s[4:5], v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], s[102:103], v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], flat_scratch, v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], vcc, v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], tba, v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x6c,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], tma, v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], ttmp[10:11], v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x7a,0x04,0x02,0x00]
-v_cmp_class_f64 vcc, s[2:3], v255
-// CHECK: [0x02,0xfe,0x51,0x7d]
+v_cmp_class_f64_e64 s[10:11], exec, v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], v255
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xff,0x03,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], s2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0x05,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], s103
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xcf,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], flat_scratch_lo
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xd1,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], flat_scratch_hi
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xd3,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], vcc_lo
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xd5,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], vcc_hi
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xd7,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], tba_lo
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xd9,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], tba_hi
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xdb,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], tma_lo
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], tma_hi
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xdf,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], ttmp11
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xf7,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], m0
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xf9,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], exec_lo
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], exec_hi
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xff,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0xef,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], -v[1:2], v2
+// CHECK: [0x0a,0x00,0x50,0xd1,0x01,0x05,0x02,0x20]
+
+v_cmpx_class_f64 vcc, v[1:2], v2
+// CHECK: [0x01,0x05,0x70,0x7d]
+
+v_cmpx_class_f64 vcc, v[254:255], v2
+// CHECK: [0xfe,0x05,0x70,0x7d]
v_cmpx_class_f64 vcc, s[2:3], v2
// CHECK: [0x02,0x04,0x70,0x7d]
@@ -71925,11 +87012,131 @@ v_cmpx_class_f64 vcc, 0xaf123456, v2
v_cmpx_class_f64 vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x70,0x7d,0x73,0x72,0x71,0x3f]
-v_cmpx_class_f64 vcc, v[1:2], v2
-// CHECK: [0x01,0x05,0x70,0x7d]
+v_cmpx_class_f64 vcc, v[1:2], v255
+// CHECK: [0x01,0xff,0x71,0x7d]
-v_cmpx_class_f64 vcc, v[254:255], v2
-// CHECK: [0xfe,0x05,0x70,0x7d]
+v_cmpx_class_f64_e64 s[10:11], v[1:2], v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[12:13], v[1:2], v2
+// CHECK: [0x0c,0x00,0x70,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[102:103], v[1:2], v2
+// CHECK: [0x66,0x00,0x70,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 flat_scratch, v[1:2], v2
+// CHECK: [0x68,0x00,0x70,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 vcc, v[1:2], v2
+// CHECK: [0x6a,0x00,0x70,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 tba, v[1:2], v2
+// CHECK: [0x6c,0x00,0x70,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 tma, v[1:2], v2
+// CHECK: [0x6e,0x00,0x70,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 ttmp[10:11], v[1:2], v2
+// CHECK: [0x7a,0x00,0x70,0xd1,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[254:255], v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0xfe,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], s[2:3], v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x02,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], s[4:5], v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x04,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], s[102:103], v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x66,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], flat_scratch, v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x68,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], vcc, v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], tba, v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x6c,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], tma, v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], ttmp[10:11], v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x7a,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], exec, v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x80,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0xc1,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0xf0,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0xf7,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], v255
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xff,0x03,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], s2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0x05,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], s103
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xcf,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], flat_scratch_lo
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xd1,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], flat_scratch_hi
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xd3,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], vcc_lo
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xd5,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], vcc_hi
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xd7,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], tba_lo
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xd9,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], tba_hi
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xdb,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], tma_lo
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], tma_hi
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xdf,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], ttmp11
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xf7,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], m0
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xf9,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], exec_lo
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], exec_hi
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xff,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0x01,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0x83,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xe1,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0xef,0x01,0x00]
-v_cmpx_class_f64 vcc, s[2:3], v255
-// CHECK: [0x02,0xfe,0x71,0x7d]
+v_cmpx_class_f64_e64 s[10:11], -v[1:2], v2
+// CHECK: [0x0a,0x00,0x70,0xd1,0x01,0x05,0x02,0x20]
diff --git a/test/MC/AMDGPU/gfx8_asm_all.s b/test/MC/AMDGPU/gfx8_asm_all.s
index a9dd9c97ae8b..16f94448b982 100644
--- a/test/MC/AMDGPU/gfx8_asm_all.s
+++ b/test/MC/AMDGPU/gfx8_asm_all.s
@@ -3141,79 +3141,85 @@ ds_read_b128 v[5:8], v1 offset:4
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
+exp mrt0 v0, v0, v0, v0
// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrtz, v0, v0, v0, v0
+exp mrtz v0, v0, v0, v0
// CHECK: [0x8f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp null, v0, v0, v0, v0
+exp null v0, v0, v0, v0
// CHECK: [0x9f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp pos0, v0, v0, v0, v0
+exp pos0 v0, v0, v0, v0
// CHECK: [0xcf,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp param0, v0, v0, v0, v0
+exp param0 v0, v0, v0, v0
// CHECK: [0x0f,0x02,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v255, v0, v0, v0
+exp mrt0 v255, v0, v0, v0
// CHECK: [0x0f,0x00,0x00,0xc4,0xff,0x00,0x00,0x00]
-exp mrt0, v0, v255, v0, v0
+exp mrt0 v0, v255, v0, v0
// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0xff,0x00,0x00]
-exp mrt0, v0, v0, v255, v0
+exp mrt0 v0, v0, v255, v0
// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0x00,0xff,0x00]
-exp mrt0, v0, v0, v0, v255
+exp mrt0 v0, v0, v0, v255
// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0xff]
-exp mrt0, v0, off, off, off
+exp mrt0 v0, off, off, off
// CHECK: [0x01,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, off, off
+exp mrt0 off, v0, off, off
// CHECK: [0x02,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, off, off
+exp mrt0 v0, v0, off, off
// CHECK: [0x03,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, v0, off
+exp mrt0 off, off, v0, off
// CHECK: [0x04,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, off, v0, off
+exp mrt0 v0, off, v0, off
// CHECK: [0x05,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, v0, off
+exp mrt0 off, v0, v0, off
// CHECK: [0x06,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, v0, off
+exp mrt0 v0, v0, v0, off
// CHECK: [0x07,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, off, v0
+exp mrt0 off, off, off, v0
// CHECK: [0x08,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, off, off, v0
+exp mrt0 v0, off, off, v0
// CHECK: [0x09,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, off, v0
+exp mrt0 off, v0, off, v0
// CHECK: [0x0a,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, off, v0
+exp mrt0 v0, v0, off, v0
// CHECK: [0x0b,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, v0, v0
+exp mrt0 off, off, v0, v0
// CHECK: [0x0c,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, off, v0, v0
+exp mrt0 v0, off, v0, v0
// CHECK: [0x0d,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, v0, v0
+exp mrt0 off, v0, v0, v0
// CHECK: [0x0e,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, off, off
+exp mrt0 off, off, off, off
// CHECK: [0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, v0, v0 vm
+exp mrt0 v0, v0, v0, v0 done
+// CHECK: [0x0f,0x08,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0 v0, v0, v0, v0 compr
+// CHECK: [0x0f,0x04,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]
@@ -23889,12 +23895,18 @@ v_nop
v_nop_e64
// CHECK: [0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00]
+v_mov_b32 v5, v1
+// CHECK: [0x01,0x03,0x0a,0x7e]
+
+v_mov_b32 v255, v1
+// CHECK: [0x01,0x03,0xfe,0x7f]
+
+v_mov_b32 v5, v255
+// CHECK: [0xff,0x03,0x0a,0x7e]
+
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]
@@ -23952,18 +23964,18 @@ v_mov_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x41,0xd1,0x01,0x01,0x00,0x00]
-v_mov_b32 v5, v255
-// CHECK: [0xff,0x03,0x0a,0x7e]
+v_mov_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x41,0xd1,0x01,0x01,0x00,0x00]
+
+v_mov_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x41,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -24015,12 +24027,6 @@ v_mov_b32_e64 v5, 0.5
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]
@@ -24051,12 +24057,18 @@ v_readfirstlane_b32 ttmp11, v1
v_readfirstlane_b32 s5, v255
// CHECK: [0xff,0x05,0x0a,0x7e]
+v_cvt_i32_f64 v5, v[1:2]
+// CHECK: [0x01,0x07,0x0a,0x7e]
+
+v_cvt_i32_f64 v255, v[1:2]
+// CHECK: [0x01,0x07,0xfe,0x7f]
+
+v_cvt_i32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x07,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]
@@ -24099,18 +24111,18 @@ v_cvt_i32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x07,0x0a,0x7e]
+v_cvt_i32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,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,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]
@@ -24147,27 +24159,27 @@ v_cvt_i32_f64_e64 v5, 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_i32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x43,0xd1,0xfe,0x01,0x00,0x00]
+v_cvt_i32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x43,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, v[1:2] clamp
+// CHECK: [0x05,0x80,0x43,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i32_f64_e64 v5, -s[2:3]
-// CHECK: [0x05,0x00,0x43,0xd1,0x02,0x00,0x00,0x20]
+v_cvt_f64_i32 v[5:6], v1
+// CHECK: [0x01,0x09,0x0a,0x7e]
-v_cvt_i32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x43,0xd1,0x02,0x00,0x00,0x00]
+v_cvt_f64_i32 v[254:255], v1
+// CHECK: [0x01,0x09,0xfc,0x7f]
-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], v255
+// CHECK: [0xff,0x09,0x0a,0x7e]
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]
@@ -24225,18 +24237,18 @@ v_cvt_f64_i32 v[5:6], 0xaf123456
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_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f64_i32 v[5:6], v255
-// CHECK: [0xff,0x09,0x0a,0x7e]
+v_cvt_f64_i32_e64 v[254:255], v1
+// CHECK: [0xfe,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
// 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]
@@ -24288,30 +24300,30 @@ v_cvt_f64_i32_e64 v[5:6], 0.5
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], v1 clamp
+// CHECK: [0x05,0x80,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], v1 mul:2
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x08]
-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], v1 mul:4
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x10]
-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], v1 div:2
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f64_i32_e64 v[5:6], s1 mul:4
-// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_i32 v5, v1
+// CHECK: [0x01,0x0b,0x0a,0x7e]
-v_cvt_f64_i32_e64 v[5:6], s1 div:2
-// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_i32 v255, v1
+// CHECK: [0x01,0x0b,0xfe,0x7f]
+
+v_cvt_f32_i32 v5, v255
+// CHECK: [0xff,0x0b,0x0a,0x7e]
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]
@@ -24369,18 +24381,18 @@ v_cvt_f32_i32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_i32 v5, v255
-// CHECK: [0xff,0x0b,0x0a,0x7e]
+v_cvt_f32_i32_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -24432,30 +24444,30 @@ v_cvt_f32_i32_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_i32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x45,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_i32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_i32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_i32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_i32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_u32 v5, v1
+// CHECK: [0x01,0x0d,0x0a,0x7e]
+
+v_cvt_f32_u32 v255, v1
+// CHECK: [0x01,0x0d,0xfe,0x7f]
-v_cvt_f32_i32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_u32 v5, v255
+// CHECK: [0xff,0x0d,0x0a,0x7e]
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]
@@ -24513,18 +24525,18 @@ v_cvt_f32_u32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_u32 v5, v255
-// CHECK: [0xff,0x0d,0x0a,0x7e]
+v_cvt_f32_u32_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -24576,30 +24588,30 @@ v_cvt_f32_u32_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_u32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x46,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_u32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_u32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_u32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_u32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_u32_f32 v5, v1
+// CHECK: [0x01,0x0f,0x0a,0x7e]
+
+v_cvt_u32_f32 v255, v1
+// CHECK: [0x01,0x0f,0xfe,0x7f]
-v_cvt_f32_u32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_u32_f32 v5, v255
+// CHECK: [0xff,0x0f,0x0a,0x7e]
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]
@@ -24657,18 +24669,18 @@ v_cvt_u32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u32_f32 v5, v255
-// CHECK: [0xff,0x0f,0x0a,0x7e]
+v_cvt_u32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24720,27 +24732,27 @@ v_cvt_u32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_u32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x47,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_u32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x47,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x47,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x47,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_i32_f32 v5, v1
+// CHECK: [0x01,0x11,0x0a,0x7e]
-v_cvt_u32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x47,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_i32_f32 v255, v1
+// CHECK: [0x01,0x11,0xfe,0x7f]
+
+v_cvt_i32_f32 v5, v255
+// CHECK: [0xff,0x11,0x0a,0x7e]
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]
@@ -24798,18 +24810,18 @@ v_cvt_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i32_f32 v5, v255
-// CHECK: [0xff,0x11,0x0a,0x7e]
+v_cvt_i32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24861,27 +24873,27 @@ v_cvt_i32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x48,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x48,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x48,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x48,0xd1,0x01,0x00,0x00,0x00]
+v_mov_fed_b32 v5, v1
+// CHECK: [0x01,0x13,0x0a,0x7e]
-v_cvt_i32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x48,0xd1,0x01,0x00,0x00,0x00]
+v_mov_fed_b32 v255, v1
+// CHECK: [0x01,0x13,0xfe,0x7f]
+
+v_mov_fed_b32 v5, v255
+// CHECK: [0xff,0x13,0x0a,0x7e]
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]
@@ -24939,18 +24951,18 @@ v_mov_fed_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
-v_mov_fed_b32 v5, v255
-// CHECK: [0xff,0x13,0x0a,0x7e]
+v_mov_fed_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -25002,18 +25014,18 @@ v_mov_fed_b32_e64 v5, 0.5
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_cvt_f16_f32 v5, v1
+// CHECK: [0x01,0x15,0x0a,0x7e]
-v_mov_fed_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f16_f32 v255, v1
+// CHECK: [0x01,0x15,0xfe,0x7f]
+
+v_cvt_f16_f32 v5, v255
+// CHECK: [0xff,0x15,0x0a,0x7e]
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]
@@ -25071,18 +25083,18 @@ v_cvt_f16_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_f32 v5, v255
-// CHECK: [0xff,0x15,0x0a,0x7e]
+v_cvt_f16_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25134,36 +25146,36 @@ v_cvt_f16_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_f16_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x4a,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f16_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x4a,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x4a,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x4a,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f16_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f16_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x4a,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f16_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f16_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f16_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f16_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_f16 v5, v1
+// CHECK: [0x01,0x17,0x0a,0x7e]
-v_cvt_f16_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_f16 v255, v1
+// CHECK: [0x01,0x17,0xfe,0x7f]
+
+v_cvt_f32_f16 v5, v255
+// CHECK: [0xff,0x17,0x0a,0x7e]
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]
@@ -25221,18 +25233,18 @@ v_cvt_f32_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_f16 v5, v255
-// CHECK: [0xff,0x17,0x0a,0x7e]
+v_cvt_f32_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25284,36 +25296,36 @@ v_cvt_f32_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_f32_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x4b,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f32_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x4b,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x4b,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x4b,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_f16_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x4b,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_f16_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_f16_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_f16_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x18]
+
+v_cvt_rpi_i32_f32 v5, v1
+// CHECK: [0x01,0x19,0x0a,0x7e]
-v_cvt_f32_f16_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_rpi_i32_f32 v255, v1
+// CHECK: [0x01,0x19,0xfe,0x7f]
-v_cvt_f32_f16_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_rpi_i32_f32 v5, v255
+// CHECK: [0xff,0x19,0x0a,0x7e]
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]
@@ -25371,18 +25383,18 @@ v_cvt_rpi_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_rpi_i32_f32 v5, v255
-// CHECK: [0xff,0x19,0x0a,0x7e]
+v_cvt_rpi_i32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25434,27 +25446,27 @@ v_cvt_rpi_i32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_rpi_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x4c,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_rpi_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x4c,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x4c,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_rpi_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x4c,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_flr_i32_f32 v5, v1
+// CHECK: [0x01,0x1b,0x0a,0x7e]
-v_cvt_rpi_i32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x4c,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_flr_i32_f32 v255, v1
+// CHECK: [0x01,0x1b,0xfe,0x7f]
+
+v_cvt_flr_i32_f32 v5, v255
+// CHECK: [0xff,0x1b,0x0a,0x7e]
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]
@@ -25512,18 +25524,18 @@ v_cvt_flr_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_flr_i32_f32 v5, v255
-// CHECK: [0xff,0x1b,0x0a,0x7e]
+v_cvt_flr_i32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25575,27 +25587,27 @@ v_cvt_flr_i32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_flr_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x4d,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_flr_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x4d,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x4d,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_flr_i32_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x4d,0xd1,0x01,0x00,0x00,0x20]
+v_cvt_off_f32_i4 v5, v1
+// CHECK: [0x01,0x1d,0x0a,0x7e]
-v_cvt_flr_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x4d,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_off_f32_i4 v255, v1
+// CHECK: [0x01,0x1d,0xfe,0x7f]
-v_cvt_flr_i32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x4d,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_off_f32_i4 v5, v255
+// CHECK: [0xff,0x1d,0x0a,0x7e]
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]
@@ -25653,18 +25665,18 @@ v_cvt_off_f32_i4 v5, 0x4f
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_off_f32_i4 v5, v255
-// CHECK: [0xff,0x1d,0x0a,0x7e]
+v_cvt_off_f32_i4_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -25716,30 +25728,30 @@ v_cvt_off_f32_i4_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x08]
-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, v1 mul:4
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x10]
-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, v1 div:2
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_off_f32_i4_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_f64 v5, v[1:2]
+// CHECK: [0x01,0x1f,0x0a,0x7e]
+
+v_cvt_f32_f64 v255, v[1:2]
+// CHECK: [0x01,0x1f,0xfe,0x7f]
-v_cvt_off_f32_i4_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x1f,0x0a,0x7e]
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]
@@ -25782,18 +25794,18 @@ v_cvt_f32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x1f,0x0a,0x7e]
+v_cvt_f32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,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,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]
@@ -25830,36 +25842,36 @@ v_cvt_f32_f64_e64 v5, 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_f32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x4f,0xd1,0xfe,0x01,0x00,0x00]
+v_cvt_f32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x4f,0xd1,0x01,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, v[1:2] clamp
+// CHECK: [0x05,0x80,0x4f,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x4f,0xd1,0x02,0x00,0x00,0x00]
+v_cvt_f32_f64_e64 v5, v[1:2] mul:2
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x08]
-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, v[1:2] mul:4
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x10]
-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, v[1:2] div:2
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_f64_e64 v5, s[2:3] mul:4
-// CHECK: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x10]
+v_cvt_f64_f32 v[5:6], v1
+// CHECK: [0x01,0x21,0x0a,0x7e]
-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[254:255], v1
+// CHECK: [0x01,0x21,0xfc,0x7f]
+
+v_cvt_f64_f32 v[5:6], v255
+// CHECK: [0xff,0x21,0x0a,0x7e]
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]
@@ -25917,18 +25929,18 @@ v_cvt_f64_f32 v[5:6], 0xaf123456
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_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f64_f32 v[5:6], v255
-// CHECK: [0xff,0x21,0x0a,0x7e]
+v_cvt_f64_f32_e64 v[254:255], v1
+// CHECK: [0xfe,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,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]
@@ -25980,36 +25992,36 @@ v_cvt_f64_f32_e64 v[5:6], 0.5
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], -v1
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x20]
-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], |v1|
+// CHECK: [0x05,0x01,0x50,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], v1 clamp
+// CHECK: [0x05,0x80,0x50,0xd1,0x01,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], v1 mul:2
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x08]
-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], v1 mul:4
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x10]
-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], v1 div:2
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f64_f32_e64 v[5:6], s1 mul:2
-// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_ubyte0 v5, v1
+// CHECK: [0x01,0x23,0x0a,0x7e]
-v_cvt_f64_f32_e64 v[5:6], s1 mul:4
-// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_ubyte0 v255, v1
+// CHECK: [0x01,0x23,0xfe,0x7f]
-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, v255
+// CHECK: [0xff,0x23,0x0a,0x7e]
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]
@@ -26067,18 +26079,18 @@ v_cvt_f32_ubyte0 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte0 v5, v255
-// CHECK: [0xff,0x23,0x0a,0x7e]
+v_cvt_f32_ubyte0_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -26130,30 +26142,30 @@ v_cvt_f32_ubyte0_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_ubyte0_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x51,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_ubyte0_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_ubyte0_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_ubyte0_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_ubyte0_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_ubyte1 v5, v1
+// CHECK: [0x01,0x25,0x0a,0x7e]
-v_cvt_f32_ubyte0_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_ubyte1 v255, v1
+// CHECK: [0x01,0x25,0xfe,0x7f]
+
+v_cvt_f32_ubyte1 v5, v255
+// CHECK: [0xff,0x25,0x0a,0x7e]
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]
@@ -26211,18 +26223,18 @@ v_cvt_f32_ubyte1 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte1 v5, v255
-// CHECK: [0xff,0x25,0x0a,0x7e]
+v_cvt_f32_ubyte1_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -26274,30 +26286,30 @@ v_cvt_f32_ubyte1_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_ubyte1_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x52,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_ubyte1_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_ubyte1_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_ubyte1_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x18]
+
+v_cvt_f32_ubyte2 v5, v1
+// CHECK: [0x01,0x27,0x0a,0x7e]
-v_cvt_f32_ubyte1_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_ubyte2 v255, v1
+// CHECK: [0x01,0x27,0xfe,0x7f]
-v_cvt_f32_ubyte1_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_ubyte2 v5, v255
+// CHECK: [0xff,0x27,0x0a,0x7e]
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]
@@ -26355,18 +26367,18 @@ v_cvt_f32_ubyte2 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte2 v5, v255
-// CHECK: [0xff,0x27,0x0a,0x7e]
+v_cvt_f32_ubyte2_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -26418,30 +26430,30 @@ v_cvt_f32_ubyte2_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_ubyte2_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x53,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_ubyte2_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_ubyte2_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_ubyte2_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_ubyte2_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_ubyte3 v5, v1
+// CHECK: [0x01,0x29,0x0a,0x7e]
-v_cvt_f32_ubyte2_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_ubyte3 v255, v1
+// CHECK: [0x01,0x29,0xfe,0x7f]
+
+v_cvt_f32_ubyte3 v5, v255
+// CHECK: [0xff,0x29,0x0a,0x7e]
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]
@@ -26499,18 +26511,18 @@ v_cvt_f32_ubyte3 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte3 v5, v255
-// CHECK: [0xff,0x29,0x0a,0x7e]
+v_cvt_f32_ubyte3_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -26562,30 +26574,30 @@ v_cvt_f32_ubyte3_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x08]
+
+v_cvt_f32_ubyte3_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_ubyte3_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x54,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_ubyte3_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_ubyte3_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_u32_f64 v5, v[1:2]
+// CHECK: [0x01,0x2b,0x0a,0x7e]
-v_cvt_f32_ubyte3_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_u32_f64 v255, v[1:2]
+// CHECK: [0x01,0x2b,0xfe,0x7f]
-v_cvt_f32_ubyte3_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_u32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x2b,0x0a,0x7e]
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]
@@ -26628,18 +26640,18 @@ v_cvt_u32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x2b,0x0a,0x7e]
+v_cvt_u32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,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,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]
@@ -26676,27 +26688,27 @@ v_cvt_u32_f64_e64 v5, 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_u32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x55,0xd1,0xfe,0x01,0x00,0x00]
+v_cvt_u32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x55,0xd1,0x01,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, v[1:2] clamp
+// CHECK: [0x05,0x80,0x55,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x55,0xd1,0x02,0x00,0x00,0x00]
+v_cvt_f64_u32 v[5:6], v1
+// CHECK: [0x01,0x2d,0x0a,0x7e]
-v_cvt_u32_f64_e64 v5, s[2:3] clamp
-// CHECK: [0x05,0x80,0x55,0xd1,0x02,0x00,0x00,0x00]
+v_cvt_f64_u32 v[254:255], v1
+// CHECK: [0x01,0x2d,0xfc,0x7f]
+
+v_cvt_f64_u32 v[5:6], v255
+// CHECK: [0xff,0x2d,0x0a,0x7e]
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]
@@ -26754,18 +26766,18 @@ v_cvt_f64_u32 v[5:6], 0xaf123456
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_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f64_u32 v[5:6], v255
-// CHECK: [0xff,0x2d,0x0a,0x7e]
+v_cvt_f64_u32_e64 v[254:255], v1
+// CHECK: [0xfe,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
// 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]
@@ -26817,30 +26829,30 @@ v_cvt_f64_u32_e64 v[5:6], 0.5
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], v1 clamp
+// CHECK: [0x05,0x80,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], v1 mul:2
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x08]
-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], v1 mul:4
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x10]
-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], v1 div:2
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f64_u32_e64 v[5:6], s1 mul:4
-// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x10]
+v_trunc_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x2f,0x0a,0x7e]
+
+v_trunc_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x2f,0xfc,0x7f]
-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], v[254:255]
+// CHECK: [0xfe,0x2f,0x0a,0x7e]
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]
@@ -26883,18 +26895,18 @@ v_trunc_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x2f,0x0a,0x7e]
+v_trunc_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -26931,36 +26943,36 @@ v_trunc_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x57,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x57,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x18]
-v_trunc_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x10]
+v_ceil_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x31,0x0a,0x7e]
+
+v_ceil_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x31,0xfc,0x7f]
-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], v[254:255]
+// CHECK: [0xfe,0x31,0x0a,0x7e]
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]
@@ -27003,18 +27015,18 @@ v_ceil_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x31,0x0a,0x7e]
+v_ceil_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -27051,36 +27063,36 @@ v_ceil_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x58,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x58,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x18]
-v_ceil_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x10]
+v_rndne_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x33,0x0a,0x7e]
-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[254:255], v[1:2]
+// CHECK: [0x01,0x33,0xfc,0x7f]
+
+v_rndne_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x33,0x0a,0x7e]
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]
@@ -27123,18 +27135,18 @@ v_rndne_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x33,0x0a,0x7e]
+v_rndne_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -27171,33 +27183,33 @@ v_rndne_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x20]
-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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x59,0xd1,0x01,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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x18]
-v_rndne_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x10]
+v_floor_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x35,0x0a,0x7e]
-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[254:255], v[1:2]
+// CHECK: [0x01,0x35,0xfc,0x7f]
+
+v_floor_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x35,0x0a,0x7e]
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]
@@ -27240,18 +27252,18 @@ v_floor_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x35,0x0a,0x7e]
+v_floor_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -27288,33 +27300,33 @@ v_floor_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x20]
-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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x5a,0xd1,0x01,0x01,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x18]
-v_floor_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x08]
+v_fract_f32 v5, v1
+// CHECK: [0x01,0x37,0x0a,0x7e]
-v_floor_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x10]
+v_fract_f32 v255, v1
+// CHECK: [0x01,0x37,0xfe,0x7f]
-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, v255
+// CHECK: [0xff,0x37,0x0a,0x7e]
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]
@@ -27372,18 +27384,18 @@ v_fract_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f32 v5, v255
-// CHECK: [0xff,0x37,0x0a,0x7e]
+v_fract_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -27435,33 +27447,33 @@ v_fract_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x20]
-v_fract_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5b,0xd1,0xff,0x01,0x00,0x00]
+v_fract_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5b,0xd1,0x01,0x01,0x00,0x00]
+
+v_fract_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x08]
-v_fract_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x20]
+v_fract_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x10]
-v_fract_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5b,0xd1,0x01,0x00,0x00,0x00]
+v_fract_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x18]
-v_fract_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x08]
+v_trunc_f32 v5, v1
+// CHECK: [0x01,0x39,0x0a,0x7e]
-v_fract_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x10]
+v_trunc_f32 v255, v1
+// CHECK: [0x01,0x39,0xfe,0x7f]
-v_fract_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x18]
+v_trunc_f32 v5, v255
+// CHECK: [0xff,0x39,0x0a,0x7e]
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]
@@ -27519,18 +27531,18 @@ v_trunc_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f32 v5, v255
-// CHECK: [0xff,0x39,0x0a,0x7e]
+v_trunc_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -27582,33 +27594,33 @@ v_trunc_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x20]
-v_trunc_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5c,0xd1,0xff,0x01,0x00,0x00]
+v_trunc_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5c,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x20]
+v_trunc_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x08]
-v_trunc_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5c,0xd1,0x01,0x00,0x00,0x00]
+v_trunc_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x10]
-v_trunc_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x08]
+v_trunc_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x18]
+
+v_ceil_f32 v5, v1
+// CHECK: [0x01,0x3b,0x0a,0x7e]
-v_trunc_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x10]
+v_ceil_f32 v255, v1
+// CHECK: [0x01,0x3b,0xfe,0x7f]
-v_trunc_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x18]
+v_ceil_f32 v5, v255
+// CHECK: [0xff,0x3b,0x0a,0x7e]
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]
@@ -27666,18 +27678,18 @@ v_ceil_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f32 v5, v255
-// CHECK: [0xff,0x3b,0x0a,0x7e]
+v_ceil_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -27729,33 +27741,33 @@ v_ceil_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x20]
-v_ceil_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5d,0xd1,0xff,0x01,0x00,0x00]
+v_ceil_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5d,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x20]
+v_ceil_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x08]
-v_ceil_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5d,0xd1,0x01,0x00,0x00,0x00]
+v_ceil_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x10]
-v_ceil_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x08]
+v_ceil_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x18]
+
+v_rndne_f32 v5, v1
+// CHECK: [0x01,0x3d,0x0a,0x7e]
-v_ceil_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x10]
+v_rndne_f32 v255, v1
+// CHECK: [0x01,0x3d,0xfe,0x7f]
-v_ceil_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x18]
+v_rndne_f32 v5, v255
+// CHECK: [0xff,0x3d,0x0a,0x7e]
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]
@@ -27813,18 +27825,18 @@ v_rndne_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f32 v5, v255
-// CHECK: [0xff,0x3d,0x0a,0x7e]
+v_rndne_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -27876,33 +27888,33 @@ v_rndne_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x20]
-v_rndne_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5e,0xd1,0xff,0x01,0x00,0x00]
+v_rndne_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5e,0xd1,0x01,0x01,0x00,0x00]
+
+v_rndne_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x08]
-v_rndne_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x20]
+v_rndne_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x10]
-v_rndne_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5e,0xd1,0x01,0x00,0x00,0x00]
+v_rndne_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x18]
-v_rndne_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x08]
+v_floor_f32 v5, v1
+// CHECK: [0x01,0x3f,0x0a,0x7e]
-v_rndne_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x10]
+v_floor_f32 v255, v1
+// CHECK: [0x01,0x3f,0xfe,0x7f]
-v_rndne_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x18]
+v_floor_f32 v5, v255
+// CHECK: [0xff,0x3f,0x0a,0x7e]
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]
@@ -27960,18 +27972,18 @@ v_floor_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f32 v5, v255
-// CHECK: [0xff,0x3f,0x0a,0x7e]
+v_floor_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -28023,36 +28035,36 @@ v_floor_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x20]
-v_floor_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5f,0xd1,0xff,0x01,0x00,0x00]
+v_floor_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x5f,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x20]
+v_floor_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5f,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x5f,0xd1,0x01,0x00,0x00,0x00]
+v_floor_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x08]
-v_floor_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5f,0xd1,0x01,0x00,0x00,0x00]
+v_floor_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x10]
-v_floor_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x08]
+v_floor_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x18]
-v_floor_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x10]
+v_exp_f32 v5, v1
+// CHECK: [0x01,0x41,0x0a,0x7e]
+
+v_exp_f32 v255, v1
+// CHECK: [0x01,0x41,0xfe,0x7f]
-v_floor_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x18]
+v_exp_f32 v5, v255
+// CHECK: [0xff,0x41,0x0a,0x7e]
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]
@@ -28110,18 +28122,18 @@ v_exp_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f32 v5, v255
-// CHECK: [0xff,0x41,0x0a,0x7e]
+v_exp_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -28173,36 +28185,36 @@ v_exp_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x20]
-v_exp_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x60,0xd1,0xff,0x01,0x00,0x00]
+v_exp_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x60,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x20]
+v_exp_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x60,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x60,0xd1,0x01,0x00,0x00,0x00]
+v_exp_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x08]
-v_exp_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x60,0xd1,0x01,0x00,0x00,0x00]
+v_exp_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x10]
-v_exp_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x08]
+v_exp_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x18]
-v_exp_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x10]
+v_log_f32 v5, v1
+// CHECK: [0x01,0x43,0x0a,0x7e]
-v_exp_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x18]
+v_log_f32 v255, v1
+// CHECK: [0x01,0x43,0xfe,0x7f]
+
+v_log_f32 v5, v255
+// CHECK: [0xff,0x43,0x0a,0x7e]
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]
@@ -28260,18 +28272,18 @@ v_log_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x00]
-v_log_f32 v5, v255
-// CHECK: [0xff,0x43,0x0a,0x7e]
+v_log_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -28323,36 +28335,36 @@ v_log_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x20]
-v_log_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x61,0xd1,0xff,0x01,0x00,0x00]
+v_log_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x61,0xd1,0x01,0x01,0x00,0x00]
-v_log_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x20]
+v_log_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x61,0xd1,0x01,0x01,0x00,0x00]
-v_log_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x61,0xd1,0x01,0x00,0x00,0x00]
+v_log_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x08]
-v_log_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x61,0xd1,0x01,0x00,0x00,0x00]
+v_log_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x10]
-v_log_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x08]
+v_log_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x18]
-v_log_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x10]
+v_rcp_f32 v5, v1
+// CHECK: [0x01,0x45,0x0a,0x7e]
-v_log_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x18]
+v_rcp_f32 v255, v1
+// CHECK: [0x01,0x45,0xfe,0x7f]
+
+v_rcp_f32 v5, v255
+// CHECK: [0xff,0x45,0x0a,0x7e]
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]
@@ -28410,18 +28422,18 @@ v_rcp_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f32 v5, v255
-// CHECK: [0xff,0x45,0x0a,0x7e]
+v_rcp_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -28473,36 +28485,36 @@ v_rcp_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x20]
-v_rcp_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x62,0xd1,0xff,0x01,0x00,0x00]
+v_rcp_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x62,0xd1,0x01,0x01,0x00,0x00]
+
+v_rcp_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x62,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x20]
+v_rcp_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x08]
-v_rcp_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x62,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x10]
-v_rcp_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x62,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x18]
-v_rcp_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x08]
+v_rcp_iflag_f32 v5, v1
+// CHECK: [0x01,0x47,0x0a,0x7e]
-v_rcp_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x10]
+v_rcp_iflag_f32 v255, v1
+// CHECK: [0x01,0x47,0xfe,0x7f]
-v_rcp_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x18]
+v_rcp_iflag_f32 v5, v255
+// CHECK: [0xff,0x47,0x0a,0x7e]
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]
@@ -28560,18 +28572,18 @@ v_rcp_iflag_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_iflag_f32 v5, v255
-// CHECK: [0xff,0x47,0x0a,0x7e]
+v_rcp_iflag_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -28623,36 +28635,36 @@ v_rcp_iflag_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x20]
-v_rcp_iflag_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x63,0xd1,0xff,0x01,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x63,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x63,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_iflag_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x63,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x08]
-v_rcp_iflag_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x63,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x10]
-v_rcp_iflag_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x08]
+v_rcp_iflag_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x18]
-v_rcp_iflag_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x10]
+v_rsq_f32 v5, v1
+// CHECK: [0x01,0x49,0x0a,0x7e]
-v_rcp_iflag_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x18]
+v_rsq_f32 v255, v1
+// CHECK: [0x01,0x49,0xfe,0x7f]
+
+v_rsq_f32 v5, v255
+// CHECK: [0xff,0x49,0x0a,0x7e]
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]
@@ -28710,18 +28722,18 @@ v_rsq_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f32 v5, v255
-// CHECK: [0xff,0x49,0x0a,0x7e]
+v_rsq_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -28773,36 +28785,36 @@ v_rsq_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x20]
-v_rsq_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x64,0xd1,0xff,0x01,0x00,0x00]
+v_rsq_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x64,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x20]
+v_rsq_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x64,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x64,0xd1,0x01,0x00,0x00,0x00]
+v_rsq_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x08]
-v_rsq_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x64,0xd1,0x01,0x00,0x00,0x00]
+v_rsq_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x10]
-v_rsq_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x08]
+v_rsq_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x18]
+
+v_rcp_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x4b,0x0a,0x7e]
-v_rsq_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x10]
+v_rcp_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x4b,0xfc,0x7f]
-v_rsq_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x18]
+v_rcp_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x4b,0x0a,0x7e]
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]
@@ -28845,18 +28857,18 @@ v_rcp_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x4b,0x0a,0x7e]
+v_rcp_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -28893,36 +28905,36 @@ v_rcp_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x65,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x65,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x18]
-v_rcp_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x10]
+v_rsq_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x4d,0x0a,0x7e]
-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[254:255], v[1:2]
+// CHECK: [0x01,0x4d,0xfc,0x7f]
+
+v_rsq_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x4d,0x0a,0x7e]
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]
@@ -28965,18 +28977,18 @@ v_rsq_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x4d,0x0a,0x7e]
+v_rsq_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -29013,36 +29025,36 @@ v_rsq_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x66,0xd1,0x01,0x01,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x80,0x66,0xd1,0x01,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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x18]
-v_rsq_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x08]
+v_sqrt_f32 v5, v1
+// CHECK: [0x01,0x4f,0x0a,0x7e]
-v_rsq_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x10]
+v_sqrt_f32 v255, v1
+// CHECK: [0x01,0x4f,0xfe,0x7f]
-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, v255
+// CHECK: [0xff,0x4f,0x0a,0x7e]
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]
@@ -29100,18 +29112,18 @@ v_sqrt_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f32 v5, v255
-// CHECK: [0xff,0x4f,0x0a,0x7e]
+v_sqrt_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -29163,36 +29175,36 @@ v_sqrt_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x20]
-v_sqrt_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x67,0xd1,0xff,0x01,0x00,0x00]
+v_sqrt_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x67,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x20]
+v_sqrt_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x67,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x67,0xd1,0x01,0x00,0x00,0x00]
+v_sqrt_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x08]
-v_sqrt_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x67,0xd1,0x01,0x00,0x00,0x00]
+v_sqrt_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x10]
-v_sqrt_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x08]
+v_sqrt_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x18]
-v_sqrt_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x10]
+v_sqrt_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x51,0x0a,0x7e]
-v_sqrt_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x18]
+v_sqrt_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x51,0xfc,0x7f]
+
+v_sqrt_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x51,0x0a,0x7e]
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]
@@ -29235,18 +29247,18 @@ v_sqrt_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x51,0x0a,0x7e]
+v_sqrt_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -29283,36 +29295,36 @@ v_sqrt_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x68,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x68,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x18]
-v_sqrt_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x10]
+v_sin_f32 v5, v1
+// CHECK: [0x01,0x53,0x0a,0x7e]
+
+v_sin_f32 v255, v1
+// CHECK: [0x01,0x53,0xfe,0x7f]
-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, v255
+// CHECK: [0xff,0x53,0x0a,0x7e]
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]
@@ -29370,18 +29382,18 @@ v_sin_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f32 v5, v255
-// CHECK: [0xff,0x53,0x0a,0x7e]
+v_sin_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -29433,36 +29445,36 @@ v_sin_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x20]
-v_sin_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x69,0xd1,0xff,0x01,0x00,0x00]
+v_sin_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x69,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x20]
+v_sin_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x69,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x69,0xd1,0x01,0x00,0x00,0x00]
+v_sin_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x08]
-v_sin_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x69,0xd1,0x01,0x00,0x00,0x00]
+v_sin_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x10]
-v_sin_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x08]
+v_sin_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x18]
-v_sin_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x10]
+v_cos_f32 v5, v1
+// CHECK: [0x01,0x55,0x0a,0x7e]
+
+v_cos_f32 v255, v1
+// CHECK: [0x01,0x55,0xfe,0x7f]
-v_sin_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x18]
+v_cos_f32 v5, v255
+// CHECK: [0xff,0x55,0x0a,0x7e]
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]
@@ -29520,18 +29532,18 @@ v_cos_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f32 v5, v255
-// CHECK: [0xff,0x55,0x0a,0x7e]
+v_cos_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -29583,36 +29595,36 @@ v_cos_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x20]
-v_cos_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6a,0xd1,0xff,0x01,0x00,0x00]
+v_cos_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x6a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x20]
+v_cos_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x6a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x6a,0xd1,0x01,0x00,0x00,0x00]
+v_cos_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x08]
-v_cos_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x6a,0xd1,0x01,0x00,0x00,0x00]
+v_cos_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x10]
-v_cos_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x08]
+v_cos_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x18]
-v_cos_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x10]
+v_not_b32 v5, v1
+// CHECK: [0x01,0x57,0x0a,0x7e]
-v_cos_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x18]
+v_not_b32 v255, v1
+// CHECK: [0x01,0x57,0xfe,0x7f]
+
+v_not_b32 v5, v255
+// CHECK: [0xff,0x57,0x0a,0x7e]
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]
@@ -29670,18 +29682,18 @@ v_not_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00]
-v_not_b32 v5, v255
-// CHECK: [0xff,0x57,0x0a,0x7e]
+v_not_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00]
+
+v_not_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6b,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -29733,18 +29745,18 @@ v_not_b32_e64 v5, 0.5
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_bfrev_b32 v5, v1
+// CHECK: [0x01,0x59,0x0a,0x7e]
-v_not_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6b,0xd1,0xff,0x01,0x00,0x00]
+v_bfrev_b32 v255, v1
+// CHECK: [0x01,0x59,0xfe,0x7f]
+
+v_bfrev_b32 v5, v255
+// CHECK: [0xff,0x59,0x0a,0x7e]
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]
@@ -29802,18 +29814,18 @@ v_bfrev_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00]
-v_bfrev_b32 v5, v255
-// CHECK: [0xff,0x59,0x0a,0x7e]
+v_bfrev_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00]
+
+v_bfrev_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6c,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -29865,18 +29877,18 @@ v_bfrev_b32_e64 v5, 0.5
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_ffbh_u32 v5, v1
+// CHECK: [0x01,0x5b,0x0a,0x7e]
-v_bfrev_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6c,0xd1,0xff,0x01,0x00,0x00]
+v_ffbh_u32 v255, v1
+// CHECK: [0x01,0x5b,0xfe,0x7f]
+
+v_ffbh_u32 v5, v255
+// CHECK: [0xff,0x5b,0x0a,0x7e]
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]
@@ -29934,18 +29946,18 @@ v_ffbh_u32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00]
-v_ffbh_u32 v5, v255
-// CHECK: [0xff,0x5b,0x0a,0x7e]
+v_ffbh_u32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00]
+
+v_ffbh_u32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6d,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -29997,18 +30009,18 @@ v_ffbh_u32_e64 v5, 0.5
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_ffbl_b32 v5, v1
+// CHECK: [0x01,0x5d,0x0a,0x7e]
-v_ffbh_u32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6d,0xd1,0xff,0x01,0x00,0x00]
+v_ffbl_b32 v255, v1
+// CHECK: [0x01,0x5d,0xfe,0x7f]
+
+v_ffbl_b32 v5, v255
+// CHECK: [0xff,0x5d,0x0a,0x7e]
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]
@@ -30066,18 +30078,18 @@ v_ffbl_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00]
-v_ffbl_b32 v5, v255
-// CHECK: [0xff,0x5d,0x0a,0x7e]
+v_ffbl_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00]
+
+v_ffbl_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6e,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -30129,18 +30141,18 @@ v_ffbl_b32_e64 v5, 0.5
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_ffbh_i32 v5, v1
+// CHECK: [0x01,0x5f,0x0a,0x7e]
-v_ffbl_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6e,0xd1,0xff,0x01,0x00,0x00]
+v_ffbh_i32 v255, v1
+// CHECK: [0x01,0x5f,0xfe,0x7f]
+
+v_ffbh_i32 v5, v255
+// CHECK: [0xff,0x5f,0x0a,0x7e]
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]
@@ -30198,18 +30210,18 @@ v_ffbh_i32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00]
-v_ffbh_i32 v5, v255
-// CHECK: [0xff,0x5f,0x0a,0x7e]
+v_ffbh_i32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00]
+
+v_ffbh_i32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6f,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -30261,18 +30273,18 @@ v_ffbh_i32_e64 v5, 0.5
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_frexp_exp_i32_f64 v5, v[1:2]
+// CHECK: [0x01,0x61,0x0a,0x7e]
-v_ffbh_i32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6f,0xd1,0xff,0x01,0x00,0x00]
+v_frexp_exp_i32_f64 v255, v[1:2]
+// CHECK: [0x01,0x61,0xfe,0x7f]
+
+v_frexp_exp_i32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x61,0x0a,0x7e]
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]
@@ -30315,18 +30327,18 @@ v_frexp_exp_i32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x61,0x0a,0x7e]
+v_frexp_exp_i32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,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,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]
@@ -30363,27 +30375,27 @@ v_frexp_exp_i32_f64_e64 v5, 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x20]
-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, |v[1:2]|
+// CHECK: [0x05,0x01,0x70,0xd1,0x01,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, v[1:2] clamp
+// CHECK: [0x05,0x80,0x70,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x70,0xd1,0x02,0x00,0x00,0x00]
+v_frexp_mant_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x63,0x0a,0x7e]
+
+v_frexp_mant_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x63,0xfc,0x7f]
-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], v[254:255]
+// CHECK: [0xfe,0x63,0x0a,0x7e]
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]
@@ -30426,18 +30438,18 @@ v_frexp_mant_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x63,0x0a,0x7e]
+v_frexp_mant_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -30474,36 +30486,36 @@ v_frexp_mant_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x71,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x71,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x18]
-v_frexp_mant_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x10]
+v_fract_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x65,0x0a,0x7e]
-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[254:255], v[1:2]
+// CHECK: [0x01,0x65,0xfc,0x7f]
+
+v_fract_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x65,0x0a,0x7e]
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]
@@ -30546,18 +30558,18 @@ v_fract_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x65,0x0a,0x7e]
+v_fract_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -30594,36 +30606,36 @@ v_fract_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x72,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x72,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x18]
-v_fract_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x10]
+v_frexp_exp_i32_f32 v5, v1
+// CHECK: [0x01,0x67,0x0a,0x7e]
-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 v255, v1
+// CHECK: [0x01,0x67,0xfe,0x7f]
+
+v_frexp_exp_i32_f32 v5, v255
+// CHECK: [0xff,0x67,0x0a,0x7e]
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]
@@ -30681,18 +30693,18 @@ v_frexp_exp_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f32 v5, v255
-// CHECK: [0xff,0x67,0x0a,0x7e]
+v_frexp_exp_i32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -30744,27 +30756,27 @@ v_frexp_exp_i32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x20]
-v_frexp_exp_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x73,0xd1,0xff,0x01,0x00,0x00]
+v_frexp_exp_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x73,0xd1,0x01,0x01,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x73,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x73,0xd1,0x01,0x00,0x00,0x20]
+v_frexp_mant_f32 v5, v1
+// CHECK: [0x01,0x69,0x0a,0x7e]
-v_frexp_exp_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x73,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f32 v255, v1
+// CHECK: [0x01,0x69,0xfe,0x7f]
-v_frexp_exp_i32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x73,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f32 v5, v255
+// CHECK: [0xff,0x69,0x0a,0x7e]
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]
@@ -30822,18 +30834,18 @@ v_frexp_mant_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f32 v5, v255
-// CHECK: [0xff,0x69,0x0a,0x7e]
+v_frexp_mant_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -30885,29 +30897,23 @@ v_frexp_mant_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x20]
-v_frexp_mant_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x20]
+v_frexp_mant_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x74,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x74,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x74,0xd1,0x01,0x01,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, v1 mul:2
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x08]
-v_frexp_mant_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x08]
+v_frexp_mant_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x10]
-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_frexp_mant_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x18]
v_clrexcp
// CHECK: [0x00,0x6a,0x00,0x7e]
@@ -30915,12 +30921,18 @@ v_clrexcp
v_clrexcp_e64
// CHECK: [0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00]
+v_movreld_b32 v5, v1
+// CHECK: [0x01,0x6d,0x0a,0x7e]
+
+v_movreld_b32 v255, v1
+// CHECK: [0x01,0x6d,0xfe,0x7f]
+
+v_movreld_b32 v5, v255
+// CHECK: [0xff,0x6d,0x0a,0x7e]
+
v_movreld_b32 v5, m0
// CHECK: [0x7c,0x6c,0x0a,0x7e]
-v_movreld_b32 v255, m0
-// CHECK: [0x7c,0x6c,0xfe,0x7f]
-
v_movreld_b32 v5, 0
// CHECK: [0x80,0x6c,0x0a,0x7e]
@@ -30933,18 +30945,18 @@ v_movreld_b32 v5, 0.5
v_movreld_b32 v5, -4.0
// CHECK: [0xf7,0x6c,0x0a,0x7e]
-v_movreld_b32 v5, v1
-// CHECK: [0x01,0x6d,0x0a,0x7e]
+v_movreld_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x76,0xd1,0x01,0x01,0x00,0x00]
-v_movreld_b32 v5, v255
-// CHECK: [0xff,0x6d,0x0a,0x7e]
+v_movreld_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x76,0xd1,0x01,0x01,0x00,0x00]
+
+v_movreld_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x76,0xd1,0xff,0x01,0x00,0x00]
v_movreld_b32_e64 v5, m0
// CHECK: [0x05,0x00,0x76,0xd1,0x7c,0x00,0x00,0x00]
-v_movreld_b32_e64 v255, m0
-// CHECK: [0xff,0x00,0x76,0xd1,0x7c,0x00,0x00,0x00]
-
v_movreld_b32_e64 v5, 0
// CHECK: [0x05,0x00,0x76,0xd1,0x80,0x00,0x00,0x00]
@@ -30957,12 +30969,6 @@ v_movreld_b32_e64 v5, 0.5
v_movreld_b32_e64 v5, -4.0
// CHECK: [0x05,0x00,0x76,0xd1,0xf7,0x00,0x00,0x00]
-v_movreld_b32_e64 v5, v1
-// CHECK: [0x05,0x00,0x76,0xd1,0x01,0x01,0x00,0x00]
-
-v_movreld_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x76,0xd1,0xff,0x01,0x00,0x00]
-
v_movrels_b32 v5, v1
// CHECK: [0x01,0x6f,0x0a,0x7e]
@@ -30999,12 +31005,18 @@ v_movrelsd_b32_e64 v255, v1
v_movrelsd_b32_e64 v5, v255
// CHECK: [0x05,0x00,0x78,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f16_u16 v5, v1
+// CHECK: [0x01,0x73,0x0a,0x7e]
+
+v_cvt_f16_u16 v255, v1
+// CHECK: [0x01,0x73,0xfe,0x7f]
+
+v_cvt_f16_u16 v5, v255
+// CHECK: [0xff,0x73,0x0a,0x7e]
+
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]
@@ -31062,18 +31074,18 @@ v_cvt_f16_u16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x79,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_u16 v5, v255
-// CHECK: [0xff,0x73,0x0a,0x7e]
+v_cvt_f16_u16_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -31125,21 +31137,21 @@ v_cvt_f16_u16_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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_i16 v5, v1
+// CHECK: [0x01,0x75,0x0a,0x7e]
-v_cvt_f16_u16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x79,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f16_i16 v255, v1
+// CHECK: [0x01,0x75,0xfe,0x7f]
+
+v_cvt_f16_i16 v5, v255
+// CHECK: [0xff,0x75,0x0a,0x7e]
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]
@@ -31197,18 +31209,18 @@ v_cvt_f16_i16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7a,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_i16 v5, v255
-// CHECK: [0xff,0x75,0x0a,0x7e]
+v_cvt_f16_i16_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -31260,21 +31272,21 @@ v_cvt_f16_i16_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,0x7a,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_i16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7a,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_u16_f16 v5, v1
+// CHECK: [0x01,0x77,0x0a,0x7e]
+
+v_cvt_u16_f16 v255, v1
+// CHECK: [0x01,0x77,0xfe,0x7f]
-v_cvt_f16_i16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7a,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_u16_f16 v5, v255
+// CHECK: [0xff,0x77,0x0a,0x7e]
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]
@@ -31332,18 +31344,18 @@ v_cvt_u16_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u16_f16 v5, v255
-// CHECK: [0xff,0x77,0x0a,0x7e]
+v_cvt_u16_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -31395,27 +31407,27 @@ v_cvt_u16_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_u16_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7b,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_u16_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7b,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x7b,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u16_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7b,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_i16_f16 v5, v1
+// CHECK: [0x01,0x79,0x0a,0x7e]
-v_cvt_u16_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7b,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_i16_f16 v255, v1
+// CHECK: [0x01,0x79,0xfe,0x7f]
+
+v_cvt_i16_f16 v5, v255
+// CHECK: [0xff,0x79,0x0a,0x7e]
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]
@@ -31473,18 +31485,18 @@ v_cvt_i16_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i16_f16 v5, v255
-// CHECK: [0xff,0x79,0x0a,0x7e]
+v_cvt_i16_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -31536,27 +31548,27 @@ v_cvt_i16_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_i16_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7c,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_i16_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7c,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x7c,0xd1,0x01,0x01,0x00,0x00]
+
+v_rcp_f16 v5, v1
+// CHECK: [0x01,0x7b,0x0a,0x7e]
-v_cvt_i16_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7c,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_f16 v255, v1
+// CHECK: [0x01,0x7b,0xfe,0x7f]
-v_cvt_i16_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7c,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_f16 v5, v255
+// CHECK: [0xff,0x7b,0x0a,0x7e]
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]
@@ -31614,18 +31626,18 @@ v_rcp_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f16 v5, v255
-// CHECK: [0xff,0x7b,0x0a,0x7e]
+v_rcp_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -31677,27 +31689,27 @@ v_rcp_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x20]
-v_rcp_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7d,0xd1,0xff,0x01,0x00,0x00]
+v_rcp_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7d,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x7d,0xd1,0x01,0x00,0x00,0x20]
+v_rcp_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x7d,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7d,0xd1,0x01,0x00,0x00,0x00]
+v_sqrt_f16 v5, v1
+// CHECK: [0x01,0x7d,0x0a,0x7e]
-v_rcp_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7d,0xd1,0x01,0x00,0x00,0x00]
+v_sqrt_f16 v255, v1
+// CHECK: [0x01,0x7d,0xfe,0x7f]
+
+v_sqrt_f16 v5, v255
+// CHECK: [0xff,0x7d,0x0a,0x7e]
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]
@@ -31755,18 +31767,18 @@ v_sqrt_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f16 v5, v255
-// CHECK: [0xff,0x7d,0x0a,0x7e]
+v_sqrt_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -31818,27 +31830,27 @@ v_sqrt_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x20]
-v_sqrt_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7e,0xd1,0xff,0x01,0x00,0x00]
+v_sqrt_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7e,0xd1,0x01,0x01,0x00,0x00]
+
+v_sqrt_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x7e,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x7e,0xd1,0x01,0x00,0x00,0x20]
+v_rsq_f16 v5, v1
+// CHECK: [0x01,0x7f,0x0a,0x7e]
-v_sqrt_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7e,0xd1,0x01,0x00,0x00,0x00]
+v_rsq_f16 v255, v1
+// CHECK: [0x01,0x7f,0xfe,0x7f]
-v_sqrt_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7e,0xd1,0x01,0x00,0x00,0x00]
+v_rsq_f16 v5, v255
+// CHECK: [0xff,0x7f,0x0a,0x7e]
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]
@@ -31896,18 +31908,18 @@ v_rsq_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f16 v5, v255
-// CHECK: [0xff,0x7f,0x0a,0x7e]
+v_rsq_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -31959,27 +31971,27 @@ v_rsq_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x20]
-v_rsq_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7f,0xd1,0xff,0x01,0x00,0x00]
+v_rsq_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7f,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x7f,0xd1,0x01,0x00,0x00,0x20]
+v_rsq_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x7f,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7f,0xd1,0x01,0x00,0x00,0x00]
+v_log_f16 v5, v1
+// CHECK: [0x01,0x81,0x0a,0x7e]
-v_rsq_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7f,0xd1,0x01,0x00,0x00,0x00]
+v_log_f16 v255, v1
+// CHECK: [0x01,0x81,0xfe,0x7f]
+
+v_log_f16 v5, v255
+// CHECK: [0xff,0x81,0x0a,0x7e]
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]
@@ -32037,18 +32049,18 @@ v_log_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x00]
-v_log_f16 v5, v255
-// CHECK: [0xff,0x81,0x0a,0x7e]
+v_log_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -32100,27 +32112,27 @@ v_log_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x20]
-v_log_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x80,0xd1,0xff,0x01,0x00,0x00]
+v_log_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x80,0xd1,0x01,0x01,0x00,0x00]
-v_log_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x80,0xd1,0x01,0x00,0x00,0x20]
+v_log_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x80,0xd1,0x01,0x01,0x00,0x00]
-v_log_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x80,0xd1,0x01,0x00,0x00,0x00]
+v_exp_f16 v5, v1
+// CHECK: [0x01,0x83,0x0a,0x7e]
+
+v_exp_f16 v255, v1
+// CHECK: [0x01,0x83,0xfe,0x7f]
-v_log_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x80,0xd1,0x01,0x00,0x00,0x00]
+v_exp_f16 v5, v255
+// CHECK: [0xff,0x83,0x0a,0x7e]
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]
@@ -32178,18 +32190,18 @@ v_exp_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f16 v5, v255
-// CHECK: [0xff,0x83,0x0a,0x7e]
+v_exp_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -32241,27 +32253,27 @@ v_exp_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x20]
-v_exp_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x81,0xd1,0xff,0x01,0x00,0x00]
+v_exp_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x81,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x81,0xd1,0x01,0x00,0x00,0x20]
+v_exp_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x81,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x81,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f16 v5, v1
+// CHECK: [0x01,0x85,0x0a,0x7e]
-v_exp_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x81,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f16 v255, v1
+// CHECK: [0x01,0x85,0xfe,0x7f]
+
+v_frexp_mant_f16 v5, v255
+// CHECK: [0xff,0x85,0x0a,0x7e]
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]
@@ -32319,18 +32331,18 @@ v_frexp_mant_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f16 v5, v255
-// CHECK: [0xff,0x85,0x0a,0x7e]
+v_frexp_mant_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -32382,27 +32394,27 @@ v_frexp_mant_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x20]
-v_frexp_mant_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x82,0xd1,0xff,0x01,0x00,0x00]
+v_frexp_mant_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x82,0xd1,0x01,0x01,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x82,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x82,0xd1,0x01,0x00,0x00,0x20]
+v_frexp_exp_i16_f16 v5, v1
+// CHECK: [0x01,0x87,0x0a,0x7e]
-v_frexp_mant_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x82,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_exp_i16_f16 v255, v1
+// CHECK: [0x01,0x87,0xfe,0x7f]
-v_frexp_mant_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x82,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_exp_i16_f16 v5, v255
+// CHECK: [0xff,0x87,0x0a,0x7e]
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]
@@ -32460,18 +32472,18 @@ v_frexp_exp_i16_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i16_f16 v5, v255
-// CHECK: [0xff,0x87,0x0a,0x7e]
+v_frexp_exp_i16_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -32523,27 +32535,27 @@ v_frexp_exp_i16_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x20]
-v_frexp_exp_i16_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x83,0xd1,0xff,0x01,0x00,0x00]
+v_frexp_exp_i16_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x83,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x83,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i16_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x83,0xd1,0x01,0x00,0x00,0x00]
+v_floor_f16 v5, v1
+// CHECK: [0x01,0x89,0x0a,0x7e]
-v_frexp_exp_i16_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x83,0xd1,0x01,0x00,0x00,0x00]
+v_floor_f16 v255, v1
+// CHECK: [0x01,0x89,0xfe,0x7f]
+
+v_floor_f16 v5, v255
+// CHECK: [0xff,0x89,0x0a,0x7e]
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]
@@ -32601,18 +32613,18 @@ v_floor_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f16 v5, v255
-// CHECK: [0xff,0x89,0x0a,0x7e]
+v_floor_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -32664,27 +32676,27 @@ v_floor_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x20]
-v_floor_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x84,0xd1,0xff,0x01,0x00,0x00]
+v_floor_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x84,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x84,0xd1,0x01,0x00,0x00,0x20]
+v_floor_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x84,0xd1,0x01,0x01,0x00,0x00]
+
+v_ceil_f16 v5, v1
+// CHECK: [0x01,0x8b,0x0a,0x7e]
-v_floor_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x84,0xd1,0x01,0x00,0x00,0x00]
+v_ceil_f16 v255, v1
+// CHECK: [0x01,0x8b,0xfe,0x7f]
-v_floor_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x84,0xd1,0x01,0x00,0x00,0x00]
+v_ceil_f16 v5, v255
+// CHECK: [0xff,0x8b,0x0a,0x7e]
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]
@@ -32742,18 +32754,18 @@ v_ceil_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f16 v5, v255
-// CHECK: [0xff,0x8b,0x0a,0x7e]
+v_ceil_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -32805,27 +32817,27 @@ v_ceil_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x20]
-v_ceil_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x85,0xd1,0xff,0x01,0x00,0x00]
+v_ceil_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x85,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x85,0xd1,0x01,0x00,0x00,0x20]
+v_ceil_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x85,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x85,0xd1,0x01,0x00,0x00,0x00]
+v_trunc_f16 v5, v1
+// CHECK: [0x01,0x8d,0x0a,0x7e]
-v_ceil_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x85,0xd1,0x01,0x00,0x00,0x00]
+v_trunc_f16 v255, v1
+// CHECK: [0x01,0x8d,0xfe,0x7f]
+
+v_trunc_f16 v5, v255
+// CHECK: [0xff,0x8d,0x0a,0x7e]
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]
@@ -32883,18 +32895,18 @@ v_trunc_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f16 v5, v255
-// CHECK: [0xff,0x8d,0x0a,0x7e]
+v_trunc_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -32946,27 +32958,27 @@ v_trunc_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x20]
-v_trunc_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x86,0xd1,0xff,0x01,0x00,0x00]
+v_trunc_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x86,0xd1,0x01,0x01,0x00,0x00]
+
+v_trunc_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x86,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x86,0xd1,0x01,0x00,0x00,0x20]
+v_rndne_f16 v5, v1
+// CHECK: [0x01,0x8f,0x0a,0x7e]
-v_trunc_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x86,0xd1,0x01,0x00,0x00,0x00]
+v_rndne_f16 v255, v1
+// CHECK: [0x01,0x8f,0xfe,0x7f]
-v_trunc_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x86,0xd1,0x01,0x00,0x00,0x00]
+v_rndne_f16 v5, v255
+// CHECK: [0xff,0x8f,0x0a,0x7e]
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]
@@ -33024,18 +33036,18 @@ v_rndne_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f16 v5, v255
-// CHECK: [0xff,0x8f,0x0a,0x7e]
+v_rndne_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -33087,27 +33099,27 @@ v_rndne_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x20]
-v_rndne_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x87,0xd1,0xff,0x01,0x00,0x00]
+v_rndne_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x87,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x87,0xd1,0x01,0x00,0x00,0x20]
+v_rndne_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x87,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x87,0xd1,0x01,0x00,0x00,0x00]
+v_fract_f16 v5, v1
+// CHECK: [0x01,0x91,0x0a,0x7e]
+
+v_fract_f16 v255, v1
+// CHECK: [0x01,0x91,0xfe,0x7f]
-v_rndne_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x87,0xd1,0x01,0x00,0x00,0x00]
+v_fract_f16 v5, v255
+// CHECK: [0xff,0x91,0x0a,0x7e]
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]
@@ -33165,18 +33177,18 @@ v_fract_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f16 v5, v255
-// CHECK: [0xff,0x91,0x0a,0x7e]
+v_fract_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -33228,27 +33240,27 @@ v_fract_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x20]
-v_fract_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x88,0xd1,0xff,0x01,0x00,0x00]
+v_fract_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x88,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x88,0xd1,0x01,0x00,0x00,0x20]
+v_fract_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x88,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x88,0xd1,0x01,0x00,0x00,0x00]
+v_sin_f16 v5, v1
+// CHECK: [0x01,0x93,0x0a,0x7e]
+
+v_sin_f16 v255, v1
+// CHECK: [0x01,0x93,0xfe,0x7f]
-v_fract_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x88,0xd1,0x01,0x00,0x00,0x00]
+v_sin_f16 v5, v255
+// CHECK: [0xff,0x93,0x0a,0x7e]
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]
@@ -33306,18 +33318,18 @@ v_sin_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f16 v5, v255
-// CHECK: [0xff,0x93,0x0a,0x7e]
+v_sin_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -33369,27 +33381,27 @@ v_sin_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x20]
-v_sin_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x89,0xd1,0xff,0x01,0x00,0x00]
+v_sin_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x89,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x89,0xd1,0x01,0x00,0x00,0x20]
+v_sin_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x89,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x89,0xd1,0x01,0x00,0x00,0x00]
+v_cos_f16 v5, v1
+// CHECK: [0x01,0x95,0x0a,0x7e]
-v_sin_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x89,0xd1,0x01,0x00,0x00,0x00]
+v_cos_f16 v255, v1
+// CHECK: [0x01,0x95,0xfe,0x7f]
+
+v_cos_f16 v5, v255
+// CHECK: [0xff,0x95,0x0a,0x7e]
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]
@@ -33447,18 +33459,18 @@ v_cos_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f16 v5, v255
-// CHECK: [0xff,0x95,0x0a,0x7e]
+v_cos_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -33510,27 +33522,27 @@ v_cos_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x20]
-v_cos_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x8a,0xd1,0xff,0x01,0x00,0x00]
+v_cos_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x8a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x8a,0xd1,0x01,0x00,0x00,0x20]
+v_cos_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x8a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x8a,0xd1,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32 v5, v1
+// CHECK: [0x01,0x97,0x0a,0x7e]
-v_cos_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x8a,0xd1,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32 v255, v1
+// CHECK: [0x01,0x97,0xfe,0x7f]
+
+v_exp_legacy_f32 v5, v255
+// CHECK: [0xff,0x97,0x0a,0x7e]
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]
@@ -33588,18 +33600,18 @@ v_exp_legacy_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x00]
-v_exp_legacy_f32 v5, v255
-// CHECK: [0xff,0x97,0x0a,0x7e]
+v_exp_legacy_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -33651,36 +33663,36 @@ v_exp_legacy_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x20]
-v_exp_legacy_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x8b,0xd1,0xff,0x01,0x00,0x00]
+v_exp_legacy_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x8b,0xd1,0x01,0x01,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x8b,0xd1,0x01,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, v1 mul:2
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x08]
-v_exp_legacy_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x8b,0xd1,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x10]
-v_exp_legacy_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x8b,0xd1,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x18]
-v_exp_legacy_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x08]
+v_log_legacy_f32 v5, v1
+// CHECK: [0x01,0x99,0x0a,0x7e]
-v_exp_legacy_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x10]
+v_log_legacy_f32 v255, v1
+// CHECK: [0x01,0x99,0xfe,0x7f]
-v_exp_legacy_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x18]
+v_log_legacy_f32 v5, v255
+// CHECK: [0xff,0x99,0x0a,0x7e]
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]
@@ -33738,18 +33750,18 @@ v_log_legacy_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x00]
-v_log_legacy_f32 v5, v255
-// CHECK: [0xff,0x99,0x0a,0x7e]
+v_log_legacy_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -33801,36 +33813,36 @@ v_log_legacy_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x20]
-v_log_legacy_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x8c,0xd1,0xff,0x01,0x00,0x00]
+v_log_legacy_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x8c,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x8c,0xd1,0x01,0x01,0x00,0x00]
-v_log_legacy_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x8c,0xd1,0x01,0x00,0x00,0x00]
+v_log_legacy_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x08]
-v_log_legacy_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x8c,0xd1,0x01,0x00,0x00,0x00]
+v_log_legacy_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x10]
-v_log_legacy_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x08]
+v_log_legacy_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x18]
-v_log_legacy_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x10]
+v_cndmask_b32 v5, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x00]
-v_log_legacy_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x18]
+v_cndmask_b32 v255, v1, v2, vcc
+// CHECK: [0x01,0x05,0xfe,0x01]
+
+v_cndmask_b32 v5, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x00]
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]
@@ -33840,78 +33852,78 @@ v_cndmask_b32 v5, 0.5, v2, vcc
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, v1, v255, vcc
+// CHECK: [0x01,0xff,0x0b,0x00]
-v_cndmask_b32 v5, v255, v2, vcc
-// CHECK: [0xff,0x05,0x0a,0x00]
+v_cndmask_b32_e64 v5, v1, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00]
+
+v_cndmask_b32_e64 v255, v1, v2, s[6:7]
+// CHECK: [0xff,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00]
-v_cndmask_b32 v5, 0, v255, vcc
-// CHECK: [0x80,0xfe,0x0b,0x00]
+v_cndmask_b32_e64 v5, v255, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xff,0x05,0x1a,0x00]
-v_cndmask_b32_e64 v5, 0, 0, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,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 v255, 0, 0, s[6:7]
-// CHECK: [0xff,0x00,0x00,0xd1,0x80,0x00,0x19,0x00]
+v_cndmask_b32_e64 v5, -1, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xc1,0x04,0x1a,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, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xf0,0x04,0x1a,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, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xf7,0x04,0x1a,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, v255, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0xff,0x1b,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, v1, -1, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x83,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, v1, 0.5, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0xe1,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, v1, -4.0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0xef,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, v1, v2, s[8:9]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0x22,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, v1, v2, s[100:101]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0x92,0x01]
-v_cndmask_b32_e64 v5, 0, v255, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0xfe,0x1b,0x00]
+v_cndmask_b32_e64 v5, v1, v2, flat_scratch
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0x9a,0x01]
-v_cndmask_b32_e64 v5, 0, 0, s[8:9]
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x21,0x00]
+v_cndmask_b32_e64 v5, v1, v2, vcc
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0xaa,0x01]
-v_cndmask_b32_e64 v5, 0, 0, s[100:101]
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x91,0x01]
+v_cndmask_b32_e64 v5, v1, v2, tba
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0xb2,0x01]
-v_cndmask_b32_e64 v5, 0, 0, flat_scratch
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x99,0x01]
+v_cndmask_b32_e64 v5, v1, v2, tma
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0xba,0x01]
-v_cndmask_b32_e64 v5, 0, 0, vcc
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0xa9,0x01]
+v_cndmask_b32_e64 v5, v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0xea,0x01]
-v_cndmask_b32_e64 v5, 0, 0, tba
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0xb1,0x01]
+v_add_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x02]
-v_cndmask_b32_e64 v5, 0, 0, tma
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0xb9,0x01]
+v_add_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x03]
-v_cndmask_b32_e64 v5, 0, 0, ttmp[10:11]
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0xe9,0x01]
+v_add_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x02]
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]
@@ -33969,129 +33981,171 @@ v_add_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x02]
-v_add_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x02]
+v_add_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x01,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0xff,0x05,0x02,0x00]
+
+v_add_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x65,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x66,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x67,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x6a,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x6b,0x04,0x02,0x00]
-v_add_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x02]
+v_add_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x6c,0x04,0x02,0x00]
-v_add_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x6d,0x04,0x02,0x00]
-v_add_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x6e,0x04,0x02,0x00]
-v_add_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x01,0xd1,0xc1,0x04,0x00,0x00]
+v_add_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x6f,0x04,0x02,0x00]
-v_add_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x01,0xd1,0xf0,0x04,0x00,0x00]
+v_add_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x7b,0x04,0x02,0x00]
-v_add_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x01,0xd1,0xf7,0x04,0x00,0x00]
+v_add_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x7c,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x7e,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x7f,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0xc1,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0xf0,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0xf7,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xcb,0x00,0x00]
-v_add_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xca,0x00,0x00]
+v_add_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xd5,0x00,0x00]
-v_add_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xd4,0x00,0x00]
+v_add_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xd7,0x00,0x00]
-v_add_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xd6,0x00,0x00]
+v_add_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xd9,0x00,0x00]
-v_add_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xd8,0x00,0x00]
+v_add_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xdb,0x00,0x00]
-v_add_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xda,0x00,0x00]
+v_add_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xdd,0x00,0x00]
-v_add_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xdc,0x00,0x00]
+v_add_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xdf,0x00,0x00]
-v_add_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xde,0x00,0x00]
+v_add_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xf7,0x00,0x00]
-v_add_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xf6,0x00,0x00]
+v_add_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xf9,0x00,0x00]
-v_add_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xf8,0x00,0x00]
+v_add_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xfd,0x00,0x00]
-v_add_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xfc,0x00,0x00]
+v_add_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xff,0x00,0x00]
-v_add_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xfe,0x00,0x00]
+v_add_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x01,0x01,0x00]
-v_add_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x00,0x01,0x00]
+v_add_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x83,0x01,0x00]
-v_add_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x82,0x01,0x00]
+v_add_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xe1,0x01,0x00]
-v_add_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xe0,0x01,0x00]
+v_add_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xef,0x01,0x00]
-v_add_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xee,0x01,0x00]
+v_add_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x20]
-v_add_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x02,0x00]
+v_add_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x40]
-v_add_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xfe,0x03,0x00]
+v_add_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x60]
-v_add_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x20]
+v_add_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x01,0xd1,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x40]
+v_add_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x01,0xd1,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x60]
+v_add_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x01,0xd1,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x01,0xd1,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x08]
-v_add_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x10]
-v_add_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x18]
-v_add_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x08]
+v_sub_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x04]
-v_add_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x10]
+v_sub_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x05]
-v_add_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x18]
+v_sub_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x04]
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]
@@ -34149,129 +34203,171 @@ v_sub_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x04]
-v_sub_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x04]
+v_sub_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0xff,0x05,0x02,0x00]
+
+v_sub_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x65,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x66,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x67,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x6a,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x6b,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x6c,0x04,0x02,0x00]
-v_sub_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x04]
+v_sub_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x6d,0x04,0x02,0x00]
-v_sub_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x6e,0x04,0x02,0x00]
-v_sub_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x6f,0x04,0x02,0x00]
-v_sub_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x02,0xd1,0xc1,0x04,0x00,0x00]
+v_sub_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x7b,0x04,0x02,0x00]
-v_sub_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x02,0xd1,0xf0,0x04,0x00,0x00]
+v_sub_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x7c,0x04,0x02,0x00]
-v_sub_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x02,0xd1,0xf7,0x04,0x00,0x00]
+v_sub_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x7e,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x7f,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0xc1,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0xf0,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0xf7,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xcb,0x00,0x00]
-v_sub_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xca,0x00,0x00]
+v_sub_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xd5,0x00,0x00]
-v_sub_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xd4,0x00,0x00]
+v_sub_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xd7,0x00,0x00]
-v_sub_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xd6,0x00,0x00]
+v_sub_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xd9,0x00,0x00]
-v_sub_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xd8,0x00,0x00]
+v_sub_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xdb,0x00,0x00]
-v_sub_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xda,0x00,0x00]
+v_sub_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xdd,0x00,0x00]
-v_sub_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xdc,0x00,0x00]
+v_sub_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xdf,0x00,0x00]
-v_sub_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xde,0x00,0x00]
+v_sub_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xf7,0x00,0x00]
-v_sub_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xf6,0x00,0x00]
+v_sub_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xf9,0x00,0x00]
-v_sub_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xf8,0x00,0x00]
+v_sub_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xfd,0x00,0x00]
-v_sub_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xfc,0x00,0x00]
+v_sub_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xff,0x00,0x00]
-v_sub_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xfe,0x00,0x00]
+v_sub_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x01,0x01,0x00]
-v_sub_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x00,0x01,0x00]
+v_sub_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x83,0x01,0x00]
-v_sub_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x82,0x01,0x00]
+v_sub_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xe1,0x01,0x00]
-v_sub_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xe0,0x01,0x00]
+v_sub_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xef,0x01,0x00]
-v_sub_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xee,0x01,0x00]
+v_sub_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x20]
-v_sub_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x02,0x00]
+v_sub_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x40]
-v_sub_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xfe,0x03,0x00]
+v_sub_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x60]
-v_sub_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x20]
+v_sub_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x40]
+v_sub_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x60]
+v_sub_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x08]
-v_sub_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x10]
-v_sub_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x18]
-v_sub_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x08]
+v_subrev_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x06]
-v_sub_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x10]
+v_subrev_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x07]
-v_sub_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x18]
+v_subrev_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x06]
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]
@@ -34329,129 +34425,171 @@ v_subrev_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x06]
-v_subrev_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x06]
+v_subrev_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x06]
+v_subrev_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0xff,0x05,0x02,0x00]
-v_subrev_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x03,0xd1,0xc1,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x65,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x03,0xd1,0xf0,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x66,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x03,0xd1,0xf7,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x67,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x6a,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x6b,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x6c,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x6d,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x6e,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x6f,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x7b,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x7c,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x7e,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x7f,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0xc1,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0xf0,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0xf7,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xcb,0x00,0x00]
-v_subrev_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xca,0x00,0x00]
+v_subrev_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xd5,0x00,0x00]
-v_subrev_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xd4,0x00,0x00]
+v_subrev_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xd7,0x00,0x00]
-v_subrev_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xd6,0x00,0x00]
+v_subrev_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xd9,0x00,0x00]
-v_subrev_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xd8,0x00,0x00]
+v_subrev_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xdb,0x00,0x00]
-v_subrev_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xda,0x00,0x00]
+v_subrev_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xdd,0x00,0x00]
-v_subrev_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xdc,0x00,0x00]
+v_subrev_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xdf,0x00,0x00]
-v_subrev_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xde,0x00,0x00]
+v_subrev_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xf7,0x00,0x00]
-v_subrev_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xf6,0x00,0x00]
+v_subrev_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xf9,0x00,0x00]
-v_subrev_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xf8,0x00,0x00]
+v_subrev_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xfd,0x00,0x00]
-v_subrev_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xfc,0x00,0x00]
+v_subrev_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xff,0x00,0x00]
-v_subrev_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xfe,0x00,0x00]
+v_subrev_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x01,0x01,0x00]
-v_subrev_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x00,0x01,0x00]
+v_subrev_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x83,0x01,0x00]
-v_subrev_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x82,0x01,0x00]
+v_subrev_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xe1,0x01,0x00]
-v_subrev_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xe0,0x01,0x00]
+v_subrev_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xef,0x01,0x00]
-v_subrev_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xee,0x01,0x00]
+v_subrev_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x20]
-v_subrev_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x02,0x00]
+v_subrev_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x40]
-v_subrev_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xfe,0x03,0x00]
+v_subrev_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x60]
-v_subrev_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x20]
+v_subrev_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x40]
+v_subrev_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x60]
+v_subrev_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x08]
-v_subrev_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x10]
-v_subrev_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x18]
-v_subrev_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x08]
+v_mul_legacy_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x08]
-v_subrev_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x10]
+v_mul_legacy_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x09]
-v_subrev_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x18]
+v_mul_legacy_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x08]
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]
@@ -34509,129 +34647,171 @@ v_mul_legacy_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x08]
-v_mul_legacy_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x08]
+v_mul_legacy_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_legacy_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x08]
+v_mul_legacy_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0xff,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x65,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x04,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x67,0x04,0x02,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, vcc_lo, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x6c,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x6d,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x6e,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x6f,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x7b,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xd9,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xd8,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xdb,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xda,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xdd,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xdc,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xdf,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xde,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xf7,0x00,0x00]
-v_mul_legacy_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xf6,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x01,0x01,0x00]
-v_mul_legacy_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x00,0x01,0x00]
+v_mul_legacy_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xef,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, -v1, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x20]
-v_mul_legacy_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x02,0x00]
+v_mul_legacy_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x40]
-v_mul_legacy_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_legacy_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x60]
-v_mul_legacy_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x20]
+v_mul_legacy_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x04,0xd1,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x40]
+v_mul_legacy_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x04,0xd1,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x60]
+v_mul_legacy_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x04,0xd1,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x04,0xd1,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x08]
-v_mul_legacy_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x10]
-v_mul_legacy_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x18]
-v_mul_legacy_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x08]
+v_mul_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0a]
-v_mul_legacy_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x10]
+v_mul_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x0b]
-v_mul_legacy_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x18]
+v_mul_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0a]
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]
@@ -34689,129 +34869,171 @@ v_mul_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x0a]
-v_mul_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x0a]
+v_mul_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x05,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0xff,0x05,0x02,0x00]
-v_mul_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x0a]
+v_mul_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x04,0x02,0x00]
-v_mul_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x65,0x04,0x02,0x00]
-v_mul_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x66,0x04,0x02,0x00]
-v_mul_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x05,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x67,0x04,0x02,0x00]
-v_mul_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x05,0xd1,0xf0,0x04,0x00,0x00]
+v_mul_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x6a,0x04,0x02,0x00]
-v_mul_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x05,0xd1,0xf7,0x04,0x00,0x00]
+v_mul_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x6c,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x6d,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x6e,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x6f,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x7b,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xcb,0x00,0x00]
-v_mul_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xca,0x00,0x00]
+v_mul_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xd5,0x00,0x00]
-v_mul_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xd4,0x00,0x00]
+v_mul_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xd7,0x00,0x00]
-v_mul_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xd6,0x00,0x00]
+v_mul_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xd9,0x00,0x00]
-v_mul_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xd8,0x00,0x00]
+v_mul_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xdb,0x00,0x00]
-v_mul_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xda,0x00,0x00]
+v_mul_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xdd,0x00,0x00]
-v_mul_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xdc,0x00,0x00]
+v_mul_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xdf,0x00,0x00]
-v_mul_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xde,0x00,0x00]
+v_mul_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xf7,0x00,0x00]
-v_mul_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xf6,0x00,0x00]
+v_mul_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xf9,0x00,0x00]
-v_mul_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xf8,0x00,0x00]
+v_mul_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xfd,0x00,0x00]
-v_mul_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xfc,0x00,0x00]
+v_mul_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xff,0x00,0x00]
-v_mul_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xfe,0x00,0x00]
+v_mul_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x01,0x01,0x00]
-v_mul_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x00,0x01,0x00]
+v_mul_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x83,0x01,0x00]
-v_mul_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x82,0x01,0x00]
+v_mul_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xe1,0x01,0x00]
-v_mul_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xe0,0x01,0x00]
+v_mul_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xef,0x01,0x00]
-v_mul_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xee,0x01,0x00]
+v_mul_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x20]
-v_mul_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x02,0x00]
+v_mul_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x40]
-v_mul_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x60]
-v_mul_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x20]
+v_mul_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x40]
+v_mul_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x60]
+v_mul_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x08]
-v_mul_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x10]
-v_mul_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x18]
-v_mul_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x08]
+v_mul_i32_i24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0c]
-v_mul_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x10]
+v_mul_i32_i24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x0d]
-v_mul_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x18]
+v_mul_i32_i24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0c]
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]
@@ -34869,99 +35091,141 @@ v_mul_i32_i24 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x0c]
-v_mul_i32_i24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x0c]
+v_mul_i32_i24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_i32_i24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x65,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x66,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x67,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x6c,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x6d,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x6e,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x6f,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x7b,0x04,0x02,0x00]
-v_mul_i32_i24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x0c]
+v_mul_i32_i24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x7c,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x7e,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x7f,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0xc1,0x04,0x02,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, 0.5, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0xf0,0x04,0x02,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, -4.0, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xd9,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xd8,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xdb,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xda,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xdd,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xdc,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xdf,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xde,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xf7,0x00,0x00]
-v_mul_i32_i24_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xf6,0x00,0x00]
+v_mul_i32_i24_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0x01,0x01,0x00]
-v_mul_i32_i24_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x00,0x01,0x00]
+v_mul_i32_i24_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xef,0x01,0x00]
-v_mul_i32_i24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xee,0x01,0x00]
+v_mul_hi_i32_i24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0e]
-v_mul_i32_i24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x04,0x02,0x00]
+v_mul_hi_i32_i24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x0f]
-v_mul_i32_i24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_hi_i32_i24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0e]
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]
@@ -35019,99 +35283,141 @@ v_mul_hi_i32_i24 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x0e]
-v_mul_hi_i32_i24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x0e]
+v_mul_hi_i32_i24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x07,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x65,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x66,0x04,0x02,0x00]
-v_mul_hi_i32_i24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x0e]
+v_mul_hi_i32_i24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x67,0x04,0x02,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0x04,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x6a,0x04,0x02,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, vcc_hi, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x6b,0x04,0x02,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, tba_lo, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x6c,0x04,0x02,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, tba_hi, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x6d,0x04,0x02,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, tma_lo, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x6e,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x6f,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x7b,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x7f,0x04,0x02,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, -1, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xd9,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xd8,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xdb,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xda,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xdd,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xdc,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xdf,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xde,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xf7,0x00,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xf6,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0x01,0x01,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, v1, -1
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xef,0x01,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xee,0x01,0x00]
+v_mul_u32_u24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x10]
-v_mul_hi_i32_i24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0x04,0x02,0x00]
+v_mul_u32_u24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x11]
-v_mul_hi_i32_i24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_u32_u24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x10]
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]
@@ -35169,99 +35475,141 @@ v_mul_u32_u24 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x10]
-v_mul_u32_u24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x10]
+v_mul_u32_u24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_u32_u24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x65,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x66,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x67,0x04,0x02,0x00]
-v_mul_u32_u24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x10]
+v_mul_u32_u24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x6a,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x6b,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x6c,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x6d,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x6e,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x6f,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x7b,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x08,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0xc1,0x04,0x02,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, 0.5, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0xf0,0x04,0x02,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, -4.0, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xd9,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xd8,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xdb,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xda,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xdd,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xdc,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xdf,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xde,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xf7,0x00,0x00]
-v_mul_u32_u24_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xf6,0x00,0x00]
+v_mul_u32_u24_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0x01,0x01,0x00]
-v_mul_u32_u24_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x00,0x01,0x00]
+v_mul_u32_u24_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xef,0x01,0x00]
-v_mul_u32_u24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xee,0x01,0x00]
+v_mul_hi_u32_u24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x12]
-v_mul_u32_u24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x04,0x02,0x00]
+v_mul_hi_u32_u24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x13]
-v_mul_u32_u24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_hi_u32_u24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x12]
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]
@@ -35319,99 +35667,141 @@ v_mul_hi_u32_u24 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x12]
-v_mul_hi_u32_u24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x12]
+v_mul_hi_u32_u24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x09,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x65,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x66,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x67,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x6a,0x04,0x02,0x00]
-v_mul_hi_u32_u24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x12]
+v_mul_hi_u32_u24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x6b,0x04,0x02,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0x04,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x6c,0x04,0x02,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, tba_hi, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x6d,0x04,0x02,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, tma_lo, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x6e,0x04,0x02,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, tma_hi, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x6f,0x04,0x02,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, ttmp11, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x7b,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x7f,0x04,0x02,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, -1, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xd9,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xd8,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xdb,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xda,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xdd,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xdc,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xdf,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xde,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xf7,0x00,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xf6,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0x01,0x01,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, v1, -1
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xef,0x01,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xee,0x01,0x00]
+v_min_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x14]
-v_mul_hi_u32_u24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0x04,0x02,0x00]
+v_min_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x15]
-v_mul_hi_u32_u24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xfe,0x03,0x00]
+v_min_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x14]
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]
@@ -35469,129 +35859,171 @@ v_min_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x14]
-v_min_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x14]
+v_min_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x65,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x66,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x67,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x6a,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x6b,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x6c,0x04,0x02,0x00]
-v_min_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x14]
+v_min_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x6d,0x04,0x02,0x00]
-v_min_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x6e,0x04,0x02,0x00]
-v_min_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x6f,0x04,0x02,0x00]
-v_min_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0xc1,0x04,0x00,0x00]
+v_min_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x7b,0x04,0x02,0x00]
-v_min_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0xf0,0x04,0x00,0x00]
+v_min_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x7c,0x04,0x02,0x00]
-v_min_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0xf7,0x04,0x00,0x00]
+v_min_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x7e,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x7f,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xcb,0x00,0x00]
-v_min_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xca,0x00,0x00]
+v_min_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xd5,0x00,0x00]
-v_min_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xd4,0x00,0x00]
+v_min_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xd7,0x00,0x00]
-v_min_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xd6,0x00,0x00]
+v_min_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xd9,0x00,0x00]
-v_min_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xd8,0x00,0x00]
+v_min_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xdb,0x00,0x00]
-v_min_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xda,0x00,0x00]
+v_min_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xdd,0x00,0x00]
-v_min_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xdc,0x00,0x00]
+v_min_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xdf,0x00,0x00]
-v_min_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xde,0x00,0x00]
+v_min_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xf7,0x00,0x00]
-v_min_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xf6,0x00,0x00]
+v_min_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xf9,0x00,0x00]
-v_min_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xf8,0x00,0x00]
+v_min_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xfd,0x00,0x00]
-v_min_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xfc,0x00,0x00]
+v_min_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xff,0x00,0x00]
-v_min_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xfe,0x00,0x00]
+v_min_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x01,0x01,0x00]
-v_min_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x00,0x01,0x00]
+v_min_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x83,0x01,0x00]
-v_min_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x82,0x01,0x00]
+v_min_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xe1,0x01,0x00]
-v_min_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xe0,0x01,0x00]
+v_min_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xef,0x01,0x00]
-v_min_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xee,0x01,0x00]
+v_min_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x20]
-v_min_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x02,0x00]
+v_min_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x40]
-v_min_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xfe,0x03,0x00]
+v_min_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x60]
-v_min_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x20]
+v_min_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x40]
+v_min_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x60]
+v_min_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x08]
-v_min_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x10]
-v_min_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x18]
-v_min_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x08]
+v_max_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x16]
-v_min_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x10]
+v_max_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x17]
-v_min_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x18]
+v_max_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x16]
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]
@@ -35649,129 +36081,171 @@ v_max_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x16]
-v_max_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x16]
+v_max_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xff,0x05,0x02,0x00]
+
+v_max_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x65,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x66,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x67,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x6a,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x6b,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x6c,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x6d,0x04,0x02,0x00]
-v_max_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x16]
+v_max_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x6e,0x04,0x02,0x00]
-v_max_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x6f,0x04,0x02,0x00]
-v_max_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x7b,0x04,0x02,0x00]
-v_max_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0xc1,0x04,0x00,0x00]
+v_max_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x7c,0x04,0x02,0x00]
-v_max_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0xf0,0x04,0x00,0x00]
+v_max_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x7e,0x04,0x02,0x00]
-v_max_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0xf7,0x04,0x00,0x00]
+v_max_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xcb,0x00,0x00]
-v_max_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xca,0x00,0x00]
+v_max_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xd5,0x00,0x00]
-v_max_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xd4,0x00,0x00]
+v_max_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xd7,0x00,0x00]
-v_max_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xd6,0x00,0x00]
+v_max_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xd9,0x00,0x00]
-v_max_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xd8,0x00,0x00]
+v_max_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xdb,0x00,0x00]
-v_max_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xda,0x00,0x00]
+v_max_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xdd,0x00,0x00]
-v_max_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xdc,0x00,0x00]
+v_max_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xdf,0x00,0x00]
-v_max_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xde,0x00,0x00]
+v_max_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xf7,0x00,0x00]
-v_max_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xf6,0x00,0x00]
+v_max_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xf9,0x00,0x00]
-v_max_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xf8,0x00,0x00]
+v_max_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xfd,0x00,0x00]
-v_max_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xfc,0x00,0x00]
+v_max_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xff,0x00,0x00]
-v_max_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xfe,0x00,0x00]
+v_max_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x01,0x01,0x00]
-v_max_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x00,0x01,0x00]
+v_max_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x83,0x01,0x00]
-v_max_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x82,0x01,0x00]
+v_max_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xe1,0x01,0x00]
-v_max_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xe0,0x01,0x00]
+v_max_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xef,0x01,0x00]
-v_max_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xee,0x01,0x00]
+v_max_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x20]
-v_max_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x02,0x00]
+v_max_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x40]
-v_max_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xfe,0x03,0x00]
+v_max_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x60]
-v_max_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x20]
+v_max_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x0b,0xd1,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x40]
+v_max_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x0b,0xd1,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x60]
+v_max_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x0b,0xd1,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x0b,0xd1,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x08]
-v_max_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x10]
-v_max_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x18]
-v_max_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x08]
+v_min_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x18]
-v_max_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x10]
+v_min_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x19]
-v_max_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x18]
+v_min_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,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]
@@ -35829,99 +36303,141 @@ v_min_i32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x18]
-v_min_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x18]
+v_min_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
-v_min_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x18]
+v_min_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xff,0x05,0x02,0x00]
-v_min_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_min_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0x04,0x02,0x00]
-v_min_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_min_i32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x65,0x04,0x02,0x00]
-v_min_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0c,0xd1,0xc1,0x04,0x00,0x00]
+v_min_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x66,0x04,0x02,0x00]
-v_min_i32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0c,0xd1,0xf0,0x04,0x00,0x00]
+v_min_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x67,0x04,0x02,0x00]
-v_min_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0c,0xd1,0xf7,0x04,0x00,0x00]
+v_min_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x6a,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x6b,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x6c,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x6d,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x6e,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x6f,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x7b,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x7c,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x7e,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x7f,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xcb,0x00,0x00]
-v_min_i32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xca,0x00,0x00]
+v_min_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xd5,0x00,0x00]
-v_min_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xd4,0x00,0x00]
+v_min_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xd7,0x00,0x00]
-v_min_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xd6,0x00,0x00]
+v_min_i32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xd9,0x00,0x00]
-v_min_i32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xd8,0x00,0x00]
+v_min_i32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xdb,0x00,0x00]
-v_min_i32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xda,0x00,0x00]
+v_min_i32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xdd,0x00,0x00]
-v_min_i32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xdc,0x00,0x00]
+v_min_i32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xdf,0x00,0x00]
-v_min_i32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xde,0x00,0x00]
+v_min_i32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xf7,0x00,0x00]
-v_min_i32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xf6,0x00,0x00]
+v_min_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xf9,0x00,0x00]
-v_min_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xf8,0x00,0x00]
+v_min_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xfd,0x00,0x00]
-v_min_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xfc,0x00,0x00]
+v_min_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xff,0x00,0x00]
-v_min_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xfe,0x00,0x00]
+v_min_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0x01,0x01,0x00]
-v_min_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x00,0x01,0x00]
+v_min_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0x83,0x01,0x00]
-v_min_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x82,0x01,0x00]
+v_min_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xe1,0x01,0x00]
-v_min_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xe0,0x01,0x00]
+v_min_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xef,0x01,0x00]
-v_min_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xee,0x01,0x00]
+v_max_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1a]
-v_min_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x02,0x00]
+v_max_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x1b]
-v_min_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xfe,0x03,0x00]
+v_max_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1a]
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]
@@ -35979,99 +36495,141 @@ v_max_i32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x1a]
-v_max_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x1a]
+v_max_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xff,0x05,0x02,0x00]
+
+v_max_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0x04,0x02,0x00]
-v_max_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x1a]
+v_max_i32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x65,0x04,0x02,0x00]
-v_max_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00]
+v_max_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x66,0x04,0x02,0x00]
-v_max_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00]
+v_max_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x67,0x04,0x02,0x00]
-v_max_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0d,0xd1,0xc1,0x04,0x00,0x00]
+v_max_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x6a,0x04,0x02,0x00]
-v_max_i32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0d,0xd1,0xf0,0x04,0x00,0x00]
+v_max_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x6b,0x04,0x02,0x00]
-v_max_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0d,0xd1,0xf7,0x04,0x00,0x00]
+v_max_i32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x6c,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x6d,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x6e,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x6f,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x7b,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x7c,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xcb,0x00,0x00]
-v_max_i32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xca,0x00,0x00]
+v_max_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xd5,0x00,0x00]
-v_max_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xd4,0x00,0x00]
+v_max_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xd7,0x00,0x00]
-v_max_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xd6,0x00,0x00]
+v_max_i32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xd9,0x00,0x00]
-v_max_i32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xd8,0x00,0x00]
+v_max_i32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xdb,0x00,0x00]
-v_max_i32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xda,0x00,0x00]
+v_max_i32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xdd,0x00,0x00]
-v_max_i32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xdc,0x00,0x00]
+v_max_i32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xdf,0x00,0x00]
-v_max_i32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xde,0x00,0x00]
+v_max_i32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xf7,0x00,0x00]
-v_max_i32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xf6,0x00,0x00]
+v_max_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xf9,0x00,0x00]
-v_max_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xf8,0x00,0x00]
+v_max_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xfd,0x00,0x00]
-v_max_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xfc,0x00,0x00]
+v_max_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xff,0x00,0x00]
-v_max_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xfe,0x00,0x00]
+v_max_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0x01,0x01,0x00]
-v_max_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x00,0x01,0x00]
+v_max_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0x83,0x01,0x00]
-v_max_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x82,0x01,0x00]
+v_max_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xe1,0x01,0x00]
-v_max_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xe0,0x01,0x00]
+v_max_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xef,0x01,0x00]
-v_max_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xee,0x01,0x00]
+v_min_u32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1c]
-v_max_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x02,0x00]
+v_min_u32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x1d]
-v_max_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xfe,0x03,0x00]
+v_min_u32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1c]
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]
@@ -36129,99 +36687,141 @@ v_min_u32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x1c]
-v_min_u32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x1c]
+v_min_u32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_u32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_u32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_u32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0x04,0x02,0x00]
-v_min_u32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x1c]
+v_min_u32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x65,0x04,0x02,0x00]
-v_min_u32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_min_u32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x66,0x04,0x02,0x00]
-v_min_u32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_min_u32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x67,0x04,0x02,0x00]
-v_min_u32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0e,0xd1,0xc1,0x04,0x00,0x00]
+v_min_u32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x6a,0x04,0x02,0x00]
-v_min_u32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0e,0xd1,0xf0,0x04,0x00,0x00]
+v_min_u32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x6b,0x04,0x02,0x00]
-v_min_u32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0e,0xd1,0xf7,0x04,0x00,0x00]
+v_min_u32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x6c,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x6d,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x6e,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x6f,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x7b,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x7c,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x7e,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x7f,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xcb,0x00,0x00]
-v_min_u32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xca,0x00,0x00]
+v_min_u32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xd5,0x00,0x00]
-v_min_u32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xd4,0x00,0x00]
+v_min_u32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xd7,0x00,0x00]
-v_min_u32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xd6,0x00,0x00]
+v_min_u32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xd9,0x00,0x00]
-v_min_u32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xd8,0x00,0x00]
+v_min_u32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xdb,0x00,0x00]
-v_min_u32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xda,0x00,0x00]
+v_min_u32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xdd,0x00,0x00]
-v_min_u32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xdc,0x00,0x00]
+v_min_u32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xdf,0x00,0x00]
-v_min_u32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xde,0x00,0x00]
+v_min_u32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xf7,0x00,0x00]
-v_min_u32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xf6,0x00,0x00]
+v_min_u32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xf9,0x00,0x00]
-v_min_u32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xf8,0x00,0x00]
+v_min_u32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xfd,0x00,0x00]
-v_min_u32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xfc,0x00,0x00]
+v_min_u32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xff,0x00,0x00]
-v_min_u32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xfe,0x00,0x00]
+v_min_u32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0x01,0x01,0x00]
-v_min_u32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x00,0x01,0x00]
+v_min_u32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0x83,0x01,0x00]
-v_min_u32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x82,0x01,0x00]
+v_min_u32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xe1,0x01,0x00]
-v_min_u32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xe0,0x01,0x00]
+v_min_u32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xef,0x01,0x00]
-v_min_u32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xee,0x01,0x00]
+v_max_u32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1e]
-v_min_u32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x02,0x00]
+v_max_u32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x1f]
-v_min_u32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xfe,0x03,0x00]
+v_max_u32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1e]
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]
@@ -36279,99 +36879,141 @@ v_max_u32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x1e]
-v_max_u32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x1e]
+v_max_u32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_u32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_u32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xff,0x05,0x02,0x00]
+
+v_max_u32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x65,0x04,0x02,0x00]
-v_max_u32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x1e]
+v_max_u32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x66,0x04,0x02,0x00]
-v_max_u32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00]
+v_max_u32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x67,0x04,0x02,0x00]
-v_max_u32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00]
+v_max_u32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x6a,0x04,0x02,0x00]
-v_max_u32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0f,0xd1,0xc1,0x04,0x00,0x00]
+v_max_u32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x6b,0x04,0x02,0x00]
-v_max_u32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0f,0xd1,0xf0,0x04,0x00,0x00]
+v_max_u32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x6c,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x6d,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x6e,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x6f,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x7b,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x7c,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x02,0x00]
-v_max_u32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0f,0xd1,0xf7,0x04,0x00,0x00]
+v_max_u32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xcb,0x00,0x00]
-v_max_u32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xca,0x00,0x00]
+v_max_u32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xd5,0x00,0x00]
-v_max_u32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xd4,0x00,0x00]
+v_max_u32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xd7,0x00,0x00]
-v_max_u32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xd6,0x00,0x00]
+v_max_u32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xd9,0x00,0x00]
-v_max_u32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xd8,0x00,0x00]
+v_max_u32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xdb,0x00,0x00]
-v_max_u32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xda,0x00,0x00]
+v_max_u32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xdd,0x00,0x00]
-v_max_u32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xdc,0x00,0x00]
+v_max_u32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xdf,0x00,0x00]
-v_max_u32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xde,0x00,0x00]
+v_max_u32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xf7,0x00,0x00]
-v_max_u32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xf6,0x00,0x00]
+v_max_u32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xf9,0x00,0x00]
-v_max_u32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xf8,0x00,0x00]
+v_max_u32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xfd,0x00,0x00]
-v_max_u32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xfc,0x00,0x00]
+v_max_u32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xff,0x00,0x00]
-v_max_u32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xfe,0x00,0x00]
+v_max_u32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0x01,0x01,0x00]
-v_max_u32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x00,0x01,0x00]
+v_max_u32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0x83,0x01,0x00]
-v_max_u32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x82,0x01,0x00]
+v_max_u32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xe1,0x01,0x00]
-v_max_u32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xe0,0x01,0x00]
+v_max_u32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xef,0x01,0x00]
-v_max_u32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xee,0x01,0x00]
+v_lshrrev_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x20]
-v_max_u32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x02,0x00]
+v_lshrrev_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x21]
-v_max_u32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xfe,0x03,0x00]
+v_lshrrev_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x20]
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]
@@ -36429,99 +37071,141 @@ v_lshrrev_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x20]
-v_lshrrev_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x20]
+v_lshrrev_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0xff,0x05,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x65,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x66,0x04,0x02,0x00]
-v_lshrrev_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x20]
+v_lshrrev_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x67,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x6a,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x10,0xd1,0x80,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x6b,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x10,0xd1,0xc1,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x6c,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x10,0xd1,0xf0,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x6d,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x10,0xd1,0xf7,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x6e,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x6f,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x7b,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x7c,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x7e,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x7f,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0xc1,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0xf0,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0xf7,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xcb,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xca,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xd5,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xd4,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xd7,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xd6,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xd9,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xd8,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xdb,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xda,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xdd,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xdc,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xdf,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xde,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xf7,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xf6,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xf9,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xf8,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xfd,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xfc,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xff,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xfe,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0x01,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x00,0x01,0x00]
+v_lshrrev_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0x83,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x82,0x01,0x00]
+v_lshrrev_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xe1,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xe0,0x01,0x00]
+v_lshrrev_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xef,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xee,0x01,0x00]
+v_ashrrev_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x22]
-v_lshrrev_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x04,0x02,0x00]
+v_ashrrev_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x23]
-v_lshrrev_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xfe,0x03,0x00]
+v_ashrrev_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x22]
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]
@@ -36579,99 +37263,141 @@ v_ashrrev_i32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x22]
-v_ashrrev_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x22]
+v_ashrrev_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x11,0xd1,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0xff,0x05,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x65,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x66,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x67,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x6a,0x04,0x02,0x00]
-v_ashrrev_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x22]
+v_ashrrev_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x6b,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x6c,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x6d,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x6e,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x6f,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x7b,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x7c,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x7e,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x7f,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x11,0xd1,0x80,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0xc1,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x11,0xd1,0xc1,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0xf7,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x11,0xd1,0xf7,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xcb,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xca,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xd5,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xd4,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xd7,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xd6,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xd9,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xd8,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xdb,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xda,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xdd,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xdc,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xdf,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xde,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xf7,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xf6,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xf9,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xf8,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xfd,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xfc,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xff,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xfe,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0x01,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x00,0x01,0x00]
+v_ashrrev_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0x83,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x82,0x01,0x00]
+v_ashrrev_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xe1,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xe0,0x01,0x00]
+v_ashrrev_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xef,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xee,0x01,0x00]
+v_lshlrev_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x24]
-v_ashrrev_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x04,0x02,0x00]
+v_lshlrev_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x25]
-v_ashrrev_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xfe,0x03,0x00]
+v_lshlrev_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x24]
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]
@@ -36729,99 +37455,141 @@ v_lshlrev_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x24]
-v_lshlrev_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x24]
+v_lshlrev_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x12,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0xff,0x05,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x65,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x66,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x67,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x6a,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x6b,0x04,0x02,0x00]
-v_lshlrev_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x24]
+v_lshlrev_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x6c,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x6d,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x12,0xd1,0x80,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x6e,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x12,0xd1,0xc1,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x6f,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x12,0xd1,0xf0,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x7b,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x12,0xd1,0xf7,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x7c,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x7e,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x7f,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0xc1,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0xf0,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0xf7,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xcb,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xca,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xd5,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xd4,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xd7,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xd6,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xd9,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xd8,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xdb,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xda,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xdd,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xdc,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xdf,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xde,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xf7,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xf6,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xf9,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xf8,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xfd,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xfc,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xff,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xfe,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0x01,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x00,0x01,0x00]
+v_lshlrev_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0x83,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x82,0x01,0x00]
+v_lshlrev_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xe1,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xe0,0x01,0x00]
+v_lshlrev_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xef,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xee,0x01,0x00]
+v_and_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x26]
-v_lshlrev_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x04,0x02,0x00]
+v_and_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x27]
-v_lshlrev_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xfe,0x03,0x00]
+v_and_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x26]
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]
@@ -36879,99 +37647,141 @@ v_and_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x26]
-v_and_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x26]
+v_and_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0x05,0x02,0x00]
+
+v_and_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x13,0xd1,0x01,0x05,0x02,0x00]
+
+v_and_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0xff,0x05,0x02,0x00]
+
+v_and_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x65,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x66,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x67,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x6a,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x6b,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x6c,0x04,0x02,0x00]
-v_and_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x26]
+v_and_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x6d,0x04,0x02,0x00]
-v_and_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x04,0x00,0x00]
+v_and_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x6e,0x04,0x02,0x00]
-v_and_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x13,0xd1,0x80,0x04,0x00,0x00]
+v_and_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x6f,0x04,0x02,0x00]
-v_and_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x13,0xd1,0xc1,0x04,0x00,0x00]
+v_and_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x7b,0x04,0x02,0x00]
-v_and_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x13,0xd1,0xf0,0x04,0x00,0x00]
+v_and_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x7c,0x04,0x02,0x00]
-v_and_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x13,0xd1,0xf7,0x04,0x00,0x00]
+v_and_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x7e,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x7f,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0xc1,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0xf0,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0xf7,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xcb,0x00,0x00]
-v_and_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xca,0x00,0x00]
+v_and_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xd5,0x00,0x00]
-v_and_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xd4,0x00,0x00]
+v_and_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xd7,0x00,0x00]
-v_and_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xd6,0x00,0x00]
+v_and_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xd9,0x00,0x00]
-v_and_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xd8,0x00,0x00]
+v_and_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xdb,0x00,0x00]
-v_and_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xda,0x00,0x00]
+v_and_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xdd,0x00,0x00]
-v_and_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xdc,0x00,0x00]
+v_and_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xdf,0x00,0x00]
-v_and_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xde,0x00,0x00]
+v_and_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xf7,0x00,0x00]
-v_and_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xf6,0x00,0x00]
+v_and_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xf9,0x00,0x00]
-v_and_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xf8,0x00,0x00]
+v_and_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xfd,0x00,0x00]
-v_and_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xfc,0x00,0x00]
+v_and_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xff,0x00,0x00]
-v_and_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xfe,0x00,0x00]
+v_and_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0x01,0x01,0x00]
-v_and_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x00,0x01,0x00]
+v_and_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0x83,0x01,0x00]
-v_and_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x82,0x01,0x00]
+v_and_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xe1,0x01,0x00]
-v_and_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xe0,0x01,0x00]
+v_and_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xef,0x01,0x00]
-v_and_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xee,0x01,0x00]
+v_or_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x28]
-v_and_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x04,0x02,0x00]
+v_or_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x29]
-v_and_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xfe,0x03,0x00]
+v_or_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x28]
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]
@@ -37029,99 +37839,141 @@ v_or_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x28]
-v_or_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x28]
+v_or_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0x05,0x02,0x00]
+
+v_or_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x14,0xd1,0x01,0x05,0x02,0x00]
+
+v_or_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0xff,0x05,0x02,0x00]
+
+v_or_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x65,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x66,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x67,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x6a,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x6b,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x6c,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x6d,0x04,0x02,0x00]
-v_or_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x28]
+v_or_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x6e,0x04,0x02,0x00]
-v_or_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x04,0x00,0x00]
+v_or_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x6f,0x04,0x02,0x00]
-v_or_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x14,0xd1,0x80,0x04,0x00,0x00]
+v_or_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x7b,0x04,0x02,0x00]
-v_or_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x14,0xd1,0xc1,0x04,0x00,0x00]
+v_or_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x7c,0x04,0x02,0x00]
-v_or_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x14,0xd1,0xf0,0x04,0x00,0x00]
+v_or_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x7e,0x04,0x02,0x00]
-v_or_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x14,0xd1,0xf7,0x04,0x00,0x00]
+v_or_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x7f,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0xc1,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0xf0,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0xf7,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xcb,0x00,0x00]
-v_or_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xca,0x00,0x00]
+v_or_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xd5,0x00,0x00]
-v_or_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xd4,0x00,0x00]
+v_or_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xd7,0x00,0x00]
-v_or_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xd6,0x00,0x00]
+v_or_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xd9,0x00,0x00]
-v_or_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xd8,0x00,0x00]
+v_or_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xdb,0x00,0x00]
-v_or_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xda,0x00,0x00]
+v_or_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xdd,0x00,0x00]
-v_or_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xdc,0x00,0x00]
+v_or_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xdf,0x00,0x00]
-v_or_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xde,0x00,0x00]
+v_or_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xf7,0x00,0x00]
-v_or_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xf6,0x00,0x00]
+v_or_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xf9,0x00,0x00]
-v_or_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xf8,0x00,0x00]
+v_or_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xfd,0x00,0x00]
-v_or_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xfc,0x00,0x00]
+v_or_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xff,0x00,0x00]
-v_or_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xfe,0x00,0x00]
+v_or_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0x01,0x01,0x00]
-v_or_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x00,0x01,0x00]
+v_or_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0x83,0x01,0x00]
-v_or_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x82,0x01,0x00]
+v_or_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xe1,0x01,0x00]
-v_or_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xe0,0x01,0x00]
+v_or_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xef,0x01,0x00]
-v_or_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xee,0x01,0x00]
+v_xor_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x2a]
-v_or_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x04,0x02,0x00]
+v_xor_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x2b]
-v_or_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xfe,0x03,0x00]
+v_xor_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x2a]
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]
@@ -37179,99 +38031,141 @@ v_xor_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x2a]
-v_xor_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x2a]
+v_xor_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0x05,0x02,0x00]
+
+v_xor_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x15,0xd1,0x01,0x05,0x02,0x00]
+
+v_xor_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0xff,0x05,0x02,0x00]
-v_xor_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x2a]
+v_xor_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0x04,0x02,0x00]
-v_xor_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x04,0x00,0x00]
+v_xor_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x65,0x04,0x02,0x00]
-v_xor_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x15,0xd1,0x80,0x04,0x00,0x00]
+v_xor_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x66,0x04,0x02,0x00]
-v_xor_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x15,0xd1,0xc1,0x04,0x00,0x00]
+v_xor_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x67,0x04,0x02,0x00]
-v_xor_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x15,0xd1,0xf0,0x04,0x00,0x00]
+v_xor_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x6a,0x04,0x02,0x00]
-v_xor_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x15,0xd1,0xf7,0x04,0x00,0x00]
+v_xor_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x6b,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x6c,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x6d,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x6e,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x6f,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x7b,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x7c,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x7e,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x7f,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0xc1,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0xf0,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0xf7,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xcb,0x00,0x00]
-v_xor_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xca,0x00,0x00]
+v_xor_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xd5,0x00,0x00]
-v_xor_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xd4,0x00,0x00]
+v_xor_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xd7,0x00,0x00]
-v_xor_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xd6,0x00,0x00]
+v_xor_b32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xd9,0x00,0x00]
-v_xor_b32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xd8,0x00,0x00]
+v_xor_b32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xdb,0x00,0x00]
-v_xor_b32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xda,0x00,0x00]
+v_xor_b32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xdd,0x00,0x00]
-v_xor_b32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xdc,0x00,0x00]
+v_xor_b32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xdf,0x00,0x00]
-v_xor_b32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xde,0x00,0x00]
+v_xor_b32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xf7,0x00,0x00]
-v_xor_b32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xf6,0x00,0x00]
+v_xor_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xf9,0x00,0x00]
-v_xor_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xf8,0x00,0x00]
+v_xor_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xfd,0x00,0x00]
-v_xor_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xfc,0x00,0x00]
+v_xor_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xff,0x00,0x00]
-v_xor_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xfe,0x00,0x00]
+v_xor_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0x01,0x01,0x00]
-v_xor_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x00,0x01,0x00]
+v_xor_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0x83,0x01,0x00]
-v_xor_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x82,0x01,0x00]
+v_xor_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xe1,0x01,0x00]
-v_xor_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xe0,0x01,0x00]
+v_xor_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xef,0x01,0x00]
-v_xor_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xee,0x01,0x00]
+v_mac_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x2c]
-v_xor_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x04,0x02,0x00]
+v_mac_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x2d]
-v_xor_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xfe,0x03,0x00]
+v_mac_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x2c]
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]
@@ -37329,129 +38223,171 @@ v_mac_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x2c]
-v_mac_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x2c]
+v_mac_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]
+
+v_mac_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]
+
+v_mac_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0xff,0x05,0x02,0x00]
+
+v_mac_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x04,0x02,0x00]
-v_mac_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x2c]
+v_mac_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x65,0x04,0x02,0x00]
-v_mac_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x66,0x04,0x02,0x00]
-v_mac_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x67,0x04,0x02,0x00]
-v_mac_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x00]
+v_mac_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x6a,0x04,0x02,0x00]
-v_mac_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x16,0xd1,0xf0,0x04,0x00,0x00]
+v_mac_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x6b,0x04,0x02,0x00]
-v_mac_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x16,0xd1,0xf7,0x04,0x00,0x00]
+v_mac_f32_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x6c,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x6d,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x6e,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x6f,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x7b,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xcb,0x00,0x00]
-v_mac_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xca,0x00,0x00]
+v_mac_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xd5,0x00,0x00]
-v_mac_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xd4,0x00,0x00]
+v_mac_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xd7,0x00,0x00]
-v_mac_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xd6,0x00,0x00]
+v_mac_f32_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xd9,0x00,0x00]
-v_mac_f32_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xd8,0x00,0x00]
+v_mac_f32_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xdb,0x00,0x00]
-v_mac_f32_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xda,0x00,0x00]
+v_mac_f32_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xdd,0x00,0x00]
-v_mac_f32_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xdc,0x00,0x00]
+v_mac_f32_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xdf,0x00,0x00]
-v_mac_f32_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xde,0x00,0x00]
+v_mac_f32_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xf7,0x00,0x00]
-v_mac_f32_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xf6,0x00,0x00]
+v_mac_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xf9,0x00,0x00]
-v_mac_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xf8,0x00,0x00]
+v_mac_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xfd,0x00,0x00]
-v_mac_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xfc,0x00,0x00]
+v_mac_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xff,0x00,0x00]
-v_mac_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xfe,0x00,0x00]
+v_mac_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x01,0x01,0x00]
-v_mac_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x00,0x01,0x00]
+v_mac_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x83,0x01,0x00]
-v_mac_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x82,0x01,0x00]
+v_mac_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xe1,0x01,0x00]
-v_mac_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xe0,0x01,0x00]
+v_mac_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xef,0x01,0x00]
-v_mac_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xee,0x01,0x00]
+v_mac_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x20]
-v_mac_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x02,0x00]
+v_mac_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x40]
-v_mac_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xfe,0x03,0x00]
+v_mac_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x60]
-v_mac_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x20]
+v_mac_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x16,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x40]
+v_mac_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x16,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x60]
+v_mac_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x16,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x16,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x08]
-v_mac_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x10]
-v_mac_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x18]
-v_mac_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x08]
+v_madmk_f32 v5, v1, 0x11213141, v3
+// CHECK: [0x01,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
-v_mac_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x10]
+v_madmk_f32 v255, v1, 0x11213141, v3
+// CHECK: [0x01,0x07,0xfe,0x2f,0x41,0x31,0x21,0x11]
-v_mac_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x18]
+v_madmk_f32 v5, v255, 0x11213141, v3
+// CHECK: [0xff,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
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]
@@ -37461,24 +38397,24 @@ v_madmk_f32 v5, 0.5, 0x11213141, v3
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, v1, 0xa1b1c1d1, v3
+// CHECK: [0x01,0x07,0x0a,0x2e,0xd1,0xc1,0xb1,0xa1]
-v_madmk_f32 v5, v255, 0x11213141, v3
-// CHECK: [0xff,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
+v_madmk_f32 v5, v1, 0x11213141, v255
+// CHECK: [0x01,0xff,0x0b,0x2e,0x41,0x31,0x21,0x11]
-v_madmk_f32 v5, 0, 0xa1b1c1d1, v3
-// CHECK: [0x80,0x06,0x0a,0x2e,0xd1,0xc1,0xb1,0xa1]
+v_madak_f32 v5, v1, v2, 0x11213141
+// CHECK: [0x01,0x05,0x0a,0x30,0x41,0x31,0x21,0x11]
-v_madmk_f32 v5, 0, 0x11213141, v255
-// CHECK: [0x80,0xfe,0x0b,0x2e,0x41,0x31,0x21,0x11]
+v_madak_f32 v255, v1, v2, 0x11213141
+// CHECK: [0x01,0x05,0xfe,0x31,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, 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]
@@ -37488,24 +38424,24 @@ v_madak_f32 v5, 0.5, v2, 0x11213141
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, v1, v255, 0x11213141
+// CHECK: [0x01,0xff,0x0b,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, v1, v2, 0xa1b1c1d1
+// CHECK: [0x01,0x05,0x0a,0x30,0xd1,0xc1,0xb1,0xa1]
-v_madak_f32 v5, 0, v255, 0x11213141
-// CHECK: [0x80,0xfe,0x0b,0x30,0x41,0x31,0x21,0x11]
+v_add_u32 v5, vcc, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x32]
-v_madak_f32 v5, 0, v2, 0xa1b1c1d1
-// CHECK: [0x80,0x04,0x0a,0x30,0xd1,0xc1,0xb1,0xa1]
+v_add_u32 v255, vcc, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x33]
+
+v_add_u32 v5, vcc, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x32]
v_add_u32 v5, vcc, s1, v2
// CHECK: [0x01,0x04,0x0a,0x32]
-v_add_u32 v255, vcc, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x33]
-
v_add_u32 v5, vcc, s101, v2
// CHECK: [0x65,0x04,0x0a,0x32]
@@ -37563,120 +38499,162 @@ v_add_u32 v5, vcc, 0xaf123456, v2
v_add_u32 v5, vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x32,0x73,0x72,0x71,0x3f]
-v_add_u32 v5, vcc, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x32]
+v_add_u32 v5, vcc, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x32]
-v_add_u32 v5, vcc, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x32]
+v_add_u32_e64 v5, s[12:13], v1, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_u32_e64 v255, s[12:13], v1, v2
+// CHECK: [0xff,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_u32_e64 v5, s[14:15], v1, v2
+// CHECK: [0x05,0x0e,0x19,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_u32_e64 v5, s[100:101], v1, v2
+// CHECK: [0x05,0x64,0x19,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_u32_e64 v5, flat_scratch, v1, v2
+// CHECK: [0x05,0x66,0x19,0xd1,0x01,0x05,0x02,0x00]
-v_add_u32 v5, vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x32]
+v_add_u32_e64 v5, vcc, v1, v2
+// CHECK: [0x05,0x6a,0x19,0xd1,0x01,0x05,0x02,0x00]
-v_add_u32_e64 v5, s[12:13], 0, s2
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0x04,0x00,0x00]
+v_add_u32_e64 v5, tba, v1, v2
+// CHECK: [0x05,0x6c,0x19,0xd1,0x01,0x05,0x02,0x00]
-v_add_u32_e64 v255, s[12:13], 0, s2
-// CHECK: [0xff,0x0c,0x19,0xd1,0x80,0x04,0x00,0x00]
+v_add_u32_e64 v5, tma, v1, v2
+// CHECK: [0x05,0x6e,0x19,0xd1,0x01,0x05,0x02,0x00]
-v_add_u32_e64 v5, s[14:15], 0, s2
-// CHECK: [0x05,0x0e,0x19,0xd1,0x80,0x04,0x00,0x00]
+v_add_u32_e64 v5, ttmp[10:11], v1, v2
+// CHECK: [0x05,0x7a,0x19,0xd1,0x01,0x05,0x02,0x00]
-v_add_u32_e64 v5, s[100:101], 0, s2
-// CHECK: [0x05,0x64,0x19,0xd1,0x80,0x04,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v255, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0xff,0x05,0x02,0x00]
-v_add_u32_e64 v5, flat_scratch, 0, s2
-// CHECK: [0x05,0x66,0x19,0xd1,0x80,0x04,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], s1, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x04,0x02,0x00]
-v_add_u32_e64 v5, vcc, 0, s2
-// CHECK: [0x05,0x6a,0x19,0xd1,0x80,0x04,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], s101, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x65,0x04,0x02,0x00]
-v_add_u32_e64 v5, tba, 0, s2
-// CHECK: [0x05,0x6c,0x19,0xd1,0x80,0x04,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], flat_scratch_lo, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x66,0x04,0x02,0x00]
-v_add_u32_e64 v5, tma, 0, s2
-// CHECK: [0x05,0x6e,0x19,0xd1,0x80,0x04,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], flat_scratch_hi, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x67,0x04,0x02,0x00]
-v_add_u32_e64 v5, ttmp[10:11], 0, s2
-// CHECK: [0x05,0x7a,0x19,0xd1,0x80,0x04,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], vcc_lo, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x6a,0x04,0x02,0x00]
-v_add_u32_e64 v5, s[12:13], -1, s2
-// CHECK: [0x05,0x0c,0x19,0xd1,0xc1,0x04,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], vcc_hi, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x6b,0x04,0x02,0x00]
-v_add_u32_e64 v5, s[12:13], 0.5, s2
-// CHECK: [0x05,0x0c,0x19,0xd1,0xf0,0x04,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], tba_lo, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x6c,0x04,0x02,0x00]
-v_add_u32_e64 v5, s[12:13], -4.0, s2
-// CHECK: [0x05,0x0c,0x19,0xd1,0xf7,0x04,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], tba_hi, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x6d,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], tma_lo, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x6e,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], tma_hi, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x6f,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], ttmp11, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x7b,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], m0, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x7c,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], exec_lo, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x7e,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], exec_hi, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x7f,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], 0, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], -1, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0xc1,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], 0.5, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0xf0,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], -4.0, v2
+// CHECK: [0x05,0x0c,0x19,0xd1,0xf7,0x04,0x02,0x00]
+
+v_add_u32_e64 v5, s[12:13], v1, v255
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x03,0x00]
v_add_u32_e64 v5, s[12:13], v1, s2
// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], v255, s2
-// CHECK: [0x05,0x0c,0x19,0xd1,0xff,0x05,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, s101
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xcb,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, s101
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xca,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, flat_scratch_lo
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xcd,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, flat_scratch_lo
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xcc,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, flat_scratch_hi
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xcf,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, flat_scratch_hi
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xce,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, vcc_lo
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xd5,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, vcc_lo
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xd4,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, vcc_hi
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xd7,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, vcc_hi
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xd6,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, tba_lo
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xd9,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, tba_lo
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xd8,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, tba_hi
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xdb,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, tba_hi
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xda,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, tma_lo
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xdd,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, tma_lo
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xdc,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, tma_hi
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xdf,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, tma_hi
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xde,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, ttmp11
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xf7,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, ttmp11
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xf6,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, m0
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xf9,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, m0
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xf8,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, exec_lo
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xfd,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, exec_lo
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xfc,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, exec_hi
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x00,0x00]
-v_add_u32_e64 v5, s[12:13], 0, exec_hi
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xfe,0x00,0x00]
+v_add_u32_e64 v5, s[12:13], v1, 0
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x01,0x01,0x00]
-v_add_u32_e64 v5, s[12:13], 0, 0
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0x00,0x01,0x00]
+v_add_u32_e64 v5, s[12:13], v1, -1
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x83,0x01,0x00]
-v_add_u32_e64 v5, s[12:13], 0, -1
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0x82,0x01,0x00]
+v_add_u32_e64 v5, s[12:13], v1, 0.5
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xe1,0x01,0x00]
-v_add_u32_e64 v5, s[12:13], 0, 0.5
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xe0,0x01,0x00]
+v_add_u32_e64 v5, s[12:13], v1, -4.0
+// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xef,0x01,0x00]
-v_add_u32_e64 v5, s[12:13], 0, -4.0
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xee,0x01,0x00]
+v_sub_u32 v5, vcc, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x34]
-v_add_u32_e64 v5, s[12:13], 0, v2
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0x04,0x02,0x00]
+v_sub_u32 v255, vcc, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x35]
-v_add_u32_e64 v5, s[12:13], 0, v255
-// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0xfe,0x03,0x00]
+v_sub_u32 v5, vcc, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x34]
v_sub_u32 v5, vcc, s1, v2
// CHECK: [0x01,0x04,0x0a,0x34]
-v_sub_u32 v255, vcc, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x35]
-
v_sub_u32 v5, vcc, s101, v2
// CHECK: [0x65,0x04,0x0a,0x34]
@@ -37734,120 +38712,162 @@ v_sub_u32 v5, vcc, 0xaf123456, v2
v_sub_u32 v5, vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x34,0x73,0x72,0x71,0x3f]
-v_sub_u32 v5, vcc, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x34]
+v_sub_u32 v5, vcc, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x34]
-v_sub_u32 v5, vcc, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x34]
+v_sub_u32_e64 v5, s[12:13], v1, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u32_e64 v255, s[12:13], v1, v2
+// CHECK: [0xff,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u32_e64 v5, s[14:15], v1, v2
+// CHECK: [0x05,0x0e,0x1a,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u32_e64 v5, s[100:101], v1, v2
+// CHECK: [0x05,0x64,0x1a,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u32_e64 v5, flat_scratch, v1, v2
+// CHECK: [0x05,0x66,0x1a,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u32_e64 v5, vcc, v1, v2
+// CHECK: [0x05,0x6a,0x1a,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u32_e64 v5, tba, v1, v2
+// CHECK: [0x05,0x6c,0x1a,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u32_e64 v5, tma, v1, v2
+// CHECK: [0x05,0x6e,0x1a,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u32_e64 v5, ttmp[10:11], v1, v2
+// CHECK: [0x05,0x7a,0x1a,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u32_e64 v5, s[12:13], v255, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0xff,0x05,0x02,0x00]
+
+v_sub_u32_e64 v5, s[12:13], s1, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x04,0x02,0x00]
+
+v_sub_u32_e64 v5, s[12:13], s101, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x65,0x04,0x02,0x00]
+
+v_sub_u32_e64 v5, s[12:13], flat_scratch_lo, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x66,0x04,0x02,0x00]
+
+v_sub_u32_e64 v5, s[12:13], flat_scratch_hi, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x67,0x04,0x02,0x00]
+
+v_sub_u32_e64 v5, s[12:13], vcc_lo, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x6a,0x04,0x02,0x00]
-v_sub_u32 v5, vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x34]
+v_sub_u32_e64 v5, s[12:13], vcc_hi, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x6b,0x04,0x02,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, s2
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], tba_lo, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x6c,0x04,0x02,0x00]
-v_sub_u32_e64 v255, s[12:13], 0, s2
-// CHECK: [0xff,0x0c,0x1a,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], tba_hi, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x6d,0x04,0x02,0x00]
-v_sub_u32_e64 v5, s[14:15], 0, s2
-// CHECK: [0x05,0x0e,0x1a,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], tma_lo, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x6e,0x04,0x02,0x00]
-v_sub_u32_e64 v5, s[100:101], 0, s2
-// CHECK: [0x05,0x64,0x1a,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], tma_hi, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x6f,0x04,0x02,0x00]
-v_sub_u32_e64 v5, flat_scratch, 0, s2
-// CHECK: [0x05,0x66,0x1a,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], ttmp11, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x7b,0x04,0x02,0x00]
-v_sub_u32_e64 v5, vcc, 0, s2
-// CHECK: [0x05,0x6a,0x1a,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], m0, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x7c,0x04,0x02,0x00]
-v_sub_u32_e64 v5, tba, 0, s2
-// CHECK: [0x05,0x6c,0x1a,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], exec_lo, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x7e,0x04,0x02,0x00]
-v_sub_u32_e64 v5, tma, 0, s2
-// CHECK: [0x05,0x6e,0x1a,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], exec_hi, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x7f,0x04,0x02,0x00]
-v_sub_u32_e64 v5, ttmp[10:11], 0, s2
-// CHECK: [0x05,0x7a,0x1a,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], 0, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0x04,0x02,0x00]
+
+v_sub_u32_e64 v5, s[12:13], -1, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0xc1,0x04,0x02,0x00]
-v_sub_u32_e64 v5, s[12:13], -1, s2
-// CHECK: [0x05,0x0c,0x1a,0xd1,0xc1,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], 0.5, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0xf0,0x04,0x02,0x00]
-v_sub_u32_e64 v5, s[12:13], 0.5, s2
-// CHECK: [0x05,0x0c,0x1a,0xd1,0xf0,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], -4.0, v2
+// CHECK: [0x05,0x0c,0x1a,0xd1,0xf7,0x04,0x02,0x00]
-v_sub_u32_e64 v5, s[12:13], -4.0, s2
-// CHECK: [0x05,0x0c,0x1a,0xd1,0xf7,0x04,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, v255
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x03,0x00]
v_sub_u32_e64 v5, s[12:13], v1, s2
// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], v255, s2
-// CHECK: [0x05,0x0c,0x1a,0xd1,0xff,0x05,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, s101
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xcb,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, s101
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xca,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, flat_scratch_lo
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xcd,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, flat_scratch_lo
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xcc,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, flat_scratch_hi
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xcf,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, flat_scratch_hi
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xce,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, vcc_lo
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xd5,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, vcc_lo
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xd4,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, vcc_hi
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xd7,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, vcc_hi
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xd6,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, tba_lo
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xd9,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, tba_lo
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xd8,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, tba_hi
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xdb,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, tba_hi
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xda,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, tma_lo
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xdd,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, tma_lo
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xdc,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, tma_hi
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xdf,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, tma_hi
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xde,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, ttmp11
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xf7,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, ttmp11
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xf6,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, m0
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xf9,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, m0
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xf8,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, exec_lo
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xfd,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, exec_lo
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xfc,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, exec_hi
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x00,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, exec_hi
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xfe,0x00,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, 0
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x01,0x01,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, 0
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0x00,0x01,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, -1
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x83,0x01,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, -1
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0x82,0x01,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, 0.5
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xe1,0x01,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, 0.5
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xe0,0x01,0x00]
+v_sub_u32_e64 v5, s[12:13], v1, -4.0
+// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xef,0x01,0x00]
-v_sub_u32_e64 v5, s[12:13], 0, -4.0
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xee,0x01,0x00]
+v_subrev_u32 v5, vcc, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x36]
-v_sub_u32_e64 v5, s[12:13], 0, v2
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0x04,0x02,0x00]
+v_subrev_u32 v255, vcc, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x37]
-v_sub_u32_e64 v5, s[12:13], 0, v255
-// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0xfe,0x03,0x00]
+v_subrev_u32 v5, vcc, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x36]
v_subrev_u32 v5, vcc, s1, v2
// CHECK: [0x01,0x04,0x0a,0x36]
-v_subrev_u32 v255, vcc, s1, v2
-// CHECK: [0x01,0x04,0xfe,0x37]
-
v_subrev_u32 v5, vcc, s101, v2
// CHECK: [0x65,0x04,0x0a,0x36]
@@ -37905,120 +38925,162 @@ v_subrev_u32 v5, vcc, 0xaf123456, v2
v_subrev_u32 v5, vcc, 0x3f717273, v2
// CHECK: [0xff,0x04,0x0a,0x36,0x73,0x72,0x71,0x3f]
-v_subrev_u32 v5, vcc, v1, v2
-// CHECK: [0x01,0x05,0x0a,0x36]
+v_subrev_u32 v5, vcc, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x36]
-v_subrev_u32 v5, vcc, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x36]
+v_subrev_u32_e64 v5, s[12:13], v1, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_u32_e64 v255, s[12:13], v1, v2
+// CHECK: [0xff,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[14:15], v1, v2
+// CHECK: [0x05,0x0e,0x1b,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[100:101], v1, v2
+// CHECK: [0x05,0x64,0x1b,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_u32_e64 v5, flat_scratch, v1, v2
+// CHECK: [0x05,0x66,0x1b,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_u32_e64 v5, vcc, v1, v2
+// CHECK: [0x05,0x6a,0x1b,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_u32 v5, vcc, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x36]
+v_subrev_u32_e64 v5, tba, v1, v2
+// CHECK: [0x05,0x6c,0x1b,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, s2
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, tma, v1, v2
+// CHECK: [0x05,0x6e,0x1b,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_u32_e64 v255, s[12:13], 0, s2
-// CHECK: [0xff,0x0c,0x1b,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, ttmp[10:11], v1, v2
+// CHECK: [0x05,0x7a,0x1b,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_u32_e64 v5, s[14:15], 0, s2
-// CHECK: [0x05,0x0e,0x1b,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v255, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0xff,0x05,0x02,0x00]
-v_subrev_u32_e64 v5, s[100:101], 0, s2
-// CHECK: [0x05,0x64,0x1b,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], s1, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x04,0x02,0x00]
-v_subrev_u32_e64 v5, flat_scratch, 0, s2
-// CHECK: [0x05,0x66,0x1b,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], s101, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x65,0x04,0x02,0x00]
-v_subrev_u32_e64 v5, vcc, 0, s2
-// CHECK: [0x05,0x6a,0x1b,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], flat_scratch_lo, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x66,0x04,0x02,0x00]
-v_subrev_u32_e64 v5, tba, 0, s2
-// CHECK: [0x05,0x6c,0x1b,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], flat_scratch_hi, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x67,0x04,0x02,0x00]
-v_subrev_u32_e64 v5, tma, 0, s2
-// CHECK: [0x05,0x6e,0x1b,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], vcc_lo, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x6a,0x04,0x02,0x00]
-v_subrev_u32_e64 v5, ttmp[10:11], 0, s2
-// CHECK: [0x05,0x7a,0x1b,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], vcc_hi, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x6b,0x04,0x02,0x00]
-v_subrev_u32_e64 v5, s[12:13], -1, s2
-// CHECK: [0x05,0x0c,0x1b,0xd1,0xc1,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], tba_lo, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x6c,0x04,0x02,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0.5, s2
-// CHECK: [0x05,0x0c,0x1b,0xd1,0xf0,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], tba_hi, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x6d,0x04,0x02,0x00]
-v_subrev_u32_e64 v5, s[12:13], -4.0, s2
-// CHECK: [0x05,0x0c,0x1b,0xd1,0xf7,0x04,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], tma_lo, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x6e,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], tma_hi, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x6f,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], ttmp11, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x7b,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], m0, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x7c,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], exec_lo, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x7e,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], exec_hi, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x7f,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], 0, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], -1, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0xc1,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], 0.5, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0xf0,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], -4.0, v2
+// CHECK: [0x05,0x0c,0x1b,0xd1,0xf7,0x04,0x02,0x00]
+
+v_subrev_u32_e64 v5, s[12:13], v1, v255
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x03,0x00]
v_subrev_u32_e64 v5, s[12:13], v1, s2
// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], v255, s2
-// CHECK: [0x05,0x0c,0x1b,0xd1,0xff,0x05,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, s101
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xcb,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, s101
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xca,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, flat_scratch_lo
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xcd,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, flat_scratch_lo
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xcc,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, flat_scratch_hi
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xcf,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, flat_scratch_hi
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xce,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, vcc_lo
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xd5,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, vcc_lo
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xd4,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, vcc_hi
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xd7,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, vcc_hi
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xd6,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, tba_lo
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xd9,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, tba_lo
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xd8,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, tba_hi
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xdb,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, tba_hi
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xda,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, tma_lo
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xdd,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, tma_lo
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xdc,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, tma_hi
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xdf,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, tma_hi
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xde,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, ttmp11
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xf7,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, ttmp11
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xf6,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, m0
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xf9,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, m0
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xf8,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, exec_lo
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xfd,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, exec_lo
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xfc,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, exec_hi
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x00,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, exec_hi
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xfe,0x00,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, 0
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x01,0x01,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, 0
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0x00,0x01,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, -1
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x83,0x01,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, -1
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0x82,0x01,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, 0.5
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xe1,0x01,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, 0.5
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xe0,0x01,0x00]
+v_subrev_u32_e64 v5, s[12:13], v1, -4.0
+// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xef,0x01,0x00]
-v_subrev_u32_e64 v5, s[12:13], 0, -4.0
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xee,0x01,0x00]
+v_addc_u32 v5, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x38]
-v_subrev_u32_e64 v5, s[12:13], 0, v2
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0x04,0x02,0x00]
+v_addc_u32 v255, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0xfe,0x39]
-v_subrev_u32_e64 v5, s[12:13], 0, v255
-// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0xfe,0x03,0x00]
+v_addc_u32 v5, vcc, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x38]
v_addc_u32 v5, vcc, 0, v2, vcc
// CHECK: [0x80,0x04,0x0a,0x38]
-v_addc_u32 v255, vcc, 0, v2, vcc
-// CHECK: [0x80,0x04,0xfe,0x39]
-
v_addc_u32 v5, vcc, -1, v2, vcc
// CHECK: [0xc1,0x04,0x0a,0x38]
@@ -38028,99 +39090,99 @@ v_addc_u32 v5, vcc, 0.5, v2, vcc
v_addc_u32 v5, vcc, -4.0, v2, vcc
// CHECK: [0xf7,0x04,0x0a,0x38]
-v_addc_u32 v5, vcc, v1, v2, vcc
-// CHECK: [0x01,0x05,0x0a,0x38]
+v_addc_u32 v5, vcc, v1, v255, vcc
+// CHECK: [0x01,0xff,0x0b,0x38]
-v_addc_u32 v5, vcc, v255, v2, vcc
-// CHECK: [0xff,0x05,0x0a,0x38]
+v_addc_u32_e64 v5, s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00]
-v_addc_u32 v5, vcc, 0, v255, vcc
-// CHECK: [0x80,0xfe,0x0b,0x38]
+v_addc_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: [0xff,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[14:15], v1, v2, s[6:7]
+// CHECK: [0x05,0x0e,0x1c,0xd1,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v255, s[12:13], 0, 0, s[6:7]
-// CHECK: [0xff,0x0c,0x1c,0xd1,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[100:101], v1, v2, s[6:7]
+// CHECK: [0x05,0x64,0x1c,0xd1,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, s[14:15], 0, 0, s[6:7]
-// CHECK: [0x05,0x0e,0x1c,0xd1,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, flat_scratch, v1, v2, s[6:7]
+// CHECK: [0x05,0x66,0x1c,0xd1,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, s[100:101], 0, 0, s[6:7]
-// CHECK: [0x05,0x64,0x1c,0xd1,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, vcc, v1, v2, s[6:7]
+// CHECK: [0x05,0x6a,0x1c,0xd1,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, flat_scratch, 0, 0, s[6:7]
-// CHECK: [0x05,0x66,0x1c,0xd1,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, tba, v1, v2, s[6:7]
+// CHECK: [0x05,0x6c,0x1c,0xd1,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, vcc, 0, 0, s[6:7]
-// CHECK: [0x05,0x6a,0x1c,0xd1,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, tma, v1, v2, s[6:7]
+// CHECK: [0x05,0x6e,0x1c,0xd1,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, tba, 0, 0, s[6:7]
-// CHECK: [0x05,0x6c,0x1c,0xd1,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, ttmp[10:11], v1, v2, s[6:7]
+// CHECK: [0x05,0x7a,0x1c,0xd1,0x01,0x05,0x1a,0x00]
-v_addc_u32_e64 v5, tma, 0, 0, s[6:7]
-// CHECK: [0x05,0x6e,0x1c,0xd1,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v255, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0xff,0x05,0x1a,0x00]
+
+v_addc_u32_e64 v5, s[12:13], 0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00]
-v_addc_u32_e64 v5, ttmp[10:11], 0, 0, s[6:7]
-// CHECK: [0x05,0x7a,0x1c,0xd1,0x80,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], -1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0xc1,0x04,0x1a,0x00]
-v_addc_u32_e64 v5, s[12:13], -1, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0xc1,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], 0.5, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0xf0,0x04,0x1a,0x00]
-v_addc_u32_e64 v5, s[12:13], 0.5, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0xf0,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], -4.0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0xf7,0x04,0x1a,0x00]
-v_addc_u32_e64 v5, s[12:13], -4.0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0xf7,0x00,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v255, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0xff,0x1b,0x00]
v_addc_u32_e64 v5, s[12:13], v1, 0, s[6:7]
// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x01,0x19,0x00]
-v_addc_u32_e64 v5, s[12:13], v255, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0xff,0x01,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, -1, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x83,0x19,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, -1, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x82,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, 0.5, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0xe1,0x19,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, 0.5, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0xe0,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, -4.0, s[6:7]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0xef,0x19,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, -4.0, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0xee,0x19,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x22,0x00]
-v_addc_u32_e64 v5, s[12:13], 0, v2, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v2, s[100:101]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x92,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, v255, s[6:7]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0xfe,0x1b,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x9a,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, s[8:9]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0x21,0x00]
+v_addc_u32_e64 v5, s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xaa,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, s[100:101]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0x91,0x01]
+v_addc_u32_e64 v5, s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xb2,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, flat_scratch
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0x99,0x01]
+v_addc_u32_e64 v5, s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xba,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, vcc
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0xa9,0x01]
+v_addc_u32_e64 v5, s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xea,0x01]
-v_addc_u32_e64 v5, s[12:13], 0, 0, tba
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0xb1,0x01]
+v_subb_u32 v5, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x3a]
-v_addc_u32_e64 v5, s[12:13], 0, 0, tma
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0xb9,0x01]
+v_subb_u32 v255, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0xfe,0x3b]
-v_addc_u32_e64 v5, s[12:13], 0, 0, ttmp[10:11]
-// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0xe9,0x01]
+v_subb_u32 v5, vcc, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x3a]
v_subb_u32 v5, vcc, 0, v2, vcc
// CHECK: [0x80,0x04,0x0a,0x3a]
-v_subb_u32 v255, vcc, 0, v2, vcc
-// CHECK: [0x80,0x04,0xfe,0x3b]
-
v_subb_u32 v5, vcc, -1, v2, vcc
// CHECK: [0xc1,0x04,0x0a,0x3a]
@@ -38130,99 +39192,99 @@ v_subb_u32 v5, vcc, 0.5, v2, vcc
v_subb_u32 v5, vcc, -4.0, v2, vcc
// CHECK: [0xf7,0x04,0x0a,0x3a]
-v_subb_u32 v5, vcc, v1, v2, vcc
-// CHECK: [0x01,0x05,0x0a,0x3a]
+v_subb_u32 v5, vcc, v1, v255, vcc
+// CHECK: [0x01,0xff,0x0b,0x3a]
-v_subb_u32 v5, vcc, v255, v2, vcc
-// CHECK: [0xff,0x05,0x0a,0x3a]
+v_subb_u32_e64 v5, s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00]
-v_subb_u32 v5, vcc, 0, v255, vcc
-// CHECK: [0x80,0xfe,0x0b,0x3a]
+v_subb_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: [0xff,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[14:15], v1, v2, s[6:7]
+// CHECK: [0x05,0x0e,0x1d,0xd1,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v255, s[12:13], 0, 0, s[6:7]
-// CHECK: [0xff,0x0c,0x1d,0xd1,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[100:101], v1, v2, s[6:7]
+// CHECK: [0x05,0x64,0x1d,0xd1,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, s[14:15], 0, 0, s[6:7]
-// CHECK: [0x05,0x0e,0x1d,0xd1,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, flat_scratch, v1, v2, s[6:7]
+// CHECK: [0x05,0x66,0x1d,0xd1,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, s[100:101], 0, 0, s[6:7]
-// CHECK: [0x05,0x64,0x1d,0xd1,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, vcc, v1, v2, s[6:7]
+// CHECK: [0x05,0x6a,0x1d,0xd1,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, flat_scratch, 0, 0, s[6:7]
-// CHECK: [0x05,0x66,0x1d,0xd1,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, tba, v1, v2, s[6:7]
+// CHECK: [0x05,0x6c,0x1d,0xd1,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, vcc, 0, 0, s[6:7]
-// CHECK: [0x05,0x6a,0x1d,0xd1,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, tma, v1, v2, s[6:7]
+// CHECK: [0x05,0x6e,0x1d,0xd1,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, tba, 0, 0, s[6:7]
-// CHECK: [0x05,0x6c,0x1d,0xd1,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, ttmp[10:11], v1, v2, s[6:7]
+// CHECK: [0x05,0x7a,0x1d,0xd1,0x01,0x05,0x1a,0x00]
-v_subb_u32_e64 v5, tma, 0, 0, s[6:7]
-// CHECK: [0x05,0x6e,0x1d,0xd1,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v255, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0xff,0x05,0x1a,0x00]
+
+v_subb_u32_e64 v5, s[12:13], 0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00]
-v_subb_u32_e64 v5, ttmp[10:11], 0, 0, s[6:7]
-// CHECK: [0x05,0x7a,0x1d,0xd1,0x80,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], -1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0xc1,0x04,0x1a,0x00]
-v_subb_u32_e64 v5, s[12:13], -1, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0xc1,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], 0.5, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0xf0,0x04,0x1a,0x00]
-v_subb_u32_e64 v5, s[12:13], 0.5, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0xf0,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], -4.0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0xf7,0x04,0x1a,0x00]
-v_subb_u32_e64 v5, s[12:13], -4.0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0xf7,0x00,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, v255, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0xff,0x1b,0x00]
v_subb_u32_e64 v5, s[12:13], v1, 0, s[6:7]
// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x01,0x19,0x00]
-v_subb_u32_e64 v5, s[12:13], v255, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0xff,0x01,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, -1, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x83,0x19,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, -1, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x82,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, 0.5, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0xe1,0x19,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, 0.5, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0xe0,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, -4.0, s[6:7]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0xef,0x19,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, -4.0, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0xee,0x19,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x22,0x00]
-v_subb_u32_e64 v5, s[12:13], 0, v2, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, v2, s[100:101]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x92,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, v255, s[6:7]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0xfe,0x1b,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x9a,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, s[8:9]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0x21,0x00]
+v_subb_u32_e64 v5, s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xaa,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, s[100:101]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0x91,0x01]
+v_subb_u32_e64 v5, s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xb2,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, flat_scratch
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0x99,0x01]
+v_subb_u32_e64 v5, s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xba,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, vcc
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0xa9,0x01]
+v_subb_u32_e64 v5, s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xea,0x01]
-v_subb_u32_e64 v5, s[12:13], 0, 0, tba
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0xb1,0x01]
+v_subbrev_u32 v5, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x3c]
-v_subb_u32_e64 v5, s[12:13], 0, 0, tma
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0xb9,0x01]
+v_subbrev_u32 v255, vcc, v1, v2, vcc
+// CHECK: [0x01,0x05,0xfe,0x3d]
-v_subb_u32_e64 v5, s[12:13], 0, 0, ttmp[10:11]
-// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0xe9,0x01]
+v_subbrev_u32 v5, vcc, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x3c]
v_subbrev_u32 v5, vcc, 0, v2, vcc
// CHECK: [0x80,0x04,0x0a,0x3c]
-v_subbrev_u32 v255, vcc, 0, v2, vcc
-// CHECK: [0x80,0x04,0xfe,0x3d]
-
v_subbrev_u32 v5, vcc, -1, v2, vcc
// CHECK: [0xc1,0x04,0x0a,0x3c]
@@ -38232,99 +39294,99 @@ v_subbrev_u32 v5, vcc, 0.5, v2, vcc
v_subbrev_u32 v5, vcc, -4.0, v2, vcc
// CHECK: [0xf7,0x04,0x0a,0x3c]
-v_subbrev_u32 v5, vcc, v1, v2, vcc
-// CHECK: [0x01,0x05,0x0a,0x3c]
+v_subbrev_u32 v5, vcc, v1, v255, vcc
+// CHECK: [0x01,0xff,0x0b,0x3c]
-v_subbrev_u32 v5, vcc, v255, v2, vcc
-// CHECK: [0xff,0x05,0x0a,0x3c]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+
+v_subbrev_u32_e64 v255, s[12:13], v1, v2, s[6:7]
+// CHECK: [0xff,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00]
-v_subbrev_u32 v5, vcc, 0, v255, vcc
-// CHECK: [0x80,0xfe,0x0b,0x3c]
+v_subbrev_u32_e64 v5, s[14:15], v1, v2, s[6:7]
+// CHECK: [0x05,0x0e,0x1e,0xd1,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[100:101], v1, v2, s[6:7]
+// CHECK: [0x05,0x64,0x1e,0xd1,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v255, s[12:13], 0, 0, s[6:7]
-// CHECK: [0xff,0x0c,0x1e,0xd1,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, flat_scratch, v1, v2, s[6:7]
+// CHECK: [0x05,0x66,0x1e,0xd1,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[14:15], 0, 0, s[6:7]
-// CHECK: [0x05,0x0e,0x1e,0xd1,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, vcc, v1, v2, s[6:7]
+// CHECK: [0x05,0x6a,0x1e,0xd1,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[100:101], 0, 0, s[6:7]
-// CHECK: [0x05,0x64,0x1e,0xd1,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, tba, v1, v2, s[6:7]
+// CHECK: [0x05,0x6c,0x1e,0xd1,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, flat_scratch, 0, 0, s[6:7]
-// CHECK: [0x05,0x66,0x1e,0xd1,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, tma, v1, v2, s[6:7]
+// CHECK: [0x05,0x6e,0x1e,0xd1,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, vcc, 0, 0, s[6:7]
-// CHECK: [0x05,0x6a,0x1e,0xd1,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, ttmp[10:11], v1, v2, s[6:7]
+// CHECK: [0x05,0x7a,0x1e,0xd1,0x01,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, tba, 0, 0, s[6:7]
-// CHECK: [0x05,0x6c,0x1e,0xd1,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v255, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0xff,0x05,0x1a,0x00]
-v_subbrev_u32_e64 v5, tma, 0, 0, s[6:7]
-// CHECK: [0x05,0x6e,0x1e,0xd1,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], 0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00]
-v_subbrev_u32_e64 v5, ttmp[10:11], 0, 0, s[6:7]
-// CHECK: [0x05,0x7a,0x1e,0xd1,0x80,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], -1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0xc1,0x04,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[12:13], -1, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0xc1,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], 0.5, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0xf0,0x04,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0.5, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0xf0,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], -4.0, v2, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0xf7,0x04,0x1a,0x00]
-v_subbrev_u32_e64 v5, s[12:13], -4.0, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0xf7,0x00,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, v255, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0xff,0x1b,0x00]
v_subbrev_u32_e64 v5, s[12:13], v1, 0, s[6:7]
// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x01,0x19,0x00]
-v_subbrev_u32_e64 v5, s[12:13], v255, 0, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0xff,0x01,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, -1, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x83,0x19,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, -1, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x82,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, 0.5, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0xe1,0x19,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0.5, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0xe0,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, -4.0, s[6:7]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0xef,0x19,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, -4.0, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0xee,0x19,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x22,0x00]
-v_subbrev_u32_e64 v5, s[12:13], 0, v2, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[100:101]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x92,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, v255, s[6:7]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0xfe,0x1b,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x9a,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, s[8:9]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0x21,0x00]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xaa,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, s[100:101]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0x91,0x01]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xb2,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, flat_scratch
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0x99,0x01]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xba,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, vcc
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0xa9,0x01]
+v_subbrev_u32_e64 v5, s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xea,0x01]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, tba
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0xb1,0x01]
+v_add_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x3e]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, tma
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0xb9,0x01]
+v_add_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x3f]
-v_subbrev_u32_e64 v5, s[12:13], 0, 0, ttmp[10:11]
-// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0xe9,0x01]
+v_add_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x3e]
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]
@@ -38382,120 +39444,162 @@ v_add_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x3e]
-v_add_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x3e]
+v_add_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xff,0x05,0x02,0x00]
+
+v_add_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x65,0x04,0x02,0x00]
-v_add_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x3e]
+v_add_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x66,0x04,0x02,0x00]
-v_add_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_add_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x67,0x04,0x02,0x00]
-v_add_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_add_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x6a,0x04,0x02,0x00]
-v_add_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0xc1,0x04,0x00,0x00]
+v_add_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x6b,0x04,0x02,0x00]
-v_add_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0xf0,0x04,0x00,0x00]
+v_add_f16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x6c,0x04,0x02,0x00]
-v_add_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0xf7,0x04,0x00,0x00]
+v_add_f16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x6d,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x6e,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x6f,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x7b,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x7c,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x7e,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x7f,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xc1,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xf0,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xf7,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xcb,0x00,0x00]
-v_add_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xca,0x00,0x00]
+v_add_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xd5,0x00,0x00]
-v_add_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xd4,0x00,0x00]
+v_add_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xd7,0x00,0x00]
-v_add_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xd6,0x00,0x00]
+v_add_f16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xd9,0x00,0x00]
-v_add_f16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xd8,0x00,0x00]
+v_add_f16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xdb,0x00,0x00]
-v_add_f16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xda,0x00,0x00]
+v_add_f16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xdd,0x00,0x00]
-v_add_f16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xdc,0x00,0x00]
+v_add_f16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xdf,0x00,0x00]
-v_add_f16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xde,0x00,0x00]
+v_add_f16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xf7,0x00,0x00]
-v_add_f16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xf6,0x00,0x00]
+v_add_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xf9,0x00,0x00]
-v_add_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xf8,0x00,0x00]
+v_add_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xfd,0x00,0x00]
-v_add_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xfc,0x00,0x00]
+v_add_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xff,0x00,0x00]
-v_add_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xfe,0x00,0x00]
+v_add_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x01,0x01,0x00]
-v_add_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x00,0x01,0x00]
+v_add_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x83,0x01,0x00]
-v_add_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x82,0x01,0x00]
+v_add_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xe1,0x01,0x00]
-v_add_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xe0,0x01,0x00]
+v_add_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xef,0x01,0x00]
-v_add_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xee,0x01,0x00]
+v_add_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x20]
-v_add_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x02,0x00]
+v_add_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x40]
-v_add_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xfe,0x03,0x00]
+v_add_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x60]
-v_add_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x20]
+v_add_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x1f,0xd1,0x01,0x05,0x02,0x00]
-v_add_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x40]
+v_add_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x1f,0xd1,0x01,0x05,0x02,0x00]
-v_add_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x60]
+v_add_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x1f,0xd1,0x01,0x05,0x02,0x00]
-v_add_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_add_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x1f,0xd1,0x01,0x05,0x02,0x00]
-v_add_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x40]
-v_add_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x41]
-v_add_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x40]
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]
@@ -38553,120 +39657,162 @@ v_sub_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x40]
-v_sub_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x40]
+v_sub_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0xff,0x05,0x02,0x00]
+
+v_sub_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x65,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x66,0x04,0x02,0x00]
-v_sub_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x40]
+v_sub_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x67,0x04,0x02,0x00]
-v_sub_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x6a,0x04,0x02,0x00]
-v_sub_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x6b,0x04,0x02,0x00]
-v_sub_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x20,0xd1,0xc1,0x04,0x00,0x00]
+v_sub_f16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x6c,0x04,0x02,0x00]
-v_sub_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x20,0xd1,0xf0,0x04,0x00,0x00]
+v_sub_f16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x6d,0x04,0x02,0x00]
-v_sub_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x20,0xd1,0xf7,0x04,0x00,0x00]
+v_sub_f16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x6e,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x6f,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x7b,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x7c,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x7e,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x7f,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0xc1,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0xf0,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0xf7,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xcb,0x00,0x00]
-v_sub_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xca,0x00,0x00]
+v_sub_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xd5,0x00,0x00]
-v_sub_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xd4,0x00,0x00]
+v_sub_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xd7,0x00,0x00]
-v_sub_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xd6,0x00,0x00]
+v_sub_f16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xd9,0x00,0x00]
-v_sub_f16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xd8,0x00,0x00]
+v_sub_f16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xdb,0x00,0x00]
-v_sub_f16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xda,0x00,0x00]
+v_sub_f16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xdd,0x00,0x00]
-v_sub_f16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xdc,0x00,0x00]
+v_sub_f16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xdf,0x00,0x00]
-v_sub_f16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xde,0x00,0x00]
+v_sub_f16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xf7,0x00,0x00]
-v_sub_f16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xf6,0x00,0x00]
+v_sub_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xf9,0x00,0x00]
-v_sub_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xf8,0x00,0x00]
+v_sub_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xfd,0x00,0x00]
-v_sub_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xfc,0x00,0x00]
+v_sub_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xff,0x00,0x00]
-v_sub_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xfe,0x00,0x00]
+v_sub_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x01,0x01,0x00]
-v_sub_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x00,0x01,0x00]
+v_sub_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x83,0x01,0x00]
-v_sub_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x82,0x01,0x00]
+v_sub_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xe1,0x01,0x00]
-v_sub_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xe0,0x01,0x00]
+v_sub_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xef,0x01,0x00]
-v_sub_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xee,0x01,0x00]
+v_sub_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x20]
-v_sub_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x02,0x00]
+v_sub_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x40]
-v_sub_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xfe,0x03,0x00]
+v_sub_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x60]
-v_sub_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x20]
+v_sub_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x40]
+v_sub_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x60]
+v_sub_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x42]
-v_sub_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x43]
-v_sub_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x42]
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]
@@ -38724,120 +39870,162 @@ v_subrev_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x42]
-v_subrev_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x42]
+v_subrev_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x21,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0xff,0x05,0x02,0x00]
+
+v_subrev_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x65,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x66,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x67,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x6a,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x6b,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x6c,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x6d,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x6e,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x6f,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x7b,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x7c,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x7e,0x04,0x02,0x00]
-v_subrev_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x42]
+v_subrev_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x7f,0x04,0x02,0x00]
-v_subrev_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x02,0x00]
-v_subrev_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0xc1,0x04,0x02,0x00]
-v_subrev_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x21,0xd1,0xc1,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0xf7,0x04,0x02,0x00]
-v_subrev_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x21,0xd1,0xf7,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xcb,0x00,0x00]
-v_subrev_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xca,0x00,0x00]
+v_subrev_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xd5,0x00,0x00]
-v_subrev_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xd4,0x00,0x00]
+v_subrev_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xd7,0x00,0x00]
-v_subrev_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xd6,0x00,0x00]
+v_subrev_f16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xd9,0x00,0x00]
-v_subrev_f16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xd8,0x00,0x00]
+v_subrev_f16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xdb,0x00,0x00]
-v_subrev_f16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xda,0x00,0x00]
+v_subrev_f16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xdd,0x00,0x00]
-v_subrev_f16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xdc,0x00,0x00]
+v_subrev_f16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xdf,0x00,0x00]
-v_subrev_f16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xde,0x00,0x00]
+v_subrev_f16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xf7,0x00,0x00]
-v_subrev_f16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xf6,0x00,0x00]
+v_subrev_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xf9,0x00,0x00]
-v_subrev_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xf8,0x00,0x00]
+v_subrev_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xfd,0x00,0x00]
-v_subrev_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xfc,0x00,0x00]
+v_subrev_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xff,0x00,0x00]
-v_subrev_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xfe,0x00,0x00]
+v_subrev_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x01,0x01,0x00]
-v_subrev_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x00,0x01,0x00]
+v_subrev_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x83,0x01,0x00]
-v_subrev_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x82,0x01,0x00]
+v_subrev_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xe1,0x01,0x00]
-v_subrev_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xe0,0x01,0x00]
+v_subrev_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xef,0x01,0x00]
-v_subrev_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xee,0x01,0x00]
+v_subrev_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x20]
-v_subrev_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x02,0x00]
+v_subrev_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x40]
-v_subrev_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xfe,0x03,0x00]
+v_subrev_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x60]
-v_subrev_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x20]
+v_subrev_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x21,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x40]
+v_subrev_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x21,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x60]
+v_subrev_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x21,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x21,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x44]
-v_subrev_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x45]
-v_subrev_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x44]
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]
@@ -38895,120 +40083,162 @@ v_mul_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x44]
-v_mul_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x44]
+v_mul_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x65,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x66,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x67,0x04,0x02,0x00]
-v_mul_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x44]
+v_mul_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x6a,0x04,0x02,0x00]
-v_mul_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x6b,0x04,0x02,0x00]
-v_mul_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x6c,0x04,0x02,0x00]
-v_mul_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x22,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_f16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x6d,0x04,0x02,0x00]
-v_mul_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x22,0xd1,0xf0,0x04,0x00,0x00]
+v_mul_f16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x6e,0x04,0x02,0x00]
-v_mul_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x22,0xd1,0xf7,0x04,0x00,0x00]
+v_mul_f16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x6f,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x7b,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xcb,0x00,0x00]
-v_mul_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xca,0x00,0x00]
+v_mul_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xd5,0x00,0x00]
-v_mul_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xd4,0x00,0x00]
+v_mul_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xd7,0x00,0x00]
-v_mul_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xd6,0x00,0x00]
+v_mul_f16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xd9,0x00,0x00]
-v_mul_f16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xd8,0x00,0x00]
+v_mul_f16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xdb,0x00,0x00]
-v_mul_f16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xda,0x00,0x00]
+v_mul_f16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xdd,0x00,0x00]
-v_mul_f16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xdc,0x00,0x00]
+v_mul_f16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xdf,0x00,0x00]
-v_mul_f16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xde,0x00,0x00]
+v_mul_f16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xf7,0x00,0x00]
-v_mul_f16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xf6,0x00,0x00]
+v_mul_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xf9,0x00,0x00]
-v_mul_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xf8,0x00,0x00]
+v_mul_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xfd,0x00,0x00]
-v_mul_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xfc,0x00,0x00]
+v_mul_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xff,0x00,0x00]
-v_mul_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xfe,0x00,0x00]
+v_mul_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x01,0x01,0x00]
-v_mul_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x00,0x01,0x00]
+v_mul_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x83,0x01,0x00]
-v_mul_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x82,0x01,0x00]
+v_mul_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xe1,0x01,0x00]
-v_mul_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xe0,0x01,0x00]
+v_mul_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xef,0x01,0x00]
-v_mul_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xee,0x01,0x00]
+v_mul_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x20]
-v_mul_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x02,0x00]
+v_mul_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x40]
-v_mul_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x60]
-v_mul_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x20]
+v_mul_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x40]
+v_mul_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x60]
+v_mul_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x46]
-v_mul_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x47]
-v_mul_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x46]
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]
@@ -39066,120 +40296,162 @@ v_mac_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x46]
-v_mac_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x46]
+v_mac_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x00]
+
+v_mac_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x23,0xd1,0x01,0x05,0x02,0x00]
+
+v_mac_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0xff,0x05,0x02,0x00]
+
+v_mac_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x65,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x66,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x67,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x6b,0x04,0x02,0x00]
-v_mac_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x46]
+v_mac_f16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x6c,0x04,0x02,0x00]
-v_mac_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x6d,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x6e,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x6f,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x7b,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x02,0x00]
-v_mac_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0xc1,0x04,0x02,0x00]
-v_mac_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x23,0xd1,0xc1,0x04,0x00,0x00]
+v_mac_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0xf7,0x04,0x02,0x00]
-v_mac_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x23,0xd1,0xf7,0x04,0x00,0x00]
+v_mac_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xcb,0x00,0x00]
-v_mac_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xca,0x00,0x00]
+v_mac_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xd5,0x00,0x00]
-v_mac_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xd4,0x00,0x00]
+v_mac_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xd7,0x00,0x00]
-v_mac_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xd6,0x00,0x00]
+v_mac_f16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xd9,0x00,0x00]
-v_mac_f16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xd8,0x00,0x00]
+v_mac_f16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xdb,0x00,0x00]
-v_mac_f16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xda,0x00,0x00]
+v_mac_f16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xdd,0x00,0x00]
-v_mac_f16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xdc,0x00,0x00]
+v_mac_f16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xdf,0x00,0x00]
-v_mac_f16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xde,0x00,0x00]
+v_mac_f16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xf7,0x00,0x00]
-v_mac_f16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xf6,0x00,0x00]
+v_mac_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xf9,0x00,0x00]
-v_mac_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xf8,0x00,0x00]
+v_mac_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xfd,0x00,0x00]
-v_mac_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xfc,0x00,0x00]
+v_mac_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xff,0x00,0x00]
-v_mac_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xfe,0x00,0x00]
+v_mac_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x01,0x01,0x00]
-v_mac_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x00,0x01,0x00]
+v_mac_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x83,0x01,0x00]
-v_mac_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x82,0x01,0x00]
+v_mac_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xe1,0x01,0x00]
-v_mac_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xe0,0x01,0x00]
+v_mac_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xef,0x01,0x00]
-v_mac_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xee,0x01,0x00]
+v_mac_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x20]
-v_mac_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x02,0x00]
+v_mac_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x40]
-v_mac_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xfe,0x03,0x00]
+v_mac_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x60]
-v_mac_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x20]
+v_mac_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x40]
+v_mac_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x60]
+v_mac_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_madmk_f16 v5, v1, 0x1121, v3
+// CHECK: [0x01,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
-v_mac_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_madmk_f16 v255, v1, 0x1121, v3
+// CHECK: [0x01,0x07,0xfe,0x49,0x21,0x11,0x00,0x00]
-v_mac_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_madmk_f16 v5, v255, 0x1121, v3
+// CHECK: [0xff,0x07,0x0a,0x48,0x21,0x11,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]
@@ -39189,24 +40461,24 @@ v_madmk_f16 v5, 0.5, 0x1121, v3
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, v1, 0xa1b1, v3
+// CHECK: [0x01,0x07,0x0a,0x48,0xb1,0xa1,0x00,0x00]
-v_madmk_f16 v5, v255, 0x1121, v3
-// CHECK: [0xff,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
+v_madmk_f16 v5, v1, 0x1121, v255
+// CHECK: [0x01,0xff,0x0b,0x48,0x21,0x11,0x00,0x00]
-v_madmk_f16 v5, 0, 0xa1b1, v3
-// CHECK: [0x80,0x06,0x0a,0x48,0xb1,0xa1,0x00,0x00]
+v_madak_f16 v5, v1, v2, 0x1121
+// CHECK: [0x01,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00]
-v_madmk_f16 v5, 0, 0x1121, v255
-// CHECK: [0x80,0xfe,0x0b,0x48,0x21,0x11,0x00,0x00]
+v_madak_f16 v255, v1, v2, 0x1121
+// CHECK: [0x01,0x05,0xfe,0x4b,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, 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]
@@ -39216,24 +40488,24 @@ v_madak_f16 v5, 0.5, v2, 0x1121
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, v1, v255, 0x1121
+// CHECK: [0x01,0xff,0x0b,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, v1, v2, 0xa1b1
+// CHECK: [0x01,0x05,0x0a,0x4a,0xb1,0xa1,0x00,0x00]
-v_madak_f16 v5, 0, v255, 0x1121
-// CHECK: [0x80,0xfe,0x0b,0x4a,0x21,0x11,0x00,0x00]
+v_add_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x4c]
-v_madak_f16 v5, 0, v2, 0xa1b1
-// CHECK: [0x80,0x04,0x0a,0x4a,0xb1,0xa1,0x00,0x00]
+v_add_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x4d]
+
+v_add_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x4c]
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]
@@ -39291,99 +40563,141 @@ v_add_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x4c]
-v_add_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x4c]
+v_add_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0xff,0x05,0x02,0x00]
+
+v_add_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x65,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x66,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x67,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x6a,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x6b,0x04,0x02,0x00]
-v_add_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x4c]
+v_add_u16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x6c,0x04,0x02,0x00]
-v_add_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_add_u16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x6d,0x04,0x02,0x00]
-v_add_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_add_u16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x6e,0x04,0x02,0x00]
-v_add_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x26,0xd1,0xc1,0x04,0x00,0x00]
+v_add_u16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x6f,0x04,0x02,0x00]
-v_add_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x26,0xd1,0xf0,0x04,0x00,0x00]
+v_add_u16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x7b,0x04,0x02,0x00]
-v_add_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x26,0xd1,0xf7,0x04,0x00,0x00]
+v_add_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x7c,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x7e,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x7f,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0xc1,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0xf0,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0xf7,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xcb,0x00,0x00]
-v_add_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xca,0x00,0x00]
+v_add_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xd5,0x00,0x00]
-v_add_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xd4,0x00,0x00]
+v_add_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xd7,0x00,0x00]
-v_add_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xd6,0x00,0x00]
+v_add_u16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xd9,0x00,0x00]
-v_add_u16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xd8,0x00,0x00]
+v_add_u16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xdb,0x00,0x00]
-v_add_u16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xda,0x00,0x00]
+v_add_u16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xdd,0x00,0x00]
-v_add_u16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xdc,0x00,0x00]
+v_add_u16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xdf,0x00,0x00]
-v_add_u16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xde,0x00,0x00]
+v_add_u16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xf7,0x00,0x00]
-v_add_u16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xf6,0x00,0x00]
+v_add_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xf9,0x00,0x00]
-v_add_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xf8,0x00,0x00]
+v_add_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xfd,0x00,0x00]
-v_add_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xfc,0x00,0x00]
+v_add_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xff,0x00,0x00]
-v_add_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xfe,0x00,0x00]
+v_add_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0x01,0x01,0x00]
-v_add_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x00,0x01,0x00]
+v_add_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0x83,0x01,0x00]
-v_add_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x82,0x01,0x00]
+v_add_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xe1,0x01,0x00]
-v_add_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xe0,0x01,0x00]
+v_add_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xef,0x01,0x00]
-v_add_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xee,0x01,0x00]
+v_sub_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x4e]
-v_add_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x04,0x02,0x00]
+v_sub_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x4f]
-v_add_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xfe,0x03,0x00]
+v_sub_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x4e]
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]
@@ -39441,99 +40755,141 @@ v_sub_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x4e]
-v_sub_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x4e]
+v_sub_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0x05,0x02,0x00]
-v_sub_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x4e]
+v_sub_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x27,0xd1,0x01,0x05,0x02,0x00]
-v_sub_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0xff,0x05,0x02,0x00]
-v_sub_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x27,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0x04,0x02,0x00]
-v_sub_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x27,0xd1,0xc1,0x04,0x00,0x00]
+v_sub_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x65,0x04,0x02,0x00]
-v_sub_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x27,0xd1,0xf0,0x04,0x00,0x00]
+v_sub_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x66,0x04,0x02,0x00]
-v_sub_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x27,0xd1,0xf7,0x04,0x00,0x00]
+v_sub_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x67,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x6a,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x6b,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x6c,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x6d,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x6e,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x6f,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x7b,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x7c,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x7e,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x7f,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0xc1,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0xf0,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0xf7,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xcb,0x00,0x00]
-v_sub_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xca,0x00,0x00]
+v_sub_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xd5,0x00,0x00]
-v_sub_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xd4,0x00,0x00]
+v_sub_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xd7,0x00,0x00]
-v_sub_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xd6,0x00,0x00]
+v_sub_u16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xd9,0x00,0x00]
-v_sub_u16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xd8,0x00,0x00]
+v_sub_u16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xdb,0x00,0x00]
-v_sub_u16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xda,0x00,0x00]
+v_sub_u16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xdd,0x00,0x00]
-v_sub_u16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xdc,0x00,0x00]
+v_sub_u16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xdf,0x00,0x00]
-v_sub_u16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xde,0x00,0x00]
+v_sub_u16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xf7,0x00,0x00]
-v_sub_u16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xf6,0x00,0x00]
+v_sub_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xf9,0x00,0x00]
-v_sub_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xf8,0x00,0x00]
+v_sub_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xfd,0x00,0x00]
-v_sub_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xfc,0x00,0x00]
+v_sub_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xff,0x00,0x00]
-v_sub_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xfe,0x00,0x00]
+v_sub_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0x01,0x01,0x00]
-v_sub_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x00,0x01,0x00]
+v_sub_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0x83,0x01,0x00]
-v_sub_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x82,0x01,0x00]
+v_sub_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xe1,0x01,0x00]
-v_sub_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xe0,0x01,0x00]
+v_sub_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xef,0x01,0x00]
-v_sub_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xee,0x01,0x00]
+v_subrev_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x50]
-v_sub_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x04,0x02,0x00]
+v_subrev_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x51]
-v_sub_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xfe,0x03,0x00]
+v_subrev_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x50]
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]
@@ -39591,99 +40947,141 @@ v_subrev_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x50]
-v_subrev_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x50]
+v_subrev_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0xff,0x05,0x02,0x00]
+
+v_subrev_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x65,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x66,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x67,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x6a,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x6b,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x6c,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x6d,0x04,0x02,0x00]
-v_subrev_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x50]
+v_subrev_u16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x6e,0x04,0x02,0x00]
-v_subrev_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x6f,0x04,0x02,0x00]
-v_subrev_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x7b,0x04,0x02,0x00]
-v_subrev_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x28,0xd1,0xc1,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x7c,0x04,0x02,0x00]
-v_subrev_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x28,0xd1,0xf0,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x7e,0x04,0x02,0x00]
-v_subrev_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x28,0xd1,0xf7,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x7f,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0xc1,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0xf0,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0xf7,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xcb,0x00,0x00]
-v_subrev_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xca,0x00,0x00]
+v_subrev_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xd5,0x00,0x00]
-v_subrev_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xd4,0x00,0x00]
+v_subrev_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xd7,0x00,0x00]
-v_subrev_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xd6,0x00,0x00]
+v_subrev_u16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xd9,0x00,0x00]
-v_subrev_u16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xd8,0x00,0x00]
+v_subrev_u16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xdb,0x00,0x00]
-v_subrev_u16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xda,0x00,0x00]
+v_subrev_u16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xdd,0x00,0x00]
-v_subrev_u16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xdc,0x00,0x00]
+v_subrev_u16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xdf,0x00,0x00]
-v_subrev_u16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xde,0x00,0x00]
+v_subrev_u16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xf7,0x00,0x00]
-v_subrev_u16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xf6,0x00,0x00]
+v_subrev_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xf9,0x00,0x00]
-v_subrev_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xf8,0x00,0x00]
+v_subrev_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xfd,0x00,0x00]
-v_subrev_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xfc,0x00,0x00]
+v_subrev_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xff,0x00,0x00]
-v_subrev_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xfe,0x00,0x00]
+v_subrev_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0x01,0x01,0x00]
-v_subrev_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x00,0x01,0x00]
+v_subrev_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0x83,0x01,0x00]
-v_subrev_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x82,0x01,0x00]
+v_subrev_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xe1,0x01,0x00]
-v_subrev_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xe0,0x01,0x00]
+v_subrev_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xef,0x01,0x00]
-v_subrev_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xee,0x01,0x00]
+v_mul_lo_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x52]
-v_subrev_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x04,0x02,0x00]
+v_mul_lo_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x53]
-v_subrev_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_lo_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x52]
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]
@@ -39741,99 +41139,141 @@ v_mul_lo_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x52]
-v_mul_lo_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x52]
+v_mul_lo_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_lo_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x29,0xd1,0x01,0x05,0x02,0x00]
-v_mul_lo_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x52]
+v_mul_lo_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0xff,0x05,0x02,0x00]
-v_mul_lo_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x04,0x00,0x00]
+v_mul_lo_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0x04,0x02,0x00]
-v_mul_lo_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x29,0xd1,0x80,0x04,0x00,0x00]
+v_mul_lo_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x65,0x04,0x02,0x00]
-v_mul_lo_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x29,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_lo_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x67,0x04,0x02,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, vcc_lo, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x6c,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x6d,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x6e,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x6f,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x7b,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xd9,0x00,0x00]
-v_mul_lo_u16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xd8,0x00,0x00]
+v_mul_lo_u16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xdb,0x00,0x00]
-v_mul_lo_u16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xda,0x00,0x00]
+v_mul_lo_u16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xdd,0x00,0x00]
-v_mul_lo_u16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xdc,0x00,0x00]
+v_mul_lo_u16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xdf,0x00,0x00]
-v_mul_lo_u16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xde,0x00,0x00]
+v_mul_lo_u16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xf7,0x00,0x00]
-v_mul_lo_u16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xf6,0x00,0x00]
+v_mul_lo_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0x01,0x01,0x00]
-v_mul_lo_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x00,0x01,0x00]
+v_mul_lo_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xef,0x01,0x00]
-v_mul_lo_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xee,0x01,0x00]
+v_lshlrev_b16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x54]
-v_mul_lo_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x04,0x02,0x00]
+v_lshlrev_b16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x55]
-v_mul_lo_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xfe,0x03,0x00]
+v_lshlrev_b16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x54]
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]
@@ -39891,99 +41331,141 @@ v_lshlrev_b16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x54]
-v_lshlrev_b16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x54]
+v_lshlrev_b16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xff,0x05,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x65,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x66,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x67,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x6a,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x6b,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x6c,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x6d,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x6e,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x6f,0x04,0x02,0x00]
-v_lshlrev_b16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x54]
+v_lshlrev_b16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x7b,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x7c,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x7e,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2a,0xd1,0xc1,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x7f,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2a,0xd1,0xf0,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xc1,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xf0,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xf7,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2a,0xd1,0xf7,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xcb,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xca,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xd5,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xd4,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xd7,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xd6,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xd9,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xd8,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xdb,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xda,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xdd,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xdc,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xdf,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xde,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xf7,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xf6,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xf9,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xf8,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xfd,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xfc,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xff,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xfe,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0x01,0x01,0x00]
-v_lshlrev_b16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x00,0x01,0x00]
+v_lshlrev_b16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0x83,0x01,0x00]
-v_lshlrev_b16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x82,0x01,0x00]
+v_lshlrev_b16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xe1,0x01,0x00]
-v_lshlrev_b16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xe0,0x01,0x00]
+v_lshlrev_b16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xef,0x01,0x00]
-v_lshlrev_b16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xee,0x01,0x00]
+v_lshrrev_b16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x56]
-v_lshlrev_b16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x02,0x00]
+v_lshrrev_b16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x57]
-v_lshlrev_b16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xfe,0x03,0x00]
+v_lshrrev_b16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x56]
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]
@@ -40041,99 +41523,141 @@ v_lshrrev_b16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x56]
-v_lshrrev_b16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x56]
+v_lshrrev_b16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xff,0x05,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x65,0x04,0x02,0x00]
-v_lshrrev_b16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x56]
+v_lshrrev_b16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x66,0x04,0x02,0x00]
-v_lshrrev_b16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x67,0x04,0x02,0x00]
-v_lshrrev_b16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x6a,0x04,0x02,0x00]
-v_lshrrev_b16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2b,0xd1,0xc1,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x6b,0x04,0x02,0x00]
-v_lshrrev_b16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2b,0xd1,0xf0,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x6c,0x04,0x02,0x00]
-v_lshrrev_b16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2b,0xd1,0xf7,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x6d,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x6e,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x6f,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x7b,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x7c,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x7e,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x7f,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xc1,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xf0,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xf7,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xcb,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xca,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xd5,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xd4,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xd7,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xd6,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xd9,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xd8,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xdb,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xda,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xdd,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xdc,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xdf,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xde,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xf7,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xf6,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xf9,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xf8,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xfd,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xfc,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xff,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xfe,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0x01,0x01,0x00]
-v_lshrrev_b16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x00,0x01,0x00]
+v_lshrrev_b16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0x83,0x01,0x00]
-v_lshrrev_b16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x82,0x01,0x00]
+v_lshrrev_b16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xe1,0x01,0x00]
-v_lshrrev_b16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xe0,0x01,0x00]
+v_lshrrev_b16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xef,0x01,0x00]
-v_lshrrev_b16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xee,0x01,0x00]
+v_ashrrev_i16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x58]
-v_lshrrev_b16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x02,0x00]
+v_ashrrev_i16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x59]
-v_lshrrev_b16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xfe,0x03,0x00]
+v_ashrrev_i16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x58]
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]
@@ -40191,99 +41715,141 @@ v_ashrrev_i16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x58]
-v_ashrrev_i16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x58]
+v_ashrrev_i16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xff,0x05,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x65,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x66,0x04,0x02,0x00]
-v_ashrrev_i16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x58]
+v_ashrrev_i16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x67,0x04,0x02,0x00]
-v_ashrrev_i16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x6a,0x04,0x02,0x00]
-v_ashrrev_i16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x6b,0x04,0x02,0x00]
-v_ashrrev_i16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2c,0xd1,0xc1,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x6c,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x6d,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x6e,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x6f,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x7b,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x7c,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x7e,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x7f,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x02,0x00]
-v_ashrrev_i16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2c,0xd1,0xf0,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xc1,0x04,0x02,0x00]
-v_ashrrev_i16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2c,0xd1,0xf7,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xf0,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xf7,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xcb,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xca,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xd5,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xd4,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xd7,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xd6,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xd9,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xd8,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xdb,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xda,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xdd,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xdc,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xdf,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xde,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xf7,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xf6,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xf9,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xf8,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xfd,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xfc,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xff,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xfe,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0x01,0x01,0x00]
-v_ashrrev_i16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x00,0x01,0x00]
+v_ashrrev_i16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0x83,0x01,0x00]
-v_ashrrev_i16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x82,0x01,0x00]
+v_ashrrev_i16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xe1,0x01,0x00]
-v_ashrrev_i16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xe0,0x01,0x00]
+v_ashrrev_i16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xef,0x01,0x00]
-v_ashrrev_i16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xee,0x01,0x00]
+v_max_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5a]
-v_ashrrev_i16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x02,0x00]
+v_max_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x5b]
-v_ashrrev_i16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xfe,0x03,0x00]
+v_max_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5a]
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]
@@ -40341,120 +41907,162 @@ v_max_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x5a]
-v_max_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x5a]
+v_max_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xff,0x05,0x02,0x00]
+
+v_max_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x65,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x66,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x67,0x04,0x02,0x00]
-v_max_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x5a]
+v_max_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x6a,0x04,0x02,0x00]
-v_max_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_max_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x6b,0x04,0x02,0x00]
-v_max_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_max_f16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x6c,0x04,0x02,0x00]
-v_max_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0xc1,0x04,0x00,0x00]
+v_max_f16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x6d,0x04,0x02,0x00]
-v_max_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0xf0,0x04,0x00,0x00]
+v_max_f16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x6e,0x04,0x02,0x00]
-v_max_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0xf7,0x04,0x00,0x00]
+v_max_f16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x6f,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x7b,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x7c,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xcb,0x00,0x00]
-v_max_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xca,0x00,0x00]
+v_max_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xd5,0x00,0x00]
-v_max_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xd4,0x00,0x00]
+v_max_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xd7,0x00,0x00]
-v_max_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xd6,0x00,0x00]
+v_max_f16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xd9,0x00,0x00]
-v_max_f16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xd8,0x00,0x00]
+v_max_f16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xdb,0x00,0x00]
-v_max_f16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xda,0x00,0x00]
+v_max_f16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xdd,0x00,0x00]
-v_max_f16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xdc,0x00,0x00]
+v_max_f16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xdf,0x00,0x00]
-v_max_f16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xde,0x00,0x00]
+v_max_f16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xf7,0x00,0x00]
-v_max_f16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xf6,0x00,0x00]
+v_max_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xf9,0x00,0x00]
-v_max_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xf8,0x00,0x00]
+v_max_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xfd,0x00,0x00]
-v_max_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xfc,0x00,0x00]
+v_max_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xff,0x00,0x00]
-v_max_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xfe,0x00,0x00]
+v_max_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x01,0x01,0x00]
-v_max_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x00,0x01,0x00]
+v_max_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x83,0x01,0x00]
-v_max_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x82,0x01,0x00]
+v_max_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xe1,0x01,0x00]
-v_max_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xe0,0x01,0x00]
+v_max_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xef,0x01,0x00]
-v_max_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xee,0x01,0x00]
+v_max_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x20]
-v_max_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x02,0x00]
+v_max_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x40]
-v_max_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xfe,0x03,0x00]
+v_max_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x60]
-v_max_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x20]
+v_max_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x2d,0xd1,0x01,0x05,0x02,0x00]
-v_max_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x40]
+v_max_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x2d,0xd1,0x01,0x05,0x02,0x00]
-v_max_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x60]
+v_max_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x2d,0xd1,0x01,0x05,0x02,0x00]
-v_max_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_max_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x2d,0xd1,0x01,0x05,0x02,0x00]
-v_max_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5c]
-v_max_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x5d]
-v_max_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5c]
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]
@@ -40512,120 +42120,162 @@ v_min_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x5c]
-v_min_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x5c]
+v_min_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x65,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x66,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x67,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x6a,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x6b,0x04,0x02,0x00]
-v_min_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x5c]
+v_min_f16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x6c,0x04,0x02,0x00]
-v_min_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x6d,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x6e,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x6f,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x7b,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x7c,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x7e,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x7f,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x02,0x00]
-v_min_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xc1,0x04,0x02,0x00]
-v_min_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0xc1,0x04,0x00,0x00]
+v_min_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xf7,0x04,0x02,0x00]
-v_min_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0xf7,0x04,0x00,0x00]
+v_min_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xcb,0x00,0x00]
-v_min_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xca,0x00,0x00]
+v_min_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xd5,0x00,0x00]
-v_min_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xd4,0x00,0x00]
+v_min_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xd7,0x00,0x00]
-v_min_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xd6,0x00,0x00]
+v_min_f16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xd9,0x00,0x00]
-v_min_f16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xd8,0x00,0x00]
+v_min_f16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xdb,0x00,0x00]
-v_min_f16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xda,0x00,0x00]
+v_min_f16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xdd,0x00,0x00]
-v_min_f16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xdc,0x00,0x00]
+v_min_f16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xdf,0x00,0x00]
-v_min_f16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xde,0x00,0x00]
+v_min_f16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xf7,0x00,0x00]
-v_min_f16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xf6,0x00,0x00]
+v_min_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xf9,0x00,0x00]
-v_min_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xf8,0x00,0x00]
+v_min_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xfd,0x00,0x00]
-v_min_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xfc,0x00,0x00]
+v_min_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xff,0x00,0x00]
-v_min_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xfe,0x00,0x00]
+v_min_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x01,0x01,0x00]
-v_min_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x00,0x01,0x00]
+v_min_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x83,0x01,0x00]
-v_min_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x82,0x01,0x00]
+v_min_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xe1,0x01,0x00]
-v_min_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xe0,0x01,0x00]
+v_min_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xef,0x01,0x00]
-v_min_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xee,0x01,0x00]
+v_min_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x20]
-v_min_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x02,0x00]
+v_min_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x40]
-v_min_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xfe,0x03,0x00]
+v_min_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x60]
-v_min_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x20]
+v_min_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_min_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x40]
+v_min_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_min_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x60]
+v_min_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_min_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_min_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5e]
-v_min_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x5f]
-v_min_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5e]
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]
@@ -40683,99 +42333,141 @@ v_max_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x5e]
-v_max_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x5e]
+v_max_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xff,0x05,0x02,0x00]
+
+v_max_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x65,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x66,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x67,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x6a,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x6b,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x6c,0x04,0x02,0x00]
-v_max_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x5e]
+v_max_u16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x6d,0x04,0x02,0x00]
-v_max_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x6e,0x04,0x02,0x00]
-v_max_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x6f,0x04,0x02,0x00]
-v_max_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2f,0xd1,0xc1,0x04,0x00,0x00]
+v_max_u16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x7b,0x04,0x02,0x00]
-v_max_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2f,0xd1,0xf0,0x04,0x00,0x00]
+v_max_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x7c,0x04,0x02,0x00]
-v_max_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2f,0xd1,0xf7,0x04,0x00,0x00]
+v_max_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xcb,0x00,0x00]
-v_max_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xca,0x00,0x00]
+v_max_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xd5,0x00,0x00]
-v_max_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xd4,0x00,0x00]
+v_max_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xd7,0x00,0x00]
-v_max_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xd6,0x00,0x00]
+v_max_u16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xd9,0x00,0x00]
-v_max_u16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xd8,0x00,0x00]
+v_max_u16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xdb,0x00,0x00]
-v_max_u16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xda,0x00,0x00]
+v_max_u16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xdd,0x00,0x00]
-v_max_u16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xdc,0x00,0x00]
+v_max_u16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xdf,0x00,0x00]
-v_max_u16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xde,0x00,0x00]
+v_max_u16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xf7,0x00,0x00]
-v_max_u16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xf6,0x00,0x00]
+v_max_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xf9,0x00,0x00]
-v_max_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xf8,0x00,0x00]
+v_max_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xfd,0x00,0x00]
-v_max_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xfc,0x00,0x00]
+v_max_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xff,0x00,0x00]
-v_max_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xfe,0x00,0x00]
+v_max_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0x01,0x01,0x00]
-v_max_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x00,0x01,0x00]
+v_max_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0x83,0x01,0x00]
-v_max_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x82,0x01,0x00]
+v_max_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xe1,0x01,0x00]
-v_max_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xe0,0x01,0x00]
+v_max_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xef,0x01,0x00]
-v_max_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xee,0x01,0x00]
+v_max_i16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x60]
-v_max_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x02,0x00]
+v_max_i16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x61]
-v_max_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xfe,0x03,0x00]
+v_max_i16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x60]
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]
@@ -40833,99 +42525,141 @@ v_max_i16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x60]
-v_max_i16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x60]
+v_max_i16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
-v_max_i16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x60]
+v_max_i16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
-v_max_i16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x04,0x00,0x00]
+v_max_i16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0xff,0x05,0x02,0x00]
-v_max_i16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x30,0xd1,0x80,0x04,0x00,0x00]
+v_max_i16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0x04,0x02,0x00]
-v_max_i16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x30,0xd1,0xc1,0x04,0x00,0x00]
+v_max_i16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x65,0x04,0x02,0x00]
-v_max_i16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x30,0xd1,0xf0,0x04,0x00,0x00]
+v_max_i16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x66,0x04,0x02,0x00]
-v_max_i16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x30,0xd1,0xf7,0x04,0x00,0x00]
+v_max_i16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x67,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x6a,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x6b,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x6c,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x6d,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x6e,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x6f,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x7b,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x7c,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xcb,0x00,0x00]
-v_max_i16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xca,0x00,0x00]
+v_max_i16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xd5,0x00,0x00]
-v_max_i16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xd4,0x00,0x00]
+v_max_i16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xd7,0x00,0x00]
-v_max_i16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xd6,0x00,0x00]
+v_max_i16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xd9,0x00,0x00]
-v_max_i16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xd8,0x00,0x00]
+v_max_i16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xdb,0x00,0x00]
-v_max_i16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xda,0x00,0x00]
+v_max_i16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xdd,0x00,0x00]
-v_max_i16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xdc,0x00,0x00]
+v_max_i16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xdf,0x00,0x00]
-v_max_i16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xde,0x00,0x00]
+v_max_i16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xf7,0x00,0x00]
-v_max_i16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xf6,0x00,0x00]
+v_max_i16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xf9,0x00,0x00]
-v_max_i16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xf8,0x00,0x00]
+v_max_i16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xfd,0x00,0x00]
-v_max_i16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xfc,0x00,0x00]
+v_max_i16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xff,0x00,0x00]
-v_max_i16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xfe,0x00,0x00]
+v_max_i16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0x01,0x01,0x00]
-v_max_i16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x00,0x01,0x00]
+v_max_i16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0x83,0x01,0x00]
-v_max_i16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x82,0x01,0x00]
+v_max_i16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xe1,0x01,0x00]
-v_max_i16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xe0,0x01,0x00]
+v_max_i16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xef,0x01,0x00]
-v_max_i16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xee,0x01,0x00]
+v_min_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x62]
-v_max_i16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x04,0x02,0x00]
+v_min_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x63]
-v_max_i16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xfe,0x03,0x00]
+v_min_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x62]
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]
@@ -40983,99 +42717,141 @@ v_min_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x62]
-v_min_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x62]
+v_min_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x31,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0xff,0x05,0x02,0x00]
-v_min_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x62]
+v_min_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0x04,0x02,0x00]
-v_min_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x04,0x00,0x00]
+v_min_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x65,0x04,0x02,0x00]
-v_min_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x31,0xd1,0x80,0x04,0x00,0x00]
+v_min_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x66,0x04,0x02,0x00]
-v_min_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x31,0xd1,0xc1,0x04,0x00,0x00]
+v_min_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x67,0x04,0x02,0x00]
-v_min_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x31,0xd1,0xf0,0x04,0x00,0x00]
+v_min_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x6a,0x04,0x02,0x00]
-v_min_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x31,0xd1,0xf7,0x04,0x00,0x00]
+v_min_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x6b,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x6c,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x6d,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x6e,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x6f,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x7b,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x7c,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x7e,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x7f,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xcb,0x00,0x00]
-v_min_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xca,0x00,0x00]
+v_min_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xd5,0x00,0x00]
-v_min_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xd4,0x00,0x00]
+v_min_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xd7,0x00,0x00]
-v_min_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xd6,0x00,0x00]
+v_min_u16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xd9,0x00,0x00]
-v_min_u16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xd8,0x00,0x00]
+v_min_u16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xdb,0x00,0x00]
-v_min_u16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xda,0x00,0x00]
+v_min_u16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xdd,0x00,0x00]
-v_min_u16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xdc,0x00,0x00]
+v_min_u16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xdf,0x00,0x00]
-v_min_u16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xde,0x00,0x00]
+v_min_u16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xf7,0x00,0x00]
-v_min_u16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xf6,0x00,0x00]
+v_min_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xf9,0x00,0x00]
-v_min_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xf8,0x00,0x00]
+v_min_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xfd,0x00,0x00]
-v_min_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xfc,0x00,0x00]
+v_min_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xff,0x00,0x00]
-v_min_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xfe,0x00,0x00]
+v_min_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0x01,0x01,0x00]
-v_min_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x00,0x01,0x00]
+v_min_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0x83,0x01,0x00]
-v_min_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x82,0x01,0x00]
+v_min_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xe1,0x01,0x00]
-v_min_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xe0,0x01,0x00]
+v_min_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xef,0x01,0x00]
-v_min_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xee,0x01,0x00]
+v_min_i16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x64]
-v_min_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x04,0x02,0x00]
+v_min_i16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x65]
-v_min_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xfe,0x03,0x00]
+v_min_i16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x64]
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]
@@ -41133,99 +42909,141 @@ v_min_i16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x64]
-v_min_i16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x64]
+v_min_i16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_i16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x32,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_i16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_i16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0x04,0x02,0x00]
-v_min_i16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x64]
+v_min_i16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x65,0x04,0x02,0x00]
-v_min_i16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x04,0x00,0x00]
+v_min_i16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x66,0x04,0x02,0x00]
-v_min_i16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x32,0xd1,0x80,0x04,0x00,0x00]
+v_min_i16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x67,0x04,0x02,0x00]
-v_min_i16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x32,0xd1,0xc1,0x04,0x00,0x00]
+v_min_i16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x6a,0x04,0x02,0x00]
-v_min_i16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x32,0xd1,0xf0,0x04,0x00,0x00]
+v_min_i16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x6b,0x04,0x02,0x00]
-v_min_i16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x32,0xd1,0xf7,0x04,0x00,0x00]
+v_min_i16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x6c,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x6d,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x6e,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x6f,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x7b,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x7c,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x7e,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x7f,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xcb,0x00,0x00]
-v_min_i16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xca,0x00,0x00]
+v_min_i16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xd5,0x00,0x00]
-v_min_i16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xd4,0x00,0x00]
+v_min_i16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xd7,0x00,0x00]
-v_min_i16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xd6,0x00,0x00]
+v_min_i16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xd9,0x00,0x00]
-v_min_i16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xd8,0x00,0x00]
+v_min_i16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xdb,0x00,0x00]
-v_min_i16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xda,0x00,0x00]
+v_min_i16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xdd,0x00,0x00]
-v_min_i16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xdc,0x00,0x00]
+v_min_i16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xdf,0x00,0x00]
-v_min_i16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xde,0x00,0x00]
+v_min_i16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xf7,0x00,0x00]
-v_min_i16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xf6,0x00,0x00]
+v_min_i16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xf9,0x00,0x00]
-v_min_i16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xf8,0x00,0x00]
+v_min_i16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xfd,0x00,0x00]
-v_min_i16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xfc,0x00,0x00]
+v_min_i16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xff,0x00,0x00]
-v_min_i16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xfe,0x00,0x00]
+v_min_i16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0x01,0x01,0x00]
-v_min_i16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x00,0x01,0x00]
+v_min_i16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0x83,0x01,0x00]
-v_min_i16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x82,0x01,0x00]
+v_min_i16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xe1,0x01,0x00]
-v_min_i16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xe0,0x01,0x00]
+v_min_i16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xef,0x01,0x00]
-v_min_i16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xee,0x01,0x00]
+v_ldexp_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x66]
-v_min_i16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x04,0x02,0x00]
+v_ldexp_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x67]
-v_min_i16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xfe,0x03,0x00]
+v_ldexp_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x66]
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]
@@ -41283,5876 +43101,9986 @@ v_ldexp_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x66]
-v_ldexp_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x66]
+v_ldexp_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x00]
+
+v_ldexp_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x33,0xd1,0x01,0x05,0x02,0x00]
+
+v_ldexp_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0xff,0x05,0x02,0x00]
+
+v_ldexp_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x65,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x66,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x67,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x6a,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x6b,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x6c,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x6d,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x6e,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x6f,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x7b,0x04,0x02,0x00]
-v_ldexp_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x66]
+v_ldexp_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x7c,0x04,0x02,0x00]
-v_ldexp_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x7e,0x04,0x02,0x00]
-v_ldexp_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x33,0xd1,0x80,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x7f,0x04,0x02,0x00]
-v_ldexp_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x33,0xd1,0xc1,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0xc1,0x04,0x02,0x00]
-v_ldexp_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x33,0xd1,0xf0,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0xf0,0x04,0x02,0x00]
-v_ldexp_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x33,0xd1,0xf7,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0xf7,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xcb,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xca,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xd5,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xd4,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xd7,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xd6,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xd9,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xd8,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xdb,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xda,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xdd,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xdc,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xdf,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xde,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xf7,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xf6,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xf9,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xf8,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xfd,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xfc,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xff,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xfe,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x01,0x01,0x00]
-v_ldexp_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x00,0x01,0x00]
+v_ldexp_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x83,0x01,0x00]
-v_ldexp_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x82,0x01,0x00]
+v_ldexp_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xe1,0x01,0x00]
-v_ldexp_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xe0,0x01,0x00]
+v_ldexp_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xef,0x01,0x00]
-v_ldexp_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xee,0x01,0x00]
+v_ldexp_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x20]
-v_ldexp_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x02,0x00]
+v_ldexp_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x33,0xd1,0x01,0x05,0x02,0x00]
-v_ldexp_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xfe,0x03,0x00]
+v_ldexp_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x33,0xd1,0x01,0x05,0x02,0x00]
-v_ldexp_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x20]
+v_mad_legacy_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_ldexp_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x33,0xd1,0x80,0x04,0x00,0x00]
+v_mad_legacy_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_ldexp_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x33,0xd1,0x80,0x04,0x00,0x00]
+v_mad_legacy_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_legacy_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_legacy_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x65,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x66,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x67,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6a,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6b,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6c,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x6c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6d,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x6d,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6e,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x6e,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6f,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x6f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7b,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x7b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7c,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7e,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7f,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x80,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x80,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0xc1,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0xf0,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0xf7,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xff,0x0f,0x04]
-v_mad_legacy_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0c,0x04]
-v_mad_legacy_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0xff,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xcb,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x82,0x01,0x02]
+v_mad_legacy_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xcd,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_legacy_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xcf,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xee,0x01,0x02]
+v_mad_legacy_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xd5,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x04,0x02,0x02]
+v_mad_legacy_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xd7,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_legacy_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xd9,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x05,0x03]
+v_mad_legacy_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xdb,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_legacy_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xdd,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_legacy_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xdf,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_legacy_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xf7,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_legacy_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xf9,0x0c,0x04]
-v_mad_legacy_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x22]
+v_mad_legacy_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xfd,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x42]
+v_mad_legacy_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xff,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x82]
+v_mad_legacy_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x01,0x0d,0x04]
-v_mad_legacy_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0xe2]
+v_mad_legacy_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x83,0x0d,0x04]
-v_mad_legacy_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xe1,0x0d,0x04]
-v_mad_legacy_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xef,0x0d,0x04]
-v_mad_legacy_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x07]
-v_mad_legacy_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x00]
-v_mad_legacy_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x96,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x0a]
+v_mad_legacy_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x9a,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x12]
+v_mad_legacy_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x9e,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x1a]
+v_mad_legacy_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xaa,0x01]
-v_mad_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xae,0x01]
-v_mad_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xb2,0x01]
-v_mad_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x65,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xb6,0x01]
-v_mad_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x66,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xba,0x01]
-v_mad_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x67,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xbe,0x01]
-v_mad_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xee,0x01]
-v_mad_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xf2,0x01]
-v_mad_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x6c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfa,0x01]
-v_mad_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x6d,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x01]
-v_mad_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x6e,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x02,0x02]
-v_mad_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x6f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x06,0x03]
-v_mad_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x7b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xc2,0x03]
-v_mad_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xde,0x03]
-v_mad_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x24]
-v_mad_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x44]
-v_mad_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x80,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x84]
-v_mad_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0xe4]
-v_mad_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0xff,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x82,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x0c]
-v_mad_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xee,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x14]
-v_mad_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x04,0x02,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x1c]
-v_mad_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x05,0x03]
+v_mad_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x65,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x66,0x04,0x0e,0x04]
-v_mad_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x22]
+v_mad_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x67,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x42]
+v_mad_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6a,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x82]
+v_mad_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6b,0x04,0x0e,0x04]
-v_mad_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0xe2]
+v_mad_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6c,0x04,0x0e,0x04]
-v_mad_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6d,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6e,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6f,0x04,0x0e,0x04]
-v_mad_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7b,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7c,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x0a]
+v_mad_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7e,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x12]
+v_mad_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7f,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x1a]
+v_mad_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x80,0x04,0x0e,0x04]
-v_mad_i32_i24 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0xc1,0x04,0x0e,0x04]
-v_mad_i32_i24 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0xf0,0x04,0x0e,0x04]
-v_mad_i32_i24 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x65,0x00,0x01,0x02]
+v_mad_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0xf7,0x04,0x0e,0x04]
-v_mad_i32_i24 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x66,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xff,0x0f,0x04]
-v_mad_i32_i24 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x67,0x00,0x01,0x02]
+v_mad_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0c,0x04]
-v_mad_i32_i24 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xcb,0x0c,0x04]
-v_mad_i32_i24 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xcd,0x0c,0x04]
-v_mad_i32_i24 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x6c,0x00,0x01,0x02]
+v_mad_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xcf,0x0c,0x04]
-v_mad_i32_i24 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x6d,0x00,0x01,0x02]
+v_mad_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xd5,0x0c,0x04]
-v_mad_i32_i24 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x6e,0x00,0x01,0x02]
+v_mad_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xd7,0x0c,0x04]
-v_mad_i32_i24 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x6f,0x00,0x01,0x02]
+v_mad_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xd9,0x0c,0x04]
-v_mad_i32_i24 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x7b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xdb,0x0c,0x04]
-v_mad_i32_i24 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xdd,0x0c,0x04]
-v_mad_i32_i24 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xdf,0x0c,0x04]
-v_mad_i32_i24 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xf7,0x0c,0x04]
-v_mad_i32_i24 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x80,0x00,0x01,0x02]
+v_mad_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xf9,0x0c,0x04]
-v_mad_i32_i24 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xfd,0x0c,0x04]
-v_mad_i32_i24 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xff,0x0c,0x04]
-v_mad_i32_i24 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x01,0x0d,0x04]
-v_mad_i32_i24 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x01,0x01,0x02]
+v_mad_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x83,0x0d,0x04]
-v_mad_i32_i24 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0xff,0x01,0x01,0x02]
+v_mad_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xe1,0x0d,0x04]
-v_mad_i32_i24 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x82,0x01,0x02]
+v_mad_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xef,0x0d,0x04]
-v_mad_i32_i24 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x07]
-v_mad_i32_i24 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xee,0x01,0x02]
+v_mad_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x00]
-v_mad_i32_i24 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x04,0x02,0x02]
+v_mad_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x96,0x01]
-v_mad_i32_i24 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x9a,0x01]
-v_mad_i32_i24 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x05,0x03]
+v_mad_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x9e,0x01]
-v_mad_i32_i24 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xaa,0x01]
-v_mad_i32_i24 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xae,0x01]
-v_mad_i32_i24 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xb2,0x01]
-v_mad_i32_i24 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xb6,0x01]
-v_mad_u32_u24 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xba,0x01]
-v_mad_u32_u24 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xbe,0x01]
-v_mad_u32_u24 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x65,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xee,0x01]
-v_mad_u32_u24 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x66,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xf2,0x01]
-v_mad_u32_u24 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x67,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfa,0x01]
-v_mad_u32_u24 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x01]
-v_mad_u32_u24 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x02,0x02]
-v_mad_u32_u24 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x6c,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x06,0x03]
-v_mad_u32_u24 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x6d,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xc2,0x03]
-v_mad_u32_u24 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x6e,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xde,0x03]
-v_mad_u32_u24 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x6f,0x00,0x01,0x02]
+v_mad_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x24]
-v_mad_u32_u24 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x7b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x44]
-v_mad_u32_u24 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x84]
-v_mad_u32_u24 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0xe4]
-v_mad_u32_u24 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x80,0x00,0x01,0x02]
+v_mad_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x01,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x0c]
-v_mad_u32_u24 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0xff,0x01,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x14]
-v_mad_u32_u24 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x82,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x1c]
-v_mad_u32_u24 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xee,0x01,0x02]
+v_mad_i32_i24 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x04,0x02,0x02]
+v_mad_i32_i24 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_i32_i24 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x05,0x03]
+v_mad_i32_i24 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x65,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_i32_i24 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x66,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_i32_i24 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x67,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_i32_i24 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6a,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_i32_i24 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6b,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6c,0x04,0x0e,0x04]
-v_cubeid_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6d,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x65,0x00,0x01,0x02]
+v_mad_i32_i24 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6e,0x04,0x0e,0x04]
-v_cubeid_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x66,0x00,0x01,0x02]
+v_mad_i32_i24 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6f,0x04,0x0e,0x04]
-v_cubeid_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x67,0x00,0x01,0x02]
+v_mad_i32_i24 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7b,0x04,0x0e,0x04]
-v_cubeid_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_i32_i24 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7c,0x04,0x0e,0x04]
-v_cubeid_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_i32_i24 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7e,0x04,0x0e,0x04]
-v_cubeid_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x6c,0x00,0x01,0x02]
+v_mad_i32_i24 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7f,0x04,0x0e,0x04]
-v_cubeid_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x6d,0x00,0x01,0x02]
+v_mad_i32_i24 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x80,0x04,0x0e,0x04]
-v_cubeid_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x6e,0x00,0x01,0x02]
+v_mad_i32_i24 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0xc1,0x04,0x0e,0x04]
-v_cubeid_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x6f,0x00,0x01,0x02]
+v_mad_i32_i24 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0xf0,0x04,0x0e,0x04]
-v_cubeid_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x7b,0x00,0x01,0x02]
+v_mad_i32_i24 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0xf7,0x04,0x0e,0x04]
-v_cubeid_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xff,0x0f,0x04]
-v_cubeid_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0c,0x04]
-v_cubeid_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xcb,0x0c,0x04]
-v_cubeid_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x80,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xcd,0x0c,0x04]
-v_cubeid_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xcf,0x0c,0x04]
-v_cubeid_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xd5,0x0c,0x04]
-v_cubeid_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xd7,0x0c,0x04]
-v_cubeid_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x01,0x01,0x02]
+v_mad_i32_i24 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xd9,0x0c,0x04]
-v_cubeid_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0xff,0x01,0x01,0x02]
+v_mad_i32_i24 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xdb,0x0c,0x04]
-v_cubeid_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x82,0x01,0x02]
+v_mad_i32_i24 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xdd,0x0c,0x04]
-v_cubeid_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_i32_i24 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xdf,0x0c,0x04]
-v_cubeid_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xee,0x01,0x02]
+v_mad_i32_i24 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xf7,0x0c,0x04]
-v_cubeid_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x04,0x02,0x02]
+v_mad_i32_i24 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xf9,0x0c,0x04]
-v_cubeid_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_i32_i24 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xfd,0x0c,0x04]
-v_cubeid_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x05,0x03]
+v_mad_i32_i24 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xff,0x0c,0x04]
-v_cubeid_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_i32_i24 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x01,0x0d,0x04]
-v_cubeid_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_i32_i24 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x83,0x0d,0x04]
-v_cubeid_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_i32_i24 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xe1,0x0d,0x04]
-v_cubeid_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_i32_i24 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xef,0x0d,0x04]
-v_cubeid_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x22]
+v_mad_i32_i24 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x07]
-v_cubeid_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x42]
+v_mad_i32_i24 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x00]
-v_cubeid_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x82]
+v_mad_i32_i24 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x96,0x01]
-v_cubeid_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0xe2]
+v_mad_i32_i24 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x9a,0x01]
-v_cubeid_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x9e,0x01]
-v_cubeid_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xaa,0x01]
-v_cubeid_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xae,0x01]
-v_cubeid_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xb2,0x01]
-v_cubeid_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xb6,0x01]
-v_cubeid_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x0a]
+v_mad_i32_i24 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xba,0x01]
-v_cubeid_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x12]
+v_mad_i32_i24 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xbe,0x01]
-v_cubeid_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x1a]
+v_mad_i32_i24 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xee,0x01]
-v_cubesc_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xf2,0x01]
-v_cubesc_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfa,0x01]
-v_cubesc_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x65,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x01]
-v_cubesc_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x66,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x02,0x02]
-v_cubesc_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x67,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x06,0x03]
-v_cubesc_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xc2,0x03]
-v_cubesc_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xde,0x03]
-v_cubesc_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x6c,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04]
-v_cubesc_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x6d,0x00,0x01,0x02]
+v_mad_u32_u24 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04]
-v_cubesc_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x6e,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0xff,0x05,0x0e,0x04]
-v_cubesc_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x6f,0x00,0x01,0x02]
+v_mad_u32_u24 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x04,0x0e,0x04]
-v_cubesc_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x7b,0x00,0x01,0x02]
+v_mad_u32_u24 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x65,0x04,0x0e,0x04]
-v_cubesc_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_u32_u24 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x66,0x04,0x0e,0x04]
-v_cubesc_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_u32_u24 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x67,0x04,0x0e,0x04]
-v_cubesc_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_u32_u24 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6a,0x04,0x0e,0x04]
-v_cubesc_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x80,0x00,0x01,0x02]
+v_mad_u32_u24 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6b,0x04,0x0e,0x04]
-v_cubesc_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_u32_u24 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6c,0x04,0x0e,0x04]
-v_cubesc_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_u32_u24 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6d,0x04,0x0e,0x04]
-v_cubesc_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_u32_u24 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6e,0x04,0x0e,0x04]
-v_cubesc_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x01,0x01,0x02]
+v_mad_u32_u24 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6f,0x04,0x0e,0x04]
-v_cubesc_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0xff,0x01,0x01,0x02]
+v_mad_u32_u24 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7b,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x82,0x01,0x02]
+v_mad_u32_u24 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7c,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_u32_u24 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7e,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xee,0x01,0x02]
+v_mad_u32_u24 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7f,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x04,0x02,0x02]
+v_mad_u32_u24 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x80,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_u32_u24 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0xc1,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x05,0x03]
+v_mad_u32_u24 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0xf0,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_u32_u24 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0xf7,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_u32_u24 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xff,0x0f,0x04]
-v_cubesc_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_u32_u24 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_u32_u24 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xcb,0x0c,0x04]
-v_cubesc_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x22]
+v_mad_u32_u24 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xcd,0x0c,0x04]
-v_cubesc_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x42]
+v_mad_u32_u24 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xcf,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x82]
+v_mad_u32_u24 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xd5,0x0c,0x04]
-v_cubesc_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0xe2]
+v_mad_u32_u24 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xd7,0x0c,0x04]
-v_cubesc_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xd9,0x0c,0x04]
-v_cubesc_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xdb,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xdd,0x0c,0x04]
-v_cubesc_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xdf,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xf7,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x0a]
+v_mad_u32_u24 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xf9,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x12]
+v_mad_u32_u24 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xfd,0x0c,0x04]
-v_cubesc_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x1a]
+v_mad_u32_u24 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xff,0x0c,0x04]
-v_cubetc_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x01,0x0d,0x04]
-v_cubetc_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x83,0x0d,0x04]
-v_cubetc_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x65,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xe1,0x0d,0x04]
-v_cubetc_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x66,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xef,0x0d,0x04]
-v_cubetc_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x67,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x07]
-v_cubetc_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x00]
-v_cubetc_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x96,0x01]
-v_cubetc_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x6c,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x9a,0x01]
-v_cubetc_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x6d,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x9e,0x01]
-v_cubetc_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x6e,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xaa,0x01]
-v_cubetc_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x6f,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xae,0x01]
-v_cubetc_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x7b,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xb2,0x01]
-v_cubetc_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xb6,0x01]
-v_cubetc_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xba,0x01]
-v_cubetc_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xbe,0x01]
-v_cubetc_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x80,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xee,0x01]
-v_cubetc_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xf2,0x01]
-v_cubetc_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfa,0x01]
-v_cubetc_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x01]
-v_cubetc_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x01,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x02,0x02]
-v_cubetc_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0xff,0x01,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x06,0x03]
-v_cubetc_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x82,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xc2,0x03]
-v_cubetc_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xde,0x03]
-v_cubetc_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xee,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_cubetc_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x04,0x02,0x02]
+v_cubeid_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_cubetc_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xfe,0x03,0x02]
+v_cubeid_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0xff,0x05,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x05,0x03]
+v_cubeid_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xc1,0x03]
+v_cubeid_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x65,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xdd,0x03]
+v_cubeid_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x66,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x0d,0x04]
+v_cubeid_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x67,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xfd,0x07]
+v_cubeid_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6a,0x04,0x0e,0x04]
-v_cubetc_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x22]
+v_cubeid_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6b,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x42]
+v_cubeid_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6c,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x82]
+v_cubeid_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6d,0x04,0x0e,0x04]
-v_cubetc_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0xe2]
+v_cubeid_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6e,0x04,0x0e,0x04]
-v_cubetc_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6f,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7b,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7c,0x04,0x0e,0x04]
-v_cubetc_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7e,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7f,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x0a]
+v_cubeid_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x80,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x12]
+v_cubeid_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0xc1,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x1a]
+v_cubeid_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0xf0,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0xf7,0x04,0x0e,0x04]
-v_cubema_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xff,0x0f,0x04]
-v_cubema_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x65,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0c,0x04]
-v_cubema_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x66,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xcb,0x0c,0x04]
-v_cubema_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x67,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xcd,0x0c,0x04]
-v_cubema_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x6a,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xcf,0x0c,0x04]
-v_cubema_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x6b,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xd5,0x0c,0x04]
-v_cubema_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x6c,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xd7,0x0c,0x04]
-v_cubema_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x6d,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xd9,0x0c,0x04]
-v_cubema_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x6e,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xdb,0x0c,0x04]
-v_cubema_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x6f,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xdd,0x0c,0x04]
-v_cubema_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x7b,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xdf,0x0c,0x04]
-v_cubema_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x7c,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xf7,0x0c,0x04]
-v_cubema_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x7e,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xf9,0x0c,0x04]
-v_cubema_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x7f,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xfd,0x0c,0x04]
-v_cubema_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x80,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xff,0x0c,0x04]
-v_cubema_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0xc1,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x01,0x0d,0x04]
-v_cubema_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0xf0,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x83,0x0d,0x04]
-v_cubema_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0xf7,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xe1,0x0d,0x04]
-v_cubema_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x01,0x01,0x02]
+v_cubeid_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xef,0x0d,0x04]
-v_cubema_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0xff,0x01,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x07]
-v_cubema_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x82,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x00]
-v_cubema_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xe0,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x96,0x01]
-v_cubema_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xee,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x9a,0x01]
-v_cubema_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x04,0x02,0x02]
+v_cubeid_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x9e,0x01]
-v_cubema_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xfe,0x03,0x02]
+v_cubeid_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xaa,0x01]
-v_cubema_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x05,0x03]
+v_cubeid_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xae,0x01]
-v_cubema_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xc1,0x03]
+v_cubeid_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xb2,0x01]
-v_cubema_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xdd,0x03]
+v_cubeid_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xb6,0x01]
-v_cubema_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x0d,0x04]
+v_cubeid_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xba,0x01]
-v_cubema_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xfd,0x07]
+v_cubeid_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xbe,0x01]
-v_cubema_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x22]
+v_cubeid_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xee,0x01]
-v_cubema_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x42]
+v_cubeid_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xf2,0x01]
-v_cubema_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x82]
+v_cubeid_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfa,0x01]
-v_cubema_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0xe2]
+v_cubeid_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x01]
-v_cubema_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x02,0x02]
-v_cubema_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x06,0x03]
-v_cubema_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xc2,0x03]
-v_cubema_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xde,0x03]
-v_cubema_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x24]
-v_cubema_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x0a]
+v_cubeid_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x44]
-v_cubema_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x12]
+v_cubeid_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x84]
-v_cubema_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x1a]
+v_cubeid_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0xe4]
-v_bfe_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x65,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x66,0x00,0x01,0x02]
+v_cubeid_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x67,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x6a,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x0c]
-v_bfe_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x6b,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x14]
-v_bfe_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x6c,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x1c]
-v_bfe_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x6d,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x6e,0x00,0x01,0x02]
+v_cubesc_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x6f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0xff,0x05,0x0e,0x04]
-v_bfe_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x7b,0x00,0x01,0x02]
+v_cubesc_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x04,0x0e,0x04]
-v_bfe_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x7c,0x00,0x01,0x02]
+v_cubesc_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x65,0x04,0x0e,0x04]
-v_bfe_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x7e,0x00,0x01,0x02]
+v_cubesc_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x66,0x04,0x0e,0x04]
-v_bfe_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x7f,0x00,0x01,0x02]
+v_cubesc_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x67,0x04,0x0e,0x04]
-v_bfe_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x80,0x00,0x01,0x02]
+v_cubesc_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6a,0x04,0x0e,0x04]
-v_bfe_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0xc1,0x00,0x01,0x02]
+v_cubesc_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6b,0x04,0x0e,0x04]
-v_bfe_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0xf0,0x00,0x01,0x02]
+v_cubesc_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6c,0x04,0x0e,0x04]
-v_bfe_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0xf7,0x00,0x01,0x02]
+v_cubesc_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6d,0x04,0x0e,0x04]
-v_bfe_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x01,0x01,0x02]
+v_cubesc_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6e,0x04,0x0e,0x04]
-v_bfe_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0xff,0x01,0x01,0x02]
+v_cubesc_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6f,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x82,0x01,0x02]
+v_cubesc_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7b,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xe0,0x01,0x02]
+v_cubesc_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7c,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xee,0x01,0x02]
+v_cubesc_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7e,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x04,0x02,0x02]
+v_cubesc_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7f,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xfe,0x03,0x02]
+v_cubesc_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x80,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x05,0x03]
+v_cubesc_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0xc1,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xc1,0x03]
+v_cubesc_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0xf0,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xdd,0x03]
+v_cubesc_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0xf7,0x04,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x0d,0x04]
+v_cubesc_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xff,0x0f,0x04]
-v_bfe_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xfd,0x07]
+v_cubesc_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0c,0x04]
-v_bfe_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xcb,0x0c,0x04]
-v_bfe_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xcd,0x0c,0x04]
-v_bfe_i32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x65,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xcf,0x0c,0x04]
-v_bfe_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x66,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xd5,0x0c,0x04]
-v_bfe_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x67,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xd7,0x0c,0x04]
-v_bfe_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x6a,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xd9,0x0c,0x04]
-v_bfe_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x6b,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xdb,0x0c,0x04]
-v_bfe_i32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x6c,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xdd,0x0c,0x04]
-v_bfe_i32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x6d,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xdf,0x0c,0x04]
-v_bfe_i32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x6e,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xf7,0x0c,0x04]
-v_bfe_i32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x6f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xf9,0x0c,0x04]
-v_bfe_i32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x7b,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xfd,0x0c,0x04]
-v_bfe_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x7c,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xff,0x0c,0x04]
-v_bfe_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x7e,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x01,0x0d,0x04]
-v_bfe_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x7f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x83,0x0d,0x04]
-v_bfe_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x80,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xe1,0x0d,0x04]
-v_bfe_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0xc1,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xef,0x0d,0x04]
-v_bfe_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0xf0,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x07]
-v_bfe_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0xf7,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x00]
-v_bfe_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x01,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x96,0x01]
-v_bfe_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0xff,0x01,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x9a,0x01]
-v_bfe_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x82,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x9e,0x01]
-v_bfe_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xe0,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xaa,0x01]
-v_bfe_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xee,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xae,0x01]
-v_bfe_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x04,0x02,0x02]
+v_cubesc_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xb2,0x01]
-v_bfe_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xfe,0x03,0x02]
+v_cubesc_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xb6,0x01]
-v_bfe_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x05,0x03]
+v_cubesc_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xba,0x01]
-v_bfe_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xc1,0x03]
+v_cubesc_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xbe,0x01]
-v_bfe_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xdd,0x03]
+v_cubesc_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xee,0x01]
-v_bfe_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x0d,0x04]
+v_cubesc_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xf2,0x01]
-v_bfe_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xfd,0x07]
+v_cubesc_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfa,0x01]
-v_bfi_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x01]
-v_bfi_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xca,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x02,0x02]
-v_bfi_b32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x65,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x06,0x03]
-v_bfi_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x66,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xc2,0x03]
-v_bfi_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x67,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xde,0x03]
-v_bfi_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x6a,0x00,0x01,0x02]
+v_cubesc_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x24]
-v_bfi_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x6b,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x44]
-v_bfi_b32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x6c,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x84]
-v_bfi_b32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x6d,0x00,0x01,0x02]
+v_cubesc_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0xe4]
-v_bfi_b32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x6e,0x00,0x01,0x02]
+v_cubesc_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x6f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x7b,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x7c,0x00,0x01,0x02]
+v_cubesc_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x7e,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x7f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x0c]
-v_bfi_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x80,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x14]
-v_bfi_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0xc1,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x1c]
-v_bfi_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0xf0,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0xf7,0x00,0x01,0x02]
+v_cubetc_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_bfi_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x01,0x01,0x02]
+v_cubetc_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0xff,0x05,0x0e,0x04]
-v_bfi_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0xff,0x01,0x01,0x02]
+v_cubetc_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x82,0x01,0x02]
+v_cubetc_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x65,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xe0,0x01,0x02]
+v_cubetc_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x66,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xee,0x01,0x02]
+v_cubetc_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x67,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x04,0x02,0x02]
+v_cubetc_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6a,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xfe,0x03,0x02]
+v_cubetc_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6b,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0x05,0x03]
+v_cubetc_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6c,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0xc1,0x03]
+v_cubetc_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6d,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0xdd,0x03]
+v_cubetc_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6e,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0x0d,0x04]
+v_cubetc_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6f,0x04,0x0e,0x04]
-v_bfi_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0xfd,0x07]
+v_cubetc_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7b,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7c,0x04,0x0e,0x04]
-v_fma_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7e,0x04,0x0e,0x04]
-v_fma_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x65,0x00,0x01,0x02]
+v_cubetc_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7f,0x04,0x0e,0x04]
-v_fma_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x66,0x00,0x01,0x02]
+v_cubetc_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x80,0x04,0x0e,0x04]
-v_fma_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x67,0x00,0x01,0x02]
+v_cubetc_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0xc1,0x04,0x0e,0x04]
-v_fma_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x6a,0x00,0x01,0x02]
+v_cubetc_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0xf0,0x04,0x0e,0x04]
-v_fma_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x6b,0x00,0x01,0x02]
+v_cubetc_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0xf7,0x04,0x0e,0x04]
-v_fma_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x6c,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xff,0x0f,0x04]
-v_fma_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x6d,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0c,0x04]
-v_fma_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x6e,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xcb,0x0c,0x04]
-v_fma_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x6f,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xcd,0x0c,0x04]
-v_fma_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x7b,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xcf,0x0c,0x04]
-v_fma_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x7c,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xd5,0x0c,0x04]
-v_fma_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x7e,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xd7,0x0c,0x04]
-v_fma_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x7f,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xd9,0x0c,0x04]
-v_fma_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x80,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xdb,0x0c,0x04]
-v_fma_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0xc1,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xdd,0x0c,0x04]
-v_fma_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0xf0,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xdf,0x0c,0x04]
-v_fma_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0xf7,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xf7,0x0c,0x04]
-v_fma_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x01,0x01,0x02]
+v_cubetc_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xf9,0x0c,0x04]
-v_fma_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0xff,0x01,0x01,0x02]
+v_cubetc_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xfd,0x0c,0x04]
-v_fma_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x82,0x01,0x02]
+v_cubetc_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xff,0x0c,0x04]
-v_fma_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xe0,0x01,0x02]
+v_cubetc_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x01,0x0d,0x04]
-v_fma_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xee,0x01,0x02]
+v_cubetc_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x83,0x0d,0x04]
-v_fma_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x04,0x02,0x02]
+v_cubetc_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xe1,0x0d,0x04]
-v_fma_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xfe,0x03,0x02]
+v_cubetc_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xef,0x0d,0x04]
-v_fma_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x05,0x03]
+v_cubetc_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x07]
-v_fma_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xc1,0x03]
+v_cubetc_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x00]
-v_fma_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xdd,0x03]
+v_cubetc_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x96,0x01]
-v_fma_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x0d,0x04]
+v_cubetc_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x9a,0x01]
-v_fma_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xfd,0x07]
+v_cubetc_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x9e,0x01]
-v_fma_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x22]
+v_cubetc_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xaa,0x01]
-v_fma_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x42]
+v_cubetc_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xae,0x01]
-v_fma_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x82]
+v_cubetc_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xb2,0x01]
-v_fma_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0xe2]
+v_cubetc_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xb6,0x01]
-v_fma_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xba,0x01]
-v_fma_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xbe,0x01]
-v_fma_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xee,0x01]
-v_fma_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xf2,0x01]
-v_fma_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfa,0x01]
-v_fma_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x0a]
+v_cubetc_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x01]
-v_fma_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x12]
+v_cubetc_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x02,0x02]
-v_fma_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x1a]
+v_cubetc_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x06,0x03]
-v_fma_f64 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xc2,0x03]
-v_fma_f64 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xde,0x03]
-v_fma_f64 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x04,0x00,0x01,0x02]
+v_cubetc_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x24]
-v_fma_f64 v[5:6], s[100:101], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x64,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x44]
-v_fma_f64 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x66,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x84]
-v_fma_f64 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x6a,0x00,0x01,0x02]
+v_cubetc_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0xe4]
-v_fma_f64 v[5:6], tba, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x6c,0x00,0x01,0x02]
+v_cubetc_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], tma, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x6e,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], ttmp[10:11], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x7a,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x7e,0x00,0x01,0x02]
+v_cubetc_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x80,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0xc1,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x0c]
-v_fma_f64 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0xf0,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x14]
-v_fma_f64 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0xf7,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x1c]
-v_fma_f64 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0xfe,0x01,0x01,0x02]
+v_cubema_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x82,0x01,0x02]
+v_cubema_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0xff,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0xe0,0x01,0x02]
+v_cubema_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0xee,0x01,0x02]
+v_cubema_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x65,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], v[2:3], 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x04,0x02,0x02]
+v_cubema_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x66,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], v[254:255], 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0xfc,0x03,0x02]
+v_cubema_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x67,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x05,0x03]
+v_cubema_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6a,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xc1,0x03]
+v_cubema_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6b,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, -4.0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xdd,0x03]
+v_cubema_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6c,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, v[3:4]
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x0d,0x04]
+v_cubema_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6d,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, v[254:255]
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xf9,0x07]
+v_cubema_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6e,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], -s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x22]
+v_cubema_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6f,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], neg(0), 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x42]
+v_cubema_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7b,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, neg(0)
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x82]
+v_cubema_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7c,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], -s[2:3], neg(0), neg(0)
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0xe2]
+v_cubema_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7e,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], |s[2:3]|, 0, 0
-// CHECK: [0x05,0x01,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7f,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], |0|, 0
-// CHECK: [0x05,0x02,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x80,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, |0|
-// CHECK: [0x05,0x04,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0xc1,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], |s[2:3]|, |0|, |0|
-// CHECK: [0x05,0x07,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0xf0,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 clamp
-// CHECK: [0x05,0x80,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0xf7,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 mul:2
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x0a]
+v_cubema_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xff,0x0f,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 mul:4
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x12]
+v_cubema_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0c,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 div:2
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x1a]
+v_cubema_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xcb,0x0c,0x04]
-v_lerp_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xcd,0x0c,0x04]
-v_lerp_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xcf,0x0c,0x04]
-v_lerp_u8 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x65,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xd5,0x0c,0x04]
-v_lerp_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x66,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xd7,0x0c,0x04]
-v_lerp_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x67,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xd9,0x0c,0x04]
-v_lerp_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x6a,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xdb,0x0c,0x04]
-v_lerp_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x6b,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xdd,0x0c,0x04]
-v_lerp_u8 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x6c,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xdf,0x0c,0x04]
-v_lerp_u8 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x6d,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xf7,0x0c,0x04]
-v_lerp_u8 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x6e,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xf9,0x0c,0x04]
-v_lerp_u8 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x6f,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xfd,0x0c,0x04]
-v_lerp_u8 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x7b,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xff,0x0c,0x04]
-v_lerp_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x7c,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x01,0x0d,0x04]
-v_lerp_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x7e,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x83,0x0d,0x04]
-v_lerp_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x7f,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xe1,0x0d,0x04]
-v_lerp_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x80,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xef,0x0d,0x04]
-v_lerp_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0xc1,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x07]
-v_lerp_u8 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0xf0,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x00]
-v_lerp_u8 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0xf7,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x96,0x01]
-v_lerp_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x9a,0x01]
-v_lerp_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0xff,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x9e,0x01]
-v_lerp_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x82,0x01,0x02]
+v_cubema_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xaa,0x01]
-v_lerp_u8 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xe0,0x01,0x02]
+v_cubema_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xae,0x01]
-v_lerp_u8 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xee,0x01,0x02]
+v_cubema_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xb2,0x01]
-v_lerp_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x04,0x02,0x02]
+v_cubema_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xb6,0x01]
-v_lerp_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xfe,0x03,0x02]
+v_cubema_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xba,0x01]
-v_lerp_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x05,0x03]
+v_cubema_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xbe,0x01]
-v_lerp_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xc1,0x03]
+v_cubema_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xee,0x01]
-v_lerp_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xdd,0x03]
+v_cubema_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xf2,0x01]
-v_lerp_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x0d,0x04]
+v_cubema_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfa,0x01]
-v_lerp_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xfd,0x07]
+v_cubema_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x01]
-v_alignbit_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x02,0x02]
-v_alignbit_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xce,0xd1,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x06,0x03]
-v_alignbit_b32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x65,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xc2,0x03]
-v_alignbit_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x66,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xde,0x03]
-v_alignbit_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x67,0x00,0x01,0x02]
+v_cubema_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x24]
-v_alignbit_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x6a,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x44]
-v_alignbit_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x6b,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x84]
-v_alignbit_b32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x6c,0x00,0x01,0x02]
+v_cubema_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0xe4]
-v_alignbit_b32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x6d,0x00,0x01,0x02]
+v_cubema_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x6e,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x6f,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x7b,0x00,0x01,0x02]
+v_cubema_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x7c,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x7e,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x0c]
-v_alignbit_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x7f,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x14]
-v_alignbit_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x80,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x1c]
-v_alignbit_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0xc1,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0xf0,0x00,0x01,0x02]
+v_bfe_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04]
-v_alignbit_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0xf7,0x00,0x01,0x02]
+v_bfe_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0xff,0x05,0x0e,0x04]
-v_alignbit_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x01,0x01,0x02]
+v_bfe_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x04,0x0e,0x04]
-v_alignbit_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0xff,0x01,0x01,0x02]
+v_bfe_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x65,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x82,0x01,0x02]
+v_bfe_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x66,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xe0,0x01,0x02]
+v_bfe_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x67,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xee,0x01,0x02]
+v_bfe_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6a,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x04,0x02,0x02]
+v_bfe_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6b,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xfe,0x03,0x02]
+v_bfe_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6c,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x00,0x05,0x03]
+v_bfe_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6d,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x00,0xc1,0x03]
+v_bfe_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6e,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x00,0xdd,0x03]
+v_bfe_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6f,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x00,0x0d,0x04]
+v_bfe_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7b,0x04,0x0e,0x04]
-v_alignbit_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x00,0xfd,0x07]
+v_bfe_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7c,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7e,0x04,0x0e,0x04]
-v_alignbyte_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xcf,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7f,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x65,0x00,0x01,0x02]
+v_bfe_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x80,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x66,0x00,0x01,0x02]
+v_bfe_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0xc1,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x67,0x00,0x01,0x02]
+v_bfe_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0xf0,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x6a,0x00,0x01,0x02]
+v_bfe_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0xf7,0x04,0x0e,0x04]
-v_alignbyte_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x6b,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xff,0x0f,0x04]
-v_alignbyte_b32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x6c,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0c,0x04]
-v_alignbyte_b32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x6d,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xcb,0x0c,0x04]
-v_alignbyte_b32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x6e,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xcd,0x0c,0x04]
-v_alignbyte_b32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x6f,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xcf,0x0c,0x04]
-v_alignbyte_b32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x7b,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xd5,0x0c,0x04]
-v_alignbyte_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x7c,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xd7,0x0c,0x04]
-v_alignbyte_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x7e,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xd9,0x0c,0x04]
-v_alignbyte_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x7f,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xdb,0x0c,0x04]
-v_alignbyte_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x80,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xdd,0x0c,0x04]
-v_alignbyte_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0xc1,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xdf,0x0c,0x04]
-v_alignbyte_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0xf0,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xf7,0x0c,0x04]
-v_alignbyte_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0xf7,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xf9,0x0c,0x04]
-v_alignbyte_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x01,0x01,0x02]
+v_bfe_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xfd,0x0c,0x04]
-v_alignbyte_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0xff,0x01,0x01,0x02]
+v_bfe_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xff,0x0c,0x04]
-v_alignbyte_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x82,0x01,0x02]
+v_bfe_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x01,0x0d,0x04]
-v_alignbyte_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xe0,0x01,0x02]
+v_bfe_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x83,0x0d,0x04]
-v_alignbyte_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xee,0x01,0x02]
+v_bfe_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xe1,0x0d,0x04]
-v_alignbyte_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x04,0x02,0x02]
+v_bfe_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xef,0x0d,0x04]
-v_alignbyte_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xfe,0x03,0x02]
+v_bfe_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x07]
-v_alignbyte_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x00,0x05,0x03]
+v_bfe_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x00]
-v_alignbyte_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x00,0xc1,0x03]
+v_bfe_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x96,0x01]
-v_alignbyte_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x00,0xdd,0x03]
+v_bfe_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x9a,0x01]
-v_alignbyte_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x00,0x0d,0x04]
+v_bfe_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x9e,0x01]
-v_alignbyte_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x00,0xfd,0x07]
+v_bfe_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xaa,0x01]
-v_min3_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xae,0x01]
-v_min3_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xb2,0x01]
-v_min3_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x65,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xb6,0x01]
-v_min3_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x66,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xba,0x01]
-v_min3_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x67,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xbe,0x01]
-v_min3_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x6a,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xee,0x01]
-v_min3_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x6b,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xf2,0x01]
-v_min3_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x6c,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfa,0x01]
-v_min3_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x6d,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x01]
-v_min3_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x6e,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x02,0x02]
-v_min3_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x6f,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x06,0x03]
-v_min3_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x7b,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xc2,0x03]
-v_min3_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x7c,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xde,0x03]
-v_min3_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x7e,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04]
-v_min3_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x7f,0x00,0x01,0x02]
+v_bfe_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04]
-v_min3_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x80,0x00,0x01,0x02]
+v_bfe_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0xff,0x05,0x0e,0x04]
-v_min3_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0xc1,0x00,0x01,0x02]
+v_bfe_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x04,0x0e,0x04]
-v_min3_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0xf0,0x00,0x01,0x02]
+v_bfe_i32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x65,0x04,0x0e,0x04]
-v_min3_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0xf7,0x00,0x01,0x02]
+v_bfe_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x66,0x04,0x0e,0x04]
-v_min3_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x01,0x01,0x02]
+v_bfe_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x67,0x04,0x0e,0x04]
-v_min3_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0xff,0x01,0x01,0x02]
+v_bfe_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6a,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x82,0x01,0x02]
+v_bfe_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6b,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xe0,0x01,0x02]
+v_bfe_i32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6c,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xee,0x01,0x02]
+v_bfe_i32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6d,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x04,0x02,0x02]
+v_bfe_i32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6e,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xfe,0x03,0x02]
+v_bfe_i32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6f,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x05,0x03]
+v_bfe_i32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7b,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xc1,0x03]
+v_bfe_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7c,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xdd,0x03]
+v_bfe_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7e,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x0d,0x04]
+v_bfe_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7f,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xfd,0x07]
+v_bfe_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x80,0x04,0x0e,0x04]
-v_min3_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x22]
+v_bfe_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0xc1,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x42]
+v_bfe_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0xf0,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x82]
+v_bfe_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0xf7,0x04,0x0e,0x04]
-v_min3_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0xe2]
+v_bfe_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xff,0x0f,0x04]
-v_min3_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0c,0x04]
-v_min3_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xcb,0x0c,0x04]
-v_min3_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xcd,0x0c,0x04]
-v_min3_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xcf,0x0c,0x04]
-v_min3_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xd5,0x0c,0x04]
-v_min3_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x0a]
+v_bfe_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xd7,0x0c,0x04]
-v_min3_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x12]
+v_bfe_i32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xd9,0x0c,0x04]
-v_min3_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x1a]
+v_bfe_i32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xdb,0x0c,0x04]
-v_min3_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xdd,0x0c,0x04]
-v_min3_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xdf,0x0c,0x04]
-v_min3_i32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x65,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xf7,0x0c,0x04]
-v_min3_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x66,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xf9,0x0c,0x04]
-v_min3_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x67,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xfd,0x0c,0x04]
-v_min3_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x6a,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xff,0x0c,0x04]
-v_min3_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x6b,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x01,0x0d,0x04]
-v_min3_i32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x6c,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x83,0x0d,0x04]
-v_min3_i32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x6d,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xe1,0x0d,0x04]
-v_min3_i32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x6e,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xef,0x0d,0x04]
-v_min3_i32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x6f,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x07]
-v_min3_i32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x7b,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x00]
-v_min3_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x7c,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x96,0x01]
-v_min3_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x7e,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x9a,0x01]
-v_min3_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x7f,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x9e,0x01]
-v_min3_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x80,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xaa,0x01]
-v_min3_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0xc1,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xae,0x01]
-v_min3_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0xf0,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xb2,0x01]
-v_min3_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0xf7,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xb6,0x01]
-v_min3_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x01,0x01,0x02]
+v_bfe_i32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xba,0x01]
-v_min3_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0xff,0x01,0x01,0x02]
+v_bfe_i32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xbe,0x01]
-v_min3_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x82,0x01,0x02]
+v_bfe_i32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xee,0x01]
-v_min3_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xe0,0x01,0x02]
+v_bfe_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xf2,0x01]
-v_min3_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xee,0x01,0x02]
+v_bfe_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfa,0x01]
-v_min3_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x04,0x02,0x02]
+v_bfe_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x01]
-v_min3_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xfe,0x03,0x02]
+v_bfe_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x02,0x02]
-v_min3_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x05,0x03]
+v_bfe_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x06,0x03]
-v_min3_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xc1,0x03]
+v_bfe_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xc2,0x03]
-v_min3_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xdd,0x03]
+v_bfe_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xde,0x03]
-v_min3_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x0d,0x04]
+v_bfi_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04]
-v_min3_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xfd,0x07]
+v_bfi_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04]
-v_min3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0xff,0x05,0x0e,0x04]
-v_min3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x04,0x0e,0x04]
-v_min3_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x65,0x00,0x01,0x02]
+v_bfi_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x65,0x04,0x0e,0x04]
-v_min3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x66,0x00,0x01,0x02]
+v_bfi_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x66,0x04,0x0e,0x04]
-v_min3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x67,0x00,0x01,0x02]
+v_bfi_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x67,0x04,0x0e,0x04]
-v_min3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x6a,0x00,0x01,0x02]
+v_bfi_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x6a,0x04,0x0e,0x04]
-v_min3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x6b,0x00,0x01,0x02]
+v_bfi_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x6b,0x04,0x0e,0x04]
-v_min3_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x6c,0x00,0x01,0x02]
+v_bfi_b32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x6c,0x04,0x0e,0x04]
-v_min3_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x6d,0x00,0x01,0x02]
+v_bfi_b32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x6d,0x04,0x0e,0x04]
-v_min3_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x6e,0x00,0x01,0x02]
+v_bfi_b32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x6e,0x04,0x0e,0x04]
-v_min3_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x6f,0x00,0x01,0x02]
+v_bfi_b32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x6f,0x04,0x0e,0x04]
-v_min3_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x7b,0x00,0x01,0x02]
+v_bfi_b32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x7b,0x04,0x0e,0x04]
-v_min3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x7c,0x00,0x01,0x02]
+v_bfi_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x7c,0x04,0x0e,0x04]
-v_min3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x7e,0x00,0x01,0x02]
+v_bfi_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x7e,0x04,0x0e,0x04]
-v_min3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x7f,0x00,0x01,0x02]
+v_bfi_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x7f,0x04,0x0e,0x04]
-v_min3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x80,0x00,0x01,0x02]
+v_bfi_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x80,0x04,0x0e,0x04]
-v_min3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0xc1,0x00,0x01,0x02]
+v_bfi_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0xc1,0x04,0x0e,0x04]
-v_min3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0xf0,0x00,0x01,0x02]
+v_bfi_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0xf0,0x04,0x0e,0x04]
-v_min3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0xf7,0x00,0x01,0x02]
+v_bfi_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0xf7,0x04,0x0e,0x04]
-v_min3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xff,0x0f,0x04]
-v_min3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0xff,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0c,0x04]
-v_min3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x82,0x01,0x02]
+v_bfi_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xcb,0x0c,0x04]
-v_min3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xe0,0x01,0x02]
+v_bfi_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xcd,0x0c,0x04]
-v_min3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xee,0x01,0x02]
+v_bfi_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xcf,0x0c,0x04]
-v_min3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x04,0x02,0x02]
+v_bfi_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xd5,0x0c,0x04]
-v_min3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xfe,0x03,0x02]
+v_bfi_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xd7,0x0c,0x04]
-v_min3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x05,0x03]
+v_bfi_b32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xd9,0x0c,0x04]
-v_min3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xc1,0x03]
+v_bfi_b32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xdb,0x0c,0x04]
-v_min3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xdd,0x03]
+v_bfi_b32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xdd,0x0c,0x04]
-v_min3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x0d,0x04]
+v_bfi_b32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xdf,0x0c,0x04]
-v_min3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xfd,0x07]
+v_bfi_b32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xf7,0x0c,0x04]
-v_max3_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xf9,0x0c,0x04]
-v_max3_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xfd,0x0c,0x04]
-v_max3_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x65,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xff,0x0c,0x04]
-v_max3_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x66,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x01,0x0d,0x04]
-v_max3_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x67,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x83,0x0d,0x04]
-v_max3_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x6a,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xe1,0x0d,0x04]
-v_max3_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x6b,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xef,0x0d,0x04]
-v_max3_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x6c,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x07]
-v_max3_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x6d,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x00]
-v_max3_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x6e,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x96,0x01]
-v_max3_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x6f,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x9a,0x01]
-v_max3_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x7b,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x9e,0x01]
-v_max3_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x7c,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xaa,0x01]
-v_max3_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x7e,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xae,0x01]
-v_max3_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x7f,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xb2,0x01]
-v_max3_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x80,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xb6,0x01]
-v_max3_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0xc1,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xba,0x01]
-v_max3_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0xf0,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xbe,0x01]
-v_max3_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0xf7,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xee,0x01]
-v_max3_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xf2,0x01]
-v_max3_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0xff,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfa,0x01]
-v_max3_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x82,0x01,0x02]
+v_bfi_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x01]
-v_max3_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xe0,0x01,0x02]
+v_bfi_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x02,0x02]
-v_max3_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xee,0x01,0x02]
+v_bfi_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x06,0x03]
-v_max3_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x04,0x02,0x02]
+v_bfi_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xc2,0x03]
-v_max3_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xfe,0x03,0x02]
+v_bfi_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xde,0x03]
-v_max3_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x05,0x03]
+v_fma_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xc1,0x03]
+v_fma_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xdd,0x03]
+v_fma_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0xff,0x05,0x0e,0x04]
-v_max3_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x0d,0x04]
+v_fma_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xfd,0x07]
+v_fma_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x65,0x04,0x0e,0x04]
-v_max3_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x22]
+v_fma_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x66,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x42]
+v_fma_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x67,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x82]
+v_fma_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6a,0x04,0x0e,0x04]
-v_max3_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0xe2]
+v_fma_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6b,0x04,0x0e,0x04]
-v_max3_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6c,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6d,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6e,0x04,0x0e,0x04]
-v_max3_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6f,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7b,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x0a]
+v_fma_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7c,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x12]
+v_fma_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7e,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x1a]
+v_fma_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7f,0x04,0x0e,0x04]
-v_max3_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x80,0x04,0x0e,0x04]
-v_max3_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0xc1,0x04,0x0e,0x04]
-v_max3_i32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x65,0x00,0x01,0x02]
+v_fma_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0xf0,0x04,0x0e,0x04]
-v_max3_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x66,0x00,0x01,0x02]
+v_fma_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0xf7,0x04,0x0e,0x04]
-v_max3_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x67,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xff,0x0f,0x04]
-v_max3_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x6a,0x00,0x01,0x02]
+v_fma_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0c,0x04]
-v_max3_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x6b,0x00,0x01,0x02]
+v_fma_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xcb,0x0c,0x04]
-v_max3_i32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x6c,0x00,0x01,0x02]
+v_fma_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xcd,0x0c,0x04]
-v_max3_i32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x6d,0x00,0x01,0x02]
+v_fma_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xcf,0x0c,0x04]
-v_max3_i32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x6e,0x00,0x01,0x02]
+v_fma_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xd5,0x0c,0x04]
-v_max3_i32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x6f,0x00,0x01,0x02]
+v_fma_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xd7,0x0c,0x04]
-v_max3_i32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x7b,0x00,0x01,0x02]
+v_fma_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xd9,0x0c,0x04]
-v_max3_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x7c,0x00,0x01,0x02]
+v_fma_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xdb,0x0c,0x04]
-v_max3_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x7e,0x00,0x01,0x02]
+v_fma_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xdd,0x0c,0x04]
-v_max3_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x7f,0x00,0x01,0x02]
+v_fma_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xdf,0x0c,0x04]
-v_max3_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x80,0x00,0x01,0x02]
+v_fma_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xf7,0x0c,0x04]
-v_max3_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0xc1,0x00,0x01,0x02]
+v_fma_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xf9,0x0c,0x04]
-v_max3_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0xf0,0x00,0x01,0x02]
+v_fma_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xfd,0x0c,0x04]
-v_max3_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0xf7,0x00,0x01,0x02]
+v_fma_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xff,0x0c,0x04]
-v_max3_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x01,0x01,0x02]
+v_fma_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x01,0x0d,0x04]
-v_max3_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0xff,0x01,0x01,0x02]
+v_fma_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x83,0x0d,0x04]
-v_max3_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x82,0x01,0x02]
+v_fma_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xe1,0x0d,0x04]
-v_max3_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xe0,0x01,0x02]
+v_fma_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xef,0x0d,0x04]
-v_max3_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xee,0x01,0x02]
+v_fma_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x07]
-v_max3_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x04,0x02,0x02]
+v_fma_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x00]
-v_max3_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xfe,0x03,0x02]
+v_fma_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x96,0x01]
-v_max3_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x05,0x03]
+v_fma_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x9a,0x01]
-v_max3_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xc1,0x03]
+v_fma_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x9e,0x01]
-v_max3_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xdd,0x03]
+v_fma_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xaa,0x01]
-v_max3_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x0d,0x04]
+v_fma_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xae,0x01]
-v_max3_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xfd,0x07]
+v_fma_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xb2,0x01]
-v_max3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xb6,0x01]
-v_max3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xba,0x01]
-v_max3_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x65,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xbe,0x01]
-v_max3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x66,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xee,0x01]
-v_max3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x67,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xf2,0x01]
-v_max3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x6a,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfa,0x01]
-v_max3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x6b,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x01]
-v_max3_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x6c,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x02,0x02]
-v_max3_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x6d,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x06,0x03]
-v_max3_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x6e,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xc2,0x03]
-v_max3_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x6f,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xde,0x03]
-v_max3_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x7b,0x00,0x01,0x02]
+v_fma_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x24]
-v_max3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x7c,0x00,0x01,0x02]
+v_fma_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x44]
-v_max3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x7e,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x84]
-v_max3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x7f,0x00,0x01,0x02]
+v_fma_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0xe4]
-v_max3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x80,0x00,0x01,0x02]
+v_fma_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0xc1,0x00,0x01,0x02]
+v_fma_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0xf0,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0xf7,0x00,0x01,0x02]
+v_fma_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x01,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0xff,0x01,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x0c]
-v_max3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x82,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x14]
-v_max3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xe0,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x1c]
-v_max3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xee,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x04,0x02,0x02]
+v_fma_f64 v[254:255], v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xfe,0x03,0x02]
+v_fma_f64 v[5:6], v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0xfe,0x05,0x0e,0x04]
-v_max3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x05,0x03]
+v_fma_f64 v[5:6], s[2:3], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x04,0x0e,0x04]
-v_max3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xc1,0x03]
+v_fma_f64 v[5:6], s[4:5], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x04,0x04,0x0e,0x04]
-v_max3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xdd,0x03]
+v_fma_f64 v[5:6], s[100:101], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x64,0x04,0x0e,0x04]
-v_max3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x0d,0x04]
+v_fma_f64 v[5:6], flat_scratch, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x66,0x04,0x0e,0x04]
-v_max3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xfd,0x07]
+v_fma_f64 v[5:6], vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x6a,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], tba, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x6c,0x04,0x0e,0x04]
-v_med3_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], tma, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x6e,0x04,0x0e,0x04]
-v_med3_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x65,0x00,0x01,0x02]
+v_fma_f64 v[5:6], ttmp[10:11], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x7a,0x04,0x0e,0x04]
-v_med3_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x66,0x00,0x01,0x02]
+v_fma_f64 v[5:6], exec, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x7e,0x04,0x0e,0x04]
-v_med3_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x67,0x00,0x01,0x02]
+v_fma_f64 v[5:6], 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x80,0x04,0x0e,0x04]
-v_med3_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x6a,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0xc1,0x04,0x0e,0x04]
-v_med3_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x6b,0x00,0x01,0x02]
+v_fma_f64 v[5:6], 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0xf0,0x04,0x0e,0x04]
-v_med3_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x6c,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0xf7,0x04,0x0e,0x04]
-v_med3_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x6d,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0f,0x04]
-v_med3_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x6e,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], s[4:5], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x09,0x0c,0x04]
-v_med3_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x6f,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], s[6:7], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x0d,0x0c,0x04]
-v_med3_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x7b,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], s[100:101], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xc9,0x0c,0x04]
-v_med3_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x7c,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], flat_scratch, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xcd,0x0c,0x04]
-v_med3_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x7e,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xd5,0x0c,0x04]
-v_med3_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x7f,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], tba, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xd9,0x0c,0x04]
-v_med3_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x80,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], tma, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xdd,0x0c,0x04]
-v_med3_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0xc1,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], ttmp[10:11], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xf5,0x0c,0x04]
-v_med3_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0xf0,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], exec, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0c,0x04]
-v_med3_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0xf7,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x01,0x0d,0x04]
-v_med3_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x01,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x83,0x0d,0x04]
-v_med3_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0xff,0x01,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xe1,0x0d,0x04]
-v_med3_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x82,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xef,0x0d,0x04]
-v_med3_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xe0,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x07]
-v_med3_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xee,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], s[6:7]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x1a,0x00]
-v_med3_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x04,0x02,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], s[8:9]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x22,0x00]
-v_med3_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xfe,0x03,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], s[100:101]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x92,0x01]
-v_med3_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x05,0x03]
+v_fma_f64 v[5:6], v[1:2], v[2:3], flat_scratch
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x9a,0x01]
-v_med3_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xc1,0x03]
+v_fma_f64 v[5:6], v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xaa,0x01]
-v_med3_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xdd,0x03]
+v_fma_f64 v[5:6], v[1:2], v[2:3], tba
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xb2,0x01]
-v_med3_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x0d,0x04]
+v_fma_f64 v[5:6], v[1:2], v[2:3], tma
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xba,0x01]
-v_med3_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xfd,0x07]
+v_fma_f64 v[5:6], v[1:2], v[2:3], ttmp[10:11]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xea,0x01]
-v_med3_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x22]
+v_fma_f64 v[5:6], v[1:2], v[2:3], exec
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x01]
-v_med3_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x42]
+v_fma_f64 v[5:6], v[1:2], v[2:3], 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x02,0x02]
-v_med3_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x82]
+v_fma_f64 v[5:6], v[1:2], v[2:3], -1
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x06,0x03]
-v_med3_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0xe2]
+v_fma_f64 v[5:6], v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xc2,0x03]
-v_med3_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xde,0x03]
-v_med3_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x24]
-v_med3_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], -v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x44]
-v_med3_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x84]
-v_med3_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0xe4]
-v_med3_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x0a]
+v_fma_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4]
+// CHECK: [0x05,0x01,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x12]
+v_fma_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4]
+// CHECK: [0x05,0x02,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x1a]
+v_fma_f64 v[5:6], v[1:2], v[2:3], |v[3:4]|
+// CHECK: [0x05,0x04,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]|
+// CHECK: [0x05,0x07,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp
+// CHECK: [0x05,0x80,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_i32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x65,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x0c]
-v_med3_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x66,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x14]
-v_med3_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x67,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x1c]
-v_med3_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x6a,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x6b,0x00,0x01,0x02]
+v_lerp_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_i32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x6c,0x00,0x01,0x02]
+v_lerp_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0xff,0x05,0x0e,0x04]
-v_med3_i32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x6d,0x00,0x01,0x02]
+v_lerp_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x04,0x0e,0x04]
-v_med3_i32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x6e,0x00,0x01,0x02]
+v_lerp_u8 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x65,0x04,0x0e,0x04]
-v_med3_i32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x6f,0x00,0x01,0x02]
+v_lerp_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x66,0x04,0x0e,0x04]
-v_med3_i32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x7b,0x00,0x01,0x02]
+v_lerp_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x67,0x04,0x0e,0x04]
-v_med3_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x7c,0x00,0x01,0x02]
+v_lerp_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6a,0x04,0x0e,0x04]
-v_med3_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x7e,0x00,0x01,0x02]
+v_lerp_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6b,0x04,0x0e,0x04]
-v_med3_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x7f,0x00,0x01,0x02]
+v_lerp_u8 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6c,0x04,0x0e,0x04]
-v_med3_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x80,0x00,0x01,0x02]
+v_lerp_u8 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6d,0x04,0x0e,0x04]
-v_med3_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0xc1,0x00,0x01,0x02]
+v_lerp_u8 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6e,0x04,0x0e,0x04]
-v_med3_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0xf0,0x00,0x01,0x02]
+v_lerp_u8 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6f,0x04,0x0e,0x04]
-v_med3_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0xf7,0x00,0x01,0x02]
+v_lerp_u8 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7b,0x04,0x0e,0x04]
-v_med3_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x01,0x01,0x02]
+v_lerp_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7c,0x04,0x0e,0x04]
-v_med3_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0xff,0x01,0x01,0x02]
+v_lerp_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7e,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x82,0x01,0x02]
+v_lerp_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7f,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xe0,0x01,0x02]
+v_lerp_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x80,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xee,0x01,0x02]
+v_lerp_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0xc1,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x04,0x02,0x02]
+v_lerp_u8 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0xf0,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xfe,0x03,0x02]
+v_lerp_u8 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0xf7,0x04,0x0e,0x04]
-v_med3_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x05,0x03]
+v_lerp_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xff,0x0f,0x04]
-v_med3_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xc1,0x03]
+v_lerp_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0c,0x04]
-v_med3_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xdd,0x03]
+v_lerp_u8 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xcb,0x0c,0x04]
-v_med3_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x0d,0x04]
+v_lerp_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xcd,0x0c,0x04]
-v_med3_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xfd,0x07]
+v_lerp_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xcf,0x0c,0x04]
-v_med3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xd5,0x0c,0x04]
-v_med3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xd7,0x0c,0x04]
-v_med3_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x65,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xd9,0x0c,0x04]
-v_med3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x66,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xdb,0x0c,0x04]
-v_med3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x67,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xdd,0x0c,0x04]
-v_med3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x6a,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xdf,0x0c,0x04]
-v_med3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x6b,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xf7,0x0c,0x04]
-v_med3_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x6c,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xf9,0x0c,0x04]
-v_med3_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x6d,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xfd,0x0c,0x04]
-v_med3_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x6e,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xff,0x0c,0x04]
-v_med3_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x6f,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x01,0x0d,0x04]
-v_med3_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x7b,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x83,0x0d,0x04]
-v_med3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x7c,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xe1,0x0d,0x04]
-v_med3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x7e,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xef,0x0d,0x04]
-v_med3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x7f,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x07]
-v_med3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x80,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x00]
-v_med3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0xc1,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x96,0x01]
-v_med3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0xf0,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x9a,0x01]
-v_med3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0xf7,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x9e,0x01]
-v_med3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x01,0x01,0x02]
+v_lerp_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xaa,0x01]
-v_med3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0xff,0x01,0x01,0x02]
+v_lerp_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xae,0x01]
-v_med3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x82,0x01,0x02]
+v_lerp_u8 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xb2,0x01]
-v_med3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xe0,0x01,0x02]
+v_lerp_u8 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xb6,0x01]
-v_med3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xee,0x01,0x02]
+v_lerp_u8 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xba,0x01]
-v_med3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x04,0x02,0x02]
+v_lerp_u8 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xbe,0x01]
-v_med3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xfe,0x03,0x02]
+v_lerp_u8 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xee,0x01]
-v_med3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x05,0x03]
+v_lerp_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xf2,0x01]
-v_med3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xc1,0x03]
+v_lerp_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfa,0x01]
-v_med3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xdd,0x03]
+v_lerp_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x01]
-v_med3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x0d,0x04]
+v_lerp_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x02,0x02]
-v_med3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xfd,0x07]
+v_lerp_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x06,0x03]
-v_sad_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xc2,0x03]
-v_sad_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xde,0x03]
-v_sad_u8 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x65,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x66,0x00,0x01,0x02]
+v_alignbit_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x67,0x00,0x01,0x02]
+v_alignbit_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0xff,0x05,0x0e,0x04]
-v_sad_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x6a,0x00,0x01,0x02]
+v_alignbit_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x04,0x0e,0x04]
-v_sad_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x6b,0x00,0x01,0x02]
+v_alignbit_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x65,0x04,0x0e,0x04]
-v_sad_u8 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x6c,0x00,0x01,0x02]
+v_alignbit_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x66,0x04,0x0e,0x04]
-v_sad_u8 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x6d,0x00,0x01,0x02]
+v_alignbit_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x67,0x04,0x0e,0x04]
-v_sad_u8 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x6e,0x00,0x01,0x02]
+v_alignbit_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x6a,0x04,0x0e,0x04]
-v_sad_u8 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x6f,0x00,0x01,0x02]
+v_alignbit_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x6b,0x04,0x0e,0x04]
-v_sad_u8 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x7b,0x00,0x01,0x02]
+v_alignbit_b32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x6c,0x04,0x0e,0x04]
-v_sad_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x7c,0x00,0x01,0x02]
+v_alignbit_b32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x6d,0x04,0x0e,0x04]
-v_sad_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x7e,0x00,0x01,0x02]
+v_alignbit_b32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x6e,0x04,0x0e,0x04]
-v_sad_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x7f,0x00,0x01,0x02]
+v_alignbit_b32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x6f,0x04,0x0e,0x04]
-v_sad_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x80,0x00,0x01,0x02]
+v_alignbit_b32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x7b,0x04,0x0e,0x04]
-v_sad_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0xc1,0x00,0x01,0x02]
+v_alignbit_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x7c,0x04,0x0e,0x04]
-v_sad_u8 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0xf0,0x00,0x01,0x02]
+v_alignbit_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x7e,0x04,0x0e,0x04]
-v_sad_u8 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0xf7,0x00,0x01,0x02]
+v_alignbit_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x7f,0x04,0x0e,0x04]
-v_sad_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x01,0x01,0x02]
+v_alignbit_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x80,0x04,0x0e,0x04]
-v_sad_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0xff,0x01,0x01,0x02]
+v_alignbit_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0xc1,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x82,0x01,0x02]
+v_alignbit_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0xf0,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xe0,0x01,0x02]
+v_alignbit_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0xf7,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xee,0x01,0x02]
+v_alignbit_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xff,0x0f,0x04]
-v_sad_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x04,0x02,0x02]
+v_alignbit_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0c,0x04]
-v_sad_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xfe,0x03,0x02]
+v_alignbit_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xcb,0x0c,0x04]
-v_sad_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x05,0x03]
+v_alignbit_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xcd,0x0c,0x04]
-v_sad_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xc1,0x03]
+v_alignbit_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xcf,0x0c,0x04]
-v_sad_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xdd,0x03]
+v_alignbit_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xd5,0x0c,0x04]
-v_sad_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x0d,0x04]
+v_alignbit_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xd7,0x0c,0x04]
-v_sad_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xfd,0x07]
+v_alignbit_b32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xd9,0x0c,0x04]
-v_sad_hi_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xdb,0x0c,0x04]
-v_sad_hi_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xda,0xd1,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xdd,0x0c,0x04]
-v_sad_hi_u8 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x65,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xdf,0x0c,0x04]
-v_sad_hi_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x66,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xf7,0x0c,0x04]
-v_sad_hi_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x67,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xf9,0x0c,0x04]
-v_sad_hi_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x6a,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xfd,0x0c,0x04]
-v_sad_hi_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x6b,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xff,0x0c,0x04]
-v_sad_hi_u8 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x6c,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x01,0x0d,0x04]
-v_sad_hi_u8 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x6d,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x83,0x0d,0x04]
-v_sad_hi_u8 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x6e,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xe1,0x0d,0x04]
-v_sad_hi_u8 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x6f,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xef,0x0d,0x04]
-v_sad_hi_u8 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x7b,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x07]
-v_sad_hi_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x7c,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x00]
-v_sad_hi_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x7e,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x96,0x01]
-v_sad_hi_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x7f,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x9a,0x01]
-v_sad_hi_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x80,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x9e,0x01]
-v_sad_hi_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0xc1,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xaa,0x01]
-v_sad_hi_u8 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0xf0,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xae,0x01]
-v_sad_hi_u8 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0xf7,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xb2,0x01]
-v_sad_hi_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x01,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xb6,0x01]
-v_sad_hi_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0xff,0x01,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xba,0x01]
-v_sad_hi_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x82,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xbe,0x01]
-v_sad_hi_u8 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xe0,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xee,0x01]
-v_sad_hi_u8 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xee,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xf2,0x01]
-v_sad_hi_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x04,0x02,0x02]
+v_alignbit_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfa,0x01]
-v_sad_hi_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xfe,0x03,0x02]
+v_alignbit_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x01]
-v_sad_hi_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0x05,0x03]
+v_alignbit_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x02,0x02]
-v_sad_hi_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0xc1,0x03]
+v_alignbit_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x06,0x03]
-v_sad_hi_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0xdd,0x03]
+v_alignbit_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xc2,0x03]
-v_sad_hi_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0x0d,0x04]
+v_alignbit_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xde,0x03]
-v_sad_hi_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0xfd,0x07]
+v_alignbyte_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u16 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u16 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0xff,0x05,0x0e,0x04]
-v_sad_u16 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x65,0x00,0x01,0x02]
+v_alignbyte_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x04,0x0e,0x04]
-v_sad_u16 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x66,0x00,0x01,0x02]
+v_alignbyte_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x65,0x04,0x0e,0x04]
-v_sad_u16 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x67,0x00,0x01,0x02]
+v_alignbyte_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x66,0x04,0x0e,0x04]
-v_sad_u16 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x6a,0x00,0x01,0x02]
+v_alignbyte_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x67,0x04,0x0e,0x04]
-v_sad_u16 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x6b,0x00,0x01,0x02]
+v_alignbyte_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x6a,0x04,0x0e,0x04]
-v_sad_u16 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x6c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x6b,0x04,0x0e,0x04]
-v_sad_u16 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x6d,0x00,0x01,0x02]
+v_alignbyte_b32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x6c,0x04,0x0e,0x04]
-v_sad_u16 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x6e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x6d,0x04,0x0e,0x04]
-v_sad_u16 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x6f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x6e,0x04,0x0e,0x04]
-v_sad_u16 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x7b,0x00,0x01,0x02]
+v_alignbyte_b32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x6f,0x04,0x0e,0x04]
-v_sad_u16 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x7c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x7b,0x04,0x0e,0x04]
-v_sad_u16 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x7e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x7c,0x04,0x0e,0x04]
-v_sad_u16 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x7f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x7e,0x04,0x0e,0x04]
-v_sad_u16 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x80,0x00,0x01,0x02]
+v_alignbyte_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x7f,0x04,0x0e,0x04]
-v_sad_u16 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0xc1,0x00,0x01,0x02]
+v_alignbyte_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x80,0x04,0x0e,0x04]
-v_sad_u16 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0xf0,0x00,0x01,0x02]
+v_alignbyte_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0xc1,0x04,0x0e,0x04]
-v_sad_u16 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0xf7,0x00,0x01,0x02]
+v_alignbyte_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0xf0,0x04,0x0e,0x04]
-v_sad_u16 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x01,0x01,0x02]
+v_alignbyte_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0xf7,0x04,0x0e,0x04]
-v_sad_u16 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0xff,0x01,0x01,0x02]
+v_alignbyte_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xff,0x0f,0x04]
-v_sad_u16 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x82,0x01,0x02]
+v_alignbyte_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0c,0x04]
-v_sad_u16 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xe0,0x01,0x02]
+v_alignbyte_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xcb,0x0c,0x04]
-v_sad_u16 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xee,0x01,0x02]
+v_alignbyte_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xcd,0x0c,0x04]
-v_sad_u16 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x04,0x02,0x02]
+v_alignbyte_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xcf,0x0c,0x04]
-v_sad_u16 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xfe,0x03,0x02]
+v_alignbyte_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xd5,0x0c,0x04]
-v_sad_u16 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x05,0x03]
+v_alignbyte_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xd7,0x0c,0x04]
-v_sad_u16 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xc1,0x03]
+v_alignbyte_b32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xd9,0x0c,0x04]
-v_sad_u16 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xdd,0x03]
+v_alignbyte_b32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xdb,0x0c,0x04]
-v_sad_u16 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x0d,0x04]
+v_alignbyte_b32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xdd,0x0c,0x04]
-v_sad_u16 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xfd,0x07]
+v_alignbyte_b32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xdf,0x0c,0x04]
-v_sad_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xf7,0x0c,0x04]
-v_sad_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xf9,0x0c,0x04]
-v_sad_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x65,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xfd,0x0c,0x04]
-v_sad_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x66,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xff,0x0c,0x04]
-v_sad_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x67,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x01,0x0d,0x04]
-v_sad_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x6a,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x83,0x0d,0x04]
-v_sad_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x6b,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xe1,0x0d,0x04]
-v_sad_u32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x6c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xef,0x0d,0x04]
-v_sad_u32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x6d,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x07]
-v_sad_u32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x6e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x00]
-v_sad_u32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x6f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x96,0x01]
-v_sad_u32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x7b,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x9a,0x01]
-v_sad_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x7c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x9e,0x01]
-v_sad_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x7e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xaa,0x01]
-v_sad_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x7f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xae,0x01]
-v_sad_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x80,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xb2,0x01]
-v_sad_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0xc1,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xb6,0x01]
-v_sad_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0xf0,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xba,0x01]
-v_sad_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0xf7,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xbe,0x01]
-v_sad_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x01,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xee,0x01]
-v_sad_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0xff,0x01,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xf2,0x01]
-v_sad_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x82,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfa,0x01]
-v_sad_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xe0,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x01]
-v_sad_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xee,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x02,0x02]
-v_sad_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x04,0x02,0x02]
+v_alignbyte_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x06,0x03]
-v_sad_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xfe,0x03,0x02]
+v_alignbyte_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xc2,0x03]
-v_sad_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x05,0x03]
+v_alignbyte_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xde,0x03]
-v_sad_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0xff,0x05,0x0e,0x04]
-v_sad_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x65,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x66,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x65,0x00,0x01,0x02]
+v_min3_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x67,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x66,0x00,0x01,0x02]
+v_min3_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6a,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x67,0x00,0x01,0x02]
+v_min3_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6b,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6c,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x6b,0x00,0x01,0x02]
+v_min3_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6d,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x6c,0x00,0x01,0x02]
+v_min3_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6e,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x6d,0x00,0x01,0x02]
+v_min3_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6f,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x6e,0x00,0x01,0x02]
+v_min3_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7b,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x6f,0x00,0x01,0x02]
+v_min3_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7c,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x7b,0x00,0x01,0x02]
+v_min3_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7e,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x7c,0x00,0x01,0x02]
+v_min3_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7f,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x80,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x7f,0x00,0x01,0x02]
+v_min3_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0xc1,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x80,0x00,0x01,0x02]
+v_min3_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0xf0,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0xf7,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xff,0x0f,0x04]
-v_cvt_pk_u8_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x01,0x01,0x02]
+v_min3_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xcb,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0xff,0x01,0x01,0x02]
+v_min3_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xcd,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x82,0x01,0x02]
+v_min3_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xcf,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xd5,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xee,0x01,0x02]
+v_min3_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xd7,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x04,0x02,0x02]
+v_min3_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xd9,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xdb,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x05,0x03]
+v_min3_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xdd,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xdf,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xf7,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xf9,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xfd,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x22]
+v_min3_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xff,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xdd,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x01,0x0d,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xdd,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x83,0x0d,0x04]
-v_div_fixup_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xe1,0x0d,0x04]
-v_div_fixup_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xef,0x0d,0x04]
-v_div_fixup_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x65,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x07]
-v_div_fixup_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x66,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x00]
-v_div_fixup_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x67,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x96,0x01]
-v_div_fixup_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x9a,0x01]
-v_div_fixup_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x6b,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x9e,0x01]
-v_div_fixup_f32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x6c,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xaa,0x01]
-v_div_fixup_f32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x6d,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xae,0x01]
-v_div_fixup_f32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x6e,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xb2,0x01]
-v_div_fixup_f32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x6f,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xb6,0x01]
-v_div_fixup_f32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x7b,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xba,0x01]
-v_div_fixup_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x7c,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xbe,0x01]
-v_div_fixup_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xee,0x01]
-v_div_fixup_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x7f,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xf2,0x01]
-v_div_fixup_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x80,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfa,0x01]
-v_div_fixup_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x01]
-v_div_fixup_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x02,0x02]
-v_div_fixup_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x06,0x03]
-v_div_fixup_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x01,0x01,0x02]
+v_min3_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xc2,0x03]
-v_div_fixup_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0xff,0x01,0x01,0x02]
+v_min3_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xde,0x03]
-v_div_fixup_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x82,0x01,0x02]
+v_min3_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x24]
-v_div_fixup_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x44]
-v_div_fixup_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xee,0x01,0x02]
+v_min3_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x84]
-v_div_fixup_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x04,0x02,0x02]
+v_min3_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0xe4]
-v_div_fixup_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x05,0x03]
+v_min3_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x0c]
-v_div_fixup_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x22]
+v_min3_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x14]
-v_div_fixup_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x42]
+v_min3_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x1c]
-v_div_fixup_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x82]
+v_min3_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0xe2]
+v_min3_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0xff,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x65,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x66,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x67,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x0a]
+v_min3_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6a,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x12]
+v_min3_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6b,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x1a]
+v_min3_i32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6c,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_min3_i32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6d,0x04,0x0e,0x04]
-v_div_fixup_f64 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_min3_i32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6e,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x04,0x00,0x01,0x02]
+v_min3_i32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6f,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[100:101], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x64,0x00,0x01,0x02]
+v_min3_i32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7b,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x66,0x00,0x01,0x02]
+v_min3_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7c,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7e,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], tba, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x6c,0x00,0x01,0x02]
+v_min3_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7f,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], tma, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x6e,0x00,0x01,0x02]
+v_min3_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x80,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], ttmp[10:11], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x7a,0x00,0x01,0x02]
+v_min3_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0xc1,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0xf0,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x80,0x00,0x01,0x02]
+v_min3_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0xf7,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xff,0x0f,0x04]
-v_div_fixup_f64 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0c,0x04]
-v_div_fixup_f64 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_i32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xcb,0x0c,0x04]
-v_div_fixup_f64 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x01,0x01,0x02]
+v_min3_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xcd,0x0c,0x04]
-v_div_fixup_f64 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0xfe,0x01,0x01,0x02]
+v_min3_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xcf,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x82,0x01,0x02]
+v_min3_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xd5,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0xe0,0x01,0x02]
+v_min3_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xd7,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0xee,0x01,0x02]
+v_min3_i32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xd9,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], v[2:3], 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x04,0x02,0x02]
+v_min3_i32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xdb,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], v[254:255], 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0xfc,0x03,0x02]
+v_min3_i32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xdd,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x05,0x03]
+v_min3_i32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xdf,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xc1,0x03]
+v_min3_i32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xf7,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, -4.0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xdd,0x03]
+v_min3_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xf9,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, v[3:4]
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x0d,0x04]
+v_min3_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xfd,0x0c,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_min3_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xff,0x0c,0x04]
-v_div_fixup_f64 v[5:6], -s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x22]
+v_min3_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x01,0x0d,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], neg(0), 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x42]
+v_min3_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x83,0x0d,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, neg(0)
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x82]
+v_min3_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xe1,0x0d,0x04]
-v_div_fixup_f64 v[5:6], -s[2:3], neg(0), neg(0)
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0xe2]
+v_min3_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xef,0x0d,0x04]
-v_div_fixup_f64 v[5:6], |s[2:3]|, 0, 0
-// CHECK: [0x05,0x01,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x07]
-v_div_fixup_f64 v[5:6], s[2:3], |0|, 0
-// CHECK: [0x05,0x02,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x00]
-v_div_fixup_f64 v[5:6], s[2:3], 0, |0|
-// CHECK: [0x05,0x04,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x96,0x01]
-v_div_fixup_f64 v[5:6], |s[2:3]|, |0|, |0|
-// CHECK: [0x05,0x07,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x9a,0x01]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 clamp
-// CHECK: [0x05,0x80,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x9e,0x01]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:2
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x0a]
+v_min3_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xaa,0x01]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:4
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x12]
+v_min3_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xae,0x01]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 div:2
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x1a]
+v_min3_i32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xb2,0x01]
-v_div_scale_f32 v5, vcc, s1, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xb6,0x01]
-v_div_scale_f32 v255, vcc, s1, 0, 0
-// CHECK: [0xff,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xba,0x01]
-v_div_scale_f32 v5, vcc, s101, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x65,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xbe,0x01]
-v_div_scale_f32 v5, vcc, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x66,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xee,0x01]
-v_div_scale_f32 v5, vcc, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x67,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xf2,0x01]
-v_div_scale_f32 v5, vcc, vcc_lo, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfa,0x01]
-v_div_scale_f32 v5, vcc, vcc_hi, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x6b,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x01]
-v_div_scale_f32 v5, vcc, tba_lo, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x6c,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x02,0x02]
-v_div_scale_f32 v5, vcc, tba_hi, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x6d,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x06,0x03]
-v_div_scale_f32 v5, vcc, tma_lo, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x6e,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xc2,0x03]
-v_div_scale_f32 v5, vcc, tma_hi, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x6f,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xde,0x03]
-v_div_scale_f32 v5, vcc, ttmp11, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x7b,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04]
-v_div_scale_f32 v5, vcc, m0, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x7c,0x00,0x01,0x02]
+v_min3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04]
-v_div_scale_f32 v5, vcc, exec_lo, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0xff,0x05,0x0e,0x04]
-v_div_scale_f32 v5, vcc, exec_hi, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x7f,0x00,0x01,0x02]
+v_min3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, 0, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x80,0x00,0x01,0x02]
+v_min3_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x65,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, -1, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x66,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, 0.5, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x67,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, -4.0, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6a,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, v1, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x01,0x01,0x02]
+v_min3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6b,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, v255, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0xff,0x01,0x01,0x02]
+v_min3_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6c,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, -1, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x82,0x01,0x02]
+v_min3_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6d,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0.5, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6e,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, -4.0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xee,0x01,0x02]
+v_min3_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6f,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, v2, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x04,0x02,0x02]
+v_min3_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7b,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, v255, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7c,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, -1
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x05,0x03]
+v_min3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7e,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, 0.5
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7f,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, -4.0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x80,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, v3
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0xc1,0x04,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, v255
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0xf0,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02]
+v_min3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0xf7,0x04,0x0e,0x04]
-v_div_scale_f64 v[254:255], vcc, s[2:3], 0, 0
-// CHECK: [0xfe,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xff,0x0f,0x04]
-v_div_scale_f64 v[5:6], vcc, s[4:5], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x04,0x00,0x01,0x02]
+v_min3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[100:101], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x64,0x00,0x01,0x02]
+v_min3_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xcb,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, flat_scratch, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x66,0x00,0x01,0x02]
+v_min3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xcd,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, vcc, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xcf,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, tba, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x6c,0x00,0x01,0x02]
+v_min3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xd5,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, tma, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x6e,0x00,0x01,0x02]
+v_min3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xd7,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, ttmp[10:11], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x7a,0x00,0x01,0x02]
+v_min3_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xd9,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, exec, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xdb,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, 0, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x80,0x00,0x01,0x02]
+v_min3_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xdd,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, -1, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xdf,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, 0.5, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xf7,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, -4.0, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xf9,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, v[1:2], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x01,0x01,0x02]
+v_min3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xfd,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, v[254:255], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0xfe,0x01,0x01,0x02]
+v_min3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xff,0x0c,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], -1, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x82,0x01,0x02]
+v_min3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x01,0x0d,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0.5, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0xe0,0x01,0x02]
+v_min3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x83,0x0d,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], -4.0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0xee,0x01,0x02]
+v_min3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xe1,0x0d,0x04]
-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_min3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xef,0x0d,0x04]
-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_min3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x07]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -1
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x05,0x03]
+v_min3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x00]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0.5
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xc1,0x03]
+v_min3_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x96,0x01]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -4.0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xdd,0x03]
+v_min3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x9a,0x01]
-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_min3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x9e,0x01]
-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_min3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xaa,0x01]
-v_div_fmas_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xae,0x01]
-v_div_fmas_f32 v255, 0, 0, 0
-// CHECK: [0xff,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xb2,0x01]
-v_div_fmas_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xb6,0x01]
-v_div_fmas_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xba,0x01]
-v_div_fmas_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xbe,0x01]
-v_div_fmas_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x01,0x01,0x02]
+v_min3_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xee,0x01]
-v_div_fmas_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0xff,0x01,0x01,0x02]
+v_min3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xf2,0x01]
-v_div_fmas_f32 v5, 0, -1, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x82,0x01,0x02]
+v_min3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfa,0x01]
-v_div_fmas_f32 v5, 0, 0.5, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0xe0,0x01,0x02]
+v_min3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x01]
-v_div_fmas_f32 v5, 0, -4.0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0xee,0x01,0x02]
+v_min3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x02,0x02]
-v_div_fmas_f32 v5, 0, v2, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x04,0x02,0x02]
+v_min3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x06,0x03]
-v_div_fmas_f32 v5, 0, v255, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0xfe,0x03,0x02]
+v_min3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xc2,0x03]
-v_div_fmas_f32 v5, 0, 0, -1
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x05,0x03]
+v_min3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xde,0x03]
-v_div_fmas_f32 v5, 0, 0, 0.5
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xc1,0x03]
+v_max3_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, -4.0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xdd,0x03]
+v_max3_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, v3
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x0d,0x04]
+v_max3_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0xff,0x05,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, v255
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xfd,0x07]
+v_max3_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, neg(0), 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x22]
+v_max3_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x65,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, neg(0), 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x42]
+v_max3_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x66,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, neg(0)
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x82]
+v_max3_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x67,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, neg(0), neg(0), neg(0)
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0xe2]
+v_max3_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6a,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, |0|, 0, 0
-// CHECK: [0x05,0x01,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6b,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, |0|, 0
-// CHECK: [0x05,0x02,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6c,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, |0|
-// CHECK: [0x05,0x04,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6d,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, |0|, |0|, |0|
-// CHECK: [0x05,0x07,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6e,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 clamp
-// CHECK: [0x05,0x80,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6f,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x0a]
+v_max3_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7b,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x12]
+v_max3_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7c,0x04,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 div:2
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x1a]
+v_max3_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7e,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7f,0x04,0x0e,0x04]
-v_div_fmas_f64 v[254:255], vcc, vcc, vcc
-// CHECK: [0xfe,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x80,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], 0, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x80,0xd4,0xa8,0x01]
+v_max3_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0xc1,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], -1, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0xc1,0xd4,0xa8,0x01]
+v_max3_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0xf0,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], 0.5, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0xf0,0xd4,0xa8,0x01]
+v_max3_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0xf7,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], -4.0, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0xf7,0xd4,0xa8,0x01]
+v_max3_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xff,0x0f,0x04]
-v_div_fmas_f64 v[5:6], v[1:2], vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xd5,0xa8,0x01]
+v_max3_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0c,0x04]
-v_div_fmas_f64 v[5:6], v[254:255], vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0xfe,0xd5,0xa8,0x01]
+v_max3_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xcb,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, 0, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x00,0xa9,0x01]
+v_max3_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xcd,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, -1, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x82,0xa9,0x01]
+v_max3_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xcf,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, 0.5, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xe0,0xa9,0x01]
+v_max3_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xd5,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, -4.0, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xee,0xa9,0x01]
+v_max3_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xd7,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, v[2:3], vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x04,0xaa,0x01]
+v_max3_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xd9,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, v[254:255], vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xfc,0xab,0x01]
+v_max3_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xdb,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, 0
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x00,0x02]
+v_max3_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xdd,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, -1
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x04,0x03]
+v_max3_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xdf,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, 0.5
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xc0,0x03]
+v_max3_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xf7,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, -4.0
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xdc,0x03]
+v_max3_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xf9,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, v[3:4]
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x0c,0x04]
+v_max3_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xfd,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, v[254:255]
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xf8,0x07]
+v_max3_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xff,0x0c,0x04]
-v_div_fmas_f64 v[5:6], -vcc, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x21]
+v_max3_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x01,0x0d,0x04]
-v_div_fmas_f64 v[5:6], vcc, -vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x41]
+v_max3_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x83,0x0d,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, -vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x81]
+v_max3_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xe1,0x0d,0x04]
-v_div_fmas_f64 v[5:6], -vcc, -vcc, -vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0xe1]
+v_max3_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xef,0x0d,0x04]
-v_div_fmas_f64 v[5:6], |vcc|, vcc, vcc
-// CHECK: [0x05,0x01,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x07]
-v_div_fmas_f64 v[5:6], vcc, |vcc|, vcc
-// CHECK: [0x05,0x02,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x00]
-v_div_fmas_f64 v[5:6], vcc, vcc, |vcc|
-// CHECK: [0x05,0x04,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x96,0x01]
-v_div_fmas_f64 v[5:6], |vcc|, |vcc|, |vcc|
-// CHECK: [0x05,0x07,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x9a,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc clamp
-// CHECK: [0x05,0x80,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x9e,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:2
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x09]
+v_max3_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xaa,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:4
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x11]
+v_max3_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xae,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc div:2
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x19]
+v_max3_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xb2,0x01]
-v_msad_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xb6,0x01]
-v_msad_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xba,0x01]
-v_msad_u8 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x65,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xbe,0x01]
-v_msad_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x66,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xee,0x01]
-v_msad_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x67,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xf2,0x01]
-v_msad_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x6a,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfa,0x01]
-v_msad_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x6b,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x01]
-v_msad_u8 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x6c,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x02,0x02]
-v_msad_u8 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x6d,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x06,0x03]
-v_msad_u8 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x6e,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xc2,0x03]
-v_msad_u8 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x6f,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xde,0x03]
-v_msad_u8 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x7b,0x00,0x01,0x02]
+v_max3_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x24]
-v_msad_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x7c,0x00,0x01,0x02]
+v_max3_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x44]
-v_msad_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x7e,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x84]
-v_msad_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x7f,0x00,0x01,0x02]
+v_max3_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0xe4]
-v_msad_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x80,0x00,0x01,0x02]
+v_max3_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0xc1,0x00,0x01,0x02]
+v_max3_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0xf0,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0xf7,0x00,0x01,0x02]
+v_max3_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x01,0x01,0x02]
+v_max3_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0xff,0x01,0x01,0x02]
+v_max3_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x0c]
-v_msad_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x82,0x01,0x02]
+v_max3_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x14]
-v_msad_u8 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xe0,0x01,0x02]
+v_max3_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x1c]
-v_msad_u8 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xee,0x01,0x02]
+v_max3_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x04,0x02,0x02]
+v_max3_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xfe,0x03,0x02]
+v_max3_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0xff,0x05,0x0e,0x04]
-v_msad_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x05,0x03]
+v_max3_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xc1,0x03]
+v_max3_i32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x65,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xdd,0x03]
+v_max3_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x66,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x0d,0x04]
+v_max3_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x67,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xfd,0x07]
+v_max3_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6a,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02]
+v_max3_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6b,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02]
+v_max3_i32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6c,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x04,0x00,0x01,0x02]
+v_max3_i32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6d,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[100:101], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x64,0x00,0x01,0x02]
+v_max3_i32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6e,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x66,0x00,0x01,0x02]
+v_max3_i32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6f,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x6a,0x00,0x01,0x02]
+v_max3_i32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7b,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], tba, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x6c,0x00,0x01,0x02]
+v_max3_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7c,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], tma, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x6e,0x00,0x01,0x02]
+v_max3_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7e,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], ttmp[10:11], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x7a,0x00,0x01,0x02]
+v_max3_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7f,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x7e,0x00,0x01,0x02]
+v_max3_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x80,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0xc1,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0xc1,0x00,0x01,0x02]
+v_max3_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0xf0,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0xf0,0x00,0x01,0x02]
+v_max3_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0xf7,0x04,0x0e,0x04]
-v_qsad_pk_u16_u8 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0xf7,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xff,0x0f,0x04]
-v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x01,0x01,0x02]
+v_max3_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0xfe,0x01,0x01,0x02]
+v_max3_i32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xcb,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x82,0x01,0x02]
+v_max3_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xcd,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0xe0,0x01,0x02]
+v_max3_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xcf,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0xee,0x01,0x02]
+v_max3_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xd5,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x04,0x02,0x02]
+v_max3_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xd7,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], v255, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0xfe,0x03,0x02]
+v_max3_i32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xd9,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x05,0x03]
+v_max3_i32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xdb,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xc1,0x03]
+v_max3_i32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xdd,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, -4.0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xdd,0x03]
+v_max3_i32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xdf,0x0c,0x04]
-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_max3_i32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xf7,0x0c,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_max3_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xf9,0x0c,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02]
+v_max3_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xfd,0x0c,0x04]
-v_mqsad_pk_u16_u8 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02]
+v_max3_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xff,0x0c,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x04,0x00,0x01,0x02]
+v_max3_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x01,0x0d,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[100:101], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x64,0x00,0x01,0x02]
+v_max3_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x83,0x0d,0x04]
-v_mqsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x66,0x00,0x01,0x02]
+v_max3_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xe1,0x0d,0x04]
-v_mqsad_pk_u16_u8 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x6a,0x00,0x01,0x02]
+v_max3_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xef,0x0d,0x04]
-v_mqsad_pk_u16_u8 v[5:6], tba, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x6c,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x07]
-v_mqsad_pk_u16_u8 v[5:6], tma, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x6e,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x00]
-v_mqsad_pk_u16_u8 v[5:6], ttmp[10:11], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x7a,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x96,0x01]
-v_mqsad_pk_u16_u8 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x7e,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x9a,0x01]
-v_mqsad_pk_u16_u8 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x9e,0x01]
-v_mqsad_pk_u16_u8 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0xc1,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xaa,0x01]
-v_mqsad_pk_u16_u8 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0xf0,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xae,0x01]
-v_mqsad_pk_u16_u8 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0xf7,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xb2,0x01]
-v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x01,0x01,0x02]
+v_max3_i32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xb6,0x01]
-v_mqsad_pk_u16_u8 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0xfe,0x01,0x01,0x02]
+v_max3_i32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xba,0x01]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x82,0x01,0x02]
+v_max3_i32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xbe,0x01]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0xe0,0x01,0x02]
+v_max3_i32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xee,0x01]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0xee,0x01,0x02]
+v_max3_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xf2,0x01]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x04,0x02,0x02]
+v_max3_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfa,0x01]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], v255, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0xfe,0x03,0x02]
+v_max3_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x01]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x05,0x03]
+v_max3_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x02,0x02]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0xc1,0x03]
+v_max3_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x06,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_max3_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xc2,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_max3_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xde,0x03]
-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_max3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, s2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x04,0x0c,0x04]
+v_max3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04]
-v_mqsad_u32_u8 v[252:255], 0, s2, v[3:6]
-// CHECK: [0xfc,0x00,0xe7,0xd1,0x80,0x04,0x0c,0x04]
+v_max3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0xff,0x05,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], -1, s2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0xc1,0x04,0x0c,0x04]
+v_max3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0.5, s2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0xf0,0x04,0x0c,0x04]
+v_max3_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x65,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], -4.0, s2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0xf7,0x04,0x0c,0x04]
+v_max3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x66,0x04,0x0e,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_max3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x67,0x04,0x0e,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_max3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6a,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, s101, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xca,0x0c,0x04]
+v_max3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6b,0x04,0x0e,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_max3_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6c,0x04,0x0e,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_max3_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6d,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, vcc_lo, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xd4,0x0c,0x04]
+v_max3_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6e,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, vcc_hi, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xd6,0x0c,0x04]
+v_max3_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6f,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, tba_lo, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xd8,0x0c,0x04]
+v_max3_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7b,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, tba_hi, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xda,0x0c,0x04]
+v_max3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7c,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, tma_lo, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xdc,0x0c,0x04]
+v_max3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7e,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, tma_hi, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xde,0x0c,0x04]
+v_max3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7f,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, ttmp11, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xf6,0x0c,0x04]
+v_max3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x80,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, m0, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xf8,0x0c,0x04]
+v_max3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0xc1,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, exec_lo, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xfc,0x0c,0x04]
+v_max3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0xf0,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, exec_hi, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xfe,0x0c,0x04]
+v_max3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0xf7,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, 0, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x00,0x0d,0x04]
+v_max3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xff,0x0f,0x04]
-v_mqsad_u32_u8 v[5:8], 0, -1, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x82,0x0d,0x04]
+v_max3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, 0.5, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xe0,0x0d,0x04]
+v_max3_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xcb,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, -4.0, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xee,0x0d,0x04]
+v_max3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xcd,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, v2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x04,0x0e,0x04]
+v_max3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xcf,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, v255, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xfe,0x0f,0x04]
+v_max3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xd5,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, s2, v[252:255]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x04,0xf0,0x07]
+v_max3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xd7,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xd9,0x0c,0x04]
-v_mad_u64_u32 v[254:255], s[12:13], s1, 0, 0
-// CHECK: [0xfe,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xdb,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[14:15], s1, 0, 0
-// CHECK: [0x05,0x0e,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xdd,0x0c,0x04]
-v_mad_u64_u32 v[5:6], s[100:101], s1, 0, 0
-// CHECK: [0x05,0x64,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xdf,0x0c,0x04]
-v_mad_u64_u32 v[5:6], flat_scratch, s1, 0, 0
-// CHECK: [0x05,0x66,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xf7,0x0c,0x04]
-v_mad_u64_u32 v[5:6], vcc, s1, 0, 0
-// CHECK: [0x05,0x6a,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xf9,0x0c,0x04]
-v_mad_u64_u32 v[5:6], tba, s1, 0, 0
-// CHECK: [0x05,0x6c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xfd,0x0c,0x04]
-v_mad_u64_u32 v[5:6], tma, s1, 0, 0
-// CHECK: [0x05,0x6e,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xff,0x0c,0x04]
-v_mad_u64_u32 v[5:6], ttmp[10:11], s1, 0, 0
-// CHECK: [0x05,0x7a,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x01,0x0d,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s101, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x65,0x00,0x01,0x02]
+v_max3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x83,0x0d,0x04]
-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_max3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xe1,0x0d,0x04]
-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_max3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xef,0x0d,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x6a,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x07]
-v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x6b,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x00]
-v_mad_u64_u32 v[5:6], s[12:13], tba_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x6c,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x96,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], tba_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x6d,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x9a,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], tma_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x6e,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x9e,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], tma_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x6f,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xaa,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], ttmp11, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x7b,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xae,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], m0, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x7c,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xb2,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], exec_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x7e,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xb6,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], exec_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x7f,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xba,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], 0, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x80,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xbe,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], -1, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0xc1,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xee,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], 0.5, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0xf0,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xf2,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], -4.0, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0xf7,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfa,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], v1, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x01,0x01,0x02]
+v_max3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], v255, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0xff,0x01,0x01,0x02]
+v_max3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x02,0x02]
-v_mad_u64_u32 v[5:6], s[12:13], s1, -1, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x82,0x01,0x02]
+v_max3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x06,0x03]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0.5, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xe0,0x01,0x02]
+v_max3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xc2,0x03]
-v_mad_u64_u32 v[5:6], s[12:13], s1, -4.0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xee,0x01,0x02]
+v_max3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xde,0x03]
-v_mad_u64_u32 v[5:6], s[12:13], s1, v2, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x04,0x02,0x02]
+v_med3_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, v255, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xfe,0x03,0x02]
+v_med3_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -1
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x05,0x03]
+v_med3_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0.5
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xc1,0x03]
+v_med3_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -4.0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xdd,0x03]
+v_med3_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x65,0x04,0x0e,0x04]
-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_med3_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x66,0x04,0x0e,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_med3_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x67,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6a,0x04,0x0e,0x04]
-v_mad_i64_i32 v[254:255], s[12:13], s1, 0, 0
-// CHECK: [0xfe,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6b,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[14:15], s1, 0, 0
-// CHECK: [0x05,0x0e,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6c,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[100:101], s1, 0, 0
-// CHECK: [0x05,0x64,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6d,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], flat_scratch, s1, 0, 0
-// CHECK: [0x05,0x66,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6e,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], vcc, s1, 0, 0
-// CHECK: [0x05,0x6a,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6f,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], tba, s1, 0, 0
-// CHECK: [0x05,0x6c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7b,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], tma, s1, 0, 0
-// CHECK: [0x05,0x6e,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7c,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], ttmp[10:11], s1, 0, 0
-// CHECK: [0x05,0x7a,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7e,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s101, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x65,0x00,0x01,0x02]
+v_med3_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7f,0x04,0x0e,0x04]
-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_med3_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x80,0x04,0x0e,0x04]
-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_med3_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0xc1,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0xf0,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x6b,0x00,0x01,0x02]
+v_med3_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0xf7,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], tba_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x6c,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xff,0x0f,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], tba_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x6d,0x00,0x01,0x02]
+v_med3_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], tma_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x6e,0x00,0x01,0x02]
+v_med3_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xcb,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], tma_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x6f,0x00,0x01,0x02]
+v_med3_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xcd,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], ttmp11, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x7b,0x00,0x01,0x02]
+v_med3_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xcf,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], m0, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x7c,0x00,0x01,0x02]
+v_med3_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xd5,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], exec_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x7e,0x00,0x01,0x02]
+v_med3_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xd7,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], exec_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x7f,0x00,0x01,0x02]
+v_med3_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xd9,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], 0, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x80,0x00,0x01,0x02]
+v_med3_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xdb,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], -1, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xdd,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], 0.5, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xdf,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], -4.0, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xf7,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], v1, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x01,0x01,0x02]
+v_med3_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xf9,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], v255, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0xff,0x01,0x01,0x02]
+v_med3_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xfd,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, -1, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x82,0x01,0x02]
+v_med3_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xff,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0.5, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xe0,0x01,0x02]
+v_med3_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x01,0x0d,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, -4.0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xee,0x01,0x02]
+v_med3_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x83,0x0d,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, v2, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x04,0x02,0x02]
+v_med3_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xe1,0x0d,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, v255, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xfe,0x03,0x02]
+v_med3_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xef,0x0d,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, -1
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x05,0x03]
+v_med3_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x07]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0.5
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xc1,0x03]
+v_med3_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x00]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, -4.0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xdd,0x03]
+v_med3_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x96,0x01]
-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_med3_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x9a,0x01]
-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_med3_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x9e,0x01]
-v_mad_f16 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xaa,0x01]
-v_mad_f16 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xea,0xd1,0x01,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xae,0x01]
-v_mad_f16 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x65,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xb2,0x01]
-v_mad_f16 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x66,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xb6,0x01]
-v_mad_f16 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x67,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xba,0x01]
-v_mad_f16 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xbe,0x01]
-v_mad_f16 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x6b,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xee,0x01]
-v_mad_f16 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x6c,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xf2,0x01]
-v_mad_f16 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x6d,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfa,0x01]
-v_mad_f16 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x6e,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x01]
-v_mad_f16 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x6f,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x02,0x02]
-v_mad_f16 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x7b,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x06,0x03]
-v_mad_f16 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x7c,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xc2,0x03]
-v_mad_f16 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x7e,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xde,0x03]
-v_mad_f16 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x7f,0x00,0x01,0x02]
+v_med3_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x24]
-v_mad_f16 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x80,0x00,0x01,0x02]
+v_med3_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x44]
-v_mad_f16 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x84]
-v_mad_f16 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0xe4]
-v_mad_f16 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f16 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x01,0x01,0x02]
+v_med3_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f16 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0xff,0x01,0x01,0x02]
+v_med3_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f16 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x82,0x01,0x02]
+v_med3_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f16 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xe0,0x01,0x02]
+v_med3_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f16 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xee,0x01,0x02]
+v_med3_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x0c]
-v_mad_f16 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x04,0x02,0x02]
+v_med3_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x14]
-v_mad_f16 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xfe,0x03,0x02]
+v_med3_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x1c]
-v_mad_f16 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0x05,0x03]
+v_med3_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f16 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0xc1,0x03]
+v_med3_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f16 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0xdd,0x03]
+v_med3_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_f16 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0x0d,0x04]
+v_med3_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_f16 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0xfd,0x07]
+v_med3_i32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x65,0x04,0x0e,0x04]
-v_mad_f16 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x22]
+v_med3_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x66,0x04,0x0e,0x04]
-v_mad_f16 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x42]
+v_med3_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x67,0x04,0x0e,0x04]
-v_mad_f16 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x82]
+v_med3_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6a,0x04,0x0e,0x04]
-v_mad_f16 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0xe2]
+v_med3_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6b,0x04,0x0e,0x04]
-v_mad_f16 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xea,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6c,0x04,0x0e,0x04]
-v_mad_f16 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xea,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6d,0x04,0x0e,0x04]
-v_mad_f16 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xea,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6e,0x04,0x0e,0x04]
-v_mad_f16 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xea,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6f,0x04,0x0e,0x04]
-v_mad_f16 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xea,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7b,0x04,0x0e,0x04]
-v_mad_u16 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7c,0x04,0x0e,0x04]
-v_mad_u16 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xeb,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7e,0x04,0x0e,0x04]
-v_mad_u16 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x65,0x00,0x01,0x02]
+v_med3_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7f,0x04,0x0e,0x04]
-v_mad_u16 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x66,0x00,0x01,0x02]
+v_med3_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x80,0x04,0x0e,0x04]
-v_mad_u16 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x67,0x00,0x01,0x02]
+v_med3_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0xc1,0x04,0x0e,0x04]
-v_mad_u16 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0xf0,0x04,0x0e,0x04]
-v_mad_u16 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x6b,0x00,0x01,0x02]
+v_med3_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0xf7,0x04,0x0e,0x04]
-v_mad_u16 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x6c,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xff,0x0f,0x04]
-v_mad_u16 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x6d,0x00,0x01,0x02]
+v_med3_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0c,0x04]
-v_mad_u16 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x6e,0x00,0x01,0x02]
+v_med3_i32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xcb,0x0c,0x04]
-v_mad_u16 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x6f,0x00,0x01,0x02]
+v_med3_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xcd,0x0c,0x04]
-v_mad_u16 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x7b,0x00,0x01,0x02]
+v_med3_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xcf,0x0c,0x04]
-v_mad_u16 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x7c,0x00,0x01,0x02]
+v_med3_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xd5,0x0c,0x04]
-v_mad_u16 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x7e,0x00,0x01,0x02]
+v_med3_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xd7,0x0c,0x04]
-v_mad_u16 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x7f,0x00,0x01,0x02]
+v_med3_i32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xd9,0x0c,0x04]
-v_mad_u16 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x80,0x00,0x01,0x02]
+v_med3_i32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xdb,0x0c,0x04]
-v_mad_u16 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_i32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xdd,0x0c,0x04]
-v_mad_u16 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_i32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xdf,0x0c,0x04]
-v_mad_u16 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_i32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xf7,0x0c,0x04]
-v_mad_u16 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x01,0x01,0x02]
+v_med3_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xf9,0x0c,0x04]
-v_mad_u16 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0xff,0x01,0x01,0x02]
+v_med3_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xfd,0x0c,0x04]
-v_mad_u16 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x82,0x01,0x02]
+v_med3_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xff,0x0c,0x04]
-v_mad_u16 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xe0,0x01,0x02]
+v_med3_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x01,0x0d,0x04]
-v_mad_u16 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xee,0x01,0x02]
+v_med3_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x83,0x0d,0x04]
-v_mad_u16 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x04,0x02,0x02]
+v_med3_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xe1,0x0d,0x04]
-v_mad_u16 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xfe,0x03,0x02]
+v_med3_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xef,0x0d,0x04]
-v_mad_u16 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x00,0x05,0x03]
+v_med3_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x07]
-v_mad_u16 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x00,0xc1,0x03]
+v_med3_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x00]
-v_mad_u16 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x00,0xdd,0x03]
+v_med3_i32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x96,0x01]
-v_mad_u16 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x00,0x0d,0x04]
+v_med3_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x9a,0x01]
-v_mad_u16 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x00,0xfd,0x07]
+v_med3_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x9e,0x01]
-v_mad_i16 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xaa,0x01]
-v_mad_i16 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xec,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xae,0x01]
-v_mad_i16 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x65,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xb2,0x01]
-v_mad_i16 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x66,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xb6,0x01]
-v_mad_i16 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x67,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xba,0x01]
-v_mad_i16 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xbe,0x01]
-v_mad_i16 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x6b,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xee,0x01]
-v_mad_i16 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x6c,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xf2,0x01]
-v_mad_i16 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x6d,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfa,0x01]
-v_mad_i16 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x6e,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x01]
-v_mad_i16 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x6f,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x02,0x02]
-v_mad_i16 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x7b,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x06,0x03]
-v_mad_i16 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x7c,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xc2,0x03]
-v_mad_i16 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x7e,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xde,0x03]
-v_mad_i16 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x7f,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_i16 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x80,0x00,0x01,0x02]
+v_med3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_i16 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_i16 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_i16 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x65,0x04,0x0e,0x04]
-v_mad_i16 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x01,0x01,0x02]
+v_med3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x66,0x04,0x0e,0x04]
-v_mad_i16 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0xff,0x01,0x01,0x02]
+v_med3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x67,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x82,0x01,0x02]
+v_med3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6a,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xe0,0x01,0x02]
+v_med3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6b,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xee,0x01,0x02]
+v_med3_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6c,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x04,0x02,0x02]
+v_med3_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6d,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xfe,0x03,0x02]
+v_med3_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6e,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x00,0x05,0x03]
+v_med3_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6f,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x00,0xc1,0x03]
+v_med3_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7b,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x00,0xdd,0x03]
+v_med3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7c,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x00,0x0d,0x04]
+v_med3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7e,0x04,0x0e,0x04]
-v_mad_i16 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x00,0xfd,0x07]
+v_med3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7f,0x04,0x0e,0x04]
-v_perm_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x80,0x04,0x0e,0x04]
-v_perm_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xed,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0xc1,0x04,0x0e,0x04]
-v_perm_b32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x65,0x00,0x01,0x02]
+v_med3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0xf0,0x04,0x0e,0x04]
-v_perm_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x66,0x00,0x01,0x02]
+v_med3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0xf7,0x04,0x0e,0x04]
-v_perm_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x67,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xff,0x0f,0x04]
-v_perm_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0c,0x04]
-v_perm_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x6b,0x00,0x01,0x02]
+v_med3_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xcb,0x0c,0x04]
-v_perm_b32 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x6c,0x00,0x01,0x02]
+v_med3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xcd,0x0c,0x04]
-v_perm_b32 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x6d,0x00,0x01,0x02]
+v_med3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xcf,0x0c,0x04]
-v_perm_b32 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x6e,0x00,0x01,0x02]
+v_med3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xd5,0x0c,0x04]
-v_perm_b32 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x6f,0x00,0x01,0x02]
+v_med3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xd7,0x0c,0x04]
-v_perm_b32 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x7b,0x00,0x01,0x02]
+v_med3_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xd9,0x0c,0x04]
-v_perm_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x7c,0x00,0x01,0x02]
+v_med3_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xdb,0x0c,0x04]
-v_perm_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x7e,0x00,0x01,0x02]
+v_med3_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xdd,0x0c,0x04]
-v_perm_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x7f,0x00,0x01,0x02]
+v_med3_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xdf,0x0c,0x04]
-v_perm_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x80,0x00,0x01,0x02]
+v_med3_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xf7,0x0c,0x04]
-v_perm_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xf9,0x0c,0x04]
-v_perm_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xfd,0x0c,0x04]
-v_perm_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xff,0x0c,0x04]
-v_perm_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x01,0x01,0x02]
+v_med3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x01,0x0d,0x04]
-v_perm_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0xff,0x01,0x01,0x02]
+v_med3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x83,0x0d,0x04]
-v_perm_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x82,0x01,0x02]
+v_med3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xe1,0x0d,0x04]
-v_perm_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xe0,0x01,0x02]
+v_med3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xef,0x0d,0x04]
-v_perm_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xee,0x01,0x02]
+v_med3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x07]
-v_perm_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x04,0x02,0x02]
+v_med3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x00]
-v_perm_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xfe,0x03,0x02]
+v_med3_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x96,0x01]
-v_perm_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x05,0x03]
+v_med3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x9a,0x01]
-v_perm_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xc1,0x03]
+v_med3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x9e,0x01]
-v_perm_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xdd,0x03]
+v_med3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xaa,0x01]
-v_perm_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x0d,0x04]
+v_med3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xae,0x01]
-v_perm_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xfd,0x07]
+v_med3_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xb2,0x01]
-v_fma_f16 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xb6,0x01]
-v_fma_f16 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xee,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xba,0x01]
-v_fma_f16 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x65,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xbe,0x01]
-v_fma_f16 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x66,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xee,0x01]
-v_fma_f16 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x67,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xf2,0x01]
-v_fma_f16 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfa,0x01]
-v_fma_f16 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x6b,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x01]
-v_fma_f16 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x6c,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x02,0x02]
-v_fma_f16 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x6d,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x06,0x03]
-v_fma_f16 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x6e,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xc2,0x03]
-v_fma_f16 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x6f,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xde,0x03]
-v_fma_f16 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x7b,0x00,0x01,0x02]
+v_sad_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f16 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x7c,0x00,0x01,0x02]
+v_sad_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f16 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x7e,0x00,0x01,0x02]
+v_sad_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0xff,0x05,0x0e,0x04]
-v_fma_f16 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x7f,0x00,0x01,0x02]
+v_sad_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x04,0x0e,0x04]
-v_fma_f16 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x80,0x00,0x01,0x02]
+v_sad_u8 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x65,0x04,0x0e,0x04]
-v_fma_f16 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0xc1,0x00,0x01,0x02]
+v_sad_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x66,0x04,0x0e,0x04]
-v_fma_f16 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0xf0,0x00,0x01,0x02]
+v_sad_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x67,0x04,0x0e,0x04]
-v_fma_f16 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0xf7,0x00,0x01,0x02]
+v_sad_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6a,0x04,0x0e,0x04]
-v_fma_f16 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x01,0x01,0x02]
+v_sad_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6b,0x04,0x0e,0x04]
-v_fma_f16 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0xff,0x01,0x01,0x02]
+v_sad_u8 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6c,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x82,0x01,0x02]
+v_sad_u8 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6d,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xe0,0x01,0x02]
+v_sad_u8 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6e,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xee,0x01,0x02]
+v_sad_u8 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6f,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x04,0x02,0x02]
+v_sad_u8 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7b,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xfe,0x03,0x02]
+v_sad_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7c,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0x05,0x03]
+v_sad_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7e,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0xc1,0x03]
+v_sad_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7f,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0xdd,0x03]
+v_sad_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x80,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0x0d,0x04]
+v_sad_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0xc1,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0xfd,0x07]
+v_sad_u8 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0xf0,0x04,0x0e,0x04]
-v_fma_f16 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x22]
+v_sad_u8 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0xf7,0x04,0x0e,0x04]
-v_fma_f16 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x42]
+v_sad_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xff,0x0f,0x04]
-v_fma_f16 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x82]
+v_sad_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0c,0x04]
-v_fma_f16 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0xe2]
+v_sad_u8 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xcb,0x0c,0x04]
-v_fma_f16 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xee,0xd1,0x01,0x00,0x01,0x02]
+v_sad_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xcd,0x0c,0x04]
-v_fma_f16 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xee,0xd1,0x01,0x00,0x01,0x02]
+v_sad_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xcf,0x0c,0x04]
-v_fma_f16 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xee,0xd1,0x01,0x00,0x01,0x02]
+v_sad_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xd5,0x0c,0x04]
-v_fma_f16 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xee,0xd1,0x01,0x00,0x01,0x02]
+v_sad_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xd7,0x0c,0x04]
-v_fma_f16 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xee,0xd1,0x01,0x00,0x01,0x02]
+v_sad_u8 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xd9,0x0c,0x04]
-v_div_fixup_f16 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x02]
+v_sad_u8 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xdb,0x0c,0x04]
-v_div_fixup_f16 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xef,0xd1,0x01,0x00,0x01,0x02]
+v_sad_u8 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xdd,0x0c,0x04]
-v_div_fixup_f16 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x65,0x00,0x01,0x02]
+v_sad_u8 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xdf,0x0c,0x04]
-v_div_fixup_f16 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x66,0x00,0x01,0x02]
+v_sad_u8 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xf7,0x0c,0x04]
-v_div_fixup_f16 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x67,0x00,0x01,0x02]
+v_sad_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xf9,0x0c,0x04]
-v_div_fixup_f16 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x6a,0x00,0x01,0x02]
+v_sad_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xfd,0x0c,0x04]
-v_div_fixup_f16 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x6b,0x00,0x01,0x02]
+v_sad_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xff,0x0c,0x04]
-v_div_fixup_f16 v5, tba_lo, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x6c,0x00,0x01,0x02]
+v_sad_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x01,0x0d,0x04]
-v_div_fixup_f16 v5, tba_hi, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x6d,0x00,0x01,0x02]
+v_sad_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x83,0x0d,0x04]
-v_div_fixup_f16 v5, tma_lo, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x6e,0x00,0x01,0x02]
+v_sad_u8 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xe1,0x0d,0x04]
-v_div_fixup_f16 v5, tma_hi, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x6f,0x00,0x01,0x02]
+v_sad_u8 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xef,0x0d,0x04]
-v_div_fixup_f16 v5, ttmp11, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x7b,0x00,0x01,0x02]
+v_sad_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x07]
-v_div_fixup_f16 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x7c,0x00,0x01,0x02]
+v_sad_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x00]
-v_div_fixup_f16 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x7e,0x00,0x01,0x02]
+v_sad_u8 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x96,0x01]
-v_div_fixup_f16 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x7f,0x00,0x01,0x02]
+v_sad_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x9a,0x01]
-v_div_fixup_f16 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x80,0x00,0x01,0x02]
+v_sad_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x9e,0x01]
-v_div_fixup_f16 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0xc1,0x00,0x01,0x02]
+v_sad_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xaa,0x01]
-v_div_fixup_f16 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0xf0,0x00,0x01,0x02]
+v_sad_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xae,0x01]
-v_div_fixup_f16 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0xf7,0x00,0x01,0x02]
+v_sad_u8 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xb2,0x01]
-v_div_fixup_f16 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x01,0x01,0x02]
+v_sad_u8 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xb6,0x01]
-v_div_fixup_f16 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0xff,0x01,0x01,0x02]
+v_sad_u8 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xba,0x01]
-v_div_fixup_f16 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x82,0x01,0x02]
+v_sad_u8 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xbe,0x01]
-v_div_fixup_f16 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xe0,0x01,0x02]
+v_sad_u8 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xee,0x01]
-v_div_fixup_f16 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xee,0x01,0x02]
+v_sad_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xf2,0x01]
-v_div_fixup_f16 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x04,0x02,0x02]
+v_sad_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfa,0x01]
-v_div_fixup_f16 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xfe,0x03,0x02]
+v_sad_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x01]
-v_div_fixup_f16 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0x05,0x03]
+v_sad_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x02,0x02]
-v_div_fixup_f16 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0xc1,0x03]
+v_sad_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x06,0x03]
-v_div_fixup_f16 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0xdd,0x03]
+v_sad_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xc2,0x03]
-v_div_fixup_f16 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0x0d,0x04]
+v_sad_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xde,0x03]
-v_div_fixup_f16 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0xfd,0x07]
+v_sad_hi_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f16 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x22]
+v_sad_hi_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f16 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x42]
+v_sad_hi_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0xff,0x05,0x0e,0x04]
-v_div_fixup_f16 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x82]
+v_sad_hi_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x04,0x0e,0x04]
-v_div_fixup_f16 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0xe2]
+v_sad_hi_u8 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x65,0x04,0x0e,0x04]
-v_div_fixup_f16 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xef,0xd1,0x01,0x00,0x01,0x02]
+v_sad_hi_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x66,0x04,0x0e,0x04]
-v_div_fixup_f16 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xef,0xd1,0x01,0x00,0x01,0x02]
+v_sad_hi_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x67,0x04,0x0e,0x04]
-v_div_fixup_f16 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xef,0xd1,0x01,0x00,0x01,0x02]
+v_sad_hi_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x6a,0x04,0x0e,0x04]
-v_div_fixup_f16 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xef,0xd1,0x01,0x00,0x01,0x02]
+v_sad_hi_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x6b,0x04,0x0e,0x04]
-v_div_fixup_f16 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xef,0xd1,0x01,0x00,0x01,0x02]
+v_sad_hi_u8 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x6c,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x04,0x00,0x00]
+v_sad_hi_u8 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x6d,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0xf0,0xd1,0x80,0x04,0x00,0x00]
+v_sad_hi_u8 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x6e,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, -1, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0xc1,0x04,0x00,0x00]
+v_sad_hi_u8 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x6f,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0xf0,0x04,0x00,0x00]
+v_sad_hi_u8 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x7b,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0xf7,0x04,0x00,0x00]
+v_sad_hi_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x7c,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, v1, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x00,0x00]
+v_sad_hi_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x80,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xff,0x0f,0x04]
+
+v_sad_hi_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xff,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x01,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x83,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xef,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x07]
+
+v_sad_hi_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x00]
+
+v_sad_hi_u8 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x96,0x01]
+
+v_sad_hi_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x9a,0x01]
+
+v_sad_hi_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x9e,0x01]
+
+v_sad_hi_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xaa,0x01]
+
+v_sad_hi_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xae,0x01]
+
+v_sad_hi_u8 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xb2,0x01]
+
+v_sad_hi_u8 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xb6,0x01]
+
+v_sad_hi_u8 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xba,0x01]
+
+v_sad_hi_u8 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xbe,0x01]
+
+v_sad_hi_u8 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xee,0x01]
+
+v_sad_hi_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xf2,0x01]
+
+v_sad_hi_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfa,0x01]
+
+v_sad_hi_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x01]
+
+v_sad_hi_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x02,0x02]
+
+v_sad_hi_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x06,0x03]
+
+v_sad_hi_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xc2,0x03]
+
+v_sad_hi_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xde,0x03]
+
+v_sad_u16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_u16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_u16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0xff,0x05,0x0e,0x04]
+
+v_sad_u16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x04,0x0e,0x04]
+
+v_sad_u16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x65,0x04,0x0e,0x04]
+
+v_sad_u16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x66,0x04,0x0e,0x04]
+
+v_sad_u16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x67,0x04,0x0e,0x04]
+
+v_sad_u16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_sad_u16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_sad_u16 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_sad_u16 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_sad_u16 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_sad_u16 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_sad_u16 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_sad_u16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_sad_u16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_sad_u16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_sad_u16 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x80,0x04,0x0e,0x04]
+
+v_sad_u16 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_sad_u16 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_sad_u16 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_sad_u16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xff,0x0f,0x04]
+
+v_sad_u16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0c,0x04]
+
+v_sad_u16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_sad_u16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_sad_u16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_sad_u16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_sad_u16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_sad_u16 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_sad_u16 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_sad_u16 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_sad_u16 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_sad_u16 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_sad_u16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_sad_u16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_sad_u16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xff,0x0c,0x04]
+
+v_sad_u16 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x01,0x0d,0x04]
+
+v_sad_u16 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x83,0x0d,0x04]
+
+v_sad_u16 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_sad_u16 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xef,0x0d,0x04]
+
+v_sad_u16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x07]
+
+v_sad_u16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x00]
+
+v_sad_u16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x96,0x01]
+
+v_sad_u16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x9a,0x01]
+
+v_sad_u16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x9e,0x01]
+
+v_sad_u16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xaa,0x01]
+
+v_sad_u16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xae,0x01]
+
+v_sad_u16 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xb2,0x01]
+
+v_sad_u16 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xb6,0x01]
+
+v_sad_u16 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xba,0x01]
+
+v_sad_u16 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xbe,0x01]
+
+v_sad_u16 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xee,0x01]
+
+v_sad_u16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xf2,0x01]
+
+v_sad_u16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfa,0x01]
+
+v_sad_u16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x01]
+
+v_sad_u16 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x02,0x02]
+
+v_sad_u16 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x06,0x03]
+
+v_sad_u16 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xc2,0x03]
+
+v_sad_u16 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xde,0x03]
+
+v_sad_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0xff,0x05,0x0e,0x04]
+
+v_sad_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x04,0x0e,0x04]
+
+v_sad_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x65,0x04,0x0e,0x04]
+
+v_sad_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x66,0x04,0x0e,0x04]
+
+v_sad_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x67,0x04,0x0e,0x04]
+
+v_sad_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_sad_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_sad_u32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_sad_u32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_sad_u32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_sad_u32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_sad_u32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_sad_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_sad_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_sad_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_sad_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x80,0x04,0x0e,0x04]
+
+v_sad_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_sad_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_sad_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_sad_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xff,0x0f,0x04]
+
+v_sad_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0c,0x04]
+
+v_sad_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_sad_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_sad_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_sad_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_sad_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_sad_u32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_sad_u32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_sad_u32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_sad_u32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_sad_u32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_sad_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_sad_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_sad_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xff,0x0c,0x04]
+
+v_sad_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x01,0x0d,0x04]
+
+v_sad_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x83,0x0d,0x04]
+
+v_sad_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_sad_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xef,0x0d,0x04]
+
+v_sad_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x07]
+
+v_sad_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x00]
+
+v_sad_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x96,0x01]
+
+v_sad_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x9a,0x01]
+
+v_sad_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x9e,0x01]
+
+v_sad_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xaa,0x01]
+
+v_sad_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xae,0x01]
+
+v_sad_u32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xb2,0x01]
+
+v_sad_u32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xb6,0x01]
+
+v_sad_u32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xba,0x01]
+
+v_sad_u32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xbe,0x01]
+
+v_sad_u32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xee,0x01]
+
+v_sad_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xf2,0x01]
+
+v_sad_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfa,0x01]
+
+v_sad_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x01]
+
+v_sad_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x02,0x02]
+
+v_sad_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x06,0x03]
+
+v_sad_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xc2,0x03]
+
+v_sad_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xde,0x03]
+
+v_cvt_pk_u8_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0xff,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x65,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x66,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x67,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x80,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xff,0x0f,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xff,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x01,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x83,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xef,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x07]
+
+v_cvt_pk_u8_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x00]
+
+v_cvt_pk_u8_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x96,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x9a,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x9e,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xaa,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xae,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xb2,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xb6,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xba,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xbe,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xee,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xf2,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfa,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x02,0x02]
+
+v_cvt_pk_u8_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x06,0x03]
+
+v_cvt_pk_u8_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xc2,0x03]
+
+v_cvt_pk_u8_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xde,0x03]
+
+v_cvt_pk_u8_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x24]
+
+v_cvt_pk_u8_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0xff,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x65,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x66,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x67,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xff,0x0f,0x04]
+
+v_div_fixup_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xff,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x07]
+
+v_div_fixup_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x00]
+
+v_div_fixup_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x96,0x01]
+
+v_div_fixup_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x9a,0x01]
+
+v_div_fixup_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x9e,0x01]
+
+v_div_fixup_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_fixup_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xae,0x01]
+
+v_div_fixup_f32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xb2,0x01]
+
+v_div_fixup_f32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xb6,0x01]
+
+v_div_fixup_f32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xba,0x01]
+
+v_div_fixup_f32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xbe,0x01]
+
+v_div_fixup_f32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xee,0x01]
+
+v_div_fixup_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xf2,0x01]
+
+v_div_fixup_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfa,0x01]
+
+v_div_fixup_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x01]
+
+v_div_fixup_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_fixup_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_fixup_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_fixup_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fixup_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x24]
+
+v_div_fixup_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x44]
+
+v_div_fixup_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x84]
+
+v_div_fixup_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_div_fixup_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x0c]
+
+v_div_fixup_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x14]
+
+v_div_fixup_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x1c]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[254:255], v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], s[2:3], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], s[4:5], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x04,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], s[100:101], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x64,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], flat_scratch, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x66,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], tba, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], tma, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], ttmp[10:11], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x7a,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], exec, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0f,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], s[4:5], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x09,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], s[6:7], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x0d,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], s[100:101], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xc9,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], flat_scratch, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], tba, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], tma, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], ttmp[10:11], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xf5,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], exec, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x07]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[6:7]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x1a,0x00]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[8:9]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x22,0x00]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[100:101]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x92,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], flat_scratch
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x9a,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], tba
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xb2,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], tma
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xba,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], ttmp[10:11]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xea,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], exec
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -1
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fixup_f64 v[5:6], -v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x24]
+
+v_div_fixup_f64 v[5:6], v[1:2], -v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x44]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x84]
+
+v_div_fixup_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_div_fixup_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4]
+// CHECK: [0x05,0x01,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4]
+// CHECK: [0x05,0x02,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], |v[3:4]|
+// CHECK: [0x05,0x04,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]|
+// CHECK: [0x05,0x07,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp
+// CHECK: [0x05,0x80,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x0c]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x14]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x1c]
+
+v_div_scale_f32 v5, vcc, v1, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_scale_f32 v255, vcc, v1, v2, v3
+// CHECK: [0xff,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, v255, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xff,0x05,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, s1, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, s101, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x65,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x66,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x67,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, vcc_lo, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, vcc_hi, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, tba_lo, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, tba_hi, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, tma_lo, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, tma_hi, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, ttmp11, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, m0, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, exec_lo, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, exec_hi, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, 0, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, -1, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, 0.5, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, -4.0, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, v1, v255, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0f,0x04]
+
+v_div_scale_f32 v5, vcc, v1, s2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, s101, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, vcc_lo, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, vcc_hi, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, tba_lo, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, tba_hi, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, tma_lo, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, tma_hi, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, ttmp11, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, m0, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, exec_lo, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, exec_hi, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, 0, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_scale_f32 v5, vcc, v1, -1, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_scale_f32 v5, vcc, v1, 0.5, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_scale_f32 v5, vcc, v1, -4.0, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_scale_f32 v5, vcc, v1, v2, v255
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x07]
+
+v_div_scale_f32 v5, vcc, v1, v2, s3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x00]
+
+v_div_scale_f32 v5, vcc, v1, v2, s101
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x96,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9a,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9e,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, vcc_lo
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, vcc_hi
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xae,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, tba_lo
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xb2,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, tba_hi
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xb6,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, tma_lo
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xba,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, tma_hi
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xbe,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, ttmp11
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xee,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, m0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xf2,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, exec_lo
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfa,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, exec_hi
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_scale_f32 v5, vcc, v1, v2, -1
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_scale_f32 v5, vcc, v1, v2, 0.5
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_scale_f32 v5, vcc, v1, v2, -4.0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_scale_f64 v[254:255], vcc, v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, s[4:5], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x04,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, s[100:101], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x64,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, flat_scratch, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x66,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, tba, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, tma, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, ttmp[10:11], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x7a,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, exec, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0f,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], s[4:5], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x09,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], s[6:7], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x0d,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], s[100:101], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xc9,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], flat_scratch, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], tba, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], tma, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], ttmp[10:11], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xf5,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], exec, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x07]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[6:7]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x1a,0x00]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[8:9]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x22,0x00]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[100:101]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x92,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], flat_scratch
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x9a,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], tba
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xb2,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], tma
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xba,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], ttmp[10:11]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xea,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], exec
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -1
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fmas_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0xff,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_fmas_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_fmas_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_fmas_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0xff,0x0f,0x04]
+
+v_div_fmas_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_fmas_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_fmas_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_fmas_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_fmas_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xfe,0x07]
+
+v_div_fmas_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_fmas_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_fmas_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_fmas_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fmas_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x24]
+
+v_div_fmas_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x44]
+
+v_div_fmas_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x84]
+
+v_div_fmas_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_div_fmas_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x0c]
+
+v_div_fmas_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x14]
+
+v_div_fmas_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x1c]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[254:255], v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xfd,0x0f,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xfa,0x07]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -1
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fmas_f64 v[5:6], -v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x24]
+
+v_div_fmas_f64 v[5:6], v[1:2], -v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x44]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x84]
+
+v_div_fmas_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_div_fmas_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4]
+// CHECK: [0x05,0x01,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4]
+// CHECK: [0x05,0x02,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], |v[3:4]|
+// CHECK: [0x05,0x04,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]|
+// CHECK: [0x05,0x07,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp
+// CHECK: [0x05,0x80,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x0c]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x14]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x1c]
+
+v_msad_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04]
+
+v_msad_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04]
+
+v_msad_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0xff,0x05,0x0e,0x04]
+
+v_msad_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x04,0x0e,0x04]
+
+v_msad_u8 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x65,0x04,0x0e,0x04]
+
+v_msad_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x66,0x04,0x0e,0x04]
+
+v_msad_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x67,0x04,0x0e,0x04]
+
+v_msad_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_msad_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_msad_u8 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_msad_u8 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_msad_u8 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_msad_u8 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_msad_u8 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_msad_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_msad_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_msad_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_msad_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x80,0x04,0x0e,0x04]
+
+v_msad_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_msad_u8 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_msad_u8 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_msad_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xff,0x0f,0x04]
+
+v_msad_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0c,0x04]
+
+v_msad_u8 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_msad_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_msad_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_msad_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_msad_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_msad_u8 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_msad_u8 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_msad_u8 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_msad_u8 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_msad_u8 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_msad_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_msad_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_msad_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xff,0x0c,0x04]
+
+v_msad_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x01,0x0d,0x04]
+
+v_msad_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x83,0x0d,0x04]
+
+v_msad_u8 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_msad_u8 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xef,0x0d,0x04]
+
+v_msad_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x07]
+
+v_msad_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x00]
+
+v_msad_u8 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x96,0x01]
+
+v_msad_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x9a,0x01]
+
+v_msad_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x9e,0x01]
+
+v_msad_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xaa,0x01]
+
+v_msad_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xae,0x01]
+
+v_msad_u8 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xb2,0x01]
+
+v_msad_u8 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xb6,0x01]
+
+v_msad_u8 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xba,0x01]
+
+v_msad_u8 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xbe,0x01]
+
+v_msad_u8 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xee,0x01]
+
+v_msad_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xf2,0x01]
+
+v_msad_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfa,0x01]
+
+v_msad_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x01]
+
+v_msad_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x02,0x02]
+
+v_msad_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x06,0x03]
+
+v_msad_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xc2,0x03]
+
+v_msad_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xde,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4]
+// CHECK: [0xfe,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x04,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[100:101], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x64,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x66,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], tba, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], tma, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], ttmp[10:11], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x7a,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], exec, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], 0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x80,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], -1, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xff,0x0f,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], s101, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], tba_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], tba_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], tma_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], tma_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], ttmp11, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xff,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x01,0x0d,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x83,0x0d,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xef,0x0d,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x07]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x1a,0x00]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x22,0x00]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[100:101]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x92,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x9a,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xaa,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, tba
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xb2,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, tma
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xba,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, ttmp[10:11]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xea,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, exec
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x02,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, -1
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x06,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, 0.5
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xc2,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, -4.0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xde,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4]
+// CHECK: [0xfe,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x04,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[100:101], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x64,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], tba, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], tma, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], ttmp[10:11], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x7a,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], exec, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], 0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], -1, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xff,0x0f,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], s101, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], tba_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], tba_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], tma_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], tma_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], ttmp11, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x07]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x1a,0x00]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x22,0x00]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[100:101]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x92,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x9a,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xaa,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, tba
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xb2,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, tma
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xba,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, ttmp[10:11]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xea,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, exec
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x02,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, -1
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x06,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, 0.5
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xc2,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, -4.0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xde,0x03]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], s[2:3], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x02,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], s[4:5], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x04,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], s[100:101], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x64,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], flat_scratch, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], vcc, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], tba, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], tma, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], ttmp[10:11], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x7a,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], exec, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], 0, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], -1, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], 0.5, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], -4.0, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], s2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], s101, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], flat_scratch_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], flat_scratch_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], vcc_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], vcc_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], tba_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], tba_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], tma_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], tma_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], ttmp11, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], m0, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], exec_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], exec_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], 0, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], -1, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], 0.5, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], -4.0, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[254:255], s[12:13], v1, v2, v[3:4]
+// CHECK: [0xfe,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[14:15], v1, v2, v[3:4]
+// CHECK: [0x05,0x0e,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[100:101], v1, v2, v[3:4]
+// CHECK: [0x05,0x64,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], flat_scratch, v1, v2, v[3:4]
+// CHECK: [0x05,0x66,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], vcc, v1, v2, v[3:4]
+// CHECK: [0x05,0x6a,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], tba, v1, v2, v[3:4]
+// CHECK: [0x05,0x6c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], tma, v1, v2, v[3:4]
+// CHECK: [0x05,0x6e,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], ttmp[10:11], v1, v2, v[3:4]
+// CHECK: [0x05,0x7a,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v255, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xff,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], s101, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x65,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x67,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], tba_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], tba_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], tma_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], tma_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], ttmp11, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], m0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], exec_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], exec_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], 0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], -1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v255, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0f,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, s2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, s101, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, tba_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, tba_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, tma_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, tma_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, ttmp11, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, m0, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, exec_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, exec_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, 0, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, -1, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, 0.5, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, -4.0, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[254:255]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x07]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x1a,0x00]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x22,0x00]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[100:101]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x92,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x9a,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xaa,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xb2,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xba,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xea,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, exec
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x02,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -1
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x06,0x03]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0.5
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xc2,0x03]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -4.0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xde,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[254:255], s[12:13], v1, v2, v[3:4]
+// CHECK: [0xfe,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[14:15], v1, v2, v[3:4]
+// CHECK: [0x05,0x0e,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[100:101], v1, v2, v[3:4]
+// CHECK: [0x05,0x64,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], flat_scratch, v1, v2, v[3:4]
+// CHECK: [0x05,0x66,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], vcc, v1, v2, v[3:4]
+// CHECK: [0x05,0x6a,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], tba, v1, v2, v[3:4]
+// CHECK: [0x05,0x6c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], tma, v1, v2, v[3:4]
+// CHECK: [0x05,0x6e,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], ttmp[10:11], v1, v2, v[3:4]
+// CHECK: [0x05,0x7a,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v255, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xff,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], s101, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x65,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x67,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], tba_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], tba_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], tma_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], tma_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], ttmp11, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], m0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], exec_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], exec_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], 0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], -1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v255, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0f,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, s2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, s101, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, tba_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, tba_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, tma_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, tma_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, ttmp11, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, m0, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, exec_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, exec_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, 0, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, -1, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, 0.5, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, -4.0, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[254:255]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x07]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x1a,0x00]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x22,0x00]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[100:101]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x92,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x9a,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xaa,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, tba
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xb2,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, tma
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xba,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, ttmp[10:11]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xea,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, exec
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x02,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -1
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x06,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0.5
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xc2,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -4.0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xde,0x03]
+
+v_mad_f16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_f16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xea,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_f16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0xff,0x05,0x0e,0x04]
+
+v_mad_f16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x04,0x0e,0x04]
+
+v_mad_f16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x65,0x04,0x0e,0x04]
+
+v_mad_f16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mad_f16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x67,0x04,0x0e,0x04]
+
+v_mad_f16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mad_f16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_mad_f16 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_mad_f16 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_mad_f16 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_mad_f16 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_mad_f16 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_mad_f16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_mad_f16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mad_f16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_mad_f16 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mad_f16 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mad_f16 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mad_f16 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mad_f16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xff,0x0f,0x04]
+
+v_mad_f16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mad_f16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mad_f16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mad_f16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mad_f16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mad_f16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mad_f16 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_mad_f16 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_mad_f16 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_mad_f16 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_mad_f16 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_mad_f16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mad_f16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mad_f16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mad_f16 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mad_f16 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mad_f16 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mad_f16 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mad_f16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xfe,0x07]
+
+v_mad_f16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x00]
+
+v_mad_f16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x96,0x01]
+
+v_mad_f16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x9a,0x01]
+
+v_mad_f16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x9e,0x01]
+
+v_mad_f16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xaa,0x01]
+
+v_mad_f16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xae,0x01]
+
+v_mad_f16 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xb2,0x01]
+
+v_mad_f16 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xb6,0x01]
+
+v_mad_f16 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xba,0x01]
+
+v_mad_f16 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xbe,0x01]
+
+v_mad_f16 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xee,0x01]
+
+v_mad_f16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xf2,0x01]
+
+v_mad_f16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xfa,0x01]
+
+v_mad_f16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xfe,0x01]
+
+v_mad_f16 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x02,0x02]
+
+v_mad_f16 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x06,0x03]
+
+v_mad_f16 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xc2,0x03]
+
+v_mad_f16 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0xde,0x03]
+
+v_mad_f16 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x24]
+
+v_mad_f16 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x44]
+
+v_mad_f16 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x84]
+
+v_mad_f16 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_mad_f16 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xea,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_f16 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xea,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_f16 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xea,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_f16 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xea,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_f16 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xeb,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_u16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0xff,0x05,0x0e,0x04]
+
+v_mad_u16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x04,0x0e,0x04]
+
+v_mad_u16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x65,0x04,0x0e,0x04]
+
+v_mad_u16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mad_u16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x67,0x04,0x0e,0x04]
+
+v_mad_u16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mad_u16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_mad_u16 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_mad_u16 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_mad_u16 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_mad_u16 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_mad_u16 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_mad_u16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_mad_u16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mad_u16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_mad_u16 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mad_u16 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mad_u16 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mad_u16 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mad_u16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xff,0x0f,0x04]
+
+v_mad_u16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mad_u16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mad_u16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mad_u16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mad_u16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mad_u16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mad_u16 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_mad_u16 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_mad_u16 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_mad_u16 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_mad_u16 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_mad_u16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mad_u16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mad_u16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mad_u16 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mad_u16 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mad_u16 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mad_u16 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mad_u16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xfe,0x07]
+
+v_mad_u16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x0e,0x00]
+
+v_mad_u16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x96,0x01]
+
+v_mad_u16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x9a,0x01]
+
+v_mad_u16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x9e,0x01]
+
+v_mad_u16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xaa,0x01]
+
+v_mad_u16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xae,0x01]
+
+v_mad_u16 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xb2,0x01]
+
+v_mad_u16 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xb6,0x01]
+
+v_mad_u16 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xba,0x01]
-v_cvt_pkaccum_u8_f32 v5, v255, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0xff,0x05,0x00,0x00]
+v_mad_u16 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xbe,0x01]
-v_cvt_pkaccum_u8_f32 v5, 0, s101
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xca,0x00,0x00]
+v_mad_u16 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xee,0x01]
-v_cvt_pkaccum_u8_f32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xcc,0x00,0x00]
+v_mad_u16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xf2,0x01]
-v_cvt_pkaccum_u8_f32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xce,0x00,0x00]
+v_mad_u16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xfa,0x01]
-v_cvt_pkaccum_u8_f32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xd4,0x00,0x00]
+v_mad_u16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xfe,0x01]
-v_cvt_pkaccum_u8_f32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xd6,0x00,0x00]
+v_mad_u16 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x02,0x02]
-v_cvt_pkaccum_u8_f32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xd8,0x00,0x00]
+v_mad_u16 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x06,0x03]
-v_cvt_pkaccum_u8_f32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xda,0x00,0x00]
+v_mad_u16 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xc2,0x03]
-v_cvt_pkaccum_u8_f32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xdc,0x00,0x00]
+v_mad_u16 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xde,0x03]
-v_cvt_pkaccum_u8_f32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xde,0x00,0x00]
+v_mad_i16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xf6,0x00,0x00]
+v_mad_i16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xec,0xd1,0x01,0x05,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, m0
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xf8,0x00,0x00]
+v_mad_i16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0xff,0x05,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xfc,0x00,0x00]
+v_mad_i16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xfe,0x00,0x00]
+v_mad_i16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x65,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x00,0x01,0x00]
+v_mad_i16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x66,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, -1
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x82,0x01,0x00]
+v_mad_i16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x67,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xe0,0x01,0x00]
+v_mad_i16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x6a,0x04,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xee,0x01,0x00]
+v_mad_i16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_mad_i16 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_mad_i16 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_mad_i16 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_mad_i16 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_mad_i16 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_mad_i16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_mad_i16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mad_i16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_mad_i16 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mad_i16 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mad_i16 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mad_i16 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mad_i16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xff,0x0f,0x04]
+
+v_mad_i16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mad_i16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mad_i16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mad_i16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mad_i16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mad_i16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mad_i16 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_mad_i16 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_mad_i16 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_mad_i16 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_mad_i16 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_mad_i16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mad_i16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mad_i16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mad_i16 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mad_i16 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mad_i16 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mad_i16 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mad_i16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xfe,0x07]
+
+v_mad_i16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0x0e,0x00]
+
+v_mad_i16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0x96,0x01]
+
+v_mad_i16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0x9a,0x01]
+
+v_mad_i16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0x9e,0x01]
+
+v_mad_i16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xaa,0x01]
+
+v_mad_i16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xae,0x01]
+
+v_mad_i16 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xb2,0x01]
+
+v_mad_i16 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xb6,0x01]
+
+v_mad_i16 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xba,0x01]
+
+v_mad_i16 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xbe,0x01]
+
+v_mad_i16 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xee,0x01]
+
+v_mad_i16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xf2,0x01]
+
+v_mad_i16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xfa,0x01]
+
+v_mad_i16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xfe,0x01]
+
+v_mad_i16 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0x02,0x02]
+
+v_mad_i16 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0x06,0x03]
+
+v_mad_i16 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xc2,0x03]
+
+v_mad_i16 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x05,0xde,0x03]
+
+v_perm_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04]
+
+v_perm_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04]
+
+v_perm_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0xff,0x05,0x0e,0x04]
+
+v_perm_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x04,0x0e,0x04]
+
+v_perm_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x65,0x04,0x0e,0x04]
+
+v_perm_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x66,0x04,0x0e,0x04]
+
+v_perm_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x67,0x04,0x0e,0x04]
+
+v_perm_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_perm_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_perm_b32 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_perm_b32 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_perm_b32 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_perm_b32 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_perm_b32 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_perm_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_perm_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_perm_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_perm_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x80,0x04,0x0e,0x04]
+
+v_perm_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_perm_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_perm_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_perm_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xff,0x0f,0x04]
+
+v_perm_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0c,0x04]
+
+v_perm_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_perm_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_perm_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_perm_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_perm_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_perm_b32 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_perm_b32 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_perm_b32 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_perm_b32 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_perm_b32 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_perm_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_perm_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_perm_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xff,0x0c,0x04]
+
+v_perm_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x01,0x0d,0x04]
+
+v_perm_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x83,0x0d,0x04]
+
+v_perm_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_perm_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xef,0x0d,0x04]
+
+v_perm_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x07]
+
+v_perm_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x00]
+
+v_perm_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x96,0x01]
+
+v_perm_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x9a,0x01]
+
+v_perm_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x9e,0x01]
+
+v_perm_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xaa,0x01]
+
+v_perm_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xae,0x01]
+
+v_perm_b32 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xb2,0x01]
+
+v_perm_b32 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xb6,0x01]
+
+v_perm_b32 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xba,0x01]
+
+v_perm_b32 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xbe,0x01]
+
+v_perm_b32 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xee,0x01]
+
+v_perm_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xf2,0x01]
+
+v_perm_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfa,0x01]
+
+v_perm_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x01]
+
+v_perm_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x02,0x02]
+
+v_perm_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x06,0x03]
+
+v_perm_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xc2,0x03]
+
+v_perm_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xde,0x03]
+
+v_fma_f16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04]
+
+v_fma_f16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04]
+
+v_fma_f16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0xff,0x05,0x0e,0x04]
+
+v_fma_f16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x04,0x0e,0x04]
+
+v_fma_f16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x65,0x04,0x0e,0x04]
+
+v_fma_f16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x66,0x04,0x0e,0x04]
+
+v_fma_f16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x67,0x04,0x0e,0x04]
+
+v_fma_f16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_fma_f16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_fma_f16 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_fma_f16 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_fma_f16 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_fma_f16 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_fma_f16 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_fma_f16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_fma_f16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_fma_f16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_fma_f16 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x80,0x04,0x0e,0x04]
+
+v_fma_f16 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_fma_f16 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_fma_f16 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_fma_f16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xff,0x0f,0x04]
+
+v_fma_f16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0c,0x04]
+
+v_fma_f16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_fma_f16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_fma_f16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_fma_f16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_fma_f16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_fma_f16 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_fma_f16 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_fma_f16 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_fma_f16 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_fma_f16 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_fma_f16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_fma_f16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_fma_f16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xff,0x0c,0x04]
+
+v_fma_f16 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x01,0x0d,0x04]
+
+v_fma_f16 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x83,0x0d,0x04]
+
+v_fma_f16 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_fma_f16 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0xef,0x0d,0x04]
+
+v_fma_f16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xfe,0x07]
+
+v_fma_f16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x00]
+
+v_fma_f16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x96,0x01]
+
+v_fma_f16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x9a,0x01]
+
+v_fma_f16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x9e,0x01]
+
+v_fma_f16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xaa,0x01]
+
+v_fma_f16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xae,0x01]
+
+v_fma_f16 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xb2,0x01]
+
+v_fma_f16 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xb6,0x01]
+
+v_fma_f16 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xba,0x01]
+
+v_fma_f16 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xbe,0x01]
+
+v_fma_f16 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xee,0x01]
+
+v_fma_f16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xf2,0x01]
+
+v_fma_f16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xfa,0x01]
+
+v_fma_f16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xfe,0x01]
+
+v_fma_f16 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x02,0x02]
+
+v_fma_f16 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x06,0x03]
+
+v_fma_f16 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xc2,0x03]
+
+v_fma_f16 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0xde,0x03]
+
+v_fma_f16 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x24]
+
+v_fma_f16 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x44]
+
+v_fma_f16 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x84]
+
+v_fma_f16 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_fma_f16 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xee,0xd1,0x01,0x05,0x0e,0x04]
+
+v_fma_f16 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xee,0xd1,0x01,0x05,0x0e,0x04]
+
+v_fma_f16 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xee,0xd1,0x01,0x05,0x0e,0x04]
+
+v_fma_f16 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xee,0xd1,0x01,0x05,0x0e,0x04]
+
+v_fma_f16 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xef,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0xff,0x05,0x0e,0x04]
+
+v_div_fixup_f16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x65,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x66,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x67,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, tba_lo, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x6c,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, tba_hi, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x6d,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, tma_lo, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x6e,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, tma_hi, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x6f,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, ttmp11, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x7b,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_fixup_f16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xff,0x0f,0x04]
+
+v_div_fixup_f16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, tba_lo, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xd9,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, tba_hi, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xdb,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, tma_lo, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xdd,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, tma_hi, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xdf,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, ttmp11, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xf7,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xff,0x0c,0x04]
+
+v_div_fixup_f16 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_fixup_f16 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_fixup_f16 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_fixup_f16 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_fixup_f16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xfe,0x07]
+
+v_div_fixup_f16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x00]
+
+v_div_fixup_f16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x96,0x01]
+
+v_div_fixup_f16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x9a,0x01]
+
+v_div_fixup_f16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x9e,0x01]
+
+v_div_fixup_f16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_fixup_f16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xae,0x01]
+
+v_div_fixup_f16 v5, v1, v2, tba_lo
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xb2,0x01]
+
+v_div_fixup_f16 v5, v1, v2, tba_hi
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xb6,0x01]
+
+v_div_fixup_f16 v5, v1, v2, tma_lo
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xba,0x01]
+
+v_div_fixup_f16 v5, v1, v2, tma_hi
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xbe,0x01]
+
+v_div_fixup_f16 v5, v1, v2, ttmp11
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xee,0x01]
+
+v_div_fixup_f16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xf2,0x01]
+
+v_div_fixup_f16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xfa,0x01]
+
+v_div_fixup_f16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xfe,0x01]
+
+v_div_fixup_f16 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_fixup_f16 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_fixup_f16 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_fixup_f16 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fixup_f16 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x24]
+
+v_div_fixup_f16 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x44]
+
+v_div_fixup_f16 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x84]
+
+v_div_fixup_f16 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_div_fixup_f16 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xef,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f16 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xef,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f16 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xef,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f16 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xef,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f16 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04]
+
+v_cvt_pkaccum_u8_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v255, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xff,0x05,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x65,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x66,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x67,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x6b,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x6c,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x6d,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x6e,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x6f,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x7b,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x7f,0x04,0x02,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, -1, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xc1,0x04,0x02,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.5, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xf0,0x04,0x02,0x00]
-v_cvt_pkaccum_u8_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0xf0,0xd1,0x80,0x04,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xf7,0x04,0x02,0x00]
-v_cvt_pkaccum_u8_f32 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0xf0,0xd1,0x80,0x04,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, v255
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xff,0x03,0x00]
-v_add_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, s2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x00,0x00]
-v_add_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0x80,0xd2,0x04,0x08,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, s101
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xcb,0x00,0x00]
-v_add_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0x80,0x08,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xcd,0x00,0x00]
-v_add_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0xc1,0x08,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xcf,0x00,0x00]
-v_add_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0xf0,0x08,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xd5,0x00,0x00]
-v_add_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0xf7,0x08,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xd7,0x00,0x00]
-v_add_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x09,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xd9,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xdb,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xdd,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xdf,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xf7,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v1, m0
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xf9,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xfd,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xff,0x00,0x00]
-v_add_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0xfe,0x09,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, 0
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x01,0x01,0x00]
-v_add_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x00,0x01,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x83,0x01,0x00]
-v_add_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x82,0x01,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xe1,0x01,0x00]
-v_add_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0xe0,0x01,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xef,0x01,0x00]
-v_add_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0xee,0x01,0x00]
+v_cvt_pkaccum_u8_f32 v5, -v1, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x20]
+
+v_cvt_pkaccum_u8_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0xf0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0xf0,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0x80,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0xfe,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x02,0x04,0x02,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[100:101], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x66,0x04,0x02,0x00]
-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], vcc, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x6a,0x04,0x02,0x00]
-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], tba, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x6c,0x04,0x02,0x00]
-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], tma, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0xc1,0x04,0x02,0x00]
-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], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0xf0,0x04,0x02,0x00]
-v_add_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x18]
+v_add_f64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xfd,0x03,0x00]
-v_mul_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0x81,0xd2,0x04,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_mul_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0x80,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x0d,0x00,0x00]
-v_mul_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0xc1,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], s[100:101]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xc9,0x00,0x00]
-v_mul_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0xf0,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xcd,0x00,0x00]
-v_mul_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0xf7,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x09,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], tba
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xd9,0x00,0x00]
+
+v_add_f64 v[5:6], v[1:2], tma
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xdd,0x00,0x00]
+
+v_add_f64 v[5:6], v[1:2], ttmp[10:11]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xf5,0x00,0x00]
+
+v_add_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xfd,0x00,0x00]
+
+v_add_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x01,0x01,0x00]
+
+v_add_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x83,0x01,0x00]
+
+v_add_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xe1,0x01,0x00]
+
+v_add_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xef,0x01,0x00]
+
+v_add_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x20]
+
+v_add_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x40]
-v_mul_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0xfe,0x09,0x00,0x00]
+v_add_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x60]
-v_mul_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x00,0x01,0x00]
+v_add_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0x80,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x82,0x01,0x00]
+v_add_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0x80,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0xe0,0x01,0x00]
+v_add_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0x80,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0xee,0x01,0x00]
+v_add_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x80,0x80,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x08]
+
+v_add_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x10]
+
+v_add_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x18]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0xfe,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x02,0x04,0x02,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[100:101], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x66,0x04,0x02,0x00]
-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], vcc, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x6a,0x04,0x02,0x00]
-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], tba, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x6c,0x04,0x02,0x00]
-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], tma, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0xc1,0x04,0x02,0x00]
-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], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0xf0,0x04,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x18]
+v_mul_f64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0xf7,0x04,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xfd,0x03,0x00]
-v_min_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0x82,0xd2,0x04,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_min_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0x80,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x0d,0x00,0x00]
-v_min_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0xc1,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], s[100:101]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xc9,0x00,0x00]
-v_min_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0xf0,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xcd,0x00,0x00]
-v_min_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0xf7,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xd5,0x00,0x00]
-v_min_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x09,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], tba
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xd9,0x00,0x00]
+
+v_mul_f64 v[5:6], v[1:2], tma
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xdd,0x00,0x00]
+
+v_mul_f64 v[5:6], v[1:2], ttmp[10:11]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xf5,0x00,0x00]
+
+v_mul_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xfd,0x00,0x00]
+
+v_mul_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x01,0x01,0x00]
+
+v_mul_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x83,0x01,0x00]
+
+v_mul_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xe1,0x01,0x00]
+
+v_mul_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xef,0x01,0x00]
+
+v_mul_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x20]
-v_min_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0xfe,0x09,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x40]
-v_min_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x00,0x01,0x00]
+v_mul_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x60]
-v_min_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x82,0x01,0x00]
+v_mul_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0x81,0xd2,0x01,0x05,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0x82,0xd2,0x04,0xe0,0x01,0x00]
+v_mul_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0x81,0xd2,0x01,0x05,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0x82,0xd2,0x04,0xee,0x01,0x00]
+v_mul_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x80,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x08]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x10]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x18]
+
+v_min_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0x82,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0xfe,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x02,0x04,0x02,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[100:101], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x64,0x04,0x02,0x00]
+
+v_min_f64 v[5:6], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x66,0x04,0x02,0x00]
+
+v_min_f64 v[5:6], vcc, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x6c,0x04,0x02,0x00]
-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], tma, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x6e,0x04,0x02,0x00]
-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], ttmp[10:11], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x7a,0x04,0x02,0x00]
-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], exec, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0xf7,0x04,0x02,0x00]
-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], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xfd,0x03,0x00]
-v_min_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x18]
+v_min_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x09,0x00,0x00]
-v_max_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x0d,0x00,0x00]
-v_max_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0x83,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], s[100:101]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xc9,0x00,0x00]
-v_max_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0x80,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xcd,0x00,0x00]
-v_max_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0xc1,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xd5,0x00,0x00]
-v_max_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0xf0,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], tba
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xd9,0x00,0x00]
-v_max_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0xf7,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], tma
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xdd,0x00,0x00]
-v_max_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x09,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], ttmp[10:11]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xf5,0x00,0x00]
+
+v_min_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xfd,0x00,0x00]
+
+v_min_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x01,0x01,0x00]
+
+v_min_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x83,0x01,0x00]
+
+v_min_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xe1,0x01,0x00]
+
+v_min_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xef,0x01,0x00]
+
+v_min_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x20]
-v_max_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0xfe,0x09,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x40]
-v_max_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x00,0x01,0x00]
+v_min_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x60]
-v_max_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x82,0x01,0x00]
+v_min_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0x82,0xd2,0x01,0x05,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0xe0,0x01,0x00]
+v_min_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0x82,0xd2,0x01,0x05,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0xee,0x01,0x00]
+v_min_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0x82,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x80,0x82,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x08]
+
+v_min_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x10]
+
+v_min_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x18]
+
+v_max_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0x83,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0xfe,0x05,0x02,0x00]
+
+v_max_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x02,0x04,0x02,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[100:101], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x66,0x04,0x02,0x00]
-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], vcc, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x6a,0x04,0x02,0x00]
-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], tba, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x6c,0x04,0x02,0x00]
-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], tma, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0xc1,0x04,0x02,0x00]
-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], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0xf0,0x04,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x18]
+v_max_f64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0xf7,0x04,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, s2
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xfd,0x03,0x00]
-v_ldexp_f64 v[254:255], 0, s2
-// CHECK: [0xfe,0x00,0x84,0xd2,0x80,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x09,0x00,0x00]
-v_ldexp_f64 v[5:6], -1, s2
-// CHECK: [0x05,0x00,0x84,0xd2,0xc1,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x0d,0x00,0x00]
-v_ldexp_f64 v[5:6], 0.5, s2
-// CHECK: [0x05,0x00,0x84,0xd2,0xf0,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], s[100:101]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xc9,0x00,0x00]
-v_ldexp_f64 v[5:6], -4.0, s2
-// CHECK: [0x05,0x00,0x84,0xd2,0xf7,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xcd,0x00,0x00]
-v_ldexp_f64 v[5:6], v[1:2], s2
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xd5,0x00,0x00]
+
+v_max_f64 v[5:6], v[1:2], tba
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xd9,0x00,0x00]
+
+v_max_f64 v[5:6], v[1:2], tma
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xdd,0x00,0x00]
+
+v_max_f64 v[5:6], v[1:2], ttmp[10:11]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xf5,0x00,0x00]
+
+v_max_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xfd,0x00,0x00]
+
+v_max_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x01,0x01,0x00]
+
+v_max_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x83,0x01,0x00]
+
+v_max_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xe1,0x01,0x00]
-v_ldexp_f64 v[5:6], v[254:255], s2
-// CHECK: [0x05,0x00,0x84,0xd2,0xfe,0x05,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xef,0x01,0x00]
-v_ldexp_f64 v[5:6], 0, s101
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xca,0x00,0x00]
+v_max_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x20]
-v_ldexp_f64 v[5:6], 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xcc,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x40]
-v_ldexp_f64 v[5:6], 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xce,0x00,0x00]
+v_max_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x60]
-v_ldexp_f64 v[5:6], 0, vcc_lo
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xd4,0x00,0x00]
+v_max_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0x83,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, vcc_hi
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xd6,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0x83,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, tba_lo
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xd8,0x00,0x00]
+v_max_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0x83,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, tba_hi
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xda,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x80,0x83,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, tma_lo
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xdc,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x08]
-v_ldexp_f64 v[5:6], 0, tma_hi
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xde,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x10]
-v_ldexp_f64 v[5:6], 0, ttmp11
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xf6,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x18]
-v_ldexp_f64 v[5:6], 0, m0
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xf8,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, exec_lo
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xfc,0x00,0x00]
+v_ldexp_f64 v[254:255], v[1:2], v2
+// CHECK: [0xfe,0x00,0x84,0xd2,0x01,0x05,0x02,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], v[254:255], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0xfe,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x00,0x01,0x00]
+v_ldexp_f64 v[5:6], s[2:3], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x02,0x04,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, -1
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x82,0x01,0x00]
+v_ldexp_f64 v[5:6], s[4:5], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x04,0x04,0x02,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], s[100:101], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x64,0x04,0x02,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], flat_scratch, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x66,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], vcc, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x6a,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], tba, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x6c,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], tma, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x6e,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], ttmp[10:11], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x7a,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], exec, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x7e,0x04,0x02,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], -1, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0xc1,0x04,0x02,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.5, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0xf0,0x04,0x02,0x00]
-v_ldexp_f64 v[5:6], |0|, s2
-// CHECK: [0x05,0x01,0x84,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], -4.0, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0xf7,0x04,0x02,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], v[1:2], v255
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xff,0x03,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], v[1:2], s2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x00,0x00]
-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], v[1:2], s101
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xcb,0x00,0x00]
-v_ldexp_f64 v[5:6], 0, s2 div:2
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x18]
+v_ldexp_f64 v[5:6], v[1:2], flat_scratch_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xcd,0x00,0x00]
-v_mul_lo_u32 v5, 0, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], flat_scratch_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_lo_u32 v255, 0, s2
-// CHECK: [0xff,0x00,0x85,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], vcc_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_lo_u32 v5, -1, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0xc1,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], vcc_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_lo_u32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0xf0,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], tba_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd9,0x00,0x00]
-v_mul_lo_u32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0xf7,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], tba_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xdb,0x00,0x00]
-v_mul_lo_u32 v5, v1, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x05,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], tma_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xdd,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], tma_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xdf,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], ttmp11
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xf7,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], m0
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xf9,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], exec_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xfd,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], exec_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xff,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x01,0x01,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x83,0x01,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xe1,0x01,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xef,0x01,0x00]
+
+v_ldexp_f64 v[5:6], -v[1:2], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x20]
+
+v_ldexp_f64 v[5:6], |v[1:2]|, v2
+// CHECK: [0x05,0x01,0x84,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, v255, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0xff,0x05,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 clamp
+// CHECK: [0x05,0x80,0x84,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, s101
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xca,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 mul:2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x08]
-v_mul_lo_u32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xcc,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 mul:4
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x10]
-v_mul_lo_u32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xce,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 div:2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x18]
-v_mul_lo_u32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_lo_u32 v5, v1, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_lo_u32 v255, v1, v2
+// CHECK: [0xff,0x00,0x85,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_lo_u32 v5, v255, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0xff,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xda,0x00,0x00]
+v_mul_lo_u32 v5, s1, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_lo_u32 v5, s101, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x65,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xde,0x00,0x00]
+v_mul_lo_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x66,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_lo_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x67,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, m0
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_lo_u32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x6a,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_lo_u32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_lo_u32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, 0
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x00,0x01,0x00]
+v_mul_lo_u32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x6d,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, -1
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x82,0x01,0x00]
+v_mul_lo_u32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x6e,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_lo_u32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x6f,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xee,0x01,0x00]
+v_mul_lo_u32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, m0, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x7f,0x04,0x02,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_lo_u32 v5, -1, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, v255
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xff,0x03,0x00]
-v_mul_hi_u32 v255, 0, s2
-// CHECK: [0xff,0x00,0x86,0xd2,0x80,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, s2
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x05,0x00,0x00]
-v_mul_hi_u32 v5, -1, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, s101
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xcb,0x00,0x00]
-v_mul_hi_u32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xcd,0x00,0x00]
-v_mul_hi_u32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_hi_u32 v5, v1, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x00,0x00]
+v_mul_lo_u32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xd5,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xd7,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xd9,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xdb,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xdd,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xdf,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xf7,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, m0
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xf9,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xfd,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xff,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, 0
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x01,0x01,0x00]
-v_mul_hi_u32 v5, v255, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0xff,0x05,0x00,0x00]
+v_mul_lo_u32 v5, v1, -1
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x83,0x01,0x00]
-v_mul_hi_u32 v5, 0, s101
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xca,0x00,0x00]
+v_mul_lo_u32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_hi_u32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xcc,0x00,0x00]
+v_mul_lo_u32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xef,0x01,0x00]
-v_mul_hi_u32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xce,0x00,0x00]
+v_mul_hi_u32 v5, v1, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_u32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_hi_u32 v255, v1, v2
+// CHECK: [0xff,0x00,0x86,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_u32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_hi_u32 v5, v255, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0xff,0x05,0x02,0x00]
-v_mul_hi_u32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_hi_u32 v5, s1, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xda,0x00,0x00]
+v_mul_hi_u32 v5, s101, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x65,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_hi_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x66,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xde,0x00,0x00]
+v_mul_hi_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x67,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_hi_u32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x6a,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, m0
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_hi_u32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_hi_u32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_hi_u32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x6d,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x00,0x01,0x00]
+v_mul_hi_u32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x6e,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, -1
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x82,0x01,0x00]
+v_mul_hi_u32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x6f,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_hi_u32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x7b,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xee,0x01,0x00]
+v_mul_hi_u32 v5, m0, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x7f,0x04,0x02,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_u32 v5, -1, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0xc1,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_u32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0xf0,0x04,0x02,0x00]
-v_mul_hi_i32 v255, 0, s2
-// CHECK: [0xff,0x00,0x87,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_u32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_hi_i32 v5, -1, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_hi_u32 v5, v1, v255
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xff,0x03,0x00]
-v_mul_hi_i32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_hi_u32 v5, v1, s2
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x00,0x00]
-v_mul_hi_i32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_hi_u32 v5, v1, s101
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xcb,0x00,0x00]
-v_mul_hi_i32 v5, v1, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x05,0x00,0x00]
+v_mul_hi_u32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xcd,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xcf,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd5,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd7,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd9,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xdb,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xdd,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xdf,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xf7,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, m0
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xf9,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xfd,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xff,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, 0
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x01,0x01,0x00]
+
+v_mul_hi_u32 v5, v1, -1
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x83,0x01,0x00]
+
+v_mul_hi_u32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_hi_i32 v5, v255, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0xff,0x05,0x00,0x00]
+v_mul_hi_u32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xef,0x01,0x00]
-v_mul_hi_i32 v5, 0, s101
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xca,0x00,0x00]
+v_mul_hi_i32 v5, v1, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_i32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xcc,0x00,0x00]
+v_mul_hi_i32 v255, v1, v2
+// CHECK: [0xff,0x00,0x87,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_i32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xce,0x00,0x00]
+v_mul_hi_i32 v5, v255, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0xff,0x05,0x02,0x00]
-v_mul_hi_i32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_hi_i32 v5, s1, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_hi_i32 v5, s101, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x65,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_hi_i32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x66,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xda,0x00,0x00]
+v_mul_hi_i32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x67,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_hi_i32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x6a,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xde,0x00,0x00]
+v_mul_hi_i32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xf6,0x00,0x00]
+v_mul_hi_i32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x6c,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, m0
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_hi_i32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x6d,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_hi_i32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x6e,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_hi_i32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x6f,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, 0
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x00,0x01,0x00]
+v_mul_hi_i32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x7b,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, -1
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x82,0x01,0x00]
+v_mul_hi_i32 v5, m0, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x7c,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_hi_i32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x7e,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xee,0x01,0x00]
+v_mul_hi_i32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x7f,0x04,0x02,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_mul_hi_i32 v5, -1, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0xc1,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_i32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0xf0,0x04,0x02,0x00]
-v_ldexp_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0x88,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_i32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0xf7,0x04,0x02,0x00]
-v_ldexp_f32 v5, -1, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_hi_i32 v5, v1, v255
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xff,0x03,0x00]
-v_ldexp_f32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_hi_i32 v5, v1, s2
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x05,0x00,0x00]
-v_ldexp_f32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_hi_i32 v5, v1, s101
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xcb,0x00,0x00]
-v_ldexp_f32 v5, v1, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x00,0x00]
+v_mul_hi_i32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xcd,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xcf,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xd5,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xd7,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xd9,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xdb,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xdd,0x00,0x00]
-v_ldexp_f32 v5, v255, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0xff,0x05,0x00,0x00]
+v_mul_hi_i32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xdf,0x00,0x00]
-v_ldexp_f32 v5, 0, s101
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xca,0x00,0x00]
+v_mul_hi_i32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xf7,0x00,0x00]
-v_ldexp_f32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xcc,0x00,0x00]
+v_mul_hi_i32 v5, v1, m0
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xf9,0x00,0x00]
-v_ldexp_f32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xce,0x00,0x00]
+v_mul_hi_i32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xfd,0x00,0x00]
-v_ldexp_f32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_hi_i32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xff,0x00,0x00]
-v_ldexp_f32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_hi_i32 v5, v1, 0
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x01,0x01,0x00]
-v_ldexp_f32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xd8,0x00,0x00]
+v_mul_hi_i32 v5, v1, -1
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x83,0x01,0x00]
-v_ldexp_f32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xda,0x00,0x00]
+v_mul_hi_i32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xe1,0x01,0x00]
-v_ldexp_f32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xdc,0x00,0x00]
+v_mul_hi_i32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xef,0x01,0x00]
-v_ldexp_f32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xde,0x00,0x00]
+v_ldexp_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xf6,0x00,0x00]
+v_ldexp_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0x88,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, m0
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xf8,0x00,0x00]
+v_ldexp_f32 v5, v255, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0xff,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xfc,0x00,0x00]
+v_ldexp_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xfe,0x00,0x00]
+v_ldexp_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x65,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x00,0x01,0x00]
+v_ldexp_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x66,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, -1
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x82,0x01,0x00]
+v_ldexp_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x67,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xe0,0x01,0x00]
+v_ldexp_f32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x6a,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xee,0x01,0x00]
+v_ldexp_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x6b,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x6c,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x6d,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x6e,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x6f,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x7b,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x7c,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x7e,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x7f,0x04,0x02,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, -1, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0xc1,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0xf0,0x04,0x02,0x00]
-v_ldexp_f32 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x20]
+v_ldexp_f32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0xf7,0x04,0x02,0x00]
-v_ldexp_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0x88,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f32 v5, v1, v255
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xff,0x03,0x00]
-v_ldexp_f32 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x88,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f32 v5, v1, s2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x00,0x00]
+
+v_ldexp_f32 v5, v1, s101
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xcb,0x00,0x00]
+
+v_ldexp_f32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xcd,0x00,0x00]
+
+v_ldexp_f32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xcf,0x00,0x00]
+
+v_ldexp_f32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd5,0x00,0x00]
+
+v_ldexp_f32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd7,0x00,0x00]
+
+v_ldexp_f32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd9,0x00,0x00]
+
+v_ldexp_f32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xdb,0x00,0x00]
+
+v_ldexp_f32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xdd,0x00,0x00]
+
+v_ldexp_f32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xdf,0x00,0x00]
+
+v_ldexp_f32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xf7,0x00,0x00]
+
+v_ldexp_f32 v5, v1, m0
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xf9,0x00,0x00]
+
+v_ldexp_f32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xfd,0x00,0x00]
+
+v_ldexp_f32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xff,0x00,0x00]
+
+v_ldexp_f32 v5, v1, 0
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x01,0x01,0x00]
+
+v_ldexp_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x83,0x01,0x00]
+
+v_ldexp_f32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xe1,0x01,0x00]
+
+v_ldexp_f32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xef,0x01,0x00]
+
+v_ldexp_f32 v5, -v1, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x20]
-v_ldexp_f32 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x08]
+v_ldexp_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x88,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x10]
+v_ldexp_f32 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x88,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x18]
+v_ldexp_f32 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x08]
+
+v_ldexp_f32 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x10]
+
+v_ldexp_f32 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x18]
v_readlane_b32 s5, v1, s2
// CHECK: [0x05,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
@@ -47271,1055 +53199,1592 @@ v_writelane_b32 v5, 0, m0
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 v5, v1, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00]
+
+v_bcnt_u32_b32 v255, v1, v2
+// CHECK: [0xff,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00]
+
+v_bcnt_u32_b32 v5, v255, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xff,0x05,0x02,0x00]
+
+v_bcnt_u32_b32 v5, s1, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, s101, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x65,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x66,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x67,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x6a,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x6b,0x04,0x02,0x00]
-v_bcnt_u32_b32 v255, 0, s2
-// CHECK: [0xff,0x00,0x8b,0xd2,0x80,0x04,0x00,0x00]
+v_bcnt_u32_b32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x6c,0x04,0x02,0x00]
-v_bcnt_u32_b32 v5, -1, s2
-// CHECK: [0x05,0x00,0x8b,0xd2,0xc1,0x04,0x00,0x00]
+v_bcnt_u32_b32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x6d,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x6e,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x6f,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x7b,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, m0, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x7c,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x7e,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x7f,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x04,0x02,0x00]
-v_bcnt_u32_b32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x8b,0xd2,0xf0,0x04,0x00,0x00]
+v_bcnt_u32_b32 v5, -1, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xc1,0x04,0x02,0x00]
-v_bcnt_u32_b32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x8b,0xd2,0xf7,0x04,0x00,0x00]
+v_bcnt_u32_b32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xf0,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xf7,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, v1, v255
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xcb,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, s101
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xca,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xd5,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xd4,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xd7,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xd6,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xd9,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xd8,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xdb,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xda,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xdd,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xdc,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xdf,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xde,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xf7,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xf6,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, m0
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xf9,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, m0
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xf8,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xfd,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xfc,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xff,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xfe,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, 0
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0x01,0x01,0x00]
-v_bcnt_u32_b32 v5, 0, 0
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x00,0x01,0x00]
+v_bcnt_u32_b32 v5, v1, -1
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0x83,0x01,0x00]
-v_bcnt_u32_b32 v5, 0, -1
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x82,0x01,0x00]
+v_bcnt_u32_b32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xe1,0x01,0x00]
-v_bcnt_u32_b32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xe0,0x01,0x00]
+v_bcnt_u32_b32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xef,0x01,0x00]
-v_bcnt_u32_b32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xee,0x01,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00]
-v_bcnt_u32_b32 v5, 0, v2
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x04,0x02,0x00]
+v_mbcnt_lo_u32_b32 v255, v1, v2
+// CHECK: [0xff,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, v255, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xff,0x05,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, s1, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, s101, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x65,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x66,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x67,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6a,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, vcc_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6b,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, s2
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_lo_u32_b32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6c,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6d,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6e,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6f,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7b,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, m0, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xc1,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xf7,0x04,0x02,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, v255
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd9,0x00,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xd8,0x00,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xdb,0x00,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xda,0x00,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xdd,0x00,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xdc,0x00,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xdf,0x00,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xde,0x00,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xf7,0x00,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xf6,0x00,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, m0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x01,0x01,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x00,0x01,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, -1
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xef,0x01,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xee,0x01,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, v2
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x02,0x00]
+v_mbcnt_hi_u32_b32 v255, v1, v2
+// CHECK: [0xff,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, v255, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xff,0x05,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, s1, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, s101, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x65,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x66,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x67,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x6b,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x6c,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, tba_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x6d,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, s2
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x6e,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32 v255, 0, s2
-// CHECK: [0xff,0x00,0x8d,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x6f,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32 v5, -1, s2
-// CHECK: [0x05,0x00,0x8d,0xd2,0xc1,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x7b,0x04,0x02,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, m0, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x7c,0x04,0x02,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, exec_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, -1, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, v1, v255
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xd9,0x00,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xd8,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xdb,0x00,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xda,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xdd,0x00,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xdc,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xdf,0x00,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xde,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xf7,0x00,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xf6,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, m0
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0x01,0x01,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, 0
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x00,0x01,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, -1
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xef,0x01,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xee,0x01,0x00]
+v_lshlrev_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, v2
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x02,0x00]
+v_lshlrev_b64 v[254:255], v1, v[2:3]
+// CHECK: [0xfe,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], v255, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xff,0x05,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], s1, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], s101, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x65,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], flat_scratch_lo, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x66,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], flat_scratch_hi, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x67,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], vcc_lo, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x6a,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], vcc_hi, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x6b,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], tba_lo, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x6c,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], tba_hi, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x6d,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], tma_lo, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x6e,0x04,0x02,0x00]
-v_lshlrev_b64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x08,0x00,0x00]
+v_lshlrev_b64 v[5:6], tma_hi, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x6f,0x04,0x02,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], ttmp11, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x7b,0x04,0x02,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], m0, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x7c,0x04,0x02,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], exec_lo, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x7e,0x04,0x02,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], exec_hi, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x7f,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xc1,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xf0,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xf7,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], v1, v[254:255]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xfd,0x03,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], v1, s[6:7]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x0d,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], v1, s[100:101]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xc9,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], v1, flat_scratch
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xcd,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], v1, vcc
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xd5,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], v1, tba
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xd9,0x00,0x00]
-v_lshlrev_b64 v[5:6], 0, tba
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xd8,0x00,0x00]
+v_lshlrev_b64 v[5:6], v1, tma
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xdd,0x00,0x00]
-v_lshlrev_b64 v[5:6], 0, tma
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xdc,0x00,0x00]
+v_lshlrev_b64 v[5:6], v1, ttmp[10:11]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xf5,0x00,0x00]
-v_lshlrev_b64 v[5:6], 0, ttmp[10:11]
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xf4,0x00,0x00]
+v_lshlrev_b64 v[5:6], v1, exec
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xfd,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], v1, 0
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x01,0x01,0x00]
-v_lshlrev_b64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x00,0x01,0x00]
+v_lshlrev_b64 v[5:6], v1, -1
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x83,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], v1, 0.5
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xef,0x01,0x00]
-v_lshlrev_b64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xee,0x01,0x00]
+v_lshrrev_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0x02,0x00]
-v_lshlrev_b64 v[5:6], 0, v[2:3]
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x04,0x02,0x00]
+v_lshrrev_b64 v[254:255], v1, v[2:3]
+// CHECK: [0xfe,0x00,0x90,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], v255, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0xff,0x05,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], s1, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x04,0x02,0x00]
-v_lshrrev_b64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x08,0x00,0x00]
+v_lshrrev_b64 v[5:6], s101, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x65,0x04,0x02,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], flat_scratch_lo, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x66,0x04,0x02,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], flat_scratch_hi, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x67,0x04,0x02,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], vcc_lo, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x6a,0x04,0x02,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], vcc_hi, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x6b,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], tba_lo, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x6c,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], tba_hi, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x6d,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], tma_lo, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x6e,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], tma_hi, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x6f,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], ttmp11, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x7b,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], m0, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x7c,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], exec_lo, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x7e,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], exec_hi, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x7f,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0xc1,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0xf0,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0xf7,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], v1, v[254:255]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xfd,0x03,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], v1, s[6:7]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x0d,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], v1, s[100:101]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xc9,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], v1, flat_scratch
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xcd,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], v1, vcc
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xd5,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], v1, tba
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xd9,0x00,0x00]
-v_lshrrev_b64 v[5:6], 0, tba
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xd8,0x00,0x00]
+v_lshrrev_b64 v[5:6], v1, tma
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xdd,0x00,0x00]
-v_lshrrev_b64 v[5:6], 0, tma
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xdc,0x00,0x00]
+v_lshrrev_b64 v[5:6], v1, ttmp[10:11]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xf5,0x00,0x00]
-v_lshrrev_b64 v[5:6], 0, ttmp[10:11]
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xf4,0x00,0x00]
+v_lshrrev_b64 v[5:6], v1, exec
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xfd,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], v1, 0
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x01,0x01,0x00]
-v_lshrrev_b64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x00,0x01,0x00]
+v_lshrrev_b64 v[5:6], v1, -1
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x83,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], v1, 0.5
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xef,0x01,0x00]
-v_lshrrev_b64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xee,0x01,0x00]
+v_ashrrev_i64 v[5:6], v1, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0x05,0x02,0x00]
-v_lshrrev_b64 v[5:6], 0, v[2:3]
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x04,0x02,0x00]
+v_ashrrev_i64 v[254:255], v1, v[2:3]
+// CHECK: [0xfe,0x00,0x91,0xd2,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], v255, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0xff,0x05,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], s1, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,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], s101, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x65,0x04,0x02,0x00]
-v_ashrrev_i64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x08,0x00,0x00]
+v_ashrrev_i64 v[5:6], flat_scratch_lo, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x66,0x04,0x02,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], flat_scratch_hi, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x67,0x04,0x02,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], vcc_lo, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x6a,0x04,0x02,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], vcc_hi, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x6b,0x04,0x02,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], tba_lo, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x6c,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], tba_hi, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x6d,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], tma_lo, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x6e,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], tma_hi, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x6f,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], ttmp11, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x7b,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], m0, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x7c,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], exec_lo, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x7e,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], exec_hi, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x7f,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0xc1,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0xf0,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0xf7,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], v1, v[254:255]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xfd,0x03,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], v1, s[6:7]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0x0d,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], v1, s[100:101]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xc9,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], v1, flat_scratch
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xcd,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], v1, vcc
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xd5,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], v1, tba
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xd9,0x00,0x00]
-v_ashrrev_i64 v[5:6], 0, tba
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xd8,0x00,0x00]
+v_ashrrev_i64 v[5:6], v1, tma
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xdd,0x00,0x00]
-v_ashrrev_i64 v[5:6], 0, tma
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xdc,0x00,0x00]
+v_ashrrev_i64 v[5:6], v1, ttmp[10:11]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xf5,0x00,0x00]
-v_ashrrev_i64 v[5:6], 0, ttmp[10:11]
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xf4,0x00,0x00]
+v_ashrrev_i64 v[5:6], v1, exec
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xfd,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], v1, 0
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0x01,0x01,0x00]
-v_ashrrev_i64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x00,0x01,0x00]
+v_ashrrev_i64 v[5:6], v1, -1
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0x83,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], v1, 0.5
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xef,0x01,0x00]
-v_ashrrev_i64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xee,0x01,0x00]
+v_trig_preop_f64 v[5:6], v[1:2], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x00]
-v_ashrrev_i64 v[5:6], 0, v[2:3]
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x04,0x02,0x00]
+v_trig_preop_f64 v[254:255], v[1:2], v2
+// CHECK: [0xfe,0x00,0x92,0xd2,0x01,0x05,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], v[254:255], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0xfe,0x05,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], s[2:3], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x02,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], s[4:5], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x04,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], s[100:101], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x64,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], flat_scratch, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x66,0x04,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, s2
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x00]
+v_trig_preop_f64 v[5:6], vcc, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x6a,0x04,0x02,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], tba, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x6c,0x04,0x02,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], tma, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x6e,0x04,0x02,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], ttmp[10:11], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x7a,0x04,0x02,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], exec, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x7e,0x04,0x02,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], -1, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0xc1,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], 0.5, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0xf0,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], -4.0, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0xf7,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], v255
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xff,0x03,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], v[1:2], s101
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xcb,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], v[1:2], flat_scratch_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xcd,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], v[1:2], flat_scratch_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xcf,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], v[1:2], vcc_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd5,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], v[1:2], vcc_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd7,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], v[1:2], tba_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd9,0x00,0x00]
-v_trig_preop_f64 v[5:6], 0, tba_lo
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xd8,0x00,0x00]
+v_trig_preop_f64 v[5:6], v[1:2], tba_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xdb,0x00,0x00]
-v_trig_preop_f64 v[5:6], 0, tba_hi
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xda,0x00,0x00]
+v_trig_preop_f64 v[5:6], v[1:2], tma_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xdd,0x00,0x00]
-v_trig_preop_f64 v[5:6], 0, tma_lo
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xdc,0x00,0x00]
+v_trig_preop_f64 v[5:6], v[1:2], tma_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xdf,0x00,0x00]
-v_trig_preop_f64 v[5:6], 0, tma_hi
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xde,0x00,0x00]
+v_trig_preop_f64 v[5:6], v[1:2], ttmp11
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xf7,0x00,0x00]
-v_trig_preop_f64 v[5:6], 0, ttmp11
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xf6,0x00,0x00]
+v_trig_preop_f64 v[5:6], v[1:2], m0
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xf9,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], v[1:2], exec_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xfd,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], v[1:2], exec_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xff,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], v[1:2], 0
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x83,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], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xe1,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], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xef,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], -v[1:2], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x20]
-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], |v[1:2]|, v2
+// CHECK: [0x05,0x01,0x92,0xd2,0x01,0x05,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], v2 clamp
+// CHECK: [0x05,0x80,0x92,0xd2,0x01,0x05,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], v[1:2], v2 mul:2
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x08]
-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], v[1:2], v2 mul:4
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x10]
-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], v[1:2], v2 div:2
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x18]
-v_trig_preop_f64 v[5:6], 0, s2 clamp
-// CHECK: [0x05,0x80,0x92,0xd2,0x80,0x04,0x00,0x00]
+v_bfm_b32 v5, v1, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0x05,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 mul:2
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x08]
+v_bfm_b32 v255, v1, v2
+// CHECK: [0xff,0x00,0x93,0xd2,0x01,0x05,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 mul:4
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x10]
+v_bfm_b32 v5, v255, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0xff,0x05,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 div:2
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x18]
+v_bfm_b32 v5, s1, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0x04,0x02,0x00]
-v_bfm_b32 v5, 0, s2
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x04,0x00,0x00]
+v_bfm_b32 v5, s101, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x65,0x04,0x02,0x00]
-v_bfm_b32 v255, 0, s2
-// CHECK: [0xff,0x00,0x93,0xd2,0x80,0x04,0x00,0x00]
+v_bfm_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x66,0x04,0x02,0x00]
-v_bfm_b32 v5, -1, s2
-// CHECK: [0x05,0x00,0x93,0xd2,0xc1,0x04,0x00,0x00]
+v_bfm_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x67,0x04,0x02,0x00]
-v_bfm_b32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x93,0xd2,0xf0,0x04,0x00,0x00]
+v_bfm_b32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x6a,0x04,0x02,0x00]
-v_bfm_b32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x93,0xd2,0xf7,0x04,0x00,0x00]
+v_bfm_b32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x6b,0x04,0x02,0x00]
+
+v_bfm_b32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x6c,0x04,0x02,0x00]
+
+v_bfm_b32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x6d,0x04,0x02,0x00]
+
+v_bfm_b32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x6e,0x04,0x02,0x00]
+
+v_bfm_b32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x6f,0x04,0x02,0x00]
+
+v_bfm_b32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x7b,0x04,0x02,0x00]
+
+v_bfm_b32 v5, m0, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x7c,0x04,0x02,0x00]
+
+v_bfm_b32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x7e,0x04,0x02,0x00]
+
+v_bfm_b32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x7f,0x04,0x02,0x00]
+
+v_bfm_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x04,0x02,0x00]
+
+v_bfm_b32 v5, -1, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0xc1,0x04,0x02,0x00]
+
+v_bfm_b32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0xf0,0x04,0x02,0x00]
+
+v_bfm_b32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0xf7,0x04,0x02,0x00]
+
+v_bfm_b32 v5, v1, v255
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xcb,0x00,0x00]
-v_bfm_b32 v5, 0, s101
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xca,0x00,0x00]
+v_bfm_b32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xcd,0x00,0x00]
-v_bfm_b32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xcc,0x00,0x00]
+v_bfm_b32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xcf,0x00,0x00]
-v_bfm_b32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xce,0x00,0x00]
+v_bfm_b32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xd5,0x00,0x00]
-v_bfm_b32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xd4,0x00,0x00]
+v_bfm_b32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xd7,0x00,0x00]
-v_bfm_b32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xd6,0x00,0x00]
+v_bfm_b32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xd9,0x00,0x00]
-v_bfm_b32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xd8,0x00,0x00]
+v_bfm_b32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xdb,0x00,0x00]
-v_bfm_b32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xda,0x00,0x00]
+v_bfm_b32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xdd,0x00,0x00]
-v_bfm_b32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xdc,0x00,0x00]
+v_bfm_b32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xdf,0x00,0x00]
-v_bfm_b32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xde,0x00,0x00]
+v_bfm_b32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xf7,0x00,0x00]
-v_bfm_b32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xf6,0x00,0x00]
+v_bfm_b32 v5, v1, m0
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xf9,0x00,0x00]
-v_bfm_b32 v5, 0, m0
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xf8,0x00,0x00]
+v_bfm_b32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xfd,0x00,0x00]
-v_bfm_b32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xfc,0x00,0x00]
+v_bfm_b32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xff,0x00,0x00]
-v_bfm_b32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xfe,0x00,0x00]
+v_bfm_b32 v5, v1, 0
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0x01,0x01,0x00]
-v_bfm_b32 v5, 0, 0
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x00,0x01,0x00]
+v_bfm_b32 v5, v1, -1
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0x83,0x01,0x00]
-v_bfm_b32 v5, 0, -1
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x82,0x01,0x00]
+v_bfm_b32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xe1,0x01,0x00]
-v_bfm_b32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xe0,0x01,0x00]
+v_bfm_b32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xef,0x01,0x00]
-v_bfm_b32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x00]
-v_bfm_b32 v5, 0, v2
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pknorm_i16_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0x94,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, v255, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0xff,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x65,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x66,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x67,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x6a,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x6b,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x6c,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x6e,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x6f,0x04,0x02,0x00]
-v_bfm_b32 v5, 0, v255
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pknorm_i16_f32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x7b,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x7c,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x7e,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, -1, s2
-// CHECK: [0x05,0x00,0x94,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x7f,0x04,0x02,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, 0, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, -1, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0xf7,0x04,0x02,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, v255
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, m0
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xef,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, -v1, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pknorm_i16_f32 v5, 0, v2
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, -v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x40]
+
+v_cvt_pknorm_i16_f32 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x60]
+
+v_cvt_pknorm_i16_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x94,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x94,0xd2,0x01,0x05,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, |v1|, |v2|
+// CHECK: [0x05,0x03,0x94,0xd2,0x01,0x05,0x02,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, v1, v2 clamp
+// CHECK: [0x05,0x80,0x94,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, -s2
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x40]
+v_cvt_pknorm_u16_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x60]
+v_cvt_pknorm_u16_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0x95,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, v255, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x65,0x04,0x02,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, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x66,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x6a,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, -1, s2
-// CHECK: [0x05,0x00,0x95,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x6b,0x04,0x02,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, tba_lo, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x6c,0x04,0x02,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, tba_hi, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x6e,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x6f,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x7b,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, -1, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, v1, v255
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, m0
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xef,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, -v1, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pknorm_u16_f32 v5, 0, v2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, -v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x40]
+
+v_cvt_pknorm_u16_f32 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x60]
+
+v_cvt_pknorm_u16_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x95,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x95,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x95,0xd2,0x01,0x05,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, v1, v2 clamp
+// CHECK: [0x05,0x80,0x95,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x20]
+v_cvt_pkrtz_f16_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, -s2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x40]
+v_cvt_pkrtz_f16_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0x96,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x60]
+v_cvt_pkrtz_f16_f32 v5, v255, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x65,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x66,0x04,0x02,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, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x6a,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x6b,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, -1, s2
-// CHECK: [0x05,0x00,0x96,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x6c,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x6e,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x6f,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x7b,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x7f,0x04,0x02,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.5, s2
-// CHECK: [0x05,0x00,0x96,0xd2,0xf0,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, -1, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0xc1,0x04,0x02,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, 0.5, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, v1, v255
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, m0
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xef,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, -v1, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pkrtz_f16_f32 v5, 0, v2
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, -v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x40]
+
+v_cvt_pkrtz_f16_f32 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x60]
+
+v_cvt_pkrtz_f16_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x96,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x96,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x96,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x96,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, v1, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, v255
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pk_u16_u32 v255, v1, v2
+// CHECK: [0xff,0x00,0x97,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x20]
+v_cvt_pk_u16_u32 v5, v255, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, -s2
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x40]
+v_cvt_pk_u16_u32 v5, s1, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x60]
+v_cvt_pk_u16_u32 v5, s101, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x65,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x66,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x6a,0x04,0x02,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, vcc_hi, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x6b,0x04,0x02,0x00]
-v_cvt_pk_u16_u32 v5, 0, s2
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, tba_lo, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x6c,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x6d,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x6e,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x6f,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, ttmp11, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x7b,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, m0, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0xc1,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0xf7,0x04,0x02,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, v255
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xd7,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, v1, tba_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pk_u16_u32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pk_u16_u32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pk_u16_u32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pk_u16_u32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pk_u16_u32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pk_u16_u32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pk_u16_u32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pk_u16_u32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xf7,0x00,0x00]
-v_cvt_pk_u16_u32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pk_u16_u32 v5, v1, m0
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pk_u16_u32 v5, 0, 0
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pk_u16_u32 v5, v1, -1
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pk_u16_u32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pk_i16_i32 v5, v1, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pk_u16_u32 v5, 0, v2
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pk_i16_i32 v255, v1, v2
+// CHECK: [0xff,0x00,0x98,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, v255, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0xff,0x05,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, s1, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, s101, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x65,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x66,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x67,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x6a,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x6b,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, tba_lo, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x6c,0x04,0x02,0x00]
-v_cvt_pk_i16_i32 v5, 0, s2
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_i16_i32 v5, tba_hi, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x6d,0x04,0x02,0x00]
-v_cvt_pk_i16_i32 v255, 0, s2
-// CHECK: [0xff,0x00,0x98,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_i16_i32 v5, tma_lo, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x6e,0x04,0x02,0x00]
-v_cvt_pk_i16_i32 v5, -1, s2
-// CHECK: [0x05,0x00,0x98,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pk_i16_i32 v5, tma_hi, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x6f,0x04,0x02,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, ttmp11, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x7b,0x04,0x02,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, m0, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, -1, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, v1, v255
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xd7,0x00,0x00]
-v_cvt_pk_i16_i32 v5, 0, tba_lo
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xd8,0x00,0x00]
+v_cvt_pk_i16_i32 v5, v1, tba_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xd9,0x00,0x00]
-v_cvt_pk_i16_i32 v5, 0, tba_hi
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xda,0x00,0x00]
+v_cvt_pk_i16_i32 v5, v1, tba_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xdb,0x00,0x00]
-v_cvt_pk_i16_i32 v5, 0, tma_lo
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xdc,0x00,0x00]
+v_cvt_pk_i16_i32 v5, v1, tma_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xdd,0x00,0x00]
-v_cvt_pk_i16_i32 v5, 0, tma_hi
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xde,0x00,0x00]
+v_cvt_pk_i16_i32 v5, v1, tma_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xdf,0x00,0x00]
-v_cvt_pk_i16_i32 v5, 0, ttmp11
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xf6,0x00,0x00]
+v_cvt_pk_i16_i32 v5, v1, ttmp11
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xf7,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, v1, m0
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x01,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, v1, -1
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pk_i16_i32 v5, 0, v2
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x04,0x02,0x00]
+v_cmp_class_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x20,0x7c]
-v_cvt_pk_i16_i32 v5, 0, v255
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xfe,0x03,0x00]
+v_cmp_class_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x20,0x7c]
v_cmp_class_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x20,0x7c]
@@ -48381,113 +54846,155 @@ v_cmp_class_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x21,0x7c]
-v_cmp_class_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x20,0x7c]
+v_cmp_class_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_class_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x21,0x7c]
+v_cmp_class_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_class_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_class_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_class_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd9,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], v1, tba_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xdb,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], v1, tma_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xdd,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], v1, tma_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xdf,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], v1, ttmp11
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_class_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_class_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x22,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x22,0x7c]
v_cmpx_class_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x22,0x7c]
@@ -48549,113 +55056,155 @@ v_cmpx_class_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x23,0x7c]
-v_cmpx_class_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x22,0x7c]
+v_cmpx_class_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x23,0x7c]
+v_cmpx_class_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x11,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x11,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_class_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xd9,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], v1, tba_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xdb,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], v1, tma_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xdd,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], v1, tma_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xdf,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], v1, ttmp11
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_class_f32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_class_f64 vcc, v[1:2], v2
+// CHECK: [0x01,0x05,0x24,0x7c]
-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, v[254:255], v2
+// CHECK: [0xfe,0x05,0x24,0x7c]
v_cmp_class_f64 vcc, s[2:3], v2
// CHECK: [0x02,0x04,0x24,0x7c]
@@ -48702,113 +55251,140 @@ v_cmp_class_f64 vcc, 0xaf123456, v2
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[1:2], v255
+// CHECK: [0x01,0xff,0x25,0x7c]
-v_cmp_class_f64 vcc, v[254:255], v2
-// CHECK: [0xfe,0x05,0x24,0x7c]
+v_cmp_class_f64_e64 s[10:11], v[1:2], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 s[12:13], v[1:2], v2
+// CHECK: [0x0c,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 s[100:101], v[1:2], v2
+// CHECK: [0x64,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_class_f64 vcc, s[2:3], v255
-// CHECK: [0x02,0xfe,0x25,0x7c]
+v_cmp_class_f64_e64 flat_scratch, v[1:2], v2
+// CHECK: [0x66,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_class_f64_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f64_e64 vcc, v[1:2], v2
+// CHECK: [0x6a,0x00,0x12,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v2
+// CHECK: [0x6c,0x00,0x12,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v2
+// CHECK: [0x6e,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_class_f64_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f64_e64 ttmp[10:11], v[1:2], v2
+// CHECK: [0x7a,0x00,0x12,0xd0,0x01,0x05,0x02,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], v[254:255], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_class_f64_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f64_e64 s[10:11], s[2:3], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x02,0x04,0x02,0x00]
-v_cmp_class_f64_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f64_e64 s[10:11], s[4:5], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], s[100:101], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], flat_scratch, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], vcc, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], tba, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], tma, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], ttmp[10:11], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], exec, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x7e,0x04,0x02,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f64_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf7,0x04,0x02,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], v255
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xff,0x03,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], v[1:2], s101
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xcb,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], v[1:2], flat_scratch_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xcd,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], v[1:2], flat_scratch_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xcf,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], v[1:2], vcc_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd5,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], v[1:2], vcc_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd7,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], v[1:2], tba_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd9,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], v[1:2], tba_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xdb,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], v[1:2], tma_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xdd,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], v[1:2], tma_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xdf,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], v[1:2], ttmp11
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xf7,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], v[1:2], m0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xf9,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], v[1:2], exec_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xfd,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], v[1:2], exec_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xff,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x83,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xe1,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xef,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], -v[1:2], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x20]
-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_cmpx_class_f64 vcc, v[1:2], v2
+// CHECK: [0x01,0x05,0x26,0x7c]
-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, v[254:255], v2
+// CHECK: [0xfe,0x05,0x26,0x7c]
v_cmpx_class_f64 vcc, s[2:3], v2
// CHECK: [0x02,0x04,0x26,0x7c]
@@ -48855,113 +55431,140 @@ v_cmpx_class_f64 vcc, 0xaf123456, v2
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[1:2], v255
+// CHECK: [0x01,0xff,0x27,0x7c]
-v_cmpx_class_f64 vcc, v[254:255], v2
-// CHECK: [0xfe,0x05,0x26,0x7c]
+v_cmpx_class_f64_e64 s[10:11], v[1:2], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[12:13], v[1:2], v2
+// CHECK: [0x0c,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[100:101], v[1:2], v2
+// CHECK: [0x64,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 flat_scratch, v[1:2], v2
+// CHECK: [0x66,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 vcc, v[1:2], v2
+// CHECK: [0x6a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f64 vcc, s[2:3], v255
-// CHECK: [0x02,0xfe,0x27,0x7c]
+v_cmpx_class_f64_e64 tba, v[1:2], v2
+// CHECK: [0x6c,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f64_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f64_e64 tma, v[1:2], v2
+// CHECK: [0x6e,0x00,0x13,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v2
+// CHECK: [0x7a,0x00,0x13,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_class_f64_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f64_e64 s[10:11], s[2:3], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_class_f64_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f64_e64 s[10:11], s[4:5], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_class_f64_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f64_e64 s[10:11], s[100:101], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x64,0x04,0x02,0x00]
-v_cmpx_class_f64_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f64_e64 s[10:11], flat_scratch, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x66,0x04,0x02,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], vcc, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x6a,0x04,0x02,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], tba, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x6c,0x04,0x02,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], tma, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], exec, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x7e,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], v255
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xff,0x03,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], v[1:2], s101
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xcb,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], v[1:2], flat_scratch_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xcd,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], v[1:2], flat_scratch_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xcf,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], v[1:2], vcc_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xd5,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], v[1:2], vcc_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xd7,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], v[1:2], tba_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xd9,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], v[1:2], tba_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xdb,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], v[1:2], tma_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xdd,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], v[1:2], tma_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xdf,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], v[1:2], ttmp11
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xf7,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], v[1:2], m0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xf9,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], v[1:2], exec_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xfd,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], v[1:2], exec_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xff,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x83,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xe1,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xef,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], -v[1:2], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x20]
-v_cmpx_class_f64_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_class_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x28,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x28,0x7c]
v_cmp_class_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x28,0x7c]
@@ -49023,113 +55626,155 @@ v_cmp_class_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x29,0x7c]
-v_cmp_class_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x28,0x7c]
+v_cmp_class_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_class_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x29,0x7c]
+v_cmp_class_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_class_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x14,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_class_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_class_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_class_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd9,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], v1, tba_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xdb,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], v1, tma_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xdd,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], v1, tma_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xdf,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], v1, ttmp11
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x20]
-v_cmp_class_f16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_class_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x2a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x2a,0x7c]
v_cmpx_class_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x2a,0x7c]
@@ -49191,113 +55836,155 @@ v_cmpx_class_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x2b,0x7c]
-v_cmpx_class_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x2a,0x7c]
+v_cmpx_class_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x2b,0x7c]
+v_cmpx_class_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_class_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_class_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_class_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_class_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x7f,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0x15,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_class_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xd9,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], v1, tba_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xdb,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], v1, tma_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xdd,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], v1, tma_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xdf,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], v1, ttmp11
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x20]
-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_cmp_f_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x40,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x40,0x7c]
v_cmp_f_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x40,0x7c]
@@ -49359,122 +56046,164 @@ v_cmp_f_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x41,0x7c]
-v_cmp_f_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x40,0x7c]
+v_cmp_f_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x41,0x7c]
+v_cmp_f_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_f_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_f_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_f_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_f_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_f_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_f_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_f_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_f_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_f_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x20,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_lt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x42,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x42,0x7c]
v_cmp_lt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x42,0x7c]
@@ -49536,122 +56265,164 @@ v_cmp_lt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x43,0x7c]
-v_cmp_lt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x42,0x7c]
+v_cmp_lt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_lt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x43,0x7c]
+v_cmp_lt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_lt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_lt_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_lt_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_lt_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lt_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lt_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lt_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lt_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_lt_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x21,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_eq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x44,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x44,0x7c]
v_cmp_eq_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x44,0x7c]
@@ -49713,122 +56484,164 @@ v_cmp_eq_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x45,0x7c]
-v_cmp_eq_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x44,0x7c]
+v_cmp_eq_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_eq_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x45,0x7c]
+v_cmp_eq_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_eq_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_eq_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_eq_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_eq_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_eq_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_eq_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_eq_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_eq_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_eq_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x22,0xd0,0x01,0x05,0x02,0x00]
-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_le_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x46,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x46,0x7c]
v_cmp_le_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x46,0x7c]
@@ -49890,122 +56703,164 @@ v_cmp_le_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x47,0x7c]
-v_cmp_le_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x46,0x7c]
+v_cmp_le_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x47,0x7c]
+v_cmp_le_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0x23,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x23,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_le_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_le_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_le_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_le_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_le_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_le_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_le_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_le_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_le_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_le_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_le_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x23,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_gt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x48,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x48,0x7c]
v_cmp_gt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x48,0x7c]
@@ -50067,122 +56922,164 @@ v_cmp_gt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x49,0x7c]
-v_cmp_gt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x48,0x7c]
+v_cmp_gt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_gt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x49,0x7c]
+v_cmp_gt_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6b,0x04,0x02,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 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_gt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_gt_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6f,0x04,0x02,0x00]
-v_cmp_gt_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_gt_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_gt_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_gt_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_gt_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_gt_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_gt_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x24,0xd0,0x01,0x05,0x02,0x00]
-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_lg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x4a,0x7c]
v_cmp_lg_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4a,0x7c]
@@ -50244,122 +57141,164 @@ v_cmp_lg_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4b,0x7c]
-v_cmp_lg_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4a,0x7c]
+v_cmp_lg_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4b,0x7c]
+v_cmp_lg_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x25,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0x25,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_lg_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_lg_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_lg_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lg_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lg_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lg_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lg_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_lg_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x25,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_ge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x4c,0x7c]
v_cmp_ge_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4c,0x7c]
@@ -50421,122 +57360,164 @@ v_cmp_ge_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4d,0x7c]
-v_cmp_ge_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4c,0x7c]
+v_cmp_ge_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4d,0x7c]
+v_cmp_ge_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x26,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x26,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ge_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ge_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ge_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ge_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ge_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ge_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ge_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ge_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_ge_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x26,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_o_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x4e,0x7c]
v_cmp_o_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4e,0x7c]
@@ -50598,122 +57579,164 @@ v_cmp_o_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4f,0x7c]
-v_cmp_o_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4e,0x7c]
+v_cmp_o_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4f,0x7c]
+v_cmp_o_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x27,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_o_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_o_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_o_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_o_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_o_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_o_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_o_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_o_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_o_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x27,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_u_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x50,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x50,0x7c]
v_cmp_u_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x50,0x7c]
@@ -50775,122 +57798,164 @@ v_cmp_u_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x51,0x7c]
-v_cmp_u_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x50,0x7c]
+v_cmp_u_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_u_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x51,0x7c]
+v_cmp_u_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6d,0x04,0x02,0x00]
-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[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6e,0x04,0x02,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[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6f,0x04,0x02,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 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_u_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_u_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7f,0x04,0x02,0x00]
-v_cmp_u_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x28,0xd0,0x80,0x04,0x00,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_u_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_u_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_u_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_u_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_u_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x28,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x52,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x52,0x7c]
v_cmp_nge_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x52,0x7c]
@@ -50952,122 +58017,164 @@ v_cmp_nge_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x53,0x7c]
-v_cmp_nge_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x52,0x7c]
+v_cmp_nge_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x53,0x7c]
+v_cmp_nge_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_nge_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nge_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_nge_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nge_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nge_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nge_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nge_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nge_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_nge_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x29,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nlg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x54,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x54,0x7c]
v_cmp_nlg_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x54,0x7c]
@@ -51129,122 +58236,164 @@ v_cmp_nlg_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x55,0x7c]
-v_cmp_nlg_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x54,0x7c]
+v_cmp_nlg_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_nlg_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x55,0x7c]
+v_cmp_nlg_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_nlg_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_nlg_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nlg_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_nlg_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nlg_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nlg_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nlg_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nlg_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_nlg_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_ngt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x56,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x56,0x7c]
v_cmp_ngt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x56,0x7c]
@@ -51306,122 +58455,164 @@ v_cmp_ngt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x57,0x7c]
-v_cmp_ngt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x56,0x7c]
+v_cmp_ngt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_ngt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x57,0x7c]
+v_cmp_ngt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ngt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_ngt_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_ngt_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_ngt_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ngt_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ngt_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ngt_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ngt_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_ngt_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2b,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nle_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x58,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x58,0x7c]
v_cmp_nle_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x58,0x7c]
@@ -51483,122 +58674,164 @@ v_cmp_nle_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x59,0x7c]
-v_cmp_nle_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x58,0x7c]
+v_cmp_nle_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x59,0x7c]
+v_cmp_nle_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2c,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2c,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_nle_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_nle_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_nle_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nle_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nle_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nle_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nle_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nle_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nle_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nle_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nle_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nle_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_neq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x5a,0x7c]
v_cmp_neq_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5a,0x7c]
@@ -51660,122 +58893,164 @@ v_cmp_neq_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5b,0x7c]
-v_cmp_neq_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5a,0x7c]
+v_cmp_neq_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_neq_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5b,0x7c]
+v_cmp_neq_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x6b,0x04,0x02,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 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_neq_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_neq_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x6f,0x04,0x02,0x00]
-v_cmp_neq_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_neq_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_neq_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_neq_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_neq_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_neq_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_neq_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2d,0xd0,0x01,0x05,0x02,0x00]
-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_nlt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x5c,0x7c]
v_cmp_nlt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5c,0x7c]
@@ -51837,122 +59112,164 @@ v_cmp_nlt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5d,0x7c]
-v_cmp_nlt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5c,0x7c]
+v_cmp_nlt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5d,0x7c]
+v_cmp_nlt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2e,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2e,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2e,0xd0,0x01,0x05,0x02,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], v255, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_nlt_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_nlt_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_nlt_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nlt_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nlt_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nlt_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nlt_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nlt_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nlt_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nlt_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nlt_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_nlt_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nlt_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_tru_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x5e,0x7c]
v_cmp_tru_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5e,0x7c]
@@ -52014,122 +59331,164 @@ v_cmp_tru_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5f,0x7c]
-v_cmp_tru_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5e,0x7c]
+v_cmp_tru_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_tru_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5f,0x7c]
+v_cmp_tru_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x6b,0x04,0x02,0x00]
-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[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x6c,0x04,0x02,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[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x6d,0x04,0x02,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 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_tru_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_tru_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x7c,0x04,0x02,0x00]
-v_cmp_tru_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_tru_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x7f,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_tru_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_tru_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_tru_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_tru_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_tru_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2f,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_f_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x60,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x60,0x7c]
v_cmpx_f_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x60,0x7c]
@@ -52191,122 +59550,164 @@ v_cmpx_f_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x61,0x7c]
-v_cmpx_f_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x60,0x7c]
+v_cmpx_f_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x61,0x7c]
+v_cmpx_f_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x30,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_f_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_f_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_f_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_f_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_f_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_f_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_f_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_f_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_f_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_f_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x30,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_lt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x62,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x62,0x7c]
v_cmpx_lt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x62,0x7c]
@@ -52368,122 +59769,164 @@ v_cmpx_lt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x63,0x7c]
-v_cmpx_lt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x62,0x7c]
+v_cmpx_lt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x63,0x7c]
+v_cmpx_lt_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_lt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_lt_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_lt_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_lt_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x7f,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0x31,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lt_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lt_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lt_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_lt_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x31,0xd0,0x01,0x05,0x02,0x00]
-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_eq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x64,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x64,0x7c]
v_cmpx_eq_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x64,0x7c]
@@ -52545,122 +59988,164 @@ v_cmpx_eq_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x65,0x7c]
-v_cmpx_eq_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x64,0x7c]
+v_cmpx_eq_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x65,0x7c]
+v_cmpx_eq_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_eq_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_eq_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_eq_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_eq_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_eq_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_eq_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_eq_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x32,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_le_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x66,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x66,0x7c]
v_cmpx_le_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x66,0x7c]
@@ -52722,122 +60207,164 @@ v_cmpx_le_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x67,0x7c]
-v_cmpx_le_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x66,0x7c]
+v_cmpx_le_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_le_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x67,0x7c]
+v_cmpx_le_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_le_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_le_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_le_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_le_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_le_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_le_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_le_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_le_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_le_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_le_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x33,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_gt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x68,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x68,0x7c]
v_cmpx_gt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x68,0x7c]
@@ -52899,122 +60426,164 @@ v_cmpx_gt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x69,0x7c]
-v_cmpx_gt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x68,0x7c]
+v_cmpx_gt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_gt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x69,0x7c]
+v_cmpx_gt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_gt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_gt_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_gt_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_gt_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_gt_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_gt_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_gt_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_gt_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x34,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_lg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x6a,0x7c]
v_cmpx_lg_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6a,0x7c]
@@ -53076,122 +60645,164 @@ v_cmpx_lg_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6b,0x7c]
-v_cmpx_lg_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6a,0x7c]
+v_cmpx_lg_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6b,0x7c]
+v_cmpx_lg_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x35,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x35,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_lg_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_lg_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lg_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lg_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lg_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lg_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_lg_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x35,0xd0,0x01,0x05,0x02,0x00]
-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_ge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x6c,0x7c]
v_cmpx_ge_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6c,0x7c]
@@ -53253,122 +60864,164 @@ v_cmpx_ge_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6d,0x7c]
-v_cmpx_ge_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6c,0x7c]
+v_cmpx_ge_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6d,0x7c]
+v_cmpx_ge_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x36,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0x36,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ge_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ge_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ge_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ge_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ge_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ge_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ge_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_ge_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x36,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_o_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x6e,0x7c]
v_cmpx_o_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6e,0x7c]
@@ -53430,122 +61083,164 @@ v_cmpx_o_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6f,0x7c]
-v_cmpx_o_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6e,0x7c]
+v_cmpx_o_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6f,0x7c]
+v_cmpx_o_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x37,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x37,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_o_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_o_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_o_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_o_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_o_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_o_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_o_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_o_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_o_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_o_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x37,0xd0,0x01,0x05,0x02,0x00]
-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_u_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x70,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x70,0x7c]
v_cmpx_u_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x70,0x7c]
@@ -53607,122 +61302,164 @@ v_cmpx_u_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x71,0x7c]
-v_cmpx_u_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x70,0x7c]
+v_cmpx_u_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_u_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x71,0x7c]
+v_cmpx_u_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6c,0x04,0x02,0x00]
-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[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6d,0x04,0x02,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[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6e,0x04,0x02,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 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_u_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpx_u_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_u_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_u_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpx_u_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x38,0xd0,0x80,0x04,0x00,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], -1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_u_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_u_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_u_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_u_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_u_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x38,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x72,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x72,0x7c]
v_cmpx_nge_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x72,0x7c]
@@ -53784,122 +61521,164 @@ v_cmpx_nge_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x73,0x7c]
-v_cmpx_nge_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x72,0x7c]
+v_cmpx_nge_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x73,0x7c]
+v_cmpx_nge_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x39,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nge_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_nge_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nge_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_nge_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nge_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_nge_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nge_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nge_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nge_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nge_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x39,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nlg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x74,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x74,0x7c]
v_cmpx_nlg_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x74,0x7c]
@@ -53961,122 +61740,164 @@ v_cmpx_nlg_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x75,0x7c]
-v_cmpx_nlg_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x74,0x7c]
+v_cmpx_nlg_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x75,0x7c]
+v_cmpx_nlg_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nlg_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_nlg_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nlg_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_nlg_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7f,0x04,0x02,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nlg_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nlg_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nlg_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nlg_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nlg_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3a,0xd0,0x01,0x05,0x02,0x00]
-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_ngt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x76,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x76,0x7c]
v_cmpx_ngt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x76,0x7c]
@@ -54138,122 +61959,164 @@ v_cmpx_ngt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x77,0x7c]
-v_cmpx_ngt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x76,0x7c]
+v_cmpx_ngt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ngt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x77,0x7c]
+v_cmpx_ngt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_ngt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ngt_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_ngt_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ngt_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_ngt_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ngt_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ngt_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ngt_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ngt_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_ngt_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3b,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nle_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x78,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x78,0x7c]
v_cmpx_nle_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x78,0x7c]
@@ -54315,122 +62178,164 @@ v_cmpx_nle_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x79,0x7c]
-v_cmpx_nle_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x78,0x7c]
+v_cmpx_nle_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nle_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x79,0x7c]
+v_cmpx_nle_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nle_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_nle_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nle_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_nle_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_nle_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nle_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nle_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nle_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nle_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nle_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3c,0xd0,0x01,0x05,0x02,0x00]
-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_neq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x7a,0x7c]
v_cmpx_neq_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7a,0x7c]
@@ -54492,122 +62397,164 @@ v_cmpx_neq_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7b,0x7c]
-v_cmpx_neq_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7a,0x7c]
+v_cmpx_neq_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_neq_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7b,0x7c]
+v_cmpx_neq_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_neq_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_neq_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_neq_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_neq_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_neq_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_neq_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_neq_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_neq_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_neq_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_neq_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3d,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nlt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x7c,0x7c]
v_cmpx_nlt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7c,0x7c]
@@ -54669,122 +62616,164 @@ v_cmpx_nlt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7d,0x7c]
-v_cmpx_nlt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7c,0x7c]
+v_cmpx_nlt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7d,0x7c]
+v_cmpx_nlt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3e,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x3e,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_nlt_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nlt_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_nlt_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nlt_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nlt_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nlt_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nlt_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nlt_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3e,0xd0,0x01,0x05,0x02,0x00]
-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_tru_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x7e,0x7c]
v_cmpx_tru_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7e,0x7c]
@@ -54846,122 +62835,164 @@ v_cmpx_tru_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7f,0x7c]
-v_cmpx_tru_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7e,0x7c]
+v_cmpx_tru_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7f,0x7c]
+v_cmpx_tru_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x3f,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0x3f,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_tru_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_tru_f16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_tru_f16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_tru_f16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_tru_f16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_tru_f16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_tru_f16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_tru_f16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_tru_f16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x80,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x80,0x7c]
v_cmp_f_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x80,0x7c]
@@ -55023,122 +63054,164 @@ v_cmp_f_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x81,0x7c]
-v_cmp_f_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x80,0x7c]
+v_cmp_f_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x81,0x7c]
+v_cmp_f_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x40,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x40,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_f_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_f_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_f_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_f_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_f_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x82,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x82,0x7c]
v_cmp_lt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x82,0x7c]
@@ -55200,122 +63273,164 @@ v_cmp_lt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x83,0x7c]
-v_cmp_lt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x82,0x7c]
+v_cmp_lt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x83,0x7c]
+v_cmp_lt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x7f,0x04,0x02,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.5, s2
-// CHECK: [0x0a,0x00,0x41,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x41,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x84,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x84,0x7c]
v_cmp_eq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x84,0x7c]
@@ -55377,122 +63492,164 @@ v_cmp_eq_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x85,0x7c]
-v_cmp_eq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x84,0x7c]
+v_cmp_eq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x85,0x7c]
+v_cmp_eq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_eq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x86,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x86,0x7c]
v_cmp_le_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x86,0x7c]
@@ -55554,122 +63711,164 @@ v_cmp_le_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x87,0x7c]
-v_cmp_le_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x86,0x7c]
+v_cmp_le_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_le_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x87,0x7c]
+v_cmp_le_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_le_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_le_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_le_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x7f,0x04,0x02,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_le_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x43,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x88,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x88,0x7c]
v_cmp_gt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x88,0x7c]
@@ -55731,122 +63930,164 @@ v_cmp_gt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x89,0x7c]
-v_cmp_gt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x88,0x7c]
+v_cmp_gt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_gt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x89,0x7c]
+v_cmp_gt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x8a,0x7c]
v_cmp_lg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8a,0x7c]
@@ -55908,122 +64149,164 @@ v_cmp_lg_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8b,0x7c]
-v_cmp_lg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8a,0x7c]
+v_cmp_lg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8b,0x7c]
+v_cmp_lg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0x45,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x45,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x45,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x8c,0x7c]
v_cmp_ge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8c,0x7c]
@@ -56085,122 +64368,164 @@ v_cmp_ge_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8d,0x7c]
-v_cmp_ge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8c,0x7c]
+v_cmp_ge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8d,0x7c]
+v_cmp_ge_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x46,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x46,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_ge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x46,0xd0,0x01,0x05,0x02,0x00]
-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_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x8e,0x7c]
v_cmp_o_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8e,0x7c]
@@ -56262,122 +64587,164 @@ v_cmp_o_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8f,0x7c]
-v_cmp_o_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8e,0x7c]
+v_cmp_o_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8f,0x7c]
+v_cmp_o_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x47,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x47,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x47,0xd0,0x01,0x05,0x02,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], v255, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_o_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_o_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_o_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_o_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x47,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x90,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x90,0x7c]
v_cmp_u_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x90,0x7c]
@@ -56439,122 +64806,164 @@ v_cmp_u_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x91,0x7c]
-v_cmp_u_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x90,0x7c]
+v_cmp_u_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_u_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x91,0x7c]
+v_cmp_u_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6b,0x04,0x02,0x00]
-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[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6c,0x04,0x02,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[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6d,0x04,0x02,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 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_u_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_u_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x7c,0x04,0x02,0x00]
-v_cmp_u_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_u_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x7f,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_u_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x48,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x92,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x92,0x7c]
v_cmp_nge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x92,0x7c]
@@ -56616,122 +65025,164 @@ v_cmp_nge_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x93,0x7c]
-v_cmp_nge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x92,0x7c]
+v_cmp_nge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x93,0x7c]
+v_cmp_nge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x49,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x49,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x94,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x94,0x7c]
v_cmp_nlg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x94,0x7c]
@@ -56793,122 +65244,164 @@ v_cmp_nlg_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x95,0x7c]
-v_cmp_nlg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x94,0x7c]
+v_cmp_nlg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x95,0x7c]
+v_cmp_nlg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_nlg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x7f,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_nlg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4a,0xd0,0x01,0x05,0x02,0x00]
-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_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x96,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x96,0x7c]
v_cmp_ngt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x96,0x7c]
@@ -56970,122 +65463,164 @@ v_cmp_ngt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x97,0x7c]
-v_cmp_ngt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x96,0x7c]
+v_cmp_ngt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x97,0x7c]
+v_cmp_ngt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_ngt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4b,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x98,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x98,0x7c]
v_cmp_nle_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x98,0x7c]
@@ -57147,122 +65682,164 @@ v_cmp_nle_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x99,0x7c]
-v_cmp_nle_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x98,0x7c]
+v_cmp_nle_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_nle_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x99,0x7c]
+v_cmp_nle_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_nle_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x9a,0x7c]
v_cmp_neq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9a,0x7c]
@@ -57324,122 +65901,164 @@ v_cmp_neq_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9b,0x7c]
-v_cmp_neq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9a,0x7c]
+v_cmp_neq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_neq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9b,0x7c]
+v_cmp_neq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x6f,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4d,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x9c,0x7c]
v_cmp_nlt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9c,0x7c]
@@ -57501,122 +66120,164 @@ v_cmp_nlt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9d,0x7c]
-v_cmp_nlt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9c,0x7c]
+v_cmp_nlt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9d,0x7c]
+v_cmp_nlt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4e,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4e,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_nlt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x9e,0x7c]
v_cmp_tru_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9e,0x7c]
@@ -57678,122 +66339,164 @@ v_cmp_tru_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9f,0x7c]
-v_cmp_tru_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9e,0x7c]
+v_cmp_tru_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_tru_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9f,0x7c]
+v_cmp_tru_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x6b,0x04,0x02,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 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x6f,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4f,0xd0,0x01,0x05,0x02,0x00]
-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_cmpx_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa0,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa0,0x7c]
v_cmpx_f_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa0,0x7c]
@@ -57855,122 +66558,164 @@ v_cmpx_f_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa1,0x7c]
-v_cmpx_f_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa0,0x7c]
+v_cmpx_f_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa1,0x7c]
+v_cmpx_f_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x50,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0x50,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_f_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa2,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa2,0x7c]
v_cmpx_lt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa2,0x7c]
@@ -58032,122 +66777,164 @@ v_cmpx_lt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa3,0x7c]
-v_cmpx_lt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa2,0x7c]
+v_cmpx_lt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa3,0x7c]
+v_cmpx_lt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x51,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x51,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_lt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0x51,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_lt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x51,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa4,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa4,0x7c]
v_cmpx_eq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa4,0x7c]
@@ -58209,122 +66996,164 @@ v_cmpx_eq_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa5,0x7c]
-v_cmpx_eq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa4,0x7c]
+v_cmpx_eq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa5,0x7c]
+v_cmpx_eq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x52,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_eq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa6,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa6,0x7c]
v_cmpx_le_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa6,0x7c]
@@ -58386,122 +67215,164 @@ v_cmpx_le_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa7,0x7c]
-v_cmpx_le_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa6,0x7c]
+v_cmpx_le_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa7,0x7c]
+v_cmpx_le_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_le_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x7f,0x04,0x02,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_le_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x53,0xd0,0x01,0x05,0x02,0x00]
-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_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa8,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa8,0x7c]
v_cmpx_gt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa8,0x7c]
@@ -58563,122 +67434,164 @@ v_cmpx_gt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa9,0x7c]
-v_cmpx_gt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa8,0x7c]
+v_cmpx_gt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_gt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa9,0x7c]
+v_cmpx_gt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_gt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x54,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xaa,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xaa,0x7c]
v_cmpx_lg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xaa,0x7c]
@@ -58740,122 +67653,164 @@ v_cmpx_lg_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xab,0x7c]
-v_cmpx_lg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xaa,0x7c]
+v_cmpx_lg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_lg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xab,0x7c]
+v_cmpx_lg_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_lg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x55,0xd0,0x01,0x05,0x02,0x00]
-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_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xac,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xac,0x7c]
v_cmpx_ge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xac,0x7c]
@@ -58917,122 +67872,164 @@ v_cmpx_ge_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xad,0x7c]
-v_cmpx_ge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xac,0x7c]
+v_cmpx_ge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xad,0x7c]
+v_cmpx_ge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xae,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xae,0x7c]
v_cmpx_o_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xae,0x7c]
@@ -59094,122 +68091,164 @@ v_cmpx_o_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xaf,0x7c]
-v_cmpx_o_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xae,0x7c]
+v_cmpx_o_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xaf,0x7c]
+v_cmpx_o_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x57,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x57,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x57,0xd0,0x01,0x05,0x02,0x00]
-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_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb0,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb0,0x7c]
v_cmpx_u_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb0,0x7c]
@@ -59271,122 +68310,164 @@ v_cmpx_u_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb1,0x7c]
-v_cmpx_u_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb0,0x7c]
+v_cmpx_u_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb1,0x7c]
+v_cmpx_u_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x58,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0x58,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_u_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x58,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb2,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb2,0x7c]
v_cmpx_nge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb2,0x7c]
@@ -59448,122 +68529,164 @@ v_cmpx_nge_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb3,0x7c]
-v_cmpx_nge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb2,0x7c]
+v_cmpx_nge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb3,0x7c]
+v_cmpx_nge_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x59,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x59,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_nge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x59,0xd0,0x01,0x05,0x02,0x00]
-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_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb4,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb4,0x7c]
v_cmpx_nlg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb4,0x7c]
@@ -59625,122 +68748,164 @@ v_cmpx_nlg_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb5,0x7c]
-v_cmpx_nlg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb4,0x7c]
+v_cmpx_nlg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb5,0x7c]
+v_cmpx_nlg_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x5a,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb6,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb6,0x7c]
v_cmpx_ngt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb6,0x7c]
@@ -59802,122 +68967,164 @@ v_cmpx_ngt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb7,0x7c]
-v_cmpx_ngt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb6,0x7c]
+v_cmpx_ngt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb7,0x7c]
+v_cmpx_ngt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5b,0xd0,0x01,0x05,0x02,0x00]
-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_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb8,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb8,0x7c]
v_cmpx_nle_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb8,0x7c]
@@ -59979,122 +69186,164 @@ v_cmpx_nle_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb9,0x7c]
-v_cmpx_nle_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb8,0x7c]
+v_cmpx_nle_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb9,0x7c]
+v_cmpx_nle_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x7f,0x04,0x02,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nle_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xba,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xba,0x7c]
v_cmpx_neq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xba,0x7c]
@@ -60156,122 +69405,164 @@ v_cmpx_neq_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbb,0x7c]
-v_cmpx_neq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xba,0x7c]
+v_cmpx_neq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_neq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbb,0x7c]
+v_cmpx_neq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_neq_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5d,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbc,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xbc,0x7c]
v_cmpx_nlt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbc,0x7c]
@@ -60333,122 +69624,164 @@ v_cmpx_nlt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbd,0x7c]
-v_cmpx_nlt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbc,0x7c]
+v_cmpx_nlt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbd,0x7c]
+v_cmpx_nlt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5e,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5e,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbe,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xbe,0x7c]
v_cmpx_tru_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbe,0x7c]
@@ -60510,122 +69843,164 @@ v_cmpx_tru_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbf,0x7c]
-v_cmpx_tru_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbe,0x7c]
+v_cmpx_tru_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbf,0x7c]
+v_cmpx_tru_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5f,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5f,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_tru_f32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5f,0xd0,0x01,0x05,0x02,0x00]
-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_cmp_f_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc0,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc0,0x7c]
v_cmp_f_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc0,0x7c]
@@ -60672,86 +70047,134 @@ v_cmp_f_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc1,0x7c]
-v_cmp_f_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc0,0x7c]
+v_cmp_f_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc1,0x7c]
+v_cmp_f_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x60,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x60,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x60,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x60,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_f_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x40]
-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_f_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x60,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc2,0x7c]
@@ -60798,86 +70221,134 @@ v_cmp_lt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc3,0x7c]
-v_cmp_lt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc2,0x7c]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc3,0x7c]
+v_cmp_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x61,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x61,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x61,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x61,0xd0,0x01,0x05,0x02,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], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_lt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x02,0x04,0x02,0x00]
-v_cmp_lt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x61,0xd0,0x04,0x08,0x00,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 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xdd,0x00,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], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xfd,0x00,0x00]
-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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x83,0x01,0x00]
-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_lt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_lt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x61,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc4,0x7c]
@@ -60924,86 +70395,134 @@ v_cmp_eq_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc5,0x7c]
-v_cmp_eq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc4,0x7c]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc5,0x7c]
+v_cmp_eq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x62,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x62,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x62,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x62,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x02,0x04,0x02,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 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x64,0x04,0x02,0x00]
-v_cmp_eq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xef,0x01,0x00]
-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_eq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_eq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x62,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc6,0x7c]
@@ -61050,86 +70569,134 @@ v_cmp_le_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc7,0x7c]
-v_cmp_le_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc6,0x7c]
+v_cmp_le_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc7,0x7c]
+v_cmp_le_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_le_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_le_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_le_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x20]
-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_le_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_le_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x63,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc8,0x7c]
@@ -61176,86 +70743,134 @@ v_cmp_gt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc9,0x7c]
-v_cmp_gt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc8,0x7c]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc9,0x7c]
+v_cmp_gt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x64,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x64,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x64,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x02,0x04,0x02,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 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x64,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_gt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x40]
-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_gt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x64,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xca,0x7c]
@@ -61302,86 +70917,134 @@ v_cmp_lg_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcb,0x7c]
-v_cmp_lg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xca,0x7c]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcb,0x7c]
+v_cmp_lg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
-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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x65,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x65,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_lg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_lg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_lg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x40]
-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_lg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x65,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xcc,0x7c]
@@ -61428,86 +71091,134 @@ v_cmp_ge_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcd,0x7c]
-v_cmp_ge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xcc,0x7c]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcd,0x7c]
+v_cmp_ge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x66,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x02,0x04,0x02,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[100:101], s[4:5], s[4:5]
-// CHECK: [0x64,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_ge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_ge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xe1,0x01,0x00]
-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_ge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_ge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x66,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xce,0x7c]
@@ -61554,86 +71265,134 @@ v_cmp_o_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcf,0x7c]
-v_cmp_o_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xce,0x7c]
+v_cmp_o_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcf,0x7c]
+v_cmp_o_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x67,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x67,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x67,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x67,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_o_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xef,0x01,0x00]
-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_o_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_o_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x67,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd0,0x7c]
@@ -61680,86 +71439,134 @@ v_cmp_u_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd1,0x7c]
-v_cmp_u_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd0,0x7c]
+v_cmp_u_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd1,0x7c]
+v_cmp_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x02,0x04,0x02,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], s[4:5]
-// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_u_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_u_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_u_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_u_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_u_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd2,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd2,0x7c]
v_cmp_nge_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd2,0x7c]
@@ -61806,86 +71613,134 @@ v_cmp_nge_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd3,0x7c]
-v_cmp_nge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd2,0x7c]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd3,0x7c]
+v_cmp_nge_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x69,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x69,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x69,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x69,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_nge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x02,0x04,0x02,0x00]
-v_cmp_nge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x69,0xd0,0x04,0x08,0x00,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], 0, s[4:5]
-// CHECK: [0x0a,0x00,0x69,0xd0,0x80,0x08,0x00,0x00]
+v_cmp_nge_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xdd,0x00,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], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xfd,0x00,0x00]
-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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_nge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x69,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd4,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd4,0x7c]
v_cmp_nlg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd4,0x7c]
@@ -61932,86 +71787,134 @@ v_cmp_nlg_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd5,0x7c]
-v_cmp_nlg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd4,0x7c]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd5,0x7c]
+v_cmp_nlg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
-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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6a,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6a,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nlg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_nlg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_nlg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xe1,0x01,0x00]
-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_nlg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd6,0x7c]
@@ -62058,86 +71961,134 @@ v_cmp_ngt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd7,0x7c]
-v_cmp_ngt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd6,0x7c]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd7,0x7c]
+v_cmp_ngt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6b,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6b,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6b,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6b,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x02,0x04,0x02,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 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x64,0x04,0x02,0x00]
-v_cmp_ngt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ngt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xef,0x01,0x00]
-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_ngt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6b,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd8,0x7c]
@@ -62184,86 +72135,134 @@ v_cmp_nle_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd9,0x7c]
-v_cmp_nle_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd8,0x7c]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd9,0x7c]
+v_cmp_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6c,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6c,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6c,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x02,0x04,0x02,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 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x64,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_nle_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nle_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x20]
-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_nle_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_nle_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6c,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xda,0x7c]
@@ -62310,86 +72309,134 @@ v_cmp_neq_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdb,0x7c]
-v_cmp_neq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xda,0x7c]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdb,0x7c]
+v_cmp_neq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
-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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6d,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6d,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_neq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,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_neq_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6d,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xdc,0x7c]
@@ -62436,86 +72483,134 @@ v_cmp_nlt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdd,0x7c]
-v_cmp_nlt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xdc,0x7c]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x02,0x04,0x02,0x00]
-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], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x04,0x02,0x00]
-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[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_nlt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_nlt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xe1,0x01,0x00]
-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_nlt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xde,0x7c]
@@ -62562,86 +72657,134 @@ v_cmp_tru_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdf,0x7c]
-v_cmp_tru_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xde,0x7c]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdf,0x7c]
+v_cmp_tru_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x02,0x04,0x02,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[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_tru_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_tru_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_tru_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_tru_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xef,0x01,0x00]
-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_cmp_tru_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_tru_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6f,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe0,0x7c]
@@ -62688,86 +72831,134 @@ v_cmpx_f_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe1,0x7c]
-v_cmpx_f_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe0,0x7c]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe1,0x7c]
+v_cmpx_f_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x70,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x70,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x70,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x70,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_f_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_f_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x70,0xd0,0x04,0x08,0x00,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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x20]
-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_f_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_f_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe2,0x7c]
@@ -62814,86 +73005,134 @@ v_cmpx_lt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe3,0x7c]
-v_cmpx_lt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe2,0x7c]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe3,0x7c]
+v_cmpx_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x71,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x71,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x71,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x71,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_lt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_lt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x71,0xd0,0x04,0x08,0x00,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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x40]
-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_lt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x71,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe4,0x7c]
@@ -62940,86 +73179,134 @@ v_cmpx_eq_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe5,0x7c]
-v_cmpx_eq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe4,0x7c]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe5,0x7c]
+v_cmpx_eq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x72,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x72,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x72,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_eq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x72,0xd0,0x04,0x08,0x00,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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xdd,0x00,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], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x00,0x00]
-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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x83,0x01,0x00]
-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_eq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_eq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x72,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe6,0x7c]
@@ -63066,86 +73353,134 @@ v_cmpx_le_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe7,0x7c]
-v_cmpx_le_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe6,0x7c]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe7,0x7c]
+v_cmpx_le_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x73,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x73,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x73,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x73,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x02,0x04,0x02,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 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x64,0x04,0x02,0x00]
-v_cmpx_le_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xe1,0x01,0x00]
-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_le_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_le_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x73,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe8,0x7c]
@@ -63192,86 +73527,134 @@ v_cmpx_gt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe9,0x7c]
-v_cmpx_gt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe8,0x7c]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe9,0x7c]
+v_cmpx_gt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x74,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x74,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x74,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x74,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x02,0x04,0x02,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 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x64,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_gt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x20]
-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_gt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_gt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x74,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xea,0x7c]
@@ -63318,86 +73701,134 @@ v_cmpx_lg_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xeb,0x7c]
-v_cmpx_lg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xea,0x7c]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xeb,0x7c]
+v_cmpx_lg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xfe,0x05,0x02,0x00]
-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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x02,0x04,0x02,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[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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_lg_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x40]
-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_lg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x75,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xec,0x7c]
@@ -63444,86 +73875,134 @@ v_cmpx_ge_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xed,0x7c]
-v_cmpx_ge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xec,0x7c]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xed,0x7c]
+v_cmpx_ge_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
-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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x76,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x76,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,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_ge_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xee,0x7c]
@@ -63570,86 +74049,134 @@ v_cmpx_o_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xef,0x7c]
-v_cmpx_o_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xee,0x7c]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xef,0x7c]
+v_cmpx_o_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x77,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x77,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x77,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x77,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_o_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_o_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x40]
-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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x60]
-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], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x77,0xd0,0x01,0x05,0x02,0x00]
-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, 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[2:3]
// CHECK: [0x02,0x04,0xf0,0x7c]
@@ -63696,86 +74223,134 @@ v_cmpx_u_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf1,0x7c]
-v_cmpx_u_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf0,0x7c]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf1,0x7c]
+v_cmpx_u_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x02,0x04,0x02,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], s[4:5]
-// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x6c,0x04,0x02,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 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_u_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_u_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x20]
-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_u_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_u_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf2,0x7c]
@@ -63822,86 +74397,134 @@ v_cmpx_nge_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf3,0x7c]
-v_cmpx_nge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf2,0x7c]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf3,0x7c]
+v_cmpx_nge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x79,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x79,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x79,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x79,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_nge_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x40]
-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_nge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x79,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf4,0x7c]
@@ -63948,86 +74571,134 @@ v_cmpx_nlg_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf5,0x7c]
-v_cmpx_nlg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf4,0x7c]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf5,0x7c]
+v_cmpx_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7a,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x7a,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x7a,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x7a,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_nlg_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_nlg_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x7a,0xd0,0x04,0x08,0x00,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 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlg_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xdd,0x00,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], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x00,0x00]
-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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x83,0x01,0x00]
-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_nlg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7a,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf6,0x7c]
@@ -64074,86 +74745,134 @@ v_cmpx_ngt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf7,0x7c]
-v_cmpx_ngt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf6,0x7c]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf7,0x7c]
+v_cmpx_ngt_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
-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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x7b,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x7b,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_ngt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xe1,0x01,0x00]
-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_ngt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7b,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf8,0x7c]
@@ -64200,86 +74919,134 @@ v_cmpx_nle_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf9,0x7c]
-v_cmpx_nle_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf8,0x7c]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf9,0x7c]
+v_cmpx_nle_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x7c,0xd0,0x01,0x05,0x02,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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_nle_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xef,0x01,0x00]
-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_nle_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_nle_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7c,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfa,0x7c]
@@ -64326,86 +75093,134 @@ v_cmpx_neq_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfb,0x7c]
-v_cmpx_neq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfa,0x7c]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xfb,0x7c]
+v_cmpx_neq_f64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x6c,0x04,0x02,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 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_neq_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_neq_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x20]
-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_neq_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_neq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7d,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfc,0x7c]
@@ -64452,86 +75267,134 @@ v_cmpx_nlt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfd,0x7c]
-v_cmpx_nlt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfc,0x7c]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xfd,0x7c]
+v_cmpx_nlt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x7e,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x7e,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_nlt_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x40]
-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_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfe,0x7c]
@@ -64578,86 +75441,134 @@ v_cmpx_tru_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xff,0x7c]
-v_cmpx_tru_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfe,0x7c]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xff,0x7c]
+v_cmpx_tru_f64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
-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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0x7f,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x02,0x04,0x02,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[100:101], s[4:5], s[4:5]
-// CHECK: [0x64,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_tru_f64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_tru_f64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_tru_f64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xf5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x01,0x01,0x00]
-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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x83,0x01,0x00]
-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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xe1,0x01,0x00]
-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_cmpx_tru_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x20]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_tru_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7f,0xd0,0x01,0x05,0x02,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, v2
// CHECK: [0x01,0x04,0x40,0x7d]
@@ -64719,110 +75630,152 @@ v_cmp_f_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x41,0x7d]
-v_cmp_f_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x40,0x7d]
+v_cmp_f_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x41,0x7d]
+v_cmp_f_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa0,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa0,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_f_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_f_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_f_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_f_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_f_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_f_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_f_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_f_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_f_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_f_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_f_i16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xef,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_lt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x42,0x7d]
-v_cmp_f_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x42,0x7d]
v_cmp_lt_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x42,0x7d]
@@ -64884,110 +75837,152 @@ v_cmp_lt_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x43,0x7d]
-v_cmp_lt_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x42,0x7d]
+v_cmp_lt_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_lt_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x43,0x7d]
+v_cmp_lt_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_lt_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_lt_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_lt_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x6f,0x04,0x02,0x00]
-v_cmp_lt_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_lt_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lt_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lt_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lt_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lt_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_lt_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_eq_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x44,0x7d]
-v_cmp_lt_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_eq_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x44,0x7d]
v_cmp_eq_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x44,0x7d]
@@ -65049,110 +76044,152 @@ v_cmp_eq_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x45,0x7d]
-v_cmp_eq_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x44,0x7d]
+v_cmp_eq_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x45,0x7d]
+v_cmp_eq_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa2,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa2,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa2,0xd0,0x01,0x05,0x02,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], v255, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_eq_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_eq_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_eq_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_eq_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_eq_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_eq_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_eq_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_eq_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_eq_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_eq_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_eq_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_eq_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_eq_i16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xef,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_le_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x46,0x7d]
-v_cmp_eq_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_le_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x46,0x7d]
v_cmp_le_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x46,0x7d]
@@ -65214,110 +76251,152 @@ v_cmp_le_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x47,0x7d]
-v_cmp_le_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x46,0x7d]
+v_cmp_le_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x47,0x7d]
+v_cmp_le_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa3,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa3,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_le_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_le_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_le_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_le_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_le_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_le_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_le_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_le_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_le_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_gt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x48,0x7d]
-v_cmp_le_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_gt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x48,0x7d]
v_cmp_gt_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x48,0x7d]
@@ -65379,110 +76458,152 @@ v_cmp_gt_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x49,0x7d]
-v_cmp_gt_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x48,0x7d]
+v_cmp_gt_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x49,0x7d]
+v_cmp_gt_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa4,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa4,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_gt_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_gt_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_gt_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_gt_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_gt_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_gt_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_gt_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_gt_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_gt_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xef,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_ne_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4a,0x7d]
-v_cmp_gt_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ne_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4a,0x7d]
v_cmp_ne_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4a,0x7d]
@@ -65544,110 +76665,152 @@ v_cmp_ne_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4b,0x7d]
-v_cmp_ne_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4a,0x7d]
+v_cmp_ne_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4b,0x7d]
+v_cmp_ne_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ne_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ne_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ne_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_ne_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x7f,0x04,0x02,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.5, s2
-// CHECK: [0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_ne_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ne_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ne_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ne_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ne_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ne_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ge_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4c,0x7d]
-v_cmp_ne_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ge_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4c,0x7d]
v_cmp_ge_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4c,0x7d]
@@ -65709,110 +76872,152 @@ v_cmp_ge_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4d,0x7d]
-v_cmp_ge_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4c,0x7d]
+v_cmp_ge_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4d,0x7d]
+v_cmp_ge_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ge_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ge_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ge_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_ge_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_ge_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ge_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ge_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ge_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ge_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ge_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_t_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4e,0x7d]
-v_cmp_ge_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_t_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4e,0x7d]
v_cmp_t_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4e,0x7d]
@@ -65874,110 +77079,152 @@ v_cmp_t_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4f,0x7d]
-v_cmp_t_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4e,0x7d]
+v_cmp_t_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4f,0x7d]
+v_cmp_t_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_t_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_t_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_t_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x7f,0x04,0x02,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_t_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_t_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_t_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_t_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_t_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xef,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_f_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x50,0x7d]
-v_cmp_t_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_f_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x50,0x7d]
v_cmp_f_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x50,0x7d]
@@ -66039,110 +77286,152 @@ v_cmp_f_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x51,0x7d]
-v_cmp_f_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x50,0x7d]
+v_cmp_f_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_f_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x51,0x7d]
+v_cmp_f_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_f_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_f_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_f_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_f_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_f_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_f_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_f_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_f_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_f_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_f_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_lt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x52,0x7d]
-v_cmp_f_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x52,0x7d]
v_cmp_lt_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x52,0x7d]
@@ -66204,110 +77493,152 @@ v_cmp_lt_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x53,0x7d]
-v_cmp_lt_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x52,0x7d]
+v_cmp_lt_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x53,0x7d]
+v_cmp_lt_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa9,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa9,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_lt_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lt_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lt_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lt_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lt_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lt_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lt_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lt_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lt_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_lt_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lt_u16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xef,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_eq_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x54,0x7d]
-v_cmp_lt_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_eq_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x54,0x7d]
v_cmp_eq_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x54,0x7d]
@@ -66369,110 +77700,152 @@ v_cmp_eq_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x55,0x7d]
-v_cmp_eq_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x54,0x7d]
+v_cmp_eq_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x55,0x7d]
+v_cmp_eq_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xaa,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xaa,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_eq_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_eq_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_eq_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_eq_u16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_eq_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_eq_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_eq_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_eq_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_eq_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_eq_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_eq_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_eq_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_eq_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_le_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x56,0x7d]
-v_cmp_eq_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_le_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x56,0x7d]
v_cmp_le_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x56,0x7d]
@@ -66534,110 +77907,152 @@ v_cmp_le_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x57,0x7d]
-v_cmp_le_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x56,0x7d]
+v_cmp_le_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x57,0x7d]
+v_cmp_le_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xab,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xab,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xab,0xd0,0x01,0x05,0x02,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], v255, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_le_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_le_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_le_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_le_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_le_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_le_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_le_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_le_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_le_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_le_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_le_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_le_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_le_u16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xef,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_gt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x58,0x7d]
-v_cmp_le_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_gt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x58,0x7d]
v_cmp_gt_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x58,0x7d]
@@ -66699,110 +78114,152 @@ v_cmp_gt_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x59,0x7d]
-v_cmp_gt_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x58,0x7d]
+v_cmp_gt_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x59,0x7d]
+v_cmp_gt_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xac,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xac,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_gt_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_gt_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_gt_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_gt_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_gt_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_gt_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_gt_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_gt_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_gt_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_gt_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ne_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5a,0x7d]
-v_cmp_gt_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ne_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5a,0x7d]
v_cmp_ne_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5a,0x7d]
@@ -66864,110 +78321,152 @@ v_cmp_ne_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5b,0x7d]
-v_cmp_ne_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5a,0x7d]
+v_cmp_ne_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5b,0x7d]
+v_cmp_ne_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xad,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_ne_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ne_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ne_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ne_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_ne_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ne_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ne_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ne_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ne_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ne_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ge_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5c,0x7d]
-v_cmp_ne_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ge_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5c,0x7d]
v_cmp_ge_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5c,0x7d]
@@ -67029,110 +78528,152 @@ v_cmp_ge_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5d,0x7d]
-v_cmp_ge_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5c,0x7d]
+v_cmp_ge_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5d,0x7d]
+v_cmp_ge_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ge_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ge_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ge_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_ge_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7f,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0xae,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_ge_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ge_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ge_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ge_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ge_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ge_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_t_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5e,0x7d]
-v_cmp_ge_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_t_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5e,0x7d]
v_cmp_t_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5e,0x7d]
@@ -67194,110 +78735,152 @@ v_cmp_t_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5f,0x7d]
-v_cmp_t_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5e,0x7d]
+v_cmp_t_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5f,0x7d]
+v_cmp_t_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_t_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_t_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_t_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_t_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_t_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_t_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_t_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_t_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_t_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xef,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_cmpx_f_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x60,0x7d]
-v_cmp_t_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_f_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x60,0x7d]
v_cmpx_f_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x60,0x7d]
@@ -67359,110 +78942,152 @@ v_cmpx_f_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x61,0x7d]
-v_cmpx_f_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x60,0x7d]
+v_cmpx_f_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_f_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x61,0x7d]
+v_cmpx_f_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_f_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_f_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_f_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_f_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_f_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_f_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_f_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_f_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_f_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_f_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_f_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_lt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x62,0x7d]
-v_cmpx_f_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x62,0x7d]
v_cmpx_lt_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x62,0x7d]
@@ -67524,110 +79149,152 @@ v_cmpx_lt_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x63,0x7d]
-v_cmpx_lt_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x62,0x7d]
+v_cmpx_lt_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_lt_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x63,0x7d]
+v_cmpx_lt_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_lt_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_lt_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_lt_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_lt_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lt_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lt_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lt_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_lt_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xef,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_eq_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x64,0x7d]
-v_cmpx_lt_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x64,0x7d]
v_cmpx_eq_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x64,0x7d]
@@ -67689,110 +79356,152 @@ v_cmpx_eq_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x65,0x7d]
-v_cmpx_eq_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x64,0x7d]
+v_cmpx_eq_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x65,0x7d]
+v_cmpx_eq_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb2,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb2,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_eq_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_eq_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_eq_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_eq_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_eq_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_eq_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_le_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x66,0x7d]
-v_cmpx_eq_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_le_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x66,0x7d]
v_cmpx_le_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x66,0x7d]
@@ -67854,110 +79563,152 @@ v_cmpx_le_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x67,0x7d]
-v_cmpx_le_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x66,0x7d]
+v_cmpx_le_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_le_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x67,0x7d]
+v_cmpx_le_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x6b,0x04,0x02,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 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_le_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_le_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_le_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_le_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpx_le_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_le_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_le_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_le_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_le_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_le_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_le_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_gt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x68,0x7d]
-v_cmpx_le_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x68,0x7d]
v_cmpx_gt_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x68,0x7d]
@@ -68019,110 +79770,152 @@ v_cmpx_gt_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x69,0x7d]
-v_cmpx_gt_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x68,0x7d]
+v_cmpx_gt_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x69,0x7d]
+v_cmpx_gt_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb4,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb4,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_gt_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_gt_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_gt_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_gt_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_gt_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_gt_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_gt_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_gt_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_gt_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ne_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6a,0x7d]
-v_cmpx_gt_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6a,0x7d]
v_cmpx_ne_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6a,0x7d]
@@ -68184,110 +79977,152 @@ v_cmpx_ne_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6b,0x7d]
-v_cmpx_ne_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6a,0x7d]
+v_cmpx_ne_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6b,0x7d]
+v_cmpx_ne_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb5,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb5,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ne_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ne_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ne_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ne_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_ne_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ne_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ne_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ne_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ne_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_ne_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xef,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_ge_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6c,0x7d]
-v_cmpx_ne_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6c,0x7d]
v_cmpx_ge_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6c,0x7d]
@@ -68349,110 +80184,152 @@ v_cmpx_ge_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6d,0x7d]
-v_cmpx_ge_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6c,0x7d]
+v_cmpx_ge_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6d,0x7d]
+v_cmpx_ge_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb6,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ge_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ge_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ge_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_ge_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ge_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_ge_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ge_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ge_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ge_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ge_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_t_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6e,0x7d]
-v_cmpx_ge_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_t_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6e,0x7d]
v_cmpx_t_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6e,0x7d]
@@ -68514,110 +80391,152 @@ v_cmpx_t_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6f,0x7d]
-v_cmpx_t_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6e,0x7d]
+v_cmpx_t_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6f,0x7d]
+v_cmpx_t_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_t_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_t_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_t_i16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_t_i16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_t_i16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x7f,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_t_i16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_t_i16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_t_i16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_t_i16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_t_i16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_t_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_f_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x70,0x7d]
-v_cmpx_t_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_f_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x70,0x7d]
v_cmpx_f_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x70,0x7d]
@@ -68679,110 +80598,152 @@ v_cmpx_f_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x71,0x7d]
-v_cmpx_f_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x70,0x7d]
+v_cmpx_f_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_f_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x71,0x7d]
+v_cmpx_f_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_f_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_f_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_f_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_f_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_f_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_f_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_f_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_f_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_f_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_f_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_f_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_lt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x72,0x7d]
-v_cmpx_f_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x72,0x7d]
v_cmpx_lt_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x72,0x7d]
@@ -68844,110 +80805,152 @@ v_cmpx_lt_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x73,0x7d]
-v_cmpx_lt_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x72,0x7d]
+v_cmpx_lt_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_lt_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x73,0x7d]
+v_cmpx_lt_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_lt_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_lt_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_lt_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_lt_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lt_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lt_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lt_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_lt_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xef,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_eq_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x74,0x7d]
-v_cmpx_lt_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x74,0x7d]
v_cmpx_eq_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x74,0x7d]
@@ -69009,110 +81012,152 @@ v_cmpx_eq_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x75,0x7d]
-v_cmpx_eq_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x74,0x7d]
+v_cmpx_eq_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_eq_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x75,0x7d]
+v_cmpx_eq_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_eq_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_eq_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_eq_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_eq_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_eq_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_eq_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_eq_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_eq_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_eq_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_le_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x76,0x7d]
-v_cmpx_eq_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_le_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x76,0x7d]
v_cmpx_le_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x76,0x7d]
@@ -69174,110 +81219,152 @@ v_cmpx_le_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x77,0x7d]
-v_cmpx_le_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x76,0x7d]
+v_cmpx_le_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x77,0x7d]
+v_cmpx_le_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbb,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xbb,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_le_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_le_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_le_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_le_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_le_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_le_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_le_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_le_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xef,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_gt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x78,0x7d]
-v_cmpx_le_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x78,0x7d]
v_cmpx_gt_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x78,0x7d]
@@ -69339,110 +81426,152 @@ v_cmpx_gt_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x79,0x7d]
-v_cmpx_gt_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x78,0x7d]
+v_cmpx_gt_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_gt_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x79,0x7d]
+v_cmpx_gt_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6a,0x04,0x02,0x00]
-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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6b,0x04,0x02,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[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6c,0x04,0x02,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 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_gt_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_gt_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_gt_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpx_gt_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_gt_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_gt_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_gt_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_gt_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_gt_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xef,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_ne_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7a,0x7d]
-v_cmpx_gt_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7a,0x7d]
v_cmpx_ne_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7a,0x7d]
@@ -69504,110 +81633,152 @@ v_cmpx_ne_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7b,0x7d]
-v_cmpx_ne_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7a,0x7d]
+v_cmpx_ne_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7b,0x7d]
+v_cmpx_ne_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xbd,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xbd,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ne_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ne_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ne_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ne_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_ne_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ne_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ne_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ne_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ne_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ne_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ge_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7c,0x7d]
-v_cmpx_ne_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7c,0x7d]
v_cmpx_ge_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7c,0x7d]
@@ -69669,110 +81840,152 @@ v_cmpx_ge_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7d,0x7d]
-v_cmpx_ge_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7c,0x7d]
+v_cmpx_ge_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_ge_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7d,0x7d]
+v_cmpx_ge_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6c,0x04,0x02,0x00]
-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[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6d,0x04,0x02,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[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6e,0x04,0x02,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 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_ge_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpx_ge_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_ge_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_ge_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpx_ge_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xbe,0xd0,0x80,0x04,0x00,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], -1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ge_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ge_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ge_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_ge_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xef,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_t_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7e,0x7d]
-v_cmpx_ge_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_t_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7e,0x7d]
v_cmpx_t_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7e,0x7d]
@@ -69834,110 +82047,152 @@ v_cmpx_t_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7f,0x7d]
-v_cmpx_t_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7e,0x7d]
+v_cmpx_t_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u16_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u16_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7f,0x7d]
+v_cmpx_t_u16_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_t_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_t_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_t_u16_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_t_u16_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_t_u16_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_t_u16_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_t_u16_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_t_u16_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_t_u16_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_t_u16_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_t_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_f_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x80,0x7d]
-v_cmpx_t_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_f_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x80,0x7d]
v_cmp_f_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x80,0x7d]
@@ -69999,110 +82254,152 @@ v_cmp_f_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x81,0x7d]
-v_cmp_f_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x80,0x7d]
+v_cmp_f_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x81,0x7d]
+v_cmp_f_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_f_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_f_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_f_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x7f,0x04,0x02,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_f_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xef,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_lt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x82,0x7d]
-v_cmp_f_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x82,0x7d]
v_cmp_lt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x82,0x7d]
@@ -70164,110 +82461,152 @@ v_cmp_lt_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x83,0x7d]
-v_cmp_lt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x82,0x7d]
+v_cmp_lt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_lt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x83,0x7d]
+v_cmp_lt_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_eq_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x84,0x7d]
-v_cmp_lt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_eq_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x84,0x7d]
v_cmp_eq_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x84,0x7d]
@@ -70329,110 +82668,152 @@ v_cmp_eq_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x85,0x7d]
-v_cmp_eq_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x84,0x7d]
+v_cmp_eq_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x85,0x7d]
+v_cmp_eq_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc2,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc2,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_eq_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_eq_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xef,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_le_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x86,0x7d]
-v_cmp_eq_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_le_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x86,0x7d]
v_cmp_le_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x86,0x7d]
@@ -70494,110 +82875,152 @@ v_cmp_le_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x87,0x7d]
-v_cmp_le_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x86,0x7d]
+v_cmp_le_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x87,0x7d]
+v_cmp_le_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc3,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc3,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_le_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_le_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_le_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_gt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x88,0x7d]
-v_cmp_le_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_gt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x88,0x7d]
v_cmp_gt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x88,0x7d]
@@ -70659,110 +83082,152 @@ v_cmp_gt_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x89,0x7d]
-v_cmp_gt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x88,0x7d]
+v_cmp_gt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x89,0x7d]
+v_cmp_gt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc4,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc4,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc4,0xd0,0x01,0x05,0x02,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], v255, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_gt_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_gt_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_gt_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xef,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_ne_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8a,0x7d]
-v_cmp_gt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ne_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8a,0x7d]
v_cmp_ne_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8a,0x7d]
@@ -70824,110 +83289,152 @@ v_cmp_ne_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8b,0x7d]
-v_cmp_ne_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8a,0x7d]
+v_cmp_ne_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8b,0x7d]
+v_cmp_ne_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc5,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc5,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ne_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ge_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8c,0x7d]
-v_cmp_ne_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ge_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8c,0x7d]
v_cmp_ge_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8c,0x7d]
@@ -70989,110 +83496,152 @@ v_cmp_ge_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8d,0x7d]
-v_cmp_ge_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8c,0x7d]
+v_cmp_ge_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8d,0x7d]
+v_cmp_ge_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc6,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_ge_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_t_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8e,0x7d]
-v_cmp_ge_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_t_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8e,0x7d]
v_cmp_t_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8e,0x7d]
@@ -71154,110 +83703,152 @@ v_cmp_t_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8f,0x7d]
-v_cmp_t_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8e,0x7d]
+v_cmp_t_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_t_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8f,0x7d]
+v_cmp_t_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x6d,0x04,0x02,0x00]
-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[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x6e,0x04,0x02,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[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x6f,0x04,0x02,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 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x7b,0x04,0x02,0x00]
-v_cmp_t_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_t_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x7f,0x04,0x02,0x00]
-v_cmp_t_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc7,0xd0,0x80,0x04,0x00,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_f_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x90,0x7d]
-v_cmp_t_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_f_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x90,0x7d]
v_cmp_f_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x90,0x7d]
@@ -71319,110 +83910,152 @@ v_cmp_f_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x91,0x7d]
-v_cmp_f_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x90,0x7d]
+v_cmp_f_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x91,0x7d]
+v_cmp_f_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_f_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_f_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_f_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_f_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_lt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x92,0x7d]
-v_cmp_f_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x92,0x7d]
v_cmp_lt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x92,0x7d]
@@ -71484,110 +84117,152 @@ v_cmp_lt_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x93,0x7d]
-v_cmp_lt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x92,0x7d]
+v_cmp_lt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_lt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x93,0x7d]
+v_cmp_lt_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x7f,0x04,0x02,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_lt_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xef,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_eq_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x94,0x7d]
-v_cmp_lt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_eq_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x94,0x7d]
v_cmp_eq_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x94,0x7d]
@@ -71649,110 +84324,152 @@ v_cmp_eq_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x95,0x7d]
-v_cmp_eq_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x94,0x7d]
+v_cmp_eq_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_eq_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x95,0x7d]
+v_cmp_eq_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6d,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_eq_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xef,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_le_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x96,0x7d]
-v_cmp_eq_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_le_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x96,0x7d]
v_cmp_le_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x96,0x7d]
@@ -71814,110 +84531,152 @@ v_cmp_le_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x97,0x7d]
-v_cmp_le_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x96,0x7d]
+v_cmp_le_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x97,0x7d]
+v_cmp_le_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xcb,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xcb,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_le_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_gt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x98,0x7d]
-v_cmp_le_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_gt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x98,0x7d]
v_cmp_gt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x98,0x7d]
@@ -71979,110 +84738,152 @@ v_cmp_gt_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x99,0x7d]
-v_cmp_gt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x98,0x7d]
+v_cmp_gt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x99,0x7d]
+v_cmp_gt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xcc,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xcc,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xcc,0xd0,0x01,0x05,0x02,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], v255, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_gt_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ne_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9a,0x7d]
-v_cmp_gt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ne_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9a,0x7d]
v_cmp_ne_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9a,0x7d]
@@ -72144,110 +84945,152 @@ v_cmp_ne_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9b,0x7d]
-v_cmp_ne_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9a,0x7d]
+v_cmp_ne_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9b,0x7d]
+v_cmp_ne_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xcd,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xcd,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xcd,0xd0,0x01,0x05,0x02,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], v255, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ne_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_ne_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xef,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_ge_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9c,0x7d]
-v_cmp_ne_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ge_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9c,0x7d]
v_cmp_ge_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9c,0x7d]
@@ -72309,110 +85152,152 @@ v_cmp_ge_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9d,0x7d]
-v_cmp_ge_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9c,0x7d]
+v_cmp_ge_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9d,0x7d]
+v_cmp_ge_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xce,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xce,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xd7,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_t_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9e,0x7d]
-v_cmp_ge_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_t_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9e,0x7d]
v_cmp_t_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9e,0x7d]
@@ -72474,110 +85359,152 @@ v_cmp_t_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9f,0x7d]
-v_cmp_t_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9e,0x7d]
+v_cmp_t_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9f,0x7d]
+v_cmp_t_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xcf,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xcf,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_t_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_t_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_t_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_t_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xd9,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xd8,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xdb,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xda,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xdd,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xdc,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xdf,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xde,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xf7,0x00,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xf6,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xef,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_cmpx_f_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa0,0x7d]
-v_cmp_t_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_f_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa0,0x7d]
v_cmpx_f_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa0,0x7d]
@@ -72639,110 +85566,152 @@ v_cmpx_f_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa1,0x7d]
-v_cmpx_f_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa0,0x7d]
+v_cmpx_f_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa1,0x7d]
+v_cmpx_f_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x7f,0x04,0x02,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.5, s2
-// CHECK: [0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_lt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa2,0x7d]
-v_cmpx_f_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa2,0x7d]
v_cmpx_lt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa2,0x7d]
@@ -72804,110 +85773,152 @@ v_cmpx_lt_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa3,0x7d]
-v_cmpx_lt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa2,0x7d]
+v_cmpx_lt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa3,0x7d]
+v_cmpx_lt_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xef,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_eq_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa4,0x7d]
-v_cmpx_lt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa4,0x7d]
v_cmpx_eq_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa4,0x7d]
@@ -72969,110 +85980,152 @@ v_cmpx_eq_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa5,0x7d]
-v_cmpx_eq_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa4,0x7d]
+v_cmpx_eq_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_eq_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa5,0x7d]
+v_cmpx_eq_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x7f,0x04,0x02,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 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_eq_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xef,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_le_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa6,0x7d]
-v_cmpx_eq_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_le_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa6,0x7d]
v_cmpx_le_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa6,0x7d]
@@ -73134,110 +86187,152 @@ v_cmpx_le_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa7,0x7d]
-v_cmpx_le_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa6,0x7d]
+v_cmpx_le_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_le_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa7,0x7d]
+v_cmpx_le_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_gt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa8,0x7d]
-v_cmpx_le_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa8,0x7d]
v_cmpx_gt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa8,0x7d]
@@ -73299,110 +86394,152 @@ v_cmpx_gt_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa9,0x7d]
-v_cmpx_gt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa8,0x7d]
+v_cmpx_gt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa9,0x7d]
+v_cmpx_gt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd4,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd4,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_gt_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xef,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_ne_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xaa,0x7d]
-v_cmpx_gt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xaa,0x7d]
v_cmpx_ne_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xaa,0x7d]
@@ -73464,110 +86601,152 @@ v_cmpx_ne_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xab,0x7d]
-v_cmpx_ne_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xaa,0x7d]
+v_cmpx_ne_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xab,0x7d]
+v_cmpx_ne_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd5,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd5,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ne_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ge_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xac,0x7d]
-v_cmpx_ne_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xac,0x7d]
v_cmpx_ge_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xac,0x7d]
@@ -73629,110 +86808,152 @@ v_cmpx_ge_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xad,0x7d]
-v_cmpx_ge_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xac,0x7d]
+v_cmpx_ge_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xad,0x7d]
+v_cmpx_ge_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd6,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd6,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ge_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ge_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_ge_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xef,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_t_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xae,0x7d]
-v_cmpx_ge_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_t_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xae,0x7d]
v_cmpx_t_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xae,0x7d]
@@ -73794,110 +87015,152 @@ v_cmpx_t_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xaf,0x7d]
-v_cmpx_t_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xae,0x7d]
+v_cmpx_t_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_t_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xaf,0x7d]
+v_cmpx_t_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x6b,0x04,0x02,0x00]
-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[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x6c,0x04,0x02,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[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x6d,0x04,0x02,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 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x7f,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_t_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_f_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb0,0x7d]
-v_cmpx_t_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_f_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb0,0x7d]
v_cmpx_f_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb0,0x7d]
@@ -73959,110 +87222,152 @@ v_cmpx_f_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb1,0x7d]
-v_cmpx_f_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb0,0x7d]
+v_cmpx_f_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb1,0x7d]
+v_cmpx_f_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd8,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_f_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6c,0x04,0x02,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], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_lt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb2,0x7d]
-v_cmpx_f_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb2,0x7d]
v_cmpx_lt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb2,0x7d]
@@ -74124,110 +87429,152 @@ v_cmpx_lt_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb3,0x7d]
-v_cmpx_lt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb2,0x7d]
+v_cmpx_lt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb3,0x7d]
+v_cmpx_lt_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_lt_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x7f,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_eq_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb4,0x7d]
-v_cmpx_lt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb4,0x7d]
v_cmpx_eq_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb4,0x7d]
@@ -74289,110 +87636,152 @@ v_cmpx_eq_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb5,0x7d]
-v_cmpx_eq_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb4,0x7d]
+v_cmpx_eq_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb5,0x7d]
+v_cmpx_eq_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6d,0x04,0x02,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], tma_lo, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6e,0x04,0x02,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], tma_hi, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xd7,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], v1, tba_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xf7,0x00,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], v1, m0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xef,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_le_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb6,0x7d]
-v_cmpx_eq_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_le_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb6,0x7d]
v_cmpx_le_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb6,0x7d]
@@ -74454,110 +87843,152 @@ v_cmpx_le_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb7,0x7d]
-v_cmpx_le_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb6,0x7d]
+v_cmpx_le_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_le_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb7,0x7d]
+v_cmpx_le_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x6f,0x04,0x02,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], ttmp11, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_gt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb8,0x7d]
-v_cmpx_le_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb8,0x7d]
v_cmpx_gt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb8,0x7d]
@@ -74619,110 +88050,152 @@ v_cmpx_gt_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb9,0x7d]
-v_cmpx_gt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb8,0x7d]
+v_cmpx_gt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_gt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb9,0x7d]
+v_cmpx_gt_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x7b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ne_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xba,0x7d]
-v_cmpx_gt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xba,0x7d]
v_cmpx_ne_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xba,0x7d]
@@ -74784,110 +88257,152 @@ v_cmpx_ne_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbb,0x7d]
-v_cmpx_ne_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xba,0x7d]
+v_cmpx_ne_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbb,0x7d]
+v_cmpx_ne_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xdd,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xdd,0xd0,0x01,0x05,0x02,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 tba, v1, v2
+// CHECK: [0x6c,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ne_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ne_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ge_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbc,0x7d]
-v_cmpx_ne_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbc,0x7d]
v_cmpx_ge_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbc,0x7d]
@@ -74949,110 +88464,152 @@ v_cmpx_ge_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbd,0x7d]
-v_cmpx_ge_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbc,0x7d]
+v_cmpx_ge_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 tma, v1, v2
+// CHECK: [0x6e,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ge_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbd,0x7d]
+v_cmpx_ge_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6b,0x04,0x02,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 s[10:11], tba_lo, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6d,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6f,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x7b,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_t_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbe,0x7d]
-v_cmpx_ge_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_t_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbe,0x7d]
v_cmpx_t_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbe,0x7d]
@@ -75114,110 +88671,152 @@ v_cmpx_t_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbf,0x7d]
-v_cmpx_t_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbe,0x7d]
+v_cmpx_t_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbf,0x7d]
+v_cmpx_t_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 tba, v1, v2
+// CHECK: [0x6c,0x00,0xdf,0xd0,0x01,0x05,0x02,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 tma, v1, v2
+// CHECK: [0x6e,0x00,0xdf,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v1, v2
+// CHECK: [0x7a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_t_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 tba, 0, s2
-// CHECK: [0x6c,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 tma, 0, s2
-// CHECK: [0x6e,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 ttmp[10:11], 0, s2
-// CHECK: [0x7a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x6b,0x04,0x02,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], tba_lo, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], tba_hi, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x6d,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], tma_lo, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], tma_hi, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x6f,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], ttmp11, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x7b,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xd7,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, tba_lo
-// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xd8,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, tba_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xd9,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, tba_hi
-// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xda,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, tba_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xdb,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, tma_lo
-// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xdc,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, tma_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xdd,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, tma_hi
-// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xde,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, tma_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xdf,0x00,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, ttmp11
-// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xf6,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], v1, ttmp11
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xf7,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], v1, m0
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_t_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_f_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc0,0x7d]
-v_cmpx_t_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xfe,0x03,0x00]
+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[2:3]
// CHECK: [0x02,0x04,0xc0,0x7d]
@@ -75264,74 +88863,122 @@ v_cmp_f_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc1,0x7d]
-v_cmp_f_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc0,0x7d]
+v_cmp_f_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc1,0x7d]
+v_cmp_f_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
-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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe0,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe0,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_f_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_f_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_f_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xf5,0x00,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_f_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc2,0x7d]
@@ -75378,74 +89025,122 @@ v_cmp_lt_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc3,0x7d]
-v_cmp_lt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc2,0x7d]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc3,0x7d]
+v_cmp_lt_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
-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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe1,0xd0,0x01,0x05,0x02,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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_lt_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x00,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_lt_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc4,0x7d]
@@ -75492,74 +89187,122 @@ v_cmp_eq_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc5,0x7d]
-v_cmp_eq_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc4,0x7d]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc5,0x7d]
+v_cmp_eq_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe2,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe2,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe2,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x02,0x04,0x02,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 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x64,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_eq_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x01,0x01,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_eq_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc6,0x7d]
@@ -75606,74 +89349,122 @@ v_cmp_le_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc7,0x7d]
-v_cmp_le_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc6,0x7d]
+v_cmp_le_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc7,0x7d]
+v_cmp_le_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
-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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe3,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe3,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_le_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_le_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_le_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xe1,0x01,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_le_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc8,0x7d]
@@ -75720,74 +89511,122 @@ v_cmp_gt_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc9,0x7d]
-v_cmp_gt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc8,0x7d]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x02,0x04,0x02,0x00]
-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], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x04,0x02,0x00]
-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[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_gt_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xf5,0x00,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_gt_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xca,0x7d]
@@ -75834,74 +89673,122 @@ v_cmp_ne_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcb,0x7d]
-v_cmp_ne_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xca,0x7d]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcb,0x7d]
+v_cmp_ne_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x02,0x04,0x02,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], s[4:5]
-// CHECK: [0x0a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_ne_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_ge_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xcc,0x7d]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xcc,0x7d]
v_cmp_ge_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xcc,0x7d]
@@ -75948,74 +89835,122 @@ v_cmp_ge_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcd,0x7d]
-v_cmp_ge_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xcc,0x7d]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcd,0x7d]
+v_cmp_ge_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe6,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe6,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe6,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe6,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_ge_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x83,0x01,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_ge_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xce,0x7d]
@@ -76062,74 +89997,122 @@ v_cmp_t_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcf,0x7d]
-v_cmp_t_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xce,0x7d]
+v_cmp_t_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcf,0x7d]
+v_cmp_t_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
-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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe7,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe7,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe7,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x02,0x04,0x02,0x00]
-v_cmp_t_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe7,0xd0,0x04,0x08,0x00,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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_t_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_t_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_t_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xdd,0x00,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_t_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd0,0x7d]
@@ -76176,74 +90159,122 @@ v_cmp_f_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd1,0x7d]
-v_cmp_f_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd0,0x7d]
+v_cmp_f_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd1,0x7d]
+v_cmp_f_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe8,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe8,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe8,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe8,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x02,0x04,0x02,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 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xf5,0x00,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_f_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd2,0x7d]
@@ -76290,74 +90321,122 @@ v_cmp_lt_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd3,0x7d]
-v_cmp_lt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd2,0x7d]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd3,0x7d]
+v_cmp_lt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe9,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe9,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe9,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xe9,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x02,0x04,0x02,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 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x64,0x04,0x02,0x00]
-v_cmp_lt_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xf5,0x00,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_lt_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd4,0x7d]
@@ -76404,74 +90483,122 @@ v_cmp_eq_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd5,0x7d]
-v_cmp_eq_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd4,0x7d]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd5,0x7d]
+v_cmp_eq_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xea,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xea,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xea,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xea,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x02,0x04,0x02,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 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x64,0x04,0x02,0x00]
-v_cmp_eq_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_eq_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x01,0x01,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_eq_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd6,0x7d]
@@ -76518,74 +90645,122 @@ v_cmp_le_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd7,0x7d]
-v_cmp_le_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd6,0x7d]
+v_cmp_le_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd7,0x7d]
+v_cmp_le_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xfe,0x05,0x02,0x00]
-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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x02,0x04,0x02,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[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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x6c,0x04,0x02,0x00]
-v_cmp_le_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_le_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_le_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0x83,0x01,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_le_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd8,0x7d]
@@ -76632,74 +90807,122 @@ v_cmp_gt_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd9,0x7d]
-v_cmp_gt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd8,0x7d]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xfe,0x05,0x02,0x00]
-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[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x02,0x04,0x02,0x00]
-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[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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_gt_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xe1,0x01,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_gt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xda,0x7d]
@@ -76746,74 +90969,122 @@ v_cmp_ne_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdb,0x7d]
-v_cmp_ne_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xda,0x7d]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdb,0x7d]
+v_cmp_ne_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xed,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xed,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xed,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xed,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_ne_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ne_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xef,0x01,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, 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[2:3]
// CHECK: [0x02,0x04,0xdc,0x7d]
@@ -76860,74 +91131,122 @@ v_cmp_ge_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdd,0x7d]
-v_cmp_ge_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xdc,0x7d]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdd,0x7d]
+v_cmp_ge_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x02,0x04,0x02,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], s[4:5]
-// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x6e,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x7a,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_ge_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x01,0x01,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_ge_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xde,0x7d]
@@ -76974,74 +91293,122 @@ v_cmp_t_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdf,0x7d]
-v_cmp_t_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xde,0x7d]
+v_cmp_t_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdf,0x7d]
+v_cmp_t_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xef,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xef,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xef,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xef,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xfe,0x05,0x02,0x00]
-v_cmp_t_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_t_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0x83,0x01,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_cmp_t_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe0,0x7d]
@@ -77088,74 +91455,122 @@ v_cmpx_f_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe1,0x7d]
-v_cmpx_f_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe0,0x7d]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe1,0x7d]
+v_cmpx_f_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf0,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf0,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf0,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf0,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_f_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_f_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf0,0xd0,0x04,0x08,0x00,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 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xdd,0x00,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_f_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe2,0x7d]
@@ -77202,74 +91617,122 @@ v_cmpx_lt_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe3,0x7d]
-v_cmpx_lt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe2,0x7d]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe3,0x7d]
+v_cmpx_lt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf1,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf1,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf1,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf1,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x02,0x04,0x02,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 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x64,0x04,0x02,0x00]
-v_cmpx_lt_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x00,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_lt_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe4,0x7d]
@@ -77316,74 +91779,122 @@ v_cmpx_eq_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe5,0x7d]
-v_cmpx_eq_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe4,0x7d]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe5,0x7d]
+v_cmpx_eq_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x6c,0x04,0x02,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 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_eq_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x01,0x01,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_eq_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe6,0x7d]
@@ -77430,74 +91941,122 @@ v_cmpx_le_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe7,0x7d]
-v_cmpx_le_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe6,0x7d]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe7,0x7d]
+v_cmpx_le_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
-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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf3,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf3,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf3,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x02,0x04,0x02,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 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x64,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_le_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0x83,0x01,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_le_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe8,0x7d]
@@ -77544,74 +92103,122 @@ v_cmpx_gt_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe9,0x7d]
-v_cmpx_gt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe8,0x7d]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe9,0x7d]
+v_cmpx_gt_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf4,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf4,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_gt_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x83,0x01,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_gt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xea,0x7d]
@@ -77658,74 +92265,122 @@ v_cmpx_ne_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xeb,0x7d]
-v_cmpx_ne_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xea,0x7d]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xeb,0x7d]
+v_cmpx_ne_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
-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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf5,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x02,0x04,0x02,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[100:101], s[4:5], s[4:5]
-// CHECK: [0x64,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_ne_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ne_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xf5,0x00,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_ne_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xec,0x7d]
@@ -77772,74 +92427,122 @@ v_cmpx_ge_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xed,0x7d]
-v_cmpx_ge_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xec,0x7d]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xed,0x7d]
+v_cmpx_ge_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf6,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf6,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf6,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf6,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_ge_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x00,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_ge_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xee,0x7d]
@@ -77886,74 +92589,122 @@ v_cmpx_t_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xef,0x7d]
-v_cmpx_t_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xee,0x7d]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xef,0x7d]
+v_cmpx_t_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x02,0x04,0x02,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], s[4:5]
-// CHECK: [0x0a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x6c,0x04,0x02,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 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_t_i64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_t_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_f_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf0,0x7d]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf0,0x7d]
v_cmpx_f_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xf0,0x7d]
@@ -78000,74 +92751,122 @@ v_cmpx_f_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf1,0x7d]
-v_cmpx_f_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf0,0x7d]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf1,0x7d]
+v_cmpx_f_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf8,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf8,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf8,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf8,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_f_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_f_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf8,0xd0,0x04,0x08,0x00,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], 0, s[4:5]
-// CHECK: [0x0a,0x00,0xf8,0xd0,0x80,0x08,0x00,0x00]
+v_cmpx_f_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xdd,0x00,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_f_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf2,0x7d]
@@ -78114,74 +92913,122 @@ v_cmpx_lt_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf3,0x7d]
-v_cmpx_lt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf2,0x7d]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf3,0x7d]
+v_cmpx_lt_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf9,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xf9,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xf9,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xf9,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_lt_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_lt_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xf9,0xd0,0x04,0x08,0x00,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 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xdd,0x00,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_lt_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf4,0x7d]
@@ -78228,74 +93075,122 @@ v_cmpx_eq_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf5,0x7d]
-v_cmpx_eq_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf4,0x7d]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf5,0x7d]
+v_cmpx_eq_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
-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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xfa,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xfa,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_eq_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xf5,0x00,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_eq_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf6,0x7d]
@@ -78342,74 +93237,122 @@ v_cmpx_le_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf7,0x7d]
-v_cmpx_le_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf6,0x7d]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf7,0x7d]
+v_cmpx_le_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfb,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfb,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xfb,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xfb,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x02,0x04,0x02,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 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x64,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_le_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x6a,0x04,0x02,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], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x00,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_le_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf8,0x7d]
@@ -78456,74 +93399,122 @@ v_cmpx_gt_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf9,0x7d]
-v_cmpx_gt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf8,0x7d]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf9,0x7d]
+v_cmpx_gt_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfc,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xfc,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xfc,0xd0,0x01,0x05,0x02,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 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x02,0x04,0x02,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 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x64,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_gt_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x6c,0x04,0x02,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], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x6e,0x04,0x02,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], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x83,0x01,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_gt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfa,0x7d]
@@ -78570,74 +93561,122 @@ v_cmpx_ne_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfb,0x7d]
-v_cmpx_ne_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfa,0x7d]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xfe,0x05,0x02,0x00]
-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[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x02,0x04,0x02,0x00]
-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[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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x6a,0x04,0x02,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 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x6c,0x04,0x02,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 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x7a,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_ne_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ne_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xe1,0x01,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_ne_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfc,0x7d]
@@ -78684,74 +93723,122 @@ v_cmpx_ge_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfd,0x7d]
-v_cmpx_ge_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfc,0x7d]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xfd,0x7d]
+v_cmpx_ge_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfe,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x02,0x04,0x02,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[100:101], s[4:5], s[4:5]
-// CHECK: [0x64,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x6c,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x6e,0x04,0x02,0x00]
-v_cmpx_ge_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x7a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xf5,0x00,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_ge_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfe,0x7d]
@@ -78798,74 +93885,116 @@ v_cmpx_t_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xff,0x7d]
-v_cmpx_t_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfe,0x7d]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xff,0x7d]
+v_cmpx_t_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xff,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xff,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xff,0xd0,0x01,0x05,0x02,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 tba, v[1:2], v[2:3]
+// CHECK: [0x6c,0x00,0xff,0xd0,0x01,0x05,0x02,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 tma, v[1:2], v[2:3]
+// CHECK: [0x6e,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64_e64 tba, s[4:5], s[4:5]
-// CHECK: [0x6c,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 ttmp[10:11], v[1:2], v[2:3]
+// CHECK: [0x7a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64_e64 tma, s[4:5], s[4:5]
-// CHECK: [0x6e,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xfe,0x05,0x02,0x00]
-v_cmpx_t_u64_e64 ttmp[10:11], s[4:5], s[4:5]
-// CHECK: [0x7a,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_t_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], tba, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x6c,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], tma, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x6e,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], ttmp[10:11], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x7a,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xd5,0x00,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], v[1:2], tba
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xd9,0x00,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], v[1:2], tma
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xdd,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], ttmp[10:11]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xf5,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], exec
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xfd,0x00,0x00]
-v_cmpx_t_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], 0
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xef,0x01,0x00]
v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x06,0x06]
@@ -79626,9 +94755,6 @@ v_mov_fed_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
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]
diff --git a/test/MC/AMDGPU/gfx9_asm_all.s b/test/MC/AMDGPU/gfx9_asm_all.s
index 758911bbfb4e..0c3dbd221a49 100644
--- a/test/MC/AMDGPU/gfx9_asm_all.s
+++ b/test/MC/AMDGPU/gfx9_asm_all.s
@@ -1,4 +1,4 @@
-// RUN: llvm-mc -arch=amdgcn -mcpu=gfx901 -show-encoding -enable-packed-inlinable-literals %s | FileCheck %s
+// RUN: llvm-mc -arch=amdgcn -mcpu=gfx901 -show-encoding %s | FileCheck %s
ds_add_u32 v1, v2 offset:65535
// CHECK: [0xff,0xff,0x00,0xd8,0x01,0x02,0x00,0x00]
@@ -3141,79 +3141,85 @@ ds_read_b128 v[5:8], v1 offset:4
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
+exp mrt0 v0, v0, v0, v0
// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrtz, v0, v0, v0, v0
+exp mrtz v0, v0, v0, v0
// CHECK: [0x8f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp null, v0, v0, v0, v0
+exp null v0, v0, v0, v0
// CHECK: [0x9f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp pos0, v0, v0, v0, v0
+exp pos0 v0, v0, v0, v0
// CHECK: [0xcf,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp param0, v0, v0, v0, v0
+exp param0 v0, v0, v0, v0
// CHECK: [0x0f,0x02,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v255, v0, v0, v0
+exp mrt0 v255, v0, v0, v0
// CHECK: [0x0f,0x00,0x00,0xc4,0xff,0x00,0x00,0x00]
-exp mrt0, v0, v255, v0, v0
+exp mrt0 v0, v255, v0, v0
// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0xff,0x00,0x00]
-exp mrt0, v0, v0, v255, v0
+exp mrt0 v0, v0, v255, v0
// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0x00,0xff,0x00]
-exp mrt0, v0, v0, v0, v255
+exp mrt0 v0, v0, v0, v255
// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0xff]
-exp mrt0, v0, off, off, off
+exp mrt0 v0, off, off, off
// CHECK: [0x01,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, off, off
+exp mrt0 off, v0, off, off
// CHECK: [0x02,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, off, off
+exp mrt0 v0, v0, off, off
// CHECK: [0x03,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, v0, off
+exp mrt0 off, off, v0, off
// CHECK: [0x04,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, off, v0, off
+exp mrt0 v0, off, v0, off
// CHECK: [0x05,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, v0, off
+exp mrt0 off, v0, v0, off
// CHECK: [0x06,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, v0, off
+exp mrt0 v0, v0, v0, off
// CHECK: [0x07,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, off, v0
+exp mrt0 off, off, off, v0
// CHECK: [0x08,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, off, off, v0
+exp mrt0 v0, off, off, v0
// CHECK: [0x09,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, off, v0
+exp mrt0 off, v0, off, v0
// CHECK: [0x0a,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, off, v0
+exp mrt0 v0, v0, off, v0
// CHECK: [0x0b,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, v0, v0
+exp mrt0 off, off, v0, v0
// CHECK: [0x0c,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, off, v0, v0
+exp mrt0 v0, off, v0, v0
// CHECK: [0x0d,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, v0, v0, v0
+exp mrt0 off, v0, v0, v0
// CHECK: [0x0e,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, off, off, off, off
+exp mrt0 off, off, off, off
// CHECK: [0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
-exp mrt0, v0, v0, v0, v0 vm
+exp mrt0 v0, v0, v0, v0 done
+// CHECK: [0x0f,0x08,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0 v0, v0, v0, v0 compr
+// CHECK: [0x0f,0x04,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]
@@ -17745,12 +17751,18 @@ v_nop
v_nop_e64
// CHECK: [0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00]
+v_mov_b32 v5, v1
+// CHECK: [0x01,0x03,0x0a,0x7e]
+
+v_mov_b32 v255, v1
+// CHECK: [0x01,0x03,0xfe,0x7f]
+
+v_mov_b32 v5, v255
+// CHECK: [0xff,0x03,0x0a,0x7e]
+
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]
@@ -17793,18 +17805,18 @@ v_mov_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x41,0xd1,0x01,0x01,0x00,0x00]
-v_mov_b32 v5, v255
-// CHECK: [0xff,0x03,0x0a,0x7e]
+v_mov_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x41,0xd1,0x01,0x01,0x00,0x00]
+
+v_mov_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x41,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -17841,12 +17853,6 @@ v_mov_b32_e64 v5, 0.5
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]
@@ -17862,12 +17868,18 @@ v_readfirstlane_b32 flat_scratch_hi, v1
v_readfirstlane_b32 s5, v255
// CHECK: [0xff,0x05,0x0a,0x7e]
+v_cvt_i32_f64 v5, v[1:2]
+// CHECK: [0x01,0x07,0x0a,0x7e]
+
+v_cvt_i32_f64 v255, v[1:2]
+// CHECK: [0x01,0x07,0xfe,0x7f]
+
+v_cvt_i32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x07,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]
@@ -17901,18 +17913,18 @@ v_cvt_i32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x07,0x0a,0x7e]
+v_cvt_i32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,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,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]
@@ -17940,27 +17952,27 @@ v_cvt_i32_f64_e64 v5, 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_i32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x43,0xd1,0xfe,0x01,0x00,0x00]
+v_cvt_i32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x43,0xd1,0x01,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, v[1:2] clamp
+// CHECK: [0x05,0x80,0x43,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x43,0xd1,0x02,0x00,0x00,0x00]
+v_cvt_f64_i32 v[5:6], v1
+// CHECK: [0x01,0x09,0x0a,0x7e]
+
+v_cvt_f64_i32 v[254:255], v1
+// CHECK: [0x01,0x09,0xfc,0x7f]
-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], v255
+// CHECK: [0xff,0x09,0x0a,0x7e]
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]
@@ -18003,18 +18015,18 @@ v_cvt_f64_i32 v[5:6], 0xaf123456
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_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f64_i32 v[5:6], v255
-// CHECK: [0xff,0x09,0x0a,0x7e]
+v_cvt_f64_i32_e64 v[254:255], v1
+// CHECK: [0xfe,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
// 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]
@@ -18051,30 +18063,30 @@ v_cvt_f64_i32_e64 v[5:6], 0.5
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], v1 clamp
+// CHECK: [0x05,0x80,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], v1 mul:2
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x08]
-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], v1 mul:4
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x10]
-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], v1 div:2
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f64_i32_e64 v[5:6], s1 mul:4
-// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_i32 v5, v1
+// CHECK: [0x01,0x0b,0x0a,0x7e]
-v_cvt_f64_i32_e64 v[5:6], s1 div:2
-// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_i32 v255, v1
+// CHECK: [0x01,0x0b,0xfe,0x7f]
+
+v_cvt_f32_i32 v5, v255
+// CHECK: [0xff,0x0b,0x0a,0x7e]
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]
@@ -18117,18 +18129,18 @@ v_cvt_f32_i32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_i32 v5, v255
-// CHECK: [0xff,0x0b,0x0a,0x7e]
+v_cvt_f32_i32_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -18165,30 +18177,30 @@ v_cvt_f32_i32_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_i32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x45,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_i32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_i32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_i32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_i32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_u32 v5, v1
+// CHECK: [0x01,0x0d,0x0a,0x7e]
-v_cvt_f32_i32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_u32 v255, v1
+// CHECK: [0x01,0x0d,0xfe,0x7f]
+
+v_cvt_f32_u32 v5, v255
+// CHECK: [0xff,0x0d,0x0a,0x7e]
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]
@@ -18231,18 +18243,18 @@ v_cvt_f32_u32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_u32 v5, v255
-// CHECK: [0xff,0x0d,0x0a,0x7e]
+v_cvt_f32_u32_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -18279,30 +18291,30 @@ v_cvt_f32_u32_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_u32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x46,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_u32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_u32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_u32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_u32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_u32_f32 v5, v1
+// CHECK: [0x01,0x0f,0x0a,0x7e]
-v_cvt_f32_u32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_u32_f32 v255, v1
+// CHECK: [0x01,0x0f,0xfe,0x7f]
+
+v_cvt_u32_f32 v5, v255
+// CHECK: [0xff,0x0f,0x0a,0x7e]
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]
@@ -18345,18 +18357,18 @@ v_cvt_u32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u32_f32 v5, v255
-// CHECK: [0xff,0x0f,0x0a,0x7e]
+v_cvt_u32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -18393,27 +18405,27 @@ v_cvt_u32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_u32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x47,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_u32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x47,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x47,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x47,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_i32_f32 v5, v1
+// CHECK: [0x01,0x11,0x0a,0x7e]
+
+v_cvt_i32_f32 v255, v1
+// CHECK: [0x01,0x11,0xfe,0x7f]
-v_cvt_u32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x47,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_i32_f32 v5, v255
+// CHECK: [0xff,0x11,0x0a,0x7e]
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]
@@ -18456,18 +18468,18 @@ v_cvt_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i32_f32 v5, v255
-// CHECK: [0xff,0x11,0x0a,0x7e]
+v_cvt_i32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -18504,27 +18516,27 @@ v_cvt_i32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x48,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x48,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x48,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x48,0xd1,0x01,0x00,0x00,0x00]
+v_mov_fed_b32 v5, v1
+// CHECK: [0x01,0x13,0x0a,0x7e]
-v_cvt_i32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x48,0xd1,0x01,0x00,0x00,0x00]
+v_mov_fed_b32 v255, v1
+// CHECK: [0x01,0x13,0xfe,0x7f]
+
+v_mov_fed_b32 v5, v255
+// CHECK: [0xff,0x13,0x0a,0x7e]
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]
@@ -18567,18 +18579,18 @@ v_mov_fed_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
-v_mov_fed_b32 v5, v255
-// CHECK: [0xff,0x13,0x0a,0x7e]
+v_mov_fed_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -18615,18 +18627,18 @@ v_mov_fed_b32_e64 v5, 0.5
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_cvt_f16_f32 v5, v1
+// CHECK: [0x01,0x15,0x0a,0x7e]
-v_mov_fed_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f16_f32 v255, v1
+// CHECK: [0x01,0x15,0xfe,0x7f]
+
+v_cvt_f16_f32 v5, v255
+// CHECK: [0xff,0x15,0x0a,0x7e]
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]
@@ -18669,18 +18681,18 @@ v_cvt_f16_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_f32 v5, v255
-// CHECK: [0xff,0x15,0x0a,0x7e]
+v_cvt_f16_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -18717,36 +18729,36 @@ v_cvt_f16_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_f16_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x4a,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f16_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x4a,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x4a,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x4a,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f16_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f16_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x4a,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f16_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f16_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f16_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f16_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_f16 v5, v1
+// CHECK: [0x01,0x17,0x0a,0x7e]
-v_cvt_f16_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_f16 v255, v1
+// CHECK: [0x01,0x17,0xfe,0x7f]
+
+v_cvt_f32_f16 v5, v255
+// CHECK: [0xff,0x17,0x0a,0x7e]
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]
@@ -18789,18 +18801,18 @@ v_cvt_f32_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_f16 v5, v255
-// CHECK: [0xff,0x17,0x0a,0x7e]
+v_cvt_f32_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -18837,36 +18849,36 @@ v_cvt_f32_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_f32_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x4b,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f32_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x4b,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x4b,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x4b,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_f16_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x4b,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_f16_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_f16_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_f16_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_f16_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_rpi_i32_f32 v5, v1
+// CHECK: [0x01,0x19,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v255, v1
+// CHECK: [0x01,0x19,0xfe,0x7f]
-v_cvt_f32_f16_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_rpi_i32_f32 v5, v255
+// CHECK: [0xff,0x19,0x0a,0x7e]
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]
@@ -18909,18 +18921,18 @@ v_cvt_rpi_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_rpi_i32_f32 v5, v255
-// CHECK: [0xff,0x19,0x0a,0x7e]
+v_cvt_rpi_i32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -18957,27 +18969,27 @@ v_cvt_rpi_i32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_rpi_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x4c,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_rpi_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x4c,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x4c,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_rpi_i32_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x4c,0xd1,0x01,0x00,0x00,0x20]
+v_cvt_flr_i32_f32 v5, v1
+// CHECK: [0x01,0x1b,0x0a,0x7e]
-v_cvt_rpi_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x4c,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_flr_i32_f32 v255, v1
+// CHECK: [0x01,0x1b,0xfe,0x7f]
-v_cvt_rpi_i32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x4c,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_flr_i32_f32 v5, v255
+// CHECK: [0xff,0x1b,0x0a,0x7e]
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]
@@ -19020,18 +19032,18 @@ v_cvt_flr_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_flr_i32_f32 v5, v255
-// CHECK: [0xff,0x1b,0x0a,0x7e]
+v_cvt_flr_i32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -19068,27 +19080,27 @@ v_cvt_flr_i32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_flr_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x4d,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_flr_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x4d,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x4d,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_off_f32_i4 v5, v1
+// CHECK: [0x01,0x1d,0x0a,0x7e]
-v_cvt_flr_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x4d,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_off_f32_i4 v255, v1
+// CHECK: [0x01,0x1d,0xfe,0x7f]
-v_cvt_flr_i32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x4d,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_off_f32_i4 v5, v255
+// CHECK: [0xff,0x1d,0x0a,0x7e]
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]
@@ -19131,18 +19143,18 @@ v_cvt_off_f32_i4 v5, 0x4f
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_off_f32_i4 v5, v255
-// CHECK: [0xff,0x1d,0x0a,0x7e]
+v_cvt_off_f32_i4_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -19179,30 +19191,30 @@ v_cvt_off_f32_i4_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x08]
+
+v_cvt_off_f32_i4_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x10]
-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, v1 div:2
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_off_f32_i4_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_f64 v5, v[1:2]
+// CHECK: [0x01,0x1f,0x0a,0x7e]
-v_cvt_off_f32_i4_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_f64 v255, v[1:2]
+// CHECK: [0x01,0x1f,0xfe,0x7f]
-v_cvt_off_f32_i4_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x1f,0x0a,0x7e]
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]
@@ -19236,18 +19248,18 @@ v_cvt_f32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x1f,0x0a,0x7e]
+v_cvt_f32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,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,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]
@@ -19275,36 +19287,36 @@ v_cvt_f32_f64_e64 v5, 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_f32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x4f,0xd1,0xfe,0x01,0x00,0x00]
+v_cvt_f32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x4f,0xd1,0x01,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, v[1:2] clamp
+// CHECK: [0x05,0x80,0x4f,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x4f,0xd1,0x02,0x00,0x00,0x00]
+v_cvt_f32_f64_e64 v5, v[1:2] mul:2
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x08]
-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, v[1:2] mul:4
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x10]
-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, v[1:2] div:2
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_f64_e64 v5, s[2:3] mul:4
-// CHECK: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x10]
+v_cvt_f64_f32 v[5:6], v1
+// CHECK: [0x01,0x21,0x0a,0x7e]
-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[254:255], v1
+// CHECK: [0x01,0x21,0xfc,0x7f]
+
+v_cvt_f64_f32 v[5:6], v255
+// CHECK: [0xff,0x21,0x0a,0x7e]
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]
@@ -19347,18 +19359,18 @@ v_cvt_f64_f32 v[5:6], 0xaf123456
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_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f64_f32 v[5:6], v255
-// CHECK: [0xff,0x21,0x0a,0x7e]
+v_cvt_f64_f32_e64 v[254:255], v1
+// CHECK: [0xfe,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,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]
@@ -19395,36 +19407,36 @@ v_cvt_f64_f32_e64 v[5:6], 0.5
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], -v1
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x20]
-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], |v1|
+// CHECK: [0x05,0x01,0x50,0xd1,0x01,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], v1 clamp
+// CHECK: [0x05,0x80,0x50,0xd1,0x01,0x01,0x00,0x00]
-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], v1 mul:2
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x08]
-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], v1 mul:4
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x10]
-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], v1 div:2
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f64_f32_e64 v[5:6], s1 mul:4
-// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_ubyte0 v5, v1
+// CHECK: [0x01,0x23,0x0a,0x7e]
-v_cvt_f64_f32_e64 v[5:6], s1 div:2
-// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_ubyte0 v255, v1
+// CHECK: [0x01,0x23,0xfe,0x7f]
+
+v_cvt_f32_ubyte0 v5, v255
+// CHECK: [0xff,0x23,0x0a,0x7e]
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]
@@ -19467,18 +19479,18 @@ v_cvt_f32_ubyte0 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte0 v5, v255
-// CHECK: [0xff,0x23,0x0a,0x7e]
+v_cvt_f32_ubyte0_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -19515,30 +19527,30 @@ v_cvt_f32_ubyte0_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_ubyte0_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x51,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_ubyte0_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_ubyte0_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_ubyte0_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_ubyte0_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_ubyte1 v5, v1
+// CHECK: [0x01,0x25,0x0a,0x7e]
-v_cvt_f32_ubyte0_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_ubyte1 v255, v1
+// CHECK: [0x01,0x25,0xfe,0x7f]
+
+v_cvt_f32_ubyte1 v5, v255
+// CHECK: [0xff,0x25,0x0a,0x7e]
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]
@@ -19581,18 +19593,18 @@ v_cvt_f32_ubyte1 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte1 v5, v255
-// CHECK: [0xff,0x25,0x0a,0x7e]
+v_cvt_f32_ubyte1_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -19629,30 +19641,30 @@ v_cvt_f32_ubyte1_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_ubyte1_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x52,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_ubyte1_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_ubyte1_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_ubyte1_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_ubyte1_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_ubyte2 v5, v1
+// CHECK: [0x01,0x27,0x0a,0x7e]
-v_cvt_f32_ubyte1_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_ubyte2 v255, v1
+// CHECK: [0x01,0x27,0xfe,0x7f]
+
+v_cvt_f32_ubyte2 v5, v255
+// CHECK: [0xff,0x27,0x0a,0x7e]
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]
@@ -19695,18 +19707,18 @@ v_cvt_f32_ubyte2 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte2 v5, v255
-// CHECK: [0xff,0x27,0x0a,0x7e]
+v_cvt_f32_ubyte2_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -19743,30 +19755,30 @@ v_cvt_f32_ubyte2_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_ubyte2_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x53,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_ubyte2_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_ubyte2_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_ubyte2_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_ubyte2_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_f32_ubyte3 v5, v1
+// CHECK: [0x01,0x29,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v255, v1
+// CHECK: [0x01,0x29,0xfe,0x7f]
-v_cvt_f32_ubyte2_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_f32_ubyte3 v5, v255
+// CHECK: [0xff,0x29,0x0a,0x7e]
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]
@@ -19809,18 +19821,18 @@ v_cvt_f32_ubyte3 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f32_ubyte3 v5, v255
-// CHECK: [0xff,0x29,0x0a,0x7e]
+v_cvt_f32_ubyte3_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -19857,30 +19869,30 @@ v_cvt_f32_ubyte3_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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, v1 mul:2
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x08]
-v_cvt_f32_ubyte3_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x54,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f32_ubyte3_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x10]
-v_cvt_f32_ubyte3_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x08]
+v_cvt_f32_ubyte3_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f32_ubyte3_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x10]
+v_cvt_u32_f64 v5, v[1:2]
+// CHECK: [0x01,0x2b,0x0a,0x7e]
-v_cvt_f32_ubyte3_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x18]
+v_cvt_u32_f64 v255, v[1:2]
+// CHECK: [0x01,0x2b,0xfe,0x7f]
+
+v_cvt_u32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x2b,0x0a,0x7e]
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]
@@ -19914,18 +19926,18 @@ v_cvt_u32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x2b,0x0a,0x7e]
+v_cvt_u32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,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,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]
@@ -19953,27 +19965,27 @@ v_cvt_u32_f64_e64 v5, 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_u32_f64_e64 v5, v[254:255]
-// CHECK: [0x05,0x00,0x55,0xd1,0xfe,0x01,0x00,0x00]
+v_cvt_u32_f64_e64 v5, |v[1:2]|
+// CHECK: [0x05,0x01,0x55,0xd1,0x01,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, v[1:2] clamp
+// CHECK: [0x05,0x80,0x55,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x55,0xd1,0x02,0x00,0x00,0x00]
+v_cvt_f64_u32 v[5:6], v1
+// CHECK: [0x01,0x2d,0x0a,0x7e]
-v_cvt_u32_f64_e64 v5, s[2:3] clamp
-// CHECK: [0x05,0x80,0x55,0xd1,0x02,0x00,0x00,0x00]
+v_cvt_f64_u32 v[254:255], v1
+// CHECK: [0x01,0x2d,0xfc,0x7f]
+
+v_cvt_f64_u32 v[5:6], v255
+// CHECK: [0xff,0x2d,0x0a,0x7e]
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]
@@ -20016,18 +20028,18 @@ v_cvt_f64_u32 v[5:6], 0xaf123456
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_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f64_u32 v[5:6], v255
-// CHECK: [0xff,0x2d,0x0a,0x7e]
+v_cvt_f64_u32_e64 v[254:255], v1
+// CHECK: [0xfe,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
// 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]
@@ -20064,30 +20076,30 @@ v_cvt_f64_u32_e64 v[5:6], 0.5
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], v1 clamp
+// CHECK: [0x05,0x80,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], v1 mul:2
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x08]
-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], v1 mul:4
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x10]
-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], v1 div:2
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x18]
-v_cvt_f64_u32_e64 v[5:6], s1 mul:4
-// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x10]
+v_trunc_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x2f,0x0a,0x7e]
-v_cvt_f64_u32_e64 v[5:6], s1 div:2
-// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x18]
+v_trunc_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x2f,0xfc,0x7f]
+
+v_trunc_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x2f,0x0a,0x7e]
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]
@@ -20121,18 +20133,18 @@ v_trunc_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x2f,0x0a,0x7e]
+v_trunc_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -20160,36 +20172,36 @@ v_trunc_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x57,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x57,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x18]
-v_trunc_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x10]
+v_ceil_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x31,0x0a,0x7e]
-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[254:255], v[1:2]
+// CHECK: [0x01,0x31,0xfc,0x7f]
+
+v_ceil_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x31,0x0a,0x7e]
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]
@@ -20223,18 +20235,18 @@ v_ceil_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x31,0x0a,0x7e]
+v_ceil_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -20262,36 +20274,36 @@ v_ceil_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x58,0xd1,0x01,0x01,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x80,0x58,0xd1,0x01,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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x18]
-v_ceil_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x08]
+v_rndne_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x33,0x0a,0x7e]
-v_ceil_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x10]
+v_rndne_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x33,0xfc,0x7f]
-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], v[254:255]
+// CHECK: [0xfe,0x33,0x0a,0x7e]
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]
@@ -20325,18 +20337,18 @@ v_rndne_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x33,0x0a,0x7e]
+v_rndne_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -20364,33 +20376,33 @@ v_rndne_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x20]
-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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x59,0xd1,0x01,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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x18]
-v_rndne_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x10]
+v_floor_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x35,0x0a,0x7e]
-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[254:255], v[1:2]
+// CHECK: [0x01,0x35,0xfc,0x7f]
+
+v_floor_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x35,0x0a,0x7e]
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]
@@ -20424,18 +20436,18 @@ v_floor_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x35,0x0a,0x7e]
+v_floor_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -20463,33 +20475,33 @@ v_floor_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x20]
-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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x5a,0xd1,0x01,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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x18]
-v_floor_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x10]
+v_fract_f32 v5, v1
+// CHECK: [0x01,0x37,0x0a,0x7e]
-v_floor_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x18]
+v_fract_f32 v255, v1
+// CHECK: [0x01,0x37,0xfe,0x7f]
+
+v_fract_f32 v5, v255
+// CHECK: [0xff,0x37,0x0a,0x7e]
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]
@@ -20532,18 +20544,18 @@ v_fract_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f32 v5, v255
-// CHECK: [0xff,0x37,0x0a,0x7e]
+v_fract_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -20580,33 +20592,33 @@ v_fract_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x20]
-v_fract_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5b,0xd1,0xff,0x01,0x00,0x00]
+v_fract_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5b,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x20]
+v_fract_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x08]
-v_fract_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5b,0xd1,0x01,0x00,0x00,0x00]
+v_fract_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x10]
-v_fract_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x08]
+v_fract_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x18]
-v_fract_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x10]
+v_trunc_f32 v5, v1
+// CHECK: [0x01,0x39,0x0a,0x7e]
-v_fract_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x18]
+v_trunc_f32 v255, v1
+// CHECK: [0x01,0x39,0xfe,0x7f]
+
+v_trunc_f32 v5, v255
+// CHECK: [0xff,0x39,0x0a,0x7e]
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]
@@ -20649,18 +20661,18 @@ v_trunc_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f32 v5, v255
-// CHECK: [0xff,0x39,0x0a,0x7e]
+v_trunc_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -20697,33 +20709,33 @@ v_trunc_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x20]
-v_trunc_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5c,0xd1,0xff,0x01,0x00,0x00]
+v_trunc_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5c,0xd1,0x01,0x01,0x00,0x00]
+
+v_trunc_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x08]
-v_trunc_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x20]
+v_trunc_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x10]
-v_trunc_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5c,0xd1,0x01,0x00,0x00,0x00]
+v_trunc_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x18]
-v_trunc_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x08]
+v_ceil_f32 v5, v1
+// CHECK: [0x01,0x3b,0x0a,0x7e]
-v_trunc_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x10]
+v_ceil_f32 v255, v1
+// CHECK: [0x01,0x3b,0xfe,0x7f]
-v_trunc_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x18]
+v_ceil_f32 v5, v255
+// CHECK: [0xff,0x3b,0x0a,0x7e]
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]
@@ -20766,18 +20778,18 @@ v_ceil_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f32 v5, v255
-// CHECK: [0xff,0x3b,0x0a,0x7e]
+v_ceil_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -20814,33 +20826,33 @@ v_ceil_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x20]
-v_ceil_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5d,0xd1,0xff,0x01,0x00,0x00]
+v_ceil_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5d,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x20]
+v_ceil_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x08]
-v_ceil_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5d,0xd1,0x01,0x00,0x00,0x00]
+v_ceil_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x10]
-v_ceil_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x08]
+v_ceil_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x18]
+
+v_rndne_f32 v5, v1
+// CHECK: [0x01,0x3d,0x0a,0x7e]
-v_ceil_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x10]
+v_rndne_f32 v255, v1
+// CHECK: [0x01,0x3d,0xfe,0x7f]
-v_ceil_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x18]
+v_rndne_f32 v5, v255
+// CHECK: [0xff,0x3d,0x0a,0x7e]
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]
@@ -20883,18 +20895,18 @@ v_rndne_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f32 v5, v255
-// CHECK: [0xff,0x3d,0x0a,0x7e]
+v_rndne_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -20931,33 +20943,33 @@ v_rndne_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x20]
-v_rndne_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5e,0xd1,0xff,0x01,0x00,0x00]
+v_rndne_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5e,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x20]
+v_rndne_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x08]
-v_rndne_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5e,0xd1,0x01,0x00,0x00,0x00]
+v_rndne_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x10]
-v_rndne_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x08]
+v_rndne_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x18]
-v_rndne_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x10]
+v_floor_f32 v5, v1
+// CHECK: [0x01,0x3f,0x0a,0x7e]
+
+v_floor_f32 v255, v1
+// CHECK: [0x01,0x3f,0xfe,0x7f]
-v_rndne_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x18]
+v_floor_f32 v5, v255
+// CHECK: [0xff,0x3f,0x0a,0x7e]
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]
@@ -21000,18 +21012,18 @@ v_floor_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f32 v5, v255
-// CHECK: [0xff,0x3f,0x0a,0x7e]
+v_floor_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -21048,36 +21060,36 @@ v_floor_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x20]
-v_floor_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x5f,0xd1,0xff,0x01,0x00,0x00]
+v_floor_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x5f,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x20]
+v_floor_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x5f,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x5f,0xd1,0x01,0x00,0x00,0x00]
+v_floor_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x08]
-v_floor_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x5f,0xd1,0x01,0x00,0x00,0x00]
+v_floor_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x10]
-v_floor_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x08]
+v_floor_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x18]
-v_floor_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x10]
+v_exp_f32 v5, v1
+// CHECK: [0x01,0x41,0x0a,0x7e]
-v_floor_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x18]
+v_exp_f32 v255, v1
+// CHECK: [0x01,0x41,0xfe,0x7f]
+
+v_exp_f32 v5, v255
+// CHECK: [0xff,0x41,0x0a,0x7e]
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]
@@ -21120,18 +21132,18 @@ v_exp_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f32 v5, v255
-// CHECK: [0xff,0x41,0x0a,0x7e]
+v_exp_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -21168,36 +21180,36 @@ v_exp_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x20]
-v_exp_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x60,0xd1,0xff,0x01,0x00,0x00]
+v_exp_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x60,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x20]
+v_exp_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x60,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x60,0xd1,0x01,0x00,0x00,0x00]
+v_exp_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x08]
-v_exp_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x60,0xd1,0x01,0x00,0x00,0x00]
+v_exp_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x10]
-v_exp_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x08]
+v_exp_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x18]
-v_exp_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x10]
+v_log_f32 v5, v1
+// CHECK: [0x01,0x43,0x0a,0x7e]
-v_exp_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x18]
+v_log_f32 v255, v1
+// CHECK: [0x01,0x43,0xfe,0x7f]
+
+v_log_f32 v5, v255
+// CHECK: [0xff,0x43,0x0a,0x7e]
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]
@@ -21240,18 +21252,18 @@ v_log_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x00]
-v_log_f32 v5, v255
-// CHECK: [0xff,0x43,0x0a,0x7e]
+v_log_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -21288,36 +21300,36 @@ v_log_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x20]
-v_log_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x61,0xd1,0xff,0x01,0x00,0x00]
+v_log_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x61,0xd1,0x01,0x01,0x00,0x00]
-v_log_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x20]
+v_log_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x61,0xd1,0x01,0x01,0x00,0x00]
-v_log_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x61,0xd1,0x01,0x00,0x00,0x00]
+v_log_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x08]
-v_log_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x61,0xd1,0x01,0x00,0x00,0x00]
+v_log_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x10]
-v_log_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x08]
+v_log_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x18]
-v_log_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x10]
+v_rcp_f32 v5, v1
+// CHECK: [0x01,0x45,0x0a,0x7e]
-v_log_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x18]
+v_rcp_f32 v255, v1
+// CHECK: [0x01,0x45,0xfe,0x7f]
+
+v_rcp_f32 v5, v255
+// CHECK: [0xff,0x45,0x0a,0x7e]
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]
@@ -21360,18 +21372,18 @@ v_rcp_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f32 v5, v255
-// CHECK: [0xff,0x45,0x0a,0x7e]
+v_rcp_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -21408,36 +21420,36 @@ v_rcp_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x20]
-v_rcp_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x62,0xd1,0xff,0x01,0x00,0x00]
+v_rcp_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x62,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x20]
+v_rcp_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x62,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x62,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x08]
-v_rcp_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x62,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x10]
-v_rcp_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x08]
+v_rcp_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x18]
-v_rcp_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x10]
+v_rcp_iflag_f32 v5, v1
+// CHECK: [0x01,0x47,0x0a,0x7e]
-v_rcp_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x18]
+v_rcp_iflag_f32 v255, v1
+// CHECK: [0x01,0x47,0xfe,0x7f]
+
+v_rcp_iflag_f32 v5, v255
+// CHECK: [0xff,0x47,0x0a,0x7e]
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]
@@ -21480,18 +21492,18 @@ v_rcp_iflag_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_iflag_f32 v5, v255
-// CHECK: [0xff,0x47,0x0a,0x7e]
+v_rcp_iflag_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -21528,36 +21540,36 @@ v_rcp_iflag_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x20]
-v_rcp_iflag_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x63,0xd1,0xff,0x01,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x63,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x63,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_iflag_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x63,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x08]
-v_rcp_iflag_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x63,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_iflag_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x10]
-v_rcp_iflag_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x08]
+v_rcp_iflag_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x18]
-v_rcp_iflag_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x10]
+v_rsq_f32 v5, v1
+// CHECK: [0x01,0x49,0x0a,0x7e]
+
+v_rsq_f32 v255, v1
+// CHECK: [0x01,0x49,0xfe,0x7f]
-v_rcp_iflag_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x18]
+v_rsq_f32 v5, v255
+// CHECK: [0xff,0x49,0x0a,0x7e]
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]
@@ -21600,18 +21612,18 @@ v_rsq_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f32 v5, v255
-// CHECK: [0xff,0x49,0x0a,0x7e]
+v_rsq_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -21648,36 +21660,36 @@ v_rsq_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x20]
-v_rsq_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x64,0xd1,0xff,0x01,0x00,0x00]
+v_rsq_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x64,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x20]
+v_rsq_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x64,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x64,0xd1,0x01,0x00,0x00,0x00]
+v_rsq_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x08]
-v_rsq_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x64,0xd1,0x01,0x00,0x00,0x00]
+v_rsq_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x10]
-v_rsq_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x08]
+v_rsq_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x18]
-v_rsq_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x10]
+v_rcp_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x4b,0x0a,0x7e]
-v_rsq_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x18]
+v_rcp_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x4b,0xfc,0x7f]
+
+v_rcp_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x4b,0x0a,0x7e]
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]
@@ -21711,18 +21723,18 @@ v_rcp_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x4b,0x0a,0x7e]
+v_rcp_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -21750,36 +21762,36 @@ v_rcp_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x65,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x65,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x18]
-v_rcp_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x10]
+v_rsq_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x4d,0x0a,0x7e]
-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[254:255], v[1:2]
+// CHECK: [0x01,0x4d,0xfc,0x7f]
+
+v_rsq_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x4d,0x0a,0x7e]
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]
@@ -21813,18 +21825,18 @@ v_rsq_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x4d,0x0a,0x7e]
+v_rsq_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -21852,36 +21864,36 @@ v_rsq_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x66,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x66,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x18]
-v_rsq_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x10]
+v_sqrt_f32 v5, v1
+// CHECK: [0x01,0x4f,0x0a,0x7e]
+
+v_sqrt_f32 v255, v1
+// CHECK: [0x01,0x4f,0xfe,0x7f]
-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, v255
+// CHECK: [0xff,0x4f,0x0a,0x7e]
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]
@@ -21924,18 +21936,18 @@ v_sqrt_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f32 v5, v255
-// CHECK: [0xff,0x4f,0x0a,0x7e]
+v_sqrt_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -21972,36 +21984,36 @@ v_sqrt_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x20]
-v_sqrt_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x67,0xd1,0xff,0x01,0x00,0x00]
+v_sqrt_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x67,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x20]
+v_sqrt_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x67,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x67,0xd1,0x01,0x00,0x00,0x00]
+v_sqrt_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x08]
-v_sqrt_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x67,0xd1,0x01,0x00,0x00,0x00]
+v_sqrt_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x10]
-v_sqrt_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x08]
+v_sqrt_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x18]
-v_sqrt_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x10]
+v_sqrt_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x51,0x0a,0x7e]
-v_sqrt_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x18]
+v_sqrt_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x51,0xfc,0x7f]
+
+v_sqrt_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x51,0x0a,0x7e]
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]
@@ -22035,18 +22047,18 @@ v_sqrt_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x51,0x0a,0x7e]
+v_sqrt_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -22074,36 +22086,36 @@ v_sqrt_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x68,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x68,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x18]
-v_sqrt_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x10]
+v_sin_f32 v5, v1
+// CHECK: [0x01,0x53,0x0a,0x7e]
-v_sqrt_f64_e64 v[5:6], s[2:3] div:2
-// CHECK: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x18]
+v_sin_f32 v255, v1
+// CHECK: [0x01,0x53,0xfe,0x7f]
+
+v_sin_f32 v5, v255
+// CHECK: [0xff,0x53,0x0a,0x7e]
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]
@@ -22146,18 +22158,18 @@ v_sin_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f32 v5, v255
-// CHECK: [0xff,0x53,0x0a,0x7e]
+v_sin_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -22194,36 +22206,36 @@ v_sin_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x20]
-v_sin_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x69,0xd1,0xff,0x01,0x00,0x00]
+v_sin_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x69,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x20]
+v_sin_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x69,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x69,0xd1,0x01,0x00,0x00,0x00]
+v_sin_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x08]
-v_sin_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x69,0xd1,0x01,0x00,0x00,0x00]
+v_sin_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x10]
-v_sin_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x08]
+v_sin_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x18]
-v_sin_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x10]
+v_cos_f32 v5, v1
+// CHECK: [0x01,0x55,0x0a,0x7e]
-v_sin_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x18]
+v_cos_f32 v255, v1
+// CHECK: [0x01,0x55,0xfe,0x7f]
+
+v_cos_f32 v5, v255
+// CHECK: [0xff,0x55,0x0a,0x7e]
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]
@@ -22266,18 +22278,18 @@ v_cos_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f32 v5, v255
-// CHECK: [0xff,0x55,0x0a,0x7e]
+v_cos_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -22314,36 +22326,36 @@ v_cos_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x20]
-v_cos_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6a,0xd1,0xff,0x01,0x00,0x00]
+v_cos_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x6a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f32_e64 v5, -s1
-// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x20]
+v_cos_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x6a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x6a,0xd1,0x01,0x00,0x00,0x00]
+v_cos_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x08]
-v_cos_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x6a,0xd1,0x01,0x00,0x00,0x00]
+v_cos_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x10]
-v_cos_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x08]
+v_cos_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x18]
-v_cos_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x10]
+v_not_b32 v5, v1
+// CHECK: [0x01,0x57,0x0a,0x7e]
+
+v_not_b32 v255, v1
+// CHECK: [0x01,0x57,0xfe,0x7f]
-v_cos_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x18]
+v_not_b32 v5, v255
+// CHECK: [0xff,0x57,0x0a,0x7e]
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]
@@ -22386,18 +22398,18 @@ v_not_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00]
-v_not_b32 v5, v255
-// CHECK: [0xff,0x57,0x0a,0x7e]
+v_not_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00]
+
+v_not_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6b,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -22434,18 +22446,18 @@ v_not_b32_e64 v5, 0.5
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_bfrev_b32 v5, v1
+// CHECK: [0x01,0x59,0x0a,0x7e]
-v_not_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6b,0xd1,0xff,0x01,0x00,0x00]
+v_bfrev_b32 v255, v1
+// CHECK: [0x01,0x59,0xfe,0x7f]
+
+v_bfrev_b32 v5, v255
+// CHECK: [0xff,0x59,0x0a,0x7e]
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]
@@ -22488,18 +22500,18 @@ v_bfrev_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00]
-v_bfrev_b32 v5, v255
-// CHECK: [0xff,0x59,0x0a,0x7e]
+v_bfrev_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00]
+
+v_bfrev_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6c,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -22536,18 +22548,18 @@ v_bfrev_b32_e64 v5, 0.5
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_ffbh_u32 v5, v1
+// CHECK: [0x01,0x5b,0x0a,0x7e]
-v_bfrev_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6c,0xd1,0xff,0x01,0x00,0x00]
+v_ffbh_u32 v255, v1
+// CHECK: [0x01,0x5b,0xfe,0x7f]
+
+v_ffbh_u32 v5, v255
+// CHECK: [0xff,0x5b,0x0a,0x7e]
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]
@@ -22590,18 +22602,18 @@ v_ffbh_u32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00]
-v_ffbh_u32 v5, v255
-// CHECK: [0xff,0x5b,0x0a,0x7e]
+v_ffbh_u32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00]
+
+v_ffbh_u32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6d,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -22638,18 +22650,18 @@ v_ffbh_u32_e64 v5, 0.5
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_ffbl_b32 v5, v1
+// CHECK: [0x01,0x5d,0x0a,0x7e]
-v_ffbh_u32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6d,0xd1,0xff,0x01,0x00,0x00]
+v_ffbl_b32 v255, v1
+// CHECK: [0x01,0x5d,0xfe,0x7f]
+
+v_ffbl_b32 v5, v255
+// CHECK: [0xff,0x5d,0x0a,0x7e]
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]
@@ -22692,18 +22704,18 @@ v_ffbl_b32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00]
-v_ffbl_b32 v5, v255
-// CHECK: [0xff,0x5d,0x0a,0x7e]
+v_ffbl_b32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00]
+
+v_ffbl_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6e,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -22740,18 +22752,18 @@ v_ffbl_b32_e64 v5, 0.5
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_ffbh_i32 v5, v1
+// CHECK: [0x01,0x5f,0x0a,0x7e]
-v_ffbl_b32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6e,0xd1,0xff,0x01,0x00,0x00]
+v_ffbh_i32 v255, v1
+// CHECK: [0x01,0x5f,0xfe,0x7f]
+
+v_ffbh_i32 v5, v255
+// CHECK: [0xff,0x5f,0x0a,0x7e]
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]
@@ -22794,18 +22806,18 @@ v_ffbh_i32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00]
-v_ffbh_i32 v5, v255
-// CHECK: [0xff,0x5f,0x0a,0x7e]
+v_ffbh_i32_e64 v255, v1
+// CHECK: [0xff,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00]
+
+v_ffbh_i32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6f,0xd1,0xff,0x01,0x00,0x00]
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]
@@ -22842,18 +22854,18 @@ v_ffbh_i32_e64 v5, 0.5
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_frexp_exp_i32_f64 v5, v[1:2]
+// CHECK: [0x01,0x61,0x0a,0x7e]
-v_ffbh_i32_e64 v5, v255
-// CHECK: [0x05,0x00,0x6f,0xd1,0xff,0x01,0x00,0x00]
+v_frexp_exp_i32_f64 v255, v[1:2]
+// CHECK: [0x01,0x61,0xfe,0x7f]
+
+v_frexp_exp_i32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x61,0x0a,0x7e]
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]
@@ -22887,18 +22899,18 @@ v_frexp_exp_i32_f64 v5, 0xaf123456
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_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f64 v5, v[254:255]
-// CHECK: [0xfe,0x61,0x0a,0x7e]
+v_frexp_exp_i32_f64_e64 v255, v[1:2]
+// CHECK: [0xff,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,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]
@@ -22926,27 +22938,27 @@ v_frexp_exp_i32_f64_e64 v5, 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x20]
-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, |v[1:2]|
+// CHECK: [0x05,0x01,0x70,0xd1,0x01,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, v[1:2] clamp
+// CHECK: [0x05,0x80,0x70,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f64_e64 v5, |s[2:3]|
-// CHECK: [0x05,0x01,0x70,0xd1,0x02,0x00,0x00,0x00]
+v_frexp_mant_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x63,0x0a,0x7e]
-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[254:255], v[1:2]
+// CHECK: [0x01,0x63,0xfc,0x7f]
+
+v_frexp_mant_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x63,0x0a,0x7e]
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]
@@ -22980,18 +22992,18 @@ v_frexp_mant_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x63,0x0a,0x7e]
+v_frexp_mant_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -23019,36 +23031,36 @@ v_frexp_mant_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x71,0xd1,0x01,0x01,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], v[1:2] clamp
+// CHECK: [0x05,0x80,0x71,0xd1,0x01,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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x18]
-v_frexp_mant_f64_e64 v[5:6], s[2:3] mul:2
-// CHECK: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x08]
+v_fract_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x65,0x0a,0x7e]
-v_frexp_mant_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x10]
+v_fract_f64 v[254:255], v[1:2]
+// CHECK: [0x01,0x65,0xfc,0x7f]
-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], v[254:255]
+// CHECK: [0xfe,0x65,0x0a,0x7e]
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]
@@ -23082,18 +23094,18 @@ v_fract_f64 v[5:6], 0xaf123456
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_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f64 v[5:6], v[254:255]
-// CHECK: [0xfe,0x65,0x0a,0x7e]
+v_fract_f64_e64 v[254:255], v[1:2]
+// CHECK: [0xfe,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,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]
@@ -23121,36 +23133,36 @@ v_fract_f64_e64 v[5:6], 0.5
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[1:2]
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x20]
-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], |v[1:2]|
+// CHECK: [0x05,0x01,0x72,0xd1,0x01,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], v[1:2] clamp
+// CHECK: [0x05,0x80,0x72,0xd1,0x01,0x01,0x00,0x00]
-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], v[1:2] mul:2
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x08]
-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], v[1:2] mul:4
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x10]
-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], v[1:2] div:2
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x18]
-v_fract_f64_e64 v[5:6], s[2:3] mul:4
-// CHECK: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x10]
+v_frexp_exp_i32_f32 v5, v1
+// CHECK: [0x01,0x67,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v255, v1
+// CHECK: [0x01,0x67,0xfe,0x7f]
-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, v255
+// CHECK: [0xff,0x67,0x0a,0x7e]
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]
@@ -23193,18 +23205,18 @@ v_frexp_exp_i32_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f32 v5, v255
-// CHECK: [0xff,0x67,0x0a,0x7e]
+v_frexp_exp_i32_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -23241,27 +23253,27 @@ v_frexp_exp_i32_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x20]
-v_frexp_exp_i32_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x73,0xd1,0xff,0x01,0x00,0x00]
+v_frexp_exp_i32_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x73,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x73,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i32_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x73,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f32 v5, v1
+// CHECK: [0x01,0x69,0x0a,0x7e]
-v_frexp_exp_i32_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x73,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f32 v255, v1
+// CHECK: [0x01,0x69,0xfe,0x7f]
+
+v_frexp_mant_f32 v5, v255
+// CHECK: [0xff,0x69,0x0a,0x7e]
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]
@@ -23304,18 +23316,18 @@ v_frexp_mant_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f32 v5, v255
-// CHECK: [0xff,0x69,0x0a,0x7e]
+v_frexp_mant_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -23352,29 +23364,23 @@ v_frexp_mant_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x20]
-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, |v1|
+// CHECK: [0x05,0x01,0x74,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x74,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f32_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x74,0xd1,0x01,0x01,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, v1 mul:2
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x08]
-v_frexp_mant_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x08]
+v_frexp_mant_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x10]
-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_frexp_mant_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x18]
v_clrexcp
// CHECK: [0x00,0x6a,0x00,0x7e]
@@ -23382,12 +23388,18 @@ v_clrexcp
v_clrexcp_e64
// CHECK: [0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00]
+v_cvt_f16_u16 v5, v1
+// CHECK: [0x01,0x73,0x0a,0x7e]
+
+v_cvt_f16_u16 v255, v1
+// CHECK: [0x01,0x73,0xfe,0x7f]
+
+v_cvt_f16_u16 v5, v255
+// CHECK: [0xff,0x73,0x0a,0x7e]
+
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]
@@ -23430,18 +23442,18 @@ v_cvt_f16_u16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x79,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_u16 v5, v255
-// CHECK: [0xff,0x73,0x0a,0x7e]
+v_cvt_f16_u16_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -23478,21 +23490,21 @@ v_cvt_f16_u16_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,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_i16 v5, v1
+// CHECK: [0x01,0x75,0x0a,0x7e]
-v_cvt_f16_u16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x79,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_f16_i16 v255, v1
+// CHECK: [0x01,0x75,0xfe,0x7f]
+
+v_cvt_f16_i16 v5, v255
+// CHECK: [0xff,0x75,0x0a,0x7e]
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]
@@ -23535,18 +23547,18 @@ v_cvt_f16_i16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7a,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_i16 v5, v255
-// CHECK: [0xff,0x75,0x0a,0x7e]
+v_cvt_f16_i16_e64 v255, v1
+// CHECK: [0xff,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
// 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]
@@ -23583,21 +23595,21 @@ v_cvt_f16_i16_e64 v5, 0.5
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, v1 clamp
+// CHECK: [0x05,0x80,0x7a,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_f16_i16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7a,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_u16_f16 v5, v1
+// CHECK: [0x01,0x77,0x0a,0x7e]
+
+v_cvt_u16_f16 v255, v1
+// CHECK: [0x01,0x77,0xfe,0x7f]
-v_cvt_f16_i16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7a,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_u16_f16 v5, v255
+// CHECK: [0xff,0x77,0x0a,0x7e]
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]
@@ -23640,18 +23652,18 @@ v_cvt_u16_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u16_f16 v5, v255
-// CHECK: [0xff,0x77,0x0a,0x7e]
+v_cvt_u16_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -23688,27 +23700,27 @@ v_cvt_u16_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_u16_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7b,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_u16_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7b,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x7b,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_u16_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7b,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_i16_f16 v5, v1
+// CHECK: [0x01,0x79,0x0a,0x7e]
-v_cvt_u16_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7b,0xd1,0x01,0x00,0x00,0x00]
+v_cvt_i16_f16 v255, v1
+// CHECK: [0x01,0x79,0xfe,0x7f]
+
+v_cvt_i16_f16 v5, v255
+// CHECK: [0xff,0x79,0x0a,0x7e]
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]
@@ -23751,18 +23763,18 @@ v_cvt_i16_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i16_f16 v5, v255
-// CHECK: [0xff,0x79,0x0a,0x7e]
+v_cvt_i16_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -23799,27 +23811,27 @@ v_cvt_i16_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x20]
-v_cvt_i16_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7c,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_i16_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7c,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x7c,0xd1,0x01,0x01,0x00,0x00]
-v_cvt_i16_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7c,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_f16 v5, v1
+// CHECK: [0x01,0x7b,0x0a,0x7e]
-v_cvt_i16_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7c,0xd1,0x01,0x00,0x00,0x00]
+v_rcp_f16 v255, v1
+// CHECK: [0x01,0x7b,0xfe,0x7f]
+
+v_rcp_f16 v5, v255
+// CHECK: [0xff,0x7b,0x0a,0x7e]
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]
@@ -23862,18 +23874,18 @@ v_rcp_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f16 v5, v255
-// CHECK: [0xff,0x7b,0x0a,0x7e]
+v_rcp_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -23910,27 +23922,27 @@ v_rcp_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x20]
-v_rcp_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7d,0xd1,0xff,0x01,0x00,0x00]
+v_rcp_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7d,0xd1,0x01,0x01,0x00,0x00]
+
+v_rcp_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x7d,0xd1,0x01,0x01,0x00,0x00]
-v_rcp_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x7d,0xd1,0x01,0x00,0x00,0x20]
+v_sqrt_f16 v5, v1
+// CHECK: [0x01,0x7d,0x0a,0x7e]
-v_rcp_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7d,0xd1,0x01,0x00,0x00,0x00]
+v_sqrt_f16 v255, v1
+// CHECK: [0x01,0x7d,0xfe,0x7f]
-v_rcp_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7d,0xd1,0x01,0x00,0x00,0x00]
+v_sqrt_f16 v5, v255
+// CHECK: [0xff,0x7d,0x0a,0x7e]
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]
@@ -23973,18 +23985,18 @@ v_sqrt_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f16 v5, v255
-// CHECK: [0xff,0x7d,0x0a,0x7e]
+v_sqrt_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24021,27 +24033,27 @@ v_sqrt_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x20]
-v_sqrt_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7e,0xd1,0xff,0x01,0x00,0x00]
+v_sqrt_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7e,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x7e,0xd1,0x01,0x00,0x00,0x20]
+v_sqrt_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x7e,0xd1,0x01,0x01,0x00,0x00]
-v_sqrt_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7e,0xd1,0x01,0x00,0x00,0x00]
+v_rsq_f16 v5, v1
+// CHECK: [0x01,0x7f,0x0a,0x7e]
+
+v_rsq_f16 v255, v1
+// CHECK: [0x01,0x7f,0xfe,0x7f]
-v_sqrt_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7e,0xd1,0x01,0x00,0x00,0x00]
+v_rsq_f16 v5, v255
+// CHECK: [0xff,0x7f,0x0a,0x7e]
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]
@@ -24084,18 +24096,18 @@ v_rsq_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f16 v5, v255
-// CHECK: [0xff,0x7f,0x0a,0x7e]
+v_rsq_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24132,27 +24144,27 @@ v_rsq_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x20]
-v_rsq_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x7f,0xd1,0xff,0x01,0x00,0x00]
+v_rsq_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x7f,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x7f,0xd1,0x01,0x00,0x00,0x20]
+v_rsq_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x7f,0xd1,0x01,0x01,0x00,0x00]
-v_rsq_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x7f,0xd1,0x01,0x00,0x00,0x00]
+v_log_f16 v5, v1
+// CHECK: [0x01,0x81,0x0a,0x7e]
-v_rsq_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x7f,0xd1,0x01,0x00,0x00,0x00]
+v_log_f16 v255, v1
+// CHECK: [0x01,0x81,0xfe,0x7f]
+
+v_log_f16 v5, v255
+// CHECK: [0xff,0x81,0x0a,0x7e]
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]
@@ -24195,18 +24207,18 @@ v_log_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x00]
-v_log_f16 v5, v255
-// CHECK: [0xff,0x81,0x0a,0x7e]
+v_log_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24243,27 +24255,27 @@ v_log_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x20]
-v_log_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x80,0xd1,0xff,0x01,0x00,0x00]
+v_log_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x80,0xd1,0x01,0x01,0x00,0x00]
-v_log_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x80,0xd1,0x01,0x00,0x00,0x20]
+v_log_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x80,0xd1,0x01,0x01,0x00,0x00]
+
+v_exp_f16 v5, v1
+// CHECK: [0x01,0x83,0x0a,0x7e]
-v_log_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x80,0xd1,0x01,0x00,0x00,0x00]
+v_exp_f16 v255, v1
+// CHECK: [0x01,0x83,0xfe,0x7f]
-v_log_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x80,0xd1,0x01,0x00,0x00,0x00]
+v_exp_f16 v5, v255
+// CHECK: [0xff,0x83,0x0a,0x7e]
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]
@@ -24306,18 +24318,18 @@ v_exp_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f16 v5, v255
-// CHECK: [0xff,0x83,0x0a,0x7e]
+v_exp_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24354,27 +24366,27 @@ v_exp_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x20]
-v_exp_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x81,0xd1,0xff,0x01,0x00,0x00]
+v_exp_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x81,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x81,0xd1,0x01,0x00,0x00,0x20]
+v_exp_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x81,0xd1,0x01,0x01,0x00,0x00]
-v_exp_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x81,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f16 v5, v1
+// CHECK: [0x01,0x85,0x0a,0x7e]
-v_exp_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x81,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_mant_f16 v255, v1
+// CHECK: [0x01,0x85,0xfe,0x7f]
+
+v_frexp_mant_f16 v5, v255
+// CHECK: [0xff,0x85,0x0a,0x7e]
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]
@@ -24417,18 +24429,18 @@ v_frexp_mant_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f16 v5, v255
-// CHECK: [0xff,0x85,0x0a,0x7e]
+v_frexp_mant_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24465,27 +24477,27 @@ v_frexp_mant_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x20]
-v_frexp_mant_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x82,0xd1,0xff,0x01,0x00,0x00]
+v_frexp_mant_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x82,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x82,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_mant_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x82,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_exp_i16_f16 v5, v1
+// CHECK: [0x01,0x87,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v255, v1
+// CHECK: [0x01,0x87,0xfe,0x7f]
-v_frexp_mant_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x82,0xd1,0x01,0x00,0x00,0x00]
+v_frexp_exp_i16_f16 v5, v255
+// CHECK: [0xff,0x87,0x0a,0x7e]
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]
@@ -24528,18 +24540,18 @@ v_frexp_exp_i16_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i16_f16 v5, v255
-// CHECK: [0xff,0x87,0x0a,0x7e]
+v_frexp_exp_i16_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24576,27 +24588,27 @@ v_frexp_exp_i16_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x20]
-v_frexp_exp_i16_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x83,0xd1,0xff,0x01,0x00,0x00]
+v_frexp_exp_i16_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x83,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x83,0xd1,0x01,0x01,0x00,0x00]
-v_frexp_exp_i16_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x83,0xd1,0x01,0x00,0x00,0x00]
+v_floor_f16 v5, v1
+// CHECK: [0x01,0x89,0x0a,0x7e]
-v_frexp_exp_i16_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x83,0xd1,0x01,0x00,0x00,0x00]
+v_floor_f16 v255, v1
+// CHECK: [0x01,0x89,0xfe,0x7f]
+
+v_floor_f16 v5, v255
+// CHECK: [0xff,0x89,0x0a,0x7e]
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]
@@ -24639,18 +24651,18 @@ v_floor_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f16 v5, v255
-// CHECK: [0xff,0x89,0x0a,0x7e]
+v_floor_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24687,27 +24699,27 @@ v_floor_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x20]
-v_floor_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x84,0xd1,0xff,0x01,0x00,0x00]
+v_floor_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x84,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x84,0xd1,0x01,0x00,0x00,0x20]
+v_floor_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x84,0xd1,0x01,0x01,0x00,0x00]
-v_floor_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x84,0xd1,0x01,0x00,0x00,0x00]
+v_ceil_f16 v5, v1
+// CHECK: [0x01,0x8b,0x0a,0x7e]
-v_floor_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x84,0xd1,0x01,0x00,0x00,0x00]
+v_ceil_f16 v255, v1
+// CHECK: [0x01,0x8b,0xfe,0x7f]
+
+v_ceil_f16 v5, v255
+// CHECK: [0xff,0x8b,0x0a,0x7e]
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]
@@ -24750,18 +24762,18 @@ v_ceil_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f16 v5, v255
-// CHECK: [0xff,0x8b,0x0a,0x7e]
+v_ceil_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24798,27 +24810,27 @@ v_ceil_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x20]
-v_ceil_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x85,0xd1,0xff,0x01,0x00,0x00]
+v_ceil_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x85,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x85,0xd1,0x01,0x00,0x00,0x20]
+v_ceil_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x85,0xd1,0x01,0x01,0x00,0x00]
-v_ceil_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x85,0xd1,0x01,0x00,0x00,0x00]
+v_trunc_f16 v5, v1
+// CHECK: [0x01,0x8d,0x0a,0x7e]
-v_ceil_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x85,0xd1,0x01,0x00,0x00,0x00]
+v_trunc_f16 v255, v1
+// CHECK: [0x01,0x8d,0xfe,0x7f]
+
+v_trunc_f16 v5, v255
+// CHECK: [0xff,0x8d,0x0a,0x7e]
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]
@@ -24861,18 +24873,18 @@ v_trunc_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f16 v5, v255
-// CHECK: [0xff,0x8d,0x0a,0x7e]
+v_trunc_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -24909,27 +24921,27 @@ v_trunc_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x20]
-v_trunc_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x86,0xd1,0xff,0x01,0x00,0x00]
+v_trunc_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x86,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x86,0xd1,0x01,0x00,0x00,0x20]
+v_trunc_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x86,0xd1,0x01,0x01,0x00,0x00]
-v_trunc_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x86,0xd1,0x01,0x00,0x00,0x00]
+v_rndne_f16 v5, v1
+// CHECK: [0x01,0x8f,0x0a,0x7e]
+
+v_rndne_f16 v255, v1
+// CHECK: [0x01,0x8f,0xfe,0x7f]
-v_trunc_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x86,0xd1,0x01,0x00,0x00,0x00]
+v_rndne_f16 v5, v255
+// CHECK: [0xff,0x8f,0x0a,0x7e]
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]
@@ -24972,18 +24984,18 @@ v_rndne_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f16 v5, v255
-// CHECK: [0xff,0x8f,0x0a,0x7e]
+v_rndne_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25020,27 +25032,27 @@ v_rndne_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x20]
-v_rndne_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x87,0xd1,0xff,0x01,0x00,0x00]
+v_rndne_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x87,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x87,0xd1,0x01,0x00,0x00,0x20]
+v_rndne_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x87,0xd1,0x01,0x01,0x00,0x00]
-v_rndne_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x87,0xd1,0x01,0x00,0x00,0x00]
+v_fract_f16 v5, v1
+// CHECK: [0x01,0x91,0x0a,0x7e]
-v_rndne_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x87,0xd1,0x01,0x00,0x00,0x00]
+v_fract_f16 v255, v1
+// CHECK: [0x01,0x91,0xfe,0x7f]
+
+v_fract_f16 v5, v255
+// CHECK: [0xff,0x91,0x0a,0x7e]
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]
@@ -25083,18 +25095,18 @@ v_fract_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f16 v5, v255
-// CHECK: [0xff,0x91,0x0a,0x7e]
+v_fract_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25131,27 +25143,27 @@ v_fract_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x20]
-v_fract_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x88,0xd1,0xff,0x01,0x00,0x00]
+v_fract_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x88,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x88,0xd1,0x01,0x00,0x00,0x20]
+v_fract_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x88,0xd1,0x01,0x01,0x00,0x00]
-v_fract_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x88,0xd1,0x01,0x00,0x00,0x00]
+v_sin_f16 v5, v1
+// CHECK: [0x01,0x93,0x0a,0x7e]
-v_fract_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x88,0xd1,0x01,0x00,0x00,0x00]
+v_sin_f16 v255, v1
+// CHECK: [0x01,0x93,0xfe,0x7f]
+
+v_sin_f16 v5, v255
+// CHECK: [0xff,0x93,0x0a,0x7e]
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]
@@ -25194,18 +25206,18 @@ v_sin_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f16 v5, v255
-// CHECK: [0xff,0x93,0x0a,0x7e]
+v_sin_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25242,27 +25254,27 @@ v_sin_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x20]
-v_sin_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x89,0xd1,0xff,0x01,0x00,0x00]
+v_sin_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x89,0xd1,0x01,0x01,0x00,0x00]
+
+v_sin_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x89,0xd1,0x01,0x01,0x00,0x00]
-v_sin_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x89,0xd1,0x01,0x00,0x00,0x20]
+v_cos_f16 v5, v1
+// CHECK: [0x01,0x95,0x0a,0x7e]
-v_sin_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x89,0xd1,0x01,0x00,0x00,0x00]
+v_cos_f16 v255, v1
+// CHECK: [0x01,0x95,0xfe,0x7f]
-v_sin_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x89,0xd1,0x01,0x00,0x00,0x00]
+v_cos_f16 v5, v255
+// CHECK: [0xff,0x95,0x0a,0x7e]
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]
@@ -25305,18 +25317,18 @@ v_cos_f16 v5, 0xfe0b
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f16 v5, v255
-// CHECK: [0xff,0x95,0x0a,0x7e]
+v_cos_f16_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25353,27 +25365,27 @@ v_cos_f16_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x20]
-v_cos_f16_e64 v5, v255
-// CHECK: [0x05,0x00,0x8a,0xd1,0xff,0x01,0x00,0x00]
+v_cos_f16_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x8a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f16_e64 v5, -s1
-// CHECK: [0x05,0x00,0x8a,0xd1,0x01,0x00,0x00,0x20]
+v_cos_f16_e64 v5, v1 clamp
+// CHECK: [0x05,0x80,0x8a,0xd1,0x01,0x01,0x00,0x00]
-v_cos_f16_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x8a,0xd1,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32 v5, v1
+// CHECK: [0x01,0x97,0x0a,0x7e]
+
+v_exp_legacy_f32 v255, v1
+// CHECK: [0x01,0x97,0xfe,0x7f]
-v_cos_f16_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x8a,0xd1,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32 v5, v255
+// CHECK: [0xff,0x97,0x0a,0x7e]
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]
@@ -25416,18 +25428,18 @@ v_exp_legacy_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x00]
-v_exp_legacy_f32 v5, v255
-// CHECK: [0xff,0x97,0x0a,0x7e]
+v_exp_legacy_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25464,36 +25476,36 @@ v_exp_legacy_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x20]
-v_exp_legacy_f32_e64 v5, v255
-// CHECK: [0x05,0x00,0x8b,0xd1,0xff,0x01,0x00,0x00]
+v_exp_legacy_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x8b,0xd1,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x8b,0xd1,0x01,0x01,0x00,0x00]
-v_exp_legacy_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x8b,0xd1,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32_e64 v5, v1 mul:2
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x08]
-v_exp_legacy_f32_e64 v5, s1 clamp
-// CHECK: [0x05,0x80,0x8b,0xd1,0x01,0x00,0x00,0x00]
+v_exp_legacy_f32_e64 v5, v1 mul:4
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x10]
-v_exp_legacy_f32_e64 v5, s1 mul:2
-// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x08]
+v_exp_legacy_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x18]
-v_exp_legacy_f32_e64 v5, s1 mul:4
-// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x10]
+v_log_legacy_f32 v5, v1
+// CHECK: [0x01,0x99,0x0a,0x7e]
-v_exp_legacy_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x18]
+v_log_legacy_f32 v255, v1
+// CHECK: [0x01,0x99,0xfe,0x7f]
+
+v_log_legacy_f32 v5, v255
+// CHECK: [0xff,0x99,0x0a,0x7e]
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]
@@ -25536,18 +25548,18 @@ v_log_legacy_f32 v5, 0xaf123456
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_e64 v5, v1
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x00]
-v_log_legacy_f32 v5, v255
-// CHECK: [0xff,0x99,0x0a,0x7e]
+v_log_legacy_f32_e64 v255, v1
+// CHECK: [0xff,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,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]
@@ -25584,29 +25596,23 @@ v_log_legacy_f32_e64 v5, 0.5
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, -v1
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x20]
-v_log_legacy_f32_e64 v5, |s1|
-// CHECK: [0x05,0x01,0x8c,0xd1,0x01,0x00,0x00,0x00]
+v_log_legacy_f32_e64 v5, |v1|
+// CHECK: [0x05,0x01,0x8c,0xd1,0x01,0x01,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, v1 clamp
+// CHECK: [0x05,0x80,0x8c,0xd1,0x01,0x01,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, v1 mul:2
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,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, v1 mul:4
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x10]
-v_log_legacy_f32_e64 v5, s1 div:2
-// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x18]
+v_log_legacy_f32_e64 v5, v1 div:2
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x18]
v_swap_b32 v5, v1
// CHECK: [0x01,0xa3,0x0a,0x7e]
@@ -25617,12 +25623,18 @@ v_swap_b32 v255, v1
v_swap_b32 v5, v255
// CHECK: [0xff,0xa3,0x0a,0x7e]
+v_cndmask_b32 v5, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x00]
+
+v_cndmask_b32 v255, v1, v2, vcc
+// CHECK: [0x01,0x05,0xfe,0x01]
+
+v_cndmask_b32 v5, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x00]
+
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]
@@ -25632,69 +25644,69 @@ v_cndmask_b32 v5, 0.5, v2, vcc
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, v1, v255, vcc
+// CHECK: [0x01,0xff,0x0b,0x00]
-v_cndmask_b32 v5, v255, v2, vcc
-// CHECK: [0xff,0x05,0x0a,0x00]
+v_cndmask_b32_e64 v5, v1, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00]
-v_cndmask_b32 v5, 0, v255, vcc
-// CHECK: [0x80,0xfe,0x0b,0x00]
+v_cndmask_b32_e64 v255, v1, v2, s[6:7]
+// CHECK: [0xff,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00]
-v_cndmask_b32_e64 v5, 0, 0, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x19,0x00]
+v_cndmask_b32_e64 v5, v255, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xff,0x05,0x1a,0x00]
+
+v_cndmask_b32_e64 v5, 0, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x04,0x1a,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, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xc1,0x04,0x1a,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, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xf0,0x04,0x1a,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, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xf7,0x04,0x1a,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, v255, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0xff,0x1b,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, v1, -1, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x83,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, v1, 0.5, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0xe1,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, v1, -4.0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0xef,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, v1, v2, s[8:9]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0x22,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, v1, v2, s[100:101]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0x92,0x01]
-v_cndmask_b32_e64 v5, 0, v255, s[6:7]
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0xfe,0x1b,0x00]
+v_cndmask_b32_e64 v5, v1, v2, flat_scratch
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0x9a,0x01]
-v_cndmask_b32_e64 v5, 0, 0, s[8:9]
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x21,0x00]
+v_cndmask_b32_e64 v5, v1, v2, vcc
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x05,0xaa,0x01]
-v_cndmask_b32_e64 v5, 0, 0, s[100:101]
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x91,0x01]
+v_add_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x02]
-v_cndmask_b32_e64 v5, 0, 0, flat_scratch
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x99,0x01]
+v_add_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x03]
-v_cndmask_b32_e64 v5, 0, 0, vcc
-// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0xa9,0x01]
+v_add_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x02]
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]
@@ -25737,114 +25749,141 @@ v_add_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x02]
-v_add_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x02]
+v_add_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x01,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0xff,0x05,0x02,0x00]
+
+v_add_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x04,0x02,0x00]
-v_add_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x02]
+v_add_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x65,0x04,0x02,0x00]
-v_add_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x66,0x04,0x02,0x00]
-v_add_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x67,0x04,0x02,0x00]
-v_add_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x01,0xd1,0xc1,0x04,0x00,0x00]
+v_add_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x6a,0x04,0x02,0x00]
-v_add_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x01,0xd1,0xf0,0x04,0x00,0x00]
+v_add_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x6b,0x04,0x02,0x00]
-v_add_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x01,0xd1,0xf7,0x04,0x00,0x00]
+v_add_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x7c,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x7e,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x7f,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0xc1,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0xf0,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0xf7,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xcb,0x00,0x00]
-v_add_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xca,0x00,0x00]
+v_add_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xd5,0x00,0x00]
-v_add_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xd4,0x00,0x00]
+v_add_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xd7,0x00,0x00]
-v_add_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xd6,0x00,0x00]
+v_add_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xf9,0x00,0x00]
-v_add_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xf8,0x00,0x00]
+v_add_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xfd,0x00,0x00]
-v_add_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xfc,0x00,0x00]
+v_add_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xff,0x00,0x00]
-v_add_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xfe,0x00,0x00]
+v_add_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x01,0x01,0x00]
-v_add_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x00,0x01,0x00]
+v_add_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x83,0x01,0x00]
-v_add_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x82,0x01,0x00]
+v_add_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xe1,0x01,0x00]
-v_add_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xe0,0x01,0x00]
+v_add_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0xef,0x01,0x00]
-v_add_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xee,0x01,0x00]
+v_add_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x20]
-v_add_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x02,0x00]
+v_add_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x40]
-v_add_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xfe,0x03,0x00]
+v_add_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x60]
-v_add_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x20]
+v_add_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x01,0xd1,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x40]
+v_add_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x01,0xd1,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x60]
+v_add_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x01,0xd1,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x01,0xd1,0x01,0x05,0x02,0x00]
-v_add_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x08]
-v_add_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x10]
-v_add_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x01,0xd1,0x80,0x04,0x00,0x00]
+v_add_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x18]
-v_add_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x08]
+v_sub_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x04]
-v_add_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x10]
+v_sub_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x05]
-v_add_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x18]
+v_sub_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x04]
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]
@@ -25887,114 +25926,141 @@ v_sub_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x04]
-v_sub_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x04]
+v_sub_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0xff,0x05,0x02,0x00]
+
+v_sub_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x04,0x02,0x00]
-v_sub_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x04]
+v_sub_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x65,0x04,0x02,0x00]
-v_sub_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x66,0x04,0x02,0x00]
-v_sub_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x67,0x04,0x02,0x00]
-v_sub_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x02,0xd1,0xc1,0x04,0x00,0x00]
+v_sub_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x6a,0x04,0x02,0x00]
-v_sub_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x02,0xd1,0xf0,0x04,0x00,0x00]
+v_sub_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x6b,0x04,0x02,0x00]
-v_sub_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x02,0xd1,0xf7,0x04,0x00,0x00]
+v_sub_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x7c,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x7e,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x7f,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0xc1,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0xf0,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0xf7,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xcb,0x00,0x00]
-v_sub_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xca,0x00,0x00]
+v_sub_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xd5,0x00,0x00]
-v_sub_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xd4,0x00,0x00]
+v_sub_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xd7,0x00,0x00]
-v_sub_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xd6,0x00,0x00]
+v_sub_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xf9,0x00,0x00]
-v_sub_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xf8,0x00,0x00]
+v_sub_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xfd,0x00,0x00]
-v_sub_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xfc,0x00,0x00]
+v_sub_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xff,0x00,0x00]
-v_sub_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xfe,0x00,0x00]
+v_sub_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x01,0x01,0x00]
-v_sub_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x00,0x01,0x00]
+v_sub_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x83,0x01,0x00]
-v_sub_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x82,0x01,0x00]
+v_sub_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xe1,0x01,0x00]
-v_sub_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xe0,0x01,0x00]
+v_sub_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0xef,0x01,0x00]
-v_sub_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xee,0x01,0x00]
+v_sub_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x20]
-v_sub_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x02,0x00]
+v_sub_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x40]
-v_sub_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xfe,0x03,0x00]
+v_sub_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x60]
-v_sub_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x20]
+v_sub_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x40]
+v_sub_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x60]
+v_sub_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x02,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x08]
-v_sub_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x10]
-v_sub_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x02,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x18]
-v_sub_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x08]
+v_subrev_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x06]
-v_sub_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x10]
+v_subrev_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x07]
-v_sub_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x18]
+v_subrev_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x06]
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]
@@ -26037,114 +26103,141 @@ v_subrev_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x06]
-v_subrev_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x06]
+v_subrev_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x03,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0xff,0x05,0x02,0x00]
+
+v_subrev_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x04,0x02,0x00]
-v_subrev_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x06]
+v_subrev_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x65,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x66,0x04,0x02,0x00]
-v_subrev_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x67,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x03,0xd1,0xc1,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x6a,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x03,0xd1,0xf0,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x6b,0x04,0x02,0x00]
-v_subrev_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x03,0xd1,0xf7,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x7c,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x7e,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x7f,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0xc1,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0xf0,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0xf7,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xcb,0x00,0x00]
-v_subrev_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xca,0x00,0x00]
+v_subrev_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xd5,0x00,0x00]
-v_subrev_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xd4,0x00,0x00]
+v_subrev_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xd7,0x00,0x00]
-v_subrev_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xd6,0x00,0x00]
+v_subrev_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xf9,0x00,0x00]
-v_subrev_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xf8,0x00,0x00]
+v_subrev_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xfd,0x00,0x00]
-v_subrev_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xfc,0x00,0x00]
+v_subrev_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xff,0x00,0x00]
-v_subrev_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xfe,0x00,0x00]
+v_subrev_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x01,0x01,0x00]
-v_subrev_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x00,0x01,0x00]
+v_subrev_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x83,0x01,0x00]
-v_subrev_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x82,0x01,0x00]
+v_subrev_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xe1,0x01,0x00]
-v_subrev_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xe0,0x01,0x00]
+v_subrev_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0xef,0x01,0x00]
-v_subrev_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xee,0x01,0x00]
+v_subrev_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x20]
-v_subrev_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x02,0x00]
+v_subrev_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x40]
-v_subrev_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xfe,0x03,0x00]
+v_subrev_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x60]
-v_subrev_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x20]
+v_subrev_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x40]
+v_subrev_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x60]
+v_subrev_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x03,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x08]
-v_subrev_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x10]
-v_subrev_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x03,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x18]
-v_subrev_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x08]
+v_mul_legacy_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x08]
-v_subrev_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x10]
+v_mul_legacy_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x09]
-v_subrev_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x18]
+v_mul_legacy_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x08]
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]
@@ -26187,114 +26280,141 @@ v_mul_legacy_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x08]
-v_mul_legacy_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x08]
+v_mul_legacy_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_legacy_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x65,0x04,0x02,0x00]
-v_mul_legacy_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x08]
+v_mul_legacy_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x66,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x67,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x6a,0x04,0x02,0x00]
-v_mul_legacy_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x04,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x6b,0x04,0x02,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, m0, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x7c,0x04,0x02,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, exec_lo, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x01,0x01,0x00]
-v_mul_legacy_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x00,0x01,0x00]
+v_mul_legacy_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0xef,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, -v1, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x20]
-v_mul_legacy_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x02,0x00]
+v_mul_legacy_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x40]
-v_mul_legacy_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_legacy_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x60]
-v_mul_legacy_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x20]
+v_mul_legacy_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x04,0xd1,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x40]
+v_mul_legacy_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x04,0xd1,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x60]
+v_mul_legacy_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x04,0xd1,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x04,0xd1,0x01,0x05,0x02,0x00]
-v_mul_legacy_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x08]
-v_mul_legacy_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x10]
-v_mul_legacy_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x04,0xd1,0x80,0x04,0x00,0x00]
+v_mul_legacy_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x18]
-v_mul_legacy_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x08]
+v_mul_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0a]
-v_mul_legacy_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x10]
+v_mul_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x0b]
-v_mul_legacy_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x18]
+v_mul_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0a]
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]
@@ -26337,114 +26457,141 @@ v_mul_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x0a]
-v_mul_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x0a]
+v_mul_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x0a]
+v_mul_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0xff,0x05,0x02,0x00]
-v_mul_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x04,0x02,0x00]
-v_mul_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x05,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x65,0x04,0x02,0x00]
-v_mul_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x05,0xd1,0xf0,0x04,0x00,0x00]
+v_mul_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x66,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x67,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x02,0x00]
-v_mul_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x05,0xd1,0xf7,0x04,0x00,0x00]
+v_mul_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xcb,0x00,0x00]
-v_mul_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xca,0x00,0x00]
+v_mul_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xd5,0x00,0x00]
-v_mul_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xd4,0x00,0x00]
+v_mul_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xd7,0x00,0x00]
-v_mul_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xd6,0x00,0x00]
+v_mul_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xf9,0x00,0x00]
-v_mul_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xf8,0x00,0x00]
+v_mul_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xfd,0x00,0x00]
-v_mul_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xfc,0x00,0x00]
+v_mul_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xff,0x00,0x00]
-v_mul_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xfe,0x00,0x00]
+v_mul_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x01,0x01,0x00]
-v_mul_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x00,0x01,0x00]
+v_mul_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x83,0x01,0x00]
-v_mul_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x82,0x01,0x00]
+v_mul_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xe1,0x01,0x00]
-v_mul_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xe0,0x01,0x00]
+v_mul_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0xef,0x01,0x00]
-v_mul_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xee,0x01,0x00]
+v_mul_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x20]
-v_mul_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x02,0x00]
+v_mul_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x40]
-v_mul_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x60]
-v_mul_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x20]
+v_mul_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x40]
+v_mul_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x60]
+v_mul_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x05,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x08]
-v_mul_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x10]
-v_mul_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x05,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x18]
-v_mul_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x08]
+v_mul_i32_i24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0c]
-v_mul_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x10]
+v_mul_i32_i24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x0d]
-v_mul_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x18]
+v_mul_i32_i24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0c]
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]
@@ -26487,84 +26634,111 @@ v_mul_i32_i24 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x0c]
-v_mul_i32_i24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x0c]
+v_mul_i32_i24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_i32_i24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x65,0x04,0x02,0x00]
-v_mul_i32_i24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x0c]
+v_mul_i32_i24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x66,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x67,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x6a,0x04,0x02,0x00]
-v_mul_i32_i24_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x06,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_i32_i24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x6b,0x04,0x02,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, m0, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x7c,0x04,0x02,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, exec_lo, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0x01,0x01,0x00]
-v_mul_i32_i24_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x00,0x01,0x00]
+v_mul_i32_i24_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0xef,0x01,0x00]
-v_mul_i32_i24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xee,0x01,0x00]
+v_mul_hi_i32_i24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0e]
-v_mul_i32_i24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x04,0x02,0x00]
+v_mul_hi_i32_i24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x0f]
-v_mul_i32_i24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_hi_i32_i24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0e]
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]
@@ -26607,84 +26781,111 @@ v_mul_hi_i32_i24 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x0e]
-v_mul_hi_i32_i24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x0e]
+v_mul_hi_i32_i24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0x05,0x02,0x00]
-v_mul_hi_i32_i24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x0e]
+v_mul_hi_i32_i24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x07,0xd1,0x01,0x05,0x02,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0x04,0x00,0x00]
+v_mul_hi_i32_i24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0xff,0x05,0x02,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, s1, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0x04,0x02,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, s101, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x65,0x04,0x02,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, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x67,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x7f,0x04,0x02,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, -1, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0x01,0x01,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, v1, -1
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0xef,0x01,0x00]
-v_mul_hi_i32_i24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xee,0x01,0x00]
+v_mul_u32_u24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x10]
-v_mul_hi_i32_i24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0x04,0x02,0x00]
+v_mul_u32_u24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x11]
-v_mul_hi_i32_i24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_u32_u24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x10]
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]
@@ -26727,84 +26928,111 @@ v_mul_u32_u24 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x10]
-v_mul_u32_u24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x10]
+v_mul_u32_u24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_u32_u24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
-v_mul_u32_u24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x10]
+v_mul_u32_u24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0xff,0x05,0x02,0x00]
-v_mul_u32_u24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x65,0x04,0x02,0x00]
-v_mul_u32_u24_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x08,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_u32_u24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x67,0x04,0x02,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, vcc_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0x01,0x01,0x00]
-v_mul_u32_u24_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x00,0x01,0x00]
+v_mul_u32_u24_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0xef,0x01,0x00]
-v_mul_u32_u24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xee,0x01,0x00]
+v_mul_hi_u32_u24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x12]
-v_mul_u32_u24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x04,0x02,0x00]
+v_mul_hi_u32_u24 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x13]
-v_mul_u32_u24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_hi_u32_u24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x12]
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]
@@ -26847,84 +27075,111 @@ v_mul_hi_u32_u24 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x12]
-v_mul_hi_u32_u24 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x12]
+v_mul_hi_u32_u24_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x09,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x65,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x66,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x67,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x7e,0x04,0x02,0x00]
-v_mul_hi_u32_u24 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x12]
+v_mul_hi_u32_u24_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x7f,0x04,0x02,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0x04,0x00,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 v255, 0, s2
-// CHECK: [0xff,0x00,0x09,0xd1,0x80,0x04,0x00,0x00]
+v_mul_hi_u32_u24_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0xc1,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0xf7,0x04,0x02,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, v255
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0x01,0x01,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, v1, -1
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0xef,0x01,0x00]
-v_mul_hi_u32_u24_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xee,0x01,0x00]
+v_min_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x14]
-v_mul_hi_u32_u24_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0x04,0x02,0x00]
+v_min_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x15]
-v_mul_hi_u32_u24_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xfe,0x03,0x00]
+v_min_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x14]
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]
@@ -26967,114 +27222,141 @@ v_min_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x14]
-v_min_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x14]
+v_min_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x65,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x66,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x67,0x04,0x02,0x00]
-v_min_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x14]
+v_min_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x6a,0x04,0x02,0x00]
-v_min_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x6b,0x04,0x02,0x00]
-v_min_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x7c,0x04,0x02,0x00]
-v_min_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0xc1,0x04,0x00,0x00]
+v_min_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x7e,0x04,0x02,0x00]
-v_min_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0xf0,0x04,0x00,0x00]
+v_min_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x7f,0x04,0x02,0x00]
-v_min_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0xf7,0x04,0x00,0x00]
+v_min_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xcb,0x00,0x00]
-v_min_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xca,0x00,0x00]
+v_min_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xd5,0x00,0x00]
-v_min_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xd4,0x00,0x00]
+v_min_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xd7,0x00,0x00]
-v_min_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xd6,0x00,0x00]
+v_min_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xf9,0x00,0x00]
-v_min_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xf8,0x00,0x00]
+v_min_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xfd,0x00,0x00]
-v_min_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xfc,0x00,0x00]
+v_min_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xff,0x00,0x00]
-v_min_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xfe,0x00,0x00]
+v_min_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x01,0x01,0x00]
-v_min_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x00,0x01,0x00]
+v_min_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x83,0x01,0x00]
-v_min_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x82,0x01,0x00]
+v_min_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xe1,0x01,0x00]
-v_min_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xe0,0x01,0x00]
+v_min_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0xef,0x01,0x00]
-v_min_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xee,0x01,0x00]
+v_min_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x20]
-v_min_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x02,0x00]
+v_min_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x40]
-v_min_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xfe,0x03,0x00]
+v_min_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x60]
-v_min_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x20]
+v_min_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x40]
+v_min_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x60]
+v_min_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x0a,0xd1,0x01,0x05,0x02,0x00]
-v_min_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x08]
-v_min_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x10]
-v_min_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x0a,0xd1,0x80,0x04,0x00,0x00]
+v_min_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x18]
-v_min_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x08]
+v_max_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x16]
-v_min_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x10]
+v_max_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x17]
-v_min_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x18]
+v_max_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x16]
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]
@@ -27117,114 +27399,141 @@ v_max_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x16]
-v_max_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x16]
+v_max_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xff,0x05,0x02,0x00]
-v_max_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x16]
+v_max_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x04,0x02,0x00]
-v_max_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x65,0x04,0x02,0x00]
-v_max_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x66,0x04,0x02,0x00]
-v_max_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0xc1,0x04,0x00,0x00]
+v_max_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x67,0x04,0x02,0x00]
-v_max_f32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0xf0,0x04,0x00,0x00]
+v_max_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x6a,0x04,0x02,0x00]
-v_max_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0xf7,0x04,0x00,0x00]
+v_max_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x6b,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x7c,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xcb,0x00,0x00]
-v_max_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xca,0x00,0x00]
+v_max_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xd5,0x00,0x00]
-v_max_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xd4,0x00,0x00]
+v_max_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xd7,0x00,0x00]
-v_max_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xd6,0x00,0x00]
+v_max_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xf9,0x00,0x00]
-v_max_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xf8,0x00,0x00]
+v_max_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xfd,0x00,0x00]
-v_max_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xfc,0x00,0x00]
+v_max_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xff,0x00,0x00]
-v_max_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xfe,0x00,0x00]
+v_max_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x01,0x01,0x00]
-v_max_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x00,0x01,0x00]
+v_max_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x83,0x01,0x00]
-v_max_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x82,0x01,0x00]
+v_max_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xe1,0x01,0x00]
-v_max_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xe0,0x01,0x00]
+v_max_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0xef,0x01,0x00]
-v_max_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xee,0x01,0x00]
+v_max_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x20]
-v_max_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x02,0x00]
+v_max_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x40]
-v_max_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xfe,0x03,0x00]
+v_max_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x60]
-v_max_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x20]
+v_max_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x0b,0xd1,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x40]
+v_max_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x0b,0xd1,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x60]
+v_max_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x0b,0xd1,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x0b,0xd1,0x01,0x05,0x02,0x00]
-v_max_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x08]
-v_max_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x10]
-v_max_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x0b,0xd1,0x80,0x04,0x00,0x00]
+v_max_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x18]
-v_max_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x08]
+v_min_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x18]
-v_max_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x10]
+v_min_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x19]
-v_max_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x18]
+v_min_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,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]
@@ -27267,84 +27576,111 @@ v_min_i32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x18]
-v_min_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x18]
+v_min_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x65,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x66,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x67,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x6a,0x04,0x02,0x00]
-v_min_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x18]
+v_min_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x6b,0x04,0x02,0x00]
-v_min_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_min_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x7c,0x04,0x02,0x00]
-v_min_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+v_min_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x7e,0x04,0x02,0x00]
-v_min_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0c,0xd1,0xc1,0x04,0x00,0x00]
+v_min_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x7f,0x04,0x02,0x00]
-v_min_i32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0c,0xd1,0xf0,0x04,0x00,0x00]
+v_min_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xf7,0x04,0x02,0x00]
-v_min_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0c,0xd1,0xf7,0x04,0x00,0x00]
+v_min_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xcb,0x00,0x00]
-v_min_i32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xca,0x00,0x00]
+v_min_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xd5,0x00,0x00]
-v_min_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xd4,0x00,0x00]
+v_min_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xd7,0x00,0x00]
-v_min_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xd6,0x00,0x00]
+v_min_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xf9,0x00,0x00]
-v_min_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xf8,0x00,0x00]
+v_min_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xfd,0x00,0x00]
-v_min_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xfc,0x00,0x00]
+v_min_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xff,0x00,0x00]
-v_min_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xfe,0x00,0x00]
+v_min_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0x01,0x01,0x00]
-v_min_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x00,0x01,0x00]
+v_min_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0x83,0x01,0x00]
-v_min_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x82,0x01,0x00]
+v_min_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xe1,0x01,0x00]
-v_min_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xe0,0x01,0x00]
+v_min_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0xef,0x01,0x00]
-v_min_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xee,0x01,0x00]
+v_max_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1a]
-v_min_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x02,0x00]
+v_max_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x1b]
-v_min_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xfe,0x03,0x00]
+v_max_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1a]
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]
@@ -27387,84 +27723,111 @@ v_max_i32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x1a]
-v_max_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x1a]
+v_max_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xff,0x05,0x02,0x00]
+
+v_max_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0x04,0x02,0x00]
-v_max_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x1a]
+v_max_i32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x65,0x04,0x02,0x00]
-v_max_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00]
+v_max_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x66,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x67,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x6a,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x6b,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x7c,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x02,0x00]
-v_max_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00]
+v_max_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xc1,0x04,0x02,0x00]
-v_max_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0d,0xd1,0xc1,0x04,0x00,0x00]
+v_max_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xf7,0x04,0x02,0x00]
-v_max_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0d,0xd1,0xf7,0x04,0x00,0x00]
+v_max_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xcb,0x00,0x00]
-v_max_i32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xca,0x00,0x00]
+v_max_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xd5,0x00,0x00]
-v_max_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xd4,0x00,0x00]
+v_max_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xd7,0x00,0x00]
-v_max_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xd6,0x00,0x00]
+v_max_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xf9,0x00,0x00]
-v_max_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xf8,0x00,0x00]
+v_max_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xfd,0x00,0x00]
-v_max_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xfc,0x00,0x00]
+v_max_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xff,0x00,0x00]
-v_max_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xfe,0x00,0x00]
+v_max_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0x01,0x01,0x00]
-v_max_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x00,0x01,0x00]
+v_max_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0x83,0x01,0x00]
-v_max_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x82,0x01,0x00]
+v_max_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xe1,0x01,0x00]
-v_max_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xe0,0x01,0x00]
+v_max_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0xef,0x01,0x00]
-v_max_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xee,0x01,0x00]
+v_min_u32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1c]
-v_max_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x02,0x00]
+v_min_u32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x1d]
-v_max_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xfe,0x03,0x00]
+v_min_u32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1c]
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]
@@ -27507,84 +27870,111 @@ v_min_u32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x1c]
-v_min_u32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x1c]
+v_min_u32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_u32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_u32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_u32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x65,0x04,0x02,0x00]
-v_min_u32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x1c]
+v_min_u32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x66,0x04,0x02,0x00]
-v_min_u32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_min_u32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x67,0x04,0x02,0x00]
-v_min_u32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+v_min_u32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x6a,0x04,0x02,0x00]
-v_min_u32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0e,0xd1,0xc1,0x04,0x00,0x00]
+v_min_u32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x6b,0x04,0x02,0x00]
-v_min_u32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0e,0xd1,0xf0,0x04,0x00,0x00]
+v_min_u32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x7c,0x04,0x02,0x00]
-v_min_u32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0e,0xd1,0xf7,0x04,0x00,0x00]
+v_min_u32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x7e,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x7f,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xcb,0x00,0x00]
-v_min_u32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xca,0x00,0x00]
+v_min_u32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xd5,0x00,0x00]
-v_min_u32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xd4,0x00,0x00]
+v_min_u32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xd7,0x00,0x00]
-v_min_u32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xd6,0x00,0x00]
+v_min_u32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xf9,0x00,0x00]
-v_min_u32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xf8,0x00,0x00]
+v_min_u32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xfd,0x00,0x00]
-v_min_u32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xfc,0x00,0x00]
+v_min_u32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xff,0x00,0x00]
-v_min_u32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xfe,0x00,0x00]
+v_min_u32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0x01,0x01,0x00]
-v_min_u32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x00,0x01,0x00]
+v_min_u32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0x83,0x01,0x00]
-v_min_u32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x82,0x01,0x00]
+v_min_u32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xe1,0x01,0x00]
-v_min_u32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xe0,0x01,0x00]
+v_min_u32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0xef,0x01,0x00]
-v_min_u32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xee,0x01,0x00]
+v_max_u32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1e]
-v_min_u32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x02,0x00]
+v_max_u32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x1f]
-v_min_u32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xfe,0x03,0x00]
+v_max_u32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1e]
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]
@@ -27627,84 +28017,111 @@ v_max_u32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x1e]
-v_max_u32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x1e]
+v_max_u32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_u32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_u32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xff,0x05,0x02,0x00]
+
+v_max_u32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x65,0x04,0x02,0x00]
-v_max_u32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x1e]
+v_max_u32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x66,0x04,0x02,0x00]
-v_max_u32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00]
+v_max_u32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x67,0x04,0x02,0x00]
-v_max_u32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00]
+v_max_u32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x6a,0x04,0x02,0x00]
-v_max_u32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x0f,0xd1,0xc1,0x04,0x00,0x00]
+v_max_u32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x6b,0x04,0x02,0x00]
-v_max_u32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x0f,0xd1,0xf0,0x04,0x00,0x00]
+v_max_u32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x7c,0x04,0x02,0x00]
-v_max_u32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x0f,0xd1,0xf7,0x04,0x00,0x00]
+v_max_u32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xcb,0x00,0x00]
-v_max_u32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xca,0x00,0x00]
+v_max_u32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xd5,0x00,0x00]
-v_max_u32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xd4,0x00,0x00]
+v_max_u32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xd7,0x00,0x00]
-v_max_u32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xd6,0x00,0x00]
+v_max_u32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xf9,0x00,0x00]
-v_max_u32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xf8,0x00,0x00]
+v_max_u32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xfd,0x00,0x00]
-v_max_u32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xfc,0x00,0x00]
+v_max_u32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xff,0x00,0x00]
-v_max_u32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xfe,0x00,0x00]
+v_max_u32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0x01,0x01,0x00]
-v_max_u32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x00,0x01,0x00]
+v_max_u32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0x83,0x01,0x00]
-v_max_u32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x82,0x01,0x00]
+v_max_u32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xe1,0x01,0x00]
-v_max_u32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xe0,0x01,0x00]
+v_max_u32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0xef,0x01,0x00]
-v_max_u32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xee,0x01,0x00]
+v_lshrrev_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x20]
-v_max_u32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x02,0x00]
+v_lshrrev_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x21]
-v_max_u32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xfe,0x03,0x00]
+v_lshrrev_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x20]
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]
@@ -27747,84 +28164,111 @@ v_lshrrev_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x20]
-v_lshrrev_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x20]
+v_lshrrev_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0xff,0x05,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x65,0x04,0x02,0x00]
-v_lshrrev_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x20]
+v_lshrrev_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x66,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x67,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x10,0xd1,0x80,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x6a,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x10,0xd1,0xc1,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x6b,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x10,0xd1,0xf0,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x7c,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x7e,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x7f,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x04,0x02,0x00]
-v_lshrrev_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x10,0xd1,0xf7,0x04,0x00,0x00]
+v_lshrrev_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0xc1,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0xf0,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0xf7,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xcb,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xca,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xd5,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xd4,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xd7,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xd6,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xf9,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xf8,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xfd,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xfc,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xff,0x00,0x00]
-v_lshrrev_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xfe,0x00,0x00]
+v_lshrrev_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0x01,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x00,0x01,0x00]
+v_lshrrev_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0x83,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x82,0x01,0x00]
+v_lshrrev_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xe1,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xe0,0x01,0x00]
+v_lshrrev_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0xef,0x01,0x00]
-v_lshrrev_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xee,0x01,0x00]
+v_ashrrev_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x22]
-v_lshrrev_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x04,0x02,0x00]
+v_ashrrev_i32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x23]
-v_lshrrev_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xfe,0x03,0x00]
+v_ashrrev_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x22]
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]
@@ -27867,84 +28311,111 @@ v_ashrrev_i32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x22]
-v_ashrrev_i32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x22]
+v_ashrrev_i32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x11,0xd1,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0xff,0x05,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x65,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x66,0x04,0x02,0x00]
-v_ashrrev_i32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x22]
+v_ashrrev_i32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x67,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x6a,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x11,0xd1,0x80,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x6b,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x11,0xd1,0xc1,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x7c,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x11,0xd1,0xf0,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x7e,0x04,0x02,0x00]
-v_ashrrev_i32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x11,0xd1,0xf7,0x04,0x00,0x00]
+v_ashrrev_i32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x7f,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0xc1,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0xf0,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0xf7,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xcb,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xca,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xd5,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xd4,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xd7,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xd6,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xf9,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xf8,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xfd,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xfc,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xff,0x00,0x00]
-v_ashrrev_i32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xfe,0x00,0x00]
+v_ashrrev_i32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0x01,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x00,0x01,0x00]
+v_ashrrev_i32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0x83,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x82,0x01,0x00]
+v_ashrrev_i32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xe1,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xe0,0x01,0x00]
+v_ashrrev_i32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0xef,0x01,0x00]
-v_ashrrev_i32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xee,0x01,0x00]
+v_lshlrev_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x24]
-v_ashrrev_i32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x04,0x02,0x00]
+v_lshlrev_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x25]
-v_ashrrev_i32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xfe,0x03,0x00]
+v_lshlrev_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x24]
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]
@@ -27987,84 +28458,111 @@ v_lshlrev_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x24]
-v_lshlrev_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x24]
+v_lshlrev_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x12,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0xff,0x05,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x65,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x66,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x67,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x6a,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x6b,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x7c,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x7e,0x04,0x02,0x00]
-v_lshlrev_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x24]
+v_lshlrev_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x7f,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x12,0xd1,0x80,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0xc1,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x12,0xd1,0xc1,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0xf7,0x04,0x02,0x00]
-v_lshlrev_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x12,0xd1,0xf7,0x04,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xcb,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xca,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xd5,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xd4,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xd7,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xd6,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xf9,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xf8,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xfd,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xfc,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xff,0x00,0x00]
-v_lshlrev_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xfe,0x00,0x00]
+v_lshlrev_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0x01,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x00,0x01,0x00]
+v_lshlrev_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0x83,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x82,0x01,0x00]
+v_lshlrev_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xe1,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xe0,0x01,0x00]
+v_lshlrev_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0xef,0x01,0x00]
-v_lshlrev_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xee,0x01,0x00]
+v_and_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x26]
-v_lshlrev_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x04,0x02,0x00]
+v_and_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x27]
-v_lshlrev_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xfe,0x03,0x00]
+v_and_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x26]
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]
@@ -28107,84 +28605,111 @@ v_and_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x26]
-v_and_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x26]
+v_and_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0x05,0x02,0x00]
+
+v_and_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x13,0xd1,0x01,0x05,0x02,0x00]
+
+v_and_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0xff,0x05,0x02,0x00]
-v_and_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x26]
+v_and_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0x04,0x02,0x00]
-v_and_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x04,0x00,0x00]
+v_and_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x65,0x04,0x02,0x00]
-v_and_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x13,0xd1,0x80,0x04,0x00,0x00]
+v_and_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x66,0x04,0x02,0x00]
-v_and_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x13,0xd1,0xc1,0x04,0x00,0x00]
+v_and_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x67,0x04,0x02,0x00]
-v_and_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x13,0xd1,0xf0,0x04,0x00,0x00]
+v_and_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x6a,0x04,0x02,0x00]
-v_and_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x13,0xd1,0xf7,0x04,0x00,0x00]
+v_and_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x6b,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x7c,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x7e,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x7f,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0xc1,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0xf0,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0xf7,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xcb,0x00,0x00]
-v_and_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xca,0x00,0x00]
+v_and_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xd5,0x00,0x00]
-v_and_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xd4,0x00,0x00]
+v_and_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xd7,0x00,0x00]
-v_and_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xd6,0x00,0x00]
+v_and_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xf9,0x00,0x00]
-v_and_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xf8,0x00,0x00]
+v_and_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xfd,0x00,0x00]
-v_and_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xfc,0x00,0x00]
+v_and_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xff,0x00,0x00]
-v_and_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xfe,0x00,0x00]
+v_and_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0x01,0x01,0x00]
-v_and_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x00,0x01,0x00]
+v_and_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0x83,0x01,0x00]
-v_and_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x82,0x01,0x00]
+v_and_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xe1,0x01,0x00]
-v_and_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xe0,0x01,0x00]
+v_and_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0xef,0x01,0x00]
-v_and_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xee,0x01,0x00]
+v_or_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x28]
-v_and_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x04,0x02,0x00]
+v_or_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x29]
-v_and_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xfe,0x03,0x00]
+v_or_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x28]
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]
@@ -28227,84 +28752,111 @@ v_or_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x28]
-v_or_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x28]
+v_or_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0x05,0x02,0x00]
+
+v_or_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x14,0xd1,0x01,0x05,0x02,0x00]
+
+v_or_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0xff,0x05,0x02,0x00]
-v_or_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x28]
+v_or_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0x04,0x02,0x00]
-v_or_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x04,0x00,0x00]
+v_or_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x65,0x04,0x02,0x00]
-v_or_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x14,0xd1,0x80,0x04,0x00,0x00]
+v_or_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x66,0x04,0x02,0x00]
-v_or_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x14,0xd1,0xc1,0x04,0x00,0x00]
+v_or_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x67,0x04,0x02,0x00]
-v_or_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x14,0xd1,0xf0,0x04,0x00,0x00]
+v_or_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x6a,0x04,0x02,0x00]
-v_or_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x14,0xd1,0xf7,0x04,0x00,0x00]
+v_or_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x6b,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x7c,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x7e,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x7f,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0xc1,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0xf0,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0xf7,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xcb,0x00,0x00]
-v_or_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xca,0x00,0x00]
+v_or_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xd5,0x00,0x00]
-v_or_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xd4,0x00,0x00]
+v_or_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xd7,0x00,0x00]
-v_or_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xd6,0x00,0x00]
+v_or_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xf9,0x00,0x00]
-v_or_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xf8,0x00,0x00]
+v_or_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xfd,0x00,0x00]
-v_or_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xfc,0x00,0x00]
+v_or_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xff,0x00,0x00]
-v_or_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xfe,0x00,0x00]
+v_or_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0x01,0x01,0x00]
-v_or_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x00,0x01,0x00]
+v_or_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0x83,0x01,0x00]
-v_or_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x82,0x01,0x00]
+v_or_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xe1,0x01,0x00]
-v_or_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xe0,0x01,0x00]
+v_or_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0xef,0x01,0x00]
-v_or_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xee,0x01,0x00]
+v_xor_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x2a]
-v_or_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x04,0x02,0x00]
+v_xor_b32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x2b]
-v_or_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xfe,0x03,0x00]
+v_xor_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x2a]
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]
@@ -28347,84 +28899,111 @@ v_xor_b32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x2a]
-v_xor_b32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x2a]
+v_xor_b32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0x05,0x02,0x00]
+
+v_xor_b32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x15,0xd1,0x01,0x05,0x02,0x00]
+
+v_xor_b32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0xff,0x05,0x02,0x00]
+
+v_xor_b32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0x04,0x02,0x00]
-v_xor_b32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x2a]
+v_xor_b32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x65,0x04,0x02,0x00]
-v_xor_b32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x04,0x00,0x00]
+v_xor_b32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x66,0x04,0x02,0x00]
-v_xor_b32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x15,0xd1,0x80,0x04,0x00,0x00]
+v_xor_b32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x67,0x04,0x02,0x00]
-v_xor_b32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x15,0xd1,0xc1,0x04,0x00,0x00]
+v_xor_b32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x6a,0x04,0x02,0x00]
-v_xor_b32_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x15,0xd1,0xf0,0x04,0x00,0x00]
+v_xor_b32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x6b,0x04,0x02,0x00]
-v_xor_b32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x15,0xd1,0xf7,0x04,0x00,0x00]
+v_xor_b32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x7c,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x7e,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x7f,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0xc1,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0xf0,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0xf7,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xcb,0x00,0x00]
-v_xor_b32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xca,0x00,0x00]
+v_xor_b32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xd5,0x00,0x00]
-v_xor_b32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xd4,0x00,0x00]
+v_xor_b32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xd7,0x00,0x00]
-v_xor_b32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xd6,0x00,0x00]
+v_xor_b32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xf9,0x00,0x00]
-v_xor_b32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xf8,0x00,0x00]
+v_xor_b32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xfd,0x00,0x00]
-v_xor_b32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xfc,0x00,0x00]
+v_xor_b32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xff,0x00,0x00]
-v_xor_b32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xfe,0x00,0x00]
+v_xor_b32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0x01,0x01,0x00]
-v_xor_b32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x00,0x01,0x00]
+v_xor_b32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0x83,0x01,0x00]
-v_xor_b32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x82,0x01,0x00]
+v_xor_b32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xe1,0x01,0x00]
-v_xor_b32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xe0,0x01,0x00]
+v_xor_b32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0xef,0x01,0x00]
-v_xor_b32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xee,0x01,0x00]
+v_mac_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x2c]
-v_xor_b32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x04,0x02,0x00]
+v_mac_f32 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x2d]
-v_xor_b32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xfe,0x03,0x00]
+v_mac_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x2c]
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]
@@ -28467,114 +29046,141 @@ v_mac_f32 v5, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x2c]
-v_mac_f32 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x2c]
+v_mac_f32_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]
+
+v_mac_f32_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]
+
+v_mac_f32_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0xff,0x05,0x02,0x00]
+
+v_mac_f32_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x04,0x02,0x00]
-v_mac_f32 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x2c]
+v_mac_f32_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x65,0x04,0x02,0x00]
-v_mac_f32_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x66,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x67,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x02,0x00]
-v_mac_f32_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x02,0x00]
-v_mac_f32_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x00]
+v_mac_f32_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0xf7,0x04,0x02,0x00]
-v_mac_f32_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x16,0xd1,0xf7,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xcb,0x00,0x00]
-v_mac_f32_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xca,0x00,0x00]
+v_mac_f32_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xd5,0x00,0x00]
-v_mac_f32_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xd4,0x00,0x00]
+v_mac_f32_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xd7,0x00,0x00]
-v_mac_f32_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xd6,0x00,0x00]
+v_mac_f32_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xf9,0x00,0x00]
-v_mac_f32_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xf8,0x00,0x00]
+v_mac_f32_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xfd,0x00,0x00]
-v_mac_f32_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xfc,0x00,0x00]
+v_mac_f32_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xff,0x00,0x00]
-v_mac_f32_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xfe,0x00,0x00]
+v_mac_f32_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x01,0x01,0x00]
-v_mac_f32_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x00,0x01,0x00]
+v_mac_f32_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x83,0x01,0x00]
-v_mac_f32_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x82,0x01,0x00]
+v_mac_f32_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xe1,0x01,0x00]
-v_mac_f32_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xe0,0x01,0x00]
+v_mac_f32_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0xef,0x01,0x00]
-v_mac_f32_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xee,0x01,0x00]
+v_mac_f32_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x20]
-v_mac_f32_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x02,0x00]
+v_mac_f32_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x40]
-v_mac_f32_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xfe,0x03,0x00]
+v_mac_f32_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x60]
-v_mac_f32_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x20]
+v_mac_f32_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x16,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x40]
+v_mac_f32_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x16,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x60]
+v_mac_f32_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x16,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x16,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f32_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x08]
-v_mac_f32_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x10]
-v_mac_f32_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x16,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f32_e64 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x18]
-v_mac_f32_e64 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x08]
+v_madmk_f32 v5, v1, 0x11213141, v3
+// CHECK: [0x01,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
-v_mac_f32_e64 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x10]
+v_madmk_f32 v255, v1, 0x11213141, v3
+// CHECK: [0x01,0x07,0xfe,0x2f,0x41,0x31,0x21,0x11]
-v_mac_f32_e64 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x18]
+v_madmk_f32 v5, v255, 0x11213141, v3
+// CHECK: [0xff,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
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]
@@ -28584,24 +29190,24 @@ v_madmk_f32 v5, 0.5, 0x11213141, v3
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, v1, 0xa1b1c1d1, v3
+// CHECK: [0x01,0x07,0x0a,0x2e,0xd1,0xc1,0xb1,0xa1]
-v_madmk_f32 v5, v255, 0x11213141, v3
-// CHECK: [0xff,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
+v_madmk_f32 v5, v1, 0x11213141, v255
+// CHECK: [0x01,0xff,0x0b,0x2e,0x41,0x31,0x21,0x11]
-v_madmk_f32 v5, 0, 0xa1b1c1d1, v3
-// CHECK: [0x80,0x06,0x0a,0x2e,0xd1,0xc1,0xb1,0xa1]
+v_madak_f32 v5, v1, v2, 0x11213141
+// CHECK: [0x01,0x05,0x0a,0x30,0x41,0x31,0x21,0x11]
-v_madmk_f32 v5, 0, 0x11213141, v255
-// CHECK: [0x80,0xfe,0x0b,0x2e,0x41,0x31,0x21,0x11]
+v_madak_f32 v255, v1, v2, 0x11213141
+// CHECK: [0x01,0x05,0xfe,0x31,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, 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]
@@ -28611,24 +29217,24 @@ v_madak_f32 v5, 0.5, v2, 0x11213141
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, v1, v255, 0x11213141
+// CHECK: [0x01,0xff,0x0b,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, v1, v2, 0xa1b1c1d1
+// CHECK: [0x01,0x05,0x0a,0x30,0xd1,0xc1,0xb1,0xa1]
+
+v_add_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x3e]
-v_madak_f32 v5, 0, v255, 0x11213141
-// CHECK: [0x80,0xfe,0x0b,0x30,0x41,0x31,0x21,0x11]
+v_add_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x3f]
-v_madak_f32 v5, 0, v2, 0xa1b1c1d1
-// CHECK: [0x80,0x04,0x0a,0x30,0xd1,0xc1,0xb1,0xa1]
+v_add_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x3e]
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]
@@ -28671,105 +29277,132 @@ v_add_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x3e]
-v_add_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x3e]
+v_add_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xff,0x05,0x02,0x00]
+
+v_add_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x04,0x02,0x00]
-v_add_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x3e]
+v_add_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x65,0x04,0x02,0x00]
-v_add_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_add_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x66,0x04,0x02,0x00]
-v_add_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_add_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x67,0x04,0x02,0x00]
-v_add_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0xc1,0x04,0x00,0x00]
+v_add_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x6a,0x04,0x02,0x00]
-v_add_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0xf0,0x04,0x00,0x00]
+v_add_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x6b,0x04,0x02,0x00]
-v_add_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0xf7,0x04,0x00,0x00]
+v_add_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x7c,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x7e,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x7f,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xc1,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xf0,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xf7,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xcb,0x00,0x00]
-v_add_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xca,0x00,0x00]
+v_add_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xd5,0x00,0x00]
-v_add_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xd4,0x00,0x00]
+v_add_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xd7,0x00,0x00]
-v_add_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xd6,0x00,0x00]
+v_add_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xf9,0x00,0x00]
-v_add_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xf8,0x00,0x00]
+v_add_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xfd,0x00,0x00]
-v_add_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xfc,0x00,0x00]
+v_add_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xff,0x00,0x00]
-v_add_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xfe,0x00,0x00]
+v_add_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x01,0x01,0x00]
-v_add_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x00,0x01,0x00]
+v_add_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x83,0x01,0x00]
-v_add_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x82,0x01,0x00]
+v_add_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xe1,0x01,0x00]
-v_add_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xe0,0x01,0x00]
+v_add_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0xef,0x01,0x00]
-v_add_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xee,0x01,0x00]
+v_add_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x20]
-v_add_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x02,0x00]
+v_add_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x40]
-v_add_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xfe,0x03,0x00]
+v_add_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x60]
-v_add_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x20]
+v_add_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x1f,0xd1,0x01,0x05,0x02,0x00]
-v_add_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x40]
+v_add_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x1f,0xd1,0x01,0x05,0x02,0x00]
-v_add_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x60]
+v_add_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x1f,0xd1,0x01,0x05,0x02,0x00]
-v_add_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_add_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x1f,0xd1,0x01,0x05,0x02,0x00]
-v_add_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x40]
-v_add_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x41]
-v_add_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x1f,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x40]
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]
@@ -28812,105 +29445,132 @@ v_sub_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x40]
-v_sub_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x40]
+v_sub_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0xff,0x05,0x02,0x00]
+
+v_sub_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x04,0x02,0x00]
-v_sub_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x40]
+v_sub_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x65,0x04,0x02,0x00]
-v_sub_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x66,0x04,0x02,0x00]
-v_sub_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x67,0x04,0x02,0x00]
-v_sub_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x20,0xd1,0xc1,0x04,0x00,0x00]
+v_sub_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x6a,0x04,0x02,0x00]
-v_sub_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x20,0xd1,0xf0,0x04,0x00,0x00]
+v_sub_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x6b,0x04,0x02,0x00]
-v_sub_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x20,0xd1,0xf7,0x04,0x00,0x00]
+v_sub_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x7c,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x7e,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x7f,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0xc1,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0xf0,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0xf7,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xcb,0x00,0x00]
-v_sub_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xca,0x00,0x00]
+v_sub_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xd5,0x00,0x00]
-v_sub_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xd4,0x00,0x00]
+v_sub_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xd7,0x00,0x00]
-v_sub_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xd6,0x00,0x00]
+v_sub_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xf9,0x00,0x00]
-v_sub_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xf8,0x00,0x00]
+v_sub_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xfd,0x00,0x00]
-v_sub_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xfc,0x00,0x00]
+v_sub_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xff,0x00,0x00]
-v_sub_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xfe,0x00,0x00]
+v_sub_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x01,0x01,0x00]
-v_sub_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x00,0x01,0x00]
+v_sub_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x83,0x01,0x00]
-v_sub_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x82,0x01,0x00]
+v_sub_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xe1,0x01,0x00]
-v_sub_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xe0,0x01,0x00]
+v_sub_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0xef,0x01,0x00]
-v_sub_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xee,0x01,0x00]
+v_sub_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x20]
-v_sub_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x02,0x00]
+v_sub_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x40]
-v_sub_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xfe,0x03,0x00]
+v_sub_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x60]
-v_sub_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x20]
+v_sub_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x40]
+v_sub_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x60]
+v_sub_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_sub_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x20,0xd1,0x01,0x05,0x02,0x00]
-v_sub_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x42]
-v_sub_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x43]
-v_sub_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x20,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x42]
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]
@@ -28953,105 +29613,132 @@ v_subrev_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x42]
-v_subrev_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x42]
+v_subrev_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x21,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0xff,0x05,0x02,0x00]
+
+v_subrev_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x04,0x02,0x00]
-v_subrev_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x42]
+v_subrev_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x65,0x04,0x02,0x00]
-v_subrev_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x66,0x04,0x02,0x00]
-v_subrev_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x67,0x04,0x02,0x00]
-v_subrev_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x21,0xd1,0xc1,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x6a,0x04,0x02,0x00]
-v_subrev_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x21,0xd1,0xf0,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x6b,0x04,0x02,0x00]
-v_subrev_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x21,0xd1,0xf7,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x7c,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x7e,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x7f,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0xc1,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0xf0,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0xf7,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xcb,0x00,0x00]
-v_subrev_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xca,0x00,0x00]
+v_subrev_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xd5,0x00,0x00]
-v_subrev_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xd4,0x00,0x00]
+v_subrev_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xd7,0x00,0x00]
-v_subrev_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xd6,0x00,0x00]
+v_subrev_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xf9,0x00,0x00]
-v_subrev_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xf8,0x00,0x00]
+v_subrev_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xfd,0x00,0x00]
-v_subrev_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xfc,0x00,0x00]
+v_subrev_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xff,0x00,0x00]
-v_subrev_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xfe,0x00,0x00]
+v_subrev_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x01,0x01,0x00]
-v_subrev_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x00,0x01,0x00]
+v_subrev_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x83,0x01,0x00]
-v_subrev_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x82,0x01,0x00]
+v_subrev_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xe1,0x01,0x00]
-v_subrev_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xe0,0x01,0x00]
+v_subrev_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0xef,0x01,0x00]
-v_subrev_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xee,0x01,0x00]
+v_subrev_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x20]
-v_subrev_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x02,0x00]
+v_subrev_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x40]
-v_subrev_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xfe,0x03,0x00]
+v_subrev_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x60]
-v_subrev_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x20]
+v_subrev_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x21,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x40]
+v_subrev_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x21,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x60]
+v_subrev_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x21,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x21,0xd1,0x01,0x05,0x02,0x00]
-v_subrev_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x44]
-v_subrev_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x45]
-v_subrev_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x21,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x44]
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]
@@ -29094,105 +29781,132 @@ v_mul_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x44]
-v_mul_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x44]
+v_mul_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x65,0x04,0x02,0x00]
-v_mul_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x44]
+v_mul_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x66,0x04,0x02,0x00]
-v_mul_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x67,0x04,0x02,0x00]
-v_mul_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x6a,0x04,0x02,0x00]
-v_mul_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x22,0xd1,0xc1,0x04,0x00,0x00]
+v_mul_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x6b,0x04,0x02,0x00]
-v_mul_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x22,0xd1,0xf0,0x04,0x00,0x00]
+v_mul_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x7c,0x04,0x02,0x00]
-v_mul_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x22,0xd1,0xf7,0x04,0x00,0x00]
+v_mul_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xcb,0x00,0x00]
-v_mul_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xca,0x00,0x00]
+v_mul_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xd5,0x00,0x00]
-v_mul_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xd4,0x00,0x00]
+v_mul_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xd7,0x00,0x00]
-v_mul_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xd6,0x00,0x00]
+v_mul_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xf9,0x00,0x00]
-v_mul_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xf8,0x00,0x00]
+v_mul_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xfd,0x00,0x00]
-v_mul_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xfc,0x00,0x00]
+v_mul_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xff,0x00,0x00]
-v_mul_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xfe,0x00,0x00]
+v_mul_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x01,0x01,0x00]
-v_mul_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x00,0x01,0x00]
+v_mul_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x83,0x01,0x00]
-v_mul_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x82,0x01,0x00]
+v_mul_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xe1,0x01,0x00]
-v_mul_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xe0,0x01,0x00]
+v_mul_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0xef,0x01,0x00]
-v_mul_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xee,0x01,0x00]
+v_mul_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x20]
-v_mul_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x02,0x00]
+v_mul_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x40]
-v_mul_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x60]
-v_mul_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x20]
+v_mul_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x40]
+v_mul_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x60]
+v_mul_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mul_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x22,0xd1,0x01,0x05,0x02,0x00]
-v_mul_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x46]
-v_mul_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x47]
-v_mul_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x22,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x46]
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]
@@ -29235,105 +29949,132 @@ v_mac_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x46]
-v_mac_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x46]
+v_mac_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x46]
+v_mac_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0xff,0x05,0x02,0x00]
-v_mac_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x04,0x02,0x00]
-v_mac_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x23,0xd1,0xc1,0x04,0x00,0x00]
+v_mac_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x65,0x04,0x02,0x00]
-v_mac_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x23,0xd1,0xf0,0x04,0x00,0x00]
+v_mac_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x66,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x67,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x7c,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x7e,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x7f,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x02,0x00]
-v_mac_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x23,0xd1,0xf7,0x04,0x00,0x00]
+v_mac_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0xc1,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0xf0,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0xf7,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xcb,0x00,0x00]
-v_mac_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xca,0x00,0x00]
+v_mac_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xd5,0x00,0x00]
-v_mac_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xd4,0x00,0x00]
+v_mac_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xd7,0x00,0x00]
-v_mac_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xd6,0x00,0x00]
+v_mac_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xf9,0x00,0x00]
-v_mac_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xf8,0x00,0x00]
+v_mac_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xfd,0x00,0x00]
-v_mac_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xfc,0x00,0x00]
+v_mac_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xff,0x00,0x00]
-v_mac_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xfe,0x00,0x00]
+v_mac_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x01,0x01,0x00]
-v_mac_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x00,0x01,0x00]
+v_mac_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x83,0x01,0x00]
-v_mac_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x82,0x01,0x00]
+v_mac_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xe1,0x01,0x00]
-v_mac_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xe0,0x01,0x00]
+v_mac_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0xef,0x01,0x00]
-v_mac_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xee,0x01,0x00]
+v_mac_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x20]
-v_mac_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x02,0x00]
+v_mac_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x40]
-v_mac_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xfe,0x03,0x00]
+v_mac_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x60]
-v_mac_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x20]
+v_mac_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x40]
+v_mac_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x60]
+v_mac_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_mac_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x23,0xd1,0x01,0x05,0x02,0x00]
-v_mac_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_madmk_f16 v5, v1, 0x1121, v3
+// CHECK: [0x01,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
-v_mac_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_madmk_f16 v255, v1, 0x1121, v3
+// CHECK: [0x01,0x07,0xfe,0x49,0x21,0x11,0x00,0x00]
-v_mac_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x23,0xd1,0x80,0x04,0x00,0x00]
+v_madmk_f16 v5, v255, 0x1121, v3
+// CHECK: [0xff,0x07,0x0a,0x48,0x21,0x11,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]
@@ -29343,24 +30084,24 @@ v_madmk_f16 v5, 0.5, 0x1121, v3
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, v1, 0xa1b1, v3
+// CHECK: [0x01,0x07,0x0a,0x48,0xb1,0xa1,0x00,0x00]
-v_madmk_f16 v5, v255, 0x1121, v3
-// CHECK: [0xff,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
+v_madmk_f16 v5, v1, 0x1121, v255
+// CHECK: [0x01,0xff,0x0b,0x48,0x21,0x11,0x00,0x00]
-v_madmk_f16 v5, 0, 0xa1b1, v3
-// CHECK: [0x80,0x06,0x0a,0x48,0xb1,0xa1,0x00,0x00]
+v_madak_f16 v5, v1, v2, 0x1121
+// CHECK: [0x01,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00]
-v_madmk_f16 v5, 0, 0x1121, v255
-// CHECK: [0x80,0xfe,0x0b,0x48,0x21,0x11,0x00,0x00]
+v_madak_f16 v255, v1, v2, 0x1121
+// CHECK: [0x01,0x05,0xfe,0x4b,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, 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]
@@ -29370,24 +30111,24 @@ v_madak_f16 v5, 0.5, v2, 0x1121
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, v1, v255, 0x1121
+// CHECK: [0x01,0xff,0x0b,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, v1, v2, 0xa1b1
+// CHECK: [0x01,0x05,0x0a,0x4a,0xb1,0xa1,0x00,0x00]
-v_madak_f16 v5, 0, v255, 0x1121
-// CHECK: [0x80,0xfe,0x0b,0x4a,0x21,0x11,0x00,0x00]
+v_add_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x4c]
-v_madak_f16 v5, 0, v2, 0xa1b1
-// CHECK: [0x80,0x04,0x0a,0x4a,0xb1,0xa1,0x00,0x00]
+v_add_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x4d]
+
+v_add_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x4c]
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]
@@ -29430,84 +30171,111 @@ v_add_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x4c]
-v_add_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x4c]
+v_add_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+
+v_add_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0xff,0x05,0x02,0x00]
+
+v_add_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0x04,0x02,0x00]
-v_add_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x4c]
+v_add_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x65,0x04,0x02,0x00]
-v_add_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_add_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x66,0x04,0x02,0x00]
-v_add_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+v_add_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x67,0x04,0x02,0x00]
-v_add_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x26,0xd1,0xc1,0x04,0x00,0x00]
+v_add_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x6a,0x04,0x02,0x00]
-v_add_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x26,0xd1,0xf0,0x04,0x00,0x00]
+v_add_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x6b,0x04,0x02,0x00]
-v_add_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x26,0xd1,0xf7,0x04,0x00,0x00]
+v_add_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x7c,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x7e,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x7f,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0xc1,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0xf0,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0xf7,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xcb,0x00,0x00]
-v_add_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xca,0x00,0x00]
+v_add_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xd5,0x00,0x00]
-v_add_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xd4,0x00,0x00]
+v_add_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xd7,0x00,0x00]
-v_add_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xd6,0x00,0x00]
+v_add_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xf9,0x00,0x00]
-v_add_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xf8,0x00,0x00]
+v_add_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xfd,0x00,0x00]
-v_add_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xfc,0x00,0x00]
+v_add_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xff,0x00,0x00]
-v_add_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xfe,0x00,0x00]
+v_add_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0x01,0x01,0x00]
-v_add_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x00,0x01,0x00]
+v_add_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0x83,0x01,0x00]
-v_add_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x82,0x01,0x00]
+v_add_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xe1,0x01,0x00]
-v_add_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xe0,0x01,0x00]
+v_add_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0xef,0x01,0x00]
-v_add_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xee,0x01,0x00]
+v_sub_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x4e]
-v_add_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x04,0x02,0x00]
+v_sub_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x4f]
-v_add_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xfe,0x03,0x00]
+v_sub_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x4e]
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]
@@ -29550,84 +30318,111 @@ v_sub_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x4e]
-v_sub_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x4e]
+v_sub_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x27,0xd1,0x01,0x05,0x02,0x00]
+
+v_sub_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0xff,0x05,0x02,0x00]
+
+v_sub_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x65,0x04,0x02,0x00]
-v_sub_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x4e]
+v_sub_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x66,0x04,0x02,0x00]
-v_sub_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x67,0x04,0x02,0x00]
-v_sub_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x27,0xd1,0x80,0x04,0x00,0x00]
+v_sub_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x6a,0x04,0x02,0x00]
-v_sub_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x27,0xd1,0xc1,0x04,0x00,0x00]
+v_sub_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x6b,0x04,0x02,0x00]
-v_sub_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x27,0xd1,0xf0,0x04,0x00,0x00]
+v_sub_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x7c,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x7e,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x7f,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x04,0x02,0x00]
-v_sub_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x27,0xd1,0xf7,0x04,0x00,0x00]
+v_sub_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0xc1,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0xf0,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0xf7,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xcb,0x00,0x00]
-v_sub_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xca,0x00,0x00]
+v_sub_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xd5,0x00,0x00]
-v_sub_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xd4,0x00,0x00]
+v_sub_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xd7,0x00,0x00]
-v_sub_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xd6,0x00,0x00]
+v_sub_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xf9,0x00,0x00]
-v_sub_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xf8,0x00,0x00]
+v_sub_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xfd,0x00,0x00]
-v_sub_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xfc,0x00,0x00]
+v_sub_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xff,0x00,0x00]
-v_sub_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xfe,0x00,0x00]
+v_sub_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0x01,0x01,0x00]
-v_sub_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x00,0x01,0x00]
+v_sub_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0x83,0x01,0x00]
-v_sub_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x82,0x01,0x00]
+v_sub_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xe1,0x01,0x00]
-v_sub_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xe0,0x01,0x00]
+v_sub_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0xef,0x01,0x00]
-v_sub_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xee,0x01,0x00]
+v_subrev_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x50]
-v_sub_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x04,0x02,0x00]
+v_subrev_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x51]
-v_sub_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xfe,0x03,0x00]
+v_subrev_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x50]
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]
@@ -29670,84 +30465,111 @@ v_subrev_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x50]
-v_subrev_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x50]
+v_subrev_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+
+v_subrev_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0xff,0x05,0x02,0x00]
+
+v_subrev_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x65,0x04,0x02,0x00]
-v_subrev_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x50]
+v_subrev_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x66,0x04,0x02,0x00]
-v_subrev_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x67,0x04,0x02,0x00]
-v_subrev_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x6a,0x04,0x02,0x00]
-v_subrev_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x28,0xd1,0xc1,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x6b,0x04,0x02,0x00]
-v_subrev_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x28,0xd1,0xf0,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x7c,0x04,0x02,0x00]
-v_subrev_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x28,0xd1,0xf7,0x04,0x00,0x00]
+v_subrev_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x7e,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x7f,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0xc1,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0xf0,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0xf7,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xcb,0x00,0x00]
-v_subrev_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xca,0x00,0x00]
+v_subrev_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xd5,0x00,0x00]
-v_subrev_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xd4,0x00,0x00]
+v_subrev_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xd7,0x00,0x00]
-v_subrev_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xd6,0x00,0x00]
+v_subrev_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xf9,0x00,0x00]
-v_subrev_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xf8,0x00,0x00]
+v_subrev_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xfd,0x00,0x00]
-v_subrev_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xfc,0x00,0x00]
+v_subrev_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xff,0x00,0x00]
-v_subrev_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xfe,0x00,0x00]
+v_subrev_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0x01,0x01,0x00]
-v_subrev_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x00,0x01,0x00]
+v_subrev_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0x83,0x01,0x00]
-v_subrev_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x82,0x01,0x00]
+v_subrev_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xe1,0x01,0x00]
-v_subrev_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xe0,0x01,0x00]
+v_subrev_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0xef,0x01,0x00]
-v_subrev_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xee,0x01,0x00]
+v_mul_lo_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x52]
-v_subrev_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x04,0x02,0x00]
+v_mul_lo_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x53]
-v_subrev_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xfe,0x03,0x00]
+v_mul_lo_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x52]
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]
@@ -29790,84 +30612,111 @@ v_mul_lo_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x52]
-v_mul_lo_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x52]
+v_mul_lo_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_lo_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x29,0xd1,0x01,0x05,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0xff,0x05,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x65,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x66,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x67,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x6a,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x6b,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x7c,0x04,0x02,0x00]
-v_mul_lo_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x52]
+v_mul_lo_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x7e,0x04,0x02,0x00]
-v_mul_lo_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x04,0x00,0x00]
+v_mul_lo_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x7f,0x04,0x02,0x00]
-v_mul_lo_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x29,0xd1,0x80,0x04,0x00,0x00]
+v_mul_lo_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0xc1,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0xf0,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0xf7,0x04,0x02,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, v255
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0x01,0x01,0x00]
-v_mul_lo_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x00,0x01,0x00]
+v_mul_lo_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0xef,0x01,0x00]
-v_mul_lo_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xee,0x01,0x00]
+v_lshlrev_b16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x54]
-v_mul_lo_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x04,0x02,0x00]
+v_lshlrev_b16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x55]
-v_mul_lo_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xfe,0x03,0x00]
+v_lshlrev_b16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x54]
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]
@@ -29910,84 +30759,111 @@ v_lshlrev_b16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x54]
-v_lshlrev_b16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x54]
+v_lshlrev_b16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xff,0x05,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x65,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x66,0x04,0x02,0x00]
-v_lshlrev_b16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x54]
+v_lshlrev_b16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x67,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x6a,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x6b,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2a,0xd1,0xc1,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x7c,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2a,0xd1,0xf0,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x7e,0x04,0x02,0x00]
-v_lshlrev_b16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2a,0xd1,0xf7,0x04,0x00,0x00]
+v_lshlrev_b16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x7f,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xc1,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xf0,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xf7,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xcb,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xca,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xd5,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xd4,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xd7,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xd6,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xf9,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xf8,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xfd,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xfc,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xff,0x00,0x00]
-v_lshlrev_b16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xfe,0x00,0x00]
+v_lshlrev_b16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0x01,0x01,0x00]
-v_lshlrev_b16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x00,0x01,0x00]
+v_lshlrev_b16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0x83,0x01,0x00]
-v_lshlrev_b16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x82,0x01,0x00]
+v_lshlrev_b16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xe1,0x01,0x00]
-v_lshlrev_b16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xe0,0x01,0x00]
+v_lshlrev_b16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0xef,0x01,0x00]
-v_lshlrev_b16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xee,0x01,0x00]
+v_lshrrev_b16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x56]
-v_lshlrev_b16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x02,0x00]
+v_lshrrev_b16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x57]
-v_lshlrev_b16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xfe,0x03,0x00]
+v_lshrrev_b16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x56]
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]
@@ -30030,84 +30906,111 @@ v_lshrrev_b16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x56]
-v_lshrrev_b16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x56]
+v_lshrrev_b16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00]
+
+v_lshrrev_b16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00]
-v_lshrrev_b16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x56]
+v_lshrrev_b16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xff,0x05,0x02,0x00]
-v_lshrrev_b16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0x04,0x02,0x00]
-v_lshrrev_b16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x65,0x04,0x02,0x00]
-v_lshrrev_b16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2b,0xd1,0xc1,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x66,0x04,0x02,0x00]
-v_lshrrev_b16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2b,0xd1,0xf0,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x67,0x04,0x02,0x00]
-v_lshrrev_b16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2b,0xd1,0xf7,0x04,0x00,0x00]
+v_lshrrev_b16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x6a,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x6b,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x7c,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x7e,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x7f,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xc1,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xf0,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xf7,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xcb,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xca,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xd5,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xd4,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xd7,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xd6,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xf9,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xf8,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xfd,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xfc,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xff,0x00,0x00]
-v_lshrrev_b16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xfe,0x00,0x00]
+v_lshrrev_b16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0x01,0x01,0x00]
-v_lshrrev_b16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x00,0x01,0x00]
+v_lshrrev_b16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0x83,0x01,0x00]
-v_lshrrev_b16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x82,0x01,0x00]
+v_lshrrev_b16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xe1,0x01,0x00]
-v_lshrrev_b16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xe0,0x01,0x00]
+v_lshrrev_b16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0xef,0x01,0x00]
-v_lshrrev_b16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xee,0x01,0x00]
+v_ashrrev_i16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x58]
-v_lshrrev_b16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x02,0x00]
+v_ashrrev_i16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x59]
-v_lshrrev_b16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xfe,0x03,0x00]
+v_ashrrev_i16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x58]
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]
@@ -30150,84 +31053,111 @@ v_ashrrev_i16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x58]
-v_ashrrev_i16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x58]
+v_ashrrev_i16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
-v_ashrrev_i16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x58]
+v_ashrrev_i16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xff,0x05,0x02,0x00]
-v_ashrrev_i16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0x04,0x02,0x00]
-v_ashrrev_i16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x65,0x04,0x02,0x00]
-v_ashrrev_i16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2c,0xd1,0xc1,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x66,0x04,0x02,0x00]
-v_ashrrev_i16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2c,0xd1,0xf0,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x67,0x04,0x02,0x00]
-v_ashrrev_i16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2c,0xd1,0xf7,0x04,0x00,0x00]
+v_ashrrev_i16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x6a,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x6b,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x7c,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x7e,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x7f,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xc1,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xf0,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xf7,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xcb,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xca,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xd5,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xd4,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xd7,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xd6,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xf9,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xf8,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xfd,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xfc,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xff,0x00,0x00]
-v_ashrrev_i16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xfe,0x00,0x00]
+v_ashrrev_i16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0x01,0x01,0x00]
-v_ashrrev_i16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x00,0x01,0x00]
+v_ashrrev_i16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0x83,0x01,0x00]
-v_ashrrev_i16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x82,0x01,0x00]
+v_ashrrev_i16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xe1,0x01,0x00]
-v_ashrrev_i16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xe0,0x01,0x00]
+v_ashrrev_i16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0xef,0x01,0x00]
-v_ashrrev_i16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xee,0x01,0x00]
+v_max_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5a]
-v_ashrrev_i16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x02,0x00]
+v_max_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x5b]
-v_ashrrev_i16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xfe,0x03,0x00]
+v_max_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5a]
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]
@@ -30270,105 +31200,132 @@ v_max_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x5a]
-v_max_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x5a]
+v_max_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xff,0x05,0x02,0x00]
-v_max_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x5a]
+v_max_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x04,0x02,0x00]
-v_max_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_max_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x65,0x04,0x02,0x00]
-v_max_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_max_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x66,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x67,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x6a,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x6b,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x7c,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x02,0x00]
-v_max_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0xc1,0x04,0x00,0x00]
+v_max_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xc1,0x04,0x02,0x00]
-v_max_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0xf0,0x04,0x00,0x00]
+v_max_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xf0,0x04,0x02,0x00]
-v_max_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0xf7,0x04,0x00,0x00]
+v_max_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xcb,0x00,0x00]
-v_max_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xca,0x00,0x00]
+v_max_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xd5,0x00,0x00]
-v_max_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xd4,0x00,0x00]
+v_max_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xd7,0x00,0x00]
-v_max_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xd6,0x00,0x00]
+v_max_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xf9,0x00,0x00]
-v_max_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xf8,0x00,0x00]
+v_max_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xfd,0x00,0x00]
-v_max_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xfc,0x00,0x00]
+v_max_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xff,0x00,0x00]
-v_max_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xfe,0x00,0x00]
+v_max_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x01,0x01,0x00]
-v_max_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x00,0x01,0x00]
+v_max_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x83,0x01,0x00]
-v_max_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x82,0x01,0x00]
+v_max_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xe1,0x01,0x00]
-v_max_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xe0,0x01,0x00]
+v_max_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0xef,0x01,0x00]
-v_max_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xee,0x01,0x00]
+v_max_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x20]
-v_max_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x02,0x00]
+v_max_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x40]
-v_max_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xfe,0x03,0x00]
+v_max_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x60]
-v_max_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x20]
+v_max_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x2d,0xd1,0x01,0x05,0x02,0x00]
-v_max_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x40]
+v_max_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x2d,0xd1,0x01,0x05,0x02,0x00]
-v_max_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x60]
+v_max_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x2d,0xd1,0x01,0x05,0x02,0x00]
-v_max_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_max_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x2d,0xd1,0x01,0x05,0x02,0x00]
-v_max_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5c]
-v_max_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x5d]
-v_max_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x2d,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5c]
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]
@@ -30411,105 +31368,132 @@ v_min_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x5c]
-v_min_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x5c]
+v_min_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x04,0x02,0x00]
-v_min_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x5c]
+v_min_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x65,0x04,0x02,0x00]
-v_min_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x66,0x04,0x02,0x00]
-v_min_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x67,0x04,0x02,0x00]
-v_min_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0xc1,0x04,0x00,0x00]
+v_min_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x6a,0x04,0x02,0x00]
-v_min_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0xf0,0x04,0x00,0x00]
+v_min_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x6b,0x04,0x02,0x00]
-v_min_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0xf7,0x04,0x00,0x00]
+v_min_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x7c,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x7e,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x7f,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xcb,0x00,0x00]
-v_min_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xca,0x00,0x00]
+v_min_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xd5,0x00,0x00]
-v_min_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xd4,0x00,0x00]
+v_min_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xd7,0x00,0x00]
-v_min_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xd6,0x00,0x00]
+v_min_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xf9,0x00,0x00]
-v_min_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xf8,0x00,0x00]
+v_min_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xfd,0x00,0x00]
-v_min_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xfc,0x00,0x00]
+v_min_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xff,0x00,0x00]
-v_min_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xfe,0x00,0x00]
+v_min_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x01,0x01,0x00]
-v_min_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x00,0x01,0x00]
+v_min_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x83,0x01,0x00]
-v_min_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x82,0x01,0x00]
+v_min_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xe1,0x01,0x00]
-v_min_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xe0,0x01,0x00]
+v_min_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0xef,0x01,0x00]
-v_min_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xee,0x01,0x00]
+v_min_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x20]
-v_min_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x02,0x00]
+v_min_f16_e64 v5, v1, -v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x40]
-v_min_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xfe,0x03,0x00]
+v_min_f16_e64 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x60]
-v_min_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x20]
+v_min_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_min_f16_e64 v5, 0, -s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x40]
+v_min_f16_e64 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_min_f16_e64 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x60]
+v_min_f16_e64 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_min_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_min_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x2e,0xd1,0x01,0x05,0x02,0x00]
-v_min_f16_e64 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5e]
-v_min_f16_e64 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x5f]
-v_min_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x2e,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5e]
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]
@@ -30552,84 +31536,111 @@ v_max_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x5e]
-v_max_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x5e]
+v_max_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xff,0x05,0x02,0x00]
-v_max_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x5e]
+v_max_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0x04,0x02,0x00]
-v_max_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x65,0x04,0x02,0x00]
-v_max_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00]
+v_max_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x66,0x04,0x02,0x00]
-v_max_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x2f,0xd1,0xc1,0x04,0x00,0x00]
+v_max_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x67,0x04,0x02,0x00]
-v_max_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x2f,0xd1,0xf0,0x04,0x00,0x00]
+v_max_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x6a,0x04,0x02,0x00]
-v_max_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x2f,0xd1,0xf7,0x04,0x00,0x00]
+v_max_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x6b,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x7c,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xcb,0x00,0x00]
-v_max_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xca,0x00,0x00]
+v_max_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xd5,0x00,0x00]
-v_max_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xd4,0x00,0x00]
+v_max_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xd7,0x00,0x00]
-v_max_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xd6,0x00,0x00]
+v_max_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xf9,0x00,0x00]
-v_max_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xf8,0x00,0x00]
+v_max_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xfd,0x00,0x00]
-v_max_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xfc,0x00,0x00]
+v_max_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xff,0x00,0x00]
-v_max_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xfe,0x00,0x00]
+v_max_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0x01,0x01,0x00]
-v_max_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x00,0x01,0x00]
+v_max_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0x83,0x01,0x00]
-v_max_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x82,0x01,0x00]
+v_max_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xe1,0x01,0x00]
-v_max_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xe0,0x01,0x00]
+v_max_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0xef,0x01,0x00]
-v_max_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xee,0x01,0x00]
+v_max_i16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x60]
-v_max_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x02,0x00]
+v_max_i16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x61]
-v_max_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xfe,0x03,0x00]
+v_max_i16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x60]
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]
@@ -30672,84 +31683,111 @@ v_max_i16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x60]
-v_max_i16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x60]
+v_max_i16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_i16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+
+v_max_i16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0xff,0x05,0x02,0x00]
+
+v_max_i16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0x04,0x02,0x00]
-v_max_i16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x60]
+v_max_i16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x65,0x04,0x02,0x00]
-v_max_i16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x04,0x00,0x00]
+v_max_i16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x66,0x04,0x02,0x00]
-v_max_i16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x30,0xd1,0x80,0x04,0x00,0x00]
+v_max_i16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x67,0x04,0x02,0x00]
-v_max_i16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x30,0xd1,0xc1,0x04,0x00,0x00]
+v_max_i16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x6a,0x04,0x02,0x00]
-v_max_i16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x30,0xd1,0xf0,0x04,0x00,0x00]
+v_max_i16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x6b,0x04,0x02,0x00]
-v_max_i16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x30,0xd1,0xf7,0x04,0x00,0x00]
+v_max_i16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x7c,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x7e,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x7f,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0xc1,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0xf0,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0xf7,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xcb,0x00,0x00]
-v_max_i16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xca,0x00,0x00]
+v_max_i16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xd5,0x00,0x00]
-v_max_i16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xd4,0x00,0x00]
+v_max_i16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xd7,0x00,0x00]
-v_max_i16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xd6,0x00,0x00]
+v_max_i16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xf9,0x00,0x00]
-v_max_i16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xf8,0x00,0x00]
+v_max_i16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xfd,0x00,0x00]
-v_max_i16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xfc,0x00,0x00]
+v_max_i16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xff,0x00,0x00]
-v_max_i16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xfe,0x00,0x00]
+v_max_i16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0x01,0x01,0x00]
-v_max_i16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x00,0x01,0x00]
+v_max_i16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0x83,0x01,0x00]
-v_max_i16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x82,0x01,0x00]
+v_max_i16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xe1,0x01,0x00]
-v_max_i16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xe0,0x01,0x00]
+v_max_i16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0xef,0x01,0x00]
-v_max_i16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xee,0x01,0x00]
+v_min_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x62]
-v_max_i16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x04,0x02,0x00]
+v_min_u16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x63]
-v_max_i16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xfe,0x03,0x00]
+v_min_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x62]
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]
@@ -30792,84 +31830,111 @@ v_min_u16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x62]
-v_min_u16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x62]
+v_min_u16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_u16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x31,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_u16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_u16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x65,0x04,0x02,0x00]
-v_min_u16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x62]
+v_min_u16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x66,0x04,0x02,0x00]
-v_min_u16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x04,0x00,0x00]
+v_min_u16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x67,0x04,0x02,0x00]
-v_min_u16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x31,0xd1,0x80,0x04,0x00,0x00]
+v_min_u16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x6a,0x04,0x02,0x00]
-v_min_u16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x31,0xd1,0xc1,0x04,0x00,0x00]
+v_min_u16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x6b,0x04,0x02,0x00]
-v_min_u16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x31,0xd1,0xf0,0x04,0x00,0x00]
+v_min_u16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x7c,0x04,0x02,0x00]
-v_min_u16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x31,0xd1,0xf7,0x04,0x00,0x00]
+v_min_u16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x7e,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x7f,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0xc1,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0xf0,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xcb,0x00,0x00]
-v_min_u16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xca,0x00,0x00]
+v_min_u16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xd5,0x00,0x00]
-v_min_u16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xd4,0x00,0x00]
+v_min_u16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xd7,0x00,0x00]
-v_min_u16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xd6,0x00,0x00]
+v_min_u16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xf9,0x00,0x00]
-v_min_u16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xf8,0x00,0x00]
+v_min_u16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xfd,0x00,0x00]
-v_min_u16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xfc,0x00,0x00]
+v_min_u16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xff,0x00,0x00]
-v_min_u16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xfe,0x00,0x00]
+v_min_u16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0x01,0x01,0x00]
-v_min_u16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x00,0x01,0x00]
+v_min_u16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0x83,0x01,0x00]
-v_min_u16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x82,0x01,0x00]
+v_min_u16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xe1,0x01,0x00]
-v_min_u16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xe0,0x01,0x00]
+v_min_u16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0xef,0x01,0x00]
-v_min_u16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xee,0x01,0x00]
+v_min_i16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x64]
-v_min_u16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x04,0x02,0x00]
+v_min_i16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x65]
-v_min_u16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xfe,0x03,0x00]
+v_min_i16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x64]
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]
@@ -30912,84 +31977,111 @@ v_min_i16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x64]
-v_min_i16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x64]
+v_min_i16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_i16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x32,0xd1,0x01,0x05,0x02,0x00]
+
+v_min_i16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0xff,0x05,0x02,0x00]
+
+v_min_i16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x65,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x66,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x67,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x6a,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x6b,0x04,0x02,0x00]
-v_min_i16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x64]
+v_min_i16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x7c,0x04,0x02,0x00]
-v_min_i16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x04,0x00,0x00]
+v_min_i16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x7e,0x04,0x02,0x00]
-v_min_i16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x32,0xd1,0x80,0x04,0x00,0x00]
+v_min_i16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x7f,0x04,0x02,0x00]
-v_min_i16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x32,0xd1,0xc1,0x04,0x00,0x00]
+v_min_i16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0xc1,0x04,0x02,0x00]
-v_min_i16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x32,0xd1,0xf0,0x04,0x00,0x00]
+v_min_i16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0xf0,0x04,0x02,0x00]
-v_min_i16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x32,0xd1,0xf7,0x04,0x00,0x00]
+v_min_i16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0xf7,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xcb,0x00,0x00]
-v_min_i16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xca,0x00,0x00]
+v_min_i16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xd5,0x00,0x00]
-v_min_i16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xd4,0x00,0x00]
+v_min_i16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xd7,0x00,0x00]
-v_min_i16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xd6,0x00,0x00]
+v_min_i16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xf9,0x00,0x00]
-v_min_i16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xf8,0x00,0x00]
+v_min_i16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xfd,0x00,0x00]
-v_min_i16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xfc,0x00,0x00]
+v_min_i16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xff,0x00,0x00]
-v_min_i16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xfe,0x00,0x00]
+v_min_i16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0x01,0x01,0x00]
-v_min_i16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x00,0x01,0x00]
+v_min_i16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0x83,0x01,0x00]
-v_min_i16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x82,0x01,0x00]
+v_min_i16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xe1,0x01,0x00]
-v_min_i16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xe0,0x01,0x00]
+v_min_i16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0xef,0x01,0x00]
-v_min_i16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xee,0x01,0x00]
+v_ldexp_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x66]
-v_min_i16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x04,0x02,0x00]
+v_ldexp_f16 v255, v1, v2
+// CHECK: [0x01,0x05,0xfe,0x67]
-v_min_i16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xfe,0x03,0x00]
+v_ldexp_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x66]
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]
@@ -31032,5012 +32124,8789 @@ v_ldexp_f16 v5, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x0b,0x66]
-v_ldexp_f16 v5, v255, v2
-// CHECK: [0xff,0x05,0x0a,0x66]
+v_ldexp_f16_e64 v5, v1, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x00]
+
+v_ldexp_f16_e64 v255, v1, v2
+// CHECK: [0xff,0x00,0x33,0xd1,0x01,0x05,0x02,0x00]
+
+v_ldexp_f16_e64 v5, v255, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0xff,0x05,0x02,0x00]
+
+v_ldexp_f16_e64 v5, s1, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, s101, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x65,0x04,0x02,0x00]
-v_ldexp_f16 v5, s1, v255
-// CHECK: [0x01,0xfe,0x0b,0x66]
+v_ldexp_f16_e64 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x66,0x04,0x02,0x00]
-v_ldexp_f16_e64 v5, 0, s2
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x67,0x04,0x02,0x00]
-v_ldexp_f16_e64 v255, 0, s2
-// CHECK: [0xff,0x00,0x33,0xd1,0x80,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x6a,0x04,0x02,0x00]
-v_ldexp_f16_e64 v5, -1, s2
-// CHECK: [0x05,0x00,0x33,0xd1,0xc1,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x6b,0x04,0x02,0x00]
-v_ldexp_f16_e64 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x33,0xd1,0xf0,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, m0, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x7c,0x04,0x02,0x00]
-v_ldexp_f16_e64 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x33,0xd1,0xf7,0x04,0x00,0x00]
+v_ldexp_f16_e64 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x7e,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x7f,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, -1, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0xc1,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0xf0,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0xf7,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, v1, v255
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xcb,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, s101
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xca,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xd5,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xd4,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xd7,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xd6,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, m0
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xf9,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, m0
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xf8,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xfd,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xfc,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xff,0x00,0x00]
-v_ldexp_f16_e64 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xfe,0x00,0x00]
+v_ldexp_f16_e64 v5, v1, 0
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x01,0x01,0x00]
-v_ldexp_f16_e64 v5, 0, 0
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x00,0x01,0x00]
+v_ldexp_f16_e64 v5, v1, -1
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x83,0x01,0x00]
-v_ldexp_f16_e64 v5, 0, -1
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x82,0x01,0x00]
+v_ldexp_f16_e64 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xe1,0x01,0x00]
-v_ldexp_f16_e64 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xe0,0x01,0x00]
+v_ldexp_f16_e64 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0xef,0x01,0x00]
-v_ldexp_f16_e64 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xee,0x01,0x00]
+v_ldexp_f16_e64 v5, -v1, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x20]
-v_ldexp_f16_e64 v5, 0, v2
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x02,0x00]
+v_ldexp_f16_e64 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x33,0xd1,0x01,0x05,0x02,0x00]
-v_ldexp_f16_e64 v5, 0, v255
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xfe,0x03,0x00]
+v_ldexp_f16_e64 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x33,0xd1,0x01,0x05,0x02,0x00]
-v_ldexp_f16_e64 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x20]
+v_mad_legacy_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_ldexp_f16_e64 v5, |0|, s2
-// CHECK: [0x05,0x01,0x33,0xd1,0x80,0x04,0x00,0x00]
+v_mad_legacy_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_ldexp_f16_e64 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x33,0xd1,0x80,0x04,0x00,0x00]
+v_mad_legacy_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_legacy_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_legacy_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x65,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x66,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x67,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6a,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6b,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7c,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7e,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7f,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x80,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x80,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0xc1,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0xf0,0x04,0x0e,0x04]
-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, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0xf7,0x04,0x0e,0x04]
-v_mad_legacy_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xff,0x0f,0x04]
-v_mad_legacy_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0c,0x04]
-v_mad_legacy_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0xff,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xcb,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x82,0x01,0x02]
+v_mad_legacy_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xcd,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_legacy_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xcf,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xee,0x01,0x02]
+v_mad_legacy_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xd5,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x04,0x02,0x02]
+v_mad_legacy_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xd7,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_legacy_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xf9,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x05,0x03]
+v_mad_legacy_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xfd,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_legacy_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xff,0x0c,0x04]
-v_mad_legacy_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_legacy_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x01,0x0d,0x04]
-v_mad_legacy_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_legacy_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x83,0x0d,0x04]
-v_mad_legacy_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_legacy_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xe1,0x0d,0x04]
-v_mad_legacy_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x22]
+v_mad_legacy_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xef,0x0d,0x04]
-v_mad_legacy_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x42]
+v_mad_legacy_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x07]
-v_mad_legacy_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x82]
+v_mad_legacy_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x00]
-v_mad_legacy_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0xe2]
+v_mad_legacy_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x96,0x01]
-v_mad_legacy_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x9a,0x01]
-v_mad_legacy_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x9e,0x01]
-v_mad_legacy_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xaa,0x01]
-v_mad_legacy_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xae,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc0,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xf2,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x0a]
+v_mad_legacy_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfa,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x12]
+v_mad_legacy_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x01]
-v_mad_legacy_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x1a]
+v_mad_legacy_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x02,0x02]
-v_mad_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x06,0x03]
-v_mad_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xc2,0x03]
-v_mad_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x65,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xde,0x03]
-v_mad_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x66,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x24]
-v_mad_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x67,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x44]
-v_mad_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x84]
-v_mad_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0xe4]
-v_mad_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x80,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc0,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x0c]
-v_mad_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x14]
-v_mad_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x01,0x01,0x02]
+v_mad_legacy_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x1c]
-v_mad_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0xff,0x01,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x82,0x01,0x02]
+v_mad_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xee,0x01,0x02]
+v_mad_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x04,0x02,0x02]
+v_mad_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x65,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x66,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x05,0x03]
+v_mad_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x67,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6a,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6b,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7c,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7e,0x04,0x0e,0x04]
-v_mad_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x22]
+v_mad_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7f,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x42]
+v_mad_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x80,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x82]
+v_mad_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0xc1,0x04,0x0e,0x04]
-v_mad_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0xe2]
+v_mad_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0xf0,0x04,0x0e,0x04]
-v_mad_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0xf7,0x04,0x0e,0x04]
-v_mad_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xff,0x0f,0x04]
-v_mad_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0c,0x04]
-v_mad_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xcb,0x0c,0x04]
-v_mad_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc1,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xcd,0x0c,0x04]
-v_mad_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x0a]
+v_mad_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xcf,0x0c,0x04]
-v_mad_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x12]
+v_mad_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xd5,0x0c,0x04]
-v_mad_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x1a]
+v_mad_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xd7,0x0c,0x04]
-v_mad_i32_i24 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xf9,0x0c,0x04]
-v_mad_i32_i24 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xfd,0x0c,0x04]
-v_mad_i32_i24 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x65,0x00,0x01,0x02]
+v_mad_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xff,0x0c,0x04]
-v_mad_i32_i24 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x66,0x00,0x01,0x02]
+v_mad_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x01,0x0d,0x04]
-v_mad_i32_i24 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x67,0x00,0x01,0x02]
+v_mad_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x83,0x0d,0x04]
-v_mad_i32_i24 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xe1,0x0d,0x04]
-v_mad_i32_i24 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xef,0x0d,0x04]
-v_mad_i32_i24 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x07]
-v_mad_i32_i24 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x00]
-v_mad_i32_i24 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x96,0x01]
-v_mad_i32_i24 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x80,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x9a,0x01]
-v_mad_i32_i24 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x9e,0x01]
-v_mad_i32_i24 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xaa,0x01]
-v_mad_i32_i24 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xae,0x01]
-v_mad_i32_i24 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x01,0x01,0x02]
+v_mad_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xf2,0x01]
-v_mad_i32_i24 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0xff,0x01,0x01,0x02]
+v_mad_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfa,0x01]
-v_mad_i32_i24 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x82,0x01,0x02]
+v_mad_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x01]
-v_mad_i32_i24 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x02,0x02]
-v_mad_i32_i24 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xee,0x01,0x02]
+v_mad_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x06,0x03]
-v_mad_i32_i24 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x04,0x02,0x02]
+v_mad_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xc2,0x03]
-v_mad_i32_i24 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xde,0x03]
-v_mad_i32_i24 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x05,0x03]
+v_mad_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x24]
-v_mad_i32_i24 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x44]
-v_mad_i32_i24 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x84]
-v_mad_i32_i24 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0xe4]
-v_mad_i32_i24 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x65,0x00,0x01,0x02]
+v_mad_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x66,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc1,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x67,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x0c]
-v_mad_u32_u24 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x14]
-v_mad_u32_u24 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x1c]
-v_mad_u32_u24 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_i32_i24 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_u32_u24 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x80,0x00,0x01,0x02]
+v_mad_i32_i24 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_i32_i24 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x65,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_i32_i24 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x66,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_i32_i24 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x67,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x01,0x01,0x02]
+v_mad_i32_i24 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6a,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0xff,0x01,0x01,0x02]
+v_mad_i32_i24 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6b,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x82,0x01,0x02]
+v_mad_i32_i24 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7c,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_i32_i24 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7e,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xee,0x01,0x02]
+v_mad_i32_i24 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7f,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x04,0x02,0x02]
+v_mad_i32_i24 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x80,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_i32_i24 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0xc1,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x05,0x03]
+v_mad_i32_i24 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0xf0,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_i32_i24 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0xf7,0x04,0x0e,0x04]
-v_mad_u32_u24 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_i32_i24 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xff,0x0f,0x04]
-v_mad_u32_u24 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_i32_i24 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0c,0x04]
-v_mad_u32_u24 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_i32_i24 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xcb,0x0c,0x04]
-v_cubeid_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xcd,0x0c,0x04]
-v_cubeid_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xcf,0x0c,0x04]
-v_cubeid_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x65,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xd5,0x0c,0x04]
-v_cubeid_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x66,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xd7,0x0c,0x04]
-v_cubeid_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x67,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xf9,0x0c,0x04]
-v_cubeid_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xfd,0x0c,0x04]
-v_cubeid_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xff,0x0c,0x04]
-v_cubeid_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x01,0x0d,0x04]
-v_cubeid_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x83,0x0d,0x04]
-v_cubeid_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xe1,0x0d,0x04]
-v_cubeid_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x80,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xef,0x0d,0x04]
-v_cubeid_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x07]
-v_cubeid_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x00]
-v_cubeid_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x96,0x01]
-v_cubeid_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x01,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x9a,0x01]
-v_cubeid_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0xff,0x01,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x9e,0x01]
-v_cubeid_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x82,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xaa,0x01]
-v_cubeid_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xae,0x01]
-v_cubeid_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xee,0x01,0x02]
+v_mad_i32_i24 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xf2,0x01]
-v_cubeid_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x04,0x02,0x02]
+v_mad_i32_i24 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfa,0x01]
-v_cubeid_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_i32_i24 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x01]
-v_cubeid_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x05,0x03]
+v_mad_i32_i24 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x02,0x02]
-v_cubeid_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_i32_i24 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x06,0x03]
-v_cubeid_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_i32_i24 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xc2,0x03]
-v_cubeid_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_i32_i24 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xde,0x03]
-v_cubeid_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_u32_u24 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04]
-v_cubeid_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x22]
+v_mad_u32_u24 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04]
-v_cubeid_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x42]
+v_mad_u32_u24 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0xff,0x05,0x0e,0x04]
-v_cubeid_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x82]
+v_mad_u32_u24 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x04,0x0e,0x04]
-v_cubeid_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0xe2]
+v_mad_u32_u24 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x65,0x04,0x0e,0x04]
-v_cubeid_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x66,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x67,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6a,0x04,0x0e,0x04]
-v_cubeid_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6b,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc4,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7c,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x0a]
+v_mad_u32_u24 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7e,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x12]
+v_mad_u32_u24 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7f,0x04,0x0e,0x04]
-v_cubeid_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x1a]
+v_mad_u32_u24 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x80,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0xc1,0x04,0x0e,0x04]
-v_cubesc_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0xf0,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x65,0x00,0x01,0x02]
+v_mad_u32_u24 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0xf7,0x04,0x0e,0x04]
-v_cubesc_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x66,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xff,0x0f,0x04]
-v_cubesc_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x67,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0c,0x04]
-v_cubesc_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x6a,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xcb,0x0c,0x04]
-v_cubesc_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x6b,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xcd,0x0c,0x04]
-v_cubesc_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x7c,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xcf,0x0c,0x04]
-v_cubesc_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x7e,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xd5,0x0c,0x04]
-v_cubesc_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x7f,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xd7,0x0c,0x04]
-v_cubesc_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x80,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xf9,0x0c,0x04]
-v_cubesc_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0xc1,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xfd,0x0c,0x04]
-v_cubesc_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0xf0,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xff,0x0c,0x04]
-v_cubesc_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0xf7,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x01,0x0d,0x04]
-v_cubesc_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x01,0x01,0x02]
+v_mad_u32_u24 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x83,0x0d,0x04]
-v_cubesc_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0xff,0x01,0x01,0x02]
+v_mad_u32_u24 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xe1,0x0d,0x04]
-v_cubesc_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x82,0x01,0x02]
+v_mad_u32_u24 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xef,0x0d,0x04]
-v_cubesc_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xe0,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x07]
-v_cubesc_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xee,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x00]
-v_cubesc_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x04,0x02,0x02]
+v_mad_u32_u24 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x96,0x01]
-v_cubesc_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xfe,0x03,0x02]
+v_mad_u32_u24 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x9a,0x01]
-v_cubesc_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x05,0x03]
+v_mad_u32_u24 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x9e,0x01]
-v_cubesc_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xc1,0x03]
+v_mad_u32_u24 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xaa,0x01]
-v_cubesc_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xdd,0x03]
+v_mad_u32_u24 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xae,0x01]
-v_cubesc_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x0d,0x04]
+v_mad_u32_u24 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xf2,0x01]
-v_cubesc_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xfd,0x07]
+v_mad_u32_u24 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfa,0x01]
-v_cubesc_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x22]
+v_mad_u32_u24 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x01]
-v_cubesc_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x42]
+v_mad_u32_u24 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x02,0x02]
-v_cubesc_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x82]
+v_mad_u32_u24 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x06,0x03]
-v_cubesc_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0xe2]
+v_mad_u32_u24 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xc2,0x03]
-v_cubesc_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_mad_u32_u24 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xde,0x03]
-v_cubesc_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_cubesc_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0xff,0x05,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc5,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x0a]
+v_cubeid_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x65,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x12]
+v_cubeid_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x66,0x04,0x0e,0x04]
-v_cubesc_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x1a]
+v_cubeid_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x67,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6a,0x04,0x0e,0x04]
-v_cubetc_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6b,0x04,0x0e,0x04]
-v_cubetc_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x65,0x00,0x01,0x02]
+v_cubeid_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7c,0x04,0x0e,0x04]
-v_cubetc_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x66,0x00,0x01,0x02]
+v_cubeid_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7e,0x04,0x0e,0x04]
-v_cubetc_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x67,0x00,0x01,0x02]
+v_cubeid_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7f,0x04,0x0e,0x04]
-v_cubetc_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x6a,0x00,0x01,0x02]
+v_cubeid_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x80,0x04,0x0e,0x04]
-v_cubetc_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x6b,0x00,0x01,0x02]
+v_cubeid_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0xc1,0x04,0x0e,0x04]
-v_cubetc_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x7c,0x00,0x01,0x02]
+v_cubeid_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0xf0,0x04,0x0e,0x04]
-v_cubetc_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x7e,0x00,0x01,0x02]
+v_cubeid_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0xf7,0x04,0x0e,0x04]
-v_cubetc_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x7f,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xff,0x0f,0x04]
-v_cubetc_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x80,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0c,0x04]
-v_cubetc_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0xc1,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xcb,0x0c,0x04]
-v_cubetc_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0xf0,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xcd,0x0c,0x04]
-v_cubetc_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0xf7,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xcf,0x0c,0x04]
-v_cubetc_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x01,0x01,0x02]
+v_cubeid_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xd5,0x0c,0x04]
-v_cubetc_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0xff,0x01,0x01,0x02]
+v_cubeid_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xd7,0x0c,0x04]
-v_cubetc_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x82,0x01,0x02]
+v_cubeid_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xf9,0x0c,0x04]
-v_cubetc_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xe0,0x01,0x02]
+v_cubeid_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xfd,0x0c,0x04]
-v_cubetc_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xee,0x01,0x02]
+v_cubeid_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xff,0x0c,0x04]
-v_cubetc_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x04,0x02,0x02]
+v_cubeid_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x01,0x0d,0x04]
-v_cubetc_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xfe,0x03,0x02]
+v_cubeid_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x83,0x0d,0x04]
-v_cubetc_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x05,0x03]
+v_cubeid_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xe1,0x0d,0x04]
-v_cubetc_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xc1,0x03]
+v_cubeid_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xef,0x0d,0x04]
-v_cubetc_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xdd,0x03]
+v_cubeid_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x07]
-v_cubetc_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x0d,0x04]
+v_cubeid_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x00]
-v_cubetc_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xfd,0x07]
+v_cubeid_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x96,0x01]
-v_cubetc_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x22]
+v_cubeid_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x9a,0x01]
-v_cubetc_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x42]
+v_cubeid_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x9e,0x01]
-v_cubetc_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x82]
+v_cubeid_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xaa,0x01]
-v_cubetc_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0xe2]
+v_cubeid_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xae,0x01]
-v_cubetc_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xf2,0x01]
-v_cubetc_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfa,0x01]
-v_cubetc_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x01]
-v_cubetc_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x02,0x02]
-v_cubetc_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc6,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x06,0x03]
-v_cubetc_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x0a]
+v_cubeid_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xc2,0x03]
-v_cubetc_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x12]
+v_cubeid_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xde,0x03]
-v_cubetc_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x1a]
+v_cubeid_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x24]
-v_cubema_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x44]
-v_cubema_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x84]
-v_cubema_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x65,0x00,0x01,0x02]
+v_cubeid_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0xe4]
-v_cubema_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x66,0x00,0x01,0x02]
+v_cubeid_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_cubema_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x67,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_cubema_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x6a,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_cubema_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x6b,0x00,0x01,0x02]
+v_cubeid_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_cubema_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x7c,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc4,0xd1,0x01,0x05,0x0e,0x04]
-v_cubema_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x7e,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x0c]
-v_cubema_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x7f,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x14]
-v_cubema_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x80,0x00,0x01,0x02]
+v_cubeid_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x1c]
-v_cubema_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0xc1,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_cubema_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0xf0,0x00,0x01,0x02]
+v_cubesc_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_cubema_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0xf7,0x00,0x01,0x02]
+v_cubesc_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0xff,0x05,0x0e,0x04]
-v_cubema_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x01,0x01,0x02]
+v_cubesc_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x04,0x0e,0x04]
-v_cubema_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0xff,0x01,0x01,0x02]
+v_cubesc_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x65,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x82,0x01,0x02]
+v_cubesc_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x66,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xe0,0x01,0x02]
+v_cubesc_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x67,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xee,0x01,0x02]
+v_cubesc_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6a,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x04,0x02,0x02]
+v_cubesc_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6b,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xfe,0x03,0x02]
+v_cubesc_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7c,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x05,0x03]
+v_cubesc_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7e,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xc1,0x03]
+v_cubesc_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7f,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xdd,0x03]
+v_cubesc_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x80,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x0d,0x04]
+v_cubesc_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0xc1,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xfd,0x07]
+v_cubesc_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0xf0,0x04,0x0e,0x04]
-v_cubema_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x22]
+v_cubesc_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0xf7,0x04,0x0e,0x04]
-v_cubema_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x42]
+v_cubesc_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xff,0x0f,0x04]
-v_cubema_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x82]
+v_cubesc_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0c,0x04]
-v_cubema_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0xe2]
+v_cubesc_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xcb,0x0c,0x04]
-v_cubema_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xcd,0x0c,0x04]
-v_cubema_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xcf,0x0c,0x04]
-v_cubema_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xd5,0x0c,0x04]
-v_cubema_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xd7,0x0c,0x04]
-v_cubema_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xc7,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xf9,0x0c,0x04]
-v_cubema_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x0a]
+v_cubesc_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xfd,0x0c,0x04]
-v_cubema_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x12]
+v_cubesc_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xff,0x0c,0x04]
-v_cubema_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x1a]
+v_cubesc_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x01,0x0d,0x04]
-v_bfe_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x83,0x0d,0x04]
-v_bfe_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xe1,0x0d,0x04]
-v_bfe_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x65,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xef,0x0d,0x04]
-v_bfe_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x66,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x07]
-v_bfe_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x67,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x00]
-v_bfe_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x6a,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x96,0x01]
-v_bfe_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x6b,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x9a,0x01]
-v_bfe_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x7c,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x9e,0x01]
-v_bfe_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x7e,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xaa,0x01]
-v_bfe_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x7f,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xae,0x01]
-v_bfe_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x80,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xf2,0x01]
-v_bfe_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0xc1,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfa,0x01]
-v_bfe_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0xf0,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x01]
-v_bfe_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0xf7,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x02,0x02]
-v_bfe_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x01,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x06,0x03]
-v_bfe_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0xff,0x01,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xc2,0x03]
-v_bfe_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x82,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xde,0x03]
-v_bfe_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xe0,0x01,0x02]
+v_cubesc_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x24]
-v_bfe_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xee,0x01,0x02]
+v_cubesc_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x44]
-v_bfe_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x04,0x02,0x02]
+v_cubesc_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x84]
-v_bfe_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xfe,0x03,0x02]
+v_cubesc_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0xe4]
-v_bfe_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x05,0x03]
+v_cubesc_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xc1,0x03]
+v_cubesc_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xdd,0x03]
+v_cubesc_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x0d,0x04]
+v_cubesc_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xfd,0x07]
+v_cubesc_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc5,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x0c]
-v_bfe_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x14]
-v_bfe_i32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x65,0x00,0x01,0x02]
+v_cubesc_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x1c]
-v_bfe_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x66,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x67,0x00,0x01,0x02]
+v_cubetc_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_bfe_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x6a,0x00,0x01,0x02]
+v_cubetc_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0xff,0x05,0x0e,0x04]
-v_bfe_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x6b,0x00,0x01,0x02]
+v_cubetc_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x04,0x0e,0x04]
-v_bfe_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x7c,0x00,0x01,0x02]
+v_cubetc_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x65,0x04,0x0e,0x04]
-v_bfe_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x7e,0x00,0x01,0x02]
+v_cubetc_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x66,0x04,0x0e,0x04]
-v_bfe_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x7f,0x00,0x01,0x02]
+v_cubetc_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x67,0x04,0x0e,0x04]
-v_bfe_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x80,0x00,0x01,0x02]
+v_cubetc_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6a,0x04,0x0e,0x04]
-v_bfe_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0xc1,0x00,0x01,0x02]
+v_cubetc_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6b,0x04,0x0e,0x04]
-v_bfe_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0xf0,0x00,0x01,0x02]
+v_cubetc_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7c,0x04,0x0e,0x04]
-v_bfe_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0xf7,0x00,0x01,0x02]
+v_cubetc_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7e,0x04,0x0e,0x04]
-v_bfe_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x01,0x01,0x02]
+v_cubetc_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7f,0x04,0x0e,0x04]
-v_bfe_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0xff,0x01,0x01,0x02]
+v_cubetc_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x80,0x04,0x0e,0x04]
-v_bfe_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x82,0x01,0x02]
+v_cubetc_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0xc1,0x04,0x0e,0x04]
-v_bfe_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xe0,0x01,0x02]
+v_cubetc_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0xf0,0x04,0x0e,0x04]
-v_bfe_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xee,0x01,0x02]
+v_cubetc_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0xf7,0x04,0x0e,0x04]
-v_bfe_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x04,0x02,0x02]
+v_cubetc_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xff,0x0f,0x04]
-v_bfe_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xfe,0x03,0x02]
+v_cubetc_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0c,0x04]
-v_bfe_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x05,0x03]
+v_cubetc_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xcb,0x0c,0x04]
-v_bfe_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xc1,0x03]
+v_cubetc_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xcd,0x0c,0x04]
-v_bfe_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xdd,0x03]
+v_cubetc_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xcf,0x0c,0x04]
-v_bfe_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x0d,0x04]
+v_cubetc_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xd5,0x0c,0x04]
-v_bfe_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xfd,0x07]
+v_cubetc_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xd7,0x0c,0x04]
-v_bfi_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xf9,0x0c,0x04]
-v_bfi_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xca,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xfd,0x0c,0x04]
-v_bfi_b32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x65,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xff,0x0c,0x04]
-v_bfi_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x66,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x01,0x0d,0x04]
-v_bfi_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x67,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x83,0x0d,0x04]
-v_bfi_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x6a,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xe1,0x0d,0x04]
-v_bfi_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x6b,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xef,0x0d,0x04]
-v_bfi_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x7c,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x07]
-v_bfi_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x7e,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x00]
-v_bfi_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x7f,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x96,0x01]
-v_bfi_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x80,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x9a,0x01]
-v_bfi_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0xc1,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x9e,0x01]
-v_bfi_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0xf0,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xaa,0x01]
-v_bfi_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0xf7,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xae,0x01]
-v_bfi_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x01,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xf2,0x01]
-v_bfi_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0xff,0x01,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfa,0x01]
-v_bfi_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x82,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x01]
-v_bfi_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xe0,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x02,0x02]
-v_bfi_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xee,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x06,0x03]
-v_bfi_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x04,0x02,0x02]
+v_cubetc_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xc2,0x03]
-v_bfi_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xfe,0x03,0x02]
+v_cubetc_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xde,0x03]
-v_bfi_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0x05,0x03]
+v_cubetc_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x24]
-v_bfi_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0xc1,0x03]
+v_cubetc_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x44]
-v_bfi_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0xdd,0x03]
+v_cubetc_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x84]
-v_bfi_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0x0d,0x04]
+v_cubetc_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0xe4]
-v_bfi_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0xfd,0x07]
+v_cubetc_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x65,0x00,0x01,0x02]
+v_cubetc_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x66,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc6,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x67,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x0c]
-v_fma_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x6a,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x14]
-v_fma_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x6b,0x00,0x01,0x02]
+v_cubetc_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x1c]
-v_fma_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x7c,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x7e,0x00,0x01,0x02]
+v_cubema_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x7f,0x00,0x01,0x02]
+v_cubema_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0xff,0x05,0x0e,0x04]
-v_fma_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x80,0x00,0x01,0x02]
+v_cubema_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x04,0x0e,0x04]
-v_fma_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0xc1,0x00,0x01,0x02]
+v_cubema_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x65,0x04,0x0e,0x04]
-v_fma_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0xf0,0x00,0x01,0x02]
+v_cubema_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x66,0x04,0x0e,0x04]
-v_fma_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0xf7,0x00,0x01,0x02]
+v_cubema_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x67,0x04,0x0e,0x04]
-v_fma_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x01,0x01,0x02]
+v_cubema_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6a,0x04,0x0e,0x04]
-v_fma_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0xff,0x01,0x01,0x02]
+v_cubema_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6b,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x82,0x01,0x02]
+v_cubema_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7c,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xe0,0x01,0x02]
+v_cubema_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7e,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xee,0x01,0x02]
+v_cubema_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7f,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x04,0x02,0x02]
+v_cubema_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x80,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xfe,0x03,0x02]
+v_cubema_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0xc1,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x05,0x03]
+v_cubema_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0xf0,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xc1,0x03]
+v_cubema_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0xf7,0x04,0x0e,0x04]
-v_fma_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xdd,0x03]
+v_cubema_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xff,0x0f,0x04]
-v_fma_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x0d,0x04]
+v_cubema_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0c,0x04]
-v_fma_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xfd,0x07]
+v_cubema_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xcb,0x0c,0x04]
-v_fma_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x22]
+v_cubema_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xcd,0x0c,0x04]
-v_fma_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x42]
+v_cubema_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xcf,0x0c,0x04]
-v_fma_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x82]
+v_cubema_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xd5,0x0c,0x04]
-v_fma_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0xe2]
+v_cubema_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xd7,0x0c,0x04]
-v_fma_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xf9,0x0c,0x04]
-v_fma_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xfd,0x0c,0x04]
-v_fma_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xff,0x0c,0x04]
-v_fma_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x01,0x0d,0x04]
-v_fma_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xcb,0xd1,0x01,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x83,0x0d,0x04]
-v_fma_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x0a]
+v_cubema_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xe1,0x0d,0x04]
-v_fma_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x12]
+v_cubema_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xef,0x0d,0x04]
-v_fma_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x1a]
+v_cubema_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x07]
-v_fma_f64 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x00]
-v_fma_f64 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x96,0x01]
-v_fma_f64 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x04,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x9a,0x01]
-v_fma_f64 v[5:6], s[100:101], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x64,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x9e,0x01]
-v_fma_f64 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x66,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xaa,0x01]
-v_fma_f64 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x6a,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xae,0x01]
-v_fma_f64 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x7e,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xf2,0x01]
-v_fma_f64 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x80,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfa,0x01]
-v_fma_f64 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0xc1,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x01]
-v_fma_f64 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0xf0,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x02,0x02]
-v_fma_f64 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0xf7,0x00,0x01,0x02]
+v_cubema_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x06,0x03]
-v_fma_f64 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xc2,0x03]
-v_fma_f64 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0xfe,0x01,0x01,0x02]
+v_cubema_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xde,0x03]
-v_fma_f64 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x82,0x01,0x02]
+v_cubema_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x24]
-v_fma_f64 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0xe0,0x01,0x02]
+v_cubema_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x44]
-v_fma_f64 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0xee,0x01,0x02]
+v_cubema_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x84]
-v_fma_f64 v[5:6], s[2:3], v[2:3], 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x04,0x02,0x02]
+v_cubema_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0xe4]
-v_fma_f64 v[5:6], s[2:3], v[254:255], 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0xfc,0x03,0x02]
+v_cubema_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x05,0x03]
+v_cubema_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xc1,0x03]
+v_cubema_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, -4.0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xdd,0x03]
+v_cubema_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, v[3:4]
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x0d,0x04]
+v_cubema_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xc7,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, v[254:255]
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xf9,0x07]
+v_cubema_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x0c]
-v_fma_f64 v[5:6], -s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x22]
+v_cubema_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x14]
-v_fma_f64 v[5:6], s[2:3], neg(0), 0
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x42]
+v_cubema_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x1c]
-v_fma_f64 v[5:6], s[2:3], 0, neg(0)
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x82]
+v_bfe_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], -s[2:3], neg(0), neg(0)
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0xe2]
+v_bfe_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], |s[2:3]|, 0, 0
-// CHECK: [0x05,0x01,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_bfe_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0xff,0x05,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], |0|, 0
-// CHECK: [0x05,0x02,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_bfe_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, |0|
-// CHECK: [0x05,0x04,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_bfe_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x65,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], |s[2:3]|, |0|, |0|
-// CHECK: [0x05,0x07,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_bfe_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x66,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 clamp
-// CHECK: [0x05,0x80,0xcc,0xd1,0x02,0x00,0x01,0x02]
+v_bfe_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x67,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 mul:2
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x0a]
+v_bfe_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6a,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 mul:4
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x12]
+v_bfe_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6b,0x04,0x0e,0x04]
-v_fma_f64 v[5:6], s[2:3], 0, 0 div:2
-// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x1a]
+v_bfe_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7c,0x04,0x0e,0x04]
-v_lerp_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7e,0x04,0x0e,0x04]
-v_lerp_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7f,0x04,0x0e,0x04]
-v_lerp_u8 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x65,0x00,0x01,0x02]
+v_bfe_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x80,0x04,0x0e,0x04]
-v_lerp_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x66,0x00,0x01,0x02]
+v_bfe_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0xc1,0x04,0x0e,0x04]
-v_lerp_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x67,0x00,0x01,0x02]
+v_bfe_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0xf0,0x04,0x0e,0x04]
-v_lerp_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x6a,0x00,0x01,0x02]
+v_bfe_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0xf7,0x04,0x0e,0x04]
-v_lerp_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x6b,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xff,0x0f,0x04]
-v_lerp_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x7c,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0c,0x04]
-v_lerp_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x7e,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xcb,0x0c,0x04]
-v_lerp_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x7f,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xcd,0x0c,0x04]
-v_lerp_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x80,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xcf,0x0c,0x04]
-v_lerp_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0xc1,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xd5,0x0c,0x04]
-v_lerp_u8 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0xf0,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xd7,0x0c,0x04]
-v_lerp_u8 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0xf7,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xf9,0x0c,0x04]
-v_lerp_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x01,0x01,0x02]
+v_bfe_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xfd,0x0c,0x04]
-v_lerp_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0xff,0x01,0x01,0x02]
+v_bfe_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xff,0x0c,0x04]
-v_lerp_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x82,0x01,0x02]
+v_bfe_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x01,0x0d,0x04]
-v_lerp_u8 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xe0,0x01,0x02]
+v_bfe_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x83,0x0d,0x04]
-v_lerp_u8 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xee,0x01,0x02]
+v_bfe_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xe1,0x0d,0x04]
-v_lerp_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x04,0x02,0x02]
+v_bfe_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xef,0x0d,0x04]
-v_lerp_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xfe,0x03,0x02]
+v_bfe_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x07]
-v_lerp_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x05,0x03]
+v_bfe_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x00]
-v_lerp_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xc1,0x03]
+v_bfe_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x96,0x01]
-v_lerp_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xdd,0x03]
+v_bfe_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x9a,0x01]
-v_lerp_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x0d,0x04]
+v_bfe_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x9e,0x01]
-v_lerp_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xfd,0x07]
+v_bfe_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xaa,0x01]
-v_min3_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xae,0x01]
-v_min3_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xf2,0x01]
-v_min3_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x65,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfa,0x01]
-v_min3_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x66,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x01]
-v_min3_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x67,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x02,0x02]
-v_min3_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x6a,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x06,0x03]
-v_min3_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x6b,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xc2,0x03]
-v_min3_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x7c,0x00,0x01,0x02]
+v_bfe_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xde,0x03]
-v_min3_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x7e,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04]
-v_min3_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x7f,0x00,0x01,0x02]
+v_bfe_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04]
-v_min3_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x80,0x00,0x01,0x02]
+v_bfe_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0xff,0x05,0x0e,0x04]
-v_min3_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0xc1,0x00,0x01,0x02]
+v_bfe_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x04,0x0e,0x04]
-v_min3_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0xf0,0x00,0x01,0x02]
+v_bfe_i32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x65,0x04,0x0e,0x04]
-v_min3_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0xf7,0x00,0x01,0x02]
+v_bfe_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x66,0x04,0x0e,0x04]
-v_min3_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x01,0x01,0x02]
+v_bfe_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x67,0x04,0x0e,0x04]
-v_min3_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0xff,0x01,0x01,0x02]
+v_bfe_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6a,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x82,0x01,0x02]
+v_bfe_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6b,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xe0,0x01,0x02]
+v_bfe_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7c,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xee,0x01,0x02]
+v_bfe_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7e,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x04,0x02,0x02]
+v_bfe_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7f,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xfe,0x03,0x02]
+v_bfe_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x80,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x05,0x03]
+v_bfe_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0xc1,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xc1,0x03]
+v_bfe_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0xf0,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xdd,0x03]
+v_bfe_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0xf7,0x04,0x0e,0x04]
-v_min3_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x0d,0x04]
+v_bfe_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xff,0x0f,0x04]
-v_min3_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xfd,0x07]
+v_bfe_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0c,0x04]
-v_min3_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x22]
+v_bfe_i32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xcb,0x0c,0x04]
-v_min3_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x42]
+v_bfe_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xcd,0x0c,0x04]
-v_min3_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x82]
+v_bfe_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xcf,0x0c,0x04]
-v_min3_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0xe2]
+v_bfe_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xd5,0x0c,0x04]
-v_min3_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xd7,0x0c,0x04]
-v_min3_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xf9,0x0c,0x04]
-v_min3_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xfd,0x0c,0x04]
-v_min3_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xff,0x0c,0x04]
-v_min3_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xd0,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x01,0x0d,0x04]
-v_min3_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x0a]
+v_bfe_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x83,0x0d,0x04]
-v_min3_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x12]
+v_bfe_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xe1,0x0d,0x04]
-v_min3_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x1a]
+v_bfe_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xef,0x0d,0x04]
-v_min3_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x07]
-v_min3_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x00]
-v_min3_i32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x65,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x96,0x01]
-v_min3_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x66,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x9a,0x01]
-v_min3_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x67,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x9e,0x01]
-v_min3_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x6a,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xaa,0x01]
-v_min3_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x6b,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xae,0x01]
-v_min3_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x7c,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xf2,0x01]
-v_min3_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x7e,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfa,0x01]
-v_min3_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x7f,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x01]
-v_min3_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x80,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x02,0x02]
-v_min3_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0xc1,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x06,0x03]
-v_min3_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0xf0,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xc2,0x03]
-v_min3_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0xf7,0x00,0x01,0x02]
+v_bfe_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xde,0x03]
-v_min3_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04]
-v_min3_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0xff,0x01,0x01,0x02]
+v_bfi_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04]
-v_min3_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x82,0x01,0x02]
+v_bfi_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0xff,0x05,0x0e,0x04]
-v_min3_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xe0,0x01,0x02]
+v_bfi_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x04,0x0e,0x04]
-v_min3_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xee,0x01,0x02]
+v_bfi_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x65,0x04,0x0e,0x04]
-v_min3_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x04,0x02,0x02]
+v_bfi_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x66,0x04,0x0e,0x04]
-v_min3_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xfe,0x03,0x02]
+v_bfi_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x67,0x04,0x0e,0x04]
-v_min3_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x05,0x03]
+v_bfi_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x6a,0x04,0x0e,0x04]
-v_min3_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xc1,0x03]
+v_bfi_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x6b,0x04,0x0e,0x04]
-v_min3_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xdd,0x03]
+v_bfi_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x7c,0x04,0x0e,0x04]
-v_min3_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x0d,0x04]
+v_bfi_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x7e,0x04,0x0e,0x04]
-v_min3_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xfd,0x07]
+v_bfi_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x7f,0x04,0x0e,0x04]
-v_min3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x80,0x04,0x0e,0x04]
-v_min3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0xc1,0x04,0x0e,0x04]
-v_min3_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x65,0x00,0x01,0x02]
+v_bfi_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0xf0,0x04,0x0e,0x04]
-v_min3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x66,0x00,0x01,0x02]
+v_bfi_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0xf7,0x04,0x0e,0x04]
-v_min3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x67,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xff,0x0f,0x04]
-v_min3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x6a,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0c,0x04]
-v_min3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x6b,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xcb,0x0c,0x04]
-v_min3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x7c,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xcd,0x0c,0x04]
-v_min3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x7e,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xcf,0x0c,0x04]
-v_min3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x7f,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xd5,0x0c,0x04]
-v_min3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x80,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xd7,0x0c,0x04]
-v_min3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0xc1,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xf9,0x0c,0x04]
-v_min3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0xf0,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xfd,0x0c,0x04]
-v_min3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0xf7,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xff,0x0c,0x04]
-v_min3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x01,0x0d,0x04]
-v_min3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0xff,0x01,0x01,0x02]
+v_bfi_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x83,0x0d,0x04]
-v_min3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x82,0x01,0x02]
+v_bfi_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xe1,0x0d,0x04]
-v_min3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xe0,0x01,0x02]
+v_bfi_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xef,0x0d,0x04]
-v_min3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xee,0x01,0x02]
+v_bfi_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x07]
-v_min3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x04,0x02,0x02]
+v_bfi_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x00]
-v_min3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xfe,0x03,0x02]
+v_bfi_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x96,0x01]
-v_min3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x05,0x03]
+v_bfi_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x9a,0x01]
-v_min3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xc1,0x03]
+v_bfi_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x9e,0x01]
-v_min3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xdd,0x03]
+v_bfi_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xaa,0x01]
-v_min3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x0d,0x04]
+v_bfi_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xae,0x01]
-v_min3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xfd,0x07]
+v_bfi_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xf2,0x01]
-v_max3_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfa,0x01]
-v_max3_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x01]
-v_max3_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x65,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x02,0x02]
-v_max3_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x66,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0x06,0x03]
-v_max3_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x67,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xc2,0x03]
-v_max3_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x6a,0x00,0x01,0x02]
+v_bfi_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x05,0xde,0x03]
-v_max3_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x6b,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x7c,0x00,0x01,0x02]
+v_fma_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x7e,0x00,0x01,0x02]
+v_fma_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0xff,0x05,0x0e,0x04]
-v_max3_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x7f,0x00,0x01,0x02]
+v_fma_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x04,0x0e,0x04]
-v_max3_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x80,0x00,0x01,0x02]
+v_fma_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x65,0x04,0x0e,0x04]
-v_max3_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0xc1,0x00,0x01,0x02]
+v_fma_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x66,0x04,0x0e,0x04]
-v_max3_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0xf0,0x00,0x01,0x02]
+v_fma_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x67,0x04,0x0e,0x04]
-v_max3_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0xf7,0x00,0x01,0x02]
+v_fma_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6a,0x04,0x0e,0x04]
-v_max3_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x01,0x01,0x02]
+v_fma_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6b,0x04,0x0e,0x04]
-v_max3_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0xff,0x01,0x01,0x02]
+v_fma_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7c,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x82,0x01,0x02]
+v_fma_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7e,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xe0,0x01,0x02]
+v_fma_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7f,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xee,0x01,0x02]
+v_fma_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x80,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x04,0x02,0x02]
+v_fma_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0xc1,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xfe,0x03,0x02]
+v_fma_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0xf0,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x05,0x03]
+v_fma_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0xf7,0x04,0x0e,0x04]
-v_max3_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xc1,0x03]
+v_fma_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xff,0x0f,0x04]
-v_max3_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xdd,0x03]
+v_fma_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0c,0x04]
-v_max3_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x0d,0x04]
+v_fma_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xcb,0x0c,0x04]
-v_max3_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xfd,0x07]
+v_fma_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xcd,0x0c,0x04]
-v_max3_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x22]
+v_fma_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xcf,0x0c,0x04]
-v_max3_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x42]
+v_fma_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xd5,0x0c,0x04]
-v_max3_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x82]
+v_fma_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xd7,0x0c,0x04]
-v_max3_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0xe2]
+v_fma_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xf9,0x0c,0x04]
-v_max3_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xfd,0x0c,0x04]
-v_max3_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xff,0x0c,0x04]
-v_max3_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x01,0x0d,0x04]
-v_max3_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x83,0x0d,0x04]
-v_max3_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xd3,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xe1,0x0d,0x04]
-v_max3_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x0a]
+v_fma_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xef,0x0d,0x04]
-v_max3_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x12]
+v_fma_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x07]
-v_max3_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x1a]
+v_fma_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x00]
-v_max3_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x96,0x01]
-v_max3_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x9a,0x01]
-v_max3_i32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x65,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x9e,0x01]
-v_max3_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x66,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xaa,0x01]
-v_max3_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x67,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xae,0x01]
-v_max3_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x6a,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xf2,0x01]
-v_max3_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x6b,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfa,0x01]
-v_max3_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x7c,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x01]
-v_max3_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x7e,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x02,0x02]
-v_max3_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x7f,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x06,0x03]
-v_max3_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x80,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xc2,0x03]
-v_max3_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0xc1,0x00,0x01,0x02]
+v_fma_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xde,0x03]
-v_max3_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0xf0,0x00,0x01,0x02]
+v_fma_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x24]
-v_max3_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0xf7,0x00,0x01,0x02]
+v_fma_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x44]
-v_max3_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x01,0x01,0x02]
+v_fma_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x84]
-v_max3_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0xff,0x01,0x01,0x02]
+v_fma_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0xe4]
-v_max3_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x82,0x01,0x02]
+v_fma_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xe0,0x01,0x02]
+v_fma_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xee,0x01,0x02]
+v_fma_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x04,0x02,0x02]
+v_fma_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xfe,0x03,0x02]
+v_fma_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xcb,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x05,0x03]
+v_fma_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x0c]
-v_max3_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xc1,0x03]
+v_fma_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x14]
-v_max3_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xdd,0x03]
+v_fma_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x1c]
-v_max3_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x0d,0x04]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xfd,0x07]
+v_fma_f64 v[254:255], v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_max3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0xfe,0x05,0x0e,0x04]
-v_max3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], s[2:3], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x04,0x0e,0x04]
-v_max3_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x65,0x00,0x01,0x02]
+v_fma_f64 v[5:6], s[4:5], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x04,0x04,0x0e,0x04]
-v_max3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x66,0x00,0x01,0x02]
+v_fma_f64 v[5:6], s[100:101], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x64,0x04,0x0e,0x04]
-v_max3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x67,0x00,0x01,0x02]
+v_fma_f64 v[5:6], flat_scratch, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x66,0x04,0x0e,0x04]
-v_max3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x6a,0x00,0x01,0x02]
+v_fma_f64 v[5:6], vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x6a,0x04,0x0e,0x04]
-v_max3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x6b,0x00,0x01,0x02]
+v_fma_f64 v[5:6], exec, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x7e,0x04,0x0e,0x04]
-v_max3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x7c,0x00,0x01,0x02]
+v_fma_f64 v[5:6], 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x80,0x04,0x0e,0x04]
-v_max3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x7e,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0xc1,0x04,0x0e,0x04]
-v_max3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x7f,0x00,0x01,0x02]
+v_fma_f64 v[5:6], 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0xf0,0x04,0x0e,0x04]
-v_max3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x80,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0xf7,0x04,0x0e,0x04]
-v_max3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0xc1,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0f,0x04]
-v_max3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0xf0,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], s[4:5], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x09,0x0c,0x04]
-v_max3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0xf7,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], s[6:7], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x0d,0x0c,0x04]
-v_max3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x01,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], s[100:101], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xc9,0x0c,0x04]
-v_max3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0xff,0x01,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], flat_scratch, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xcd,0x0c,0x04]
-v_max3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x82,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xd5,0x0c,0x04]
-v_max3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xe0,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], exec, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0c,0x04]
-v_max3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xee,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x01,0x0d,0x04]
-v_max3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x04,0x02,0x02]
+v_fma_f64 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x83,0x0d,0x04]
-v_max3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xfe,0x03,0x02]
+v_fma_f64 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xe1,0x0d,0x04]
-v_max3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x05,0x03]
+v_fma_f64 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0xef,0x0d,0x04]
-v_max3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xc1,0x03]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x07]
-v_max3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xdd,0x03]
+v_fma_f64 v[5:6], v[1:2], v[2:3], s[6:7]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x1a,0x00]
-v_max3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x0d,0x04]
+v_fma_f64 v[5:6], v[1:2], v[2:3], s[8:9]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x22,0x00]
-v_max3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xfd,0x07]
+v_fma_f64 v[5:6], v[1:2], v[2:3], s[100:101]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x92,0x01]
-v_med3_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], flat_scratch
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x9a,0x01]
-v_med3_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xaa,0x01]
-v_med3_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x65,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], exec
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x01]
-v_med3_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x66,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x02,0x02]
-v_med3_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x67,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], -1
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x06,0x03]
-v_med3_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x6a,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xc2,0x03]
-v_med3_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x6b,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xde,0x03]
-v_med3_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x7c,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x24]
-v_med3_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x7e,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], -v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x44]
-v_med3_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x7f,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x84]
-v_med3_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x80,0x00,0x01,0x02]
+v_fma_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0xe4]
-v_med3_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0xc1,0x00,0x01,0x02]
+v_fma_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4]
+// CHECK: [0x05,0x01,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0xf0,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4]
+// CHECK: [0x05,0x02,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0xf7,0x00,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], |v[3:4]|
+// CHECK: [0x05,0x04,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x01,0x01,0x02]
+v_fma_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]|
+// CHECK: [0x05,0x07,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0xff,0x01,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp
+// CHECK: [0x05,0x80,0xcc,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x82,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x0c]
-v_med3_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xe0,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x14]
-v_med3_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xee,0x01,0x02]
+v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x1c]
-v_med3_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x04,0x02,0x02]
+v_lerp_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xfe,0x03,0x02]
+v_lerp_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x05,0x03]
+v_lerp_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0xff,0x05,0x0e,0x04]
-v_med3_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xc1,0x03]
+v_lerp_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xdd,0x03]
+v_lerp_u8 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x65,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x0d,0x04]
+v_lerp_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x66,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xfd,0x07]
+v_lerp_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x67,0x04,0x0e,0x04]
-v_med3_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x22]
+v_lerp_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6a,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x42]
+v_lerp_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6b,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x82]
+v_lerp_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7c,0x04,0x0e,0x04]
-v_med3_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0xe2]
+v_lerp_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7e,0x04,0x0e,0x04]
-v_med3_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7f,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x80,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0xc1,0x04,0x0e,0x04]
-v_med3_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0xf0,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xd6,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0xf7,0x04,0x0e,0x04]
-v_med3_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x0a]
+v_lerp_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xff,0x0f,0x04]
-v_med3_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x12]
+v_lerp_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0c,0x04]
-v_med3_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x1a]
+v_lerp_u8 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xcb,0x0c,0x04]
-v_med3_i32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xcd,0x0c,0x04]
-v_med3_i32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xcf,0x0c,0x04]
-v_med3_i32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x65,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xd5,0x0c,0x04]
-v_med3_i32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x66,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xd7,0x0c,0x04]
-v_med3_i32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x67,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xf9,0x0c,0x04]
-v_med3_i32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x6a,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xfd,0x0c,0x04]
-v_med3_i32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x6b,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xff,0x0c,0x04]
-v_med3_i32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x7c,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x01,0x0d,0x04]
-v_med3_i32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x7e,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x83,0x0d,0x04]
-v_med3_i32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x7f,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xe1,0x0d,0x04]
-v_med3_i32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x80,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xef,0x0d,0x04]
-v_med3_i32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0xc1,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x07]
-v_med3_i32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0xf0,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x00]
-v_med3_i32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0xf7,0x00,0x01,0x02]
+v_lerp_u8 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x96,0x01]
-v_med3_i32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x01,0x01,0x02]
+v_lerp_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x9a,0x01]
-v_med3_i32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0xff,0x01,0x01,0x02]
+v_lerp_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x9e,0x01]
-v_med3_i32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x82,0x01,0x02]
+v_lerp_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xaa,0x01]
-v_med3_i32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xe0,0x01,0x02]
+v_lerp_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xae,0x01]
-v_med3_i32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xee,0x01,0x02]
+v_lerp_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xf2,0x01]
-v_med3_i32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x04,0x02,0x02]
+v_lerp_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfa,0x01]
-v_med3_i32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xfe,0x03,0x02]
+v_lerp_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x01]
-v_med3_i32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x05,0x03]
+v_lerp_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x02,0x02]
-v_med3_i32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xc1,0x03]
+v_lerp_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x06,0x03]
-v_med3_i32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xdd,0x03]
+v_lerp_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xc2,0x03]
-v_med3_i32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x0d,0x04]
+v_lerp_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xde,0x03]
-v_med3_i32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xfd,0x07]
+v_alignbit_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04]
-v_med3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0xff,0x05,0x0e,0x04]
-v_med3_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x65,0x00,0x01,0x02]
+v_alignbit_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x04,0x0e,0x04]
-v_med3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x66,0x00,0x01,0x02]
+v_alignbit_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x65,0x04,0x0e,0x04]
-v_med3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x67,0x00,0x01,0x02]
+v_alignbit_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x66,0x04,0x0e,0x04]
-v_med3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x6a,0x00,0x01,0x02]
+v_alignbit_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x67,0x04,0x0e,0x04]
-v_med3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x6b,0x00,0x01,0x02]
+v_alignbit_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x6a,0x04,0x0e,0x04]
-v_med3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x7c,0x00,0x01,0x02]
+v_alignbit_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x6b,0x04,0x0e,0x04]
-v_med3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x7e,0x00,0x01,0x02]
+v_alignbit_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x7c,0x04,0x0e,0x04]
-v_med3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x7f,0x00,0x01,0x02]
+v_alignbit_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x7e,0x04,0x0e,0x04]
-v_med3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x80,0x00,0x01,0x02]
+v_alignbit_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x7f,0x04,0x0e,0x04]
-v_med3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0xc1,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xff,0x0f,0x04]
-v_med3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0xf0,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0c,0x04]
-v_med3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0xf7,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xcb,0x0c,0x04]
-v_med3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x01,0x01,0x02]
+v_alignbit_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xcd,0x0c,0x04]
-v_med3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0xff,0x01,0x01,0x02]
+v_alignbit_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xcf,0x0c,0x04]
-v_med3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x82,0x01,0x02]
+v_alignbit_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xd5,0x0c,0x04]
-v_med3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xe0,0x01,0x02]
+v_alignbit_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xd7,0x0c,0x04]
-v_med3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xee,0x01,0x02]
+v_alignbit_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xf9,0x0c,0x04]
-v_med3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x04,0x02,0x02]
+v_alignbit_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xfd,0x0c,0x04]
-v_med3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xfe,0x03,0x02]
+v_alignbit_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0xff,0x0c,0x04]
-v_med3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x05,0x03]
+v_alignbit_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x07]
-v_med3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xc1,0x03]
+v_alignbit_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x00]
-v_med3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xdd,0x03]
+v_alignbit_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x96,0x01]
-v_med3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x0d,0x04]
+v_alignbit_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x9a,0x01]
-v_med3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xfd,0x07]
+v_alignbit_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0x9e,0x01]
-v_sad_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xaa,0x01]
-v_sad_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xae,0x01]
-v_sad_u8 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x65,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xf2,0x01]
-v_sad_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x66,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfa,0x01]
-v_sad_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x67,0x00,0x01,0x02]
+v_alignbit_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x01]
-v_sad_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x6a,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x6b,0x00,0x01,0x02]
+v_alignbyte_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x7c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0xff,0x05,0x0e,0x04]
-v_sad_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x7e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x04,0x0e,0x04]
-v_sad_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x7f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x65,0x04,0x0e,0x04]
-v_sad_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x80,0x00,0x01,0x02]
+v_alignbyte_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x66,0x04,0x0e,0x04]
-v_sad_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0xc1,0x00,0x01,0x02]
+v_alignbyte_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x67,0x04,0x0e,0x04]
-v_sad_u8 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0xf0,0x00,0x01,0x02]
+v_alignbyte_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x6a,0x04,0x0e,0x04]
-v_sad_u8 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0xf7,0x00,0x01,0x02]
+v_alignbyte_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x6b,0x04,0x0e,0x04]
-v_sad_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x01,0x01,0x02]
+v_alignbyte_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x7c,0x04,0x0e,0x04]
-v_sad_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0xff,0x01,0x01,0x02]
+v_alignbyte_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x7e,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x82,0x01,0x02]
+v_alignbyte_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x7f,0x04,0x0e,0x04]
-v_sad_u8 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xe0,0x01,0x02]
+v_alignbyte_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xff,0x0f,0x04]
-v_sad_u8 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xee,0x01,0x02]
+v_alignbyte_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0c,0x04]
-v_sad_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x04,0x02,0x02]
+v_alignbyte_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xcb,0x0c,0x04]
-v_sad_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xfe,0x03,0x02]
+v_alignbyte_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xcd,0x0c,0x04]
-v_sad_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x05,0x03]
+v_alignbyte_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xcf,0x0c,0x04]
-v_sad_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xc1,0x03]
+v_alignbyte_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xd5,0x0c,0x04]
-v_sad_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xdd,0x03]
+v_alignbyte_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xd7,0x0c,0x04]
-v_sad_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x0d,0x04]
+v_alignbyte_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xf9,0x0c,0x04]
-v_sad_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xfd,0x07]
+v_alignbyte_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xfd,0x0c,0x04]
-v_sad_hi_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0xff,0x0c,0x04]
-v_sad_hi_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xda,0xd1,0x01,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x07]
-v_sad_hi_u8 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x65,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x00]
-v_sad_hi_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x66,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x96,0x01]
-v_sad_hi_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x67,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x9a,0x01]
-v_sad_hi_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x6a,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x9e,0x01]
-v_sad_hi_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x6b,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xaa,0x01]
-v_sad_hi_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x7c,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xae,0x01]
-v_sad_hi_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x7e,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xf2,0x01]
-v_sad_hi_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x7f,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfa,0x01]
-v_sad_hi_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x80,0x00,0x01,0x02]
+v_alignbyte_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x01]
-v_sad_hi_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_hi_u8 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_hi_u8 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0xff,0x05,0x0e,0x04]
-v_sad_hi_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x01,0x01,0x02]
+v_min3_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0xff,0x01,0x01,0x02]
+v_min3_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x65,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x82,0x01,0x02]
+v_min3_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x66,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x67,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xee,0x01,0x02]
+v_min3_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6a,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x04,0x02,0x02]
+v_min3_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6b,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7c,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0x05,0x03]
+v_min3_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7e,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7f,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x80,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0xc1,0x04,0x0e,0x04]
-v_sad_hi_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0xf0,0x04,0x0e,0x04]
-v_sad_u16 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0xf7,0x04,0x0e,0x04]
-v_sad_u16 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xff,0x0f,0x04]
-v_sad_u16 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x65,0x00,0x01,0x02]
+v_min3_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0c,0x04]
-v_sad_u16 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x66,0x00,0x01,0x02]
+v_min3_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xcb,0x0c,0x04]
-v_sad_u16 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x67,0x00,0x01,0x02]
+v_min3_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xcd,0x0c,0x04]
-v_sad_u16 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xcf,0x0c,0x04]
-v_sad_u16 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x6b,0x00,0x01,0x02]
+v_min3_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xd5,0x0c,0x04]
-v_sad_u16 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x7c,0x00,0x01,0x02]
+v_min3_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xd7,0x0c,0x04]
-v_sad_u16 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xf9,0x0c,0x04]
-v_sad_u16 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x7f,0x00,0x01,0x02]
+v_min3_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xfd,0x0c,0x04]
-v_sad_u16 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x80,0x00,0x01,0x02]
+v_min3_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xff,0x0c,0x04]
-v_sad_u16 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x01,0x0d,0x04]
-v_sad_u16 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x83,0x0d,0x04]
-v_sad_u16 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xe1,0x0d,0x04]
-v_sad_u16 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x01,0x01,0x02]
+v_min3_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xef,0x0d,0x04]
-v_sad_u16 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0xff,0x01,0x01,0x02]
+v_min3_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x07]
-v_sad_u16 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x82,0x01,0x02]
+v_min3_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x00]
-v_sad_u16 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x96,0x01]
-v_sad_u16 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xee,0x01,0x02]
+v_min3_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x9a,0x01]
-v_sad_u16 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x04,0x02,0x02]
+v_min3_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x9e,0x01]
-v_sad_u16 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xaa,0x01]
-v_sad_u16 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x05,0x03]
+v_min3_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xae,0x01]
-v_sad_u16 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xf2,0x01]
-v_sad_u16 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfa,0x01]
-v_sad_u16 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x01]
-v_sad_u16 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x02,0x02]
-v_sad_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x06,0x03]
-v_sad_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xc2,0x03]
-v_sad_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x65,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xde,0x03]
-v_sad_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x66,0x00,0x01,0x02]
+v_min3_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x24]
-v_sad_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x67,0x00,0x01,0x02]
+v_min3_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x44]
-v_sad_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x84]
-v_sad_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x6b,0x00,0x01,0x02]
+v_min3_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0xe4]
-v_sad_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x7c,0x00,0x01,0x02]
+v_min3_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x7f,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x80,0x00,0x01,0x02]
+v_min3_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xd0,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x0c]
-v_sad_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x14]
-v_sad_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x01,0x01,0x02]
+v_min3_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x1c]
-v_sad_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0xff,0x01,0x01,0x02]
+v_min3_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x82,0x01,0x02]
+v_min3_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04]
-v_sad_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0xff,0x05,0x0e,0x04]
-v_sad_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xee,0x01,0x02]
+v_min3_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x04,0x0e,0x04]
-v_sad_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x04,0x02,0x02]
+v_min3_i32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x65,0x04,0x0e,0x04]
-v_sad_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x66,0x04,0x0e,0x04]
-v_sad_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x05,0x03]
+v_min3_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x67,0x04,0x0e,0x04]
-v_sad_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6a,0x04,0x0e,0x04]
-v_sad_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6b,0x04,0x0e,0x04]
-v_sad_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7c,0x04,0x0e,0x04]
-v_sad_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7e,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7f,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x80,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x65,0x00,0x01,0x02]
+v_min3_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0xc1,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x66,0x00,0x01,0x02]
+v_min3_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0xf0,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x67,0x00,0x01,0x02]
+v_min3_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0xf7,0x04,0x0e,0x04]
-v_cvt_pk_u8_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xff,0x0f,0x04]
-v_cvt_pk_u8_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x6b,0x00,0x01,0x02]
+v_min3_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x7c,0x00,0x01,0x02]
+v_min3_i32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xcb,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xcd,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x7f,0x00,0x01,0x02]
+v_min3_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xcf,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x80,0x00,0x01,0x02]
+v_min3_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xd5,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xd7,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xf9,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xfd,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x01,0x01,0x02]
+v_min3_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xff,0x0c,0x04]
-v_cvt_pk_u8_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0xff,0x01,0x01,0x02]
+v_min3_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x01,0x0d,0x04]
-v_cvt_pk_u8_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x82,0x01,0x02]
+v_min3_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x83,0x0d,0x04]
-v_cvt_pk_u8_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xe1,0x0d,0x04]
-v_cvt_pk_u8_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xee,0x01,0x02]
+v_min3_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xef,0x0d,0x04]
-v_cvt_pk_u8_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x04,0x02,0x02]
+v_min3_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x07]
-v_cvt_pk_u8_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x00]
-v_cvt_pk_u8_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x05,0x03]
+v_min3_i32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x96,0x01]
-v_cvt_pk_u8_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x9a,0x01]
-v_cvt_pk_u8_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x9e,0x01]
-v_cvt_pk_u8_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xaa,0x01]
-v_cvt_pk_u8_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xae,0x01]
-v_cvt_pk_u8_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x22]
+v_min3_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xf2,0x01]
-v_cvt_pk_u8_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xdd,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfa,0x01]
-v_cvt_pk_u8_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xdd,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x01]
-v_div_fixup_f32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x02,0x02]
-v_div_fixup_f32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x06,0x03]
-v_div_fixup_f32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x65,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xc2,0x03]
-v_div_fixup_f32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x66,0x00,0x01,0x02]
+v_min3_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xde,0x03]
-v_div_fixup_f32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x67,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x6b,0x00,0x01,0x02]
+v_min3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0xff,0x05,0x0e,0x04]
-v_div_fixup_f32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x7c,0x00,0x01,0x02]
+v_min3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x65,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x7f,0x00,0x01,0x02]
+v_min3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x66,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x80,0x00,0x01,0x02]
+v_min3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x67,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6a,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6b,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7c,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x01,0x01,0x02]
+v_min3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7e,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0xff,0x01,0x01,0x02]
+v_min3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7f,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x82,0x01,0x02]
+v_min3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x80,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0xc1,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xee,0x01,0x02]
+v_min3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0xf0,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x04,0x02,0x02]
+v_min3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0xf7,0x04,0x0e,0x04]
-v_div_fixup_f32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xff,0x0f,0x04]
-v_div_fixup_f32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x05,0x03]
+v_min3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xcb,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xcd,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xcf,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xd5,0x0c,0x04]
-v_div_fixup_f32 v5, -s1, 0, 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x22]
+v_min3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xd7,0x0c,0x04]
-v_div_fixup_f32 v5, s1, neg(0), 0
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x42]
+v_min3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xf9,0x0c,0x04]
-v_div_fixup_f32 v5, s1, 0, neg(0)
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x82]
+v_min3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xfd,0x0c,0x04]
-v_div_fixup_f32 v5, -s1, neg(0), neg(0)
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0xe2]
+v_min3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xff,0x0c,0x04]
-v_div_fixup_f32 v5, |s1|, 0, 0
-// CHECK: [0x05,0x01,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x01,0x0d,0x04]
-v_div_fixup_f32 v5, s1, |0|, 0
-// CHECK: [0x05,0x02,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x83,0x0d,0x04]
-v_div_fixup_f32 v5, s1, 0, |0|
-// CHECK: [0x05,0x04,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xe1,0x0d,0x04]
-v_div_fixup_f32 v5, |s1|, |0|, |0|
-// CHECK: [0x05,0x07,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xef,0x0d,0x04]
-v_div_fixup_f32 v5, s1, 0, 0 clamp
-// CHECK: [0x05,0x80,0xde,0xd1,0x01,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x07]
-v_div_fixup_f32 v5, s1, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x0a]
+v_min3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x00]
-v_div_fixup_f32 v5, s1, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x12]
+v_min3_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x96,0x01]
-v_div_fixup_f32 v5, s1, 0, 0 div:2
-// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x1a]
+v_min3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x9a,0x01]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x9e,0x01]
-v_div_fixup_f64 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xaa,0x01]
-v_div_fixup_f64 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x04,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xae,0x01]
-v_div_fixup_f64 v[5:6], s[100:101], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x64,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xf2,0x01]
-v_div_fixup_f64 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x66,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfa,0x01]
-v_div_fixup_f64 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x01]
-v_div_fixup_f64 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x02,0x02]
-v_div_fixup_f64 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x80,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x06,0x03]
-v_div_fixup_f64 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xc2,0x03]
-v_div_fixup_f64 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xde,0x03]
-v_div_fixup_f64 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0xf7,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x01,0x01,0x02]
+v_max3_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0xfe,0x01,0x01,0x02]
+v_max3_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0xff,0x05,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x82,0x01,0x02]
+v_max3_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0xe0,0x01,0x02]
+v_max3_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x65,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0xee,0x01,0x02]
+v_max3_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x66,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], v[2:3], 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x04,0x02,0x02]
+v_max3_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x67,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], v[254:255], 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0xfc,0x03,0x02]
+v_max3_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6a,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x05,0x03]
+v_max3_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6b,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xc1,0x03]
+v_max3_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7c,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, -4.0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xdd,0x03]
+v_max3_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7e,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, v[3:4]
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x0d,0x04]
+v_max3_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7f,0x04,0x0e,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_max3_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x80,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], -s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x22]
+v_max3_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0xc1,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], neg(0), 0
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x42]
+v_max3_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0xf0,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, neg(0)
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x82]
+v_max3_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0xf7,0x04,0x0e,0x04]
-v_div_fixup_f64 v[5:6], -s[2:3], neg(0), neg(0)
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0xe2]
+v_max3_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xff,0x0f,0x04]
-v_div_fixup_f64 v[5:6], |s[2:3]|, 0, 0
-// CHECK: [0x05,0x01,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_max3_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], |0|, 0
-// CHECK: [0x05,0x02,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_max3_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xcb,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, |0|
-// CHECK: [0x05,0x04,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_max3_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xcd,0x0c,0x04]
-v_div_fixup_f64 v[5:6], |s[2:3]|, |0|, |0|
-// CHECK: [0x05,0x07,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_max3_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xcf,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 clamp
-// CHECK: [0x05,0x80,0xdf,0xd1,0x02,0x00,0x01,0x02]
+v_max3_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xd5,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:2
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x0a]
+v_max3_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xd7,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:4
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x12]
+v_max3_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xf9,0x0c,0x04]
-v_div_fixup_f64 v[5:6], s[2:3], 0, 0 div:2
-// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x1a]
+v_max3_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xfd,0x0c,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02]
+v_max3_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xff,0x0c,0x04]
-v_div_scale_f32 v255, vcc, s1, 0, 0
-// CHECK: [0xff,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02]
+v_max3_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x01,0x0d,0x04]
-v_div_scale_f32 v5, vcc, s101, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x65,0x00,0x01,0x02]
+v_max3_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x83,0x0d,0x04]
-v_div_scale_f32 v5, vcc, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x66,0x00,0x01,0x02]
+v_max3_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xe1,0x0d,0x04]
-v_div_scale_f32 v5, vcc, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x67,0x00,0x01,0x02]
+v_max3_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xef,0x0d,0x04]
-v_div_scale_f32 v5, vcc, vcc_lo, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x6a,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x07]
-v_div_scale_f32 v5, vcc, vcc_hi, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x6b,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x00]
-v_div_scale_f32 v5, vcc, m0, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x7c,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x96,0x01]
-v_div_scale_f32 v5, vcc, exec_lo, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x7e,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x9a,0x01]
-v_div_scale_f32 v5, vcc, exec_hi, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x7f,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x9e,0x01]
-v_div_scale_f32 v5, vcc, 0, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x80,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xaa,0x01]
-v_div_scale_f32 v5, vcc, -1, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0xc1,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xae,0x01]
-v_div_scale_f32 v5, vcc, 0.5, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0xf0,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xf2,0x01]
-v_div_scale_f32 v5, vcc, -4.0, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0xf7,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfa,0x01]
-v_div_scale_f32 v5, vcc, v1, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x01,0x01,0x02]
+v_max3_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x01]
-v_div_scale_f32 v5, vcc, v255, 0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0xff,0x01,0x01,0x02]
+v_max3_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x02,0x02]
-v_div_scale_f32 v5, vcc, s1, -1, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x82,0x01,0x02]
+v_max3_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x06,0x03]
-v_div_scale_f32 v5, vcc, s1, 0.5, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xe0,0x01,0x02]
+v_max3_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xc2,0x03]
-v_div_scale_f32 v5, vcc, s1, -4.0, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xee,0x01,0x02]
+v_max3_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xde,0x03]
-v_div_scale_f32 v5, vcc, s1, v2, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x04,0x02,0x02]
+v_max3_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x24]
-v_div_scale_f32 v5, vcc, s1, v255, 0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xfe,0x03,0x02]
+v_max3_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x44]
-v_div_scale_f32 v5, vcc, s1, 0, -1
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x05,0x03]
+v_max3_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x84]
-v_div_scale_f32 v5, vcc, s1, 0, 0.5
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xc1,0x03]
+v_max3_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0xe4]
-v_div_scale_f32 v5, vcc, s1, 0, -4.0
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xdd,0x03]
+v_max3_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, v3
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x0d,0x04]
+v_max3_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_div_scale_f32 v5, vcc, s1, 0, v255
-// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xfd,0x07]
+v_max3_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02]
+v_max3_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_div_scale_f64 v[254:255], vcc, s[2:3], 0, 0
-// CHECK: [0xfe,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xd3,0xd1,0x01,0x05,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[4:5], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x04,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x0c]
-v_div_scale_f64 v[5:6], vcc, s[100:101], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x64,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x14]
-v_div_scale_f64 v[5:6], vcc, flat_scratch, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x66,0x00,0x01,0x02]
+v_max3_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x1c]
-v_div_scale_f64 v[5:6], vcc, vcc, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x6a,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, exec, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x7e,0x00,0x01,0x02]
+v_max3_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, 0, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0xff,0x05,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, -1, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0xc1,0x00,0x01,0x02]
+v_max3_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, 0.5, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0xf0,0x00,0x01,0x02]
+v_max3_i32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x65,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, -4.0, 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0xf7,0x00,0x01,0x02]
+v_max3_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x66,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, v[1:2], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x01,0x01,0x02]
+v_max3_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x67,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, v[254:255], 0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0xfe,0x01,0x01,0x02]
+v_max3_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6a,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], -1, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x82,0x01,0x02]
+v_max3_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6b,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0.5, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0xe0,0x01,0x02]
+v_max3_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7c,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], -4.0, 0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0xee,0x01,0x02]
+v_max3_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7e,0x04,0x0e,0x04]
-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_max3_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7f,0x04,0x0e,0x04]
-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_max3_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x80,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -1
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x05,0x03]
+v_max3_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0xc1,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0.5
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xc1,0x03]
+v_max3_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0xf0,0x04,0x0e,0x04]
-v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -4.0
-// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xdd,0x03]
+v_max3_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0xf7,0x04,0x0e,0x04]
-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_max3_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xff,0x0f,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_max3_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0c,0x04]
-v_div_fmas_f32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xcb,0x0c,0x04]
-v_div_fmas_f32 v255, 0, 0, 0
-// CHECK: [0xff,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xcd,0x0c,0x04]
-v_div_fmas_f32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0xc1,0x00,0x01,0x02]
+v_max3_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xcf,0x0c,0x04]
-v_div_fmas_f32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0xf0,0x00,0x01,0x02]
+v_max3_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xd5,0x0c,0x04]
-v_div_fmas_f32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0xf7,0x00,0x01,0x02]
+v_max3_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xd7,0x0c,0x04]
-v_div_fmas_f32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x01,0x01,0x02]
+v_max3_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xf9,0x0c,0x04]
-v_div_fmas_f32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0xff,0x01,0x01,0x02]
+v_max3_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xfd,0x0c,0x04]
-v_div_fmas_f32 v5, 0, -1, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x82,0x01,0x02]
+v_max3_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xff,0x0c,0x04]
-v_div_fmas_f32 v5, 0, 0.5, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0xe0,0x01,0x02]
+v_max3_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x01,0x0d,0x04]
-v_div_fmas_f32 v5, 0, -4.0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0xee,0x01,0x02]
+v_max3_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x83,0x0d,0x04]
-v_div_fmas_f32 v5, 0, v2, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x04,0x02,0x02]
+v_max3_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xe1,0x0d,0x04]
-v_div_fmas_f32 v5, 0, v255, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0xfe,0x03,0x02]
+v_max3_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xef,0x0d,0x04]
-v_div_fmas_f32 v5, 0, 0, -1
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x05,0x03]
+v_max3_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x07]
-v_div_fmas_f32 v5, 0, 0, 0.5
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xc1,0x03]
+v_max3_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x00]
-v_div_fmas_f32 v5, 0, 0, -4.0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xdd,0x03]
+v_max3_i32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x96,0x01]
-v_div_fmas_f32 v5, 0, 0, v3
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x0d,0x04]
+v_max3_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x9a,0x01]
-v_div_fmas_f32 v5, 0, 0, v255
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xfd,0x07]
+v_max3_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x9e,0x01]
-v_div_fmas_f32 v5, neg(0), 0, 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x22]
+v_max3_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xaa,0x01]
-v_div_fmas_f32 v5, 0, neg(0), 0
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x42]
+v_max3_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xae,0x01]
-v_div_fmas_f32 v5, 0, 0, neg(0)
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x82]
+v_max3_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xf2,0x01]
-v_div_fmas_f32 v5, neg(0), neg(0), neg(0)
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0xe2]
+v_max3_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfa,0x01]
-v_div_fmas_f32 v5, |0|, 0, 0
-// CHECK: [0x05,0x01,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x01]
-v_div_fmas_f32 v5, 0, |0|, 0
-// CHECK: [0x05,0x02,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x02,0x02]
-v_div_fmas_f32 v5, 0, 0, |0|
-// CHECK: [0x05,0x04,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x06,0x03]
-v_div_fmas_f32 v5, |0|, |0|, |0|
-// CHECK: [0x05,0x07,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xc2,0x03]
-v_div_fmas_f32 v5, 0, 0, 0 clamp
-// CHECK: [0x05,0x80,0xe2,0xd1,0x80,0x00,0x01,0x02]
+v_max3_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xde,0x03]
-v_div_fmas_f32 v5, 0, 0, 0 mul:2
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x0a]
+v_max3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 mul:4
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x12]
+v_max3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04]
-v_div_fmas_f32 v5, 0, 0, 0 div:2
-// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x1a]
+v_max3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0xff,0x05,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x04,0x0e,0x04]
-v_div_fmas_f64 v[254:255], vcc, vcc, vcc
-// CHECK: [0xfe,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x65,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], 0, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x80,0xd4,0xa8,0x01]
+v_max3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x66,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], -1, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0xc1,0xd4,0xa8,0x01]
+v_max3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x67,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], 0.5, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0xf0,0xd4,0xa8,0x01]
+v_max3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6a,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], -4.0, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0xf7,0xd4,0xa8,0x01]
+v_max3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6b,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], v[1:2], vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xd5,0xa8,0x01]
+v_max3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7c,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], v[254:255], vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0xfe,0xd5,0xa8,0x01]
+v_max3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7e,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, 0, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x00,0xa9,0x01]
+v_max3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7f,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, -1, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x82,0xa9,0x01]
+v_max3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x80,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, 0.5, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xe0,0xa9,0x01]
+v_max3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0xc1,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, -4.0, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xee,0xa9,0x01]
+v_max3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0xf0,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, v[2:3], vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x04,0xaa,0x01]
+v_max3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0xf7,0x04,0x0e,0x04]
-v_div_fmas_f64 v[5:6], vcc, v[254:255], vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xfc,0xab,0x01]
+v_max3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xff,0x0f,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, 0
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x00,0x02]
+v_max3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, -1
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x04,0x03]
+v_max3_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xcb,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, 0.5
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xc0,0x03]
+v_max3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xcd,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, -4.0
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xdc,0x03]
+v_max3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xcf,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, v[3:4]
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x0c,0x04]
+v_max3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xd5,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, v[254:255]
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xf8,0x07]
+v_max3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xd7,0x0c,0x04]
-v_div_fmas_f64 v[5:6], -vcc, vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x21]
+v_max3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xf9,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, -vcc, vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x41]
+v_max3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xfd,0x0c,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, -vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x81]
+v_max3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xff,0x0c,0x04]
-v_div_fmas_f64 v[5:6], -vcc, -vcc, -vcc
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0xe1]
+v_max3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x01,0x0d,0x04]
-v_div_fmas_f64 v[5:6], |vcc|, vcc, vcc
-// CHECK: [0x05,0x01,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x83,0x0d,0x04]
-v_div_fmas_f64 v[5:6], vcc, |vcc|, vcc
-// CHECK: [0x05,0x02,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xe1,0x0d,0x04]
-v_div_fmas_f64 v[5:6], vcc, vcc, |vcc|
-// CHECK: [0x05,0x04,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xef,0x0d,0x04]
-v_div_fmas_f64 v[5:6], |vcc|, |vcc|, |vcc|
-// CHECK: [0x05,0x07,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x07]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc clamp
-// CHECK: [0x05,0x80,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+v_max3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x00]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:2
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x09]
+v_max3_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x96,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:4
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x11]
+v_max3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x9a,0x01]
-v_div_fmas_f64 v[5:6], vcc, vcc, vcc div:2
-// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x19]
+v_max3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x9e,0x01]
-v_msad_u8 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xaa,0x01]
-v_msad_u8 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xae,0x01]
-v_msad_u8 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x65,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xf2,0x01]
-v_msad_u8 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x66,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfa,0x01]
-v_msad_u8 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x67,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x01]
-v_msad_u8 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x6a,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x02,0x02]
-v_msad_u8 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x6b,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x06,0x03]
-v_msad_u8 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x7c,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xc2,0x03]
-v_msad_u8 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x7e,0x00,0x01,0x02]
+v_max3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xde,0x03]
-v_msad_u8 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x7f,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x80,0x00,0x01,0x02]
+v_med3_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_msad_u8 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0xff,0x05,0x0e,0x04]
-v_msad_u8 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x04,0x0e,0x04]
-v_msad_u8 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x65,0x04,0x0e,0x04]
-v_msad_u8 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x01,0x01,0x02]
+v_med3_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x66,0x04,0x0e,0x04]
-v_msad_u8 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0xff,0x01,0x01,0x02]
+v_med3_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x67,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x82,0x01,0x02]
+v_med3_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6a,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xe0,0x01,0x02]
+v_med3_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6b,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xee,0x01,0x02]
+v_med3_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7c,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x04,0x02,0x02]
+v_med3_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7e,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xfe,0x03,0x02]
+v_med3_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7f,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x05,0x03]
+v_med3_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x80,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xc1,0x03]
+v_med3_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0xc1,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xdd,0x03]
+v_med3_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0xf0,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x0d,0x04]
+v_med3_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0xf7,0x04,0x0e,0x04]
-v_msad_u8 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xfd,0x07]
+v_med3_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xff,0x0f,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02]
+v_med3_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0c,0x04]
-v_qsad_pk_u16_u8 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02]
+v_med3_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xcb,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x04,0x00,0x01,0x02]
+v_med3_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xcd,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[100:101], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x64,0x00,0x01,0x02]
+v_med3_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xcf,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x66,0x00,0x01,0x02]
+v_med3_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xd5,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xd7,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x7e,0x00,0x01,0x02]
+v_med3_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xf9,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x80,0x00,0x01,0x02]
+v_med3_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xfd,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xff,0x0c,0x04]
-v_qsad_pk_u16_u8 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x01,0x0d,0x04]
-v_qsad_pk_u16_u8 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x83,0x0d,0x04]
-v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x01,0x01,0x02]
+v_med3_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xe1,0x0d,0x04]
-v_qsad_pk_u16_u8 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0xfe,0x01,0x01,0x02]
+v_med3_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xef,0x0d,0x04]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x82,0x01,0x02]
+v_med3_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x07]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0xe0,0x01,0x02]
+v_med3_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x00]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0xee,0x01,0x02]
+v_med3_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x96,0x01]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x04,0x02,0x02]
+v_med3_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x9a,0x01]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], v255, 0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0xfe,0x03,0x02]
+v_med3_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x9e,0x01]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x05,0x03]
+v_med3_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xaa,0x01]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xc1,0x03]
+v_med3_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xae,0x01]
-v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, -4.0
-// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xdd,0x03]
+v_med3_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xf2,0x01]
-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_med3_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfa,0x01]
-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_med3_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x01]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x02,0x02]
-v_mqsad_pk_u16_u8 v[254:255], s[2:3], 0, 0
-// CHECK: [0xfe,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x06,0x03]
-v_mqsad_pk_u16_u8 v[5:6], s[4:5], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x04,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xc2,0x03]
-v_mqsad_pk_u16_u8 v[5:6], s[100:101], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x64,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xde,0x03]
-v_mqsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x66,0x00,0x01,0x02]
+v_med3_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x24]
-v_mqsad_pk_u16_u8 v[5:6], vcc, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x44]
-v_mqsad_pk_u16_u8 v[5:6], exec, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x7e,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x84]
-v_mqsad_pk_u16_u8 v[5:6], 0, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x80,0x00,0x01,0x02]
+v_med3_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0xe4]
-v_mqsad_pk_u16_u8 v[5:6], -1, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], 0.5, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], -4.0, 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x01,0x01,0x02]
+v_med3_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], v[254:255], 0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0xfe,0x01,0x01,0x02]
+v_med3_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xd6,0xd1,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], -1, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x82,0x01,0x02]
+v_med3_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x0c]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0.5, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0xe0,0x01,0x02]
+v_med3_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x14]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], -4.0, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0xee,0x01,0x02]
+v_med3_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x1c]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x04,0x02,0x02]
+v_med3_i32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], v255, 0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0xfe,0x03,0x02]
+v_med3_i32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, -1
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x05,0x03]
+v_med3_i32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0xff,0x05,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, 0.5
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0xc1,0x03]
+v_med3_i32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x04,0x0e,0x04]
-v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, -4.0
-// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0xdd,0x03]
+v_med3_i32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x65,0x04,0x0e,0x04]
-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_med3_i32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x66,0x04,0x0e,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_med3_i32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x67,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, s2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x04,0x0c,0x04]
+v_med3_i32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6a,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[252:255], 0, s2, v[3:6]
-// CHECK: [0xfc,0x00,0xe7,0xd1,0x80,0x04,0x0c,0x04]
+v_med3_i32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6b,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], -1, s2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0xc1,0x04,0x0c,0x04]
+v_med3_i32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7c,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0.5, s2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0xf0,0x04,0x0c,0x04]
+v_med3_i32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7e,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], -4.0, s2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0xf7,0x04,0x0c,0x04]
+v_med3_i32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7f,0x04,0x0e,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_med3_i32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x80,0x04,0x0e,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_med3_i32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0xc1,0x04,0x0e,0x04]
-v_mqsad_u32_u8 v[5:8], 0, s101, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xca,0x0c,0x04]
+v_med3_i32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0xf0,0x04,0x0e,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_med3_i32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0xf7,0x04,0x0e,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_med3_i32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xff,0x0f,0x04]
-v_mqsad_u32_u8 v[5:8], 0, vcc_lo, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xd4,0x0c,0x04]
+v_med3_i32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,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_med3_i32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xcb,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, m0, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xf8,0x0c,0x04]
+v_med3_i32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xcd,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_med3_i32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xcf,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_med3_i32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xd5,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, 0, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x00,0x0d,0x04]
+v_med3_i32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xd7,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, -1, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x82,0x0d,0x04]
+v_med3_i32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xf9,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, 0.5, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xe0,0x0d,0x04]
+v_med3_i32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xfd,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, -4.0, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xee,0x0d,0x04]
+v_med3_i32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xff,0x0c,0x04]
-v_mqsad_u32_u8 v[5:8], 0, v2, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x04,0x0e,0x04]
+v_med3_i32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x01,0x0d,0x04]
-v_mqsad_u32_u8 v[5:8], 0, v255, v[3:6]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xfe,0x0f,0x04]
+v_med3_i32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x83,0x0d,0x04]
-v_mqsad_u32_u8 v[5:8], 0, s2, v[252:255]
-// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x04,0xf0,0x07]
+v_med3_i32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xe1,0x0d,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xef,0x0d,0x04]
-v_mad_u64_u32 v[254:255], s[12:13], s1, 0, 0
-// CHECK: [0xfe,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x07]
-v_mad_u64_u32 v[5:6], s[14:15], s1, 0, 0
-// CHECK: [0x05,0x0e,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x00]
-v_mad_u64_u32 v[5:6], s[100:101], s1, 0, 0
-// CHECK: [0x05,0x64,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x96,0x01]
-v_mad_u64_u32 v[5:6], flat_scratch, s1, 0, 0
-// CHECK: [0x05,0x66,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x9a,0x01]
-v_mad_u64_u32 v[5:6], vcc, s1, 0, 0
-// CHECK: [0x05,0x6a,0xe8,0xd1,0x01,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x9e,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], s101, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x65,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xaa,0x01]
-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_med3_i32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xae,0x01]
-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_med3_i32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xf2,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfa,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x6b,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x01]
-v_mad_u64_u32 v[5:6], s[12:13], m0, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x7c,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x02,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_med3_i32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x06,0x03]
-v_mad_u64_u32 v[5:6], s[12:13], exec_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x7f,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xc2,0x03]
-v_mad_u64_u32 v[5:6], s[12:13], 0, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x80,0x00,0x01,0x02]
+v_med3_i32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xde,0x03]
-v_mad_u64_u32 v[5:6], s[12:13], -1, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], 0.5, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], -4.0, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0xff,0x05,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], v1, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x01,0x01,0x02]
+v_med3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], v255, 0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0xff,0x01,0x01,0x02]
+v_med3_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x65,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, -1, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x82,0x01,0x02]
+v_med3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x66,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0.5, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xe0,0x01,0x02]
+v_med3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x67,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, -4.0, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xee,0x01,0x02]
+v_med3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6a,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, v2, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x04,0x02,0x02]
+v_med3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6b,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, v255, 0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xfe,0x03,0x02]
+v_med3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7c,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -1
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x05,0x03]
+v_med3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7e,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0.5
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xc1,0x03]
+v_med3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7f,0x04,0x0e,0x04]
-v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -4.0
-// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xdd,0x03]
+v_med3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x80,0x04,0x0e,0x04]
-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_med3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0xc1,0x04,0x0e,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_med3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0xf0,0x04,0x0e,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0xf7,0x04,0x0e,0x04]
-v_mad_i64_i32 v[254:255], s[12:13], s1, 0, 0
-// CHECK: [0xfe,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xff,0x0f,0x04]
-v_mad_i64_i32 v[5:6], s[14:15], s1, 0, 0
-// CHECK: [0x05,0x0e,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[100:101], s1, 0, 0
-// CHECK: [0x05,0x64,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xcb,0x0c,0x04]
-v_mad_i64_i32 v[5:6], flat_scratch, s1, 0, 0
-// CHECK: [0x05,0x66,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xcd,0x0c,0x04]
-v_mad_i64_i32 v[5:6], vcc, s1, 0, 0
-// CHECK: [0x05,0x6a,0xe9,0xd1,0x01,0x00,0x01,0x02]
+v_med3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xcf,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], s101, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x65,0x00,0x01,0x02]
+v_med3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xd5,0x0c,0x04]
-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_med3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xd7,0x0c,0x04]
-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_med3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xf9,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x6a,0x00,0x01,0x02]
+v_med3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xfd,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x6b,0x00,0x01,0x02]
+v_med3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xff,0x0c,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], m0, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x7c,0x00,0x01,0x02]
+v_med3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x01,0x0d,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], exec_lo, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x7e,0x00,0x01,0x02]
+v_med3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x83,0x0d,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], exec_hi, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x7f,0x00,0x01,0x02]
+v_med3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xe1,0x0d,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], 0, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x80,0x00,0x01,0x02]
+v_med3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xef,0x0d,0x04]
-v_mad_i64_i32 v[5:6], s[12:13], -1, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0xc1,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x07]
-v_mad_i64_i32 v[5:6], s[12:13], 0.5, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0xf0,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x00]
-v_mad_i64_i32 v[5:6], s[12:13], -4.0, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0xf7,0x00,0x01,0x02]
+v_med3_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x96,0x01]
-v_mad_i64_i32 v[5:6], s[12:13], v1, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x01,0x01,0x02]
+v_med3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x9a,0x01]
-v_mad_i64_i32 v[5:6], s[12:13], v255, 0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0xff,0x01,0x01,0x02]
+v_med3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x9e,0x01]
-v_mad_i64_i32 v[5:6], s[12:13], s1, -1, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x82,0x01,0x02]
+v_med3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xaa,0x01]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0.5, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xe0,0x01,0x02]
+v_med3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xae,0x01]
-v_mad_i64_i32 v[5:6], s[12:13], s1, -4.0, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xee,0x01,0x02]
+v_med3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xf2,0x01]
-v_mad_i64_i32 v[5:6], s[12:13], s1, v2, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x04,0x02,0x02]
+v_med3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfa,0x01]
-v_mad_i64_i32 v[5:6], s[12:13], s1, v255, 0
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xfe,0x03,0x02]
+v_med3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x01]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, -1
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x05,0x03]
+v_med3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x02,0x02]
-v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0.5
-// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xc1,0x03]
+v_med3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x06,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_med3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xc2,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_med3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xde,0x03]
-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_sad_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04]
-v_perm_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x01,0x02]
+v_sad_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04]
-v_perm_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xed,0xd1,0x01,0x00,0x01,0x02]
+v_sad_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0xff,0x05,0x0e,0x04]
-v_perm_b32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x65,0x00,0x01,0x02]
+v_sad_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x04,0x0e,0x04]
-v_perm_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x66,0x00,0x01,0x02]
+v_sad_u8 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x65,0x04,0x0e,0x04]
-v_perm_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x67,0x00,0x01,0x02]
+v_sad_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x66,0x04,0x0e,0x04]
-v_perm_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x6a,0x00,0x01,0x02]
+v_sad_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x67,0x04,0x0e,0x04]
-v_perm_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x6b,0x00,0x01,0x02]
+v_sad_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6a,0x04,0x0e,0x04]
-v_perm_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x7c,0x00,0x01,0x02]
+v_sad_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6b,0x04,0x0e,0x04]
-v_perm_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x7e,0x00,0x01,0x02]
+v_sad_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7c,0x04,0x0e,0x04]
-v_perm_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x7f,0x00,0x01,0x02]
+v_sad_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7e,0x04,0x0e,0x04]
-v_perm_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x80,0x00,0x01,0x02]
+v_sad_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7f,0x04,0x0e,0x04]
-v_perm_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0xc1,0x00,0x01,0x02]
+v_sad_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x80,0x04,0x0e,0x04]
-v_perm_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0xf0,0x00,0x01,0x02]
+v_sad_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0xc1,0x04,0x0e,0x04]
-v_perm_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0xf7,0x00,0x01,0x02]
+v_sad_u8 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0xf0,0x04,0x0e,0x04]
-v_perm_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x01,0x01,0x02]
+v_sad_u8 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0xf7,0x04,0x0e,0x04]
-v_perm_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0xff,0x01,0x01,0x02]
+v_sad_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xff,0x0f,0x04]
-v_perm_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x82,0x01,0x02]
+v_sad_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0c,0x04]
-v_perm_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xe0,0x01,0x02]
+v_sad_u8 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xcb,0x0c,0x04]
-v_perm_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xee,0x01,0x02]
+v_sad_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xcd,0x0c,0x04]
-v_perm_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x04,0x02,0x02]
+v_sad_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xcf,0x0c,0x04]
-v_perm_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xfe,0x03,0x02]
+v_sad_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xd5,0x0c,0x04]
-v_perm_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x05,0x03]
+v_sad_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xd7,0x0c,0x04]
-v_perm_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xc1,0x03]
+v_sad_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xf9,0x0c,0x04]
-v_perm_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xdd,0x03]
+v_sad_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xfd,0x0c,0x04]
-v_perm_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x0d,0x04]
+v_sad_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xff,0x0c,0x04]
-v_perm_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xfd,0x07]
+v_sad_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x01,0x0d,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x04,0x00,0x00]
+v_sad_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x83,0x0d,0x04]
-v_cvt_pkaccum_u8_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0xf0,0xd1,0x80,0x04,0x00,0x00]
+v_sad_u8 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xe1,0x0d,0x04]
-v_cvt_pkaccum_u8_f32 v5, -1, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0xc1,0x04,0x00,0x00]
+v_sad_u8 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xef,0x0d,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0xf0,0x04,0x00,0x00]
+v_sad_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x07]
-v_cvt_pkaccum_u8_f32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0xf7,0x04,0x00,0x00]
+v_sad_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x00]
-v_cvt_pkaccum_u8_f32 v5, v1, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x00,0x00]
+v_sad_u8 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x96,0x01]
+
+v_sad_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x9a,0x01]
+
+v_sad_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x9e,0x01]
+
+v_sad_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xaa,0x01]
+
+v_sad_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xae,0x01]
+
+v_sad_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xf2,0x01]
+
+v_sad_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfa,0x01]
+
+v_sad_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x01]
+
+v_sad_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x02,0x02]
+
+v_sad_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x06,0x03]
+
+v_sad_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xc2,0x03]
+
+v_sad_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xde,0x03]
+
+v_sad_hi_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_hi_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_hi_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0xff,0x05,0x0e,0x04]
+
+v_sad_hi_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x65,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x66,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x67,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x80,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_sad_hi_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xff,0x0f,0x04]
+
+v_sad_hi_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xff,0x0c,0x04]
+
+v_sad_hi_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x01,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x83,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xef,0x0d,0x04]
+
+v_sad_hi_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x07]
+
+v_sad_hi_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x00]
+
+v_sad_hi_u8 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x96,0x01]
+
+v_sad_hi_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x9a,0x01]
+
+v_sad_hi_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x9e,0x01]
+
+v_sad_hi_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xaa,0x01]
+
+v_sad_hi_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xae,0x01]
+
+v_sad_hi_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xf2,0x01]
+
+v_sad_hi_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfa,0x01]
+
+v_sad_hi_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x01]
+
+v_sad_hi_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x02,0x02]
+
+v_sad_hi_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0x06,0x03]
+
+v_sad_hi_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xc2,0x03]
+
+v_sad_hi_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x05,0xde,0x03]
+
+v_sad_u16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_u16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_u16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0xff,0x05,0x0e,0x04]
+
+v_sad_u16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x04,0x0e,0x04]
+
+v_sad_u16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x65,0x04,0x0e,0x04]
+
+v_sad_u16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x66,0x04,0x0e,0x04]
+
+v_sad_u16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x67,0x04,0x0e,0x04]
+
+v_sad_u16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_sad_u16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_sad_u16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_sad_u16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_sad_u16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_sad_u16 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x80,0x04,0x0e,0x04]
+
+v_sad_u16 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_sad_u16 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_sad_u16 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_sad_u16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xff,0x0f,0x04]
+
+v_sad_u16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0c,0x04]
+
+v_sad_u16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_sad_u16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_sad_u16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_sad_u16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_sad_u16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_sad_u16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_sad_u16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_sad_u16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xff,0x0c,0x04]
+
+v_sad_u16 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x01,0x0d,0x04]
+
+v_sad_u16 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x83,0x0d,0x04]
+
+v_sad_u16 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_sad_u16 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xef,0x0d,0x04]
+
+v_sad_u16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x07]
+
+v_sad_u16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x00]
+
+v_sad_u16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x96,0x01]
+
+v_sad_u16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x9a,0x01]
+
+v_sad_u16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x9e,0x01]
+
+v_sad_u16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xaa,0x01]
+
+v_sad_u16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xae,0x01]
+
+v_sad_u16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xf2,0x01]
+
+v_sad_u16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfa,0x01]
+
+v_sad_u16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x01]
+
+v_sad_u16 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x02,0x02]
+
+v_sad_u16 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x06,0x03]
+
+v_sad_u16 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xc2,0x03]
+
+v_sad_u16 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xde,0x03]
+
+v_sad_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04]
+
+v_sad_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0xff,0x05,0x0e,0x04]
+
+v_sad_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x04,0x0e,0x04]
+
+v_sad_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x65,0x04,0x0e,0x04]
+
+v_sad_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x66,0x04,0x0e,0x04]
+
+v_sad_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x67,0x04,0x0e,0x04]
+
+v_sad_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_sad_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_sad_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_sad_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_sad_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_sad_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x80,0x04,0x0e,0x04]
+
+v_sad_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_sad_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_sad_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_sad_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xff,0x0f,0x04]
+
+v_sad_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0c,0x04]
+
+v_sad_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_sad_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_sad_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_sad_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_sad_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_sad_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_sad_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_sad_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xff,0x0c,0x04]
+
+v_sad_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x01,0x0d,0x04]
+
+v_sad_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x83,0x0d,0x04]
+
+v_sad_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_sad_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xef,0x0d,0x04]
+
+v_sad_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x07]
+
+v_sad_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x00]
+
+v_sad_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x96,0x01]
+
+v_sad_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x9a,0x01]
+
+v_sad_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x9e,0x01]
+
+v_sad_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xaa,0x01]
+
+v_sad_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xae,0x01]
+
+v_sad_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xf2,0x01]
+
+v_sad_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfa,0x01]
+
+v_sad_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x01]
+
+v_sad_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x02,0x02]
+
+v_sad_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x06,0x03]
+
+v_sad_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xc2,0x03]
+
+v_sad_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xde,0x03]
+
+v_cvt_pk_u8_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0xff,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x65,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x66,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x67,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x80,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xff,0x0f,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xff,0x0c,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x01,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x83,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xef,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x07]
+
+v_cvt_pk_u8_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x00]
+
+v_cvt_pk_u8_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x96,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x9a,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x9e,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xaa,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xae,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xf2,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfa,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x01]
+
+v_cvt_pk_u8_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x02,0x02]
+
+v_cvt_pk_u8_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x06,0x03]
+
+v_cvt_pk_u8_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xc2,0x03]
+
+v_cvt_pk_u8_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xde,0x03]
+
+v_cvt_pk_u8_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x24]
+
+v_cvt_pk_u8_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_cvt_pk_u8_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0xff,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x65,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x66,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x67,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xff,0x0f,0x04]
+
+v_div_fixup_f32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xff,0x0c,0x04]
+
+v_div_fixup_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x07]
+
+v_div_fixup_f32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x00]
+
+v_div_fixup_f32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x96,0x01]
+
+v_div_fixup_f32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x9a,0x01]
+
+v_div_fixup_f32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x9e,0x01]
+
+v_div_fixup_f32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_fixup_f32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xae,0x01]
+
+v_div_fixup_f32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xf2,0x01]
+
+v_div_fixup_f32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfa,0x01]
+
+v_div_fixup_f32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x01]
+
+v_div_fixup_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_fixup_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_fixup_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_fixup_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fixup_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x24]
+
+v_div_fixup_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x44]
+
+v_div_fixup_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x84]
+
+v_div_fixup_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_div_fixup_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xde,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x0c]
+
+v_div_fixup_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x14]
+
+v_div_fixup_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x1c]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[254:255], v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], s[2:3], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], s[4:5], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x04,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], s[100:101], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x64,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], flat_scratch, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x66,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], exec, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0f,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], s[4:5], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x09,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], s[6:7], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x0d,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], s[100:101], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xc9,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], flat_scratch, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], exec, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x07]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[6:7]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x1a,0x00]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[8:9]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x22,0x00]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[100:101]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x92,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], flat_scratch
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x9a,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], exec
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x01]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -1
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fixup_f64 v[5:6], -v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x24]
+
+v_div_fixup_f64 v[5:6], v[1:2], -v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x44]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x84]
+
+v_div_fixup_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_div_fixup_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4]
+// CHECK: [0x05,0x01,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4]
+// CHECK: [0x05,0x02,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], |v[3:4]|
+// CHECK: [0x05,0x04,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]|
+// CHECK: [0x05,0x07,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp
+// CHECK: [0x05,0x80,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x0c]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x14]
+
+v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x1c]
+
+v_div_scale_f32 v5, vcc, v1, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_scale_f32 v255, vcc, v1, v2, v3
+// CHECK: [0xff,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, v255, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xff,0x05,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, s1, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, s101, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x65,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x66,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x67,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, vcc_lo, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, vcc_hi, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, m0, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, exec_lo, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, exec_hi, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, 0, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, -1, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, 0.5, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, -4.0, v2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_scale_f32 v5, vcc, v1, v255, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0f,0x04]
+
+v_div_scale_f32 v5, vcc, v1, s2, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, s101, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, vcc_lo, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, vcc_hi, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, m0, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, exec_lo, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, exec_hi, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0c,0x04]
+
+v_div_scale_f32 v5, vcc, v1, 0, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_scale_f32 v5, vcc, v1, -1, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_scale_f32 v5, vcc, v1, 0.5, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_scale_f32 v5, vcc, v1, -4.0, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_scale_f32 v5, vcc, v1, v2, v255
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x07]
+
+v_div_scale_f32 v5, vcc, v1, v2, s3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x00]
+
+v_div_scale_f32 v5, vcc, v1, v2, s101
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x96,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9a,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9e,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, vcc_lo
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, vcc_hi
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xae,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, m0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xf2,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, exec_lo
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfa,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, exec_hi
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x01]
+
+v_div_scale_f32 v5, vcc, v1, v2, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_scale_f32 v5, vcc, v1, v2, -1
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_scale_f32 v5, vcc, v1, v2, 0.5
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_scale_f32 v5, vcc, v1, v2, -4.0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_scale_f64 v[254:255], vcc, v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, s[4:5], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x04,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, s[100:101], v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x64,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, flat_scratch, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x66,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, exec, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0f,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], s[4:5], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x09,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], s[6:7], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x0d,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], s[100:101], v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xc9,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], flat_scratch, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], exec, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x07]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[6:7]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x1a,0x00]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[8:9]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x22,0x00]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[100:101]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x92,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], flat_scratch
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x9a,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], exec
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x01]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -1
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fmas_f32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0xff,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_fmas_f32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_fmas_f32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_fmas_f32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0xff,0x0f,0x04]
+
+v_div_fmas_f32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_fmas_f32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_fmas_f32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_fmas_f32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_fmas_f32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xfe,0x07]
+
+v_div_fmas_f32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_fmas_f32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_fmas_f32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_fmas_f32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fmas_f32 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x24]
+
+v_div_fmas_f32 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x44]
+
+v_div_fmas_f32 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x84]
+
+v_div_fmas_f32 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_div_fmas_f32 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f32 v5, v1, v2, v3 mul:2
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x0c]
+
+v_div_fmas_f32 v5, v1, v2, v3 mul:4
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x14]
+
+v_div_fmas_f32 v5, v1, v2, v3 div:2
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x1c]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[254:255], v[1:2], v[2:3], v[3:4]
+// CHECK: [0xfe,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[254:255], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], vcc, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], 0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x80,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], -1, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], 0.5, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], -4.0, v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[254:255], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xfd,0x0f,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], vcc, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x01,0x0d,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x83,0x0d,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xef,0x0d,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[254:255]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xfa,0x07]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xaa,0x01]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x02,0x02]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -1
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x06,0x03]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0.5
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xc2,0x03]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -4.0
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xde,0x03]
+
+v_div_fmas_f64 v[5:6], -v[1:2], v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x24]
+
+v_div_fmas_f64 v[5:6], v[1:2], -v[2:3], v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x44]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x84]
+
+v_div_fmas_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_div_fmas_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4]
+// CHECK: [0x05,0x01,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4]
+// CHECK: [0x05,0x02,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], |v[3:4]|
+// CHECK: [0x05,0x04,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]|
+// CHECK: [0x05,0x07,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp
+// CHECK: [0x05,0x80,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x0c]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x14]
+
+v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x1c]
+
+v_msad_u8 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04]
+
+v_msad_u8 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04]
+
+v_msad_u8 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0xff,0x05,0x0e,0x04]
+
+v_msad_u8 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x04,0x0e,0x04]
+
+v_msad_u8 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x65,0x04,0x0e,0x04]
+
+v_msad_u8 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x66,0x04,0x0e,0x04]
+
+v_msad_u8 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x67,0x04,0x0e,0x04]
+
+v_msad_u8 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_msad_u8 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_msad_u8 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_msad_u8 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_msad_u8 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_msad_u8 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x80,0x04,0x0e,0x04]
+
+v_msad_u8 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_msad_u8 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_msad_u8 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_msad_u8 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xff,0x0f,0x04]
+
+v_msad_u8 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0c,0x04]
+
+v_msad_u8 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_msad_u8 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_msad_u8 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_msad_u8 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_msad_u8 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_msad_u8 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_msad_u8 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_msad_u8 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xff,0x0c,0x04]
+
+v_msad_u8 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x01,0x0d,0x04]
+
+v_msad_u8 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x83,0x0d,0x04]
+
+v_msad_u8 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_msad_u8 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xef,0x0d,0x04]
+
+v_msad_u8 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x07]
+
+v_msad_u8 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x00]
+
+v_msad_u8 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x96,0x01]
+
+v_msad_u8 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x9a,0x01]
+
+v_msad_u8 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x9e,0x01]
+
+v_msad_u8 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xaa,0x01]
+
+v_msad_u8 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xae,0x01]
+
+v_msad_u8 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xf2,0x01]
+
+v_msad_u8 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfa,0x01]
+
+v_msad_u8 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x01]
+
+v_msad_u8 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x02,0x02]
+
+v_msad_u8 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x06,0x03]
+
+v_msad_u8 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xc2,0x03]
+
+v_msad_u8 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xde,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4]
+// CHECK: [0xfe,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x04,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[100:101], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x64,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x66,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], exec, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], 0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x80,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], -1, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xff,0x0f,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], s101, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xff,0x0c,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x01,0x0d,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x83,0x0d,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0xef,0x0d,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x07]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x1a,0x00]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x22,0x00]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[100:101]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x92,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x9a,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xaa,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, exec
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x01]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x02,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, -1
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x06,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, 0.5
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xc2,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, -4.0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xde,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4]
+// CHECK: [0xfe,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0xfe,0x05,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x04,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[100:101], v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x64,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], exec, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], 0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], -1, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xff,0x0f,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], s101, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0.5, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], -4.0, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x07]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x1a,0x00]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x22,0x00]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[100:101]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x92,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x9a,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xaa,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, exec
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x01]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x02,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, -1
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x06,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, 0.5
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xc2,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, -4.0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xde,0x03]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], s[2:3], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x02,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], s[4:5], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x04,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], s[100:101], v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x64,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], flat_scratch, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], vcc, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], exec, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], 0, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], -1, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], 0.5, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], -4.0, v2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], s2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], s101, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], flat_scratch_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], flat_scratch_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], vcc_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], vcc_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], v[1:2], m0, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xf9,0x0c,0x04]
-v_cvt_pkaccum_u8_f32 v5, v255, s2
-// CHECK: [0x05,0x00,0xf0,0xd1,0xff,0x05,0x00,0x00]
+v_mqsad_u32_u8 v[252:255], v[1:2], exec_lo, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xfd,0x0c,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, s101
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xca,0x00,0x00]
+v_mqsad_u32_u8 v[252:255], v[1:2], exec_hi, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xff,0x0c,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xcc,0x00,0x00]
+v_mqsad_u32_u8 v[252:255], v[1:2], 0, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0x01,0x0d,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xce,0x00,0x00]
+v_mqsad_u32_u8 v[252:255], v[1:2], -1, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0x83,0x0d,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xd4,0x00,0x00]
+v_mqsad_u32_u8 v[252:255], v[1:2], 0.5, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xe1,0x0d,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xd6,0x00,0x00]
+v_mqsad_u32_u8 v[252:255], v[1:2], -4.0, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x01,0xef,0x0d,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, m0
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xf8,0x00,0x00]
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xfc,0x00,0x00]
+v_mad_u64_u32 v[254:255], s[12:13], v1, v2, v[3:4]
+// CHECK: [0xfe,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xfe,0x00,0x00]
+v_mad_u64_u32 v[5:6], s[14:15], v1, v2, v[3:4]
+// CHECK: [0x05,0x0e,0xe8,0xd1,0x01,0x05,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x00,0x01,0x00]
+v_mad_u64_u32 v[5:6], s[100:101], v1, v2, v[3:4]
+// CHECK: [0x05,0x64,0xe8,0xd1,0x01,0x05,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, -1
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x82,0x01,0x00]
+v_mad_u64_u32 v[5:6], flat_scratch, v1, v2, v[3:4]
+// CHECK: [0x05,0x66,0xe8,0xd1,0x01,0x05,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xe0,0x01,0x00]
+v_mad_u64_u32 v[5:6], vcc, v1, v2, v[3:4]
+// CHECK: [0x05,0x6a,0xe8,0xd1,0x01,0x05,0x0e,0x04]
-v_cvt_pkaccum_u8_f32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xee,0x01,0x00]
+v_mad_u64_u32 v[5:6], s[12:13], v255, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xff,0x05,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], s101, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x65,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x67,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], m0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], exec_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], exec_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], 0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], -1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v255, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0f,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, s2, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, s101, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, m0, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, exec_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, exec_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, 0, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, -1, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, 0.5, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, -4.0, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[254:255]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x07]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x1a,0x00]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x22,0x00]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[100:101]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x92,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x9a,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xaa,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, exec
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x01]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x02,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -1
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x06,0x03]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0.5
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xc2,0x03]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -4.0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xde,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[254:255], s[12:13], v1, v2, v[3:4]
+// CHECK: [0xfe,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[14:15], v1, v2, v[3:4]
+// CHECK: [0x05,0x0e,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[100:101], v1, v2, v[3:4]
+// CHECK: [0x05,0x64,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], flat_scratch, v1, v2, v[3:4]
+// CHECK: [0x05,0x66,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], vcc, v1, v2, v[3:4]
+// CHECK: [0x05,0x6a,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v255, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xff,0x05,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], s101, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x65,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x66,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x67,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], m0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], exec_lo, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], exec_hi, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], 0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], -1, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], 0.5, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], -4.0, v2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v255, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0f,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, s2, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, s101, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, m0, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, exec_lo, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, exec_hi, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0c,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, 0, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x01,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, -1, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x83,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, 0.5, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, -4.0, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xef,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[254:255]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x07]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[6:7]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x1a,0x00]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[8:9]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x22,0x00]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[100:101]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x92,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, flat_scratch
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x9a,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, vcc
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xaa,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, exec
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x01]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x02,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -1
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x06,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0.5
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xc2,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -4.0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xde,0x03]
+
+v_perm_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04]
+
+v_perm_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04]
+
+v_perm_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0xff,0x05,0x0e,0x04]
+
+v_perm_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x04,0x0e,0x04]
+
+v_perm_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x65,0x04,0x0e,0x04]
+
+v_perm_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x66,0x04,0x0e,0x04]
+
+v_perm_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x67,0x04,0x0e,0x04]
+
+v_perm_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_perm_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_perm_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_perm_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_perm_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_perm_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x80,0x04,0x0e,0x04]
+
+v_perm_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_perm_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_perm_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_perm_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xff,0x0f,0x04]
+
+v_perm_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0c,0x04]
+
+v_perm_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_perm_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_perm_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_perm_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_perm_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_perm_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_perm_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_perm_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xff,0x0c,0x04]
+
+v_perm_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x01,0x0d,0x04]
+
+v_perm_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x83,0x0d,0x04]
+
+v_perm_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_perm_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xef,0x0d,0x04]
+
+v_perm_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x07]
+
+v_perm_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x00]
+
+v_perm_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x96,0x01]
+
+v_perm_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x9a,0x01]
+
+v_perm_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x9e,0x01]
+
+v_perm_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xaa,0x01]
+
+v_perm_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xae,0x01]
+
+v_perm_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xf2,0x01]
+
+v_perm_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfa,0x01]
+
+v_perm_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x01]
+
+v_perm_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x02,0x02]
+
+v_perm_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0x06,0x03]
+
+v_perm_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xc2,0x03]
+
+v_perm_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x05,0xde,0x03]
+
+v_cvt_pkaccum_u8_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v255, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xff,0x05,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x65,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x66,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x67,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x6a,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x6b,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x7c,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x7e,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x7f,0x04,0x02,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, -1, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xc1,0x04,0x02,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.5, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xf0,0x04,0x02,0x00]
-v_cvt_pkaccum_u8_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0xf0,0xd1,0x80,0x04,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xf7,0x04,0x02,0x00]
-v_cvt_pkaccum_u8_f32 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0xf0,0xd1,0x80,0x04,0x00,0x00]
+v_cvt_pkaccum_u8_f32 v5, v1, v255
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xff,0x03,0x00]
-v_xad_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, s2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x00,0x00]
-v_xad_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xf3,0xd1,0x01,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, s101
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xcb,0x00,0x00]
-v_xad_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x65,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xcd,0x00,0x00]
-v_xad_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x66,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xcf,0x00,0x00]
-v_xad_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x67,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xd5,0x00,0x00]
-v_xad_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x6a,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xd7,0x00,0x00]
-v_xad_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x6b,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, m0
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xf9,0x00,0x00]
-v_xad_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x7c,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xfd,0x00,0x00]
-v_xad_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x7e,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xff,0x00,0x00]
-v_xad_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x7f,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, 0
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x01,0x01,0x00]
-v_xad_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x80,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x83,0x01,0x00]
-v_xad_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0xc1,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xe1,0x01,0x00]
-v_xad_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0xf0,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0xef,0x01,0x00]
-v_xad_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0xf7,0x00,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, -v1, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x20]
-v_xad_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x01,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0xf0,0xd1,0x01,0x05,0x02,0x00]
-v_xad_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0xff,0x01,0x01,0x02]
+v_cvt_pkaccum_u8_f32 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0xf0,0xd1,0x01,0x05,0x02,0x00]
-v_xad_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x82,0x01,0x02]
+v_xad_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x0e,0x04]
-v_xad_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xe0,0x01,0x02]
+v_xad_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xf3,0xd1,0x01,0x05,0x0e,0x04]
-v_xad_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xee,0x01,0x02]
+v_xad_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0xff,0x05,0x0e,0x04]
-v_xad_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x04,0x02,0x02]
+v_xad_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x04,0x0e,0x04]
-v_xad_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xfe,0x03,0x02]
+v_xad_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x65,0x04,0x0e,0x04]
-v_xad_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0x05,0x03]
+v_xad_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x66,0x04,0x0e,0x04]
-v_xad_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0xc1,0x03]
+v_xad_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x67,0x04,0x0e,0x04]
-v_xad_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0xdd,0x03]
+v_xad_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x6a,0x04,0x0e,0x04]
-v_xad_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0x0d,0x04]
+v_xad_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x6b,0x04,0x0e,0x04]
-v_xad_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0xfd,0x07]
+v_xad_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x7c,0x04,0x0e,0x04]
-v_lshl_add_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0x01,0x02]
+v_xad_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x7e,0x04,0x0e,0x04]
-v_lshl_add_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xfd,0xd1,0x01,0x00,0x01,0x02]
+v_xad_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x7f,0x04,0x0e,0x04]
-v_lshl_add_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x65,0x00,0x01,0x02]
+v_xad_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x80,0x04,0x0e,0x04]
-v_lshl_add_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x66,0x00,0x01,0x02]
+v_xad_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0xc1,0x04,0x0e,0x04]
-v_lshl_add_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x67,0x00,0x01,0x02]
+v_xad_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0xf0,0x04,0x0e,0x04]
-v_lshl_add_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x6a,0x00,0x01,0x02]
+v_xad_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0xf7,0x04,0x0e,0x04]
-v_lshl_add_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x6b,0x00,0x01,0x02]
+v_xad_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xff,0x0f,0x04]
-v_lshl_add_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x7c,0x00,0x01,0x02]
+v_xad_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x0c,0x04]
-v_lshl_add_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x7e,0x00,0x01,0x02]
+v_xad_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xcb,0x0c,0x04]
-v_lshl_add_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x7f,0x00,0x01,0x02]
+v_xad_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xcd,0x0c,0x04]
-v_lshl_add_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x80,0x00,0x01,0x02]
+v_xad_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xcf,0x0c,0x04]
-v_lshl_add_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0xc1,0x00,0x01,0x02]
+v_xad_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xd5,0x0c,0x04]
-v_lshl_add_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0xf0,0x00,0x01,0x02]
+v_xad_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xd7,0x0c,0x04]
-v_lshl_add_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0xf7,0x00,0x01,0x02]
+v_xad_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xf9,0x0c,0x04]
-v_lshl_add_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x01,0x01,0x02]
+v_xad_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xfd,0x0c,0x04]
-v_lshl_add_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0xff,0x01,0x01,0x02]
+v_xad_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xff,0x0c,0x04]
-v_lshl_add_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x82,0x01,0x02]
+v_xad_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x01,0x0d,0x04]
-v_lshl_add_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xe0,0x01,0x02]
+v_xad_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x83,0x0d,0x04]
-v_lshl_add_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xee,0x01,0x02]
+v_xad_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xe1,0x0d,0x04]
-v_lshl_add_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x04,0x02,0x02]
+v_xad_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xef,0x0d,0x04]
-v_lshl_add_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xfe,0x03,0x02]
+v_xad_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xfe,0x07]
-v_lshl_add_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0x05,0x03]
+v_xad_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x0e,0x00]
-v_lshl_add_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0xc1,0x03]
+v_xad_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x96,0x01]
-v_lshl_add_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0xdd,0x03]
+v_xad_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x9a,0x01]
-v_lshl_add_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0x0d,0x04]
+v_xad_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x9e,0x01]
-v_lshl_add_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0xfd,0x07]
+v_xad_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xaa,0x01]
-v_add_lshl_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0x01,0x02]
+v_xad_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xae,0x01]
-v_add_lshl_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xfe,0xd1,0x01,0x00,0x01,0x02]
+v_xad_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xf2,0x01]
-v_add_lshl_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x65,0x00,0x01,0x02]
+v_xad_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xfa,0x01]
-v_add_lshl_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x66,0x00,0x01,0x02]
+v_xad_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xfe,0x01]
-v_add_lshl_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x67,0x00,0x01,0x02]
+v_xad_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x02,0x02]
-v_add_lshl_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x6a,0x00,0x01,0x02]
+v_xad_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x06,0x03]
-v_add_lshl_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x6b,0x00,0x01,0x02]
+v_xad_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xc2,0x03]
-v_add_lshl_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x7c,0x00,0x01,0x02]
+v_xad_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xde,0x03]
-v_add_lshl_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x04]
-v_add_lshl_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x7f,0x00,0x01,0x02]
+v_min3_f16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x04]
-v_add_lshl_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x80,0x00,0x01,0x02]
+v_min3_f16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0xff,0x05,0x0e,0x04]
-v_add_lshl_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_f16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x04,0x0e,0x04]
-v_add_lshl_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_f16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x65,0x04,0x0e,0x04]
-v_add_lshl_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_f16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x66,0x04,0x0e,0x04]
-v_add_lshl_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x01,0x01,0x02]
+v_min3_f16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x67,0x04,0x0e,0x04]
-v_add_lshl_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0xff,0x01,0x01,0x02]
+v_min3_f16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x6a,0x04,0x0e,0x04]
-v_add_lshl_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x82,0x01,0x02]
+v_min3_f16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x6b,0x04,0x0e,0x04]
-v_add_lshl_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_f16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x7c,0x04,0x0e,0x04]
-v_add_lshl_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xee,0x01,0x02]
+v_min3_f16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x7e,0x04,0x0e,0x04]
-v_add_lshl_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x04,0x02,0x02]
+v_min3_f16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x7f,0x04,0x0e,0x04]
-v_add_lshl_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_f16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0xff,0x0f,0x04]
-v_add_lshl_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0x05,0x03]
+v_min3_f16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0c,0x04]
-v_add_lshl_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_f16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0xcb,0x0c,0x04]
-v_add_lshl_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_f16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0xcd,0x0c,0x04]
-v_add_lshl_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_f16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0xcf,0x0c,0x04]
-v_add_lshl_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_f16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0xd5,0x0c,0x04]
-v_add3_u32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0xd7,0x0c,0x04]
-v_add3_u32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0xff,0xd1,0x01,0x00,0x01,0x02]
+v_min3_f16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0xf9,0x0c,0x04]
-v_add3_u32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x65,0x00,0x01,0x02]
+v_min3_f16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0xfd,0x0c,0x04]
-v_add3_u32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x66,0x00,0x01,0x02]
+v_min3_f16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0xff,0x0c,0x04]
-v_add3_u32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x67,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xfe,0x07]
-v_add3_u32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x6a,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x00]
-v_add3_u32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x6b,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x96,0x01]
-v_add3_u32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x7c,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x9a,0x01]
-v_add3_u32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x7e,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x9e,0x01]
-v_add3_u32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x7f,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xaa,0x01]
-v_add3_u32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x80,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xae,0x01]
-v_add3_u32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0xc1,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xf2,0x01]
-v_add3_u32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0xf0,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xfa,0x01]
-v_add3_u32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0xf7,0x00,0x01,0x02]
+v_min3_f16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xfe,0x01]
-v_add3_u32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x01,0x01,0x02]
+v_min3_f16 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x24]
-v_add3_u32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0xff,0x01,0x01,0x02]
+v_min3_f16 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x44]
-v_add3_u32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x82,0x01,0x02]
+v_min3_f16 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x84]
-v_add3_u32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xe0,0x01,0x02]
+v_min3_f16 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0xe4]
-v_add3_u32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xee,0x01,0x02]
+v_min3_f16 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xf4,0xd1,0x01,0x05,0x0e,0x04]
-v_add3_u32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x04,0x02,0x02]
+v_min3_f16 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xf4,0xd1,0x01,0x05,0x0e,0x04]
-v_add3_u32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xfe,0x03,0x02]
+v_min3_f16 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xf4,0xd1,0x01,0x05,0x0e,0x04]
-v_add3_u32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0x05,0x03]
+v_min3_f16 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xf4,0xd1,0x01,0x05,0x0e,0x04]
-v_add3_u32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0xc1,0x03]
+v_min3_f16 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xf4,0xd1,0x01,0x05,0x0e,0x04]
-v_add3_u32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0xdd,0x03]
+v_min3_i16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x0e,0x04]
-v_add3_u32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0x0d,0x04]
+v_min3_i16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xf5,0xd1,0x01,0x05,0x0e,0x04]
-v_add3_u32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0xfd,0x07]
+v_min3_i16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0xff,0x05,0x0e,0x04]
-v_lshl_or_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0x01,0x02]
+v_min3_i16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x04,0x0e,0x04]
-v_lshl_or_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x00,0xd2,0x01,0x00,0x01,0x02]
+v_min3_i16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x65,0x04,0x0e,0x04]
-v_lshl_or_b32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x65,0x00,0x01,0x02]
+v_min3_i16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x66,0x04,0x0e,0x04]
-v_lshl_or_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x66,0x00,0x01,0x02]
+v_min3_i16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x67,0x04,0x0e,0x04]
-v_lshl_or_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x67,0x00,0x01,0x02]
+v_min3_i16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x6a,0x04,0x0e,0x04]
-v_lshl_or_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x6a,0x00,0x01,0x02]
+v_min3_i16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x6b,0x04,0x0e,0x04]
-v_lshl_or_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x6b,0x00,0x01,0x02]
+v_min3_i16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x7c,0x04,0x0e,0x04]
-v_lshl_or_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x7c,0x00,0x01,0x02]
+v_min3_i16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x7e,0x04,0x0e,0x04]
-v_lshl_or_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x7e,0x00,0x01,0x02]
+v_min3_i16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x7f,0x04,0x0e,0x04]
-v_lshl_or_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x7f,0x00,0x01,0x02]
+v_min3_i16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0xff,0x0f,0x04]
-v_lshl_or_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0x01,0x02]
+v_min3_i16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x0c,0x04]
-v_lshl_or_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0xc1,0x00,0x01,0x02]
+v_min3_i16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0xcb,0x0c,0x04]
-v_lshl_or_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0xf0,0x00,0x01,0x02]
+v_min3_i16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0xcd,0x0c,0x04]
-v_lshl_or_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0xf7,0x00,0x01,0x02]
+v_min3_i16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0xcf,0x0c,0x04]
-v_lshl_or_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x01,0x01,0x02]
+v_min3_i16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0xd5,0x0c,0x04]
-v_lshl_or_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0xff,0x01,0x01,0x02]
+v_min3_i16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0xd7,0x0c,0x04]
-v_lshl_or_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x82,0x01,0x02]
+v_min3_i16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0xf9,0x0c,0x04]
-v_lshl_or_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xe0,0x01,0x02]
+v_min3_i16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0xfd,0x0c,0x04]
-v_lshl_or_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xee,0x01,0x02]
+v_min3_i16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0xff,0x0c,0x04]
-v_lshl_or_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x04,0x02,0x02]
+v_min3_i16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xfe,0x07]
-v_lshl_or_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xfe,0x03,0x02]
+v_min3_i16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x0e,0x00]
-v_lshl_or_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0x05,0x03]
+v_min3_i16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x96,0x01]
-v_lshl_or_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0xc1,0x03]
+v_min3_i16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x9a,0x01]
-v_lshl_or_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0xdd,0x03]
+v_min3_i16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x9e,0x01]
-v_lshl_or_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0x0d,0x04]
+v_min3_i16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xaa,0x01]
-v_lshl_or_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0xfd,0x07]
+v_min3_i16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xae,0x01]
-v_and_or_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0x01,0x02]
+v_min3_i16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xf2,0x01]
-v_and_or_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x01,0xd2,0x01,0x00,0x01,0x02]
+v_min3_i16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xfa,0x01]
-v_and_or_b32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x65,0x00,0x01,0x02]
+v_min3_i16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xfe,0x01]
-v_and_or_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x66,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x0e,0x04]
-v_and_or_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x67,0x00,0x01,0x02]
+v_min3_u16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xf6,0xd1,0x01,0x05,0x0e,0x04]
-v_and_or_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x6a,0x00,0x01,0x02]
+v_min3_u16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0xff,0x05,0x0e,0x04]
-v_and_or_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x6b,0x00,0x01,0x02]
+v_min3_u16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x04,0x0e,0x04]
-v_and_or_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x7c,0x00,0x01,0x02]
+v_min3_u16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x65,0x04,0x0e,0x04]
-v_and_or_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x7e,0x00,0x01,0x02]
+v_min3_u16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x66,0x04,0x0e,0x04]
-v_and_or_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x7f,0x00,0x01,0x02]
+v_min3_u16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x67,0x04,0x0e,0x04]
-v_and_or_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x80,0x00,0x01,0x02]
+v_min3_u16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x6a,0x04,0x0e,0x04]
-v_and_or_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0xc1,0x00,0x01,0x02]
+v_min3_u16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x6b,0x04,0x0e,0x04]
-v_and_or_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0xf0,0x00,0x01,0x02]
+v_min3_u16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x7c,0x04,0x0e,0x04]
-v_and_or_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0xf7,0x00,0x01,0x02]
+v_min3_u16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x7e,0x04,0x0e,0x04]
-v_and_or_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x01,0x01,0x02]
+v_min3_u16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x7f,0x04,0x0e,0x04]
-v_and_or_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0xff,0x01,0x01,0x02]
+v_min3_u16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0xff,0x0f,0x04]
-v_and_or_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x82,0x01,0x02]
+v_min3_u16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x0c,0x04]
-v_and_or_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xe0,0x01,0x02]
+v_min3_u16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0xcb,0x0c,0x04]
-v_and_or_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xee,0x01,0x02]
+v_min3_u16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0xcd,0x0c,0x04]
-v_and_or_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x04,0x02,0x02]
+v_min3_u16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0xcf,0x0c,0x04]
-v_and_or_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xfe,0x03,0x02]
+v_min3_u16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0xd5,0x0c,0x04]
-v_and_or_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0x05,0x03]
+v_min3_u16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0xd7,0x0c,0x04]
-v_and_or_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0xc1,0x03]
+v_min3_u16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0xf9,0x0c,0x04]
-v_and_or_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0xdd,0x03]
+v_min3_u16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0xfd,0x0c,0x04]
-v_and_or_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0x0d,0x04]
+v_min3_u16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0xff,0x0c,0x04]
-v_and_or_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0xfd,0x07]
+v_min3_u16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xfe,0x07]
-v_or3_b32 v5, s1, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x0e,0x00]
-v_or3_b32 v255, s1, 0, 0
-// CHECK: [0xff,0x00,0x02,0xd2,0x01,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x96,0x01]
-v_or3_b32 v5, s101, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x65,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x9a,0x01]
-v_or3_b32 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x66,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x9e,0x01]
-v_or3_b32 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x67,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xaa,0x01]
-v_or3_b32 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x6a,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xae,0x01]
-v_or3_b32 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x6b,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xf2,0x01]
-v_or3_b32 v5, m0, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x7c,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xfa,0x01]
-v_or3_b32 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x7e,0x00,0x01,0x02]
+v_min3_u16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xfe,0x01]
-v_or3_b32 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x7f,0x00,0x01,0x02]
+v_max3_f16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04]
-v_or3_b32 v5, 0, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x80,0x00,0x01,0x02]
+v_max3_f16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04]
-v_or3_b32 v5, -1, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0xc1,0x00,0x01,0x02]
+v_max3_f16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0xff,0x05,0x0e,0x04]
-v_or3_b32 v5, 0.5, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0xf0,0x00,0x01,0x02]
+v_max3_f16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x04,0x0e,0x04]
-v_or3_b32 v5, -4.0, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0xf7,0x00,0x01,0x02]
+v_max3_f16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x65,0x04,0x0e,0x04]
-v_or3_b32 v5, v1, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x01,0x01,0x02]
+v_max3_f16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x66,0x04,0x0e,0x04]
-v_or3_b32 v5, v255, 0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0xff,0x01,0x01,0x02]
+v_max3_f16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x67,0x04,0x0e,0x04]
-v_or3_b32 v5, s1, -1, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x82,0x01,0x02]
+v_max3_f16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x6a,0x04,0x0e,0x04]
-v_or3_b32 v5, s1, 0.5, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xe0,0x01,0x02]
+v_max3_f16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x6b,0x04,0x0e,0x04]
-v_or3_b32 v5, s1, -4.0, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xee,0x01,0x02]
+v_max3_f16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x7c,0x04,0x0e,0x04]
-v_or3_b32 v5, s1, v2, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x04,0x02,0x02]
+v_max3_f16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x7e,0x04,0x0e,0x04]
-v_or3_b32 v5, s1, v255, 0
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xfe,0x03,0x02]
+v_max3_f16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x7f,0x04,0x0e,0x04]
-v_or3_b32 v5, s1, 0, -1
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0x05,0x03]
+v_max3_f16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0xff,0x0f,0x04]
-v_or3_b32 v5, s1, 0, 0.5
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0xc1,0x03]
+v_max3_f16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0c,0x04]
-v_or3_b32 v5, s1, 0, -4.0
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0xdd,0x03]
+v_max3_f16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0xcb,0x0c,0x04]
-v_or3_b32 v5, s1, 0, v3
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0x0d,0x04]
+v_max3_f16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0xcd,0x0c,0x04]
-v_or3_b32 v5, s1, 0, v255
-// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0xfd,0x07]
+v_max3_f16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0xcf,0x0c,0x04]
-v_add_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x00]
+v_max3_f16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0xd5,0x0c,0x04]
-v_add_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0x80,0xd2,0x04,0x08,0x00,0x00]
+v_max3_f16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0xd7,0x0c,0x04]
-v_add_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0x80,0x08,0x00,0x00]
+v_max3_f16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0xf9,0x0c,0x04]
-v_add_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0xc1,0x08,0x00,0x00]
+v_max3_f16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0xfd,0x0c,0x04]
-v_add_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0xf0,0x08,0x00,0x00]
+v_max3_f16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0xff,0x0c,0x04]
-v_add_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0xf7,0x08,0x00,0x00]
+v_max3_f16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x07]
-v_add_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x09,0x00,0x00]
+v_max3_f16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x00]
+
+v_max3_f16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x96,0x01]
+
+v_max3_f16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x9a,0x01]
+
+v_max3_f16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x9e,0x01]
+
+v_max3_f16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xaa,0x01]
+
+v_max3_f16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xae,0x01]
+
+v_max3_f16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xf2,0x01]
+
+v_max3_f16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xfa,0x01]
+
+v_max3_f16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x01]
+
+v_max3_f16 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x24]
+
+v_max3_f16 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x44]
+
+v_max3_f16 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x84]
+
+v_max3_f16 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_max3_f16 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_f16 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_f16 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_f16 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_f16 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_i16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_i16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_i16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0xff,0x05,0x0e,0x04]
+
+v_max3_i16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x04,0x0e,0x04]
+
+v_max3_i16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x65,0x04,0x0e,0x04]
+
+v_max3_i16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x66,0x04,0x0e,0x04]
+
+v_max3_i16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x67,0x04,0x0e,0x04]
+
+v_max3_i16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_max3_i16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_max3_i16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_max3_i16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_max3_i16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_max3_i16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0xff,0x0f,0x04]
+
+v_max3_i16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0c,0x04]
+
+v_max3_i16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_max3_i16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_max3_i16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_max3_i16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_max3_i16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_max3_i16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_max3_i16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_max3_i16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0xff,0x0c,0x04]
+
+v_max3_i16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x07]
+
+v_max3_i16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x00]
+
+v_max3_i16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x96,0x01]
+
+v_max3_i16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x9a,0x01]
+
+v_max3_i16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x9e,0x01]
+
+v_max3_i16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xaa,0x01]
+
+v_max3_i16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xae,0x01]
+
+v_max3_i16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xf2,0x01]
+
+v_max3_i16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xfa,0x01]
+
+v_max3_i16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x01]
+
+v_max3_u16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_u16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xf9,0xd1,0x01,0x05,0x0e,0x04]
+
+v_max3_u16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0xff,0x05,0x0e,0x04]
+
+v_max3_u16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x04,0x0e,0x04]
+
+v_max3_u16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x65,0x04,0x0e,0x04]
+
+v_max3_u16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x66,0x04,0x0e,0x04]
+
+v_max3_u16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x67,0x04,0x0e,0x04]
+
+v_max3_u16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_max3_u16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_max3_u16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_max3_u16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_max3_u16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_max3_u16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0xff,0x0f,0x04]
+
+v_max3_u16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x0c,0x04]
+
+v_max3_u16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_max3_u16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_max3_u16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_max3_u16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_max3_u16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_max3_u16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_max3_u16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_max3_u16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0xff,0x0c,0x04]
+
+v_max3_u16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xfe,0x07]
+
+v_max3_u16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x0e,0x00]
+
+v_max3_u16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x96,0x01]
+
+v_max3_u16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x9a,0x01]
+
+v_max3_u16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x9e,0x01]
+
+v_max3_u16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xaa,0x01]
+
+v_max3_u16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xae,0x01]
+
+v_max3_u16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xf2,0x01]
+
+v_max3_u16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xfa,0x01]
+
+v_max3_u16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xfe,0x01]
+
+v_med3_f16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_f16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_f16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0xff,0x05,0x0e,0x04]
+
+v_med3_f16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x04,0x0e,0x04]
+
+v_med3_f16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x65,0x04,0x0e,0x04]
+
+v_med3_f16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x66,0x04,0x0e,0x04]
+
+v_med3_f16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x67,0x04,0x0e,0x04]
+
+v_med3_f16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_med3_f16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_med3_f16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_med3_f16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_med3_f16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_med3_f16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0xff,0x0f,0x04]
+
+v_med3_f16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0c,0x04]
+
+v_med3_f16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_med3_f16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_med3_f16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_med3_f16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_med3_f16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_med3_f16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_med3_f16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_med3_f16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0xff,0x0c,0x04]
+
+v_med3_f16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xfe,0x07]
+
+v_med3_f16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x00]
+
+v_med3_f16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x96,0x01]
+
+v_med3_f16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x9a,0x01]
+
+v_med3_f16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x9e,0x01]
+
+v_med3_f16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xaa,0x01]
+
+v_med3_f16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xae,0x01]
+
+v_med3_f16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xf2,0x01]
+
+v_med3_f16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xfa,0x01]
+
+v_med3_f16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xfe,0x01]
+
+v_med3_f16 v5, -v1, v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x24]
+
+v_med3_f16 v5, v1, -v2, v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x44]
+
+v_med3_f16 v5, v1, v2, -v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x84]
+
+v_med3_f16 v5, -v1, -v2, -v3
+// CHECK: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0xe4]
+
+v_med3_f16 v5, |v1|, v2, v3
+// CHECK: [0x05,0x01,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_f16 v5, v1, |v2|, v3
+// CHECK: [0x05,0x02,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_f16 v5, v1, v2, |v3|
+// CHECK: [0x05,0x04,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_f16 v5, |v1|, |v2|, |v3|
+// CHECK: [0x05,0x07,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_f16 v5, v1, v2, v3 clamp
+// CHECK: [0x05,0x80,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_i16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_i16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xfb,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_i16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0xff,0x05,0x0e,0x04]
+
+v_med3_i16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x04,0x0e,0x04]
+
+v_med3_i16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x65,0x04,0x0e,0x04]
+
+v_med3_i16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x66,0x04,0x0e,0x04]
+
+v_med3_i16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x67,0x04,0x0e,0x04]
+
+v_med3_i16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_med3_i16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_med3_i16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_med3_i16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_med3_i16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_med3_i16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0xff,0x0f,0x04]
+
+v_med3_i16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x0c,0x04]
+
+v_med3_i16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_med3_i16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_med3_i16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_med3_i16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_med3_i16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_med3_i16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_med3_i16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_med3_i16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0xff,0x0c,0x04]
+
+v_med3_i16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xfe,0x07]
+
+v_med3_i16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x0e,0x00]
+
+v_med3_i16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x96,0x01]
+
+v_med3_i16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x9a,0x01]
+
+v_med3_i16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x9e,0x01]
+
+v_med3_i16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xaa,0x01]
+
+v_med3_i16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xae,0x01]
+
+v_med3_i16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xf2,0x01]
+
+v_med3_i16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xfa,0x01]
+
+v_med3_i16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xfe,0x01]
+
+v_med3_u16 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_u16 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xfc,0xd1,0x01,0x05,0x0e,0x04]
+
+v_med3_u16 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0xff,0x05,0x0e,0x04]
+
+v_med3_u16 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x04,0x0e,0x04]
-v_add_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0x80,0xd2,0xfe,0x09,0x00,0x00]
+v_med3_u16 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x65,0x04,0x0e,0x04]
-v_add_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x00,0x01,0x00]
+v_med3_u16 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x66,0x04,0x0e,0x04]
-v_add_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x82,0x01,0x00]
+v_med3_u16 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x67,0x04,0x0e,0x04]
-v_add_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0xe0,0x01,0x00]
+v_med3_u16 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x6a,0x04,0x0e,0x04]
-v_add_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0xee,0x01,0x00]
+v_med3_u16 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_med3_u16 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_med3_u16 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_med3_u16 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_med3_u16 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0xff,0x0f,0x04]
+
+v_med3_u16 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x0c,0x04]
+
+v_med3_u16 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_med3_u16 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_med3_u16 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_med3_u16 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_med3_u16 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_med3_u16 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_med3_u16 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_med3_u16 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0xff,0x0c,0x04]
+
+v_med3_u16 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xfe,0x07]
+
+v_med3_u16 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x0e,0x00]
+
+v_med3_u16 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x96,0x01]
+
+v_med3_u16 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x9a,0x01]
+
+v_med3_u16 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x9e,0x01]
+
+v_med3_u16 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xaa,0x01]
+
+v_med3_u16 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xae,0x01]
+
+v_med3_u16 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xf2,0x01]
+
+v_med3_u16 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xfa,0x01]
+
+v_med3_u16 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xfe,0x01]
+
+v_lshl_add_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_lshl_add_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xfd,0xd1,0x01,0x05,0x0e,0x04]
+
+v_lshl_add_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0xff,0x05,0x0e,0x04]
+
+v_lshl_add_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x65,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x66,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x67,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x80,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_lshl_add_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xff,0x0f,0x04]
+
+v_lshl_add_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x0c,0x04]
+
+v_lshl_add_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_lshl_add_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_lshl_add_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_lshl_add_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_lshl_add_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_lshl_add_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_lshl_add_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_lshl_add_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xff,0x0c,0x04]
+
+v_lshl_add_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x01,0x0d,0x04]
+
+v_lshl_add_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x83,0x0d,0x04]
+
+v_lshl_add_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_lshl_add_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xef,0x0d,0x04]
+
+v_lshl_add_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xfe,0x07]
+
+v_lshl_add_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x0e,0x00]
+
+v_lshl_add_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x96,0x01]
+
+v_lshl_add_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x9a,0x01]
+
+v_lshl_add_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x9e,0x01]
+
+v_lshl_add_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xaa,0x01]
+
+v_lshl_add_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xae,0x01]
+
+v_lshl_add_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xf2,0x01]
+
+v_lshl_add_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xfa,0x01]
+
+v_lshl_add_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xfe,0x01]
+
+v_lshl_add_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x02,0x02]
+
+v_lshl_add_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x06,0x03]
+
+v_lshl_add_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xc2,0x03]
+
+v_lshl_add_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xde,0x03]
+
+v_add_lshl_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x0e,0x04]
+
+v_add_lshl_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xfe,0xd1,0x01,0x05,0x0e,0x04]
+
+v_add_lshl_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0xff,0x05,0x0e,0x04]
+
+v_add_lshl_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x65,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x66,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x67,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x80,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_add_lshl_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xff,0x0f,0x04]
+
+v_add_lshl_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x0c,0x04]
+
+v_add_lshl_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_add_lshl_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_add_lshl_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_add_lshl_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_add_lshl_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_add_lshl_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_add_lshl_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_add_lshl_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xff,0x0c,0x04]
+
+v_add_lshl_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x01,0x0d,0x04]
+
+v_add_lshl_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x83,0x0d,0x04]
+
+v_add_lshl_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_add_lshl_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xef,0x0d,0x04]
+
+v_add_lshl_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xfe,0x07]
+
+v_add_lshl_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x0e,0x00]
+
+v_add_lshl_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x96,0x01]
+
+v_add_lshl_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x9a,0x01]
+
+v_add_lshl_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x9e,0x01]
+
+v_add_lshl_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xaa,0x01]
+
+v_add_lshl_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xae,0x01]
+
+v_add_lshl_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xf2,0x01]
+
+v_add_lshl_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xfa,0x01]
+
+v_add_lshl_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xfe,0x01]
+
+v_add_lshl_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x02,0x02]
+
+v_add_lshl_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x06,0x03]
+
+v_add_lshl_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xc2,0x03]
+
+v_add_lshl_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xde,0x03]
+
+v_add3_u32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0x0e,0x04]
+
+v_add3_u32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0xff,0xd1,0x01,0x05,0x0e,0x04]
+
+v_add3_u32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0xff,0x05,0x0e,0x04]
+
+v_add3_u32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x04,0x0e,0x04]
+
+v_add3_u32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x65,0x04,0x0e,0x04]
+
+v_add3_u32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x66,0x04,0x0e,0x04]
+
+v_add3_u32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x67,0x04,0x0e,0x04]
+
+v_add3_u32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x6a,0x04,0x0e,0x04]
+
+v_add3_u32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x6b,0x04,0x0e,0x04]
+
+v_add3_u32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x7c,0x04,0x0e,0x04]
+
+v_add3_u32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x7e,0x04,0x0e,0x04]
+
+v_add3_u32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x7f,0x04,0x0e,0x04]
+
+v_add3_u32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x80,0x04,0x0e,0x04]
+
+v_add3_u32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0xc1,0x04,0x0e,0x04]
+
+v_add3_u32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0xf0,0x04,0x0e,0x04]
+
+v_add3_u32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0xf7,0x04,0x0e,0x04]
+
+v_add3_u32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xff,0x0f,0x04]
+
+v_add3_u32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0x0c,0x04]
+
+v_add3_u32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xcb,0x0c,0x04]
+
+v_add3_u32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xcd,0x0c,0x04]
+
+v_add3_u32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xcf,0x0c,0x04]
+
+v_add3_u32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xd5,0x0c,0x04]
+
+v_add3_u32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xd7,0x0c,0x04]
+
+v_add3_u32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xf9,0x0c,0x04]
+
+v_add3_u32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xfd,0x0c,0x04]
+
+v_add3_u32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xff,0x0c,0x04]
+
+v_add3_u32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x01,0x0d,0x04]
+
+v_add3_u32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x83,0x0d,0x04]
+
+v_add3_u32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xe1,0x0d,0x04]
+
+v_add3_u32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xef,0x0d,0x04]
+
+v_add3_u32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0xfe,0x07]
+
+v_add3_u32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0x0e,0x00]
+
+v_add3_u32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0x96,0x01]
+
+v_add3_u32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0x9a,0x01]
+
+v_add3_u32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0x9e,0x01]
+
+v_add3_u32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0xaa,0x01]
+
+v_add3_u32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0xae,0x01]
+
+v_add3_u32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0xf2,0x01]
+
+v_add3_u32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0xfa,0x01]
+
+v_add3_u32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0xfe,0x01]
+
+v_add3_u32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0x02,0x02]
+
+v_add3_u32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0x06,0x03]
+
+v_add3_u32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0xc2,0x03]
+
+v_add3_u32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x05,0xde,0x03]
+
+v_lshl_or_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x0e,0x04]
+
+v_lshl_or_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x00,0xd2,0x01,0x05,0x0e,0x04]
+
+v_lshl_or_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0xff,0x05,0x0e,0x04]
+
+v_lshl_or_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x65,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x66,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x67,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_lshl_or_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xff,0x0f,0x04]
+
+v_lshl_or_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x0c,0x04]
+
+v_lshl_or_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xcb,0x0c,0x04]
+
+v_lshl_or_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xcd,0x0c,0x04]
+
+v_lshl_or_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_lshl_or_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_lshl_or_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_lshl_or_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_lshl_or_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_lshl_or_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xff,0x0c,0x04]
+
+v_lshl_or_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x01,0x0d,0x04]
+
+v_lshl_or_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x83,0x0d,0x04]
+
+v_lshl_or_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_lshl_or_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xef,0x0d,0x04]
+
+v_lshl_or_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xfe,0x07]
+
+v_lshl_or_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x0e,0x00]
+
+v_lshl_or_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x96,0x01]
+
+v_lshl_or_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x9a,0x01]
+
+v_lshl_or_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x9e,0x01]
+
+v_lshl_or_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xaa,0x01]
+
+v_lshl_or_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xae,0x01]
+
+v_lshl_or_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xf2,0x01]
+
+v_lshl_or_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xfa,0x01]
+
+v_lshl_or_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xfe,0x01]
+
+v_lshl_or_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x02,0x02]
+
+v_lshl_or_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0x06,0x03]
+
+v_lshl_or_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xc2,0x03]
+
+v_lshl_or_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x05,0xde,0x03]
+
+v_and_or_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0x0e,0x04]
+
+v_and_or_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x01,0xd2,0x01,0x05,0x0e,0x04]
+
+v_and_or_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0xff,0x05,0x0e,0x04]
+
+v_and_or_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x65,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x66,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x67,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x80,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_and_or_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xff,0x0f,0x04]
+
+v_and_or_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0x0c,0x04]
+
+v_and_or_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xcb,0x0c,0x04]
+
+v_and_or_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xcd,0x0c,0x04]
+
+v_and_or_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_and_or_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_and_or_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_and_or_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_and_or_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_and_or_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xff,0x0c,0x04]
+
+v_and_or_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x01,0x0d,0x04]
+
+v_and_or_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x83,0x0d,0x04]
+
+v_and_or_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_and_or_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xef,0x0d,0x04]
+
+v_and_or_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0xfe,0x07]
+
+v_and_or_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0x0e,0x00]
+
+v_and_or_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0x96,0x01]
+
+v_and_or_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0x9a,0x01]
+
+v_and_or_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0x9e,0x01]
+
+v_and_or_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0xaa,0x01]
+
+v_and_or_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0xae,0x01]
+
+v_and_or_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0xf2,0x01]
+
+v_and_or_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0xfa,0x01]
+
+v_and_or_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0xfe,0x01]
+
+v_and_or_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0x02,0x02]
+
+v_and_or_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0x06,0x03]
+
+v_and_or_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0xc2,0x03]
+
+v_and_or_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x05,0xde,0x03]
+
+v_or3_b32 v5, v1, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0x0e,0x04]
+
+v_or3_b32 v255, v1, v2, v3
+// CHECK: [0xff,0x00,0x02,0xd2,0x01,0x05,0x0e,0x04]
+
+v_or3_b32 v5, v255, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0xff,0x05,0x0e,0x04]
+
+v_or3_b32 v5, s1, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x04,0x0e,0x04]
+
+v_or3_b32 v5, s101, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x65,0x04,0x0e,0x04]
+
+v_or3_b32 v5, flat_scratch_lo, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x66,0x04,0x0e,0x04]
+
+v_or3_b32 v5, flat_scratch_hi, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x67,0x04,0x0e,0x04]
+
+v_or3_b32 v5, vcc_lo, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x6a,0x04,0x0e,0x04]
+
+v_or3_b32 v5, vcc_hi, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x6b,0x04,0x0e,0x04]
+
+v_or3_b32 v5, m0, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x7c,0x04,0x0e,0x04]
+
+v_or3_b32 v5, exec_lo, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x7e,0x04,0x0e,0x04]
+
+v_or3_b32 v5, exec_hi, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x7f,0x04,0x0e,0x04]
+
+v_or3_b32 v5, 0, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x80,0x04,0x0e,0x04]
+
+v_or3_b32 v5, -1, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0xc1,0x04,0x0e,0x04]
+
+v_or3_b32 v5, 0.5, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0xf0,0x04,0x0e,0x04]
+
+v_or3_b32 v5, -4.0, v2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0xf7,0x04,0x0e,0x04]
+
+v_or3_b32 v5, v1, v255, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xff,0x0f,0x04]
+
+v_or3_b32 v5, v1, s2, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0x0c,0x04]
+
+v_or3_b32 v5, v1, s101, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xcb,0x0c,0x04]
+
+v_or3_b32 v5, v1, flat_scratch_lo, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xcd,0x0c,0x04]
+
+v_or3_b32 v5, v1, flat_scratch_hi, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xcf,0x0c,0x04]
+
+v_or3_b32 v5, v1, vcc_lo, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xd5,0x0c,0x04]
+
+v_or3_b32 v5, v1, vcc_hi, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xd7,0x0c,0x04]
+
+v_or3_b32 v5, v1, m0, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xf9,0x0c,0x04]
+
+v_or3_b32 v5, v1, exec_lo, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xfd,0x0c,0x04]
+
+v_or3_b32 v5, v1, exec_hi, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xff,0x0c,0x04]
+
+v_or3_b32 v5, v1, 0, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x01,0x0d,0x04]
+
+v_or3_b32 v5, v1, -1, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x83,0x0d,0x04]
+
+v_or3_b32 v5, v1, 0.5, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xe1,0x0d,0x04]
+
+v_or3_b32 v5, v1, -4.0, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xef,0x0d,0x04]
+
+v_or3_b32 v5, v1, v2, v255
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0xfe,0x07]
+
+v_or3_b32 v5, v1, v2, s3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0x0e,0x00]
+
+v_or3_b32 v5, v1, v2, s101
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0x96,0x01]
+
+v_or3_b32 v5, v1, v2, flat_scratch_lo
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0x9a,0x01]
+
+v_or3_b32 v5, v1, v2, flat_scratch_hi
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0x9e,0x01]
+
+v_or3_b32 v5, v1, v2, vcc_lo
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0xaa,0x01]
+
+v_or3_b32 v5, v1, v2, vcc_hi
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0xae,0x01]
+
+v_or3_b32 v5, v1, v2, m0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0xf2,0x01]
+
+v_or3_b32 v5, v1, v2, exec_lo
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0xfa,0x01]
+
+v_or3_b32 v5, v1, v2, exec_hi
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0xfe,0x01]
+
+v_or3_b32 v5, v1, v2, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0x02,0x02]
+
+v_or3_b32 v5, v1, v2, -1
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0x06,0x03]
+
+v_or3_b32 v5, v1, v2, 0.5
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0xc2,0x03]
+
+v_or3_b32 v5, v1, v2, -4.0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x05,0xde,0x03]
+
+v_add_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0x80,0xd2,0x01,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0xfe,0x05,0x02,0x00]
+
+v_add_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x02,0x04,0x02,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[100:101], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x66,0x04,0x02,0x00]
-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], vcc, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x6a,0x04,0x02,0x00]
-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], exec, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x7e,0x04,0x02,0x00]
-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], 0, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0xf7,0x04,0x02,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], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xfd,0x03,0x00]
-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], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x09,0x00,0x00]
-v_add_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x18]
+v_add_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x0d,0x00,0x00]
-v_mul_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], s[100:101]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xc9,0x00,0x00]
-v_mul_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0x81,0xd2,0x04,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xcd,0x00,0x00]
-v_mul_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0x80,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0xc1,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0xf0,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x01,0x01,0x00]
-v_mul_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0xf7,0x08,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x83,0x01,0x00]
-v_mul_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x09,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xe1,0x01,0x00]
+
+v_add_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0xef,0x01,0x00]
+
+v_add_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x20]
+
+v_add_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x40]
+
+v_add_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x60]
+
+v_add_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0x80,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0x81,0xd2,0xfe,0x09,0x00,0x00]
+v_add_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0x80,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x00,0x01,0x00]
+v_add_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0x80,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x82,0x01,0x00]
+v_add_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x80,0x80,0xd2,0x01,0x05,0x02,0x00]
-v_mul_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0xe0,0x01,0x00]
+v_add_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x08]
-v_mul_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0xee,0x01,0x00]
+v_add_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x10]
+
+v_add_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x18]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0xfe,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x02,0x04,0x02,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[100:101], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x66,0x04,0x02,0x00]
-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], vcc, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x6a,0x04,0x02,0x00]
-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], exec, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x7e,0x04,0x02,0x00]
-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], 0, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0xf7,0x04,0x02,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], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xfd,0x03,0x00]
-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], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x09,0x00,0x00]
-v_mul_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x18]
+v_mul_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x0d,0x00,0x00]
-v_min_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], s[100:101]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xc9,0x00,0x00]
-v_min_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0x82,0xd2,0x04,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xcd,0x00,0x00]
-v_min_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0x80,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xd5,0x00,0x00]
-v_min_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0xc1,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xfd,0x00,0x00]
-v_min_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0xf0,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x01,0x01,0x00]
-v_min_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0xf7,0x08,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x83,0x01,0x00]
-v_min_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x09,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xe1,0x01,0x00]
+
+v_mul_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0xef,0x01,0x00]
+
+v_mul_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x20]
+
+v_mul_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x40]
+
+v_mul_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x60]
+
+v_mul_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x80,0x81,0xd2,0x01,0x05,0x02,0x00]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x08]
+
+v_mul_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x10]
-v_min_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0x82,0xd2,0xfe,0x09,0x00,0x00]
+v_mul_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x18]
-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], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x00]
-v_min_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x82,0x01,0x00]
+v_min_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0x82,0xd2,0x01,0x05,0x02,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], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0xfe,0x05,0x02,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[2:3], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x02,0x04,0x02,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[100:101], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x66,0x04,0x02,0x00]
-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], vcc, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x6a,0x04,0x02,0x00]
-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], exec, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x7e,0x04,0x02,0x00]
-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], 0, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0xf7,0x04,0x02,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], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xfd,0x03,0x00]
-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], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x09,0x00,0x00]
-v_min_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x18]
+v_min_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x0d,0x00,0x00]
-v_max_f64 v[5:6], s[4:5], s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], s[100:101]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xc9,0x00,0x00]
-v_max_f64 v[254:255], s[4:5], s[4:5]
-// CHECK: [0xfe,0x00,0x83,0xd2,0x04,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xcd,0x00,0x00]
-v_max_f64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0x80,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xd5,0x00,0x00]
-v_max_f64 v[5:6], -1, s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0xc1,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xfd,0x00,0x00]
-v_max_f64 v[5:6], 0.5, s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0xf0,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x01,0x01,0x00]
-v_max_f64 v[5:6], -4.0, s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0xf7,0x08,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x83,0x01,0x00]
-v_max_f64 v[5:6], v[1:2], s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x09,0x00,0x00]
+v_min_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xe1,0x01,0x00]
+
+v_min_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0xef,0x01,0x00]
+
+v_min_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x20]
+
+v_min_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x40]
+
+v_min_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x60]
+
+v_min_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0x82,0xd2,0x01,0x05,0x02,0x00]
+
+v_min_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0x82,0xd2,0x01,0x05,0x02,0x00]
-v_max_f64 v[5:6], v[254:255], s[4:5]
-// CHECK: [0x05,0x00,0x83,0xd2,0xfe,0x09,0x00,0x00]
+v_min_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0x82,0xd2,0x01,0x05,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], 0
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x00,0x01,0x00]
+v_min_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x80,0x82,0xd2,0x01,0x05,0x02,0x00]
-v_max_f64 v[5:6], s[4:5], -1
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x82,0x01,0x00]
+v_min_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x08]
-v_max_f64 v[5:6], s[4:5], 0.5
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0xe0,0x01,0x00]
+v_min_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x10]
-v_max_f64 v[5:6], s[4:5], -4.0
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0xee,0x01,0x00]
+v_min_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x18]
+
+v_max_f64 v[5:6], v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_f64 v[254:255], v[1:2], v[2:3]
+// CHECK: [0xfe,0x00,0x83,0xd2,0x01,0x05,0x02,0x00]
+
+v_max_f64 v[5:6], v[254:255], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0xfe,0x05,0x02,0x00]
+
+v_max_f64 v[5:6], s[2:3], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x02,0x04,0x02,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[100:101], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x66,0x04,0x02,0x00]
-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], vcc, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x6a,0x04,0x02,0x00]
-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], exec, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x7e,0x04,0x02,0x00]
-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], 0, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0xf7,0x04,0x02,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], v[1:2], v[254:255]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xfd,0x03,0x00]
-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], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x09,0x00,0x00]
-v_max_f64 v[5:6], s[4:5], s[4:5] div:2
-// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x18]
+v_max_f64 v[5:6], v[1:2], s[6:7]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x0d,0x00,0x00]
-v_ldexp_f64 v[5:6], 0, s2
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], s[100:101]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xc9,0x00,0x00]
-v_ldexp_f64 v[254:255], 0, s2
-// CHECK: [0xfe,0x00,0x84,0xd2,0x80,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], flat_scratch
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xcd,0x00,0x00]
-v_ldexp_f64 v[5:6], -1, s2
-// CHECK: [0x05,0x00,0x84,0xd2,0xc1,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], vcc
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xd5,0x00,0x00]
-v_ldexp_f64 v[5:6], 0.5, s2
-// CHECK: [0x05,0x00,0x84,0xd2,0xf0,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], exec
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xfd,0x00,0x00]
-v_ldexp_f64 v[5:6], -4.0, s2
-// CHECK: [0x05,0x00,0x84,0xd2,0xf7,0x04,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x01,0x01,0x00]
-v_ldexp_f64 v[5:6], v[1:2], s2
-// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x83,0x01,0x00]
+
+v_max_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xe1,0x01,0x00]
-v_ldexp_f64 v[5:6], v[254:255], s2
-// CHECK: [0x05,0x00,0x84,0xd2,0xfe,0x05,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0xef,0x01,0x00]
-v_ldexp_f64 v[5:6], 0, s101
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xca,0x00,0x00]
+v_max_f64 v[5:6], -v[1:2], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x20]
-v_ldexp_f64 v[5:6], 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xcc,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x40]
-v_ldexp_f64 v[5:6], 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xce,0x00,0x00]
+v_max_f64 v[5:6], -v[1:2], -v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x60]
-v_ldexp_f64 v[5:6], 0, vcc_lo
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xd4,0x00,0x00]
+v_max_f64 v[5:6], |v[1:2]|, v[2:3]
+// CHECK: [0x05,0x01,0x83,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, vcc_hi
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xd6,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], |v[2:3]|
+// CHECK: [0x05,0x02,0x83,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, m0
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xf8,0x00,0x00]
+v_max_f64 v[5:6], |v[1:2]|, |v[2:3]|
+// CHECK: [0x05,0x03,0x83,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, exec_lo
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xfc,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] clamp
+// CHECK: [0x05,0x80,0x83,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, exec_hi
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xfe,0x00,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] mul:2
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x08]
-v_ldexp_f64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x00,0x01,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] mul:4
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x10]
-v_ldexp_f64 v[5:6], 0, -1
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x82,0x01,0x00]
+v_max_f64 v[5:6], v[1:2], v[2:3] div:2
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x18]
-v_ldexp_f64 v[5:6], 0, 0.5
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xe0,0x01,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xee,0x01,0x00]
+v_ldexp_f64 v[254:255], v[1:2], v2
+// CHECK: [0xfe,0x00,0x84,0xd2,0x01,0x05,0x02,0x00]
+
+v_ldexp_f64 v[5:6], v[254:255], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0xfe,0x05,0x02,0x00]
+
+v_ldexp_f64 v[5:6], s[2:3], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x02,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], s[4:5], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x04,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], s[100:101], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x64,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], flat_scratch, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x66,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], vcc, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x6a,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], exec, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x7e,0x04,0x02,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], -1, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0xc1,0x04,0x02,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.5, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0xf0,0x04,0x02,0x00]
-v_ldexp_f64 v[5:6], |0|, s2
-// CHECK: [0x05,0x01,0x84,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], -4.0, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0xf7,0x04,0x02,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], v[1:2], v255
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xff,0x03,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], v[1:2], s2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x00,0x00]
-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], v[1:2], s101
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xcb,0x00,0x00]
-v_ldexp_f64 v[5:6], 0, s2 div:2
-// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x18]
+v_ldexp_f64 v[5:6], v[1:2], flat_scratch_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xcd,0x00,0x00]
-v_mul_lo_u32 v5, 0, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], flat_scratch_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_lo_u32 v255, 0, s2
-// CHECK: [0xff,0x00,0x85,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], vcc_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_lo_u32 v5, -1, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0xc1,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], vcc_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_lo_u32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0xf0,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], m0
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_lo_u32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0xf7,0x04,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], exec_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_lo_u32 v5, v1, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x05,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], exec_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xff,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], 0
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x01,0x01,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], -1
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x83,0x01,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xe1,0x01,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0xef,0x01,0x00]
+
+v_ldexp_f64 v[5:6], -v[1:2], v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x20]
+
+v_ldexp_f64 v[5:6], |v[1:2]|, v2
+// CHECK: [0x05,0x01,0x84,0xd2,0x01,0x05,0x02,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], v2 clamp
+// CHECK: [0x05,0x80,0x84,0xd2,0x01,0x05,0x02,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], v2 mul:2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x08]
-v_mul_lo_u32 v5, v255, s2
-// CHECK: [0x05,0x00,0x85,0xd2,0xff,0x05,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 mul:4
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x10]
-v_mul_lo_u32 v5, 0, s101
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xca,0x00,0x00]
+v_ldexp_f64 v[5:6], v[1:2], v2 div:2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x18]
-v_mul_lo_u32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xcc,0x00,0x00]
+v_mul_lo_u32 v5, v1, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xce,0x00,0x00]
+v_mul_lo_u32 v255, v1, v2
+// CHECK: [0xff,0x00,0x85,0xd2,0x01,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_lo_u32 v5, v255, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0xff,0x05,0x02,0x00]
-v_mul_lo_u32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_lo_u32 v5, s1, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, m0
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_lo_u32 v5, s101, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x65,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_lo_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x66,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_lo_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x67,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, 0
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x00,0x01,0x00]
+v_mul_lo_u32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x6a,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, -1
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x82,0x01,0x00]
+v_mul_lo_u32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x6b,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_lo_u32 v5, m0, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x7c,0x04,0x02,0x00]
-v_mul_lo_u32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xee,0x01,0x00]
+v_mul_lo_u32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x7f,0x04,0x02,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_lo_u32 v5, -1, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0xc1,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x04,0x00,0x00]
+v_mul_lo_u32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0xf0,0x04,0x02,0x00]
-v_mul_hi_u32 v255, 0, s2
-// CHECK: [0xff,0x00,0x86,0xd2,0x80,0x04,0x00,0x00]
+v_mul_lo_u32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_hi_u32 v5, -1, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, v255
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xff,0x03,0x00]
-v_mul_hi_u32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, s2
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x05,0x00,0x00]
-v_mul_hi_u32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_lo_u32 v5, v1, s101
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xcb,0x00,0x00]
-v_mul_hi_u32 v5, v1, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x00,0x00]
+v_mul_lo_u32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xcd,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xcf,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xd5,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xd7,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, m0
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xf9,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_hi_u32 v5, v255, s2
-// CHECK: [0x05,0x00,0x86,0xd2,0xff,0x05,0x00,0x00]
+v_mul_lo_u32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xff,0x00,0x00]
-v_mul_hi_u32 v5, 0, s101
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xca,0x00,0x00]
+v_mul_lo_u32 v5, v1, 0
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x01,0x01,0x00]
-v_mul_hi_u32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xcc,0x00,0x00]
+v_mul_lo_u32 v5, v1, -1
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x83,0x01,0x00]
-v_mul_hi_u32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xce,0x00,0x00]
+v_mul_lo_u32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_hi_u32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_lo_u32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0xef,0x01,0x00]
-v_mul_hi_u32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_hi_u32 v5, v1, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_u32 v5, 0, m0
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_hi_u32 v255, v1, v2
+// CHECK: [0xff,0x00,0x86,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_u32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_hi_u32 v5, v255, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0xff,0x05,0x02,0x00]
-v_mul_hi_u32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_hi_u32 v5, s1, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, 0
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x00,0x01,0x00]
+v_mul_hi_u32 v5, s101, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x65,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, -1
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x82,0x01,0x00]
+v_mul_hi_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x66,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_hi_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x67,0x04,0x02,0x00]
-v_mul_hi_u32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xee,0x01,0x00]
+v_mul_hi_u32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x6b,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, m0, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x7f,0x04,0x02,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_u32 v5, -1, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0xc1,0x04,0x02,0x00]
-v_mul_hi_i32 v5, 0, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_u32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0xf0,0x04,0x02,0x00]
-v_mul_hi_i32 v255, 0, s2
-// CHECK: [0xff,0x00,0x87,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_u32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0xf7,0x04,0x02,0x00]
-v_mul_hi_i32 v5, -1, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_hi_u32 v5, v1, v255
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xff,0x03,0x00]
-v_mul_hi_i32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_hi_u32 v5, v1, s2
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x00,0x00]
-v_mul_hi_i32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_hi_u32 v5, v1, s101
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xcb,0x00,0x00]
-v_mul_hi_i32 v5, v1, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x05,0x00,0x00]
+v_mul_hi_u32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xcd,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xcf,0x00,0x00]
-v_mul_hi_i32 v5, v255, s2
-// CHECK: [0x05,0x00,0x87,0xd2,0xff,0x05,0x00,0x00]
+v_mul_hi_u32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd5,0x00,0x00]
-v_mul_hi_i32 v5, 0, s101
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xca,0x00,0x00]
+v_mul_hi_u32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xd7,0x00,0x00]
-v_mul_hi_i32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xcc,0x00,0x00]
+v_mul_hi_u32 v5, v1, m0
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xf9,0x00,0x00]
-v_mul_hi_i32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xce,0x00,0x00]
+v_mul_hi_u32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xfd,0x00,0x00]
-v_mul_hi_i32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xd4,0x00,0x00]
+v_mul_hi_u32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xff,0x00,0x00]
-v_mul_hi_i32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xd6,0x00,0x00]
+v_mul_hi_u32 v5, v1, 0
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x01,0x01,0x00]
-v_mul_hi_i32 v5, 0, m0
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xf8,0x00,0x00]
+v_mul_hi_u32 v5, v1, -1
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x83,0x01,0x00]
-v_mul_hi_i32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xfc,0x00,0x00]
+v_mul_hi_u32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xe1,0x01,0x00]
-v_mul_hi_i32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xfe,0x00,0x00]
+v_mul_hi_u32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0xef,0x01,0x00]
-v_mul_hi_i32 v5, 0, 0
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x00,0x01,0x00]
+v_mul_hi_i32 v5, v1, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_i32 v5, 0, -1
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x82,0x01,0x00]
+v_mul_hi_i32 v255, v1, v2
+// CHECK: [0xff,0x00,0x87,0xd2,0x01,0x05,0x02,0x00]
-v_mul_hi_i32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xe0,0x01,0x00]
+v_mul_hi_i32 v5, v255, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0xff,0x05,0x02,0x00]
-v_mul_hi_i32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xee,0x01,0x00]
+v_mul_hi_i32 v5, s1, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, s101, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x65,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x66,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x67,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x6a,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x6b,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, m0, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x7f,0x04,0x02,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_mul_hi_i32 v5, -1, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0xc1,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_i32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0xf0,0x04,0x02,0x00]
-v_ldexp_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0x88,0xd2,0x80,0x04,0x00,0x00]
+v_mul_hi_i32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0xf7,0x04,0x02,0x00]
-v_ldexp_f32 v5, -1, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0xc1,0x04,0x00,0x00]
+v_mul_hi_i32 v5, v1, v255
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xff,0x03,0x00]
-v_ldexp_f32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0xf0,0x04,0x00,0x00]
+v_mul_hi_i32 v5, v1, s2
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x05,0x00,0x00]
-v_ldexp_f32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0xf7,0x04,0x00,0x00]
+v_mul_hi_i32 v5, v1, s101
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xcb,0x00,0x00]
-v_ldexp_f32 v5, v1, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x00,0x00]
+v_mul_hi_i32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xcd,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xcf,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xd5,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xd7,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, m0
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xf9,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xfd,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xff,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, 0
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x01,0x01,0x00]
-v_ldexp_f32 v5, v255, s2
-// CHECK: [0x05,0x00,0x88,0xd2,0xff,0x05,0x00,0x00]
+v_mul_hi_i32 v5, v1, -1
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x83,0x01,0x00]
-v_ldexp_f32 v5, 0, s101
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xca,0x00,0x00]
+v_mul_hi_i32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xe1,0x01,0x00]
-v_ldexp_f32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xcc,0x00,0x00]
+v_mul_hi_i32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0xef,0x01,0x00]
-v_ldexp_f32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xce,0x00,0x00]
+v_ldexp_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xd4,0x00,0x00]
+v_ldexp_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0x88,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xd6,0x00,0x00]
+v_ldexp_f32 v5, v255, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0xff,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, m0
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xf8,0x00,0x00]
+v_ldexp_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xfc,0x00,0x00]
+v_ldexp_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x65,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xfe,0x00,0x00]
+v_ldexp_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x66,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x00,0x01,0x00]
+v_ldexp_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x67,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, -1
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x82,0x01,0x00]
+v_ldexp_f32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x6a,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xe0,0x01,0x00]
+v_ldexp_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x6b,0x04,0x02,0x00]
-v_ldexp_f32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xee,0x01,0x00]
+v_ldexp_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x7c,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x7e,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x7f,0x04,0x02,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, -1, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0xc1,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0xf0,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0xf7,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, v1, v255
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xff,0x03,0x00]
+
+v_ldexp_f32 v5, v1, s2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x00,0x00]
+
+v_ldexp_f32 v5, v1, s101
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xcb,0x00,0x00]
+
+v_ldexp_f32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xcd,0x00,0x00]
+
+v_ldexp_f32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xcf,0x00,0x00]
+
+v_ldexp_f32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd5,0x00,0x00]
+
+v_ldexp_f32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xd7,0x00,0x00]
+
+v_ldexp_f32 v5, v1, m0
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xf9,0x00,0x00]
+
+v_ldexp_f32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xfd,0x00,0x00]
+
+v_ldexp_f32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xff,0x00,0x00]
+
+v_ldexp_f32 v5, v1, 0
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x01,0x01,0x00]
+
+v_ldexp_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x83,0x01,0x00]
+
+v_ldexp_f32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xe1,0x01,0x00]
-v_ldexp_f32 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x20]
+v_ldexp_f32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0xef,0x01,0x00]
-v_ldexp_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0x88,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f32 v5, -v1, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x20]
-v_ldexp_f32 v5, 0, s2 clamp
-// CHECK: [0x05,0x80,0x88,0xd2,0x80,0x04,0x00,0x00]
+v_ldexp_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x88,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, s2 mul:2
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x08]
+v_ldexp_f32 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x88,0xd2,0x01,0x05,0x02,0x00]
-v_ldexp_f32 v5, 0, s2 mul:4
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x10]
+v_ldexp_f32 v5, v1, v2 mul:2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x08]
-v_ldexp_f32 v5, 0, s2 div:2
-// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x18]
+v_ldexp_f32 v5, v1, v2 mul:4
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x10]
+
+v_ldexp_f32 v5, v1, v2 div:2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x18]
v_readlane_b32 s5, v1, s2
// CHECK: [0x05,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
@@ -36111,1022 +40980,2336 @@ v_writelane_b32 v5, 0, m0
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 v5, v1, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00]
+
+v_bcnt_u32_b32 v255, v1, v2
+// CHECK: [0xff,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00]
+
+v_bcnt_u32_b32 v5, v255, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xff,0x05,0x02,0x00]
+
+v_bcnt_u32_b32 v5, s1, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, s101, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x65,0x04,0x02,0x00]
-v_bcnt_u32_b32 v255, 0, s2
-// CHECK: [0xff,0x00,0x8b,0xd2,0x80,0x04,0x00,0x00]
+v_bcnt_u32_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x66,0x04,0x02,0x00]
-v_bcnt_u32_b32 v5, -1, s2
-// CHECK: [0x05,0x00,0x8b,0xd2,0xc1,0x04,0x00,0x00]
+v_bcnt_u32_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x67,0x04,0x02,0x00]
-v_bcnt_u32_b32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x8b,0xd2,0xf0,0x04,0x00,0x00]
+v_bcnt_u32_b32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x6a,0x04,0x02,0x00]
-v_bcnt_u32_b32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x8b,0xd2,0xf7,0x04,0x00,0x00]
+v_bcnt_u32_b32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x6b,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, m0, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x7c,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x7e,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x7f,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, -1, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xc1,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xf0,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xf7,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, v1, v255
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xcb,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, s101
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xca,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xd5,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xd4,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xd7,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xd6,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, m0
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xf9,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, m0
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xf8,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xfd,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xfc,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xff,0x00,0x00]
-v_bcnt_u32_b32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xfe,0x00,0x00]
+v_bcnt_u32_b32 v5, v1, 0
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0x01,0x01,0x00]
-v_bcnt_u32_b32 v5, 0, 0
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x00,0x01,0x00]
+v_bcnt_u32_b32 v5, v1, -1
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0x83,0x01,0x00]
-v_bcnt_u32_b32 v5, 0, -1
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x82,0x01,0x00]
+v_bcnt_u32_b32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xe1,0x01,0x00]
-v_bcnt_u32_b32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xe0,0x01,0x00]
+v_bcnt_u32_b32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0xef,0x01,0x00]
-v_bcnt_u32_b32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xee,0x01,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00]
-v_bcnt_u32_b32 v5, 0, v2
-// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x04,0x02,0x00]
+v_mbcnt_lo_u32_b32 v255, v1, v2
+// CHECK: [0xff,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, v255, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xff,0x05,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, s1, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,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, s101, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x65,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, s2
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_lo_u32_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x66,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32 v255, 0, s2
-// CHECK: [0xff,0x00,0x8c,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_lo_u32_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x67,0x04,0x02,0x00]
-v_mbcnt_lo_u32_b32 v5, -1, s2
-// CHECK: [0x05,0x00,0x8c,0xd2,0xc1,0x04,0x00,0x00]
+v_mbcnt_lo_u32_b32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6a,0x04,0x02,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, vcc_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x6b,0x04,0x02,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, m0, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7c,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, -1, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, v1, v255
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x01,0x01,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, 0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x00,0x01,0x00]
+v_mbcnt_lo_u32_b32 v5, v1, -1
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0xef,0x01,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xee,0x01,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00]
-v_mbcnt_lo_u32_b32 v5, 0, v2
-// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x02,0x00]
+v_mbcnt_hi_u32_b32 v255, v1, v2
+// CHECK: [0xff,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, v255, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xff,0x05,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, s1, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, s101, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x65,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, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x66,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, s2
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x67,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32 v255, 0, s2
-// CHECK: [0xff,0x00,0x8d,0xd2,0x80,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x6a,0x04,0x02,0x00]
-v_mbcnt_hi_u32_b32 v5, -1, s2
-// CHECK: [0x05,0x00,0x8d,0xd2,0xc1,0x04,0x00,0x00]
+v_mbcnt_hi_u32_b32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x6b,0x04,0x02,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, m0, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x7c,0x04,0x02,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, exec_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x7e,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x7f,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, -1, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xc1,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xf0,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xf7,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, v1, v255
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0x01,0x01,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, 0
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x00,0x01,0x00]
+v_mbcnt_hi_u32_b32 v5, v1, -1
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0xef,0x01,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xee,0x01,0x00]
+v_lshlrev_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00]
-v_mbcnt_hi_u32_b32 v5, 0, v2
-// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x02,0x00]
+v_lshlrev_b64 v[254:255], v1, v[2:3]
+// CHECK: [0xfe,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], v255, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xff,0x05,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], s1, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], s101, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x65,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], flat_scratch_lo, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x66,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], flat_scratch_hi, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x67,0x04,0x02,0x00]
-v_lshlrev_b64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x08,0x00,0x00]
+v_lshlrev_b64 v[5:6], vcc_lo, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x6a,0x04,0x02,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], vcc_hi, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x6b,0x04,0x02,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], m0, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x7c,0x04,0x02,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], exec_lo, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x7e,0x04,0x02,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], exec_hi, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x7f,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xc1,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xf0,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xf7,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], v1, v[254:255]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xfd,0x03,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], v1, s[6:7]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x0d,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], v1, s[100:101]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xc9,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], v1, flat_scratch
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xcd,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], v1, vcc
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xd5,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], v1, exec
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xfd,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], v1, 0
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x01,0x01,0x00]
-v_lshlrev_b64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x00,0x01,0x00]
+v_lshlrev_b64 v[5:6], v1, -1
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x83,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], v1, 0.5
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0xef,0x01,0x00]
-v_lshlrev_b64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xee,0x01,0x00]
+v_lshrrev_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x05,0x02,0x00]
-v_lshlrev_b64 v[5:6], 0, v[2:3]
-// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x04,0x02,0x00]
+v_lshrrev_b64 v[254:255], v1, v[2:3]
+// CHECK: [0xfe,0x00,0x90,0xd2,0x01,0x05,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], v255, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0xff,0x05,0x02,0x00]
-v_lshrrev_b64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x08,0x00,0x00]
+v_lshrrev_b64 v[5:6], s1, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x04,0x02,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], s101, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x65,0x04,0x02,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], flat_scratch_lo, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x66,0x04,0x02,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], flat_scratch_hi, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x67,0x04,0x02,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], vcc_lo, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x6a,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], vcc_hi, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x6b,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], m0, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x7c,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], exec_lo, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x7e,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], exec_hi, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x7f,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0xc1,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0xf0,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0xf7,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], v1, v[254:255]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xfd,0x03,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], v1, s[6:7]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x0d,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], v1, s[100:101]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xc9,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], v1, flat_scratch
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xcd,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], v1, vcc
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xd5,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], v1, exec
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xfd,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], v1, 0
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x01,0x01,0x00]
-v_lshrrev_b64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x00,0x01,0x00]
+v_lshrrev_b64 v[5:6], v1, -1
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x83,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], v1, 0.5
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0xef,0x01,0x00]
-v_lshrrev_b64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xee,0x01,0x00]
+v_ashrrev_i64 v[5:6], v1, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0x05,0x02,0x00]
-v_lshrrev_b64 v[5:6], 0, v[2:3]
-// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x04,0x02,0x00]
+v_ashrrev_i64 v[254:255], v1, v[2:3]
+// CHECK: [0xfe,0x00,0x91,0xd2,0x01,0x05,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], v255, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0xff,0x05,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], s1, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,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], s101, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x65,0x04,0x02,0x00]
-v_ashrrev_i64 v[5:6], 0, s[4:5]
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x08,0x00,0x00]
+v_ashrrev_i64 v[5:6], flat_scratch_lo, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x66,0x04,0x02,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], flat_scratch_hi, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x67,0x04,0x02,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], vcc_lo, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x6a,0x04,0x02,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], vcc_hi, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x6b,0x04,0x02,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], m0, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x7c,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], exec_lo, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x7e,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], exec_hi, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x7f,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0xc1,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], 0.5, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0xf0,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], -4.0, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0xf7,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], v1, v[254:255]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xfd,0x03,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], v1, s[6:7]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0x0d,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], v1, s[100:101]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xc9,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], v1, flat_scratch
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xcd,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], v1, vcc
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xd5,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], v1, exec
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xfd,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], v1, 0
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0x01,0x01,0x00]
-v_ashrrev_i64 v[5:6], 0, 0
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x00,0x01,0x00]
+v_ashrrev_i64 v[5:6], v1, -1
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0x83,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], v1, 0.5
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0xef,0x01,0x00]
-v_ashrrev_i64 v[5:6], 0, -4.0
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xee,0x01,0x00]
+v_trig_preop_f64 v[5:6], v[1:2], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x00]
-v_ashrrev_i64 v[5:6], 0, v[2:3]
-// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x04,0x02,0x00]
+v_trig_preop_f64 v[254:255], v[1:2], v2
+// CHECK: [0xfe,0x00,0x92,0xd2,0x01,0x05,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], v[254:255], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0xfe,0x05,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], s[2:3], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x02,0x04,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, s2
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x00]
+v_trig_preop_f64 v[5:6], s[4:5], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x04,0x04,0x02,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], s[100:101], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x64,0x04,0x02,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], flat_scratch, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x66,0x04,0x02,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], vcc, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x6a,0x04,0x02,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], exec, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x7e,0x04,0x02,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], -1, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0xc1,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], 0.5, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0xf0,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], -4.0, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0xf7,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], v255
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xff,0x03,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], v[1:2], s101
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xcb,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], v[1:2], flat_scratch_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xcd,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], v[1:2], flat_scratch_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xcf,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], v[1:2], vcc_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd5,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], v[1:2], vcc_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xd7,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], v[1:2], m0
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xf9,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], v[1:2], exec_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xfd,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], v[1:2], exec_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xff,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], v[1:2], 0
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x83,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], v[1:2], 0.5
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xe1,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], v[1:2], -4.0
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0xef,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], -v[1:2], v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x20]
-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], |v[1:2]|, v2
+// CHECK: [0x05,0x01,0x92,0xd2,0x01,0x05,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], v2 clamp
+// CHECK: [0x05,0x80,0x92,0xd2,0x01,0x05,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], v2 mul:2
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x08]
-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], v[1:2], v2 mul:4
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x10]
-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], v[1:2], v2 div:2
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x18]
-v_trig_preop_f64 v[5:6], |0|, s2
-// CHECK: [0x05,0x01,0x92,0xd2,0x80,0x04,0x00,0x00]
+v_bfm_b32 v5, v1, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0x05,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 clamp
-// CHECK: [0x05,0x80,0x92,0xd2,0x80,0x04,0x00,0x00]
+v_bfm_b32 v255, v1, v2
+// CHECK: [0xff,0x00,0x93,0xd2,0x01,0x05,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 mul:2
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x08]
+v_bfm_b32 v5, v255, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0xff,0x05,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 mul:4
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x10]
+v_bfm_b32 v5, s1, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0x04,0x02,0x00]
-v_trig_preop_f64 v[5:6], 0, s2 div:2
-// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x18]
+v_bfm_b32 v5, s101, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x65,0x04,0x02,0x00]
-v_bfm_b32 v5, 0, s2
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x04,0x00,0x00]
+v_bfm_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x66,0x04,0x02,0x00]
-v_bfm_b32 v255, 0, s2
-// CHECK: [0xff,0x00,0x93,0xd2,0x80,0x04,0x00,0x00]
+v_bfm_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x67,0x04,0x02,0x00]
-v_bfm_b32 v5, -1, s2
-// CHECK: [0x05,0x00,0x93,0xd2,0xc1,0x04,0x00,0x00]
+v_bfm_b32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x6a,0x04,0x02,0x00]
-v_bfm_b32 v5, 0.5, s2
-// CHECK: [0x05,0x00,0x93,0xd2,0xf0,0x04,0x00,0x00]
+v_bfm_b32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x6b,0x04,0x02,0x00]
-v_bfm_b32 v5, -4.0, s2
-// CHECK: [0x05,0x00,0x93,0xd2,0xf7,0x04,0x00,0x00]
+v_bfm_b32 v5, m0, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x7c,0x04,0x02,0x00]
+
+v_bfm_b32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x7e,0x04,0x02,0x00]
+
+v_bfm_b32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x7f,0x04,0x02,0x00]
+
+v_bfm_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x04,0x02,0x00]
+
+v_bfm_b32 v5, -1, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0xc1,0x04,0x02,0x00]
+
+v_bfm_b32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0xf0,0x04,0x02,0x00]
+
+v_bfm_b32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0xf7,0x04,0x02,0x00]
+
+v_bfm_b32 v5, v1, v255
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xcb,0x00,0x00]
-v_bfm_b32 v5, 0, s101
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xca,0x00,0x00]
+v_bfm_b32 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xcd,0x00,0x00]
-v_bfm_b32 v5, 0, flat_scratch_lo
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xcc,0x00,0x00]
+v_bfm_b32 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xcf,0x00,0x00]
-v_bfm_b32 v5, 0, flat_scratch_hi
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xce,0x00,0x00]
+v_bfm_b32 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xd5,0x00,0x00]
-v_bfm_b32 v5, 0, vcc_lo
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xd4,0x00,0x00]
+v_bfm_b32 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xd7,0x00,0x00]
-v_bfm_b32 v5, 0, vcc_hi
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xd6,0x00,0x00]
+v_bfm_b32 v5, v1, m0
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xf9,0x00,0x00]
-v_bfm_b32 v5, 0, m0
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xf8,0x00,0x00]
+v_bfm_b32 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xfd,0x00,0x00]
-v_bfm_b32 v5, 0, exec_lo
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xfc,0x00,0x00]
+v_bfm_b32 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xff,0x00,0x00]
-v_bfm_b32 v5, 0, exec_hi
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xfe,0x00,0x00]
+v_bfm_b32 v5, v1, 0
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0x01,0x01,0x00]
-v_bfm_b32 v5, 0, 0
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x00,0x01,0x00]
+v_bfm_b32 v5, v1, -1
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0x83,0x01,0x00]
-v_bfm_b32 v5, 0, -1
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x82,0x01,0x00]
+v_bfm_b32 v5, v1, 0.5
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xe1,0x01,0x00]
-v_bfm_b32 v5, 0, 0.5
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xe0,0x01,0x00]
+v_bfm_b32 v5, v1, -4.0
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0xef,0x01,0x00]
-v_bfm_b32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x00]
-v_bfm_b32 v5, 0, v2
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pknorm_i16_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0x94,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, v255, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0xff,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x65,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x66,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x67,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x6a,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x6b,0x04,0x02,0x00]
-v_bfm_b32 v5, 0, v255
-// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pknorm_i16_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x7c,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x7e,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_i16_f32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x7f,0x04,0x02,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, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, -1, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0xc1,0x04,0x02,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, 0.5, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0xf0,0x04,0x02,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, -4.0, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, v1, v255
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0xef,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, -v1, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pknorm_i16_f32 v5, 0, v2
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pknorm_i16_f32 v5, v1, -v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x40]
+
+v_cvt_pknorm_i16_f32 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x60]
+
+v_cvt_pknorm_i16_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x94,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x94,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x94,0xd2,0x01,0x05,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, v1, v2 clamp
+// CHECK: [0x05,0x80,0x94,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x20]
+v_cvt_pknorm_u16_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, -s2
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x40]
+v_cvt_pknorm_u16_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0x95,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x60]
+v_cvt_pknorm_u16_f32 v5, v255, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x65,0x04,0x02,0x00]
-v_cvt_pknorm_i16_f32 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x94,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x66,0x04,0x02,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, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x6a,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x6b,0x04,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, -1, s2
-// CHECK: [0x05,0x00,0x95,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x7c,0x04,0x02,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, exec_lo, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x7e,0x04,0x02,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, exec_hi, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, -1, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, v1, v255
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0xef,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, -v1, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pknorm_u16_f32 v5, 0, v2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, -v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x40]
-v_cvt_pknorm_u16_f32 v5, 0, v255
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xfe,0x03,0x00]
+v_cvt_pknorm_u16_f32 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x60]
-v_cvt_pknorm_u16_f32 v5, neg(0), s2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x20]
+v_cvt_pknorm_u16_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x95,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, -s2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x40]
+v_cvt_pknorm_u16_f32 v5, v1, |v2|
+// CHECK: [0x05,0x02,0x95,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x60]
+v_cvt_pknorm_u16_f32 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0x95,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pknorm_u16_f32 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x95,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pknorm_u16_f32 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x95,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v255, v1, v2
+// CHECK: [0xff,0x00,0x96,0xd2,0x01,0x05,0x02,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, v255, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, s2
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, s1, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v255, 0, s2
-// CHECK: [0xff,0x00,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, s101, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x65,0x04,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, -1, s2
-// CHECK: [0x05,0x00,0x96,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pkrtz_f16_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x66,0x04,0x02,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, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x67,0x04,0x02,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, vcc_lo, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x6a,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x6b,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, m0, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, -1, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, v1, v255
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, 0
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, -1
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0xef,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, -v1, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x20]
-v_cvt_pkrtz_f16_f32 v5, 0, v2
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pkrtz_f16_f32 v5, v1, -v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x40]
+
+v_cvt_pkrtz_f16_f32 v5, -v1, -v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x60]
+
+v_cvt_pkrtz_f16_f32 v5, |v1|, v2
+// CHECK: [0x05,0x01,0x96,0xd2,0x01,0x05,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, v1, |v2|
+// CHECK: [0x05,0x02,0x96,0xd2,0x01,0x05,0x02,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, |v1|, |v2|
+// CHECK: [0x05,0x03,0x96,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, -s2
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x40]
+v_cvt_pkrtz_f16_f32 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x96,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, neg(0), -s2
-// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x60]
+v_cvt_pk_u16_u32 v5, v1, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, |0|, s2
-// CHECK: [0x05,0x01,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v255, v1, v2
+// CHECK: [0xff,0x00,0x97,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, 0, |s2|
-// CHECK: [0x05,0x02,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, v255, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0xff,0x05,0x02,0x00]
-v_cvt_pkrtz_f16_f32 v5, |0|, |s2|
-// CHECK: [0x05,0x03,0x96,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, s1, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0x04,0x02,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, s101, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x65,0x04,0x02,0x00]
-v_cvt_pk_u16_u32 v5, 0, s2
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x66,0x04,0x02,0x00]
-v_cvt_pk_u16_u32 v255, 0, s2
-// CHECK: [0xff,0x00,0x97,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pk_u16_u32 v5, -1, s2
-// CHECK: [0x05,0x00,0x97,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pk_u16_u32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x6a,0x04,0x02,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, vcc_hi, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x6b,0x04,0x02,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, m0, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x7c,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, -1, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, v1, v255
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pk_u16_u32 v5, 0, 0
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pk_u16_u32 v5, v1, -1
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pk_u16_u32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xee,0x01,0x00]
+v_cvt_pk_i16_i32 v5, v1, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pk_u16_u32 v5, 0, v2
-// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x04,0x02,0x00]
+v_cvt_pk_i16_i32 v255, v1, v2
+// CHECK: [0xff,0x00,0x98,0xd2,0x01,0x05,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, v255, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0xff,0x05,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, s1, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, s101, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x65,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, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x66,0x04,0x02,0x00]
-v_cvt_pk_i16_i32 v5, 0, s2
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_i16_i32 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x67,0x04,0x02,0x00]
-v_cvt_pk_i16_i32 v255, 0, s2
-// CHECK: [0xff,0x00,0x98,0xd2,0x80,0x04,0x00,0x00]
+v_cvt_pk_i16_i32 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x6a,0x04,0x02,0x00]
-v_cvt_pk_i16_i32 v5, -1, s2
-// CHECK: [0x05,0x00,0x98,0xd2,0xc1,0x04,0x00,0x00]
+v_cvt_pk_i16_i32 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x6b,0x04,0x02,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, m0, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x7c,0x04,0x02,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, exec_lo, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x7e,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x7f,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, -1, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0xc1,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, 0.5, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0xf0,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, -4.0, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0xf7,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, v1, v255
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xff,0x03,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, v1, s101
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xcb,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, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xcd,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, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xcf,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, v1, vcc_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xd5,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, v1, vcc_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xd7,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, v1, m0
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xf9,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, v1, exec_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xfd,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, v1, exec_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xff,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, v1, 0
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x01,0x01,0x00]
-v_cvt_pk_i16_i32 v5, 0, 0
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x00,0x01,0x00]
+v_cvt_pk_i16_i32 v5, v1, -1
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x83,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, v1, 0.5
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xe1,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, v1, -4.0
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0xef,0x01,0x00]
-v_cvt_pk_i16_i32 v5, 0, -4.0
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xee,0x01,0x00]
+v_pack_b32_f16 v5, v1, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00]
-v_cvt_pk_i16_i32 v5, 0, v2
-// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x04,0x02,0x00]
+v_pack_b32_f16 v255, v1, v2
+// CHECK: [0xff,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00]
+
+v_pack_b32_f16 v5, v255, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0xff,0x05,0x02,0x00]
+
+v_pack_b32_f16 v5, s1, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x04,0x02,0x00]
+
+v_pack_b32_f16 v5, s101, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x65,0x04,0x02,0x00]
+
+v_pack_b32_f16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x66,0x04,0x02,0x00]
+
+v_pack_b32_f16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x67,0x04,0x02,0x00]
+
+v_pack_b32_f16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x6a,0x04,0x02,0x00]
+
+v_pack_b32_f16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x6b,0x04,0x02,0x00]
+
+v_pack_b32_f16 v5, m0, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x7c,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, exec_lo, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x7e,0x04,0x02,0x00]
+
+v_pack_b32_f16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x7f,0x04,0x02,0x00]
+
+v_pack_b32_f16 v5, v1, v255
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xff,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, v1, s101
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xcb,0x00,0x00]
+
+v_pack_b32_f16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xcd,0x00,0x00]
+
+v_pack_b32_f16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xcf,0x00,0x00]
+
+v_pack_b32_f16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xd5,0x00,0x00]
+
+v_pack_b32_f16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xd7,0x00,0x00]
+
+v_pack_b32_f16 v5, v1, m0
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xf9,0x00,0x00]
+
+v_pack_b32_f16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xfd,0x00,0x00]
+
+v_pack_b32_f16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x00,0x00]
+
+v_pack_b32_f16 v5, -v1, v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x20]
+
+v_pack_b32_f16 v5, v1, -v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x40]
+
+v_pack_b32_f16 v5, -v1, -v2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x60]
+
+v_pack_b32_f16 v5, |v1|, v2
+// CHECK: [0x05,0x01,0xa0,0xd2,0x01,0x05,0x02,0x00]
+
+v_pack_b32_f16 v5, v1, |v2|
+// CHECK: [0x05,0x02,0xa0,0xd2,0x01,0x05,0x02,0x00]
+
+v_pack_b32_f16 v5, |v1|, |v2|
+// CHECK: [0x05,0x03,0xa0,0xd2,0x01,0x05,0x02,0x00]
+
+v_pack_b32_f16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0xa0,0xd2,0x01,0x05,0x02,0x00]
+
+v_pk_mul_lo_u16 v5, v1, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_mul_lo_u16 v255, v1, v2
+// CHECK: [0xff,0x00,0x81,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, v255, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, s1, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, s101, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, m0, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x81,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, v1, v255
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_mul_lo_u16 v5, v1, s2
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x05,0x00,0x18]
+
+v_pk_mul_lo_u16 v5, v1, s101
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xcb,0x00,0x18]
+
+v_pk_mul_lo_u16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xcd,0x00,0x18]
+
+v_pk_mul_lo_u16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xcf,0x00,0x18]
+
+v_pk_mul_lo_u16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xd5,0x00,0x18]
+
+v_pk_mul_lo_u16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xd7,0x00,0x18]
+
+v_pk_mul_lo_u16 v5, v1, m0
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xf9,0x00,0x18]
+
+v_pk_mul_lo_u16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xfd,0x00,0x18]
+
+v_pk_mul_lo_u16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0xff,0x00,0x18]
+
+v_pk_mul_lo_u16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x81,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x81,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x81,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_mul_lo_u16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x00]
+
+v_pk_mul_lo_u16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_mul_lo_u16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_mul_lo_u16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x81,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_i16 v5, v1, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_i16 v255, v1, v2
+// CHECK: [0xff,0x00,0x82,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_i16 v5, v255, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_add_i16 v5, s1, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_add_i16 v5, s101, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_add_i16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_add_i16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_add_i16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_add_i16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_add_i16 v5, m0, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_add_i16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_add_i16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x82,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_add_i16 v5, v1, v255
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_add_i16 v5, v1, s2
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x05,0x00,0x18]
+
+v_pk_add_i16 v5, v1, s101
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xcb,0x00,0x18]
+
+v_pk_add_i16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xcd,0x00,0x18]
+
+v_pk_add_i16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xcf,0x00,0x18]
+
+v_pk_add_i16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xd5,0x00,0x18]
+
+v_pk_add_i16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xd7,0x00,0x18]
+
+v_pk_add_i16 v5, v1, m0
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xf9,0x00,0x18]
+
+v_pk_add_i16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xfd,0x00,0x18]
+
+v_pk_add_i16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0xff,0x00,0x18]
+
+v_pk_add_i16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_i16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x82,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_i16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x82,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_i16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x82,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_i16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_i16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x00]
+
+v_pk_add_i16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_add_i16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_add_i16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x82,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_sub_i16 v5, v1, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_sub_i16 v255, v1, v2
+// CHECK: [0xff,0x00,0x83,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_sub_i16 v5, v255, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_sub_i16 v5, s1, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_sub_i16 v5, s101, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_sub_i16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_sub_i16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_sub_i16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_sub_i16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_sub_i16 v5, m0, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_sub_i16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_sub_i16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x83,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_sub_i16 v5, v1, v255
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_sub_i16 v5, v1, s2
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x05,0x00,0x18]
+
+v_pk_sub_i16 v5, v1, s101
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xcb,0x00,0x18]
+
+v_pk_sub_i16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xcd,0x00,0x18]
+
+v_pk_sub_i16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xcf,0x00,0x18]
+
+v_pk_sub_i16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xd5,0x00,0x18]
+
+v_pk_sub_i16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xd7,0x00,0x18]
+
+v_pk_sub_i16 v5, v1, m0
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xf9,0x00,0x18]
+
+v_pk_sub_i16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xfd,0x00,0x18]
+
+v_pk_sub_i16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0xff,0x00,0x18]
+
+v_pk_sub_i16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_sub_i16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x83,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_sub_i16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x83,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_sub_i16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x83,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_sub_i16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_sub_i16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x00]
+
+v_pk_sub_i16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_sub_i16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_sub_i16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x83,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, v1, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshlrev_b16 v255, v1, v2
+// CHECK: [0xff,0x00,0x84,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, v255, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, s1, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, s101, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, m0, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x84,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, v1, v255
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_lshlrev_b16 v5, v1, s2
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x05,0x00,0x18]
+
+v_pk_lshlrev_b16 v5, v1, s101
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xcb,0x00,0x18]
+
+v_pk_lshlrev_b16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xcd,0x00,0x18]
+
+v_pk_lshlrev_b16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xcf,0x00,0x18]
+
+v_pk_lshlrev_b16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xd5,0x00,0x18]
+
+v_pk_lshlrev_b16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xd7,0x00,0x18]
+
+v_pk_lshlrev_b16 v5, v1, m0
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xf9,0x00,0x18]
+
+v_pk_lshlrev_b16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xfd,0x00,0x18]
+
+v_pk_lshlrev_b16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0xff,0x00,0x18]
+
+v_pk_lshlrev_b16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x84,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x84,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x84,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshlrev_b16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x00]
+
+v_pk_lshlrev_b16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_lshlrev_b16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_lshlrev_b16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x84,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, v1, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshrrev_b16 v255, v1, v2
+// CHECK: [0xff,0x00,0x85,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, v255, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, s1, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, s101, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, m0, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x85,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, v1, v255
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_lshrrev_b16 v5, v1, s2
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x05,0x00,0x18]
+
+v_pk_lshrrev_b16 v5, v1, s101
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xcb,0x00,0x18]
+
+v_pk_lshrrev_b16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xcd,0x00,0x18]
+
+v_pk_lshrrev_b16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xcf,0x00,0x18]
+
+v_pk_lshrrev_b16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xd5,0x00,0x18]
+
+v_pk_lshrrev_b16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xd7,0x00,0x18]
+
+v_pk_lshrrev_b16 v5, v1, m0
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xf9,0x00,0x18]
+
+v_pk_lshrrev_b16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xfd,0x00,0x18]
+
+v_pk_lshrrev_b16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0xff,0x00,0x18]
+
+v_pk_lshrrev_b16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x85,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x85,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x85,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_lshrrev_b16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x00]
+
+v_pk_lshrrev_b16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_lshrrev_b16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_lshrrev_b16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x85,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, v1, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_ashrrev_i16 v255, v1, v2
+// CHECK: [0xff,0x00,0x86,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, v255, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, s1, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, s101, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, m0, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x86,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, v1, v255
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_ashrrev_i16 v5, v1, s2
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x05,0x00,0x18]
+
+v_pk_ashrrev_i16 v5, v1, s101
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xcb,0x00,0x18]
+
+v_pk_ashrrev_i16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xcd,0x00,0x18]
+
+v_pk_ashrrev_i16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xcf,0x00,0x18]
+
+v_pk_ashrrev_i16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xd5,0x00,0x18]
+
+v_pk_ashrrev_i16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xd7,0x00,0x18]
+
+v_pk_ashrrev_i16 v5, v1, m0
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xf9,0x00,0x18]
+
+v_pk_ashrrev_i16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xfd,0x00,0x18]
+
+v_pk_ashrrev_i16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0xff,0x00,0x18]
+
+v_pk_ashrrev_i16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x86,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x86,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x86,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_ashrrev_i16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x00]
+
+v_pk_ashrrev_i16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_ashrrev_i16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_ashrrev_i16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x86,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_i16 v5, v1, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_i16 v255, v1, v2
+// CHECK: [0xff,0x00,0x87,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_i16 v5, v255, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_max_i16 v5, s1, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_max_i16 v5, s101, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_max_i16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_max_i16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_max_i16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_max_i16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_max_i16 v5, m0, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_max_i16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_max_i16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x87,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_max_i16 v5, v1, v255
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_max_i16 v5, v1, s2
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x05,0x00,0x18]
+
+v_pk_max_i16 v5, v1, s101
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xcb,0x00,0x18]
+
+v_pk_max_i16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xcd,0x00,0x18]
+
+v_pk_max_i16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xcf,0x00,0x18]
+
+v_pk_max_i16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xd5,0x00,0x18]
+
+v_pk_max_i16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xd7,0x00,0x18]
+
+v_pk_max_i16 v5, v1, m0
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xf9,0x00,0x18]
+
+v_pk_max_i16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xfd,0x00,0x18]
+
+v_pk_max_i16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0xff,0x00,0x18]
+
+v_pk_max_i16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_i16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x87,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_i16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x87,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_i16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x87,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_i16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_i16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x00]
+
+v_pk_max_i16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_max_i16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_max_i16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x87,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_min_i16 v5, v1, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_min_i16 v255, v1, v2
+// CHECK: [0xff,0x00,0x88,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_min_i16 v5, v255, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_min_i16 v5, s1, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_min_i16 v5, s101, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_min_i16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_min_i16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_min_i16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_min_i16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_min_i16 v5, m0, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_min_i16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_min_i16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x88,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_min_i16 v5, v1, v255
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_min_i16 v5, v1, s2
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x05,0x00,0x18]
+
+v_pk_min_i16 v5, v1, s101
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xcb,0x00,0x18]
+
+v_pk_min_i16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xcd,0x00,0x18]
+
+v_pk_min_i16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xcf,0x00,0x18]
+
+v_pk_min_i16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xd5,0x00,0x18]
+
+v_pk_min_i16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xd7,0x00,0x18]
+
+v_pk_min_i16 v5, v1, m0
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xf9,0x00,0x18]
+
+v_pk_min_i16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xfd,0x00,0x18]
+
+v_pk_min_i16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0xff,0x00,0x18]
+
+v_pk_min_i16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_min_i16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x88,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_min_i16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x88,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_min_i16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x88,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_min_i16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_min_i16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x00]
+
+v_pk_min_i16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_min_i16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_min_i16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x88,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_u16 v5, v1, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_u16 v255, v1, v2
+// CHECK: [0xff,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_u16 v5, v255, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_add_u16 v5, s1, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_add_u16 v5, s101, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_add_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_add_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_add_u16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_add_u16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_add_u16 v5, m0, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_add_u16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_add_u16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_add_u16 v5, v1, v255
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_add_u16 v5, v1, s2
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x00,0x18]
+
+v_pk_add_u16 v5, v1, s101
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xcb,0x00,0x18]
+
+v_pk_add_u16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xcd,0x00,0x18]
+
+v_pk_add_u16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xcf,0x00,0x18]
+
+v_pk_add_u16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xd5,0x00,0x18]
+
+v_pk_add_u16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xd7,0x00,0x18]
+
+v_pk_add_u16 v5, v1, m0
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xf9,0x00,0x18]
+
+v_pk_add_u16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xfd,0x00,0x18]
+
+v_pk_add_u16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0xff,0x00,0x18]
+
+v_pk_add_u16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_u16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x8a,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_u16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x8a,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_u16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x8a,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_u16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_add_u16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x00]
+
+v_pk_add_u16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_add_u16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_add_u16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x8a,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_u16 v5, v1, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_u16 v255, v1, v2
+// CHECK: [0xff,0x00,0x8c,0xd3,0x01,0x05,0x02,0x18]
+
+v_pk_max_u16 v5, v255, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0xff,0x05,0x02,0x18]
+
+v_pk_max_u16 v5, s1, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x04,0x02,0x18]
+
+v_pk_max_u16 v5, s101, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x65,0x04,0x02,0x18]
+
+v_pk_max_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x66,0x04,0x02,0x18]
+
+v_pk_max_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x67,0x04,0x02,0x18]
+
+v_pk_max_u16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x6a,0x04,0x02,0x18]
+
+v_pk_max_u16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x6b,0x04,0x02,0x18]
+
+v_pk_max_u16 v5, m0, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x7c,0x04,0x02,0x18]
+
+v_pk_max_u16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x7e,0x04,0x02,0x18]
+
+v_pk_max_u16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x7f,0x04,0x02,0x18]
+
+v_pk_max_u16 v5, v1, v255
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xff,0x03,0x18]
+
+v_pk_max_u16 v5, v1, s2
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x00,0x18]
-v_pack_b32_f16 v5, 0, s101
-// CHECK: [0x05,0x00,0xa0,0xd2,0x80,0xca,0x00,0x00]
+v_pk_max_u16 v5, v1, s101
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xcb,0x00,0x18]
-v_pack_b32_f16 v5, 0, m0
-// CHECK: [0x05,0x00,0xa0,0xd2,0x80,0xf8,0x00,0x00]
+v_pk_max_u16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xcd,0x00,0x18]
-v_pk_fma_f16 v5, s1, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xcf,0x00,0x18]
-v_pk_fma_f16 v255, s1, 0, 0
-// CHECK: [0xff,0x40,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xd5,0x00,0x18]
-v_pk_fma_f16 v5, s101, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x65,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xd7,0x00,0x18]
-v_pk_fma_f16 v5, flat_scratch_lo, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x66,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, m0
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xf9,0x00,0x18]
-v_pk_fma_f16 v5, flat_scratch_hi, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x67,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xfd,0x00,0x18]
-v_pk_fma_f16 v5, vcc_lo, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x6a,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0xff,0x00,0x18]
-v_pk_fma_f16 v5, vcc_hi, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x6b,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, m0, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x7c,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x8c,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, exec_lo, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x7e,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x8c,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, exec_hi, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x7f,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x8c,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, 0, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x80,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, -1, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0xc1,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x00]
-v_pk_fma_f16 v5, 0.5, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0xf0,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x08]
-v_pk_fma_f16 v5, -4.0, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0xf7,0x00,0x01,0x1a]
+v_pk_max_u16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x10]
-v_pk_fma_f16 v5, v1, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x01,0x01,0x1a]
+v_pk_max_u16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x8c,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, v255, 0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0xff,0x01,0x01,0x1a]
+v_pk_min_u16 v5, v1, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, s1, -1, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x82,0x01,0x1a]
+v_pk_min_u16 v255, v1, v2
+// CHECK: [0xff,0x00,0x8d,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0.5, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xe0,0x01,0x1a]
+v_pk_min_u16 v5, v255, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0xff,0x05,0x02,0x18]
-v_pk_fma_f16 v5, s1, -4.0, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xee,0x01,0x1a]
+v_pk_min_u16 v5, s1, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x04,0x02,0x18]
-v_pk_fma_f16 v5, s1, v2, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x04,0x02,0x1a]
+v_pk_min_u16 v5, s101, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x65,0x04,0x02,0x18]
-v_pk_fma_f16 v5, s1, v255, 0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xfe,0x03,0x1a]
+v_pk_min_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x66,0x04,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, -1
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x05,0x1b]
+v_pk_min_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x67,0x04,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, 0.5
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0xc1,0x1b]
+v_pk_min_u16 v5, vcc_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x6a,0x04,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, -4.0
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0xdd,0x1b]
+v_pk_min_u16 v5, vcc_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x6b,0x04,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, v3
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x0d,0x1c]
+v_pk_min_u16 v5, m0, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x7c,0x04,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, v255
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0xfd,0x1f]
+v_pk_min_u16 v5, exec_lo, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x7e,0x04,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 op_sel:[0,0,0]
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_min_u16 v5, exec_hi, v2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x7f,0x04,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 op_sel:[1,0,0]
-// CHECK: [0x05,0x48,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_min_u16 v5, v1, v255
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xff,0x03,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 op_sel:[0,1,0]
-// CHECK: [0x05,0x50,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_min_u16 v5, v1, s2
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x00,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 op_sel:[0,0,1]
-// CHECK: [0x05,0x60,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_min_u16 v5, v1, s101
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xcb,0x00,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 op_sel:[1,1,1]
-// CHECK: [0x05,0x78,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_min_u16 v5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xcd,0x00,0x18]
-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_min_u16 v5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xcf,0x00,0x18]
-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_min_u16 v5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xd5,0x00,0x18]
-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_min_u16 v5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xd7,0x00,0x18]
-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_min_u16 v5, v1, m0
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xf9,0x00,0x18]
-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_min_u16 v5, v1, exec_lo
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xfd,0x00,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 neg_lo:[1,0,0]
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x3a]
+v_pk_min_u16 v5, v1, exec_hi
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0xff,0x00,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 neg_lo:[0,1,0]
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x5a]
+v_pk_min_u16 v5, v1, v2 op_sel:[0,0]
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 neg_lo:[0,0,1]
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x9a]
+v_pk_min_u16 v5, v1, v2 op_sel:[1,0]
+// CHECK: [0x05,0x08,0x8d,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 neg_lo:[1,1,1]
-// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0xfa]
+v_pk_min_u16 v5, v1, v2 op_sel:[0,1]
+// CHECK: [0x05,0x10,0x8d,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 neg_hi:[1,0,0]
-// CHECK: [0x05,0x41,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_min_u16 v5, v1, v2 op_sel:[1,1]
+// CHECK: [0x05,0x18,0x8d,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 neg_hi:[0,1,0]
-// CHECK: [0x05,0x42,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_min_u16 v5, v1, v2 op_sel_hi:[1,1]
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x18]
-v_pk_fma_f16 v5, s1, 0, 0 neg_hi:[0,0,1]
-// CHECK: [0x05,0x44,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_min_u16 v5, v1, v2 op_sel_hi:[0,0]
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x00]
-v_pk_fma_f16 v5, s1, 0, 0 neg_hi:[1,1,1]
-// CHECK: [0x05,0x47,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+v_pk_min_u16 v5, v1, v2 op_sel_hi:[1,0]
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x08]
+
+v_pk_min_u16 v5, v1, v2 op_sel_hi:[0,1]
+// CHECK: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x10]
+
+v_pk_min_u16 v5, v1, v2 clamp
+// CHECK: [0x05,0x80,0x8d,0xd3,0x01,0x05,0x02,0x18]
+
+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, v2
// CHECK: [0x01,0x04,0x20,0x7c]
@@ -37173,89 +43356,116 @@ v_cmp_class_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x21,0x7c]
-v_cmp_class_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x20,0x7c]
+v_cmp_class_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_class_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x21,0x7c]
+v_cmp_class_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_class_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x20]
-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_cmpx_class_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x22,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x22,0x7c]
v_cmpx_class_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x22,0x7c]
@@ -37302,92 +43512,119 @@ v_cmpx_class_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x23,0x7c]
-v_cmpx_class_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x22,0x7c]
+v_cmpx_class_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x23,0x7c]
+v_cmpx_class_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x11,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_class_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_class_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x20]
-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_cmp_class_f64 vcc, v[1:2], v2
+// CHECK: [0x01,0x05,0x24,0x7c]
-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, v[254:255], v2
+// CHECK: [0xfe,0x05,0x24,0x7c]
v_cmp_class_f64 vcc, s[2:3], v2
// CHECK: [0x02,0x04,0x24,0x7c]
@@ -37425,89 +43662,107 @@ v_cmp_class_f64 vcc, 0xaf123456, v2
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[1:2], v255
+// CHECK: [0x01,0xff,0x25,0x7c]
-v_cmp_class_f64 vcc, v[254:255], v2
-// CHECK: [0xfe,0x05,0x24,0x7c]
+v_cmp_class_f64_e64 s[10:11], v[1:2], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 s[12:13], v[1:2], v2
+// CHECK: [0x0c,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 s[100:101], v[1:2], v2
+// CHECK: [0x64,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 flat_scratch, v[1:2], v2
+// CHECK: [0x66,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f64_e64 vcc, v[1:2], v2
+// CHECK: [0x6a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_class_f64 vcc, s[2:3], v255
-// CHECK: [0x02,0xfe,0x25,0x7c]
+v_cmp_class_f64_e64 s[10:11], v[254:255], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xfe,0x05,0x02,0x00]
-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[10:11], s[2:3], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x02,0x04,0x02,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[10:11], s[4:5], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x04,0x04,0x02,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 s[10:11], s[100:101], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x64,0x04,0x02,0x00]
-v_cmp_class_f64_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f64_e64 s[10:11], flat_scratch, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], vcc, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], exec, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x7e,0x04,0x02,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 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f64_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf7,0x04,0x02,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], v255
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xff,0x03,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], v[1:2], s101
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xcb,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], v[1:2], flat_scratch_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xcd,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], v[1:2], flat_scratch_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xcf,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], v[1:2], vcc_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd5,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], v[1:2], vcc_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xd7,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], v[1:2], m0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xf9,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], v[1:2], exec_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xfd,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], v[1:2], exec_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xff,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x83,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xe1,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0xef,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], -v[1:2], v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x20]
-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_cmpx_class_f64 vcc, v[1:2], v2
+// CHECK: [0x01,0x05,0x26,0x7c]
-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, v[254:255], v2
+// CHECK: [0xfe,0x05,0x26,0x7c]
v_cmpx_class_f64 vcc, s[2:3], v2
// CHECK: [0x02,0x04,0x26,0x7c]
@@ -37545,92 +43800,110 @@ v_cmpx_class_f64 vcc, 0xaf123456, v2
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[1:2], v255
+// CHECK: [0x01,0xff,0x27,0x7c]
-v_cmpx_class_f64 vcc, v[254:255], v2
-// CHECK: [0xfe,0x05,0x26,0x7c]
+v_cmpx_class_f64_e64 s[10:11], v[1:2], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[12:13], v[1:2], v2
+// CHECK: [0x0c,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[100:101], v[1:2], v2
+// CHECK: [0x64,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f64_e64 flat_scratch, v[1:2], v2
+// CHECK: [0x66,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f64 vcc, s[2:3], v255
-// CHECK: [0x02,0xfe,0x27,0x7c]
+v_cmpx_class_f64_e64 vcc, v[1:2], v2
+// CHECK: [0x6a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f64_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f64_e64 exec, v[1:2], v2
+// CHECK: [0x7e,0x00,0x13,0xd0,0x01,0x05,0x02,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[10:11], v[254:255], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x02,0x04,0x02,0x00]
-v_cmpx_class_f64_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f64_e64 s[10:11], s[4:5], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x04,0x04,0x02,0x00]
-v_cmpx_class_f64_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f64_e64 s[10:11], s[100:101], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x64,0x04,0x02,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], flat_scratch, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], vcc, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], exec, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x7e,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0x13,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_class_f64_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], v255
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xff,0x03,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], v[1:2], s101
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xcb,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], v[1:2], flat_scratch_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xcd,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], v[1:2], flat_scratch_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xcf,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], v[1:2], vcc_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xd5,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], v[1:2], vcc_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xd7,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], v[1:2], m0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xf9,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], v[1:2], exec_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xfd,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], v[1:2], exec_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xff,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x83,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xe1,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0xef,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], -v[1:2], v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x20]
-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_cmp_class_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x28,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x28,0x7c]
v_cmp_class_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x28,0x7c]
@@ -37677,89 +43950,116 @@ v_cmp_class_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x29,0x7c]
-v_cmp_class_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x28,0x7c]
+v_cmp_class_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_class_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_class_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x29,0x7c]
+v_cmp_class_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_class_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x14,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_class_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_class_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x20]
-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_cmpx_class_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x2a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x2a,0x7c]
v_cmpx_class_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x2a,0x7c]
@@ -37806,92 +44106,119 @@ v_cmpx_class_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x2b,0x7c]
-v_cmpx_class_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x2a,0x7c]
+v_cmpx_class_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_class_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x2b,0x7c]
+v_cmpx_class_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_class_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x15,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_class_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_class_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x7f,0x04,0x02,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_class_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x20]
-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_cmp_f_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x40,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x40,0x7c]
v_cmp_f_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x40,0x7c]
@@ -37938,98 +44265,125 @@ v_cmp_f_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x41,0x7c]
-v_cmp_f_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x40,0x7c]
+v_cmp_f_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x41,0x7c]
+v_cmp_f_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_f_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x20,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_lt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x42,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x42,0x7c]
v_cmp_lt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x42,0x7c]
@@ -38076,98 +44430,125 @@ v_cmp_lt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x43,0x7c]
-v_cmp_lt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x42,0x7c]
+v_cmp_lt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x43,0x7c]
+v_cmp_lt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_lt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x21,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_eq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x44,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x44,0x7c]
v_cmp_eq_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x44,0x7c]
@@ -38214,98 +44595,125 @@ v_cmp_eq_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x45,0x7c]
-v_cmp_eq_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x44,0x7c]
+v_cmp_eq_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x45,0x7c]
+v_cmp_eq_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_eq_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0x22,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_eq_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x22,0xd0,0x01,0x05,0x02,0x00]
-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_le_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x46,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x46,0x7c]
v_cmp_le_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x46,0x7c]
@@ -38352,98 +44760,125 @@ v_cmp_le_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x47,0x7c]
-v_cmp_le_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x46,0x7c]
+v_cmp_le_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x47,0x7c]
+v_cmp_le_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_le_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x23,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_gt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x48,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x48,0x7c]
v_cmp_gt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x48,0x7c]
@@ -38490,98 +44925,125 @@ v_cmp_gt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x49,0x7c]
-v_cmp_gt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x48,0x7c]
+v_cmp_gt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_gt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x49,0x7c]
+v_cmp_gt_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6a,0x04,0x02,0x00]
-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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x6b,0x04,0x02,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[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7c,0x04,0x02,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 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_gt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x24,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_lg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x4a,0x7c]
v_cmp_lg_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4a,0x7c]
@@ -38628,98 +45090,125 @@ v_cmp_lg_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4b,0x7c]
-v_cmp_lg_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4a,0x7c]
+v_cmp_lg_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_lg_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4b,0x7c]
+v_cmp_lg_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_lg_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x25,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_ge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x4c,0x7c]
v_cmp_ge_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4c,0x7c]
@@ -38766,98 +45255,125 @@ v_cmp_ge_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4d,0x7c]
-v_cmp_ge_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4c,0x7c]
+v_cmp_ge_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4d,0x7c]
+v_cmp_ge_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x26,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x26,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ge_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x26,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_o_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x4e,0x7c]
v_cmp_o_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4e,0x7c]
@@ -38904,98 +45420,125 @@ v_cmp_o_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4f,0x7c]
-v_cmp_o_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4e,0x7c]
+v_cmp_o_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4f,0x7c]
+v_cmp_o_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x27,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x27,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_o_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x27,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_u_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x50,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x50,0x7c]
v_cmp_u_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x50,0x7c]
@@ -39042,98 +45585,125 @@ v_cmp_u_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x51,0x7c]
-v_cmp_u_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x50,0x7c]
+v_cmp_u_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x51,0x7c]
+v_cmp_u_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x28,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_u_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x7f,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0x28,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_u_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x28,0xd0,0x01,0x05,0x02,0x00]
-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_nge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x52,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x52,0x7c]
v_cmp_nge_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x52,0x7c]
@@ -39180,98 +45750,125 @@ v_cmp_nge_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x53,0x7c]
-v_cmp_nge_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x52,0x7c]
+v_cmp_nge_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x53,0x7c]
+v_cmp_nge_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_nge_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x29,0xd0,0x01,0x05,0x02,0x00]
-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_nlg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x54,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x54,0x7c]
v_cmp_nlg_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x54,0x7c]
@@ -39318,98 +45915,125 @@ v_cmp_nlg_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x55,0x7c]
-v_cmp_nlg_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x54,0x7c]
+v_cmp_nlg_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x55,0x7c]
+v_cmp_nlg_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2a,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_nlg_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_ngt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x56,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x56,0x7c]
v_cmp_ngt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x56,0x7c]
@@ -39456,98 +46080,125 @@ v_cmp_ngt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x57,0x7c]
-v_cmp_ngt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x56,0x7c]
+v_cmp_ngt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x57,0x7c]
+v_cmp_ngt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ngt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2b,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nle_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x58,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x58,0x7c]
v_cmp_nle_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x58,0x7c]
@@ -39594,98 +46245,125 @@ v_cmp_nle_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x59,0x7c]
-v_cmp_nle_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x58,0x7c]
+v_cmp_nle_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x59,0x7c]
+v_cmp_nle_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_nle_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_neq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x5a,0x7c]
v_cmp_neq_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5a,0x7c]
@@ -39732,98 +46410,125 @@ v_cmp_neq_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5b,0x7c]
-v_cmp_neq_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5a,0x7c]
+v_cmp_neq_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_neq_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5b,0x7c]
+v_cmp_neq_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x6b,0x04,0x02,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 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x7c,0x04,0x02,0x00]
-v_cmp_neq_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x7f,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2d,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nlt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x5c,0x7c]
v_cmp_nlt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5c,0x7c]
@@ -39870,98 +46575,125 @@ v_cmp_nlt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5d,0x7c]
-v_cmp_nlt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5c,0x7c]
+v_cmp_nlt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5d,0x7c]
+v_cmp_nlt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_nlt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2e,0xd0,0x01,0x05,0x02,0x00]
-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_tru_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x5e,0x7c]
v_cmp_tru_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5e,0x7c]
@@ -40008,98 +46740,125 @@ v_cmp_tru_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5f,0x7c]
-v_cmp_tru_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5e,0x7c]
+v_cmp_tru_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5f,0x7c]
+v_cmp_tru_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0x2f,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x2f,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x2f,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_f_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x60,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x60,0x7c]
v_cmpx_f_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x60,0x7c]
@@ -40146,101 +46905,128 @@ v_cmpx_f_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x61,0x7c]
-v_cmpx_f_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x60,0x7c]
+v_cmpx_f_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x61,0x7c]
+v_cmpx_f_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_f_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_f_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x30,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_lt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x62,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x62,0x7c]
v_cmpx_lt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x62,0x7c]
@@ -40287,101 +47073,128 @@ v_cmpx_lt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x63,0x7c]
-v_cmpx_lt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x62,0x7c]
+v_cmpx_lt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_lt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x63,0x7c]
+v_cmpx_lt_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x6a,0x04,0x02,0x00]
-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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x6b,0x04,0x02,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[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x7c,0x04,0x02,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 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_lt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpx_lt_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x31,0xd0,0x80,0x04,0x00,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x31,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_eq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x64,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x64,0x7c]
v_cmpx_eq_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x64,0x7c]
@@ -40428,101 +47241,128 @@ v_cmpx_eq_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x65,0x7c]
-v_cmpx_eq_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x64,0x7c]
+v_cmpx_eq_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x65,0x7c]
+v_cmpx_eq_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x32,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0x32,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_eq_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_eq_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x32,0xd0,0x01,0x05,0x02,0x00]
-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_le_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x66,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x66,0x7c]
v_cmpx_le_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x66,0x7c]
@@ -40569,101 +47409,128 @@ v_cmpx_le_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x67,0x7c]
-v_cmpx_le_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x66,0x7c]
+v_cmpx_le_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x67,0x7c]
+v_cmpx_le_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x33,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0x33,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_le_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_le_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x33,0xd0,0x01,0x05,0x02,0x00]
-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_gt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x68,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x68,0x7c]
v_cmpx_gt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x68,0x7c]
@@ -40710,101 +47577,128 @@ v_cmpx_gt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x69,0x7c]
-v_cmpx_gt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x68,0x7c]
+v_cmpx_gt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x69,0x7c]
+v_cmpx_gt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x34,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0x34,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_gt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_gt_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x34,0xd0,0x01,0x05,0x02,0x00]
-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_lg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x6a,0x7c]
v_cmpx_lg_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6a,0x7c]
@@ -40851,101 +47745,128 @@ v_cmpx_lg_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6b,0x7c]
-v_cmpx_lg_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6a,0x7c]
+v_cmpx_lg_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6b,0x7c]
+v_cmpx_lg_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x35,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_lg_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_lg_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x7f,0x04,0x02,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x35,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_ge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x6c,0x7c]
v_cmpx_ge_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6c,0x7c]
@@ -40992,101 +47913,128 @@ v_cmpx_ge_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6d,0x7c]
-v_cmpx_ge_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6c,0x7c]
+v_cmpx_ge_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ge_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6d,0x7c]
+v_cmpx_ge_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_ge_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_ge_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x7f,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x36,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_o_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x6e,0x7c]
v_cmpx_o_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6e,0x7c]
@@ -41133,101 +48081,128 @@ v_cmpx_o_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6f,0x7c]
-v_cmpx_o_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6e,0x7c]
+v_cmpx_o_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6f,0x7c]
+v_cmpx_o_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_o_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_o_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x37,0xd0,0x01,0x05,0x02,0x00]
-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_u_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x70,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x70,0x7c]
v_cmpx_u_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x70,0x7c]
@@ -41274,101 +48249,128 @@ v_cmpx_u_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x71,0x7c]
-v_cmpx_u_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x70,0x7c]
+v_cmpx_u_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x71,0x7c]
+v_cmpx_u_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0x38,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x38,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x38,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x72,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x72,0x7c]
v_cmpx_nge_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x72,0x7c]
@@ -41415,101 +48417,128 @@ v_cmpx_nge_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x73,0x7c]
-v_cmpx_nge_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x72,0x7c]
+v_cmpx_nge_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x73,0x7c]
+v_cmpx_nge_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x39,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x39,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_nge_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x39,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nlg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x74,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x74,0x7c]
v_cmpx_nlg_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x74,0x7c]
@@ -41556,101 +48585,128 @@ v_cmpx_nlg_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x75,0x7c]
-v_cmpx_nlg_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x74,0x7c]
+v_cmpx_nlg_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x75,0x7c]
+v_cmpx_nlg_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3a,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3a,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_nlg_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x7f,0x04,0x02,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.5, s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_nlg_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_ngt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x76,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x76,0x7c]
v_cmpx_ngt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x76,0x7c]
@@ -41697,101 +48753,128 @@ v_cmpx_ngt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x77,0x7c]
-v_cmpx_ngt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x76,0x7c]
+v_cmpx_ngt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ngt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x77,0x7c]
+v_cmpx_ngt_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_ngt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_ngt_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3b,0xd0,0x01,0x05,0x02,0x00]
-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_nle_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x78,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x78,0x7c]
v_cmpx_nle_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x78,0x7c]
@@ -41838,101 +48921,128 @@ v_cmpx_nle_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x79,0x7c]
-v_cmpx_nle_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x78,0x7c]
+v_cmpx_nle_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x79,0x7c]
+v_cmpx_nle_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3c,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0x3c,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_nle_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nle_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_neq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x7a,0x7c]
v_cmpx_neq_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7a,0x7c]
@@ -41979,101 +49089,128 @@ v_cmpx_neq_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7b,0x7c]
-v_cmpx_neq_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7a,0x7c]
+v_cmpx_neq_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_neq_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7b,0x7c]
+v_cmpx_neq_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_neq_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_neq_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3d,0xd0,0x01,0x05,0x02,0x00]
-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_nlt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x7c,0x7c]
v_cmpx_nlt_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7c,0x7c]
@@ -42120,101 +49257,128 @@ v_cmpx_nlt_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7d,0x7c]
-v_cmpx_nlt_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7c,0x7c]
+v_cmpx_nlt_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7d,0x7c]
+v_cmpx_nlt_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x3e,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nlt_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_nlt_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x7f,0x04,0x02,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_tru_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x7e,0x7c]
v_cmpx_tru_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7e,0x7c]
@@ -42261,101 +49425,128 @@ v_cmpx_tru_f16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7f,0x7c]
-v_cmpx_tru_f16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7e,0x7c]
+v_cmpx_tru_f16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7f,0x7c]
+v_cmpx_tru_f16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_tru_f16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_tru_f16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x3f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f16_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x80,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x80,0x7c]
v_cmp_f_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x80,0x7c]
@@ -42402,98 +49593,125 @@ v_cmp_f_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x81,0x7c]
-v_cmp_f_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x80,0x7c]
+v_cmp_f_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x81,0x7c]
+v_cmp_f_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_f_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x40,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x82,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x82,0x7c]
v_cmp_lt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x82,0x7c]
@@ -42540,98 +49758,125 @@ v_cmp_lt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x83,0x7c]
-v_cmp_lt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x82,0x7c]
+v_cmp_lt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x83,0x7c]
+v_cmp_lt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_lt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0x41,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_lt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x41,0xd0,0x01,0x05,0x02,0x00]
-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_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x84,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x84,0x7c]
v_cmp_eq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x84,0x7c]
@@ -42678,98 +49923,125 @@ v_cmp_eq_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x85,0x7c]
-v_cmp_eq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x84,0x7c]
+v_cmp_eq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_eq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x85,0x7c]
+v_cmp_eq_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_eq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x42,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x86,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x86,0x7c]
v_cmp_le_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x86,0x7c]
@@ -42816,98 +50088,125 @@ v_cmp_le_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x87,0x7c]
-v_cmp_le_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x86,0x7c]
+v_cmp_le_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_le_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x87,0x7c]
+v_cmp_le_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x6b,0x04,0x02,0x00]
-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[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x7c,0x04,0x02,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[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x7e,0x04,0x02,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 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x7f,0x04,0x02,0x00]
-v_cmp_le_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x43,0xd0,0x80,0x04,0x00,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 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x43,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x88,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x88,0x7c]
v_cmp_gt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x88,0x7c]
@@ -42954,98 +50253,125 @@ v_cmp_gt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x89,0x7c]
-v_cmp_gt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x88,0x7c]
+v_cmp_gt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x89,0x7c]
+v_cmp_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x44,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_gt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x44,0xd0,0x01,0x05,0x02,0x00]
-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_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x8a,0x7c]
v_cmp_lg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8a,0x7c]
@@ -43092,98 +50418,125 @@ v_cmp_lg_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8b,0x7c]
-v_cmp_lg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8a,0x7c]
+v_cmp_lg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8b,0x7c]
+v_cmp_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x45,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_lg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lg_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x45,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x8c,0x7c]
v_cmp_ge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8c,0x7c]
@@ -43230,98 +50583,125 @@ v_cmp_ge_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8d,0x7c]
-v_cmp_ge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8c,0x7c]
+v_cmp_ge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8d,0x7c]
+v_cmp_ge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x46,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x8e,0x7c]
v_cmp_o_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8e,0x7c]
@@ -43368,98 +50748,125 @@ v_cmp_o_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8f,0x7c]
-v_cmp_o_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8e,0x7c]
+v_cmp_o_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8f,0x7c]
+v_cmp_o_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_o_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x7f,0x04,0x02,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 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_o_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x47,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x90,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x90,0x7c]
v_cmp_u_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x90,0x7c]
@@ -43506,98 +50913,125 @@ v_cmp_u_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x91,0x7c]
-v_cmp_u_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x90,0x7c]
+v_cmp_u_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_u_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x91,0x7c]
+v_cmp_u_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x6b,0x04,0x02,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 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x7c,0x04,0x02,0x00]
-v_cmp_u_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_u_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x7f,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x48,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x92,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x92,0x7c]
v_cmp_nge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x92,0x7c]
@@ -43644,98 +51078,125 @@ v_cmp_nge_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x93,0x7c]
-v_cmp_nge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x92,0x7c]
+v_cmp_nge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x93,0x7c]
+v_cmp_nge_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_nge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x49,0xd0,0x01,0x05,0x02,0x00]
-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_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x94,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x94,0x7c]
v_cmp_nlg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x94,0x7c]
@@ -43782,98 +51243,125 @@ v_cmp_nlg_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x95,0x7c]
-v_cmp_nlg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x94,0x7c]
+v_cmp_nlg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x95,0x7c]
+v_cmp_nlg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4a,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4a,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4a,0xd0,0x01,0x05,0x02,0x00]
-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_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x96,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x96,0x7c]
v_cmp_ngt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x96,0x7c]
@@ -43920,98 +51408,125 @@ v_cmp_ngt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x97,0x7c]
-v_cmp_ngt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x96,0x7c]
+v_cmp_ngt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ngt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x97,0x7c]
+v_cmp_ngt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ngt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ngt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4b,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x98,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x98,0x7c]
v_cmp_nle_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x98,0x7c]
@@ -44058,98 +51573,125 @@ v_cmp_nle_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x99,0x7c]
-v_cmp_nle_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x98,0x7c]
+v_cmp_nle_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x99,0x7c]
+v_cmp_nle_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4c,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4c,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_nle_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x7f,0x04,0x02,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.5, s2
-// CHECK: [0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x00,0x00]
+v_cmp_nle_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9a,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x9a,0x7c]
v_cmp_neq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9a,0x7c]
@@ -44196,98 +51738,125 @@ v_cmp_neq_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9b,0x7c]
-v_cmp_neq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9a,0x7c]
+v_cmp_neq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9b,0x7c]
+v_cmp_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4d,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_neq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_neq_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4d,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9c,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x9c,0x7c]
v_cmp_nlt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9c,0x7c]
@@ -44334,98 +51903,125 @@ v_cmp_nlt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9d,0x7c]
-v_cmp_nlt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9c,0x7c]
+v_cmp_nlt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9d,0x7c]
+v_cmp_nlt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4e,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4e,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_nlt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_nlt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4e,0xd0,0x01,0x05,0x02,0x00]
-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_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9e,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0x9e,0x7c]
v_cmp_tru_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9e,0x7c]
@@ -44472,98 +52068,125 @@ v_cmp_tru_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9f,0x7c]
-v_cmp_tru_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9e,0x7c]
+v_cmp_tru_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9f,0x7c]
+v_cmp_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x4f,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_tru_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_tru_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x4f,0xd0,0x01,0x05,0x02,0x00]
-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_cmpx_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa0,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa0,0x7c]
v_cmpx_f_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa0,0x7c]
@@ -44610,101 +52233,128 @@ v_cmpx_f_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa1,0x7c]
-v_cmpx_f_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa0,0x7c]
+v_cmpx_f_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa1,0x7c]
+v_cmpx_f_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x50,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_f_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x7f,0x04,0x02,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x50,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa2,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa2,0x7c]
v_cmpx_lt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa2,0x7c]
@@ -44751,101 +52401,128 @@ v_cmpx_lt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa3,0x7c]
-v_cmpx_lt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa2,0x7c]
+v_cmpx_lt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa3,0x7c]
+v_cmpx_lt_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_lt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x51,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa4,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa4,0x7c]
v_cmpx_eq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa4,0x7c]
@@ -44892,101 +52569,128 @@ v_cmpx_eq_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa5,0x7c]
-v_cmpx_eq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa4,0x7c]
+v_cmpx_eq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa5,0x7c]
+v_cmpx_eq_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_eq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x52,0xd0,0x01,0x05,0x02,0x00]
-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_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa6,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa6,0x7c]
v_cmpx_le_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa6,0x7c]
@@ -45033,101 +52737,128 @@ v_cmpx_le_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa7,0x7c]
-v_cmpx_le_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa6,0x7c]
+v_cmpx_le_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa7,0x7c]
+v_cmpx_le_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0x53,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x53,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x53,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa8,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xa8,0x7c]
v_cmpx_gt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa8,0x7c]
@@ -45174,101 +52905,128 @@ v_cmpx_gt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa9,0x7c]
-v_cmpx_gt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa8,0x7c]
+v_cmpx_gt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa9,0x7c]
+v_cmpx_gt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_gt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x54,0xd0,0x01,0x05,0x02,0x00]
-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_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xaa,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xaa,0x7c]
v_cmpx_lg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xaa,0x7c]
@@ -45315,101 +53073,128 @@ v_cmpx_lg_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xab,0x7c]
-v_cmpx_lg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xaa,0x7c]
+v_cmpx_lg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_lg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xab,0x7c]
+v_cmpx_lg_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x6a,0x04,0x02,0x00]
-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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x6b,0x04,0x02,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[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x7c,0x04,0x02,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 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x7f,0x04,0x02,0x00]
-v_cmpx_lg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x55,0xd0,0x80,0x04,0x00,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lg_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x55,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xac,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xac,0x7c]
v_cmpx_ge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xac,0x7c]
@@ -45456,101 +53241,128 @@ v_cmpx_ge_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xad,0x7c]
-v_cmpx_ge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xac,0x7c]
+v_cmpx_ge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xad,0x7c]
+v_cmpx_ge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x56,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0x56,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x56,0xd0,0x01,0x05,0x02,0x00]
-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_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xae,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xae,0x7c]
v_cmpx_o_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xae,0x7c]
@@ -45597,101 +53409,128 @@ v_cmpx_o_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xaf,0x7c]
-v_cmpx_o_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xae,0x7c]
+v_cmpx_o_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xaf,0x7c]
+v_cmpx_o_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x57,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0x57,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_o_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_o_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_o_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x57,0xd0,0x01,0x05,0x02,0x00]
-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_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb0,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb0,0x7c]
v_cmpx_u_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb0,0x7c]
@@ -45738,101 +53577,128 @@ v_cmpx_u_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb1,0x7c]
-v_cmpx_u_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb0,0x7c]
+v_cmpx_u_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb1,0x7c]
+v_cmpx_u_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x58,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0x58,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_u_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_u_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_u_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x58,0xd0,0x01,0x05,0x02,0x00]
-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_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb2,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb2,0x7c]
v_cmpx_nge_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb2,0x7c]
@@ -45879,101 +53745,128 @@ v_cmpx_nge_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb3,0x7c]
-v_cmpx_nge_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb2,0x7c]
+v_cmpx_nge_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb3,0x7c]
+v_cmpx_nge_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x59,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_nge_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x7f,0x04,0x02,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nge_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x59,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb4,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb4,0x7c]
v_cmpx_nlg_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb4,0x7c]
@@ -46020,101 +53913,128 @@ v_cmpx_nlg_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb5,0x7c]
-v_cmpx_nlg_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb4,0x7c]
+v_cmpx_nlg_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb5,0x7c]
+v_cmpx_nlg_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nlg_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlg_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb6,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb6,0x7c]
v_cmpx_ngt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb6,0x7c]
@@ -46161,101 +54081,128 @@ v_cmpx_ngt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb7,0x7c]
-v_cmpx_ngt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb6,0x7c]
+v_cmpx_ngt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb7,0x7c]
+v_cmpx_ngt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x5b,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ngt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ngt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5b,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb8,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xb8,0x7c]
v_cmpx_nle_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb8,0x7c]
@@ -46302,101 +54249,128 @@ v_cmpx_nle_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb9,0x7c]
-v_cmpx_nle_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb8,0x7c]
+v_cmpx_nle_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb9,0x7c]
+v_cmpx_nle_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nle_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_nle_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5c,0xd0,0x01,0x05,0x02,0x00]
-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_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xba,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xba,0x7c]
v_cmpx_neq_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xba,0x7c]
@@ -46443,101 +54417,128 @@ v_cmpx_neq_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbb,0x7c]
-v_cmpx_neq_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xba,0x7c]
+v_cmpx_neq_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbb,0x7c]
+v_cmpx_neq_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_neq_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_neq_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5d,0xd0,0x01,0x05,0x02,0x00]
-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_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbc,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xbc,0x7c]
v_cmpx_nlt_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbc,0x7c]
@@ -46584,101 +54585,128 @@ v_cmpx_nlt_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbd,0x7c]
-v_cmpx_nlt_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbc,0x7c]
+v_cmpx_nlt_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_nlt_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbd,0x7c]
+v_cmpx_nlt_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x6b,0x04,0x02,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 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_nlt_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_nlt_f32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x60]
+v_cmpx_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbe,0x7c]
-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, v255, v2
+// CHECK: [0xff,0x05,0xbe,0x7c]
v_cmpx_tru_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbe,0x7c]
@@ -46725,101 +54753,128 @@ v_cmpx_tru_f32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbf,0x7c]
-v_cmpx_tru_f32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbe,0x7c]
+v_cmpx_tru_f32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbf,0x7c]
+v_cmpx_tru_f32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_tru_f32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_tru_f32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0xef,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], -v1, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x20]
-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], v1, -v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x40]
-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], -v1, -v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x60]
-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], v1, v2 clamp
+// CHECK: [0x0a,0x80,0x5f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f32_e64 s[10:11], neg(0), -s2
-// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x60]
+v_cmp_f_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc0,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc0,0x7c]
v_cmp_f_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc0,0x7c]
@@ -46857,77 +54912,107 @@ v_cmp_f_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc1,0x7c]
-v_cmp_f_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc0,0x7c]
+v_cmp_f_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc1,0x7c]
+v_cmp_f_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x60,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x60,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x60,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x40]
-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_f_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x60,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc2,0x7c]
@@ -46965,77 +55050,107 @@ v_cmp_lt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc3,0x7c]
-v_cmp_lt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc2,0x7c]
+v_cmp_lt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc3,0x7c]
+v_cmp_lt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x02,0x04,0x02,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], s[4:5]
-// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_lt_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x61,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc4,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc4,0x7c]
v_cmp_eq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xc4,0x7c]
@@ -47073,77 +55188,107 @@ v_cmp_eq_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc5,0x7c]
-v_cmp_eq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc4,0x7c]
+v_cmp_eq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc5,0x7c]
+v_cmp_eq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x62,0xd0,0x01,0x05,0x02,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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x02,0x04,0x02,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 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x40]
-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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x60]
-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], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x62,0xd0,0x01,0x05,0x02,0x00]
-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, 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[2:3]
// CHECK: [0x02,0x04,0xc6,0x7c]
@@ -47181,77 +55326,107 @@ v_cmp_le_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc7,0x7c]
-v_cmp_le_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc6,0x7c]
+v_cmp_le_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc7,0x7c]
+v_cmp_le_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x63,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x63,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x63,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x20]
-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_le_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_le_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x63,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc8,0x7c]
@@ -47289,77 +55464,107 @@ v_cmp_gt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc9,0x7c]
-v_cmp_gt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc8,0x7c]
+v_cmp_gt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc9,0x7c]
+v_cmp_gt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x02,0x04,0x02,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[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_gt_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x64,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xca,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xca,0x7c]
v_cmp_lg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xca,0x7c]
@@ -47397,77 +55602,107 @@ v_cmp_lg_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcb,0x7c]
-v_cmp_lg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xca,0x7c]
+v_cmp_lg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcb,0x7c]
+v_cmp_lg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x40]
-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_lg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x65,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xcc,0x7c]
@@ -47505,77 +55740,107 @@ v_cmp_ge_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcd,0x7c]
-v_cmp_ge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xcc,0x7c]
+v_cmp_ge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcd,0x7c]
+v_cmp_ge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x66,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x66,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x66,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x20]
-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_ge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_ge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x66,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xce,0x7c]
@@ -47613,77 +55878,107 @@ v_cmp_o_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcf,0x7c]
-v_cmp_o_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xce,0x7c]
+v_cmp_o_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_o_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcf,0x7c]
+v_cmp_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x02,0x04,0x02,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[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_o_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,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_o_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x67,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd0,0x7c]
@@ -47721,77 +56016,107 @@ v_cmp_u_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd1,0x7c]
-v_cmp_u_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd0,0x7c]
+v_cmp_u_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_u_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd1,0x7c]
+v_cmp_u_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,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_u_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x68,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd2,0x7c]
@@ -47829,77 +56154,107 @@ v_cmp_nge_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd3,0x7c]
-v_cmp_nge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd2,0x7c]
+v_cmp_nge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd3,0x7c]
+v_cmp_nge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x69,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x69,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x69,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x40]
-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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x60]
-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], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x69,0xd0,0x01,0x05,0x02,0x00]
-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_nlg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd4,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd4,0x7c]
v_cmp_nlg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd4,0x7c]
@@ -47937,77 +56292,107 @@ v_cmp_nlg_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd5,0x7c]
-v_cmp_nlg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd4,0x7c]
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x02,0x04,0x02,0x00]
-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], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x04,0x02,0x00]
-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[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x40]
-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_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6a,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd6,0x7c]
@@ -48045,77 +56430,107 @@ v_cmp_ngt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd7,0x7c]
-v_cmp_ngt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd6,0x7c]
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ngt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd7,0x7c]
+v_cmp_ngt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x40]
-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_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6b,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd8,0x7c]
@@ -48153,77 +56568,107 @@ v_cmp_nle_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd9,0x7c]
-v_cmp_nle_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd8,0x7c]
+v_cmp_nle_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nle_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd9,0x7c]
+v_cmp_nle_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6c,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6c,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6c,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x20]
-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_nle_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmp_nle_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6c,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xda,0x7c]
@@ -48261,77 +56706,107 @@ v_cmp_neq_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdb,0x7c]
-v_cmp_neq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xda,0x7c]
+v_cmp_neq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_neq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdb,0x7c]
+v_cmp_neq_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x02,0x04,0x02,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[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_neq_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,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_neq_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6d,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xdc,0x7c]
@@ -48369,77 +56844,107 @@ v_cmp_nlt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdd,0x7c]
-v_cmp_nlt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xdc,0x7c]
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_nlt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdd,0x7c]
+v_cmp_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6e,0xd0,0x01,0x05,0x02,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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x02,0x04,0x02,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 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x40]
-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_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6e,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xde,0x7c]
@@ -48477,77 +56982,107 @@ v_cmp_tru_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdf,0x7c]
-v_cmp_tru_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xde,0x7c]
+v_cmp_tru_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdf,0x7c]
+v_cmp_tru_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x6f,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x6f,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x6f,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x40]
-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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x60]
-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], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x6f,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_tru_f64_e64 s[10:11], -s[4:5], -s[4:5]
-// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x60]
+v_cmpx_f_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe0,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe0,0x7c]
v_cmpx_f_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe0,0x7c]
@@ -48585,80 +57120,110 @@ v_cmpx_f_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe1,0x7c]
-v_cmpx_f_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe0,0x7c]
+v_cmpx_f_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xfe,0x05,0x02,0x00]
-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[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x02,0x04,0x02,0x00]
-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[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x04,0x02,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[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x40]
-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_f_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x70,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe2,0x7c]
@@ -48696,80 +57261,110 @@ v_cmpx_lt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe3,0x7c]
-v_cmpx_lt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe2,0x7c]
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe3,0x7c]
+v_cmpx_lt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x71,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x71,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x71,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x40]
-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_lt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x71,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe4,0x7c]
@@ -48807,80 +57402,110 @@ v_cmpx_eq_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe5,0x7c]
-v_cmpx_eq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe4,0x7c]
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe5,0x7c]
+v_cmpx_eq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x72,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x72,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x72,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x72,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,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_eq_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x72,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe6,0x7c]
@@ -48918,80 +57543,110 @@ v_cmpx_le_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe7,0x7c]
-v_cmpx_le_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe6,0x7c]
+v_cmpx_le_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe7,0x7c]
+v_cmpx_le_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x73,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x73,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_le_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_le_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x73,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe8,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe8,0x7c]
v_cmpx_gt_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe8,0x7c]
@@ -49029,80 +57684,110 @@ v_cmpx_gt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe9,0x7c]
-v_cmpx_gt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe8,0x7c]
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe9,0x7c]
+v_cmpx_gt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x74,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x74,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x74,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,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_gt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x74,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xea,0x7c]
@@ -49140,80 +57825,110 @@ v_cmpx_lg_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xeb,0x7c]
-v_cmpx_lg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xea,0x7c]
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xeb,0x7c]
+v_cmpx_lg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x75,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x75,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x75,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x75,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,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_lg_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x75,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xec,0x7c]
@@ -49251,80 +57966,110 @@ v_cmpx_ge_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xed,0x7c]
-v_cmpx_ge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xec,0x7c]
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xed,0x7c]
+v_cmpx_ge_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x76,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x76,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x76,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x02,0x04,0x02,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 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ge_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x20]
-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_ge_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_ge_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x76,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xee,0x7c]
@@ -49362,80 +58107,110 @@ v_cmpx_o_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xef,0x7c]
-v_cmpx_o_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xee,0x7c]
+v_cmpx_o_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_o_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xef,0x7c]
+v_cmpx_o_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x77,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x77,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,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_o_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x77,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf0,0x7c]
@@ -49473,80 +58248,110 @@ v_cmpx_u_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf1,0x7c]
-v_cmpx_u_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf0,0x7c]
+v_cmpx_u_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_u_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_u_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf1,0x7c]
+v_cmpx_u_f64_e64 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,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_u_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x78,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf2,0x7c]
@@ -49584,80 +58389,110 @@ v_cmpx_nge_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf3,0x7c]
-v_cmpx_nge_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf2,0x7c]
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nge_f64_e64 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nge_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf3,0x7c]
+v_cmpx_nge_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xfe,0x05,0x02,0x00]
-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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x02,0x04,0x02,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[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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x40]
-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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x60]
-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], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x79,0xd0,0x01,0x05,0x02,0x00]
-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_nlg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf4,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf4,0x7c]
v_cmpx_nlg_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xf4,0x7c]
@@ -49695,80 +58530,110 @@ v_cmpx_nlg_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf5,0x7c]
-v_cmpx_nlg_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf4,0x7c]
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlg_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf5,0x7c]
+v_cmpx_nlg_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7a,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7a,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7a,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x7a,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x40]
-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_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7a,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf6,0x7c]
@@ -49806,80 +58671,110 @@ v_cmpx_ngt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf7,0x7c]
-v_cmpx_ngt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf6,0x7c]
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ngt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf7,0x7c]
+v_cmpx_ngt_f64_e64 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x02,0x04,0x02,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[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_ngt_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0xef,0x01,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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x40]
-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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x60]
-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], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7b,0xd0,0x01,0x05,0x02,0x00]
-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, 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[2:3]
// CHECK: [0x02,0x04,0xf8,0x7c]
@@ -49917,80 +58812,110 @@ v_cmpx_nle_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf9,0x7c]
-v_cmpx_nle_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf8,0x7c]
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nle_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf9,0x7c]
+v_cmpx_nle_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7c,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7c,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x7c,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x02,0x04,0x02,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 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nle_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x40]
-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], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x60]
-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], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7c,0xd0,0x01,0x05,0x02,0x00]
-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_neq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfa,0x7c]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfa,0x7c]
v_cmpx_neq_f64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xfa,0x7c]
@@ -50028,80 +58953,110 @@ v_cmpx_neq_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfb,0x7c]
-v_cmpx_neq_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfa,0x7c]
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_neq_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xfb,0x7c]
+v_cmpx_neq_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7d,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7d,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x7d,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x40]
-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_neq_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7d,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfc,0x7c]
@@ -50139,80 +59094,110 @@ v_cmpx_nlt_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfd,0x7c]
-v_cmpx_nlt_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfc,0x7c]
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_nlt_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xfd,0x7c]
+v_cmpx_nlt_f64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
-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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x02,0x04,0x02,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[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_nlt_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xe1,0x01,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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x20]
-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], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x40]
-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_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7e,0xd0,0x01,0x05,0x02,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfe,0x7c]
@@ -50250,80 +59235,110 @@ v_cmpx_tru_f64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xff,0x7c]
-v_cmpx_tru_f64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfe,0x7c]
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_tru_f64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xff,0x7c]
+v_cmpx_tru_f64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0x7f,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0x7f,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0x7f,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x02,0x04,0x02,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 vcc, s[4:5], s[4:5]
-// CHECK: [0x6a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_tru_f64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x01,0x01,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], v[1:2], -1
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x83,0x01,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], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xe1,0x01,0x00]
-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], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0xef,0x01,0x00]
-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], -v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x20]
-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_cmpx_tru_f64_e64 s[10:11], v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x40]
+
+v_cmpx_tru_f64_e64 s[10:11], -v[1:2], -v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x60]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[2:3] clamp
+// CHECK: [0x0a,0x80,0x7f,0xd0,0x01,0x05,0x02,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, v2
// CHECK: [0x01,0x04,0x40,0x7d]
@@ -50370,86 +59385,113 @@ v_cmp_f_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x41,0x7d]
-v_cmp_f_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x40,0x7d]
+v_cmp_f_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_f_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x41,0x7d]
+v_cmp_f_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x6b,0x04,0x02,0x00]
-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[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7c,0x04,0x02,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[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7e,0x04,0x02,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 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x7f,0x04,0x02,0x00]
-v_cmp_f_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa0,0xd0,0x80,0x04,0x00,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 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_f_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_lt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x42,0x7d]
-v_cmp_f_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x42,0x7d]
v_cmp_lt_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x42,0x7d]
@@ -50496,86 +59538,113 @@ v_cmp_lt_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x43,0x7d]
-v_cmp_lt_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x42,0x7d]
+v_cmp_lt_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_lt_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x43,0x7d]
+v_cmp_lt_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_lt_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_lt_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_eq_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x44,0x7d]
-v_cmp_lt_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_eq_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x44,0x7d]
v_cmp_eq_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x44,0x7d]
@@ -50622,86 +59691,113 @@ v_cmp_eq_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x45,0x7d]
-v_cmp_eq_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x44,0x7d]
+v_cmp_eq_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x45,0x7d]
+v_cmp_eq_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa2,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_eq_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0xef,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_le_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x46,0x7d]
-v_cmp_eq_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_le_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x46,0x7d]
v_cmp_le_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x46,0x7d]
@@ -50748,86 +59844,113 @@ v_cmp_le_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x47,0x7d]
-v_cmp_le_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x46,0x7d]
+v_cmp_le_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_le_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x47,0x7d]
+v_cmp_le_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_le_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0xef,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_gt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x48,0x7d]
-v_cmp_le_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_gt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x48,0x7d]
v_cmp_gt_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x48,0x7d]
@@ -50874,86 +59997,113 @@ v_cmp_gt_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x49,0x7d]
-v_cmp_gt_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x48,0x7d]
+v_cmp_gt_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x49,0x7d]
+v_cmp_gt_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_gt_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x7f,0x04,0x02,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 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0xef,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_ne_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4a,0x7d]
-v_cmp_gt_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ne_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4a,0x7d]
v_cmp_ne_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4a,0x7d]
@@ -51000,86 +60150,113 @@ v_cmp_ne_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4b,0x7d]
-v_cmp_ne_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4a,0x7d]
+v_cmp_ne_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ne_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4b,0x7d]
+v_cmp_ne_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x6b,0x04,0x02,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 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x7c,0x04,0x02,0x00]
-v_cmp_ne_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x7f,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ne_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ge_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4c,0x7d]
-v_cmp_ne_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ge_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4c,0x7d]
v_cmp_ge_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4c,0x7d]
@@ -51126,86 +60303,113 @@ v_cmp_ge_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4d,0x7d]
-v_cmp_ge_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4c,0x7d]
+v_cmp_ge_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4d,0x7d]
+v_cmp_ge_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ge_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0xef,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_t_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4e,0x7d]
-v_cmp_ge_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_t_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4e,0x7d]
v_cmp_t_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x4e,0x7d]
@@ -51252,86 +60456,113 @@ v_cmp_t_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x4f,0x7d]
-v_cmp_t_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x4e,0x7d]
+v_cmp_t_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x4f,0x7d]
+v_cmp_t_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa7,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa7,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_t_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_f_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x50,0x7d]
-v_cmp_t_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_f_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x50,0x7d]
v_cmp_f_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x50,0x7d]
@@ -51378,86 +60609,113 @@ v_cmp_f_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x51,0x7d]
-v_cmp_f_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x50,0x7d]
+v_cmp_f_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x51,0x7d]
+v_cmp_f_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa8,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa8,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_f_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_f_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_lt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x52,0x7d]
-v_cmp_f_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x52,0x7d]
v_cmp_lt_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x52,0x7d]
@@ -51504,86 +60762,113 @@ v_cmp_lt_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x53,0x7d]
-v_cmp_lt_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x52,0x7d]
+v_cmp_lt_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x53,0x7d]
+v_cmp_lt_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xa9,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_lt_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x7f,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x00,0x00]
+v_cmp_lt_u16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_lt_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_eq_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x54,0x7d]
-v_cmp_lt_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_eq_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x54,0x7d]
v_cmp_eq_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x54,0x7d]
@@ -51630,86 +60915,113 @@ v_cmp_eq_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x55,0x7d]
-v_cmp_eq_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x54,0x7d]
+v_cmp_eq_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x55,0x7d]
+v_cmp_eq_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xaa,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_eq_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_eq_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_le_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x56,0x7d]
-v_cmp_eq_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_le_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x56,0x7d]
v_cmp_le_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x56,0x7d]
@@ -51756,86 +61068,113 @@ v_cmp_le_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x57,0x7d]
-v_cmp_le_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x56,0x7d]
+v_cmp_le_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x57,0x7d]
+v_cmp_le_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xab,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_le_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0xef,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_gt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x58,0x7d]
-v_cmp_le_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_gt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x58,0x7d]
v_cmp_gt_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x58,0x7d]
@@ -51882,86 +61221,113 @@ v_cmp_gt_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x59,0x7d]
-v_cmp_gt_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x58,0x7d]
+v_cmp_gt_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x59,0x7d]
+v_cmp_gt_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_gt_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_gt_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ne_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5a,0x7d]
-v_cmp_gt_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ne_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5a,0x7d]
v_cmp_ne_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5a,0x7d]
@@ -52008,86 +61374,113 @@ v_cmp_ne_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5b,0x7d]
-v_cmp_ne_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5a,0x7d]
+v_cmp_ne_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5b,0x7d]
+v_cmp_ne_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_ne_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x7f,0x04,0x02,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 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0xef,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_ge_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5c,0x7d]
-v_cmp_ne_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ge_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5c,0x7d]
v_cmp_ge_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5c,0x7d]
@@ -52134,86 +61527,113 @@ v_cmp_ge_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5d,0x7d]
-v_cmp_ge_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5c,0x7d]
+v_cmp_ge_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_ge_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5d,0x7d]
+v_cmp_ge_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x6b,0x04,0x02,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 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7c,0x04,0x02,0x00]
-v_cmp_ge_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x7f,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ge_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_t_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5e,0x7d]
-v_cmp_ge_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_t_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5e,0x7d]
v_cmp_t_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x5e,0x7d]
@@ -52260,86 +61680,113 @@ v_cmp_t_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x5f,0x7d]
-v_cmp_t_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x5e,0x7d]
+v_cmp_t_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x5f,0x7d]
+v_cmp_t_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_t_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0xef,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_cmpx_f_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x60,0x7d]
-v_cmp_t_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_f_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x60,0x7d]
v_cmpx_f_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x60,0x7d]
@@ -52386,89 +61833,116 @@ v_cmpx_f_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x61,0x7d]
-v_cmpx_f_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x60,0x7d]
+v_cmpx_f_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x61,0x7d]
+v_cmpx_f_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb0,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb0,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0xef,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_lt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x62,0x7d]
-v_cmpx_f_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x62,0x7d]
v_cmpx_lt_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x62,0x7d]
@@ -52515,89 +61989,116 @@ v_cmpx_lt_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x63,0x7d]
-v_cmpx_lt_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x62,0x7d]
+v_cmpx_lt_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x63,0x7d]
+v_cmpx_lt_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_lt_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_lt_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0xef,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_eq_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x64,0x7d]
-v_cmpx_lt_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x64,0x7d]
v_cmpx_eq_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x64,0x7d]
@@ -52644,89 +62145,116 @@ v_cmpx_eq_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x65,0x7d]
-v_cmpx_eq_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x64,0x7d]
+v_cmpx_eq_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x65,0x7d]
+v_cmpx_eq_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb2,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb2,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_eq_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x7f,0x04,0x02,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.5, s2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x00,0x00]
+v_cmpx_eq_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_eq_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_le_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x66,0x7d]
-v_cmpx_eq_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_le_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x66,0x7d]
v_cmpx_le_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x66,0x7d]
@@ -52773,89 +62301,116 @@ v_cmpx_le_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x67,0x7d]
-v_cmpx_le_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x66,0x7d]
+v_cmpx_le_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x67,0x7d]
+v_cmpx_le_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb3,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb3,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_le_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_le_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_le_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_gt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x68,0x7d]
-v_cmpx_le_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x68,0x7d]
v_cmpx_gt_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x68,0x7d]
@@ -52902,89 +62457,116 @@ v_cmpx_gt_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x69,0x7d]
-v_cmpx_gt_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x68,0x7d]
+v_cmpx_gt_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x69,0x7d]
+v_cmpx_gt_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb4,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb4,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_gt_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_gt_i16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ne_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6a,0x7d]
-v_cmpx_gt_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6a,0x7d]
v_cmpx_ne_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6a,0x7d]
@@ -53031,89 +62613,116 @@ v_cmpx_ne_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6b,0x7d]
-v_cmpx_ne_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6a,0x7d]
+v_cmpx_ne_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6b,0x7d]
+v_cmpx_ne_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb5,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb5,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ne_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ne_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0xef,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_ge_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6c,0x7d]
-v_cmpx_ne_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6c,0x7d]
v_cmpx_ge_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6c,0x7d]
@@ -53160,89 +62769,116 @@ v_cmpx_ge_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6d,0x7d]
-v_cmpx_ge_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6c,0x7d]
+v_cmpx_ge_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6d,0x7d]
+v_cmpx_ge_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb6,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_ge_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ge_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x7f,0x04,0x02,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0xef,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_t_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6e,0x7d]
-v_cmpx_ge_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_t_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6e,0x7d]
v_cmpx_t_i16 vcc, s1, v2
// CHECK: [0x01,0x04,0x6e,0x7d]
@@ -53289,89 +62925,116 @@ v_cmpx_t_i16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x6f,0x7d]
-v_cmpx_t_i16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x6e,0x7d]
+v_cmpx_t_i16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_t_i16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x6f,0x7d]
+v_cmpx_t_i16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_t_i16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_t_i16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0xef,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_f_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x70,0x7d]
-v_cmpx_t_i16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_f_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x70,0x7d]
v_cmpx_f_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x70,0x7d]
@@ -53418,89 +63081,116 @@ v_cmpx_f_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x71,0x7d]
-v_cmpx_f_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x70,0x7d]
+v_cmpx_f_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x71,0x7d]
+v_cmpx_f_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb8,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_f_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_f_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_f_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_lt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x72,0x7d]
-v_cmpx_f_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x72,0x7d]
v_cmpx_lt_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x72,0x7d]
@@ -53547,89 +63237,116 @@ v_cmpx_lt_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x73,0x7d]
-v_cmpx_lt_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x72,0x7d]
+v_cmpx_lt_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x73,0x7d]
+v_cmpx_lt_u16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_lt_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_lt_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_lt_u16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0xef,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_eq_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x74,0x7d]
-v_cmpx_lt_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x74,0x7d]
v_cmpx_eq_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x74,0x7d]
@@ -53676,89 +63393,116 @@ v_cmpx_eq_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x75,0x7d]
-v_cmpx_eq_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x74,0x7d]
+v_cmpx_eq_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x75,0x7d]
+v_cmpx_eq_u16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_eq_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_eq_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_eq_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_le_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x76,0x7d]
-v_cmpx_eq_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_le_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x76,0x7d]
v_cmpx_le_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x76,0x7d]
@@ -53805,89 +63549,116 @@ v_cmpx_le_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x77,0x7d]
-v_cmpx_le_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x76,0x7d]
+v_cmpx_le_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_le_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x77,0x7d]
+v_cmpx_le_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x6b,0x04,0x02,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 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_le_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_le_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0xef,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_gt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x78,0x7d]
-v_cmpx_le_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x78,0x7d]
v_cmpx_gt_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x78,0x7d]
@@ -53934,89 +63705,116 @@ v_cmpx_gt_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x79,0x7d]
-v_cmpx_gt_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x78,0x7d]
+v_cmpx_gt_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u16_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x79,0x7d]
+v_cmpx_gt_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_gt_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_gt_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_gt_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ne_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7a,0x7d]
-v_cmpx_gt_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7a,0x7d]
v_cmpx_ne_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7a,0x7d]
@@ -54063,89 +63861,116 @@ v_cmpx_ne_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7b,0x7d]
-v_cmpx_ne_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7a,0x7d]
+v_cmpx_ne_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7b,0x7d]
+v_cmpx_ne_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbd,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbd,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ne_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ne_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ge_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7c,0x7d]
-v_cmpx_ne_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7c,0x7d]
v_cmpx_ge_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7c,0x7d]
@@ -54192,89 +64017,116 @@ v_cmpx_ge_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7d,0x7d]
-v_cmpx_ge_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7c,0x7d]
+v_cmpx_ge_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7d,0x7d]
+v_cmpx_ge_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbe,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbe,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_ge_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ge_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_t_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7e,0x7d]
-v_cmpx_ge_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_t_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7e,0x7d]
v_cmpx_t_u16 vcc, s1, v2
// CHECK: [0x01,0x04,0x7e,0x7d]
@@ -54321,89 +64173,116 @@ v_cmpx_t_u16 vcc, 0xfe0b, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x7f,0x7d]
-v_cmpx_t_u16 vcc, v255, v2
-// CHECK: [0xff,0x05,0x7e,0x7d]
+v_cmpx_t_u16_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u16 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x7f,0x7d]
+v_cmpx_t_u16_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u16_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u16_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xbf,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xbf,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_t_u16_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_t_u16_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x7f,0x04,0x02,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u16_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_t_u16_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_f_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x80,0x7d]
-v_cmpx_t_u16_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_f_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x80,0x7d]
v_cmp_f_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x80,0x7d]
@@ -54450,86 +64329,113 @@ v_cmp_f_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x81,0x7d]
-v_cmp_f_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x80,0x7d]
+v_cmp_f_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_f_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x81,0x7d]
+v_cmp_f_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x6b,0x04,0x02,0x00]
-v_cmp_f_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0xef,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_lt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x82,0x7d]
-v_cmp_f_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x82,0x7d]
v_cmp_lt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x82,0x7d]
@@ -54576,86 +64482,113 @@ v_cmp_lt_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x83,0x7d]
-v_cmp_lt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x82,0x7d]
+v_cmp_lt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x83,0x7d]
+v_cmp_lt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_lt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_lt_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_eq_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x84,0x7d]
-v_cmp_lt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_eq_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x84,0x7d]
v_cmp_eq_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x84,0x7d]
@@ -54702,86 +64635,113 @@ v_cmp_eq_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x85,0x7d]
-v_cmp_eq_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x84,0x7d]
+v_cmp_eq_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x85,0x7d]
+v_cmp_eq_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_eq_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_eq_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0xef,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_le_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x86,0x7d]
-v_cmp_eq_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_le_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x86,0x7d]
v_cmp_le_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x86,0x7d]
@@ -54828,86 +64788,113 @@ v_cmp_le_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x87,0x7d]
-v_cmp_le_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x86,0x7d]
+v_cmp_le_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_le_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x87,0x7d]
+v_cmp_le_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_le_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0xef,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_gt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x88,0x7d]
-v_cmp_le_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_gt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x88,0x7d]
v_cmp_gt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x88,0x7d]
@@ -54954,86 +64941,113 @@ v_cmp_gt_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x89,0x7d]
-v_cmp_gt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x88,0x7d]
+v_cmp_gt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x89,0x7d]
+v_cmp_gt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc4,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc4,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x00,0x00]
+v_cmp_gt_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0xef,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_ne_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8a,0x7d]
-v_cmp_gt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ne_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8a,0x7d]
v_cmp_ne_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8a,0x7d]
@@ -55080,86 +65094,113 @@ v_cmp_ne_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8b,0x7d]
-v_cmp_ne_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8a,0x7d]
+v_cmp_ne_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ne_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8b,0x7d]
+v_cmp_ne_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ne_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ne_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ge_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8c,0x7d]
-v_cmp_ne_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ge_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8c,0x7d]
v_cmp_ge_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8c,0x7d]
@@ -55206,86 +65247,113 @@ v_cmp_ge_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8d,0x7d]
-v_cmp_ge_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8c,0x7d]
+v_cmp_ge_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8d,0x7d]
+v_cmp_ge_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc6,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc6,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ge_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ge_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_t_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8e,0x7d]
-v_cmp_ge_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_t_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8e,0x7d]
v_cmp_t_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0x8e,0x7d]
@@ -55332,86 +65400,113 @@ v_cmp_t_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x8f,0x7d]
-v_cmp_t_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x8e,0x7d]
+v_cmp_t_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_t_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x8f,0x7d]
+v_cmp_t_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x6a,0x04,0x02,0x00]
-v_cmp_t_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_t_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_f_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x90,0x7d]
-v_cmp_t_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_f_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x90,0x7d]
v_cmp_f_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x90,0x7d]
@@ -55458,86 +65553,113 @@ v_cmp_f_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x91,0x7d]
-v_cmp_f_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x90,0x7d]
+v_cmp_f_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x91,0x7d]
+v_cmp_f_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc8,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x04,0x02,0x00]
-v_cmp_f_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x7f,0x04,0x02,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 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_f_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_f_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_lt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x92,0x7d]
-v_cmp_f_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_lt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x92,0x7d]
v_cmp_lt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x92,0x7d]
@@ -55584,86 +65706,113 @@ v_cmp_lt_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x93,0x7d]
-v_cmp_lt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x92,0x7d]
+v_cmp_lt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x93,0x7d]
+v_cmp_lt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_lt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_lt_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0xef,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_eq_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x94,0x7d]
-v_cmp_lt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_eq_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x94,0x7d]
v_cmp_eq_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x94,0x7d]
@@ -55710,86 +65859,113 @@ v_cmp_eq_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x95,0x7d]
-v_cmp_eq_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x94,0x7d]
+v_cmp_eq_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x95,0x7d]
+v_cmp_eq_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_eq_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_eq_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0xef,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_le_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x96,0x7d]
-v_cmp_eq_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_le_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x96,0x7d]
v_cmp_le_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x96,0x7d]
@@ -55836,86 +66012,113 @@ v_cmp_le_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x97,0x7d]
-v_cmp_le_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x96,0x7d]
+v_cmp_le_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x97,0x7d]
+v_cmp_le_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x65,0x04,0x02,0x00]
-v_cmp_le_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_le_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_le_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_gt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x98,0x7d]
-v_cmp_le_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_gt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x98,0x7d]
v_cmp_gt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x98,0x7d]
@@ -55962,86 +66165,113 @@ v_cmp_gt_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x99,0x7d]
-v_cmp_gt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x98,0x7d]
+v_cmp_gt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x99,0x7d]
+v_cmp_gt_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x66,0x04,0x02,0x00]
-v_cmp_gt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_gt_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_gt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_ne_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9a,0x7d]
-v_cmp_gt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ne_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9a,0x7d]
v_cmp_ne_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9a,0x7d]
@@ -56088,86 +66318,113 @@ v_cmp_ne_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9b,0x7d]
-v_cmp_ne_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9a,0x7d]
+v_cmp_ne_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ne_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9b,0x7d]
+v_cmp_ne_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x6a,0x04,0x02,0x00]
-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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x6b,0x04,0x02,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[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x7c,0x04,0x02,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 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x7e,0x04,0x02,0x00]
-v_cmp_ne_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ne_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0xef,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_ge_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9c,0x7d]
-v_cmp_ne_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_ge_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9c,0x7d]
v_cmp_ge_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9c,0x7d]
@@ -56214,86 +66471,113 @@ v_cmp_ge_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9d,0x7d]
-v_cmp_ge_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9c,0x7d]
+v_cmp_ge_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_ge_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9d,0x7d]
+v_cmp_ge_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x04,0x02,0x00]
-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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x65,0x04,0x02,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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x66,0x04,0x02,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 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x67,0x04,0x02,0x00]
-v_cmp_ge_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_ge_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_ge_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0x04,0x02,0x00]
+v_cmp_t_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9e,0x7d]
-v_cmp_ge_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xfe,0x03,0x00]
+v_cmp_t_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9e,0x7d]
v_cmp_t_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0x9e,0x7d]
@@ -56340,86 +66624,113 @@ v_cmp_t_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0x9f,0x7d]
-v_cmp_t_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0x9e,0x7d]
+v_cmp_t_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0x9f,0x7d]
+v_cmp_t_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xcf,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xcf,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xff,0x05,0x02,0x00]
-v_cmp_t_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+v_cmp_t_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0xef,0x01,0x00]
-v_cmp_t_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_f_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa0,0x7d]
-v_cmp_t_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_f_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa0,0x7d]
v_cmpx_f_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa0,0x7d]
@@ -56466,89 +66777,116 @@ v_cmpx_f_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa1,0x7d]
-v_cmpx_f_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa0,0x7d]
+v_cmpx_f_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa1,0x7d]
+v_cmpx_f_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd0,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd0,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_f_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_f_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0xef,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_lt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa2,0x7d]
-v_cmpx_f_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa2,0x7d]
v_cmpx_lt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa2,0x7d]
@@ -56595,89 +66933,116 @@ v_cmpx_lt_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa3,0x7d]
-v_cmpx_lt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa2,0x7d]
+v_cmpx_lt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa3,0x7d]
+v_cmpx_lt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd1,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd1,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_lt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_lt_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x7f,0x04,0x02,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], -1, s2
-// CHECK: [0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x00,0x00]
+v_cmpx_lt_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_lt_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_eq_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa4,0x7d]
-v_cmpx_lt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa4,0x7d]
v_cmpx_eq_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa4,0x7d]
@@ -56724,89 +67089,116 @@ v_cmpx_eq_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa5,0x7d]
-v_cmpx_eq_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa4,0x7d]
+v_cmpx_eq_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_eq_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa5,0x7d]
+v_cmpx_eq_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x65,0x04,0x02,0x00]
-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[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x66,0x04,0x02,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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x67,0x04,0x02,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 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6a,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_eq_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0xef,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_le_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa6,0x7d]
-v_cmpx_eq_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_le_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa6,0x7d]
v_cmpx_le_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa6,0x7d]
@@ -56853,89 +67245,116 @@ v_cmpx_le_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa7,0x7d]
-v_cmpx_le_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa6,0x7d]
+v_cmpx_le_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa7,0x7d]
+v_cmpx_le_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd3,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_le_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_le_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_gt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa8,0x7d]
-v_cmpx_le_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa8,0x7d]
v_cmpx_gt_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xa8,0x7d]
@@ -56982,89 +67401,116 @@ v_cmpx_gt_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xa9,0x7d]
-v_cmpx_gt_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xa8,0x7d]
+v_cmpx_gt_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_gt_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xa9,0x7d]
+v_cmpx_gt_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x66,0x04,0x02,0x00]
-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[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x67,0x04,0x02,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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6a,0x04,0x02,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 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x6b,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_gt_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x7f,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x02,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], 0.5, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x02,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], -4.0, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_gt_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ne_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xaa,0x7d]
-v_cmpx_gt_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xaa,0x7d]
v_cmpx_ne_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xaa,0x7d]
@@ -57111,89 +67557,116 @@ v_cmpx_ne_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xab,0x7d]
-v_cmpx_ne_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xaa,0x7d]
+v_cmpx_ne_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xab,0x7d]
+v_cmpx_ne_i32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ne_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ne_i32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ge_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xac,0x7d]
-v_cmpx_ne_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xac,0x7d]
v_cmpx_ge_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xac,0x7d]
@@ -57240,89 +67713,116 @@ v_cmpx_ge_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xad,0x7d]
-v_cmpx_ge_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xac,0x7d]
+v_cmpx_ge_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xad,0x7d]
+v_cmpx_ge_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd6,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd6,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_ge_i32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0xef,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_t_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xae,0x7d]
-v_cmpx_ge_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_t_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xae,0x7d]
v_cmpx_t_i32 vcc, s1, v2
// CHECK: [0x01,0x04,0xae,0x7d]
@@ -57369,89 +67869,116 @@ v_cmpx_t_i32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xaf,0x7d]
-v_cmpx_t_i32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xae,0x7d]
+v_cmpx_t_i32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_i32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xaf,0x7d]
+v_cmpx_t_i32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xff,0x05,0x02,0x00]
-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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0x04,0x02,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[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x65,0x04,0x02,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 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x67,0x04,0x02,0x00]
-v_cmpx_t_i32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_i32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x7e,0x04,0x02,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], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0xef,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_f_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb0,0x7d]
-v_cmpx_t_i32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_f_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb0,0x7d]
v_cmpx_f_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb0,0x7d]
@@ -57498,89 +68025,116 @@ v_cmpx_f_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb1,0x7d]
-v_cmpx_f_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb0,0x7d]
+v_cmpx_f_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb1,0x7d]
+v_cmpx_f_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd8,0xd0,0x01,0x05,0x02,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 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd8,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_f_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xff,0x05,0x02,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], s1, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_f_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_lt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb2,0x7d]
-v_cmpx_f_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_lt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb2,0x7d]
v_cmpx_lt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb2,0x7d]
@@ -57627,89 +68181,116 @@ v_cmpx_lt_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb3,0x7d]
-v_cmpx_lt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb2,0x7d]
+v_cmpx_lt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb3,0x7d]
+v_cmpx_lt_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xd9,0xd0,0x01,0x05,0x02,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 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xd9,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_lt_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_lt_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0x04,0x02,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], s101, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x65,0x04,0x02,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], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_lt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_eq_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb4,0x7d]
-v_cmpx_lt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_eq_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb4,0x7d]
v_cmpx_eq_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb4,0x7d]
@@ -57756,89 +68337,116 @@ v_cmpx_eq_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb5,0x7d]
-v_cmpx_eq_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb4,0x7d]
+v_cmpx_eq_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb5,0x7d]
+v_cmpx_eq_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xda,0xd0,0x01,0x05,0x02,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 exec, v1, v2
+// CHECK: [0x7e,0x00,0xda,0xd0,0x01,0x05,0x02,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 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xff,0x05,0x02,0x00]
-v_cmpx_eq_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_eq_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x67,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x6b,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x7f,0x04,0x02,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 exec, 0, s2
-// CHECK: [0x7e,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_eq_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_eq_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_le_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb6,0x7d]
-v_cmpx_eq_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_le_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb6,0x7d]
v_cmpx_le_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb6,0x7d]
@@ -57885,89 +68493,116 @@ v_cmpx_le_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb7,0x7d]
-v_cmpx_le_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb6,0x7d]
+v_cmpx_le_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb7,0x7d]
+v_cmpx_le_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xdb,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_le_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_le_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0xef,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_gt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb8,0x7d]
-v_cmpx_le_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_gt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb8,0x7d]
v_cmpx_gt_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xb8,0x7d]
@@ -58014,89 +68649,116 @@ v_cmpx_gt_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xb9,0x7d]
-v_cmpx_gt_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xb8,0x7d]
+v_cmpx_gt_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xb9,0x7d]
+v_cmpx_gt_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, s2
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xdc,0xd0,0x01,0x05,0x02,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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xff,0x05,0x02,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 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_gt_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_gt_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x66,0x04,0x02,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], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_gt_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_ne_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xba,0x7d]
-v_cmpx_gt_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ne_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xba,0x7d]
v_cmpx_ne_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xba,0x7d]
@@ -58143,89 +68805,116 @@ v_cmpx_ne_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbb,0x7d]
-v_cmpx_ne_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xba,0x7d]
+v_cmpx_ne_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbb,0x7d]
+v_cmpx_ne_u32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ne_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x7c,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x7f,0x04,0x02,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], -4.0, s2
-// CHECK: [0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x00,0x00]
+v_cmpx_ne_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0xef,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_ge_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbc,0x7d]
-v_cmpx_ne_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_ge_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbc,0x7d]
v_cmpx_ge_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbc,0x7d]
@@ -58272,89 +68961,116 @@ v_cmpx_ge_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbd,0x7d]
-v_cmpx_ge_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbc,0x7d]
+v_cmpx_ge_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbd,0x7d]
+v_cmpx_ge_u32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xff,0x05,0x02,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[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x04,0x02,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 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x65,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_ge_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_ge_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x67,0x04,0x02,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], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6a,0x04,0x02,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], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x6b,0x04,0x02,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], m0, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x7c,0x04,0x02,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], exec_lo, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x7f,0x04,0x02,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], -1, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0.5, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], -4.0, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], v1, v255
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0xef,0x01,0x00]
-v_cmpx_ge_u32_e64 s[10:11], 0, v2
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0x04,0x02,0x00]
+v_cmpx_t_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbe,0x7d]
-v_cmpx_ge_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xfe,0x03,0x00]
+v_cmpx_t_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbe,0x7d]
v_cmpx_t_u32 vcc, s1, v2
// CHECK: [0x01,0x04,0xbe,0x7d]
@@ -58401,89 +69117,116 @@ v_cmpx_t_u32 vcc, 0xaf123456, v2
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, v1, v255
+// CHECK: [0x01,0xff,0xbf,0x7d]
-v_cmpx_t_u32 vcc, v255, v2
-// CHECK: [0xff,0x05,0xbe,0x7d]
+v_cmpx_t_u32_e64 s[10:11], v1, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[12:13], v1, v2
+// CHECK: [0x0c,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[100:101], v1, v2
+// CHECK: [0x64,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 flat_scratch, v1, v2
+// CHECK: [0x66,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 vcc, v1, v2
+// CHECK: [0x6a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 exec, v1, v2
+// CHECK: [0x7e,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], v255, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xff,0x05,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], s1, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], s101, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x65,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], flat_scratch_lo, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x66,0x04,0x02,0x00]
-v_cmpx_t_u32 vcc, s1, v255
-// CHECK: [0x01,0xfe,0xbf,0x7d]
+v_cmpx_t_u32_e64 s[10:11], flat_scratch_hi, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x67,0x04,0x02,0x00]
-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[10:11], vcc_lo, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x6a,0x04,0x02,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[10:11], vcc_hi, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x6b,0x04,0x02,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 s[10:11], m0, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x7c,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 flat_scratch, 0, s2
-// CHECK: [0x66,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], exec_lo, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x7e,0x04,0x02,0x00]
-v_cmpx_t_u32_e64 vcc, 0, s2
-// CHECK: [0x6a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+v_cmpx_t_u32_e64 s[10:11], exec_hi, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x7f,0x04,0x02,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], 0, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], -1, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xc1,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xf0,0x04,0x02,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, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xf7,0x04,0x02,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, v255
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xff,0x03,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], v1, s101
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xcb,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], v1, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xcd,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], v1, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xcf,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], v1, vcc_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xd5,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], v1, vcc_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xd7,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], v1, m0
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xf9,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], v1, exec_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xfd,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], v1, exec_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xff,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], v1, 0
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0x01,0x01,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], v1, -1
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0x83,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], v1, 0.5
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xe1,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], v1, -4.0
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0xef,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_cmp_f_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc0,0x7d]
-v_cmpx_t_u32_e64 s[10:11], 0, v255
-// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xfe,0x03,0x00]
+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[2:3]
// CHECK: [0x02,0x04,0xc0,0x7d]
@@ -58521,65 +69264,95 @@ v_cmp_f_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc1,0x7d]
-v_cmp_f_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc0,0x7d]
+v_cmp_f_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc1,0x7d]
+v_cmp_f_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe0,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe0,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x01,0x01,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_f_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc2,0x7d]
@@ -58617,65 +69390,95 @@ v_cmp_lt_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc3,0x7d]
-v_cmp_lt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc2,0x7d]
+v_cmp_lt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc3,0x7d]
+v_cmp_lt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe1,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe1,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe1,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0x83,0x01,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_lt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc4,0x7d]
@@ -58713,65 +69516,95 @@ v_cmp_eq_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc5,0x7d]
-v_cmp_eq_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc4,0x7d]
+v_cmp_eq_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc5,0x7d]
+v_cmp_eq_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x02,0x04,0x02,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], s[4:5]
-// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_eq_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0xef,0x01,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, 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[2:3]
// CHECK: [0x02,0x04,0xc6,0x7d]
@@ -58809,65 +69642,95 @@ v_cmp_le_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc7,0x7d]
-v_cmp_le_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc6,0x7d]
+v_cmp_le_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc7,0x7d]
+v_cmp_le_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe3,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe3,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0x01,0x01,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_le_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xc8,0x7d]
@@ -58905,65 +69768,95 @@ v_cmp_gt_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xc9,0x7d]
-v_cmp_gt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xc8,0x7d]
+v_cmp_gt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xc9,0x7d]
+v_cmp_gt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe4,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe4,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe4,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x83,0x01,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_gt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xca,0x7d]
@@ -59001,65 +69894,95 @@ v_cmp_ne_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcb,0x7d]
-v_cmp_ne_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xca,0x7d]
+v_cmp_ne_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcb,0x7d]
+v_cmp_ne_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x02,0x04,0x02,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[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ne_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xe1,0x01,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_ne_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xcc,0x7d]
@@ -59097,65 +70020,95 @@ v_cmp_ge_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcd,0x7d]
-v_cmp_ge_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xcc,0x7d]
+v_cmp_ge_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcd,0x7d]
+v_cmp_ge_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xfe,0x05,0x02,0x00]
-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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x02,0x04,0x02,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[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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xe1,0x01,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_ge_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xce,0x7d]
@@ -59193,65 +70146,95 @@ v_cmp_t_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xcf,0x7d]
-v_cmp_t_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xce,0x7d]
+v_cmp_t_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xcf,0x7d]
+v_cmp_t_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe7,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe7,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe7,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0x83,0x01,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_t_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd0,0x7d]
@@ -59289,65 +70272,95 @@ v_cmp_f_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd1,0x7d]
-v_cmp_f_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd0,0x7d]
+v_cmp_f_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_f_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd1,0x7d]
+v_cmp_f_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x02,0x04,0x02,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], s[4:5]
-// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_f_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x64,0x04,0x02,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[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_lt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd2,0x7d]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd2,0x7d]
v_cmp_lt_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd2,0x7d]
@@ -59385,65 +70398,95 @@ v_cmp_lt_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd3,0x7d]
-v_cmp_lt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd2,0x7d]
+v_cmp_lt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_lt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd3,0x7d]
+v_cmp_lt_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xe9,0xd0,0x01,0x05,0x02,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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x02,0x04,0x02,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 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0xef,0x01,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, 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[2:3]
// CHECK: [0x02,0x04,0xd4,0x7d]
@@ -59481,65 +70524,95 @@ v_cmp_eq_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd5,0x7d]
-v_cmp_eq_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd4,0x7d]
+v_cmp_eq_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_eq_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd5,0x7d]
+v_cmp_eq_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xea,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xea,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xea,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x6a,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x01,0x01,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_eq_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xd6,0x7d]
@@ -59577,65 +70650,95 @@ v_cmp_le_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd7,0x7d]
-v_cmp_le_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd6,0x7d]
+v_cmp_le_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_le_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd7,0x7d]
+v_cmp_le_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x02,0x04,0x02,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[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_le_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmp_gt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd8,0x7d]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd8,0x7d]
v_cmp_gt_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xd8,0x7d]
@@ -59673,65 +70776,95 @@ v_cmp_gt_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xd9,0x7d]
-v_cmp_gt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xd8,0x7d]
+v_cmp_gt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_gt_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_gt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xd9,0x7d]
+v_cmp_gt_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x83,0x01,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_gt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xda,0x7d]
@@ -59769,65 +70902,95 @@ v_cmp_ne_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdb,0x7d]
-v_cmp_ne_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xda,0x7d]
+v_cmp_ne_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ne_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdb,0x7d]
+v_cmp_ne_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xed,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xed,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xed,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0x01,0x01,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_ne_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xdc,0x7d]
@@ -59865,65 +71028,95 @@ v_cmp_ge_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdd,0x7d]
-v_cmp_ge_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xdc,0x7d]
+v_cmp_ge_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_ge_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdd,0x7d]
+v_cmp_ge_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x02,0x04,0x02,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[12:13], s[4:5], s[4:5]
-// CHECK: [0x0c,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+v_cmp_ge_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xe1,0x01,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_ge_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xde,0x7d]
@@ -59961,65 +71154,95 @@ v_cmp_t_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xdf,0x7d]
-v_cmp_t_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xde,0x7d]
+v_cmp_t_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmp_t_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
-v_cmp_t_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xdf,0x7d]
+v_cmp_t_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xe1,0x01,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_cmp_t_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe0,0x7d]
@@ -60057,68 +71280,98 @@ v_cmpx_f_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe1,0x7d]
-v_cmpx_f_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe0,0x7d]
+v_cmpx_f_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe1,0x7d]
+v_cmpx_f_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf0,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf0,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf0,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf0,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_lt_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe2,0x7d]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe2,0x7d]
v_cmpx_lt_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xe2,0x7d]
@@ -60156,68 +71409,98 @@ v_cmpx_lt_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe3,0x7d]
-v_cmpx_lt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe2,0x7d]
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe3,0x7d]
+v_cmpx_lt_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf1,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf1,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_lt_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0x83,0x01,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_lt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe4,0x7d]
@@ -60255,68 +71538,98 @@ v_cmpx_eq_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe5,0x7d]
-v_cmpx_eq_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe4,0x7d]
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe5,0x7d]
+v_cmpx_eq_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf2,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf2,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf2,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xe1,0x01,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_eq_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe6,0x7d]
@@ -60354,68 +71667,98 @@ v_cmpx_le_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe7,0x7d]
-v_cmpx_le_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe6,0x7d]
+v_cmpx_le_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe7,0x7d]
+v_cmpx_le_i64_e64 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xe1,0x01,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_le_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xe8,0x7d]
@@ -60453,68 +71796,98 @@ v_cmpx_gt_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xe9,0x7d]
-v_cmpx_gt_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xe8,0x7d]
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xe9,0x7d]
+v_cmpx_gt_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf4,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf4,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_gt_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_ne_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xea,0x7d]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xea,0x7d]
v_cmpx_ne_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xea,0x7d]
@@ -60552,68 +71925,98 @@ v_cmpx_ne_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xeb,0x7d]
-v_cmpx_ne_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xea,0x7d]
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xeb,0x7d]
+v_cmpx_ne_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf5,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf5,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf5,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xe1,0x01,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_ne_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xec,0x7d]
@@ -60651,68 +72054,98 @@ v_cmpx_ge_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xed,0x7d]
-v_cmpx_ge_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xec,0x7d]
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_i64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xed,0x7d]
+v_cmpx_ge_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf6,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf6,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf6,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf6,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_t_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xee,0x7d]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xee,0x7d]
v_cmpx_t_i64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xee,0x7d]
@@ -60750,68 +72183,98 @@ v_cmpx_t_i64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xef,0x7d]
-v_cmpx_t_i64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xee,0x7d]
+v_cmpx_t_i64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xfe,0x05,0x02,0x00]
-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[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x02,0x04,0x02,0x00]
-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[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x04,0x04,0x02,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[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0x83,0x01,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_t_i64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf0,0x7d]
@@ -60849,68 +72312,98 @@ v_cmpx_f_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf1,0x7d]
-v_cmpx_f_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf0,0x7d]
+v_cmpx_f_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_f_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf1,0x7d]
+v_cmpx_f_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf8,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf8,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf8,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x83,0x01,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_f_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf2,0x7d]
@@ -60948,68 +72441,98 @@ v_cmpx_lt_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf3,0x7d]
-v_cmpx_lt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf2,0x7d]
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_lt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf3,0x7d]
+v_cmpx_lt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xf9,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xf9,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xf9,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xf9,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xe1,0x01,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_lt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf4,0x7d]
@@ -61047,68 +72570,98 @@ v_cmpx_eq_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf5,0x7d]
-v_cmpx_eq_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf4,0x7d]
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_eq_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf5,0x7d]
+v_cmpx_eq_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfa,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfa,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xfe,0x05,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x02,0x04,0x02,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 flat_scratch, s[4:5], s[4:5]
-// CHECK: [0x66,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+v_cmpx_eq_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0xef,0x01,0x00]
+
+v_cmpx_le_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf6,0x7d]
-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, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf6,0x7d]
v_cmpx_le_u64 vcc, s[2:3], v[2:3]
// CHECK: [0x02,0x04,0xf6,0x7d]
@@ -61146,68 +72699,98 @@ v_cmpx_le_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf7,0x7d]
-v_cmpx_le_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf6,0x7d]
+v_cmpx_le_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_le_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf7,0x7d]
+v_cmpx_le_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
-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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfb,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfb,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xfb,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x04,0x04,0x02,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], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x64,0x04,0x02,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], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x66,0x04,0x02,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], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x7e,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xe1,0x01,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_le_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xf8,0x7d]
@@ -61245,68 +72828,98 @@ v_cmpx_gt_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xf9,0x7d]
-v_cmpx_gt_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xf8,0x7d]
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_gt_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xf9,0x7d]
+v_cmpx_gt_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
-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[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfc,0xd0,0x01,0x05,0x02,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 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfc,0xd0,0x01,0x05,0x02,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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfc,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xfc,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xfe,0x05,0x02,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], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x02,0x04,0x02,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], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], s[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xc1,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xf0,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xe1,0x01,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_gt_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfa,0x7d]
@@ -61344,68 +72957,98 @@ v_cmpx_ne_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfb,0x7d]
-v_cmpx_ne_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfa,0x7d]
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ne_u64_e64 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ne_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xfb,0x7d]
+v_cmpx_ne_u64_e64 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xfe,0x05,0x02,0x00]
-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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x02,0x04,0x02,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[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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x6a,0x04,0x02,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 s[10:11], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x7e,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x80,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xc1,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xf0,0x04,0x02,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, v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xf7,0x04,0x02,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], v[254:255]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0x01,0x01,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_ne_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfc,0x7d]
@@ -61443,68 +73086,98 @@ v_cmpx_ge_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xfd,0x7d]
-v_cmpx_ge_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfc,0x7d]
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_ge_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xfd,0x7d]
+v_cmpx_ge_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
-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 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xfe,0xd0,0x01,0x05,0x02,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 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xfe,0xd0,0x01,0x05,0x02,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 s[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xfe,0x05,0x02,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 s[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x64,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x66,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xe1,0x01,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_ge_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0xef,0x01,0x00]
+
+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[2:3]
// CHECK: [0x02,0x04,0xfe,0x7d]
@@ -61542,65 +73215,31721 @@ v_cmpx_t_u64 vcc, 0xaf123456, v[2:3]
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[1:2], v[254:255]
+// CHECK: [0x01,0xfd,0xff,0x7d]
-v_cmpx_t_u64 vcc, v[254:255], v[2:3]
-// CHECK: [0xfe,0x05,0xfe,0x7d]
+v_cmpx_t_u64_e64 s[10:11], v[1:2], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[12:13], v[1:2], v[2:3]
+// CHECK: [0x0c,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[100:101], v[1:2], v[2:3]
+// CHECK: [0x64,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u64_e64 flat_scratch, v[1:2], v[2:3]
+// CHECK: [0x66,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+
+v_cmpx_t_u64_e64 vcc, v[1:2], v[2:3]
+// CHECK: [0x6a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
-v_cmpx_t_u64 vcc, s[2:3], v[254:255]
-// CHECK: [0x02,0xfc,0xff,0x7d]
+v_cmpx_t_u64_e64 exec, v[1:2], v[2:3]
+// CHECK: [0x7e,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
-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[10:11], v[254:255], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xfe,0x05,0x02,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[10:11], s[2:3], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x02,0x04,0x02,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 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[100:101], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x64,0x04,0x02,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 s[10:11], flat_scratch, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x66,0x04,0x02,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 s[10:11], vcc, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x6a,0x04,0x02,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], exec, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x7e,0x04,0x02,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], 0, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x80,0x04,0x02,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], -1, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xc1,0x04,0x02,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], 0.5, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xf0,0x04,0x02,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], -4.0, v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xf7,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], v[254:255]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xfd,0x03,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], v[1:2], s[6:7]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0x0d,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], v[1:2], s[100:101]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xc9,0x00,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], v[1:2], flat_scratch
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xcd,0x00,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], v[1:2], vcc
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xd5,0x00,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], v[1:2], exec
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xfd,0x00,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], v[1:2], 0
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0x01,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], -1
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0x83,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], 0.5
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xe1,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], -4.0
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0xef,0x01,0x00]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_mov_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_mov_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_mov_b32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_mov_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_mov_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_mov_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_mov_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_mov_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_mov_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_mov_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_mov_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_mov_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_mov_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_mov_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_mov_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f32_i32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f32_i32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f32_i32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f32_i32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f32_i32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f32_i32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f32_i32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f32_i32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f32_i32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_i32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_i32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f32_u32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f32_u32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f32_u32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f32_u32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f32_u32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f32_u32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f32_u32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f32_u32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f32_u32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_u32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_u32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_u32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_u32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_u32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_u32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_u32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_u32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_u32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_u32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_u32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cvt_u32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_u32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_u32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_u32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_cvt_u32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_i32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_i32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_i32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_i32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_i32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_i32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_i32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_i32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_i32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cvt_i32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+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,0x00,0x00]
+
+v_cvt_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_i32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+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,0x10,0x00]
+
+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, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_mov_fed_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_mov_fed_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_mov_fed_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_mov_fed_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_mov_fed_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_mov_fed_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_mov_fed_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_mov_fed_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x7f,0x06,0x86,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]
+
+v_cvt_f16_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f16_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f16_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f16_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f16_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f16_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f16_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f16_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f16_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f16_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cvt_f16_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f16_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f16_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_f16_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_cvt_f16_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f32_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f32_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f32_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f32_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f32_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f32_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f32_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f32_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f32_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cvt_f32_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_f32_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_cvt_f32_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cvt_rpi_i32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_rpi_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_cvt_rpi_i32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cvt_flr_i32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_flr_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_cvt_flr_i32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_off_f32_i4_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_off_f32_i4_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f32_ubyte0_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte0_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f32_ubyte1_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte1_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f32_ubyte2_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte2_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f32_ubyte3_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte3_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_fract_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_fract_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_fract_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_fract_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_fract_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_fract_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_fract_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_fract_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_fract_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_fract_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_fract_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_fract_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_fract_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_fract_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_fract_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_fract_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_fract_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_fract_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_fract_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_fract_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_trunc_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_trunc_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_trunc_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_trunc_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_trunc_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_trunc_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_trunc_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_trunc_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_trunc_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_trunc_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_trunc_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_trunc_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_trunc_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_trunc_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_trunc_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_trunc_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_trunc_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_trunc_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ceil_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_ceil_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_ceil_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_ceil_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_ceil_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_ceil_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_ceil_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_ceil_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_ceil_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_ceil_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_ceil_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_ceil_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_ceil_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_ceil_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_ceil_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ceil_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_ceil_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_ceil_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rndne_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_rndne_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_rndne_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_rndne_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_rndne_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_rndne_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_rndne_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_rndne_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_rndne_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_rndne_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_rndne_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_rndne_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_rndne_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_rndne_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_rndne_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rndne_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_rndne_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_rndne_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_floor_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_floor_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_floor_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_floor_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_floor_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_floor_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_floor_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_floor_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_floor_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_floor_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_floor_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_floor_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_floor_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_floor_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_floor_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_floor_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_floor_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_floor_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_floor_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_floor_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_exp_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_exp_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_exp_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_exp_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_exp_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_exp_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_exp_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_exp_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_exp_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_exp_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_exp_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_exp_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_exp_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_exp_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_exp_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_exp_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_exp_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_exp_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_exp_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_exp_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_log_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_log_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_log_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_log_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_log_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_log_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_log_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_log_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_log_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_log_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_log_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_log_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_log_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_log_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_log_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_log_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_log_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_log_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_log_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_log_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_log_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_log_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_log_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_log_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_log_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_log_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_log_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_log_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_log_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_log_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_log_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_log_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_log_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rcp_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_rcp_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_rcp_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_rcp_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_rcp_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_rcp_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_rcp_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_rcp_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_rcp_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_rcp_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_rcp_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_rcp_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_rcp_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_rcp_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_rcp_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rcp_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_rcp_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_rcp_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_rcp_iflag_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_rcp_iflag_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_rcp_iflag_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_rcp_iflag_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_rcp_iflag_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_rcp_iflag_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_rcp_iflag_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_rcp_iflag_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_rcp_iflag_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_rcp_iflag_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_rcp_iflag_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_rcp_iflag_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_rcp_iflag_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_rcp_iflag_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rsq_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_rsq_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_rsq_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_rsq_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_rsq_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_rsq_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_rsq_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_rsq_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_rsq_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_rsq_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_rsq_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_rsq_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_rsq_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_rsq_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_rsq_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rsq_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_rsq_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_rsq_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sqrt_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_sqrt_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_sqrt_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_sqrt_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_sqrt_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_sqrt_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_sqrt_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_sqrt_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_sqrt_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_sqrt_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_sqrt_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_sqrt_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_sqrt_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_sqrt_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_sqrt_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_sqrt_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sin_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_sin_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_sin_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_sin_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_sin_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_sin_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_sin_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_sin_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_sin_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_sin_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_sin_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_sin_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_sin_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_sin_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_sin_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_sin_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_sin_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_sin_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_sin_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_sin_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cos_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cos_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cos_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cos_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cos_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cos_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cos_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cos_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cos_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cos_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cos_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cos_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cos_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cos_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cos_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cos_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cos_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cos_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cos_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_cos_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_not_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_not_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_not_b32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_not_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_not_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_not_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_not_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_not_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_not_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_not_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_not_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_not_b32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_not_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_not_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_not_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_not_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_not_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_not_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_not_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_not_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_not_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_not_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_not_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_not_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_not_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_not_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_not_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_not_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_not_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_not_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_bfrev_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_bfrev_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_bfrev_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_bfrev_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_bfrev_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_bfrev_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_bfrev_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_bfrev_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_bfrev_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_bfrev_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_bfrev_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_bfrev_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ffbh_u32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_ffbh_u32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_ffbh_u32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_ffbh_u32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_ffbh_u32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_ffbh_u32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_ffbh_u32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_ffbh_u32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_ffbh_u32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_ffbh_u32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_ffbh_u32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_ffbh_u32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_ffbh_u32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ffbl_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+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, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_ffbl_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_ffbl_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_ffbl_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_ffbl_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_ffbl_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_ffbl_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_ffbl_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_ffbl_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_ffbl_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_ffbl_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_ffbl_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ffbh_i32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_ffbh_i32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_ffbh_i32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_ffbh_i32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_ffbh_i32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_ffbh_i32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_ffbh_i32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_ffbh_i32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_ffbh_i32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_ffbh_i32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_ffbh_i32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_ffbh_i32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_ffbh_i32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_frexp_exp_i32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_frexp_exp_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_frexp_exp_i32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_frexp_mant_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_frexp_mant_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_frexp_mant_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_frexp_mant_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_frexp_mant_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_frexp_mant_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_frexp_mant_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_frexp_mant_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_frexp_mant_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_frexp_mant_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_frexp_mant_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_frexp_mant_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_frexp_mant_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_frexp_mant_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f16_u16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f16_u16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f16_u16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f16_u16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f16_u16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f16_u16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f16_u16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f16_u16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f16_u16_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f16_u16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f16_u16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_f16_i16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_f16_i16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_f16_i16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_f16_i16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_f16_i16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_f16_i16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_f16_i16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_f16_i16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_f16_i16_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_f16_i16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_f16_i16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_u16_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_u16_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_u16_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_u16_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_u16_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_u16_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_u16_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_u16_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_u16_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cvt_u16_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_u16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_u16_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_u16_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_cvt_u16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cvt_i16_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cvt_i16_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cvt_i16_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cvt_i16_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cvt_i16_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cvt_i16_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cvt_i16_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cvt_i16_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cvt_i16_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cvt_i16_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cvt_i16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cvt_i16_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cvt_i16_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_cvt_i16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rcp_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_rcp_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_rcp_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_rcp_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_rcp_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_rcp_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_rcp_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_rcp_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_rcp_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_rcp_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_rcp_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_rcp_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_rcp_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_rcp_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_rcp_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rcp_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_rcp_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_rcp_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sqrt_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_sqrt_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_sqrt_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_sqrt_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_sqrt_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_sqrt_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_sqrt_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_sqrt_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_sqrt_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_sqrt_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_sqrt_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_sqrt_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_sqrt_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_sqrt_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_sqrt_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_sqrt_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rsq_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_rsq_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_rsq_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_rsq_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_rsq_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_rsq_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_rsq_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_rsq_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_rsq_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_rsq_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_rsq_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_rsq_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_rsq_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_rsq_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_rsq_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rsq_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_rsq_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_rsq_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_log_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_log_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_log_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_log_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_log_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_log_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_log_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_log_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_log_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_log_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_log_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_log_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_log_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_log_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_log_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_log_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_log_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_log_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_log_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_log_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_log_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_log_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_log_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_log_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_log_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_log_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_log_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_log_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_log_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_log_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_log_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_log_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_log_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_exp_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_exp_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_exp_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_exp_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_exp_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_exp_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_exp_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_exp_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_exp_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_exp_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_exp_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_exp_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_exp_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_exp_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_exp_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_exp_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_exp_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_exp_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_exp_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_exp_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_frexp_mant_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_frexp_mant_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_frexp_mant_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_frexp_mant_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_frexp_mant_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_frexp_mant_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_frexp_mant_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_frexp_mant_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_frexp_mant_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_frexp_mant_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_frexp_mant_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_frexp_mant_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_frexp_mant_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_frexp_mant_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_frexp_exp_i16_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_frexp_exp_i16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_frexp_exp_i16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_floor_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_floor_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_floor_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_floor_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_floor_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_floor_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_floor_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_floor_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_floor_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_floor_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_floor_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_floor_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_floor_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_floor_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_floor_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_floor_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_floor_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_floor_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_floor_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_floor_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ceil_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_ceil_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_ceil_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_ceil_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_ceil_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_ceil_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_ceil_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_ceil_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_ceil_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_ceil_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_ceil_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_ceil_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_ceil_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_ceil_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_ceil_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_ceil_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_ceil_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_ceil_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_trunc_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_trunc_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_trunc_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_trunc_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_trunc_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_trunc_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_trunc_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_trunc_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_trunc_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_trunc_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_trunc_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_trunc_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_trunc_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_trunc_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_trunc_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_trunc_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_trunc_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_trunc_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rndne_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_rndne_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_rndne_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_rndne_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_rndne_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_rndne_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_rndne_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_rndne_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_rndne_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_rndne_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_rndne_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_rndne_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_rndne_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_rndne_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_rndne_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_rndne_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_rndne_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_rndne_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_fract_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_fract_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_fract_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_fract_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_fract_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_fract_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_fract_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_fract_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_fract_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_fract_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_fract_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_fract_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_fract_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_fract_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_fract_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_fract_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_fract_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_fract_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_fract_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_fract_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sin_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_sin_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_sin_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_sin_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_sin_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_sin_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_sin_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_sin_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_sin_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_sin_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_sin_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_sin_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_sin_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_sin_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_sin_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_sin_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_sin_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_sin_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_sin_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_sin_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cos_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_cos_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_cos_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_cos_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_cos_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_cos_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_cos_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_cos_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_cos_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_cos_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_cos_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_cos_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_cos_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_cos_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_cos_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_cos_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_cos_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_cos_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_cos_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_cos_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_exp_legacy_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_exp_legacy_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_exp_legacy_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_exp_legacy_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_exp_legacy_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_exp_legacy_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_exp_legacy_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_exp_legacy_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_exp_legacy_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_exp_legacy_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_exp_legacy_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_exp_legacy_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_exp_legacy_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_exp_legacy_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_log_legacy_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x86,0x06]
+
+v_log_legacy_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x65,0x06,0x86,0x06]
+
+v_log_legacy_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x66,0x06,0x86,0x06]
+
+v_log_legacy_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x67,0x06,0x86,0x06]
+
+v_log_legacy_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+
+v_log_legacy_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+
+v_log_legacy_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+
+v_log_legacy_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+
+v_log_legacy_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x46,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x86,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_log_legacy_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x16,0x06]
+
+v_log_legacy_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x26,0x06]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_log_legacy_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_log_legacy_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
+v_log_legacy_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+
+v_log_legacy_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x06]
+
+v_add_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x03,0x01,0x06,0x06,0x06]
+
+v_add_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0xff,0x06,0x06,0x06]
+
+v_add_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x86,0x06]
+
+v_add_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x65,0x06,0x86,0x06]
+
+v_add_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x66,0x06,0x86,0x06]
+
+v_add_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x67,0x06,0x86,0x06]
+
+v_add_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x6a,0x06,0x86,0x06]
+
+v_add_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x6b,0x06,0x86,0x06]
+
+v_add_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x7c,0x06,0x86,0x06]
+
+v_add_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x7e,0x06,0x86,0x06]
+
+v_add_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x7f,0x06,0x86,0x06]
+
+v_add_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x02,0x01,0x06,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x26,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x46,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x86,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0xc6,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x00,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x01,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x02,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x03,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x04,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x05,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x0e,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x16,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x16,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x00,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x01,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x02,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x03,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x04,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x05,0x06]
+
+v_add_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x16,0x06]
+
+v_add_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x26,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x06]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x00]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x01]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x02]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x03]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x04]
+
+v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x05]
+
+v_add_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x16]
+
+v_add_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x26]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x00]
+
+v_add_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x03,0x01,0xe4,0x00,0x00]
+
+v_add_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0xff,0xe4,0x00,0x00]
+
+v_add_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x02,0x01,0xe4,0x00,0x00]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x1b,0x00,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x40,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x41,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x42,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x43,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x30,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x34,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x38,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x3c,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x01,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x0f,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x11,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x1f,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x21,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0x2f,0x01,0x00]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x10]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x30]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0xf0]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0xf0]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x01]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x03]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x0f]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x0f]
+
+v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x08,0x00]
+
+v_add_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x10,0x00]
+
+v_add_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x20,0x00]
+
+v_add_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x40,0x00]
+
+v_add_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x80,0x00]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x06]
+
+v_sub_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x05,0x01,0x06,0x06,0x06]
+
+v_sub_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0xff,0x06,0x06,0x06]
+
+v_sub_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x86,0x06]
+
+v_sub_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x65,0x06,0x86,0x06]
+
+v_sub_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x66,0x06,0x86,0x06]
+
+v_sub_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x67,0x06,0x86,0x06]
+
+v_sub_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x6a,0x06,0x86,0x06]
+
+v_sub_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x6b,0x06,0x86,0x06]
+
+v_sub_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x7c,0x06,0x86,0x06]
+
+v_sub_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x7e,0x06,0x86,0x06]
+
+v_sub_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x7f,0x06,0x86,0x06]
+
+v_sub_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x04,0x01,0x06,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x26,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x46,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x86,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0xc6,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x00,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x01,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x02,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x03,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x04,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x05,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x0e,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x16,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x16,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x00,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x01,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x02,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x03,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x04,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x05,0x06]
+
+v_sub_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x16,0x06]
+
+v_sub_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x26,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x06]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x00]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x01]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x02]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x03]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x04]
+
+v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x05]
+
+v_sub_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x16]
+
+v_sub_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x26]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x00]
+
+v_sub_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x05,0x01,0xe4,0x00,0x00]
+
+v_sub_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0xff,0xe4,0x00,0x00]
+
+v_sub_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x04,0x01,0xe4,0x00,0x00]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x1b,0x00,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x40,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x41,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x42,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x43,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x30,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x34,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x38,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x3c,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x01,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x0f,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x11,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x1f,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x21,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0x2f,0x01,0x00]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x10]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x30]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0xf0]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0xf0]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x01]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x03]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x0f]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x0f]
+
+v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x08,0x00]
+
+v_sub_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x10,0x00]
+
+v_sub_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x20,0x00]
+
+v_sub_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x40,0x00]
+
+v_sub_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x80,0x00]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x06]
+
+v_subrev_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x07,0x01,0x06,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0xff,0x06,0x06,0x06]
+
+v_subrev_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x86,0x06]
+
+v_subrev_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x65,0x06,0x86,0x06]
+
+v_subrev_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x66,0x06,0x86,0x06]
+
+v_subrev_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x67,0x06,0x86,0x06]
+
+v_subrev_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x6a,0x06,0x86,0x06]
+
+v_subrev_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x6b,0x06,0x86,0x06]
+
+v_subrev_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x7c,0x06,0x86,0x06]
+
+v_subrev_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x7e,0x06,0x86,0x06]
+
+v_subrev_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x7f,0x06,0x86,0x06]
+
+v_subrev_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x06,0x01,0x06,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x26,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x46,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x86,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0xc6,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x00,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x01,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x02,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x03,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x04,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x05,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x0e,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x16,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x16,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x00,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x01,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x02,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x03,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x04,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x05,0x06]
+
+v_subrev_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x16,0x06]
+
+v_subrev_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x26,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x06]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x00]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x01]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x02]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x03]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x04]
+
+v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x05]
+
+v_subrev_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x16]
+
+v_subrev_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x26]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x00]
+
+v_subrev_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x07,0x01,0xe4,0x00,0x00]
+
+v_subrev_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0xff,0xe4,0x00,0x00]
+
+v_subrev_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x06,0x01,0xe4,0x00,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x1b,0x00,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x40,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x41,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x42,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x43,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x30,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x34,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x38,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x3c,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x01,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x0f,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x11,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x1f,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x21,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0x2f,0x01,0x00]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x10]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x30]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0xf0]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0xf0]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x01]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x03]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x0f]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x0f]
+
+v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x08,0x00]
+
+v_subrev_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x10,0x00]
+
+v_subrev_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x20,0x00]
+
+v_subrev_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x40,0x00]
+
+v_subrev_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x80,0x00]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x09,0x01,0x06,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0xff,0x06,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x86,0x06]
+
+v_mul_legacy_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x65,0x06,0x86,0x06]
+
+v_mul_legacy_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x66,0x06,0x86,0x06]
+
+v_mul_legacy_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x67,0x06,0x86,0x06]
+
+v_mul_legacy_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x6a,0x06,0x86,0x06]
+
+v_mul_legacy_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x6b,0x06,0x86,0x06]
+
+v_mul_legacy_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x7c,0x06,0x86,0x06]
+
+v_mul_legacy_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x7e,0x06,0x86,0x06]
+
+v_mul_legacy_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x7f,0x06,0x86,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x08,0x01,0x06,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x26,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x46,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x86,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0xc6,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x00,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x01,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x02,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x03,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x04,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x05,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x0e,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x16,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x16,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x00,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x01,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x02,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x03,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x04,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x05,0x06]
+
+v_mul_legacy_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x16,0x06]
+
+v_mul_legacy_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x26,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x06]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x00]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x01]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x02]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x03]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x04]
+
+v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x05]
+
+v_mul_legacy_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x16]
+
+v_mul_legacy_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x26]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x00]
+
+v_mul_legacy_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x09,0x01,0xe4,0x00,0x00]
+
+v_mul_legacy_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0xff,0xe4,0x00,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x08,0x01,0xe4,0x00,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x1b,0x00,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x40,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x41,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x42,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x43,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x30,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x34,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x38,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x3c,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x01,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x0f,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x11,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x1f,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x21,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0x2f,0x01,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x10]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x30]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0xf0]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0xf0]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x01]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x03]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x0f]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x0f]
+
+v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x08,0x00]
+
+v_mul_legacy_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x10,0x00]
+
+v_mul_legacy_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x20,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x40,0x00]
+
+v_mul_legacy_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x80,0x00]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x06]
+
+v_mul_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x0b,0x01,0x06,0x06,0x06]
+
+v_mul_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0xff,0x06,0x06,0x06]
+
+v_mul_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x86,0x06]
+
+v_mul_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x65,0x06,0x86,0x06]
+
+v_mul_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x66,0x06,0x86,0x06]
+
+v_mul_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x67,0x06,0x86,0x06]
+
+v_mul_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x6a,0x06,0x86,0x06]
+
+v_mul_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x6b,0x06,0x86,0x06]
+
+v_mul_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x7c,0x06,0x86,0x06]
+
+v_mul_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x7e,0x06,0x86,0x06]
+
+v_mul_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x7f,0x06,0x86,0x06]
+
+v_mul_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x0a,0x01,0x06,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x26,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x46,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x86,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0xc6,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x00,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x01,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x02,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x03,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x04,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x05,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x0e,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x16,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x16,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x00,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x01,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x02,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x03,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x04,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x05,0x06]
+
+v_mul_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x16,0x06]
+
+v_mul_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x26,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x06]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x00]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x01]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x02]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x03]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x04]
+
+v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x05]
+
+v_mul_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x16]
+
+v_mul_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x26]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x00]
+
+v_mul_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x0b,0x01,0xe4,0x00,0x00]
+
+v_mul_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0xff,0xe4,0x00,0x00]
+
+v_mul_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x0a,0x01,0xe4,0x00,0x00]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x1b,0x00,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x40,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x41,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x42,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x43,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x30,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x34,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x38,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x3c,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x01,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x0f,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x11,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x1f,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x21,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0x2f,0x01,0x00]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x10]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x30]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0xf0]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0xf0]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x01]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x03]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x0f]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x0f]
+
+v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x08,0x00]
+
+v_mul_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x10,0x00]
+
+v_mul_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x20,0x00]
+
+v_mul_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x40,0x00]
+
+v_mul_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x80,0x00]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x06]
+
+v_mul_i32_i24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x0d,0x01,0x06,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0xff,0x06,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x86,0x06]
+
+v_mul_i32_i24_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x65,0x06,0x86,0x06]
+
+v_mul_i32_i24_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x66,0x06,0x86,0x06]
+
+v_mul_i32_i24_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x67,0x06,0x86,0x06]
+
+v_mul_i32_i24_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x6a,0x06,0x86,0x06]
+
+v_mul_i32_i24_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x6b,0x06,0x86,0x06]
+
+v_mul_i32_i24_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x7c,0x06,0x86,0x06]
+
+v_mul_i32_i24_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x7e,0x06,0x86,0x06]
+
+v_mul_i32_i24_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x7f,0x06,0x86,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x0c,0x01,0x06,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x26,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x00,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x01,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x02,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x03,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x04,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x05,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x0e,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x16,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x16,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x00,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x01,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x02,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x03,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x04,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x05,0x06]
+
+v_mul_i32_i24_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x0e,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x06]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x00]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x01]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x02]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x03]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x04]
+
+v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x05]
+
+v_mul_i32_i24_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x0e]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x00]
+
+v_mul_i32_i24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x0d,0x01,0xe4,0x00,0x00]
+
+v_mul_i32_i24_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0xff,0xe4,0x00,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x0c,0x01,0xe4,0x00,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x1b,0x00,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x40,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x41,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x42,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x43,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x30,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x34,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x38,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x3c,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x01,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x0f,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x11,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x1f,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x21,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0x2f,0x01,0x00]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x10]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x30]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0xf0]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0xf0]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x01]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x03]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x0f]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x0f]
+
+v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x08,0x00]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x0f,0x01,0x06,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0xff,0x06,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x86,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x65,0x06,0x86,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x66,0x06,0x86,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x67,0x06,0x86,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x6a,0x06,0x86,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x6b,0x06,0x86,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x7c,0x06,0x86,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x7e,0x06,0x86,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x7f,0x06,0x86,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x0e,0x01,0x06,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x26,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x00,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x01,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x02,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x03,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x04,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x05,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x0e,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x16,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x16,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x00,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x01,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x02,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x03,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x04,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x05,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x0e,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x06]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x00]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x01]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x02]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x03]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x04]
+
+v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x05]
+
+v_mul_hi_i32_i24_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x0e]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x00]
+
+v_mul_hi_i32_i24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x0f,0x01,0xe4,0x00,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0xff,0xe4,0x00,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x0e,0x01,0xe4,0x00,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x1b,0x00,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x40,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x41,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x42,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x43,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x30,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x34,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x38,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x3c,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x01,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x0f,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x11,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x1f,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x21,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0x2f,0x01,0x00]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x10]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x30]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0xf0]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0xf0]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x01]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x03]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x0f]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x0f]
+
+v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x08,0x00]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x06]
+
+v_mul_u32_u24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x11,0x01,0x06,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0xff,0x06,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x86,0x06]
+
+v_mul_u32_u24_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x65,0x06,0x86,0x06]
+
+v_mul_u32_u24_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x66,0x06,0x86,0x06]
+
+v_mul_u32_u24_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x67,0x06,0x86,0x06]
+
+v_mul_u32_u24_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x6a,0x06,0x86,0x06]
+
+v_mul_u32_u24_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x6b,0x06,0x86,0x06]
+
+v_mul_u32_u24_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x7c,0x06,0x86,0x06]
+
+v_mul_u32_u24_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x7e,0x06,0x86,0x06]
+
+v_mul_u32_u24_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x7f,0x06,0x86,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x10,0x01,0x06,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x26,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x00,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x01,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x02,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x03,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x04,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x05,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x0e,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x16,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x16,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x00,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x01,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x02,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x03,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x04,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x05,0x06]
+
+v_mul_u32_u24_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x0e,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x06]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x00]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x01]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x02]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x03]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x04]
+
+v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x05]
+
+v_mul_u32_u24_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x0e]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x00]
+
+v_mul_u32_u24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x11,0x01,0xe4,0x00,0x00]
+
+v_mul_u32_u24_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0xff,0xe4,0x00,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x10,0x01,0xe4,0x00,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x1b,0x00,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x40,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x41,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x42,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x43,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x30,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x34,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x38,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x3c,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x01,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x0f,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x11,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x1f,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x21,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0x2f,0x01,0x00]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x10]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x30]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0xf0]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0xf0]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x01]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x03]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x0f]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x0f]
+
+v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x08,0x00]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x13,0x01,0x06,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0xff,0x06,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x86,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x65,0x06,0x86,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x66,0x06,0x86,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x67,0x06,0x86,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x6a,0x06,0x86,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x6b,0x06,0x86,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x7c,0x06,0x86,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x7e,0x06,0x86,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x7f,0x06,0x86,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x12,0x01,0x06,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x26,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x00,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x01,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x02,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x03,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x04,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x05,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x0e,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x16,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x16,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x00,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x01,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x02,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x03,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x04,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x05,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x0e,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x06]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x00]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x01]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x02]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x03]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x04]
+
+v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x05]
+
+v_mul_hi_u32_u24_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x0e]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x00]
+
+v_mul_hi_u32_u24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x13,0x01,0xe4,0x00,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0xff,0xe4,0x00,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x12,0x01,0xe4,0x00,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x1b,0x00,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x40,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x41,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x42,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x43,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x30,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x34,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x38,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x3c,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x01,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x0f,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x11,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x1f,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x21,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0x2f,0x01,0x00]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x10]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x30]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0xf0]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0xf0]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x01]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x03]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x0f]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x0f]
+
+v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x08,0x00]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x06]
+
+v_min_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x15,0x01,0x06,0x06,0x06]
+
+v_min_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0xff,0x06,0x06,0x06]
+
+v_min_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x86,0x06]
+
+v_min_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x65,0x06,0x86,0x06]
+
+v_min_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x66,0x06,0x86,0x06]
+
+v_min_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x67,0x06,0x86,0x06]
+
+v_min_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x6a,0x06,0x86,0x06]
+
+v_min_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x6b,0x06,0x86,0x06]
+
+v_min_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x7c,0x06,0x86,0x06]
+
+v_min_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x7e,0x06,0x86,0x06]
+
+v_min_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x7f,0x06,0x86,0x06]
+
+v_min_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x14,0x01,0x06,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x26,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x46,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x86,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0xc6,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x00,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x01,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x02,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x03,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x04,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x05,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x0e,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x16,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x16,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x00,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x01,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x02,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x03,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x04,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x05,0x06]
+
+v_min_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x16,0x06]
+
+v_min_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x26,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x06]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x00]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x01]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x02]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x03]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x04]
+
+v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x05]
+
+v_min_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x16]
+
+v_min_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x26]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x00]
+
+v_min_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x15,0x01,0xe4,0x00,0x00]
+
+v_min_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0xff,0xe4,0x00,0x00]
+
+v_min_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x14,0x01,0xe4,0x00,0x00]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x1b,0x00,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x40,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x41,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x42,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x43,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x30,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x34,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x38,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x3c,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x01,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x0f,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x11,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x1f,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x21,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0x2f,0x01,0x00]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x10]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x30]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0xf0]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0xf0]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x01]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x03]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x0f]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x0f]
+
+v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x08,0x00]
+
+v_min_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x10,0x00]
+
+v_min_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x20,0x00]
+
+v_min_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x40,0x00]
+
+v_min_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x80,0x00]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x06]
+
+v_max_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x17,0x01,0x06,0x06,0x06]
+
+v_max_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0xff,0x06,0x06,0x06]
+
+v_max_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x86,0x06]
+
+v_max_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x65,0x06,0x86,0x06]
+
+v_max_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x66,0x06,0x86,0x06]
+
+v_max_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x67,0x06,0x86,0x06]
+
+v_max_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x6a,0x06,0x86,0x06]
+
+v_max_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x6b,0x06,0x86,0x06]
+
+v_max_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x7c,0x06,0x86,0x06]
+
+v_max_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x7e,0x06,0x86,0x06]
+
+v_max_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x7f,0x06,0x86,0x06]
+
+v_max_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x16,0x01,0x06,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x26,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x46,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x86,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0xc6,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x00,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x01,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x02,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x03,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x04,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x05,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x0e,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x16,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x16,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x00,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x01,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x02,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x03,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x04,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x05,0x06]
+
+v_max_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x16,0x06]
+
+v_max_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x26,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x06]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x00]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x01]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x02]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x03]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x04]
+
+v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x05]
+
+v_max_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x16]
+
+v_max_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x26]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x00]
+
+v_max_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x17,0x01,0xe4,0x00,0x00]
+
+v_max_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0xff,0xe4,0x00,0x00]
+
+v_max_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x16,0x01,0xe4,0x00,0x00]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x1b,0x00,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x40,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x41,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x42,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x43,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x30,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x34,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x38,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x3c,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x01,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x0f,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x11,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x1f,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x21,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0x2f,0x01,0x00]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x10]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x30]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0xf0]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0xf0]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x01]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x03]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x0f]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x0f]
+
+v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x08,0x00]
+
+v_max_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x10,0x00]
+
+v_max_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x20,0x00]
+
+v_max_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x40,0x00]
+
+v_max_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x80,0x00]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x06]
+
+v_min_i32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x19,0x01,0x06,0x06,0x06]
+
+v_min_i32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0xff,0x06,0x06,0x06]
+
+v_min_i32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x86,0x06]
+
+v_min_i32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x65,0x06,0x86,0x06]
+
+v_min_i32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x66,0x06,0x86,0x06]
+
+v_min_i32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x67,0x06,0x86,0x06]
+
+v_min_i32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x6a,0x06,0x86,0x06]
+
+v_min_i32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x6b,0x06,0x86,0x06]
+
+v_min_i32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x7c,0x06,0x86,0x06]
+
+v_min_i32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x7e,0x06,0x86,0x06]
+
+v_min_i32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x7f,0x06,0x86,0x06]
+
+v_min_i32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x18,0x01,0x06,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x26,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x00,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x01,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x02,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x03,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x04,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x05,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x0e,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x16,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x16,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x00,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x01,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x02,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x03,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x04,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x05,0x06]
+
+v_min_i32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x0e,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x06]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x00]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x01]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x02]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x03]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x04]
+
+v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x05]
+
+v_min_i32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x0e]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x00]
+
+v_min_i32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x19,0x01,0xe4,0x00,0x00]
+
+v_min_i32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0xff,0xe4,0x00,0x00]
+
+v_min_i32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x18,0x01,0xe4,0x00,0x00]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x1b,0x00,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x40,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x41,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x42,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x43,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x30,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x34,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x38,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x3c,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x01,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x0f,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x11,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x1f,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x21,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0x2f,0x01,0x00]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x10]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x30]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0xf0]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0xf0]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x01]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x03]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x0f]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x0f]
+
+v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x08,0x00]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x06]
+
+v_max_i32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x1b,0x01,0x06,0x06,0x06]
+
+v_max_i32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0xff,0x06,0x06,0x06]
+
+v_max_i32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x86,0x06]
+
+v_max_i32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x65,0x06,0x86,0x06]
+
+v_max_i32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x66,0x06,0x86,0x06]
+
+v_max_i32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x67,0x06,0x86,0x06]
+
+v_max_i32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x6a,0x06,0x86,0x06]
+
+v_max_i32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x6b,0x06,0x86,0x06]
+
+v_max_i32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x7c,0x06,0x86,0x06]
+
+v_max_i32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x7e,0x06,0x86,0x06]
+
+v_max_i32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x7f,0x06,0x86,0x06]
+
+v_max_i32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x1a,0x01,0x06,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x26,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x00,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x01,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x02,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x03,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x04,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x05,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x0e,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x16,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x16,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x00,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x01,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x02,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x03,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x04,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x05,0x06]
+
+v_max_i32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x0e,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x06]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x00]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x01]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x02]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x03]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x04]
+
+v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x05]
+
+v_max_i32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x0e]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x00]
+
+v_max_i32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x1b,0x01,0xe4,0x00,0x00]
+
+v_max_i32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0xff,0xe4,0x00,0x00]
+
+v_max_i32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x1a,0x01,0xe4,0x00,0x00]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x1b,0x00,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x40,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x41,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x42,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x43,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x30,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x34,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x38,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x3c,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x01,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x0f,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x11,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x1f,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x21,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0x2f,0x01,0x00]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x10]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x30]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0xf0]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0xf0]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x01]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x03]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x0f]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x0f]
+
+v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x08,0x00]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x06]
+
+v_min_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x1d,0x01,0x06,0x06,0x06]
+
+v_min_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0xff,0x06,0x06,0x06]
+
+v_min_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x86,0x06]
+
+v_min_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x65,0x06,0x86,0x06]
+
+v_min_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x66,0x06,0x86,0x06]
+
+v_min_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x67,0x06,0x86,0x06]
+
+v_min_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x6a,0x06,0x86,0x06]
+
+v_min_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x6b,0x06,0x86,0x06]
+
+v_min_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x7c,0x06,0x86,0x06]
+
+v_min_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x7e,0x06,0x86,0x06]
+
+v_min_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x7f,0x06,0x86,0x06]
+
+v_min_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x1c,0x01,0x06,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x26,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x00,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x01,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x02,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x03,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x04,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x05,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x0e,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x16,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x16,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x00,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x01,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x02,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x03,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x04,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x05,0x06]
+
+v_min_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x0e,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x06]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x00]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x01]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x02]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x03]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x04]
+
+v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x05]
+
+v_min_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x0e]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x00]
+
+v_min_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x1d,0x01,0xe4,0x00,0x00]
+
+v_min_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0xff,0xe4,0x00,0x00]
+
+v_min_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x1c,0x01,0xe4,0x00,0x00]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x1b,0x00,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x40,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x41,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x42,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x43,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x30,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x34,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x38,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x3c,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x01,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x0f,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x11,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x1f,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x21,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0x2f,0x01,0x00]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x10]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x30]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0xf0]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0xf0]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x01]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x03]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x0f]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x0f]
+
+v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x08,0x00]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x06]
+
+v_max_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x1f,0x01,0x06,0x06,0x06]
+
+v_max_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0xff,0x06,0x06,0x06]
+
+v_max_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x86,0x06]
+
+v_max_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x65,0x06,0x86,0x06]
+
+v_max_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x66,0x06,0x86,0x06]
+
+v_max_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x67,0x06,0x86,0x06]
+
+v_max_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x6a,0x06,0x86,0x06]
+
+v_max_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x6b,0x06,0x86,0x06]
+
+v_max_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x7c,0x06,0x86,0x06]
+
+v_max_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x7e,0x06,0x86,0x06]
+
+v_max_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x7f,0x06,0x86,0x06]
+
+v_max_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x1e,0x01,0x06,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x26,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x00,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x01,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x02,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x03,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x04,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x05,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x0e,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x16,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x16,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x00,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x01,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x02,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x03,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x04,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x05,0x06]
+
+v_max_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x0e,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x06]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x00]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x01]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x02]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x03]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x04]
+
+v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x05]
+
+v_max_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x0e]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x00]
+
+v_max_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x1f,0x01,0xe4,0x00,0x00]
+
+v_max_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0xff,0xe4,0x00,0x00]
+
+v_max_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x1e,0x01,0xe4,0x00,0x00]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x1b,0x00,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x40,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x41,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x42,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x43,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x30,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x34,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x38,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x3c,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x01,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x0f,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x11,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x1f,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x21,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0x2f,0x01,0x00]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x10]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x30]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0xf0]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0xf0]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x01]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x03]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x0f]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x0f]
+
+v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x08,0x00]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x21,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0xff,0x06,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x86,0x06]
+
+v_lshrrev_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x65,0x06,0x86,0x06]
+
+v_lshrrev_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x66,0x06,0x86,0x06]
+
+v_lshrrev_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x67,0x06,0x86,0x06]
+
+v_lshrrev_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x6a,0x06,0x86,0x06]
+
+v_lshrrev_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x6b,0x06,0x86,0x06]
+
+v_lshrrev_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x7c,0x06,0x86,0x06]
+
+v_lshrrev_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x7e,0x06,0x86,0x06]
+
+v_lshrrev_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x7f,0x06,0x86,0x06]
+
+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 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x00,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x01,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x02,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x03,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x04,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x05,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x0e,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x16,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x16,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x00,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x01,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x02,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x03,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x04,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x05,0x06]
+
+v_lshrrev_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x0e,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x00]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x01]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x02]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x03]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x04]
+
+v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x05]
+
+v_lshrrev_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x0e]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x00]
+
+v_lshrrev_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x21,0x01,0xe4,0x00,0x00]
+
+v_lshrrev_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0xff,0xe4,0x00,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x20,0x01,0xe4,0x00,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x1b,0x00,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x40,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x41,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x42,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x43,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x30,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x34,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x38,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x3c,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x01,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x0f,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x11,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x1f,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x21,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0x2f,0x01,0x00]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x10]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x30]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0xf0]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0xf0]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x01]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x03]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x0f]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x0f]
+
+v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x08,0x00]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x23,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0xff,0x06,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x86,0x06]
+
+v_ashrrev_i32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x65,0x06,0x86,0x06]
+
+v_ashrrev_i32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x66,0x06,0x86,0x06]
+
+v_ashrrev_i32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x67,0x06,0x86,0x06]
+
+v_ashrrev_i32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x6a,0x06,0x86,0x06]
+
+v_ashrrev_i32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x6b,0x06,0x86,0x06]
+
+v_ashrrev_i32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x7c,0x06,0x86,0x06]
+
+v_ashrrev_i32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x7e,0x06,0x86,0x06]
+
+v_ashrrev_i32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x7f,0x06,0x86,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x22,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x26,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x00,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x01,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x02,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x03,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x04,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x05,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x0e,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x16,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x16,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x00,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x01,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x02,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x03,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x04,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x05,0x06]
+
+v_ashrrev_i32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x0e,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x00]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x01]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x02]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x03]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x04]
+
+v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x05]
+
+v_ashrrev_i32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x0e]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x00]
+
+v_ashrrev_i32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x23,0x01,0xe4,0x00,0x00]
+
+v_ashrrev_i32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0xff,0xe4,0x00,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x22,0x01,0xe4,0x00,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x1b,0x00,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x40,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x41,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x42,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x43,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x30,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x34,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x38,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x3c,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x01,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x0f,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x11,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x1f,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x21,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0x2f,0x01,0x00]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x10]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x30]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0xf0]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0xf0]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x01]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x03]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x0f]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x0f]
+
+v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x08,0x00]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x25,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0xff,0x06,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x86,0x06]
+
+v_lshlrev_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x65,0x06,0x86,0x06]
+
+v_lshlrev_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x66,0x06,0x86,0x06]
+
+v_lshlrev_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x67,0x06,0x86,0x06]
+
+v_lshlrev_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x6a,0x06,0x86,0x06]
+
+v_lshlrev_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x6b,0x06,0x86,0x06]
+
+v_lshlrev_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x7c,0x06,0x86,0x06]
+
+v_lshlrev_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x7e,0x06,0x86,0x06]
+
+v_lshlrev_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x7f,0x06,0x86,0x06]
+
+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 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x00,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x01,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x02,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x03,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x04,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x05,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x0e,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x16,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x16,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x00,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x01,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x02,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x03,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x04,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x05,0x06]
+
+v_lshlrev_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x0e,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x00]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x01]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x02]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x03]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x04]
+
+v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x05]
+
+v_lshlrev_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x0e]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x00]
+
+v_lshlrev_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x25,0x01,0xe4,0x00,0x00]
+
+v_lshlrev_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0xff,0xe4,0x00,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x24,0x01,0xe4,0x00,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x1b,0x00,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x40,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x41,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x42,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x43,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x30,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x34,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x38,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x3c,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x01,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x0f,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x11,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x1f,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x21,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0x2f,0x01,0x00]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x10]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x30]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0xf0]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0xf0]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x01]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x03]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x0f]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x0f]
+
+v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x08,0x00]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x06]
+
+v_and_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x27,0x01,0x06,0x06,0x06]
+
+v_and_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0xff,0x06,0x06,0x06]
+
+v_and_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x86,0x06]
+
+v_and_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x65,0x06,0x86,0x06]
+
+v_and_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x66,0x06,0x86,0x06]
+
+v_and_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x67,0x06,0x86,0x06]
+
+v_and_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x6a,0x06,0x86,0x06]
+
+v_and_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x6b,0x06,0x86,0x06]
+
+v_and_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x7c,0x06,0x86,0x06]
+
+v_and_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x7e,0x06,0x86,0x06]
+
+v_and_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x7f,0x06,0x86,0x06]
+
+v_and_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x26,0x01,0x06,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x00,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x01,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x02,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x03,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x04,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x05,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x0e,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x16,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x16,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x00,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x01,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x02,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x03,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x04,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x05,0x06]
+
+v_and_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x0e,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x06]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x00]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x01]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x02]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x03]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x04]
+
+v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x05]
+
+v_and_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x0e]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x00]
+
+v_and_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x27,0x01,0xe4,0x00,0x00]
+
+v_and_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0xff,0xe4,0x00,0x00]
+
+v_and_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x26,0x01,0xe4,0x00,0x00]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x1b,0x00,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x40,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x41,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x42,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x43,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x30,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x34,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x38,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x3c,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x01,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x0f,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x11,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x1f,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x21,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0x2f,0x01,0x00]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x10]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x30]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0xf0]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0xf0]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x01]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x03]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x0f]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x0f]
+
+v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x08,0x00]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x06]
+
+v_or_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x29,0x01,0x06,0x06,0x06]
+
+v_or_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0xff,0x06,0x06,0x06]
+
+v_or_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x86,0x06]
+
+v_or_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x65,0x06,0x86,0x06]
+
+v_or_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x66,0x06,0x86,0x06]
+
+v_or_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x67,0x06,0x86,0x06]
+
+v_or_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x6a,0x06,0x86,0x06]
+
+v_or_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x6b,0x06,0x86,0x06]
+
+v_or_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x7c,0x06,0x86,0x06]
+
+v_or_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x7e,0x06,0x86,0x06]
+
+v_or_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x7f,0x06,0x86,0x06]
+
+v_or_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x28,0x01,0x06,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x00,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x01,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x02,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x03,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x04,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x05,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x0e,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x16,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x16,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x00,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x01,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x02,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x03,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x04,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x05,0x06]
+
+v_or_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x0e,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x06]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x00]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x01]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x02]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x03]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x04]
+
+v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x05]
+
+v_or_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x0e]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x00]
+
+v_or_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x29,0x01,0xe4,0x00,0x00]
+
+v_or_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0xff,0xe4,0x00,0x00]
+
+v_or_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x28,0x01,0xe4,0x00,0x00]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x1b,0x00,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x40,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x41,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x42,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x43,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x30,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x34,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x38,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x3c,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x01,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x0f,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x11,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x1f,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x21,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0x2f,0x01,0x00]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x10]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x30]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0xf0]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0xf0]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x01]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x03]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x0f]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x0f]
+
+v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x08,0x00]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x06]
+
+v_xor_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x2b,0x01,0x06,0x06,0x06]
+
+v_xor_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0xff,0x06,0x06,0x06]
+
+v_xor_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x86,0x06]
+
+v_xor_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x65,0x06,0x86,0x06]
+
+v_xor_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x66,0x06,0x86,0x06]
+
+v_xor_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x67,0x06,0x86,0x06]
+
+v_xor_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x6a,0x06,0x86,0x06]
+
+v_xor_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x6b,0x06,0x86,0x06]
+
+v_xor_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x7c,0x06,0x86,0x06]
+
+v_xor_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x7e,0x06,0x86,0x06]
+
+v_xor_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x7f,0x06,0x86,0x06]
+
+v_xor_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x2a,0x01,0x06,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x00,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x01,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x02,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x03,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x04,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x05,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x0e,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x16,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x16,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x00,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x01,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x02,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x03,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x04,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x05,0x06]
+
+v_xor_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x0e,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x06]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x00]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x01]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x02]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x03]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x04]
+
+v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x05]
+
+v_xor_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x0e]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x00]
+
+v_xor_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x2b,0x01,0xe4,0x00,0x00]
+
+v_xor_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0xff,0xe4,0x00,0x00]
+
+v_xor_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x2a,0x01,0xe4,0x00,0x00]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x1b,0x00,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x40,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x41,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x42,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x43,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x30,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x34,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x38,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x3c,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x01,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x0f,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x11,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x1f,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x21,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0x2f,0x01,0x00]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x10]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x30]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0xf0]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0xf0]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x01]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x03]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x0f]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x0f]
+
+v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x08,0x00]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x00]
+
+v_mac_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x2d,0x01,0xe4,0x00,0x00]
+
+v_mac_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0xff,0xe4,0x00,0x00]
+
+v_mac_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x2c,0x01,0xe4,0x00,0x00]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x1b,0x00,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x40,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x41,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x42,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x43,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x30,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x34,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x38,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x3c,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x01,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x0f,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x11,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x1f,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x21,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0x2f,0x01,0x00]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x10]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x30]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0xf0]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0xf0]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x01]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x03]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x0f]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x0f]
+
+v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x08,0x00]
+
+v_mac_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x10,0x00]
+
+v_mac_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x20,0x00]
+
+v_mac_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x40,0x00]
+
+v_mac_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x80,0x00]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x06]
+
+v_add_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x3f,0x01,0x06,0x06,0x06]
+
+v_add_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0xff,0x06,0x06,0x06]
+
+v_add_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x86,0x06]
+
+v_add_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x65,0x06,0x86,0x06]
+
+v_add_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x66,0x06,0x86,0x06]
+
+v_add_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x67,0x06,0x86,0x06]
+
+v_add_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x6a,0x06,0x86,0x06]
+
+v_add_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x6b,0x06,0x86,0x06]
+
+v_add_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x7c,0x06,0x86,0x06]
+
+v_add_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x7e,0x06,0x86,0x06]
+
+v_add_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x7f,0x06,0x86,0x06]
+
+v_add_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x3e,0x01,0x06,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x26,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x00,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x01,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x02,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x03,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x04,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x05,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x0e,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x16,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x16,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x00,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x01,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x02,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x03,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x04,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x05,0x06]
+
+v_add_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x16,0x06]
+
+v_add_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x26,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x06]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x00]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x01]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x02]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x03]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x04]
+
+v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x05]
+
+v_add_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x16]
+
+v_add_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x26]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x00]
+
+v_add_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x3f,0x01,0xe4,0x00,0x00]
+
+v_add_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0xff,0xe4,0x00,0x00]
+
+v_add_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x3e,0x01,0xe4,0x00,0x00]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x1b,0x00,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x40,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x41,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x42,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x43,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x30,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x34,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x38,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x3c,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x01,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x0f,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x11,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x1f,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x21,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0x2f,0x01,0x00]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x10]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x30]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0xf0]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0xf0]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x01]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x03]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x0f]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x0f]
+
+v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x08,0x00]
+
+v_add_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x10,0x00]
+
+v_add_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x20,0x00]
+
+v_add_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x40,0x00]
+
+v_add_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x80,0x00]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x06]
+
+v_sub_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x41,0x01,0x06,0x06,0x06]
+
+v_sub_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0xff,0x06,0x06,0x06]
+
+v_sub_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x86,0x06]
+
+v_sub_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x65,0x06,0x86,0x06]
+
+v_sub_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x66,0x06,0x86,0x06]
+
+v_sub_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x67,0x06,0x86,0x06]
+
+v_sub_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x6a,0x06,0x86,0x06]
+
+v_sub_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x6b,0x06,0x86,0x06]
+
+v_sub_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x7c,0x06,0x86,0x06]
+
+v_sub_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x7e,0x06,0x86,0x06]
+
+v_sub_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x7f,0x06,0x86,0x06]
+
+v_sub_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x40,0x01,0x06,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x26,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x00,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x01,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x02,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x03,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x04,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x05,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x0e,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x16,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x16,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x00,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x01,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x02,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x03,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x04,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x05,0x06]
+
+v_sub_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x16,0x06]
+
+v_sub_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x26,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x06]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x00]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x01]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x02]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x03]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x04]
+
+v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x05]
+
+v_sub_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x16]
+
+v_sub_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x26]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x00]
+
+v_sub_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x41,0x01,0xe4,0x00,0x00]
+
+v_sub_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0xff,0xe4,0x00,0x00]
+
+v_sub_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x40,0x01,0xe4,0x00,0x00]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x1b,0x00,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x40,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x41,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x42,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x43,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x30,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x34,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x38,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x3c,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x01,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x0f,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x11,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x1f,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x21,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0x2f,0x01,0x00]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x10]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x30]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0xf0]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0xf0]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x01]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x03]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x0f]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x0f]
+
+v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x08,0x00]
+
+v_sub_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x10,0x00]
+
+v_sub_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x20,0x00]
+
+v_sub_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x40,0x00]
+
+v_sub_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x80,0x00]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x06]
+
+v_subrev_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x43,0x01,0x06,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0xff,0x06,0x06,0x06]
+
+v_subrev_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x86,0x06]
+
+v_subrev_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x65,0x06,0x86,0x06]
+
+v_subrev_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x66,0x06,0x86,0x06]
+
+v_subrev_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x67,0x06,0x86,0x06]
+
+v_subrev_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x6a,0x06,0x86,0x06]
+
+v_subrev_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x6b,0x06,0x86,0x06]
+
+v_subrev_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x7c,0x06,0x86,0x06]
+
+v_subrev_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x7e,0x06,0x86,0x06]
+
+v_subrev_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x7f,0x06,0x86,0x06]
+
+v_subrev_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x42,0x01,0x06,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x26,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x00,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x01,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x02,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x03,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x04,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x05,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x0e,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x16,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x16,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x00,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x01,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x02,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x03,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x04,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x05,0x06]
+
+v_subrev_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x16,0x06]
+
+v_subrev_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x26,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x06]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x00]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x01]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x02]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x03]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x04]
+
+v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x05]
+
+v_subrev_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x16]
+
+v_subrev_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x26]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x00]
+
+v_subrev_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x43,0x01,0xe4,0x00,0x00]
+
+v_subrev_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0xff,0xe4,0x00,0x00]
+
+v_subrev_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x42,0x01,0xe4,0x00,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x1b,0x00,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x40,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x41,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x42,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x43,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x30,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x34,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x38,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x3c,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x01,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x0f,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x11,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x1f,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x21,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0x2f,0x01,0x00]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x10]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x30]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0xf0]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0xf0]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x01]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x03]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x0f]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x0f]
+
+v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x08,0x00]
+
+v_subrev_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x10,0x00]
+
+v_subrev_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x20,0x00]
+
+v_subrev_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x40,0x00]
+
+v_subrev_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x80,0x00]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x06]
+
+v_mul_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x45,0x01,0x06,0x06,0x06]
+
+v_mul_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0xff,0x06,0x06,0x06]
+
+v_mul_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x86,0x06]
+
+v_mul_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x65,0x06,0x86,0x06]
+
+v_mul_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x66,0x06,0x86,0x06]
+
+v_mul_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x67,0x06,0x86,0x06]
+
+v_mul_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x6a,0x06,0x86,0x06]
+
+v_mul_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x6b,0x06,0x86,0x06]
+
+v_mul_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x7c,0x06,0x86,0x06]
+
+v_mul_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x7e,0x06,0x86,0x06]
+
+v_mul_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x7f,0x06,0x86,0x06]
+
+v_mul_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x44,0x01,0x06,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x26,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x00,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x01,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x02,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x03,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x04,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x05,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x0e,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x16,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x16,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x00,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x01,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x02,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x03,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x04,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x05,0x06]
+
+v_mul_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x16,0x06]
+
+v_mul_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x26,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x06]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x00]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x01]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x02]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x03]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x04]
+
+v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x05]
+
+v_mul_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x16]
+
+v_mul_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x26]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x00]
+
+v_mul_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x45,0x01,0xe4,0x00,0x00]
+
+v_mul_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0xff,0xe4,0x00,0x00]
+
+v_mul_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x44,0x01,0xe4,0x00,0x00]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x1b,0x00,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x40,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x41,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x42,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x43,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x30,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x34,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x38,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x3c,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x01,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x0f,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x11,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x1f,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x21,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0x2f,0x01,0x00]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x10]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x30]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0xf0]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0xf0]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x01]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x03]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x0f]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x0f]
+
+v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x08,0x00]
+
+v_mul_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x10,0x00]
+
+v_mul_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x20,0x00]
+
+v_mul_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x40,0x00]
+
+v_mul_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x80,0x00]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x00]
+
+v_mac_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x47,0x01,0xe4,0x00,0x00]
+
+v_mac_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0xff,0xe4,0x00,0x00]
+
+v_mac_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x46,0x01,0xe4,0x00,0x00]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x1b,0x00,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x40,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x41,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x42,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x43,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x30,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x34,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x38,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x3c,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x01,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x0f,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x11,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x1f,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x21,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0x2f,0x01,0x00]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x10]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x30]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0xf0]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0xf0]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x01]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x03]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x0f]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x0f]
+
+v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x08,0x00]
+
+v_mac_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x10,0x00]
+
+v_mac_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x20,0x00]
+
+v_mac_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x40,0x00]
+
+v_mac_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x80,0x00]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x06]
+
+v_add_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x4d,0x01,0x06,0x06,0x06]
+
+v_add_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0xff,0x06,0x06,0x06]
+
+v_add_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x86,0x06]
+
+v_add_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x65,0x06,0x86,0x06]
+
+v_add_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x66,0x06,0x86,0x06]
+
+v_add_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x67,0x06,0x86,0x06]
+
+v_add_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x6a,0x06,0x86,0x06]
+
+v_add_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x6b,0x06,0x86,0x06]
+
+v_add_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x7c,0x06,0x86,0x06]
+
+v_add_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x7e,0x06,0x86,0x06]
+
+v_add_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x7f,0x06,0x86,0x06]
+
+v_add_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x4c,0x01,0x06,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x26,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x00,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x01,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x02,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x03,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x04,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x05,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x0e,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x16,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x16,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x00,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x01,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x02,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x03,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x04,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x05,0x06]
+
+v_add_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x0e,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x06]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x00]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x01]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x02]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x03]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x04]
+
+v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x05]
+
+v_add_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x0e]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x00]
+
+v_add_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x4d,0x01,0xe4,0x00,0x00]
+
+v_add_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0xff,0xe4,0x00,0x00]
+
+v_add_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x4c,0x01,0xe4,0x00,0x00]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x1b,0x00,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x40,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x41,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x42,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x43,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x30,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x34,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x38,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x3c,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x01,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x0f,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x11,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x1f,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x21,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0x2f,0x01,0x00]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x10]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x30]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0xf0]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0xf0]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x01]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x03]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x0f]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x0f]
+
+v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x08,0x00]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x06]
+
+v_sub_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x4f,0x01,0x06,0x06,0x06]
+
+v_sub_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0xff,0x06,0x06,0x06]
+
+v_sub_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x86,0x06]
+
+v_sub_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x65,0x06,0x86,0x06]
+
+v_sub_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x66,0x06,0x86,0x06]
+
+v_sub_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x67,0x06,0x86,0x06]
+
+v_sub_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x6a,0x06,0x86,0x06]
+
+v_sub_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x6b,0x06,0x86,0x06]
+
+v_sub_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x7c,0x06,0x86,0x06]
+
+v_sub_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x7e,0x06,0x86,0x06]
+
+v_sub_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x7f,0x06,0x86,0x06]
+
+v_sub_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x4e,0x01,0x06,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x26,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x00,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x01,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x02,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x03,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x04,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x05,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x0e,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x16,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x16,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x00,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x01,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x02,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x03,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x04,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x05,0x06]
+
+v_sub_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x0e,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x06]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x00]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x01]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x02]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x03]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x04]
+
+v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x05]
+
+v_sub_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x0e]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x00]
+
+v_sub_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x4f,0x01,0xe4,0x00,0x00]
+
+v_sub_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0xff,0xe4,0x00,0x00]
+
+v_sub_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x4e,0x01,0xe4,0x00,0x00]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x1b,0x00,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x40,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x41,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x42,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x43,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x30,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x34,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x38,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x3c,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x01,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x0f,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x11,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x1f,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x21,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0x2f,0x01,0x00]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x10]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x30]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0xf0]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0xf0]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x01]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x03]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x0f]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x0f]
+
+v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x08,0x00]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x06]
+
+v_subrev_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x51,0x01,0x06,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0xff,0x06,0x06,0x06]
+
+v_subrev_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x86,0x06]
+
+v_subrev_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x65,0x06,0x86,0x06]
+
+v_subrev_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x66,0x06,0x86,0x06]
+
+v_subrev_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x67,0x06,0x86,0x06]
+
+v_subrev_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x6a,0x06,0x86,0x06]
+
+v_subrev_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x6b,0x06,0x86,0x06]
+
+v_subrev_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x7c,0x06,0x86,0x06]
+
+v_subrev_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x7e,0x06,0x86,0x06]
+
+v_subrev_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x7f,0x06,0x86,0x06]
+
+v_subrev_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x50,0x01,0x06,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x26,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x00,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x01,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x02,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x03,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x04,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x05,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x0e,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x16,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x16,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x00,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x01,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x02,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x03,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x04,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x05,0x06]
+
+v_subrev_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x0e,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x06]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x00]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x01]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x02]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x03]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x04]
+
+v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x05]
+
+v_subrev_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x0e]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x00]
+
+v_subrev_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x51,0x01,0xe4,0x00,0x00]
+
+v_subrev_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0xff,0xe4,0x00,0x00]
+
+v_subrev_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x50,0x01,0xe4,0x00,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x00,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x40,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x41,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x42,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x43,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x30,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x34,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x38,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x3c,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x01,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x0f,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x11,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x1f,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x21,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0x2f,0x01,0x00]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x10]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x30]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0xf0]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0xf0]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x01]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x03]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x0f]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x0f]
+
+v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x08,0x00]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x06]
+
+v_mul_lo_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x53,0x01,0x06,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0xff,0x06,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x86,0x06]
+
+v_mul_lo_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x65,0x06,0x86,0x06]
+
+v_mul_lo_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x66,0x06,0x86,0x06]
+
+v_mul_lo_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x67,0x06,0x86,0x06]
+
+v_mul_lo_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x6a,0x06,0x86,0x06]
+
+v_mul_lo_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x6b,0x06,0x86,0x06]
+
+v_mul_lo_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x7c,0x06,0x86,0x06]
+
+v_mul_lo_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x7e,0x06,0x86,0x06]
+
+v_mul_lo_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x7f,0x06,0x86,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x52,0x01,0x06,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x26,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x00,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x01,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x02,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x03,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x04,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x05,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x0e,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x16,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x16,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x00,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x01,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x02,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x03,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x04,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x05,0x06]
+
+v_mul_lo_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x0e,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x06]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x00]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x01]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x02]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x03]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x04]
+
+v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x05]
+
+v_mul_lo_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x0e]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x00]
+
+v_mul_lo_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x53,0x01,0xe4,0x00,0x00]
+
+v_mul_lo_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0xff,0xe4,0x00,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x52,0x01,0xe4,0x00,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x00,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x40,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x41,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x42,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x43,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x30,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x34,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x38,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x3c,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x01,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x0f,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x11,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x1f,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x21,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0x2f,0x01,0x00]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x10]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x30]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0xf0]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0xf0]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x01]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x03]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x0f]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x0f]
+
+v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x08,0x00]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x55,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0xff,0x06,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x86,0x06]
+
+v_lshlrev_b16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x65,0x06,0x86,0x06]
+
+v_lshlrev_b16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x66,0x06,0x86,0x06]
+
+v_lshlrev_b16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x67,0x06,0x86,0x06]
+
+v_lshlrev_b16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x6a,0x06,0x86,0x06]
+
+v_lshlrev_b16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x6b,0x06,0x86,0x06]
+
+v_lshlrev_b16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x7c,0x06,0x86,0x06]
+
+v_lshlrev_b16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x7e,0x06,0x86,0x06]
+
+v_lshlrev_b16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x7f,0x06,0x86,0x06]
+
+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 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x00,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x01,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x02,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x03,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x04,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x05,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x0e,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x16,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x16,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x00,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x01,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x02,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x03,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x04,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x05,0x06]
+
+v_lshlrev_b16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x0e,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x06]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x00]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x01]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x02]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x03]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x04]
+
+v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x05]
+
+v_lshlrev_b16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x0e]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x00]
+
+v_lshlrev_b16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x55,0x01,0xe4,0x00,0x00]
+
+v_lshlrev_b16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0xff,0xe4,0x00,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x54,0x01,0xe4,0x00,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x00,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x40,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x41,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x42,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x43,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x30,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x34,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x38,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x3c,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x01,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x0f,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x11,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x1f,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x21,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0x2f,0x01,0x00]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x10]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x30]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0xf0]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0xf0]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x01]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x03]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x0f]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x0f]
+
+v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x08,0x00]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x57,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0xff,0x06,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x86,0x06]
+
+v_lshrrev_b16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x65,0x06,0x86,0x06]
+
+v_lshrrev_b16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x66,0x06,0x86,0x06]
+
+v_lshrrev_b16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x67,0x06,0x86,0x06]
+
+v_lshrrev_b16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x6a,0x06,0x86,0x06]
+
+v_lshrrev_b16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x6b,0x06,0x86,0x06]
+
+v_lshrrev_b16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x7c,0x06,0x86,0x06]
+
+v_lshrrev_b16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x7e,0x06,0x86,0x06]
+
+v_lshrrev_b16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x7f,0x06,0x86,0x06]
+
+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 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x00,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x01,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x02,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x03,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x04,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x05,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x0e,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x16,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x16,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x00,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x01,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x02,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x03,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x04,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x05,0x06]
+
+v_lshrrev_b16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x0e,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x06]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x00]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x01]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x02]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x03]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x04]
+
+v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x05]
+
+v_lshrrev_b16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x0e]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x00]
+
+v_lshrrev_b16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x57,0x01,0xe4,0x00,0x00]
+
+v_lshrrev_b16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0xff,0xe4,0x00,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x56,0x01,0xe4,0x00,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x1b,0x00,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x40,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x41,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x42,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x43,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x30,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x34,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x38,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x3c,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x01,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x0f,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x11,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x1f,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x21,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0x2f,0x01,0x00]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x10]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x30]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0xf0]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0xf0]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x01]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x03]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x0f]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x0f]
+
+v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x08,0x00]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x59,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0xff,0x06,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x86,0x06]
+
+v_ashrrev_i16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x65,0x06,0x86,0x06]
+
+v_ashrrev_i16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x66,0x06,0x86,0x06]
+
+v_ashrrev_i16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x67,0x06,0x86,0x06]
+
+v_ashrrev_i16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x6a,0x06,0x86,0x06]
+
+v_ashrrev_i16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x6b,0x06,0x86,0x06]
+
+v_ashrrev_i16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x7c,0x06,0x86,0x06]
+
+v_ashrrev_i16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x7e,0x06,0x86,0x06]
+
+v_ashrrev_i16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x7f,0x06,0x86,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x58,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x26,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x00,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x01,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x02,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x03,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x04,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x05,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x0e,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x16,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x16,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x00,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x01,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x02,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x03,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x04,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x05,0x06]
+
+v_ashrrev_i16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x0e,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x06]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x00]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x01]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x02]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x03]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x04]
+
+v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x05]
+
+v_ashrrev_i16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x0e]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x00]
+
+v_ashrrev_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x59,0x01,0xe4,0x00,0x00]
+
+v_ashrrev_i16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0xff,0xe4,0x00,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x58,0x01,0xe4,0x00,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x1b,0x00,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x40,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x41,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x42,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x43,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x30,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x34,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x38,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x3c,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x01,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x0f,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x11,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x1f,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x21,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0x2f,0x01,0x00]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x10]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x30]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0xf0]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0xf0]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x01]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x03]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x0f]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x0f]
+
+v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x08,0x00]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x06]
+
+v_max_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x5b,0x01,0x06,0x06,0x06]
+
+v_max_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0xff,0x06,0x06,0x06]
+
+v_max_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x86,0x06]
+
+v_max_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x65,0x06,0x86,0x06]
+
+v_max_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x66,0x06,0x86,0x06]
+
+v_max_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x67,0x06,0x86,0x06]
+
+v_max_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x6a,0x06,0x86,0x06]
+
+v_max_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x6b,0x06,0x86,0x06]
+
+v_max_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x7c,0x06,0x86,0x06]
+
+v_max_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x7e,0x06,0x86,0x06]
+
+v_max_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x7f,0x06,0x86,0x06]
+
+v_max_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x5a,0x01,0x06,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x26,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x00,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x01,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x02,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x03,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x04,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x05,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x0e,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x16,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x16,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x00,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x01,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x02,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x03,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x04,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x05,0x06]
+
+v_max_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x16,0x06]
+
+v_max_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x26,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x06]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x00]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x01]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x02]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x03]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x04]
+
+v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x05]
+
+v_max_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x16]
+
+v_max_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x26]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x00]
+
+v_max_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x5b,0x01,0xe4,0x00,0x00]
+
+v_max_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0xff,0xe4,0x00,0x00]
+
+v_max_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x5a,0x01,0xe4,0x00,0x00]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x1b,0x00,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x40,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x41,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x42,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x43,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x30,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x34,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x38,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x3c,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x01,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x0f,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x11,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x1f,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x21,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0x2f,0x01,0x00]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x10]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x30]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0xf0]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0xf0]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x01]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x03]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x0f]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x0f]
+
+v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x08,0x00]
+
+v_max_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x10,0x00]
+
+v_max_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x20,0x00]
+
+v_max_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x40,0x00]
+
+v_max_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x80,0x00]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x06]
+
+v_min_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x5d,0x01,0x06,0x06,0x06]
+
+v_min_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0xff,0x06,0x06,0x06]
+
+v_min_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x86,0x06]
+
+v_min_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x65,0x06,0x86,0x06]
+
+v_min_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x66,0x06,0x86,0x06]
+
+v_min_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x67,0x06,0x86,0x06]
+
+v_min_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x6a,0x06,0x86,0x06]
+
+v_min_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x6b,0x06,0x86,0x06]
+
+v_min_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x7c,0x06,0x86,0x06]
+
+v_min_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x7e,0x06,0x86,0x06]
+
+v_min_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x7f,0x06,0x86,0x06]
+
+v_min_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x5c,0x01,0x06,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x26,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x00,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x01,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x02,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x03,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x04,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x05,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x0e,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x16,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x16,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x00,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x01,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x02,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x03,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x04,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x05,0x06]
+
+v_min_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x16,0x06]
+
+v_min_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x26,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x06]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x00]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x01]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x02]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x03]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x04]
+
+v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x05]
+
+v_min_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x16]
+
+v_min_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x26]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x00]
+
+v_min_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x5d,0x01,0xe4,0x00,0x00]
+
+v_min_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0xff,0xe4,0x00,0x00]
+
+v_min_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x5c,0x01,0xe4,0x00,0x00]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x1b,0x00,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x40,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x41,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x42,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x43,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x30,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x34,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x38,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x3c,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x01,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x0f,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x11,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x1f,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x21,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0x2f,0x01,0x00]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x10]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x30]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0xf0]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0xf0]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x01]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x03]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x0f]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x0f]
+
+v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x08,0x00]
+
+v_min_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x10,0x00]
+
+v_min_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x20,0x00]
+
+v_min_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x40,0x00]
+
+v_min_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x80,0x00]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x06]
+
+v_max_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x5f,0x01,0x06,0x06,0x06]
+
+v_max_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0xff,0x06,0x06,0x06]
+
+v_max_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x86,0x06]
+
+v_max_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x65,0x06,0x86,0x06]
+
+v_max_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x66,0x06,0x86,0x06]
+
+v_max_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x67,0x06,0x86,0x06]
+
+v_max_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x6a,0x06,0x86,0x06]
+
+v_max_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x6b,0x06,0x86,0x06]
+
+v_max_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x7c,0x06,0x86,0x06]
+
+v_max_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x7e,0x06,0x86,0x06]
+
+v_max_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x7f,0x06,0x86,0x06]
+
+v_max_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x5e,0x01,0x06,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x26,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x00,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x01,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x02,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x03,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x04,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x05,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x0e,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x16,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x16,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x00,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x01,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x02,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x03,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x04,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x05,0x06]
+
+v_max_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x0e,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x06]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x00]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x01]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x02]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x03]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x04]
+
+v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x05]
+
+v_max_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x0e]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x00]
+
+v_max_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x5f,0x01,0xe4,0x00,0x00]
+
+v_max_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0xff,0xe4,0x00,0x00]
+
+v_max_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x5e,0x01,0xe4,0x00,0x00]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x1b,0x00,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x40,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x41,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x42,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x43,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x30,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x34,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x38,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x3c,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x01,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x0f,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x11,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x1f,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x21,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0x2f,0x01,0x00]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x10]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x30]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0xf0]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0xf0]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x01]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x03]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x0f]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x0f]
+
+v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x08,0x00]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x06]
+
+v_max_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x61,0x01,0x06,0x06,0x06]
+
+v_max_i16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0xff,0x06,0x06,0x06]
+
+v_max_i16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x86,0x06]
+
+v_max_i16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x65,0x06,0x86,0x06]
+
+v_max_i16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x66,0x06,0x86,0x06]
+
+v_max_i16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x67,0x06,0x86,0x06]
+
+v_max_i16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x6a,0x06,0x86,0x06]
+
+v_max_i16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x6b,0x06,0x86,0x06]
+
+v_max_i16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x7c,0x06,0x86,0x06]
+
+v_max_i16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x7e,0x06,0x86,0x06]
+
+v_max_i16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x7f,0x06,0x86,0x06]
+
+v_max_i16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x60,0x01,0x06,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x26,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x00,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x01,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x02,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x03,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x04,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x05,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x0e,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x16,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x16,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x00,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x01,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x02,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x03,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x04,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x05,0x06]
+
+v_max_i16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x0e,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x06]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x00]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x01]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x02]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x03]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x04]
+
+v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x05]
+
+v_max_i16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x0e]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x00]
+
+v_max_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x61,0x01,0xe4,0x00,0x00]
+
+v_max_i16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0xff,0xe4,0x00,0x00]
+
+v_max_i16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x60,0x01,0xe4,0x00,0x00]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x1b,0x00,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x40,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x41,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x42,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x43,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x30,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x34,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x38,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x3c,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x01,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x0f,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x11,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x1f,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x21,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0x2f,0x01,0x00]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x10]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x30]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0xf0]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0xf0]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x01]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x03]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x0f]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x0f]
+
+v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x08,0x00]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x06]
+
+v_min_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x63,0x01,0x06,0x06,0x06]
+
+v_min_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0xff,0x06,0x06,0x06]
+
+v_min_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x86,0x06]
+
+v_min_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x65,0x06,0x86,0x06]
+
+v_min_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x66,0x06,0x86,0x06]
+
+v_min_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x67,0x06,0x86,0x06]
+
+v_min_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x6a,0x06,0x86,0x06]
+
+v_min_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x6b,0x06,0x86,0x06]
+
+v_min_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x7c,0x06,0x86,0x06]
+
+v_min_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x7e,0x06,0x86,0x06]
+
+v_min_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x7f,0x06,0x86,0x06]
+
+v_min_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x62,0x01,0x06,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x26,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x00,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x01,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x02,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x03,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x04,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x05,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x0e,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x16,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x16,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x00,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x01,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x02,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x03,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x04,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x05,0x06]
+
+v_min_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x0e,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x06]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x00]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x01]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x02]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x03]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x04]
+
+v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x05]
+
+v_min_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x0e]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x00]
+
+v_min_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x63,0x01,0xe4,0x00,0x00]
+
+v_min_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0xff,0xe4,0x00,0x00]
+
+v_min_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x62,0x01,0xe4,0x00,0x00]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x1b,0x00,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x40,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x41,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x42,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x43,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x30,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x34,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x38,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x3c,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x01,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x0f,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x11,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x1f,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x21,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0x2f,0x01,0x00]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x10]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x30]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0xf0]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0xf0]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x01]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x03]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x0f]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x0f]
+
+v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x08,0x00]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x06]
+
+v_min_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x65,0x01,0x06,0x06,0x06]
+
+v_min_i16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0xff,0x06,0x06,0x06]
+
+v_min_i16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x86,0x06]
+
+v_min_i16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x65,0x06,0x86,0x06]
+
+v_min_i16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x66,0x06,0x86,0x06]
+
+v_min_i16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x67,0x06,0x86,0x06]
+
+v_min_i16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x6a,0x06,0x86,0x06]
+
+v_min_i16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x6b,0x06,0x86,0x06]
+
+v_min_i16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x7c,0x06,0x86,0x06]
+
+v_min_i16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x7e,0x06,0x86,0x06]
+
+v_min_i16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x7f,0x06,0x86,0x06]
+
+v_min_i16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x64,0x01,0x06,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x26,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x00,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x01,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x02,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x03,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x04,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x05,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x0e,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x16,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x16,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x00,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x01,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x02,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x03,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x04,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x05,0x06]
+
+v_min_i16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x0e,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x06]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x00]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x01]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x02]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x03]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x04]
+
+v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x05]
+
+v_min_i16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x0e]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x00]
+
+v_min_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x65,0x01,0xe4,0x00,0x00]
+
+v_min_i16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0xff,0xe4,0x00,0x00]
+
+v_min_i16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x64,0x01,0xe4,0x00,0x00]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x1b,0x00,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x40,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x41,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x42,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x43,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x30,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x34,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x38,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x3c,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x01,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x0f,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x11,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x1f,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x21,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0x2f,0x01,0x00]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x10]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x30]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0xf0]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0xf0]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x01]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x03]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x0f]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x0f]
+
+v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x08,0x00]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x06]
+
+v_ldexp_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xfe,0x67,0x01,0x06,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0xff,0x06,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x86,0x06]
+
+v_ldexp_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x65,0x06,0x86,0x06]
+
+v_ldexp_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x66,0x06,0x86,0x06]
+
+v_ldexp_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x67,0x06,0x86,0x06]
+
+v_ldexp_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x6a,0x06,0x86,0x06]
+
+v_ldexp_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x6b,0x06,0x86,0x06]
+
+v_ldexp_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x7c,0x06,0x86,0x06]
+
+v_ldexp_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x7e,0x06,0x86,0x06]
+
+v_ldexp_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x7f,0x06,0x86,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x0b,0x66,0x01,0x06,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x26,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x00,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x01,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x02,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x03,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x04,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x05,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x0e,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x16,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x16,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x00,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x01,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x02,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x03,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x04,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x05,0x06]
+
+v_ldexp_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x16,0x06]
+
+v_ldexp_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x26,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x06]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x00]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x01]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x02]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x03]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x04]
+
+v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x05]
+
+v_ldexp_f16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x0e]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x00]
+
+v_ldexp_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0xfe,0x67,0x01,0xe4,0x00,0x00]
+
+v_ldexp_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0xff,0xe4,0x00,0x00]
+
+v_ldexp_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0xfe,0x0b,0x66,0x01,0xe4,0x00,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x1b,0x00,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x40,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x41,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x42,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x43,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x30,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x34,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x38,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x3c,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x01,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x0f,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x11,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x1f,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x21,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0x2f,0x01,0x00]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x10]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x30]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0xf0]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0xf0]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x01]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x03]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x0f]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x0f]
+
+v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x08,0x00]
+
+v_ldexp_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x10,0x00]
+
+v_ldexp_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x20,0x00]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_class_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_class_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_class_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_class_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x21,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_class_f32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x86,0x06,0x0e]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_class_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_class_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_class_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_class_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x23,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_class_f32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x86,0x06,0x0e]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_class_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_class_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_class_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_class_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x29,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_class_f16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x86,0x06,0x0e]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_class_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_class_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_class_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_class_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x2b,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_class_f16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x86,0x06,0x0e]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_f_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_f_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_f_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_f_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x41,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_f_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_f_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_lt_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_lt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_lt_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x43,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_lt_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_eq_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_eq_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_eq_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x45,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_eq_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_le_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_le_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_le_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_le_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x47,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_le_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_le_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_gt_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_gt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_gt_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x49,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_gt_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lg_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_lg_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_lg_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_lg_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x4b,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_lg_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_ge_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_ge_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_ge_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x4d,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_ge_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_o_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_o_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_o_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_o_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x4f,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_o_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_o_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_u_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_u_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_u_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_u_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x51,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_u_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_u_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nge_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_nge_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_nge_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_nge_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x53,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_nge_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlg_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_nlg_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_nlg_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_nlg_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x55,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_nlg_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ngt_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_ngt_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_ngt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_ngt_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x57,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_ngt_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nle_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_nle_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_nle_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_nle_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x59,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_nle_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_neq_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_neq_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_neq_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_neq_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x5b,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_neq_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlt_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_nlt_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_nlt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_nlt_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x5d,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_nlt_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_tru_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_tru_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_tru_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_tru_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x5f,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_tru_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_f_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_f_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_f_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x61,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_f_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_lt_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_lt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_lt_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x63,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_lt_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_eq_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_eq_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_eq_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x65,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_eq_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_le_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_le_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_le_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x67,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_le_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_gt_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_gt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_gt_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x69,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_gt_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lg_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_lg_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_lg_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_lg_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x6b,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_lg_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_ge_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ge_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ge_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x6d,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_ge_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_o_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_o_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_o_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_o_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x6f,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_o_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_u_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_u_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_u_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_u_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x71,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_u_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nge_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_nge_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_nge_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_nge_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x73,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_nge_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlg_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_nlg_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_nlg_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_nlg_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x75,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_nlg_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ngt_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_ngt_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ngt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ngt_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x77,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_ngt_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nle_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_nle_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_nle_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_nle_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x79,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_nle_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_neq_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_neq_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_neq_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_neq_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x7b,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_neq_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlt_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_nlt_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_nlt_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_nlt_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x7d,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_nlt_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_tru_f16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_tru_f16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_tru_f16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_tru_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x7f,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_tru_f16_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_f_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_f_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_f_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_f_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x81,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_f_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_f_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_lt_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_lt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_lt_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x83,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_lt_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_eq_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_eq_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_eq_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x85,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_eq_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_le_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_le_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_le_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_le_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x87,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_le_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_le_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_gt_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_gt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_gt_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x89,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_gt_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lg_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_lg_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_lg_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_lg_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x8b,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_lg_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_ge_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_ge_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_ge_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x8d,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_ge_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_o_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_o_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_o_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_o_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x8f,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_o_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_o_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_u_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_u_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_u_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_u_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x91,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_u_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_u_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nge_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_nge_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_nge_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_nge_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x93,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_nge_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlg_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_nlg_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_nlg_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_nlg_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x95,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_nlg_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ngt_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_ngt_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_ngt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_ngt_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x97,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_ngt_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nle_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_nle_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_nle_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_nle_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x99,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_nle_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_neq_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_neq_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_neq_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_neq_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x9b,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_neq_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlt_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_nlt_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_nlt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_nlt_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x9d,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_nlt_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_tru_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmp_tru_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmp_tru_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmp_tru_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x9f,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmp_tru_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_f_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_f_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_f_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa1,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_f_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_lt_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_lt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_lt_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa3,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_lt_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_eq_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_eq_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_eq_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa5,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_eq_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_le_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_le_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_le_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa7,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_le_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_gt_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_gt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_gt_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa9,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_gt_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lg_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_lg_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_lg_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_lg_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xab,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_lg_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_ge_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ge_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ge_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xad,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_ge_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_o_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_o_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_o_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_o_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xaf,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_o_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_u_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_u_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_u_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_u_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb1,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_u_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nge_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_nge_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_nge_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_nge_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb3,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_nge_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlg_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_nlg_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_nlg_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_nlg_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb5,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_nlg_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ngt_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_ngt_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ngt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ngt_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb7,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_ngt_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nle_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_nle_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_nle_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_nle_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb9,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_nle_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_neq_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_neq_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_neq_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_neq_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xbb,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_neq_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlt_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_nlt_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_nlt_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_nlt_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xbd,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_nlt_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_tru_f32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x88,0x06,0x06]
+
+v_cmpx_tru_f32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0xe4,0x06,0x06]
+
+v_cmpx_tru_f32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0xe6,0x06,0x06]
+
+v_cmpx_tru_f32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x00,0x06,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0xff,0x86,0x06,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x86,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x65,0x86,0x86,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x66,0x86,0x86,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x67,0x86,0x86,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x6a,0x86,0x86,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x6b,0x86,0x86,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x7c,0x86,0x86,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x7e,0x86,0x86,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x7f,0x86,0x86,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xbf,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x00,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x01,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x02,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x03,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x04,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x05,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], -v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x16,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], |v1|, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x26,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x06]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x00]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x01]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x02]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x03]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x04]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x05]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, -v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x16]
+
+v_cmpx_tru_f32_sdwa s[6:7], v1, |v2| src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7c,0x01,0x86,0x06,0x26]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_f_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_f_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_f_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x41,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_f_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_lt_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_lt_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_lt_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x43,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_lt_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_eq_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_eq_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_eq_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x45,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_eq_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_le_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_le_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_le_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x47,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_le_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_gt_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_gt_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_gt_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x49,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_gt_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_ne_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_ne_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_ne_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x4b,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_ne_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_ge_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_ge_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_ge_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x4d,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_ge_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_t_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_t_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_t_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x4f,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_t_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_f_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_f_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_f_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x51,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_f_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_lt_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_lt_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_lt_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x53,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_lt_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_eq_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_eq_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_eq_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x55,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_eq_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_le_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_le_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_le_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x57,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_le_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_gt_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_gt_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_gt_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x59,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_gt_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_ne_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_ne_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_ne_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x5b,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_ne_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_ge_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_ge_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_ge_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x5d,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_ge_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_t_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_t_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_t_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x5f,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_t_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_f_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_f_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_f_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x61,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_f_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_lt_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_lt_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_lt_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x63,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_lt_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_eq_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_eq_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_eq_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x65,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_eq_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_le_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_le_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_le_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x67,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_le_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_gt_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_gt_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_gt_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x69,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_gt_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_ne_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ne_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ne_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x6b,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_ne_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_ge_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ge_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ge_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x6d,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_ge_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_i16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_t_i16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_t_i16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_t_i16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x6f,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_t_i16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_f_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_f_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_f_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x71,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_f_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_lt_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_lt_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_lt_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x73,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_lt_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_eq_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_eq_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_eq_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x75,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_eq_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_le_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_le_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_le_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x77,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_le_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_gt_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_gt_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_gt_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x79,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_gt_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_ne_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ne_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ne_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x7b,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_ne_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_ge_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ge_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ge_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x7d,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_ge_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_u16_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_t_u16_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_t_u16_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_t_u16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x7f,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_t_u16_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_f_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_f_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_f_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x81,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_f_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_lt_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_lt_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_lt_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x83,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_lt_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_eq_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_eq_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_eq_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x85,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_eq_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_le_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_le_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_le_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x87,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_le_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_gt_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_gt_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_gt_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x89,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_gt_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_ne_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_ne_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_ne_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x8b,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_ne_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_ge_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_ge_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_ge_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x8d,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_ge_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_t_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_t_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_t_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x8f,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_t_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_f_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_f_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_f_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x91,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_f_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_lt_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_lt_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_lt_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x93,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_lt_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_eq_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_eq_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_eq_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x95,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_eq_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_le_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_le_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_le_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x97,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_le_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_gt_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_gt_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_gt_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x99,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_gt_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_ne_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_ne_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_ne_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x9b,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_ne_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_ge_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_ge_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_ge_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x9d,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_ge_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmp_t_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmp_t_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmp_t_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0x9f,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmp_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmp_t_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_f_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_f_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_f_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa1,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_f_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_lt_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_lt_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_lt_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa3,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_lt_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_eq_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_eq_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_eq_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa5,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_eq_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_le_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_le_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_le_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa7,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_le_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_gt_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_gt_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_gt_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xa9,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_gt_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_ne_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ne_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ne_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xab,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_ne_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_ge_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ge_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ge_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xad,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_ge_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_i32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_t_i32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_t_i32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_t_i32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xaf,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_t_i32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_f_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_f_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_f_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb1,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_f_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_lt_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_lt_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_lt_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb3,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_lt_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_eq_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_eq_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_eq_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb5,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_eq_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_le_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_le_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_le_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb7,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_le_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_gt_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_gt_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_gt_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xb9,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_gt_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_ne_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ne_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ne_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xbb,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_ne_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_ge_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_ge_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_ge_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xbd,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x05]
+
+v_cmpx_ge_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x86,0x06,0x0e]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_u32_sdwa s[8:9], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x88,0x06,0x06]
+
+v_cmpx_t_u32_sdwa s[100:101], v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0xe4,0x06,0x06]
+
+v_cmpx_t_u32_sdwa flat_scratch, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0xe6,0x06,0x06]
+
+v_cmpx_t_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x00,0x06,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v255, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0xff,0x86,0x06,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], s1, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x86,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], s101, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x65,0x86,0x86,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], flat_scratch_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x66,0x86,0x86,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], flat_scratch_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x67,0x86,0x86,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], vcc_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x6a,0x86,0x86,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], vcc_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x6b,0x86,0x86,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], m0, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x7c,0x86,0x86,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], exec_lo, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x7e,0x86,0x86,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], exec_hi, v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x7f,0x86,0x86,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v255 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0xfe,0xbf,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x00,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x01,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_2 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x02,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:BYTE_3 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x03,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_0 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x04,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:WORD_1 src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x05,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], sext(v1), v2 src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x0e,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x06]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_0
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x00]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_1
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x01]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_2
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x02]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:BYTE_3
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x03]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_0
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x04]
+
+v_cmpx_t_u32_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:WORD_1
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x05]
-v_cmpx_t_u64_e64 s[10:11], s[4:5], v[254:255]
-// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0xfc,0x03,0x00]
+v_cmpx_t_u32_sdwa s[6:7], v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
+// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x86,0x06,0x0e]
diff --git a/test/MC/AMDGPU/mtbuf.s b/test/MC/AMDGPU/mtbuf.s
new file mode 100644
index 000000000000..9c8d71589bd0
--- /dev/null
+++ b/test/MC/AMDGPU/mtbuf.s
@@ -0,0 +1,36 @@
+// RUN: llvm-mc -arch=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck -check-prefix=GCN -check-prefix=SI -check-prefix=SICI %s
+// RUN: llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck -check-prefix=GCN -check-prefix=CI -check-prefix=SICI %s
+// RUN: llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck -check-prefix=GCN -check-prefix=VI %s
+
+//===----------------------------------------------------------------------===//
+// Test for dfmt and nfmt (tbuffer only)
+//===----------------------------------------------------------------------===//
+
+tbuffer_load_format_x v1, off, s[4:7], dfmt:15, nfmt:2, s1
+// SICI: tbuffer_load_format_x v1, off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x78,0xe9,0x00,0x01,0x01,0x01]
+// VI: tbuffer_load_format_x v1, off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x78,0xe9,0x00,0x01,0x01,0x01]
+
+tbuffer_load_format_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
+// SICI: tbuffer_load_format_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x79,0xe9,0x00,0x01,0x01,0x01]
+// VI: tbuffer_load_format_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x80,0x78,0xe9,0x00,0x01,0x01,0x01]
+
+tbuffer_load_format_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1
+// SICI: tbuffer_load_format_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x7b,0xe9,0x00,0x01,0x01,0x01]
+// VI: tbuffer_load_format_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x80,0x79,0xe9,0x00,0x01,0x01,0x01]
+
+tbuffer_store_format_x v1, off, s[4:7], dfmt:15, nfmt:2, s1
+// SICI: tbuffer_store_format_x v1, off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x7c,0xe9,0x00,0x01,0x01,0x01]
+// VI: tbuffer_store_format_x v1, off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x7a,0xe9,0x00,0x01,0x01,0x01]
+
+tbuffer_store_format_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
+// SICI: tbuffer_store_format_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x7d,0xe9,0x00,0x01,0x01,0x01]
+// VI: tbuffer_store_format_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x80,0x7a,0xe9,0x00,0x01,0x01,0x01]
+
+tbuffer_store_format_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1
+// SICI: tbuffer_store_format_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x7f,0xe9,0x00,0x01,0x01,0x01]
+// VI: tbuffer_store_format_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x80,0x7b,0xe9,0x00,0x01,0x01,0x01]
+
+tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], dfmt:15, nfmt:2, ttmp1
+// SICI: tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], dfmt:15, nfmt:2, ttmp1 ; encoding: [0x00,0x00,0x7f,0xe9,0x00,0x01,0x1d,0x71]
+// VI: tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], dfmt:15, nfmt:2, ttmp1 ; encoding: [0x00,0x80,0x7b,0xe9,0x00,0x01,0x1d,0x71]
+
diff --git a/test/MC/AMDGPU/regression/bug28168.s b/test/MC/AMDGPU/regression/bug28168.s
index e836a3f96a90..7d1383c4c7ef 100644
--- a/test/MC/AMDGPU/regression/bug28168.s
+++ b/test/MC/AMDGPU/regression/bug28168.s
@@ -1,10 +1,10 @@
// RUN: llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=SICI --check-prefix=CI
// RUN: llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=CIVI --check-prefix=VI
-v_mqsad_pk_u16_u8 v[0:1], s[0:1], 1, v[254:255]
-// CI: [0x00,0x00,0xe6,0xd2,0x00,0x02,0xf9,0x07]
-// VI: [0x00,0x00,0xe6,0xd1,0x00,0x02,0xf9,0x07]
+v_mqsad_pk_u16_u8 v[2:3], s[0:1], 1, v[254:255]
+// CI: [0x02,0x00,0xe6,0xd2,0x00,0x02,0xf9,0x07]
+// VI: [0x02,0x00,0xe6,0xd1,0x00,0x02,0xf9,0x07]
-v_qsad_pk_u16_u8 v[0:1], v[0:1], 1, s[0:1]
-// CI: [0x00,0x00,0xe4,0xd2,0x00,0x03,0x01,0x00]
-// VI: [0x00,0x00,0xe5,0xd1,0x00,0x03,0x01,0x00]
+v_qsad_pk_u16_u8 v[2:3], v[0:1], 1, s[0:1]
+// CI: [0x02,0x00,0xe4,0xd2,0x00,0x03,0x01,0x00]
+// VI: [0x02,0x00,0xe5,0xd1,0x00,0x03,0x01,0x00]
diff --git a/test/MC/AMDGPU/vop3-errs.s b/test/MC/AMDGPU/vop3-errs.s
index 9e8321409b1a..7ba577049af3 100644
--- a/test/MC/AMDGPU/vop3-errs.s
+++ b/test/MC/AMDGPU/vop3-errs.s
@@ -9,3 +9,27 @@ v_div_scale_f32 v24, vcc, v22, 1.1, v22
v_mqsad_u32_u8 v[0:3], s[2:3], v4, v[0:3]
// CHECK: error: instruction not supported on this GPU
+
+v_mqsad_pk_u16_u8 v[0:1], v[1:2], v9, v[4:5]
+// CHECK: error: destination must be different than all sources
+
+v_mqsad_pk_u16_u8 v[1:2], v[1:2], v9, v[4:5]
+// CHECK: error: destination must be different than all sources
+
+v_mqsad_pk_u16_u8 v[2:3], v[1:2], v9, v[4:5]
+// CHECK: error: destination must be different than all sources
+
+v_mqsad_pk_u16_u8 v[3:4], v[0:1], v9, v[4:5]
+// CHECK: error: destination must be different than all sources
+
+v_mqsad_pk_u16_u8 v[4:5], v[1:2], v9, v[4:5]
+// CHECK: error: destination must be different than all sources
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], v9, v[4:5]
+// CHECK: error: destination must be different than all sources
+
+v_mqsad_pk_u16_u8 v[8:9], v[1:2], v9, v[4:5]
+// CHECK: error: destination must be different than all sources
+
+v_mqsad_pk_u16_u8 v[9:10], v[1:2], v9, v[4:5]
+// CHECK: error: destination must be different than all sources
diff --git a/test/MC/AMDGPU/vop3.s b/test/MC/AMDGPU/vop3.s
index 98cc9cc35bc7..6497a7972f0a 100644
--- a/test/MC/AMDGPU/vop3.s
+++ b/test/MC/AMDGPU/vop3.s
@@ -385,9 +385,9 @@ v_mad_f32 v9, 0.5, v5, -v8
// SICI: v_mad_f32 v9, 0.5, v5, -v8 ; encoding: [0x09,0x00,0x82,0xd2,0xf0,0x0a,0x22,0x84]
// VI: v_mad_f32 v9, 0.5, v5, -v8 ; encoding: [0x09,0x00,0xc1,0xd1,0xf0,0x0a,0x22,0x84]
-v_mqsad_u32_u8 v[0:3], s[2:3], v4, v[0:3]
-// CI: v_mqsad_u32_u8 v[0:3], s[2:3], v4, v[0:3] ; encoding: [0x00,0x00,0xea,0xd2,0x02,0x08,0x02,0x04]
-// VI: v_mqsad_u32_u8 v[0:3], s[2:3], v4, v[0:3] ; encoding: [0x00,0x00,0xe7,0xd1,0x02,0x08,0x02,0x04]
+v_mqsad_u32_u8 v[5:8], s[2:3], v4, v[0:3]
+// CI: v_mqsad_u32_u8 v[5:8], s[2:3], v4, v[0:3] ; encoding: [0x05,0x00,0xea,0xd2,0x02,0x08,0x02,0x04]
+// VI: v_mqsad_u32_u8 v[5:8], s[2:3], v4, v[0:3] ; encoding: [0x05,0x00,0xe7,0xd1,0x02,0x08,0x02,0x04]
// NOSI: error: instruction not supported on this GPU
v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0
diff --git a/test/MC/ARM/basic-thumb2-instructions.s b/test/MC/ARM/basic-thumb2-instructions.s
index af1b6289755e..b1cb53cdace7 100644
--- a/test/MC/ARM/basic-thumb2-instructions.s
+++ b/test/MC/ARM/basic-thumb2-instructions.s
@@ -1497,13 +1497,21 @@ _func:
@ MOV(shifted register)
@------------------------------------------------------------------------------
mov r6, r2, lsl #16
+ mov.w r6, r2, lsl #16
mov r6, r2, lsr #16
+ mov.w r6, r2, lsr #16
movs r6, r2, asr #32
+ movs.w r6, r2, asr #32
movs r6, r2, ror #5
+ movs.w r6, r2, ror #5
movs r4, r4, lsl r5
+ movs.w r4, r4, lsl r5
movs r4, r4, lsr r5
+ movs.w r4, r4, lsr r5
movs r4, r4, asr r5
+ movs.w r4, r4, asr r5
movs r4, r4, ror r5
+ movs.w r4, r4, ror r5
mov r4, r4, lsl r5
movs r4, r4, ror r8
movs r4, r5, lsr r6
@@ -1515,13 +1523,21 @@ _func:
mov r4, r4, rrx
@ CHECK: lsl.w r6, r2, #16 @ encoding: [0x4f,0xea,0x02,0x46]
+@ CHECK: lsl.w r6, r2, #16 @ encoding: [0x4f,0xea,0x02,0x46]
+@ CHECK: lsr.w r6, r2, #16 @ encoding: [0x4f,0xea,0x12,0x46]
@ CHECK: lsr.w r6, r2, #16 @ encoding: [0x4f,0xea,0x12,0x46]
@ CHECK: asrs r6, r2, #32 @ encoding: [0x16,0x10]
+@ CHECK: asrs.w r6, r2, #32 @ encoding: [0x5f,0xea,0x22,0x06]
+@ CHECK: rors.w r6, r2, #5 @ encoding: [0x5f,0xea,0x72,0x16]
@ CHECK: rors.w r6, r2, #5 @ encoding: [0x5f,0xea,0x72,0x16]
@ CHECK: lsls r4, r5 @ encoding: [0xac,0x40]
+@ CHECK: lsls.w r4, r4, r5 @ encoding: [0x14,0xfa,0x05,0xf4]
@ CHECK: lsrs r4, r5 @ encoding: [0xec,0x40]
+@ CHECK: lsrs.w r4, r4, r5 @ encoding: [0x34,0xfa,0x05,0xf4]
@ CHECK: asrs r4, r5 @ encoding: [0x2c,0x41]
+@ CHECK: asrs.w r4, r4, r5 @ encoding: [0x54,0xfa,0x05,0xf4]
@ CHECK: rors r4, r5 @ encoding: [0xec,0x41]
+@ CHECK: rors.w r4, r4, r5 @ encoding: [0x74,0xfa,0x05,0xf4]
@ CHECK: lsl.w r4, r4, r5 @ encoding: [0x04,0xfa,0x05,0xf4]
@ CHECK: rors.w r4, r4, r8 @ encoding: [0x74,0xfa,0x08,0xf4]
@ CHECK: lsrs.w r4, r5, r6 @ encoding: [0x35,0xfa,0x06,0xf4]
diff --git a/test/MC/ARM/elf-movt.s b/test/MC/ARM/elf-movt.s
index 9b46cafe3fb0..9df7a603b71a 100644
--- a/test/MC/ARM/elf-movt.s
+++ b/test/MC/ARM/elf-movt.s
@@ -1,6 +1,9 @@
@ RUN: llvm-mc %s -triple=armv7-linux-gnueabi | FileCheck -check-prefix=ASM %s
-@ RUN: llvm-mc %s -triple=armv7-linux-gnueabi -filetype=obj -o - | \
-@ RUN: llvm-readobj -s -sd -sr | FileCheck -check-prefix=OBJ %s
+@ RUN: llvm-mc %s -triple=armv7-linux-gnueabi -filetype=obj -o %t.o
+@ RUN: llvm-objdump -d -r %t.o -triple=armv7-linux-gnueabi | FileCheck -check-prefix=OBJ %s
+@ RUN: llvm-mc %s -triple=thumbv7-linux-gnueabi -filetype=obj -o %t.o
+@ RUN: llvm-objdump -d -r %t.o -triple=thumbv7-linux-gnueabi | FileCheck -check-prefix=THUMB %s
+
.syntax unified
.text
.globl barf
@@ -14,41 +17,16 @@ barf: @ @barf
@ ASM: movw r0, :lower16:(GOT-(.LPC0_2+8))
@ ASM-NEXT: movt r0, :upper16:(GOT-(.LPC0_2+8))
-@@ make sure that the text section fixups are sane too
-@ OBJ: Section {
-@ OBJ: Name: .text
-@ OBJ-NEXT: Type: SHT_PROGBITS
-@ OBJ-NEXT: Flags [ (0x6)
-@ OBJ-NEXT: SHF_ALLOC
-@ OBJ-NEXT: SHF_EXECINSTR
-@ OBJ-NEXT: ]
-@ OBJ-NEXT: Address: 0x0
-@ OBJ-NEXT: Offset: 0x34
-@ OBJ-NEXT: Size: 8
-@ OBJ-NEXT: Link: 0
-@ OBJ-NEXT: Info: 0
-@ OBJ-NEXT: AddressAlignment: 4
-@ OBJ-NEXT: EntrySize: 0
-@ OBJ-NEXT: Relocations [
-@ OBJ-NEXT: ]
-@ OBJ-NEXT: SectionData (
-@ OBJ-NEXT: 0000: F00F0FE3 F40F4FE3
-@ OBJ-NEXT: )
-@ OBJ-NEXT: }
-@ OBJ: Section {
-@ OBJ: Index:
-@ OBJ: Name: .rel.text
-@ OBJ-NEXT: Type: SHT_REL (0x9)
-@ OBJ-NEXT: Flags [ (0x0)
-@ OBJ-NEXT: ]
-@ OBJ-NEXT: Address: 0x0
-@ OBJ-NEXT: Offset:
-@ OBJ-NEXT: Size: 16
-@ OBJ-NEXT: Link:
-@ OBJ-NEXT: Info:
-@ OBJ-NEXT: AddressAlignment: 4
-@ OBJ-NEXT: EntrySize: 8
-@ OBJ-NEXT: Relocations [
-@ OBJ-NEXT: 0x0 R_ARM_MOVW_PREL_NC GOT 0x0
-@ OBJ-NEXT: 0x4 R_ARM_MOVT_PREL GOT 0x0
-@ OBJ-NEXT: ]
+@OBJ: Disassembly of section .text:
+@OBJ-NEXT: barf:
+@OBJ-NEXT: 0: f0 0f 0f e3 movw r0, #65520
+@OBJ-NEXT: 00000000: R_ARM_MOVW_PREL_NC GOT
+@OBJ-NEXT: 4: f4 0f 4f e3 movt r0, #65524
+@OBJ-NEXT: 00000004: R_ARM_MOVT_PREL GOT
+
+@THUMB: Disassembly of section .text:
+@THUMB-NEXT: barf:
+@THUMB-NEXT: 0: 4f f6 f0 70 movw r0, #65520
+@THUMB-NEXT: 00000000: R_ARM_THM_MOVW_PREL_NC GOT
+@THUMB-NEXT: 4: cf f6 f4 70 movt r0, #65524
+@THUMB-NEXT: 00000004: R_ARM_THM_MOVT_PREL GOT
diff --git a/test/MC/ARM/thumb-branches.s b/test/MC/ARM/thumb-branches.s
index b4cdfa12a556..977df4619c4d 100644
--- a/test/MC/ARM/thumb-branches.s
+++ b/test/MC/ARM/thumb-branches.s
@@ -1,25 +1,43 @@
-@ RUN: llvm-mc < %s -triple thumbv5-linux-gnueabi -filetype=obj -o - \
-@ RUN: | llvm-readobj -r | FileCheck %s
+@ RUN: not llvm-mc %s -triple thumbv5-linux-gnueabi -filetype=obj -o /dev/null 2>&1 | FileCheck %s
+ .code 16
bl end
- .space 0x3fffff
+ .space 0x1ffffff
end:
bl end2
- .space 0x3fffff
+ .space 0x1ffffff
.global end2
end2:
bl end3
- .space 0x400000
+ .space 0x2000000
.global end3
end3:
+// CHECK-NOT: error
+// CHECK: [[@LINE+1]]:{{[0-9]}}: error: Relocation out of range
bl end4
- .space 0x400000
+// CHECK-NOT: error
+ .space 0x2000000
end4:
-@ CHECK: 0x400003 R_ARM_THM_CALL end2 0x0
-@ CHECK: 0x800006 R_ARM_THM_CALL end3 0x0
-@ CHECK: 0xC0000A R_ARM_THM_CALL end4 0x0
+start1:
+ .space 0x1fffffc
+ bl start1
+
+ .global start2
+start2:
+ .space 0x1fffffc
+ bl start2
+
+ .global start3
+start3:
+ .space 0x1fffffd
+ bl start3
+
+start4:
+ .space 0x1fffffd
+// CHECK: [[@LINE+1]]:{{[0-9]}}: error: Relocation out of range
+ bl start4
diff --git a/test/MC/ARM/thumb2-beq-fixup.s b/test/MC/ARM/thumb2-beq-fixup.s
new file mode 100644
index 000000000000..e6d43e8fed96
--- /dev/null
+++ b/test/MC/ARM/thumb2-beq-fixup.s
@@ -0,0 +1,39 @@
+@ RUN: llvm-mc < %s -triple armv7-linux-gnueabi -filetype=obj -o - \
+@ RUN: | llvm-readobj -r | FileCheck %s
+
+ .code 16
+ .thumb_func
+thumb_caller:
+ beq.w internal_arm_fn
+ beq.w global_arm_fn
+ beq.w global_thumb_fn
+ beq.w internal_thumb_fn
+
+ .type internal_arm_fn,%function
+ .code 32
+internal_arm_fn:
+ bx lr
+
+ .globl global_arm_fn
+ .type global_arm_fn,%function
+ .code 32
+global_arm_fn:
+ bx lr
+
+ .type internal_thumb_fn,%function
+ .code 16
+ .thumb_func
+internal_thumb_fn:
+ bx lr
+
+ .globl global_thumb_fn
+ .type global_thumb_fn,%function
+ .code 16
+ .thumb_func
+global_thumb_fn:
+ bx lr
+
+@ CHECK: Section (3) .rel.text
+@ CHECK-NEXT: 0x0 R_ARM_THM_JUMP19 internal_arm_fn 0x0
+@ CHECK-NEXT: 0x4 R_ARM_THM_JUMP19 global_arm_fn 0x0
+@ CHECK-NEXT: }
diff --git a/test/MC/AsmParser/negativ_altmacro_expression.s b/test/MC/AsmParser/negativ_altmacro_expression.s
index edcc9c998699..fabf46c47ef1 100644
--- a/test/MC/AsmParser/negativ_altmacro_expression.s
+++ b/test/MC/AsmParser/negativ_altmacro_expression.s
@@ -4,7 +4,7 @@
# In this test we check the '.noaltmacro' directive.
# We expect that '.altmacro' and '.noaltmacro' will act as a switch on/off directives to the alternate macro mode.
# .noaltmacro returns the format into a regular macro handling.
-# The defult mode is ".noaltmacro" as first test checks.
+# The default mode is ".noaltmacro" as first test checks.
# CHECK: error: unknown token in expression
# CHECK-NEXT: addl $%(1%4), %eax
diff --git a/test/MC/COFF/bad-expr.s b/test/MC/COFF/bad-expr.s
index 9a212d988cc3..ecbdd415c3a6 100644
--- a/test/MC/COFF/bad-expr.s
+++ b/test/MC/COFF/bad-expr.s
@@ -1,9 +1,7 @@
// RUN: not llvm-mc -filetype=obj -triple i386-pc-win32 %s 2>&1 | FileCheck %s
// CHECK: symbol '__ImageBase' can not be undefined in a subtraction expression
-// CHECK: symbol '__ImageBase' can not be undefined in a subtraction expression
.data
_x:
.long _x-__ImageBase
- .long __ImageBase-_x
diff --git a/test/MC/COFF/cross-section-relative-err.s b/test/MC/COFF/cross-section-relative-err.s
new file mode 100644
index 000000000000..e237f60e9a36
--- /dev/null
+++ b/test/MC/COFF/cross-section-relative-err.s
@@ -0,0 +1,12 @@
+// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-win32 %s -o /dev/null 2>&1 | FileCheck %s
+
+
+// CHECK: [[@LINE+1]]:{{[0-9]+}}: error: Cannot represent this expression
+ .byte foo - .
+
+// CHECK: [[@LINE+1]]:{{[0-9]+}}: error: Cannot represent this expression
+ .short foo - .
+
+// CHECK: [[@LINE+1]]:{{[0-9]+}}: error: Cannot represent this expression
+ .quad foo - .
+
diff --git a/test/MC/COFF/cross-section-relative.s b/test/MC/COFF/cross-section-relative.s
index dd94b0a5e83a..6f172922e9b8 100644
--- a/test/MC/COFF/cross-section-relative.s
+++ b/test/MC/COFF/cross-section-relative.s
@@ -27,17 +27,14 @@ g4:
.globl t1 # @t1
.align 8
t1:
- .quad (g3-t1)+4
.globl t2 # @t2
.align 8
t2:
- .quad g3-t2
.globl t3 # @t3
.align 8
t3:
- .quad (g3-t3)-4
.globl t4 # @t4
.align 4
@@ -58,61 +55,53 @@ t6:
.long g3-(t6+16)
.zero 4
+.long foobar - .
-// READOBJ: Section {
-// READOBJ: Number: 5
-// READOBJ: Name: .fix (2E 66 69 78 00 00 00 00)
-// READOBJ: VirtualSize: 0x0
-// READOBJ: VirtualAddress: 0x0
-// READOBJ: RawDataSize: 56
-// READOBJ: PointerToRawData: 0xEC
-// READOBJ: PointerToRelocations: 0x124
-// READOBJ: PointerToLineNumbers: 0x0
-// READOBJ: RelocationCount: 6
-// READOBJ: LineNumberCount: 0
-// READOBJ: Characteristics [ (0xC0500040)
-// READOBJ: IMAGE_SCN_ALIGN_16BYTES (0x500000)
-// READOBJ: IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
-// READOBJ: IMAGE_SCN_MEM_READ (0x40000000)
-// READOBJ: IMAGE_SCN_MEM_WRITE (0x80000000)
-// READOBJ: ]
-// READOBJ: SectionData (
-// READOBJ: 0000: 10000000 00000000 0C000000 00000000 |................|
-// READOBJ: 0010: 08000000 00000000 0C000000 00000000 |................|
-// READOBJ: 0020: 01020000 00000000 00010000 00000000 |................|
-// READOBJ: 0030: 0C000000 00000000 |........|
-// READOBJ: )
-// READOBJ: }
-// READOBJ: ]
-// READOBJ: Relocations [
-// READOBJ: Section (5) .fix {
-// READOBJ: Relocation {
-// READOBJ: Offset: 0x0
-// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
-// READOBJ: Symbol: .rdata
-// READOBJ: }
-// READOBJ: Relocation {
-// READOBJ: Offset: 0x8
-// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
-// READOBJ: Symbol: .rdata
-// READOBJ: }
-// READOBJ: Relocation {
-// READOBJ: Offset: 0x10
-// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
-// READOBJ: Symbol: .rdata
-// READOBJ: }
-// READOBJ: Relocation {
-// READOBJ: Offset: 0x18
-// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
-// READOBJ: Symbol: .rdata
-// READOBJ: }
-// READOBJ: Relocation {
-// READOBJ: Offset: 0x1C
-// READOBJ: Type: IMAGE_REL_AMD64_ADDR32NB (3)
-// READOBJ: Symbol: g3
-// READOBJ: }
-// READOBJ: Relocation {
-// READOBJ: Offset: 0x30
-// READOBJ: Type: IMAGE_REL_AMD64_REL32 (4)
-// READOBJ: Symbol: .rdata
-// READOBJ: }
+// READOBJ: Section {
+// READOBJ: Number:
+// READOBJ: Name: .fix (2E 66 69 78 00 00 00 00)
+// READOBJ-NEXT: VirtualSize: 0x0
+// READOBJ-NEXT: VirtualAddress: 0x0
+// READOBJ-NEXT: RawDataSize:
+// READOBJ-NEXT: PointerToRawData: 0xEC
+// READOBJ-NEXT: PointerToRelocations:
+// READOBJ-NEXT: PointerToLineNumbers: 0x0
+// READOBJ-NEXT: RelocationCount:
+// READOBJ-NEXT: LineNumberCount: 0
+// READOBJ-NEXT: Characteristics [ (0xC0500040)
+// READOBJ-NEXT: IMAGE_SCN_ALIGN_16BYTES (0x500000)
+// READOBJ-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
+// READOBJ-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
+// READOBJ-NEXT: IMAGE_SCN_MEM_WRITE (0x80000000)
+// READOBJ-NEXT: ]
+// READOBJ-NEXT: SectionData (
+// READOBJ-NEXT: 0000: 04000000 00000000 00000000 00000000 |
+// READOBJ-NEXT: 0010: 01020000 00000000 00010000 00000000 |
+// READOBJ-NEXT: 0020: 04000000 00000000 04000000 |
+// READOBJ-NEXT: )
+// READOBJ-NEXT: }
+// READOBJ-NEXT: ]
+// READOBJ-NEXT: Relocations [
+// READOBJ-NEXT: Section (5) .fix {
+// READOBJ-NEXT: Relocation {
+// READOBJ-NEXT: Offset: 0x0
+// READOBJ-NEXT: Type: IMAGE_REL_AMD64_REL32 (4)
+// READOBJ-NEXT: Symbol: g3
+// READOBJ-NEXT: }
+// READOBJ-NEXT: Relocation {
+// READOBJ-NEXT: Offset: 0x4
+// READOBJ-NEXT: Type: IMAGE_REL_AMD64_ADDR32NB (3)
+// READOBJ-NEXT: Symbol: g3
+// READOBJ-NEXT: }
+// READOBJ-NEXT: Relocation {
+// READOBJ-NEXT: Offset: 0x20
+// READOBJ-NEXT: Type: IMAGE_REL_AMD64_REL32 (4)
+// READOBJ-NEXT: Symbol: g3
+// READOBJ-NEXT: }
+// READOBJ-NEXT: Relocation {
+// READOBJ-NEXT: Offset: 0x28
+// READOBJ-NEXT: Type: IMAGE_REL_AMD64_REL32 (4)
+// READOBJ-NEXT: Symbol: foobar
+// READOBJ-NEXT: }
+// READOBJ-NEXT: }
+// READOBJ-NEXT:]
diff --git a/test/MC/COFF/diff.s b/test/MC/COFF/diff.s
index 5111600c7449..58cc7fe532be 100644
--- a/test/MC/COFF/diff.s
+++ b/test/MC/COFF/diff.s
@@ -42,11 +42,11 @@ _rust_crate:
// CHECK: Name: .data
// CHECK: Relocations [
// CHECK-NEXT: 0x4 IMAGE_REL_I386_DIR32 _foobar
-// CHECK-NEXT: 0x8 IMAGE_REL_I386_REL32 .text
-// CHECK-NEXT: 0xC IMAGE_REL_I386_REL32 .text
+// CHECK-NEXT: 0x8 IMAGE_REL_I386_REL32 _foobar
+// CHECK-NEXT: 0xC IMAGE_REL_I386_REL32 _foobar
// CHECK-NEXT: ]
// CHECK: SectionData (
-// CHECK-NEXT: 0000: 00000000 00000000 1C000000 20000000
+// CHECK-NEXT: 0000: 00000000 00000000 0C000000 10000000
// CHECK-NEXT: )
// CHECK: Name: baz
diff --git a/test/MC/COFF/secidx-diagnostic.s b/test/MC/COFF/secidx-diagnostic.s
deleted file mode 100644
index aacf7f862803..000000000000
--- a/test/MC/COFF/secidx-diagnostic.s
+++ /dev/null
@@ -1,10 +0,0 @@
-// RUN: not llvm-mc -filetype=obj -triple i686-pc-win32 %s 2>%t
-// RUN: FileCheck %s < %t
-
-// CHECK: symbol 'bar' can not be undefined
-// CHECK: symbol 'baz' can not be undefined
-
-.data
-foo:
- .secidx bar
- .secidx baz
diff --git a/test/MC/COFF/secrel32-undef.s b/test/MC/COFF/secrel32-undef.s
new file mode 100644
index 000000000000..3a725ab89504
--- /dev/null
+++ b/test/MC/COFF/secrel32-undef.s
@@ -0,0 +1,30 @@
+# RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s -o %t.obj
+# RUN: llvm-readobj -symbols -relocations %t.obj | FileCheck %s
+
+# Previously .secrel32 and .secidx relocations against undefined symbols
+# resulted in an error. That was a mistake. The linker is fully capable of
+# resolving these relocations against symbols in other object files. Such
+# relocations can be found in the MSVCRT debug info describing linker-provided
+# symbols like __safe_se_handler_table and __guard_fids_table.
+
+.data
+foo:
+ .secrel32 bar
+ .secidx baz
+
+
+# CHECK: Relocations [
+# CHECK: Section (2) .data {
+# CHECK: 0x0 IMAGE_REL_I386_SECREL bar
+# CHECK: 0x4 IMAGE_REL_I386_SECTION baz
+# CHECK: }
+# CHECK: ]
+
+# CHECK: Symbol {
+# CHECK: Name: bar
+# CHECK-NEXT: Value: 0
+# CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED (0)
+# CHECK: Symbol {
+# CHECK: Name: baz
+# CHECK-NEXT: Value: 0
+# CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED (0)
diff --git a/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt b/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
index 5fe7a8cd0621..d8b18a65f9d7 100644
--- a/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
+++ b/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
@@ -741,6 +741,66 @@
# 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_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0xfe]
+0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0xfe
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0x5c,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0x01,0xff,0x03,0x05]
+0x7f,0xff,0x5c,0xd8,0x01,0xff,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0xff,0x05]
+0x7f,0xff,0x5c,0xd8,0x01,0x02,0xff,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset1:255 ; encoding: [0x00,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 ; encoding: [0x7f,0x00,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x5d,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0x5d,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0xfe]
+0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0xfe
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0x5e,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0x01,0xff,0x03,0x05]
+0x7f,0xff,0x5e,0xd8,0x01,0xff,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0xff,0x05]
+0x7f,0xff,0x5e,0xd8,0x01,0x02,0xff,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset1:255 ; encoding: [0x00,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 ; encoding: [0x7f,0x00,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x5f,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0x5f,0xd8,0x01,0x02,0x03,0x05
+
# 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
@@ -831,6 +891,30 @@
# 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_wrap_rtn_b32 v5, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v255, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0xff]
+0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0xff
+
+# CHECK: ds_wrap_rtn_b32 v5, v255, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0xff,0x02,0x03,0x05]
+0xff,0xff,0x68,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v255, v3 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0x01,0xff,0x03,0x05]
+0xff,0xff,0x68,0xd8,0x01,0xff,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v2, v255 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0x01,0x02,0xff,0x05]
+0xff,0xff,0x68,0xd8,0x01,0x02,0xff,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v2, v3 ; encoding: [0x00,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+0x00,0x00,0x68,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v2, v3 offset:4 ; encoding: [0x04,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+0x04,0x00,0x68,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v2, v3 offset:65535 gds ; encoding: [0xff,0xff,0x69,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x69,0xd8,0x01,0x02,0x03,0x05
+
# 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
@@ -993,21 +1077,6 @@
# 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 v255, v1 ; encoding: [0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0xff]
-0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0xff
-
-# CHECK: ds_swizzle_b32 v5, v255 ; encoding: [0x00,0x00,0x7a,0xd8,0xff,0x00,0x00,0x05]
-0x00,0x00,0x7a,0xd8,0xff,0x00,0x00,0x05
-
-# 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 v5, v1 ; encoding: [0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05]
-0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05
-
-# CHECK: ds_swizzle_b32 v5, v1 gds ; encoding: [0x00,0x00,0x7b,0xd8,0x01,0x00,0x00,0x05]
-0x00,0x00,0x7b,0xd8,0x01,0x00,0x00,0x05
-
# 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
@@ -1728,6 +1797,66 @@
# 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_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0xfc]
+0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0xfc
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0xdc,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0xfe,0x03,0x05]
+0x7f,0xff,0xdc,0xd8,0x01,0xfe,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0xfe,0x05]
+0x7f,0xff,0xdc,0xd8,0x01,0x02,0xfe,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0xdd,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xdd,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0xfc]
+0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0xfc
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0xde,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0x01,0xfe,0x03,0x05]
+0x7f,0xff,0xde,0xd8,0x01,0xfe,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0x01,0x02,0xfe,0x05]
+0x7f,0xff,0xde,0xd8,0x01,0x02,0xfe,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0xdf,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xdf,0xd8,0x01,0x02,0x03,0x05
+
# 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
@@ -1884,6 +2013,27 @@
# 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_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0xfe
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xfc,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xfc,0xd8,0xff,0x02,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xfc,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xfc,0xd8,0x01,0xfe,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xfd,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xfd,0xd8,0x01,0x02,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
@@ -2019,6 +2169,21 @@
# 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_and_src2_b32 v1 offset:65535 ; encoding: [0xff,0xff,0x12,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x12,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_and_src2_b32 v255 offset:65535 ; encoding: [0xff,0xff,0x12,0xd9,0xff,0x00,0x00,0x00]
+0xff,0xff,0x12,0xd9,0xff,0x00,0x00,0x00
+
+# CHECK: ds_and_src2_b32 v1 ; encoding: [0x00,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x12,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_and_src2_b32 v1 offset:4 ; encoding: [0x04,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x12,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_and_src2_b32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x13,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x13,0xd9,0x01,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
@@ -2049,9 +2214,21 @@
# 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 v1 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x1a,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_write_src2_b32 v255 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd9,0xff,0x00,0x00,0x00]
+0xff,0xff,0x1a,0xd9,0xff,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_write_src2_b32 v1 offset:4 ; encoding: [0x04,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_write_src2_b32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x1b,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x1b,0xd9,0x01,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
@@ -2082,6 +2259,114 @@
# 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_gws_sema_release_all offset:65535 gds ; encoding: [0xff,0xff,0x31,0xd9,0x00,0x00,0x00,0x00]
+0xff,0xff,0x31,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_release_all gds ; encoding: [0x00,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+0x00,0x00,0x31,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_release_all offset:4 gds ; encoding: [0x04,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+0x04,0x00,0x31,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_init v1 offset:65535 gds ; encoding: [0xff,0xff,0x33,0xd9,0x00,0x01,0x00,0x00]
+0xff,0xff,0x33,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_init v255 offset:65535 gds ; encoding: [0xff,0xff,0x33,0xd9,0x00,0xff,0x00,0x00]
+0xff,0xff,0x33,0xd9,0x00,0xff,0x00,0x00
+
+# CHECK: ds_gws_init v1 gds ; encoding: [0x00,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+0x00,0x00,0x33,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_init v1 offset:4 gds ; encoding: [0x04,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+0x04,0x00,0x33,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_sema_v offset:65535 gds ; encoding: [0xff,0xff,0x35,0xd9,0x00,0x00,0x00,0x00]
+0xff,0xff,0x35,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_v gds ; encoding: [0x00,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+0x00,0x00,0x35,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_v offset:4 gds ; encoding: [0x04,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+0x04,0x00,0x35,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_br v1 offset:65535 gds ; encoding: [0xff,0xff,0x37,0xd9,0x00,0x01,0x00,0x00]
+0xff,0xff,0x37,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_sema_br v255 offset:65535 gds ; encoding: [0xff,0xff,0x37,0xd9,0x00,0xff,0x00,0x00]
+0xff,0xff,0x37,0xd9,0x00,0xff,0x00,0x00
+
+# CHECK: ds_gws_sema_br v1 gds ; encoding: [0x00,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+0x00,0x00,0x37,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_sema_br v1 offset:4 gds ; encoding: [0x04,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+0x04,0x00,0x37,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_sema_p offset:65535 gds ; encoding: [0xff,0xff,0x39,0xd9,0x00,0x00,0x00,0x00]
+0xff,0xff,0x39,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_p gds ; encoding: [0x00,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+0x00,0x00,0x39,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_p offset:4 gds ; encoding: [0x04,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+0x04,0x00,0x39,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_barrier v1 offset:65535 gds ; encoding: [0xff,0xff,0x3b,0xd9,0x00,0x01,0x00,0x00]
+0xff,0xff,0x3b,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_barrier v255 offset:65535 gds ; encoding: [0xff,0xff,0x3b,0xd9,0x00,0xff,0x00,0x00]
+0xff,0xff,0x3b,0xd9,0x00,0xff,0x00,0x00
+
+# CHECK: ds_gws_barrier v1 gds ; encoding: [0x00,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+0x00,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_barrier v1 offset:4 gds ; encoding: [0x04,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+0x04,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_consume v5 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0x05]
+0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_consume v255 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0xff]
+0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0xff
+
+# CHECK: ds_consume v5 ; encoding: [0x00,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+0x00,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_consume v5 offset:4 ; encoding: [0x04,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+0x04,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_consume v5 offset:65535 gds ; encoding: [0xff,0xff,0x7b,0xd9,0x00,0x00,0x00,0x05]
+0xff,0xff,0x7b,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_append v5 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0x05]
+0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_append v255 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0xff]
+0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0xff
+
+# CHECK: ds_append v5 ; encoding: [0x00,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+0x00,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_append v5 offset:4 ; encoding: [0x04,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+0x04,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_append v5 offset:65535 gds ; encoding: [0xff,0xff,0x7d,0xd9,0x00,0x00,0x00,0x05]
+0xff,0xff,0x7d,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_ordered_count v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0x05]
+0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0x05
+
+# CHECK: ds_ordered_count v255, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0xff]
+0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0xff
+
+# CHECK: ds_ordered_count v5, v255 offset:65535 gds ; encoding: [0xff,0xff,0x7f,0xd9,0xff,0x00,0x00,0x05]
+0xff,0xff,0x7f,0xd9,0xff,0x00,0x00,0x05
+
+# CHECK: ds_ordered_count v5, v1 gds ; encoding: [0x00,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+0x00,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05
+
+# CHECK: ds_ordered_count v5, v1 offset:4 gds ; encoding: [0x04,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+0x04,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05
+
# 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
@@ -2262,9 +2547,21 @@
# 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 v1 offset:65535 ; encoding: [0xff,0xff,0x9a,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x9a,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_write_src2_b64 v255 offset:65535 ; encoding: [0xff,0xff,0x9a,0xd9,0xff,0x00,0x00,0x00]
+0xff,0xff,0x9a,0xd9,0xff,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_write_src2_b64 v1 offset:4 ; encoding: [0x04,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_write_src2_b64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x9b,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x9b,0xd9,0x01,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
@@ -2367,6 +2664,87 @@
# 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: exp mrt0 v0, v0, v0, v0 ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrtz v0, v0, v0, v0 ; encoding: [0x8f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x8f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp null v0, v0, v0, v0 ; encoding: [0x9f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x9f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp pos0 v0, v0, v0, v0 ; encoding: [0xcf,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0xcf,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp param0 v0, v0, v0, v0 ; encoding: [0x0f,0x02,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x02,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v255, v0, v0, v0 ; encoding: [0x0f,0x00,0x00,0xc4,0xff,0x00,0x00,0x00]
+0x0f,0x00,0x00,0xc4,0xff,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v255, v0, v0 ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0xff,0x00,0x00]
+0x0f,0x00,0x00,0xc4,0x00,0xff,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v255, v0 ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0x00,0xff,0x00]
+0x0f,0x00,0x00,0xc4,0x00,0x00,0xff,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, v255 ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0xff]
+0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0xff
+
+# CHECK: exp mrt0 v0, off, off, off ; encoding: [0x01,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x01,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, v0, off, off ; encoding: [0x02,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x02,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, off, off ; encoding: [0x03,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x03,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, off, v0, off ; encoding: [0x04,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x04,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, off, v0, off ; encoding: [0x05,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x05,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, v0, v0, off ; encoding: [0x06,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x06,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, off ; encoding: [0x07,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x07,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, off, off, v0 ; encoding: [0x08,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x08,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, off, off, v0 ; encoding: [0x09,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x09,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, v0, off, v0 ; encoding: [0x0a,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0a,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, off, v0 ; encoding: [0x0b,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0b,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, off, v0, v0 ; encoding: [0x0c,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0c,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, off, v0, v0 ; encoding: [0x0d,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0d,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, v0, v0, v0 ; encoding: [0x0e,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0e,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, off, off, off ; encoding: [0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, v0 done ; encoding: [0x0f,0x08,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x08,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, v0 compr ; encoding: [0x0f,0x04,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x04,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, v0 vm ; encoding: [0x0f,0x10,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x10,0x00,0xc4,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
@@ -6600,9 +6978,6 @@
# CHECK: s_mov_b32 s5, -4.0 ; encoding: [0xf7,0x00,0x85,0xbe]
0xf7,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s5, scc ; encoding: [0xfd,0x00,0x85,0xbe]
-0xfd,0x00,0x85,0xbe
-
# CHECK: s_mov_b32 s5, 0xaf123456 ; encoding: [0xff,0x00,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x00,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -6771,9 +7146,6 @@
# CHECK: s_cmov_b32 s5, -4.0 ; encoding: [0xf7,0x02,0x85,0xbe]
0xf7,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s5, scc ; encoding: [0xfd,0x02,0x85,0xbe]
-0xfd,0x02,0x85,0xbe
-
# CHECK: s_cmov_b32 s5, 0xaf123456 ; encoding: [0xff,0x02,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x02,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -6942,9 +7314,6 @@
# CHECK: s_not_b32 s5, -4.0 ; encoding: [0xf7,0x04,0x85,0xbe]
0xf7,0x04,0x85,0xbe
-# CHECK: s_not_b32 s5, scc ; encoding: [0xfd,0x04,0x85,0xbe]
-0xfd,0x04,0x85,0xbe
-
# CHECK: s_not_b32 s5, 0xaf123456 ; encoding: [0xff,0x04,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x04,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -7113,9 +7482,6 @@
# CHECK: s_wqm_b32 s5, -4.0 ; encoding: [0xf7,0x06,0x85,0xbe]
0xf7,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s5, scc ; encoding: [0xfd,0x06,0x85,0xbe]
-0xfd,0x06,0x85,0xbe
-
# CHECK: s_wqm_b32 s5, 0xaf123456 ; encoding: [0xff,0x06,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x06,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -7284,9 +7650,6 @@
# CHECK: s_brev_b32 s5, -4.0 ; encoding: [0xf7,0x08,0x85,0xbe]
0xf7,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s5, scc ; encoding: [0xfd,0x08,0x85,0xbe]
-0xfd,0x08,0x85,0xbe
-
# CHECK: s_brev_b32 s5, 0xaf123456 ; encoding: [0xff,0x08,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x08,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -7455,9 +7818,6 @@
# CHECK: s_bcnt0_i32_b32 s5, -4.0 ; encoding: [0xf7,0x0a,0x85,0xbe]
0xf7,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s5, scc ; encoding: [0xfd,0x0a,0x85,0xbe]
-0xfd,0x0a,0x85,0xbe
-
# CHECK: s_bcnt0_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x0a,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x0a,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -7641,9 +8001,6 @@
# CHECK: s_bcnt1_i32_b32 s5, -4.0 ; encoding: [0xf7,0x0c,0x85,0xbe]
0xf7,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s5, scc ; encoding: [0xfd,0x0c,0x85,0xbe]
-0xfd,0x0c,0x85,0xbe
-
# CHECK: s_bcnt1_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x0c,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x0c,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -7827,9 +8184,6 @@
# CHECK: s_ff0_i32_b32 s5, -4.0 ; encoding: [0xf7,0x0e,0x85,0xbe]
0xf7,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s5, scc ; encoding: [0xfd,0x0e,0x85,0xbe]
-0xfd,0x0e,0x85,0xbe
-
# CHECK: s_ff0_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x0e,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x0e,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -8013,9 +8367,6 @@
# CHECK: s_ff1_i32_b32 s5, -4.0 ; encoding: [0xf7,0x10,0x85,0xbe]
0xf7,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s5, scc ; encoding: [0xfd,0x10,0x85,0xbe]
-0xfd,0x10,0x85,0xbe
-
# CHECK: s_ff1_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x10,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x10,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -8199,9 +8550,6 @@
# CHECK: s_flbit_i32_b32 s5, -4.0 ; encoding: [0xf7,0x12,0x85,0xbe]
0xf7,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s5, scc ; encoding: [0xfd,0x12,0x85,0xbe]
-0xfd,0x12,0x85,0xbe
-
# CHECK: s_flbit_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x12,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x12,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -8385,9 +8733,6 @@
# CHECK: s_flbit_i32 s5, -4.0 ; encoding: [0xf7,0x14,0x85,0xbe]
0xf7,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s5, scc ; encoding: [0xfd,0x14,0x85,0xbe]
-0xfd,0x14,0x85,0xbe
-
# CHECK: s_flbit_i32 s5, 0xaf123456 ; encoding: [0xff,0x14,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x14,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -8571,9 +8916,6 @@
# CHECK: s_sext_i32_i8 s5, -4.0 ; encoding: [0xf7,0x16,0x85,0xbe]
0xf7,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s5, scc ; encoding: [0xfd,0x16,0x85,0xbe]
-0xfd,0x16,0x85,0xbe
-
# CHECK: s_sext_i32_i8 s5, 0x71 ; encoding: [0xff,0x16,0x85,0xbe,0x71,0x00,0x00,0x00]
0xff,0x16,0x85,0xbe,0x71,0x00,0x00,0x00
@@ -8673,9 +9015,6 @@
# CHECK: s_sext_i32_i16 s5, -4.0 ; encoding: [0xf7,0x17,0x85,0xbe]
0xf7,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s5, scc ; encoding: [0xfd,0x17,0x85,0xbe]
-0xfd,0x17,0x85,0xbe
-
# CHECK: s_sext_i32_i16 s5, 0xaf123456 ; encoding: [0xff,0x17,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x17,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -8775,9 +9114,6 @@
# CHECK: s_bitset0_b32 s5, -4.0 ; encoding: [0xf7,0x18,0x85,0xbe]
0xf7,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s5, scc ; encoding: [0xfd,0x18,0x85,0xbe]
-0xfd,0x18,0x85,0xbe
-
# CHECK: s_bitset0_b32 s5, 0xaf123456 ; encoding: [0xff,0x18,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x18,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -8862,9 +9198,6 @@
# CHECK: s_bitset0_b64 s[10:11], -4.0 ; encoding: [0xf7,0x19,0x8a,0xbe]
0xf7,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[10:11], scc ; encoding: [0xfd,0x19,0x8a,0xbe]
-0xfd,0x19,0x8a,0xbe
-
# 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
@@ -8964,9 +9297,6 @@
# CHECK: s_bitset1_b32 s5, -4.0 ; encoding: [0xf7,0x1a,0x85,0xbe]
0xf7,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s5, scc ; encoding: [0xfd,0x1a,0x85,0xbe]
-0xfd,0x1a,0x85,0xbe
-
# CHECK: s_bitset1_b32 s5, 0xaf123456 ; encoding: [0xff,0x1a,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x1a,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -9051,9 +9381,6 @@
# CHECK: s_bitset1_b64 s[10:11], -4.0 ; encoding: [0xf7,0x1b,0x8a,0xbe]
0xf7,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[10:11], scc ; encoding: [0xfd,0x1b,0x8a,0xbe]
-0xfd,0x1b,0x8a,0xbe
-
# 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
@@ -9804,9 +10131,6 @@
# CHECK: s_quadmask_b32 s5, -4.0 ; encoding: [0xf7,0x28,0x85,0xbe]
0xf7,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s5, scc ; encoding: [0xfd,0x28,0x85,0xbe]
-0xfd,0x28,0x85,0xbe
-
# CHECK: s_quadmask_b32 s5, 0xaf123456 ; encoding: [0xff,0x28,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x28,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -10080,9 +10404,6 @@
# CHECK: s_movreld_b32 s5, -4.0 ; encoding: [0xf7,0x2c,0x85,0xbe]
0xf7,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s5, scc ; encoding: [0xfd,0x2c,0x85,0xbe]
-0xfd,0x2c,0x85,0xbe
-
# CHECK: s_movreld_b32 s5, 0xaf123456 ; encoding: [0xff,0x2c,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x2c,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -10152,6 +10473,39 @@
# 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_cbranch_join s1 ; encoding: [0x01,0x2e,0x80,0xbe]
+0x01,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join s101 ; encoding: [0x65,0x2e,0x80,0xbe]
+0x65,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join flat_scratch_lo ; encoding: [0x66,0x2e,0x80,0xbe]
+0x66,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join flat_scratch_hi ; encoding: [0x67,0x2e,0x80,0xbe]
+0x67,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join vcc_lo ; encoding: [0x6a,0x2e,0x80,0xbe]
+0x6a,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join vcc_hi ; encoding: [0x6b,0x2e,0x80,0xbe]
+0x6b,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join tba_lo ; encoding: [0x6c,0x2e,0x80,0xbe]
+0x6c,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join tba_hi ; encoding: [0x6d,0x2e,0x80,0xbe]
+0x6d,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join tma_lo ; encoding: [0x6e,0x2e,0x80,0xbe]
+0x6e,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join tma_hi ; encoding: [0x6f,0x2e,0x80,0xbe]
+0x6f,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join ttmp11 ; encoding: [0x7b,0x2e,0x80,0xbe]
+0x7b,0x2e,0x80,0xbe
+
# CHECK: s_abs_i32 s5, s1 ; encoding: [0x01,0x30,0x85,0xbe]
0x01,0x30,0x85,0xbe
@@ -10245,9 +10599,6 @@
# CHECK: s_abs_i32 s5, -4.0 ; encoding: [0xf7,0x30,0x85,0xbe]
0xf7,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s5, scc ; encoding: [0xfd,0x30,0x85,0xbe]
-0xfd,0x30,0x85,0xbe
-
# CHECK: s_abs_i32 s5, 0xaf123456 ; encoding: [0xff,0x30,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x30,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -10347,9 +10698,6 @@
# CHECK: s_mov_fed_b32 s5, -4.0 ; encoding: [0xf7,0x31,0x85,0xbe]
0xf7,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s5, scc ; encoding: [0xfd,0x31,0x85,0xbe]
-0xfd,0x31,0x85,0xbe
-
# CHECK: s_mov_fed_b32 s5, 0xaf123456 ; encoding: [0xff,0x31,0x85,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x31,0x85,0xbe,0x56,0x34,0x12,0xaf
@@ -10404,9 +10752,6 @@
# CHECK: s_set_gpr_idx_idx -4.0 ; encoding: [0xf7,0x32,0x80,0xbe]
0xf7,0x32,0x80,0xbe
-# CHECK: s_set_gpr_idx_idx scc ; encoding: [0xfd,0x32,0x80,0xbe]
-0xfd,0x32,0x80,0xbe
-
# CHECK: s_set_gpr_idx_idx 0xaf123456 ; encoding: [0xff,0x32,0x80,0xbe,0x56,0x34,0x12,0xaf]
0xff,0x32,0x80,0xbe,0x56,0x34,0x12,0xaf
@@ -10506,8 +10851,11 @@
# CHECK: s_add_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x80]
0xf7,0x02,0x05,0x80
-# CHECK: s_add_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x80]
-0xfd,0x02,0x05,0x80
+# CHECK: s_add_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x80,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x80,0x56,0x34,0x12,0xaf
+
+# CHECK: s_add_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x80,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x80,0x73,0x72,0x71,0x3f
# CHECK: s_add_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x80]
0x01,0x65,0x05,0x80
@@ -10560,9 +10908,6 @@
# CHECK: s_add_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x80]
0x01,0xf7,0x05,0x80
-# CHECK: s_add_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x80]
-0x01,0xfd,0x05,0x80
-
# CHECK: s_add_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x80,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x80,0x56,0x34,0x12,0xaf
@@ -10662,8 +11007,11 @@
# CHECK: s_sub_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x80]
0xf7,0x02,0x85,0x80
-# CHECK: s_sub_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x80]
-0xfd,0x02,0x85,0x80
+# CHECK: s_sub_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x80,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x80,0x56,0x34,0x12,0xaf
+
+# CHECK: s_sub_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x80,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x80,0x73,0x72,0x71,0x3f
# CHECK: s_sub_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x80]
0x01,0x65,0x85,0x80
@@ -10716,9 +11064,6 @@
# CHECK: s_sub_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x80]
0x01,0xf7,0x85,0x80
-# CHECK: s_sub_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x80]
-0x01,0xfd,0x85,0x80
-
# CHECK: s_sub_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x80,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x80,0x56,0x34,0x12,0xaf
@@ -10818,8 +11163,11 @@
# CHECK: s_add_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x81]
0xf7,0x02,0x05,0x81
-# CHECK: s_add_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x81]
-0xfd,0x02,0x05,0x81
+# CHECK: s_add_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x81,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x81,0x56,0x34,0x12,0xaf
+
+# CHECK: s_add_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x81,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x81,0x73,0x72,0x71,0x3f
# CHECK: s_add_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x81]
0x01,0x65,0x05,0x81
@@ -10872,9 +11220,6 @@
# CHECK: s_add_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x81]
0x01,0xf7,0x05,0x81
-# CHECK: s_add_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x81]
-0x01,0xfd,0x05,0x81
-
# CHECK: s_add_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x81,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x81,0x56,0x34,0x12,0xaf
@@ -10974,8 +11319,11 @@
# CHECK: s_sub_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x81]
0xf7,0x02,0x85,0x81
-# CHECK: s_sub_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x81]
-0xfd,0x02,0x85,0x81
+# CHECK: s_sub_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x81,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x81,0x56,0x34,0x12,0xaf
+
+# CHECK: s_sub_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x81,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x81,0x73,0x72,0x71,0x3f
# CHECK: s_sub_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x81]
0x01,0x65,0x85,0x81
@@ -11028,9 +11376,6 @@
# CHECK: s_sub_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x81]
0x01,0xf7,0x85,0x81
-# CHECK: s_sub_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x81]
-0x01,0xfd,0x85,0x81
-
# CHECK: s_sub_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x81,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x81,0x56,0x34,0x12,0xaf
@@ -11130,8 +11475,11 @@
# CHECK: s_addc_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x82]
0xf7,0x02,0x05,0x82
-# CHECK: s_addc_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x82]
-0xfd,0x02,0x05,0x82
+# CHECK: s_addc_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x82,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x82,0x56,0x34,0x12,0xaf
+
+# CHECK: s_addc_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x82,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x82,0x73,0x72,0x71,0x3f
# CHECK: s_addc_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x82]
0x01,0x65,0x05,0x82
@@ -11184,9 +11532,6 @@
# CHECK: s_addc_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x82]
0x01,0xf7,0x05,0x82
-# CHECK: s_addc_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x82]
-0x01,0xfd,0x05,0x82
-
# CHECK: s_addc_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x82,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x82,0x56,0x34,0x12,0xaf
@@ -11286,8 +11631,11 @@
# CHECK: s_subb_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x82]
0xf7,0x02,0x85,0x82
-# CHECK: s_subb_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x82]
-0xfd,0x02,0x85,0x82
+# CHECK: s_subb_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x82,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x82,0x56,0x34,0x12,0xaf
+
+# CHECK: s_subb_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x82,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x82,0x73,0x72,0x71,0x3f
# CHECK: s_subb_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x82]
0x01,0x65,0x85,0x82
@@ -11340,9 +11688,6 @@
# CHECK: s_subb_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x82]
0x01,0xf7,0x85,0x82
-# CHECK: s_subb_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x82]
-0x01,0xfd,0x85,0x82
-
# CHECK: s_subb_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x82,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x82,0x56,0x34,0x12,0xaf
@@ -11442,8 +11787,11 @@
# CHECK: s_min_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x83]
0xf7,0x02,0x05,0x83
-# CHECK: s_min_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x83]
-0xfd,0x02,0x05,0x83
+# CHECK: s_min_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x83,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x83,0x56,0x34,0x12,0xaf
+
+# CHECK: s_min_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x83,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x83,0x73,0x72,0x71,0x3f
# CHECK: s_min_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x83]
0x01,0x65,0x05,0x83
@@ -11496,9 +11844,6 @@
# CHECK: s_min_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x83]
0x01,0xf7,0x05,0x83
-# CHECK: s_min_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x83]
-0x01,0xfd,0x05,0x83
-
# CHECK: s_min_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x83,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x83,0x56,0x34,0x12,0xaf
@@ -11598,8 +11943,11 @@
# CHECK: s_min_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x83]
0xf7,0x02,0x85,0x83
-# CHECK: s_min_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x83]
-0xfd,0x02,0x85,0x83
+# CHECK: s_min_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x83,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x83,0x56,0x34,0x12,0xaf
+
+# CHECK: s_min_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x83,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x83,0x73,0x72,0x71,0x3f
# CHECK: s_min_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x83]
0x01,0x65,0x85,0x83
@@ -11652,9 +12000,6 @@
# CHECK: s_min_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x83]
0x01,0xf7,0x85,0x83
-# CHECK: s_min_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x83]
-0x01,0xfd,0x85,0x83
-
# CHECK: s_min_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x83,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x83,0x56,0x34,0x12,0xaf
@@ -11754,8 +12099,11 @@
# CHECK: s_max_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x84]
0xf7,0x02,0x05,0x84
-# CHECK: s_max_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x84]
-0xfd,0x02,0x05,0x84
+# CHECK: s_max_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x84,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x84,0x56,0x34,0x12,0xaf
+
+# CHECK: s_max_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x84,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x84,0x73,0x72,0x71,0x3f
# CHECK: s_max_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x84]
0x01,0x65,0x05,0x84
@@ -11808,9 +12156,6 @@
# CHECK: s_max_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x84]
0x01,0xf7,0x05,0x84
-# CHECK: s_max_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x84]
-0x01,0xfd,0x05,0x84
-
# CHECK: s_max_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x84,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x84,0x56,0x34,0x12,0xaf
@@ -11910,8 +12255,11 @@
# CHECK: s_max_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x84]
0xf7,0x02,0x85,0x84
-# CHECK: s_max_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x84]
-0xfd,0x02,0x85,0x84
+# CHECK: s_max_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x84,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x84,0x56,0x34,0x12,0xaf
+
+# CHECK: s_max_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x84,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x84,0x73,0x72,0x71,0x3f
# CHECK: s_max_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x84]
0x01,0x65,0x85,0x84
@@ -11964,9 +12312,6 @@
# CHECK: s_max_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x84]
0x01,0xf7,0x85,0x84
-# CHECK: s_max_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x84]
-0x01,0xfd,0x85,0x84
-
# CHECK: s_max_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x84,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x84,0x56,0x34,0x12,0xaf
@@ -12066,8 +12411,11 @@
# CHECK: s_cselect_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x85]
0xf7,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x85]
-0xfd,0x02,0x05,0x85
+# CHECK: s_cselect_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x85,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x85,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cselect_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x85,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x85,0x73,0x72,0x71,0x3f
# CHECK: s_cselect_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x85]
0x01,0x65,0x05,0x85
@@ -12120,9 +12468,6 @@
# CHECK: s_cselect_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x85]
0x01,0xf7,0x05,0x85
-# CHECK: s_cselect_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x85]
-0x01,0xfd,0x05,0x85
-
# CHECK: s_cselect_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x85,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x85,0x56,0x34,0x12,0xaf
@@ -12192,6 +12537,12 @@
# 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[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x85,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x85,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cselect_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x85,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x85,0x73,0x72,0x71,0x3f
+
# CHECK: s_cselect_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x85]
0x02,0x06,0x8a,0x85
@@ -12327,8 +12678,11 @@
# CHECK: s_and_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x86]
0xf7,0x02,0x05,0x86
-# CHECK: s_and_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x86]
-0xfd,0x02,0x05,0x86
+# CHECK: s_and_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x86,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x86,0x56,0x34,0x12,0xaf
+
+# CHECK: s_and_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x86,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x86,0x73,0x72,0x71,0x3f
# CHECK: s_and_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x86]
0x01,0x65,0x05,0x86
@@ -12381,9 +12735,6 @@
# CHECK: s_and_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x86]
0x01,0xf7,0x05,0x86
-# CHECK: s_and_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x86]
-0x01,0xfd,0x05,0x86
-
# CHECK: s_and_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x86,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x86,0x56,0x34,0x12,0xaf
@@ -12453,6 +12804,12 @@
# 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[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x86,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x86,0x56,0x34,0x12,0xaf
+
+# CHECK: s_and_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x86,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x86,0x73,0x72,0x71,0x3f
+
# CHECK: s_and_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x86]
0x02,0x06,0x8a,0x86
@@ -12588,8 +12945,11 @@
# CHECK: s_or_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x87]
0xf7,0x02,0x05,0x87
-# CHECK: s_or_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x87]
-0xfd,0x02,0x05,0x87
+# CHECK: s_or_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x87,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x87,0x56,0x34,0x12,0xaf
+
+# CHECK: s_or_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x87,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x87,0x73,0x72,0x71,0x3f
# CHECK: s_or_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x87]
0x01,0x65,0x05,0x87
@@ -12642,9 +13002,6 @@
# CHECK: s_or_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x87]
0x01,0xf7,0x05,0x87
-# CHECK: s_or_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x87]
-0x01,0xfd,0x05,0x87
-
# CHECK: s_or_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x87,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x87,0x56,0x34,0x12,0xaf
@@ -12714,6 +13071,12 @@
# 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[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x87,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x87,0x56,0x34,0x12,0xaf
+
+# CHECK: s_or_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x87,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x87,0x73,0x72,0x71,0x3f
+
# CHECK: s_or_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x87]
0x02,0x06,0x8a,0x87
@@ -12849,8 +13212,11 @@
# CHECK: s_xor_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x88]
0xf7,0x02,0x05,0x88
-# CHECK: s_xor_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x88]
-0xfd,0x02,0x05,0x88
+# CHECK: s_xor_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x88,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x88,0x56,0x34,0x12,0xaf
+
+# CHECK: s_xor_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x88,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x88,0x73,0x72,0x71,0x3f
# CHECK: s_xor_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x88]
0x01,0x65,0x05,0x88
@@ -12903,9 +13269,6 @@
# CHECK: s_xor_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x88]
0x01,0xf7,0x05,0x88
-# CHECK: s_xor_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x88]
-0x01,0xfd,0x05,0x88
-
# CHECK: s_xor_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x88,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x88,0x56,0x34,0x12,0xaf
@@ -12975,6 +13338,12 @@
# 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[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x88,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x88,0x56,0x34,0x12,0xaf
+
+# CHECK: s_xor_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x88,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x88,0x73,0x72,0x71,0x3f
+
# CHECK: s_xor_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x88]
0x02,0x06,0x8a,0x88
@@ -13110,8 +13479,11 @@
# CHECK: s_andn2_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x89]
0xf7,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x89]
-0xfd,0x02,0x05,0x89
+# CHECK: s_andn2_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x89,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x89,0x56,0x34,0x12,0xaf
+
+# CHECK: s_andn2_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x89,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x89,0x73,0x72,0x71,0x3f
# CHECK: s_andn2_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x89]
0x01,0x65,0x05,0x89
@@ -13164,9 +13536,6 @@
# CHECK: s_andn2_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x89]
0x01,0xf7,0x05,0x89
-# CHECK: s_andn2_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x89]
-0x01,0xfd,0x05,0x89
-
# CHECK: s_andn2_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x89,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x89,0x56,0x34,0x12,0xaf
@@ -13236,6 +13605,12 @@
# 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[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x89,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x89,0x56,0x34,0x12,0xaf
+
+# CHECK: s_andn2_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x89,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x89,0x73,0x72,0x71,0x3f
+
# CHECK: s_andn2_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x89]
0x02,0x06,0x8a,0x89
@@ -13371,8 +13746,11 @@
# CHECK: s_orn2_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8a]
0xf7,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8a]
-0xfd,0x02,0x05,0x8a
+# CHECK: s_orn2_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8a,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8a,0x56,0x34,0x12,0xaf
+
+# CHECK: s_orn2_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8a,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8a,0x73,0x72,0x71,0x3f
# CHECK: s_orn2_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8a]
0x01,0x65,0x05,0x8a
@@ -13425,9 +13803,6 @@
# CHECK: s_orn2_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8a]
0x01,0xf7,0x05,0x8a
-# CHECK: s_orn2_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8a]
-0x01,0xfd,0x05,0x8a
-
# CHECK: s_orn2_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8a,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8a,0x56,0x34,0x12,0xaf
@@ -13497,6 +13872,12 @@
# 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[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8a,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x8a,0x56,0x34,0x12,0xaf
+
+# CHECK: s_orn2_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8a,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x8a,0x73,0x72,0x71,0x3f
+
# CHECK: s_orn2_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x8a]
0x02,0x06,0x8a,0x8a
@@ -13632,8 +14013,11 @@
# CHECK: s_nand_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8b]
0xf7,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8b]
-0xfd,0x02,0x05,0x8b
+# CHECK: s_nand_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8b,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8b,0x56,0x34,0x12,0xaf
+
+# CHECK: s_nand_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8b,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8b,0x73,0x72,0x71,0x3f
# CHECK: s_nand_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8b]
0x01,0x65,0x05,0x8b
@@ -13686,9 +14070,6 @@
# CHECK: s_nand_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8b]
0x01,0xf7,0x05,0x8b
-# CHECK: s_nand_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8b]
-0x01,0xfd,0x05,0x8b
-
# CHECK: s_nand_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8b,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8b,0x56,0x34,0x12,0xaf
@@ -13758,6 +14139,12 @@
# 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[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8b,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x8b,0x56,0x34,0x12,0xaf
+
+# CHECK: s_nand_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8b,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x8b,0x73,0x72,0x71,0x3f
+
# CHECK: s_nand_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x8b]
0x02,0x06,0x8a,0x8b
@@ -13893,8 +14280,11 @@
# CHECK: s_nor_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8c]
0xf7,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8c]
-0xfd,0x02,0x05,0x8c
+# CHECK: s_nor_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8c,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8c,0x56,0x34,0x12,0xaf
+
+# CHECK: s_nor_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8c,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8c,0x73,0x72,0x71,0x3f
# CHECK: s_nor_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8c]
0x01,0x65,0x05,0x8c
@@ -13947,9 +14337,6 @@
# CHECK: s_nor_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8c]
0x01,0xf7,0x05,0x8c
-# CHECK: s_nor_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8c]
-0x01,0xfd,0x05,0x8c
-
# CHECK: s_nor_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8c,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8c,0x56,0x34,0x12,0xaf
@@ -14019,6 +14406,12 @@
# 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[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x8c,0x56,0x34,0x12,0xaf
+
+# CHECK: s_nor_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x8c,0x73,0x72,0x71,0x3f
+
# CHECK: s_nor_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x8c]
0x02,0x06,0x8a,0x8c
@@ -14154,8 +14547,11 @@
# CHECK: s_xnor_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8d]
0xf7,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8d]
-0xfd,0x02,0x05,0x8d
+# CHECK: s_xnor_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8d,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8d,0x56,0x34,0x12,0xaf
+
+# CHECK: s_xnor_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8d,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8d,0x73,0x72,0x71,0x3f
# CHECK: s_xnor_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8d]
0x01,0x65,0x05,0x8d
@@ -14208,9 +14604,6 @@
# CHECK: s_xnor_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8d]
0x01,0xf7,0x05,0x8d
-# CHECK: s_xnor_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8d]
-0x01,0xfd,0x05,0x8d
-
# CHECK: s_xnor_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8d,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8d,0x56,0x34,0x12,0xaf
@@ -14280,6 +14673,12 @@
# 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[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x8d,0x56,0x34,0x12,0xaf
+
+# CHECK: s_xnor_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x8d,0x73,0x72,0x71,0x3f
+
# CHECK: s_xnor_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x8d]
0x02,0x06,0x8a,0x8d
@@ -14415,8 +14814,11 @@
# CHECK: s_lshl_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8e]
0xf7,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8e]
-0xfd,0x02,0x05,0x8e
+# CHECK: s_lshl_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8e,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8e,0x56,0x34,0x12,0xaf
+
+# CHECK: s_lshl_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8e,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8e,0x73,0x72,0x71,0x3f
# CHECK: s_lshl_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8e]
0x01,0x65,0x05,0x8e
@@ -14469,9 +14871,6 @@
# CHECK: s_lshl_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8e]
0x01,0xf7,0x05,0x8e
-# CHECK: s_lshl_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8e]
-0x01,0xfd,0x05,0x8e
-
# CHECK: s_lshl_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8e,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8e,0x56,0x34,0x12,0xaf
@@ -14598,8 +14997,11 @@
# 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[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x8a,0x8e]
-0x02,0xfd,0x8a,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8e,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x8e,0x56,0x34,0x12,0xaf
+
+# CHECK: s_lshl_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8e,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x8e,0x73,0x72,0x71,0x3f
# CHECK: s_lshr_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8f]
0x01,0x02,0x05,0x8f
@@ -14694,8 +15096,11 @@
# CHECK: s_lshr_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8f]
0xf7,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8f]
-0xfd,0x02,0x05,0x8f
+# CHECK: s_lshr_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8f,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8f,0x56,0x34,0x12,0xaf
+
+# CHECK: s_lshr_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8f,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8f,0x73,0x72,0x71,0x3f
# CHECK: s_lshr_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8f]
0x01,0x65,0x05,0x8f
@@ -14748,9 +15153,6 @@
# CHECK: s_lshr_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8f]
0x01,0xf7,0x05,0x8f
-# CHECK: s_lshr_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8f]
-0x01,0xfd,0x05,0x8f
-
# CHECK: s_lshr_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8f,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x8f,0x56,0x34,0x12,0xaf
@@ -14877,8 +15279,11 @@
# 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[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x8a,0x8f]
-0x02,0xfd,0x8a,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8f,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x8f,0x56,0x34,0x12,0xaf
+
+# CHECK: s_lshr_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8f,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x8f,0x73,0x72,0x71,0x3f
# CHECK: s_ashr_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x90]
0x01,0x02,0x05,0x90
@@ -14973,8 +15378,11 @@
# CHECK: s_ashr_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x90]
0xf7,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x90]
-0xfd,0x02,0x05,0x90
+# CHECK: s_ashr_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x90,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x90,0x56,0x34,0x12,0xaf
+
+# CHECK: s_ashr_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x90,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x90,0x73,0x72,0x71,0x3f
# CHECK: s_ashr_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x90]
0x01,0x65,0x05,0x90
@@ -15027,9 +15435,6 @@
# CHECK: s_ashr_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x90]
0x01,0xf7,0x05,0x90
-# CHECK: s_ashr_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x90]
-0x01,0xfd,0x05,0x90
-
# CHECK: s_ashr_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x90,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x90,0x56,0x34,0x12,0xaf
@@ -15156,8 +15561,11 @@
# 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[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x8a,0x90]
-0x02,0xfd,0x8a,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x90,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x90,0x56,0x34,0x12,0xaf
+
+# CHECK: s_ashr_i64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x90,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x90,0x73,0x72,0x71,0x3f
# CHECK: s_bfm_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x91]
0x01,0x02,0x05,0x91
@@ -15252,8 +15660,11 @@
# CHECK: s_bfm_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x91]
0xf7,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x91]
-0xfd,0x02,0x05,0x91
+# CHECK: s_bfm_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x91,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x91,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfm_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x91,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x91,0x73,0x72,0x71,0x3f
# CHECK: s_bfm_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x91]
0x01,0x65,0x05,0x91
@@ -15306,9 +15717,6 @@
# CHECK: s_bfm_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x91]
0x01,0xf7,0x05,0x91
-# CHECK: s_bfm_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x91]
-0x01,0xfd,0x05,0x91
-
# CHECK: s_bfm_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x91,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x91,0x56,0x34,0x12,0xaf
@@ -15393,8 +15801,11 @@
# CHECK: s_bfm_b64 s[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x91]
0xf7,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[10:11], scc, s2 ; encoding: [0xfd,0x02,0x8a,0x91]
-0xfd,0x02,0x8a,0x91
+# CHECK: s_bfm_b64 s[10:11], 0xaf123456, s2 ; encoding: [0xff,0x02,0x8a,0x91,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x8a,0x91,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfm_b64 s[10:11], 0x3f717273, s2 ; encoding: [0xff,0x02,0x8a,0x91,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x8a,0x91,0x73,0x72,0x71,0x3f
# CHECK: s_bfm_b64 s[10:11], s1, s101 ; encoding: [0x01,0x65,0x8a,0x91]
0x01,0x65,0x8a,0x91
@@ -15447,9 +15858,6 @@
# CHECK: s_bfm_b64 s[10:11], s1, -4.0 ; encoding: [0x01,0xf7,0x8a,0x91]
0x01,0xf7,0x8a,0x91
-# CHECK: s_bfm_b64 s[10:11], s1, scc ; encoding: [0x01,0xfd,0x8a,0x91]
-0x01,0xfd,0x8a,0x91
-
# 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
@@ -15549,8 +15957,11 @@
# CHECK: s_mul_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x92]
0xf7,0x02,0x05,0x92
-# CHECK: s_mul_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x92]
-0xfd,0x02,0x05,0x92
+# CHECK: s_mul_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x92,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x92,0x56,0x34,0x12,0xaf
+
+# CHECK: s_mul_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x92,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x92,0x73,0x72,0x71,0x3f
# CHECK: s_mul_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x92]
0x01,0x65,0x05,0x92
@@ -15603,9 +16014,6 @@
# CHECK: s_mul_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x92]
0x01,0xf7,0x05,0x92
-# CHECK: s_mul_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x92]
-0x01,0xfd,0x05,0x92
-
# CHECK: s_mul_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x92,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x92,0x56,0x34,0x12,0xaf
@@ -15705,8 +16113,11 @@
# CHECK: s_bfe_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x92]
0xf7,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x92]
-0xfd,0x02,0x85,0x92
+# CHECK: s_bfe_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x92,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x92,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfe_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x92,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x92,0x73,0x72,0x71,0x3f
# CHECK: s_bfe_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x92]
0x01,0x65,0x85,0x92
@@ -15759,9 +16170,6 @@
# CHECK: s_bfe_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x92]
0x01,0xf7,0x85,0x92
-# CHECK: s_bfe_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x92]
-0x01,0xfd,0x85,0x92
-
# CHECK: s_bfe_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x92,0x56,0x34,0x12,0xaf]
0x01,0xff,0x85,0x92,0x56,0x34,0x12,0xaf
@@ -15861,8 +16269,11 @@
# CHECK: s_bfe_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x93]
0xf7,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x93]
-0xfd,0x02,0x05,0x93
+# CHECK: s_bfe_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x93,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x93,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfe_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x93,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x93,0x73,0x72,0x71,0x3f
# CHECK: s_bfe_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x93]
0x01,0x65,0x05,0x93
@@ -15915,9 +16326,6 @@
# CHECK: s_bfe_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x93]
0x01,0xf7,0x05,0x93
-# CHECK: s_bfe_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x93]
-0x01,0xfd,0x05,0x93
-
# CHECK: s_bfe_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x93,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0x93,0x56,0x34,0x12,0xaf
@@ -16044,8 +16452,11 @@
# 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[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x8a,0x93]
-0x02,0xfd,0x8a,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x93,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x93,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfe_u64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x93,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x93,0x73,0x72,0x71,0x3f
# CHECK: s_bfe_i64 s[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x0a,0x94]
0x02,0x02,0x0a,0x94
@@ -16167,8 +16578,11 @@
# 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[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x0a,0x94]
-0x02,0xfd,0x0a,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x0a,0x94,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x0a,0x94,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfe_i64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x0a,0x94,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x0a,0x94,0x73,0x72,0x71,0x3f
# CHECK: s_cbranch_g_fork s[2:3], s[4:5] ; encoding: [0x02,0x04,0x80,0x94]
0x02,0x04,0x80,0x94
@@ -16197,6 +16611,18 @@
# CHECK: s_cbranch_g_fork exec, s[4:5] ; encoding: [0x7e,0x04,0x80,0x94]
0x7e,0x04,0x80,0x94
+# CHECK: s_cbranch_g_fork 0, s[4:5] ; encoding: [0x80,0x04,0x80,0x94]
+0x80,0x04,0x80,0x94
+
+# CHECK: s_cbranch_g_fork -1, s[4:5] ; encoding: [0xc1,0x04,0x80,0x94]
+0xc1,0x04,0x80,0x94
+
+# CHECK: s_cbranch_g_fork 0.5, s[4:5] ; encoding: [0xf0,0x04,0x80,0x94]
+0xf0,0x04,0x80,0x94
+
+# CHECK: s_cbranch_g_fork -4.0, s[4:5] ; encoding: [0xf7,0x04,0x80,0x94]
+0xf7,0x04,0x80,0x94
+
# CHECK: s_cbranch_g_fork s[2:3], s[6:7] ; encoding: [0x02,0x06,0x80,0x94]
0x02,0x06,0x80,0x94
@@ -16221,6 +16647,18 @@
# CHECK: s_cbranch_g_fork s[2:3], exec ; encoding: [0x02,0x7e,0x80,0x94]
0x02,0x7e,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], 0 ; encoding: [0x02,0x80,0x80,0x94]
+0x02,0x80,0x80,0x94
+
+# CHECK: s_cbranch_g_fork s[2:3], -1 ; encoding: [0x02,0xc1,0x80,0x94]
+0x02,0xc1,0x80,0x94
+
+# CHECK: s_cbranch_g_fork s[2:3], 0.5 ; encoding: [0x02,0xf0,0x80,0x94]
+0x02,0xf0,0x80,0x94
+
+# CHECK: s_cbranch_g_fork s[2:3], -4.0 ; encoding: [0x02,0xf7,0x80,0x94]
+0x02,0xf7,0x80,0x94
+
# CHECK: s_absdiff_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x95]
0x01,0x02,0x05,0x95
@@ -16314,8 +16752,11 @@
# CHECK: s_absdiff_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x95]
0xf7,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x95]
-0xfd,0x02,0x05,0x95
+# CHECK: s_absdiff_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x95,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x95,0x56,0x34,0x12,0xaf
+
+# CHECK: s_absdiff_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x95,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x95,0x73,0x72,0x71,0x3f
# CHECK: s_absdiff_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x95]
0x01,0x65,0x05,0x95
@@ -16368,15 +16809,114 @@
# CHECK: s_absdiff_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x95]
0x01,0xf7,0x05,0x95
-# CHECK: s_absdiff_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x95]
-0x01,0xfd,0x05,0x95
-
# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f]
0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f
+# CHECK: s_rfe_restore_b64 s[2:3], s2 ; encoding: [0x02,0x02,0x80,0x95]
+0x02,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[4:5], s2 ; encoding: [0x04,0x02,0x80,0x95]
+0x04,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[100:101], s2 ; encoding: [0x64,0x02,0x80,0x95]
+0x64,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 flat_scratch, s2 ; encoding: [0x66,0x02,0x80,0x95]
+0x66,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 vcc, s2 ; encoding: [0x6a,0x02,0x80,0x95]
+0x6a,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 tba, s2 ; encoding: [0x6c,0x02,0x80,0x95]
+0x6c,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 tma, s2 ; encoding: [0x6e,0x02,0x80,0x95]
+0x6e,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 ttmp[10:11], s2 ; encoding: [0x7a,0x02,0x80,0x95]
+0x7a,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 exec, s2 ; encoding: [0x7e,0x02,0x80,0x95]
+0x7e,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 0, s2 ; encoding: [0x80,0x02,0x80,0x95]
+0x80,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 -1, s2 ; encoding: [0xc1,0x02,0x80,0x95]
+0xc1,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 0.5, s2 ; encoding: [0xf0,0x02,0x80,0x95]
+0xf0,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 -4.0, s2 ; encoding: [0xf7,0x02,0x80,0x95]
+0xf7,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 0xaf123456, s2 ; encoding: [0xff,0x02,0x80,0x95,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x80,0x95,0x56,0x34,0x12,0xaf
+
+# CHECK: s_rfe_restore_b64 0x3f717273, s2 ; encoding: [0xff,0x02,0x80,0x95,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x80,0x95,0x73,0x72,0x71,0x3f
+
+# CHECK: s_rfe_restore_b64 s[2:3], s101 ; encoding: [0x02,0x65,0x80,0x95]
+0x02,0x65,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x80,0x95]
+0x02,0x66,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x80,0x95]
+0x02,0x67,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], vcc_lo ; encoding: [0x02,0x6a,0x80,0x95]
+0x02,0x6a,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x80,0x95]
+0x02,0x6b,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], tba_lo ; encoding: [0x02,0x6c,0x80,0x95]
+0x02,0x6c,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], tba_hi ; encoding: [0x02,0x6d,0x80,0x95]
+0x02,0x6d,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], tma_lo ; encoding: [0x02,0x6e,0x80,0x95]
+0x02,0x6e,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], tma_hi ; encoding: [0x02,0x6f,0x80,0x95]
+0x02,0x6f,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], ttmp11 ; encoding: [0x02,0x7b,0x80,0x95]
+0x02,0x7b,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], m0 ; encoding: [0x02,0x7c,0x80,0x95]
+0x02,0x7c,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], exec_lo ; encoding: [0x02,0x7e,0x80,0x95]
+0x02,0x7e,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], exec_hi ; encoding: [0x02,0x7f,0x80,0x95]
+0x02,0x7f,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], 0 ; encoding: [0x02,0x80,0x80,0x95]
+0x02,0x80,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], -1 ; encoding: [0x02,0xc1,0x80,0x95]
+0x02,0xc1,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], 0.5 ; encoding: [0x02,0xf0,0x80,0x95]
+0x02,0xf0,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], -4.0 ; encoding: [0x02,0xf7,0x80,0x95]
+0x02,0xf7,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x80,0x95,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x80,0x95,0x56,0x34,0x12,0xaf
+
+# CHECK: s_rfe_restore_b64 s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x80,0x95,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x80,0x95,0x73,0x72,0x71,0x3f
+
# CHECK: s_cmp_eq_i32 s1, s2 ; encoding: [0x01,0x02,0x00,0xbf]
0x01,0x02,0x00,0xbf
@@ -16431,8 +16971,11 @@
# CHECK: s_cmp_eq_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x00,0xbf]
0xf7,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 scc, s2 ; encoding: [0xfd,0x02,0x00,0xbf]
-0xfd,0x02,0x00,0xbf
+# CHECK: s_cmp_eq_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x00,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x00,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_eq_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x00,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x00,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_eq_i32 s1, s101 ; encoding: [0x01,0x65,0x00,0xbf]
0x01,0x65,0x00,0xbf
@@ -16485,9 +17028,6 @@
# CHECK: s_cmp_eq_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x00,0xbf]
0x01,0xf7,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s1, scc ; encoding: [0x01,0xfd,0x00,0xbf]
-0x01,0xfd,0x00,0xbf
-
# CHECK: s_cmp_eq_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x00,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x00,0xbf,0x56,0x34,0x12,0xaf
@@ -16548,8 +17088,11 @@
# CHECK: s_cmp_lg_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x01,0xbf]
0xf7,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 scc, s2 ; encoding: [0xfd,0x02,0x01,0xbf]
-0xfd,0x02,0x01,0xbf
+# CHECK: s_cmp_lg_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x01,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x01,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lg_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x01,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x01,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_lg_i32 s1, s101 ; encoding: [0x01,0x65,0x01,0xbf]
0x01,0x65,0x01,0xbf
@@ -16602,9 +17145,6 @@
# CHECK: s_cmp_lg_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x01,0xbf]
0x01,0xf7,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s1, scc ; encoding: [0x01,0xfd,0x01,0xbf]
-0x01,0xfd,0x01,0xbf
-
# CHECK: s_cmp_lg_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x01,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x01,0xbf,0x56,0x34,0x12,0xaf
@@ -16665,8 +17205,11 @@
# CHECK: s_cmp_gt_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x02,0xbf]
0xf7,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 scc, s2 ; encoding: [0xfd,0x02,0x02,0xbf]
-0xfd,0x02,0x02,0xbf
+# CHECK: s_cmp_gt_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x02,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x02,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_gt_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x02,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x02,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_gt_i32 s1, s101 ; encoding: [0x01,0x65,0x02,0xbf]
0x01,0x65,0x02,0xbf
@@ -16719,9 +17262,6 @@
# CHECK: s_cmp_gt_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x02,0xbf]
0x01,0xf7,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s1, scc ; encoding: [0x01,0xfd,0x02,0xbf]
-0x01,0xfd,0x02,0xbf
-
# CHECK: s_cmp_gt_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x02,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x02,0xbf,0x56,0x34,0x12,0xaf
@@ -16782,8 +17322,11 @@
# CHECK: s_cmp_ge_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x03,0xbf]
0xf7,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 scc, s2 ; encoding: [0xfd,0x02,0x03,0xbf]
-0xfd,0x02,0x03,0xbf
+# CHECK: s_cmp_ge_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x03,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x03,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_ge_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x03,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x03,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_ge_i32 s1, s101 ; encoding: [0x01,0x65,0x03,0xbf]
0x01,0x65,0x03,0xbf
@@ -16836,9 +17379,6 @@
# CHECK: s_cmp_ge_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x03,0xbf]
0x01,0xf7,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s1, scc ; encoding: [0x01,0xfd,0x03,0xbf]
-0x01,0xfd,0x03,0xbf
-
# CHECK: s_cmp_ge_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x03,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x03,0xbf,0x56,0x34,0x12,0xaf
@@ -16899,8 +17439,11 @@
# CHECK: s_cmp_lt_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x04,0xbf]
0xf7,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 scc, s2 ; encoding: [0xfd,0x02,0x04,0xbf]
-0xfd,0x02,0x04,0xbf
+# CHECK: s_cmp_lt_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x04,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x04,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lt_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x04,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x04,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_lt_i32 s1, s101 ; encoding: [0x01,0x65,0x04,0xbf]
0x01,0x65,0x04,0xbf
@@ -16953,9 +17496,6 @@
# CHECK: s_cmp_lt_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x04,0xbf]
0x01,0xf7,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s1, scc ; encoding: [0x01,0xfd,0x04,0xbf]
-0x01,0xfd,0x04,0xbf
-
# CHECK: s_cmp_lt_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x04,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x04,0xbf,0x56,0x34,0x12,0xaf
@@ -17016,8 +17556,11 @@
# CHECK: s_cmp_le_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x05,0xbf]
0xf7,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 scc, s2 ; encoding: [0xfd,0x02,0x05,0xbf]
-0xfd,0x02,0x05,0xbf
+# CHECK: s_cmp_le_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_le_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_le_i32 s1, s101 ; encoding: [0x01,0x65,0x05,0xbf]
0x01,0x65,0x05,0xbf
@@ -17070,9 +17613,6 @@
# CHECK: s_cmp_le_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x05,0xbf]
0x01,0xf7,0x05,0xbf
-# CHECK: s_cmp_le_i32 s1, scc ; encoding: [0x01,0xfd,0x05,0xbf]
-0x01,0xfd,0x05,0xbf
-
# CHECK: s_cmp_le_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x05,0xbf,0x56,0x34,0x12,0xaf
@@ -17133,8 +17673,11 @@
# CHECK: s_cmp_eq_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x06,0xbf]
0xf7,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 scc, s2 ; encoding: [0xfd,0x02,0x06,0xbf]
-0xfd,0x02,0x06,0xbf
+# CHECK: s_cmp_eq_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x06,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x06,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_eq_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x06,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x06,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_eq_u32 s1, s101 ; encoding: [0x01,0x65,0x06,0xbf]
0x01,0x65,0x06,0xbf
@@ -17187,9 +17730,6 @@
# CHECK: s_cmp_eq_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x06,0xbf]
0x01,0xf7,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s1, scc ; encoding: [0x01,0xfd,0x06,0xbf]
-0x01,0xfd,0x06,0xbf
-
# CHECK: s_cmp_eq_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x06,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x06,0xbf,0x56,0x34,0x12,0xaf
@@ -17250,8 +17790,11 @@
# CHECK: s_cmp_lg_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x07,0xbf]
0xf7,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 scc, s2 ; encoding: [0xfd,0x02,0x07,0xbf]
-0xfd,0x02,0x07,0xbf
+# CHECK: s_cmp_lg_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x07,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x07,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lg_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x07,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x07,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_lg_u32 s1, s101 ; encoding: [0x01,0x65,0x07,0xbf]
0x01,0x65,0x07,0xbf
@@ -17304,9 +17847,6 @@
# CHECK: s_cmp_lg_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x07,0xbf]
0x01,0xf7,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s1, scc ; encoding: [0x01,0xfd,0x07,0xbf]
-0x01,0xfd,0x07,0xbf
-
# CHECK: s_cmp_lg_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x07,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x07,0xbf,0x56,0x34,0x12,0xaf
@@ -17367,8 +17907,11 @@
# CHECK: s_cmp_gt_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x08,0xbf]
0xf7,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 scc, s2 ; encoding: [0xfd,0x02,0x08,0xbf]
-0xfd,0x02,0x08,0xbf
+# CHECK: s_cmp_gt_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x08,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x08,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_gt_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x08,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x08,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_gt_u32 s1, s101 ; encoding: [0x01,0x65,0x08,0xbf]
0x01,0x65,0x08,0xbf
@@ -17421,9 +17964,6 @@
# CHECK: s_cmp_gt_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x08,0xbf]
0x01,0xf7,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s1, scc ; encoding: [0x01,0xfd,0x08,0xbf]
-0x01,0xfd,0x08,0xbf
-
# CHECK: s_cmp_gt_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x08,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x08,0xbf,0x56,0x34,0x12,0xaf
@@ -17484,8 +18024,11 @@
# CHECK: s_cmp_ge_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x09,0xbf]
0xf7,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 scc, s2 ; encoding: [0xfd,0x02,0x09,0xbf]
-0xfd,0x02,0x09,0xbf
+# CHECK: s_cmp_ge_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x09,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x09,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_ge_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x09,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x09,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_ge_u32 s1, s101 ; encoding: [0x01,0x65,0x09,0xbf]
0x01,0x65,0x09,0xbf
@@ -17538,9 +18081,6 @@
# CHECK: s_cmp_ge_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x09,0xbf]
0x01,0xf7,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s1, scc ; encoding: [0x01,0xfd,0x09,0xbf]
-0x01,0xfd,0x09,0xbf
-
# CHECK: s_cmp_ge_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x09,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x09,0xbf,0x56,0x34,0x12,0xaf
@@ -17601,8 +18141,11 @@
# CHECK: s_cmp_lt_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x0a,0xbf]
0xf7,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 scc, s2 ; encoding: [0xfd,0x02,0x0a,0xbf]
-0xfd,0x02,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x0a,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0a,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lt_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x0a,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0a,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_lt_u32 s1, s101 ; encoding: [0x01,0x65,0x0a,0xbf]
0x01,0x65,0x0a,0xbf
@@ -17655,9 +18198,6 @@
# CHECK: s_cmp_lt_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x0a,0xbf]
0x01,0xf7,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s1, scc ; encoding: [0x01,0xfd,0x0a,0xbf]
-0x01,0xfd,0x0a,0xbf
-
# CHECK: s_cmp_lt_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x0a,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x0a,0xbf,0x56,0x34,0x12,0xaf
@@ -17718,8 +18258,11 @@
# CHECK: s_cmp_le_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x0b,0xbf]
0xf7,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 scc, s2 ; encoding: [0xfd,0x02,0x0b,0xbf]
-0xfd,0x02,0x0b,0xbf
+# CHECK: s_cmp_le_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x0b,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0b,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_le_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x0b,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0b,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_cmp_le_u32 s1, s101 ; encoding: [0x01,0x65,0x0b,0xbf]
0x01,0x65,0x0b,0xbf
@@ -17772,9 +18315,6 @@
# CHECK: s_cmp_le_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x0b,0xbf]
0x01,0xf7,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s1, scc ; encoding: [0x01,0xfd,0x0b,0xbf]
-0x01,0xfd,0x0b,0xbf
-
# CHECK: s_cmp_le_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x0b,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x0b,0xbf,0x56,0x34,0x12,0xaf
@@ -17835,8 +18375,11 @@
# CHECK: s_bitcmp0_b32 -4.0, s2 ; encoding: [0xf7,0x02,0x0c,0xbf]
0xf7,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 scc, s2 ; encoding: [0xfd,0x02,0x0c,0xbf]
-0xfd,0x02,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 0xaf123456, s2 ; encoding: [0xff,0x02,0x0c,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0c,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bitcmp0_b32 0x3f717273, s2 ; encoding: [0xff,0x02,0x0c,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0c,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_bitcmp0_b32 s1, s101 ; encoding: [0x01,0x65,0x0c,0xbf]
0x01,0x65,0x0c,0xbf
@@ -17889,9 +18432,6 @@
# CHECK: s_bitcmp0_b32 s1, -4.0 ; encoding: [0x01,0xf7,0x0c,0xbf]
0x01,0xf7,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s1, scc ; encoding: [0x01,0xfd,0x0c,0xbf]
-0x01,0xfd,0x0c,0xbf
-
# CHECK: s_bitcmp0_b32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x0c,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x0c,0xbf,0x56,0x34,0x12,0xaf
@@ -17952,8 +18492,11 @@
# CHECK: s_bitcmp1_b32 -4.0, s2 ; encoding: [0xf7,0x02,0x0d,0xbf]
0xf7,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 scc, s2 ; encoding: [0xfd,0x02,0x0d,0xbf]
-0xfd,0x02,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 0xaf123456, s2 ; encoding: [0xff,0x02,0x0d,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0d,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bitcmp1_b32 0x3f717273, s2 ; encoding: [0xff,0x02,0x0d,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0d,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_bitcmp1_b32 s1, s101 ; encoding: [0x01,0x65,0x0d,0xbf]
0x01,0x65,0x0d,0xbf
@@ -18006,9 +18549,6 @@
# CHECK: s_bitcmp1_b32 s1, -4.0 ; encoding: [0x01,0xf7,0x0d,0xbf]
0x01,0xf7,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s1, scc ; encoding: [0x01,0xfd,0x0d,0xbf]
-0x01,0xfd,0x0d,0xbf
-
# CHECK: s_bitcmp1_b32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x0d,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x0d,0xbf,0x56,0x34,0x12,0xaf
@@ -18111,8 +18651,11 @@
# CHECK: s_bitcmp0_b64 s[2:3], -4.0 ; encoding: [0x02,0xf7,0x0e,0xbf]
0x02,0xf7,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[2:3], scc ; encoding: [0x02,0xfd,0x0e,0xbf]
-0x02,0xfd,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x0e,0xbf,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x0e,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bitcmp0_b64 s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x0e,0xbf,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x0e,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_bitcmp1_b64 s[2:3], s2 ; encoding: [0x02,0x02,0x0f,0xbf]
0x02,0x02,0x0f,0xbf
@@ -18210,8 +18753,11 @@
# CHECK: s_bitcmp1_b64 s[2:3], -4.0 ; encoding: [0x02,0xf7,0x0f,0xbf]
0x02,0xf7,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[2:3], scc ; encoding: [0x02,0xfd,0x0f,0xbf]
-0x02,0xfd,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x0f,0xbf,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x0f,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bitcmp1_b64 s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x0f,0xbf,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x0f,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_setvskip s1, s2 ; encoding: [0x01,0x02,0x10,0xbf]
0x01,0x02,0x10,0xbf
@@ -18267,8 +18813,11 @@
# CHECK: s_setvskip -4.0, s2 ; encoding: [0xf7,0x02,0x10,0xbf]
0xf7,0x02,0x10,0xbf
-# CHECK: s_setvskip scc, s2 ; encoding: [0xfd,0x02,0x10,0xbf]
-0xfd,0x02,0x10,0xbf
+# CHECK: s_setvskip 0xaf123456, s2 ; encoding: [0xff,0x02,0x10,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x10,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_setvskip 0x3f717273, s2 ; encoding: [0xff,0x02,0x10,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x10,0xbf,0x73,0x72,0x71,0x3f
# CHECK: s_setvskip s1, s101 ; encoding: [0x01,0x65,0x10,0xbf]
0x01,0x65,0x10,0xbf
@@ -18321,9 +18870,6 @@
# CHECK: s_setvskip s1, -4.0 ; encoding: [0x01,0xf7,0x10,0xbf]
0x01,0xf7,0x10,0xbf
-# CHECK: s_setvskip s1, scc ; encoding: [0x01,0xfd,0x10,0xbf]
-0x01,0xfd,0x10,0xbf
-
# CHECK: s_setvskip s1, 0xaf123456 ; encoding: [0x01,0xff,0x10,0xbf,0x56,0x34,0x12,0xaf]
0x01,0xff,0x10,0xbf,0x56,0x34,0x12,0xaf
@@ -18369,6 +18915,12 @@
# CHECK: s_cmp_eq_u64 -4.0, s[4:5] ; encoding: [0xf7,0x04,0x12,0xbf]
0xf7,0x04,0x12,0xbf
+# CHECK: s_cmp_eq_u64 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x12,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x12,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_eq_u64 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x12,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x12,0xbf,0x73,0x72,0x71,0x3f
+
# CHECK: s_cmp_eq_u64 s[2:3], s[6:7] ; encoding: [0x02,0x06,0x12,0xbf]
0x02,0x06,0x12,0xbf
@@ -18450,6 +19002,12 @@
# CHECK: s_cmp_lg_u64 -4.0, s[4:5] ; encoding: [0xf7,0x04,0x13,0xbf]
0xf7,0x04,0x13,0xbf
+# CHECK: s_cmp_lg_u64 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x13,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x13,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lg_u64 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x13,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x13,0xbf,0x73,0x72,0x71,0x3f
+
# CHECK: s_cmp_lg_u64 s[2:3], s[6:7] ; encoding: [0x02,0x06,0x13,0xbf]
0x02,0x06,0x13,0xbf
@@ -19227,6 +19785,9 @@
# CHECK: s_branch 49617 ; encoding: [0xd1,0xc1,0x82,0xbf]
0xd1,0xc1,0x82,0xbf
+# CHECK: s_wakeup ; encoding: [0x00,0x00,0x83,0xbf]
+0x00,0x00,0x83,0xbf
+
# CHECK: s_cbranch_scc0 12609 ; encoding: [0x41,0x31,0x84,0xbf]
0x41,0x31,0x84,0xbf
@@ -19266,6 +19827,12 @@
# CHECK: s_barrier ; encoding: [0x00,0x00,0x8a,0xbf]
0x00,0x00,0x8a,0xbf
+# CHECK: s_setkill 0x3141 ; encoding: [0x41,0x31,0x8b,0xbf]
+0x41,0x31,0x8b,0xbf
+
+# CHECK: s_setkill 0xc1d1 ; encoding: [0xd1,0xc1,0x8b,0xbf]
+0xd1,0xc1,0x8b,0xbf
+
# CHECK: s_sethalt 0x3141 ; encoding: [0x41,0x31,0x8d,0xbf]
0x41,0x31,0x8d,0xbf
@@ -19308,15 +19875,48 @@
# CHECK: s_ttracedata ; encoding: [0x00,0x00,0x96,0xbf]
0x00,0x00,0x96,0xbf
+# CHECK: s_cbranch_cdbgsys 12609 ; encoding: [0x41,0x31,0x97,0xbf]
+0x41,0x31,0x97,0xbf
+
+# CHECK: s_cbranch_cdbgsys 49617 ; encoding: [0xd1,0xc1,0x97,0xbf]
+0xd1,0xc1,0x97,0xbf
+
+# CHECK: s_cbranch_cdbguser 12609 ; encoding: [0x41,0x31,0x98,0xbf]
+0x41,0x31,0x98,0xbf
+
+# CHECK: s_cbranch_cdbguser 49617 ; encoding: [0xd1,0xc1,0x98,0xbf]
+0xd1,0xc1,0x98,0xbf
+
+# CHECK: s_cbranch_cdbgsys_or_user 12609 ; encoding: [0x41,0x31,0x99,0xbf]
+0x41,0x31,0x99,0xbf
+
+# CHECK: s_cbranch_cdbgsys_or_user 49617 ; encoding: [0xd1,0xc1,0x99,0xbf]
+0xd1,0xc1,0x99,0xbf
+
+# CHECK: s_cbranch_cdbgsys_and_user 12609 ; encoding: [0x41,0x31,0x9a,0xbf]
+0x41,0x31,0x9a,0xbf
+
+# CHECK: s_cbranch_cdbgsys_and_user 49617 ; encoding: [0xd1,0xc1,0x9a,0xbf]
+0xd1,0xc1,0x9a,0xbf
+
+# CHECK: s_endpgm_saved ; encoding: [0x00,0x00,0x9b,0xbf]
+0x00,0x00,0x9b,0xbf
+
# CHECK: s_set_gpr_idx_off ; encoding: [0x00,0x00,0x9c,0xbf]
0x00,0x00,0x9c,0xbf
+# CHECK: v_mov_b32_e32 v5, v1 ; encoding: [0x01,0x03,0x0a,0x7e]
+0x01,0x03,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v255, v1 ; encoding: [0x01,0x03,0xfe,0x7f]
+0x01,0x03,0xfe,0x7f
+
+# CHECK: v_mov_b32_e32 v5, v255 ; encoding: [0xff,0x03,0x0a,0x7e]
+0xff,0x03,0x0a,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
@@ -19368,27 +19968,24 @@
# CHECK: v_mov_b32_e32 v5, -4.0 ; encoding: [0xf7,0x02,0x0a,0x7e]
0xf7,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v5, scc ; encoding: [0xfd,0x02,0x0a,0x7e]
-0xfd,0x02,0x0a,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 v5, 0x3f717273 ; encoding: [0xff,0x02,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x02,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_mov_b32_e32 v5, v1 ; encoding: [0x01,0x03,0x0a,0x7e]
-0x01,0x03,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x03,0x0a,0x7e]
-0xff,0x03,0x0a,0x7e
+# CHECK: v_mov_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x41,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x41,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x41,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x41,0xd1,0x01,0x00,0x00,0x00
-# 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 v5, s101 ; encoding: [0x05,0x00,0x41,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x41,0xd1,0x65,0x00,0x00,0x00
@@ -19440,15 +20037,6 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x41,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x41,0xd1,0xfd,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 v5, v255 ; encoding: [0x05,0x00,0x41,0xd1,0xff,0x01,0x00,0x00]
-0x05,0x00,0x41,0xd1,0xff,0x01,0x00,0x00
-
# CHECK: v_readfirstlane_b32 s5, v1 ; encoding: [0x01,0x05,0x0a,0x7e]
0x01,0x05,0x0a,0x7e
@@ -19479,12 +20067,18 @@
# CHECK: v_readfirstlane_b32 s5, v255 ; encoding: [0xff,0x05,0x0a,0x7e]
0xff,0x05,0x0a,0x7e
+# 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 v255, v[1:2] ; encoding: [0x01,0x07,0xfe,0x7f]
+0x01,0x07,0xfe,0x7f
+
+# 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 v5, s[2:3] ; encoding: [0x02,0x06,0x0a,0x7e]
0x02,0x06,0x0a,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 v5, s[4:5] ; encoding: [0x04,0x06,0x0a,0x7e]
0x04,0x06,0x0a,0x7e
@@ -19527,18 +20121,18 @@
# 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 v5, v[1:2] ; encoding: [0x01,0x07,0x0a,0x7e]
-0x01,0x07,0x0a,0x7e
+# 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_e32 v5, v[254:255] ; encoding: [0xfe,0x07,0x0a,0x7e]
-0xfe,0x07,0x0a,0x7e
+# CHECK: v_cvt_i32_f64_e64 v255, v[1:2] ; encoding: [0xff,0x00,0x43,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x43,0xd1,0x01,0x01,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 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_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 v5, s[4:5] ; encoding: [0x05,0x00,0x43,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x43,0xd1,0x04,0x00,0x00,0x00
@@ -19575,27 +20169,27 @@
# 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 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 v5, -v[1:2] ; encoding: [0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v[1:2]| ; encoding: [0x05,0x01,0x43,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x43,0xd1,0x01,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 v5, v[1:2] clamp ; encoding: [0x05,0x80,0x43,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x43,0xd1,0x01,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_f64_i32_e32 v[5:6], v1 ; encoding: [0x01,0x09,0x0a,0x7e]
+0x01,0x09,0x0a,0x7e
-# 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_f64_i32_e32 v[254:255], v1 ; encoding: [0x01,0x09,0xfc,0x7f]
+0x01,0x09,0xfc,0x7f
+
+# 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[5:6], s1 ; encoding: [0x01,0x08,0x0a,0x7e]
0x01,0x08,0x0a,0x7e
-# 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[5:6], s101 ; encoding: [0x65,0x08,0x0a,0x7e]
0x65,0x08,0x0a,0x7e
@@ -19647,27 +20241,24 @@
# 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[5:6], scc ; encoding: [0xfd,0x08,0x0a,0x7e]
-0xfd,0x08,0x0a,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[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[5:6], v1 ; encoding: [0x01,0x09,0x0a,0x7e]
-0x01,0x09,0x0a,0x7e
+# 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_e32 v[5:6], v255 ; encoding: [0xff,0x09,0x0a,0x7e]
-0xff,0x09,0x0a,0x7e
+# CHECK: v_cvt_f64_i32_e64 v[254:255], v1 ; encoding: [0xfe,0x00,0x44,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x44,0xd1,0x01,0x01,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[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_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[5:6], s101 ; encoding: [0x05,0x00,0x44,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x44,0xd1,0x65,0x00,0x00,0x00
@@ -19719,21 +20310,30 @@
# 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[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[5:6], v1 clamp ; encoding: [0x05,0x80,0x44,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x44,0xd1,0x01,0x01,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[5:6], v1 mul:2 ; encoding: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x08
-# 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[5:6], v1 mul:4 ; encoding: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f64_i32_e64 v[5:6], v1 div:2 ; encoding: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_i32_e32 v5, v1 ; encoding: [0x01,0x0b,0x0a,0x7e]
+0x01,0x0b,0x0a,0x7e
+
+# CHECK: v_cvt_f32_i32_e32 v255, v1 ; encoding: [0x01,0x0b,0xfe,0x7f]
+0x01,0x0b,0xfe,0x7f
+
+# CHECK: v_cvt_f32_i32_e32 v5, v255 ; encoding: [0xff,0x0b,0x0a,0x7e]
+0xff,0x0b,0x0a,0x7e
# CHECK: v_cvt_f32_i32_e32 v5, s1 ; encoding: [0x01,0x0a,0x0a,0x7e]
0x01,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v255, s1 ; encoding: [0x01,0x0a,0xfe,0x7f]
-0x01,0x0a,0xfe,0x7f
-
# CHECK: v_cvt_f32_i32_e32 v5, s101 ; encoding: [0x65,0x0a,0x0a,0x7e]
0x65,0x0a,0x0a,0x7e
@@ -19785,27 +20385,24 @@
# CHECK: v_cvt_f32_i32_e32 v5, -4.0 ; encoding: [0xf7,0x0a,0x0a,0x7e]
0xf7,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v5, scc ; encoding: [0xfd,0x0a,0x0a,0x7e]
-0xfd,0x0a,0x0a,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 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 v5, v1 ; encoding: [0x01,0x0b,0x0a,0x7e]
-0x01,0x0b,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x0b,0x0a,0x7e]
-0xff,0x0b,0x0a,0x7e
+# CHECK: v_cvt_f32_i32_e64 v255, v1 ; encoding: [0xff,0x00,0x45,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x45,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x00
-# 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 v5, s101 ; encoding: [0x05,0x00,0x45,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x45,0xd1,0x65,0x00,0x00,0x00
@@ -19857,21 +20454,30 @@
# 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 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 v5, v1 clamp ; encoding: [0x05,0x80,0x45,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x45,0xd1,0x01,0x01,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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x08
-# 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 v5, v1 mul:4 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_i32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_u32_e32 v5, v1 ; encoding: [0x01,0x0d,0x0a,0x7e]
+0x01,0x0d,0x0a,0x7e
+
+# CHECK: v_cvt_f32_u32_e32 v255, v1 ; encoding: [0x01,0x0d,0xfe,0x7f]
+0x01,0x0d,0xfe,0x7f
+
+# CHECK: v_cvt_f32_u32_e32 v5, v255 ; encoding: [0xff,0x0d,0x0a,0x7e]
+0xff,0x0d,0x0a,0x7e
# CHECK: v_cvt_f32_u32_e32 v5, s1 ; encoding: [0x01,0x0c,0x0a,0x7e]
0x01,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v255, s1 ; encoding: [0x01,0x0c,0xfe,0x7f]
-0x01,0x0c,0xfe,0x7f
-
# CHECK: v_cvt_f32_u32_e32 v5, s101 ; encoding: [0x65,0x0c,0x0a,0x7e]
0x65,0x0c,0x0a,0x7e
@@ -19923,27 +20529,24 @@
# CHECK: v_cvt_f32_u32_e32 v5, -4.0 ; encoding: [0xf7,0x0c,0x0a,0x7e]
0xf7,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v5, scc ; encoding: [0xfd,0x0c,0x0a,0x7e]
-0xfd,0x0c,0x0a,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 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 v5, v1 ; encoding: [0x01,0x0d,0x0a,0x7e]
-0x01,0x0d,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x0d,0x0a,0x7e]
-0xff,0x0d,0x0a,0x7e
+# CHECK: v_cvt_f32_u32_e64 v255, v1 ; encoding: [0xff,0x00,0x46,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x46,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x00
-# 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 v5, s101 ; encoding: [0x05,0x00,0x46,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x46,0xd1,0x65,0x00,0x00,0x00
@@ -19995,21 +20598,30 @@
# 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 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 v5, v1 clamp ; encoding: [0x05,0x80,0x46,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x46,0xd1,0x01,0x01,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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x08
-# 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 v5, v1 mul:4 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_u32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_u32_f32_e32 v5, v1 ; encoding: [0x01,0x0f,0x0a,0x7e]
+0x01,0x0f,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f32_e32 v255, v1 ; encoding: [0x01,0x0f,0xfe,0x7f]
+0x01,0x0f,0xfe,0x7f
+
+# CHECK: v_cvt_u32_f32_e32 v5, v255 ; encoding: [0xff,0x0f,0x0a,0x7e]
+0xff,0x0f,0x0a,0x7e
# CHECK: v_cvt_u32_f32_e32 v5, s1 ; encoding: [0x01,0x0e,0x0a,0x7e]
0x01,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v255, s1 ; encoding: [0x01,0x0e,0xfe,0x7f]
-0x01,0x0e,0xfe,0x7f
-
# CHECK: v_cvt_u32_f32_e32 v5, s101 ; encoding: [0x65,0x0e,0x0a,0x7e]
0x65,0x0e,0x0a,0x7e
@@ -20061,27 +20673,24 @@
# CHECK: v_cvt_u32_f32_e32 v5, -4.0 ; encoding: [0xf7,0x0e,0x0a,0x7e]
0xf7,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v5, scc ; encoding: [0xfd,0x0e,0x0a,0x7e]
-0xfd,0x0e,0x0a,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 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 v5, v1 ; encoding: [0x01,0x0f,0x0a,0x7e]
-0x01,0x0f,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x0f,0x0a,0x7e]
-0xff,0x0f,0x0a,0x7e
+# CHECK: v_cvt_u32_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x47,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x47,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x47,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x47,0xd1,0x01,0x00,0x00,0x00
-# 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 v5, s101 ; encoding: [0x05,0x00,0x47,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x47,0xd1,0x65,0x00,0x00,0x00
@@ -20133,30 +20742,27 @@
# 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 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 v5, -v1 ; encoding: [0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x47,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x47,0xd1,0x01,0x01,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 v5, v1 clamp ; encoding: [0x05,0x80,0x47,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x47,0xd1,0x01,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_i32_f32_e32 v5, v1 ; encoding: [0x01,0x11,0x0a,0x7e]
+0x01,0x11,0x0a,0x7e
-# 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_i32_f32_e32 v255, v1 ; encoding: [0x01,0x11,0xfe,0x7f]
+0x01,0x11,0xfe,0x7f
-# 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_i32_f32_e32 v5, v255 ; encoding: [0xff,0x11,0x0a,0x7e]
+0xff,0x11,0x0a,0x7e
# CHECK: v_cvt_i32_f32_e32 v5, s1 ; encoding: [0x01,0x10,0x0a,0x7e]
0x01,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v255, s1 ; encoding: [0x01,0x10,0xfe,0x7f]
-0x01,0x10,0xfe,0x7f
-
# CHECK: v_cvt_i32_f32_e32 v5, s101 ; encoding: [0x65,0x10,0x0a,0x7e]
0x65,0x10,0x0a,0x7e
@@ -20208,27 +20814,24 @@
# CHECK: v_cvt_i32_f32_e32 v5, -4.0 ; encoding: [0xf7,0x10,0x0a,0x7e]
0xf7,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v5, scc ; encoding: [0xfd,0x10,0x0a,0x7e]
-0xfd,0x10,0x0a,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 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 v5, v1 ; encoding: [0x01,0x11,0x0a,0x7e]
-0x01,0x11,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x11,0x0a,0x7e]
-0xff,0x11,0x0a,0x7e
+# CHECK: v_cvt_i32_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x48,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x48,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x48,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x48,0xd1,0x01,0x00,0x00,0x00
-# 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 v5, s101 ; encoding: [0x05,0x00,0x48,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x48,0xd1,0x65,0x00,0x00,0x00
@@ -20280,30 +20883,159 @@
# 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 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 v5, -v1 ; encoding: [0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x48,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x48,0xd1,0x01,0x01,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 v5, v1 clamp ; encoding: [0x05,0x80,0x48,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x48,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e32 v5, v1 ; encoding: [0x01,0x13,0x0a,0x7e]
+0x01,0x13,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v255, v1 ; encoding: [0x01,0x13,0xfe,0x7f]
+0x01,0x13,0xfe,0x7f
+
+# CHECK: v_mov_fed_b32_e32 v5, v255 ; encoding: [0xff,0x13,0x0a,0x7e]
+0xff,0x13,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, s1 ; encoding: [0x01,0x12,0x0a,0x7e]
+0x01,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, s101 ; encoding: [0x65,0x12,0x0a,0x7e]
+0x65,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x12,0x0a,0x7e]
+0x66,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x12,0x0a,0x7e]
+0x67,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x12,0x0a,0x7e]
+0x6a,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x12,0x0a,0x7e]
+0x6b,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, tba_lo ; encoding: [0x6c,0x12,0x0a,0x7e]
+0x6c,0x12,0x0a,0x7e
-# 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_mov_fed_b32_e32 v5, tba_hi ; encoding: [0x6d,0x12,0x0a,0x7e]
+0x6d,0x12,0x0a,0x7e
-# 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_mov_fed_b32_e32 v5, tma_lo ; encoding: [0x6e,0x12,0x0a,0x7e]
+0x6e,0x12,0x0a,0x7e
-# 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_mov_fed_b32_e32 v5, tma_hi ; encoding: [0x6f,0x12,0x0a,0x7e]
+0x6f,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, ttmp11 ; encoding: [0x7b,0x12,0x0a,0x7e]
+0x7b,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, m0 ; encoding: [0x7c,0x12,0x0a,0x7e]
+0x7c,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, exec_lo ; encoding: [0x7e,0x12,0x0a,0x7e]
+0x7e,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, exec_hi ; encoding: [0x7f,0x12,0x0a,0x7e]
+0x7f,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, 0 ; encoding: [0x80,0x12,0x0a,0x7e]
+0x80,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, -1 ; encoding: [0xc1,0x12,0x0a,0x7e]
+0xc1,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, 0.5 ; encoding: [0xf0,0x12,0x0a,0x7e]
+0xf0,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, -4.0 ; encoding: [0xf7,0x12,0x0a,0x7e]
+0xf7,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, 0xaf123456 ; encoding: [0xff,0x12,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x12,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# CHECK: v_mov_fed_b32_e32 v5, 0x3f717273 ; encoding: [0xff,0x12,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x12,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# CHECK: v_mov_fed_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x49,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, v255 ; encoding: [0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, s1 ; encoding: [0x05,0x00,0x49,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, s101 ; encoding: [0x05,0x00,0x49,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x49,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x49,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x49,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x49,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x49,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x49,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x49,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x49,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x49,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, m0 ; encoding: [0x05,0x00,0x49,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x49,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x49,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, 0 ; encoding: [0x05,0x00,0x49,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, -1 ; encoding: [0x05,0x00,0x49,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x49,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x49,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_f32_e32 v5, v1 ; encoding: [0x01,0x15,0x0a,0x7e]
+0x01,0x15,0x0a,0x7e
+
+# CHECK: v_cvt_f16_f32_e32 v255, v1 ; encoding: [0x01,0x15,0xfe,0x7f]
+0x01,0x15,0xfe,0x7f
+
+# CHECK: v_cvt_f16_f32_e32 v5, v255 ; encoding: [0xff,0x15,0x0a,0x7e]
+0xff,0x15,0x0a,0x7e
# CHECK: v_cvt_f16_f32_e32 v5, s1 ; encoding: [0x01,0x14,0x0a,0x7e]
0x01,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v255, s1 ; encoding: [0x01,0x14,0xfe,0x7f]
-0x01,0x14,0xfe,0x7f
-
# CHECK: v_cvt_f16_f32_e32 v5, s101 ; encoding: [0x65,0x14,0x0a,0x7e]
0x65,0x14,0x0a,0x7e
@@ -20355,27 +21087,24 @@
# CHECK: v_cvt_f16_f32_e32 v5, -4.0 ; encoding: [0xf7,0x14,0x0a,0x7e]
0xf7,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v5, scc ; encoding: [0xfd,0x14,0x0a,0x7e]
-0xfd,0x14,0x0a,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 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 v5, v1 ; encoding: [0x01,0x15,0x0a,0x7e]
-0x01,0x15,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x15,0x0a,0x7e]
-0xff,0x15,0x0a,0x7e
+# CHECK: v_cvt_f16_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x4a,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4a,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x00
-# 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 v5, s101 ; encoding: [0x05,0x00,0x4a,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x4a,0xd1,0x65,0x00,0x00,0x00
@@ -20427,39 +21156,36 @@
# 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 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 v5, -v1 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x4a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4a,0xd1,0x01,0x01,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 v5, v1 clamp ; encoding: [0x05,0x80,0x4a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4a,0xd1,0x01,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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x08
-# 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 v5, v1 mul:4 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x10
-# 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 v5, v1 div:2 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x18
-# 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_f32_f16_e32 v5, v1 ; encoding: [0x01,0x17,0x0a,0x7e]
+0x01,0x17,0x0a,0x7e
-# 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_f32_f16_e32 v255, v1 ; encoding: [0x01,0x17,0xfe,0x7f]
+0x01,0x17,0xfe,0x7f
-# 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_f32_f16_e32 v5, v255 ; encoding: [0xff,0x17,0x0a,0x7e]
+0xff,0x17,0x0a,0x7e
# CHECK: v_cvt_f32_f16_e32 v5, s1 ; encoding: [0x01,0x16,0x0a,0x7e]
0x01,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v255, s1 ; encoding: [0x01,0x16,0xfe,0x7f]
-0x01,0x16,0xfe,0x7f
-
# CHECK: v_cvt_f32_f16_e32 v5, s101 ; encoding: [0x65,0x16,0x0a,0x7e]
0x65,0x16,0x0a,0x7e
@@ -20511,27 +21237,24 @@
# CHECK: v_cvt_f32_f16_e32 v5, -4.0 ; encoding: [0xf7,0x16,0x0a,0x7e]
0xf7,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v5, scc ; encoding: [0xfd,0x16,0x0a,0x7e]
-0xfd,0x16,0x0a,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 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 v5, v1 ; encoding: [0x01,0x17,0x0a,0x7e]
-0x01,0x17,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x17,0x0a,0x7e]
-0xff,0x17,0x0a,0x7e
+# CHECK: v_cvt_f32_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x4b,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4b,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x00
-# 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 v5, s101 ; encoding: [0x05,0x00,0x4b,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x4b,0xd1,0x65,0x00,0x00,0x00
@@ -20583,39 +21306,36 @@
# 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 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 v5, -v1 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x4b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4b,0xd1,0x01,0x01,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 v5, v1 clamp ; encoding: [0x05,0x80,0x4b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4b,0xd1,0x01,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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x08
-# 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_f32_f16_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x10
-# 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_f32_f16_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x19,0x0a,0x7e]
+0x01,0x19,0x0a,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 v255, v1 ; encoding: [0x01,0x19,0xfe,0x7f]
+0x01,0x19,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x19,0x0a,0x7e]
+0xff,0x19,0x0a,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 v255, s1 ; encoding: [0x01,0x18,0xfe,0x7f]
-0x01,0x18,0xfe,0x7f
-
# CHECK: v_cvt_rpi_i32_f32_e32 v5, s101 ; encoding: [0x65,0x18,0x0a,0x7e]
0x65,0x18,0x0a,0x7e
@@ -20667,27 +21387,24 @@
# 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 v5, scc ; encoding: [0xfd,0x18,0x0a,0x7e]
-0xfd,0x18,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x19,0x0a,0x7e]
-0x01,0x19,0x0a,0x7e
+# 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_rpi_i32_f32_e32 v5, v255 ; encoding: [0xff,0x19,0x0a,0x7e]
-0xff,0x19,0x0a,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s101 ; encoding: [0x05,0x00,0x4c,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x4c,0xd1,0x65,0x00,0x00,0x00
@@ -20739,30 +21456,27 @@
# 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 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 v5, -v1 ; encoding: [0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x20
-# 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_rpi_i32_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x4c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4c,0xd1,0x01,0x01,0x00,0x00
-# 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_rpi_i32_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x4c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4c,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 ; encoding: [0x01,0x1b,0x0a,0x7e]
+0x01,0x1b,0x0a,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 v255, v1 ; encoding: [0x01,0x1b,0xfe,0x7f]
+0x01,0x1b,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x1b,0x0a,0x7e]
+0xff,0x1b,0x0a,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 v255, s1 ; encoding: [0x01,0x1a,0xfe,0x7f]
-0x01,0x1a,0xfe,0x7f
-
# CHECK: v_cvt_flr_i32_f32_e32 v5, s101 ; encoding: [0x65,0x1a,0x0a,0x7e]
0x65,0x1a,0x0a,0x7e
@@ -20814,27 +21528,24 @@
# 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 v5, scc ; encoding: [0xfd,0x1a,0x0a,0x7e]
-0xfd,0x1a,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x1b,0x0a,0x7e]
-0x01,0x1b,0x0a,0x7e
+# 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_flr_i32_f32_e32 v5, v255 ; encoding: [0xff,0x1b,0x0a,0x7e]
-0xff,0x1b,0x0a,0x7e
+# CHECK: v_cvt_flr_i32_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s101 ; encoding: [0x05,0x00,0x4d,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x4d,0xd1,0x65,0x00,0x00,0x00
@@ -20886,30 +21597,27 @@
# 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 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 v5, -v1 ; encoding: [0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x20
-# 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_flr_i32_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x4d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4d,0xd1,0x01,0x01,0x00,0x00
-# 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_flr_i32_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x4d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4d,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 ; encoding: [0x01,0x1d,0x0a,0x7e]
+0x01,0x1d,0x0a,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 v255, v1 ; encoding: [0x01,0x1d,0xfe,0x7f]
+0x01,0x1d,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x1d,0x0a,0x7e]
+0xff,0x1d,0x0a,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 v255, s1 ; encoding: [0x01,0x1c,0xfe,0x7f]
-0x01,0x1c,0xfe,0x7f
-
# CHECK: v_cvt_off_f32_i4_e32 v5, s101 ; encoding: [0x65,0x1c,0x0a,0x7e]
0x65,0x1c,0x0a,0x7e
@@ -20961,27 +21669,24 @@
# 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 v5, scc ; encoding: [0xfd,0x1c,0x0a,0x7e]
-0xfd,0x1c,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x1d,0x0a,0x7e]
-0x01,0x1d,0x0a,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_off_f32_i4_e32 v5, v255 ; encoding: [0xff,0x1d,0x0a,0x7e]
-0xff,0x1d,0x0a,0x7e
+# CHECK: v_cvt_off_f32_i4_e64 v255, v1 ; encoding: [0xff,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s101 ; encoding: [0x05,0x00,0x4e,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x4e,0xd1,0x65,0x00,0x00,0x00
@@ -21033,21 +21738,30 @@
# 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_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_off_f32_i4_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x4e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4e,0xd1,0x01,0x01,0x00,0x00
-# 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_off_f32_i4_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x08
-# 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_off_f32_i4_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_off_f32_i4_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_f64_e32 v5, v[1:2] ; encoding: [0x01,0x1f,0x0a,0x7e]
+0x01,0x1f,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f64_e32 v255, v[1:2] ; encoding: [0x01,0x1f,0xfe,0x7f]
+0x01,0x1f,0xfe,0x7f
+
+# CHECK: v_cvt_f32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x1f,0x0a,0x7e]
+0xfe,0x1f,0x0a,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 v255, s[2:3] ; encoding: [0x02,0x1e,0xfe,0x7f]
-0x02,0x1e,0xfe,0x7f
-
# CHECK: v_cvt_f32_f64_e32 v5, s[4:5] ; encoding: [0x04,0x1e,0x0a,0x7e]
0x04,0x1e,0x0a,0x7e
@@ -21090,18 +21804,18 @@
# 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_e32 v5, v[1:2] ; encoding: [0x01,0x1f,0x0a,0x7e]
-0x01,0x1f,0x0a,0x7e
+# 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_e32 v5, v[254:255] ; encoding: [0xfe,0x1f,0x0a,0x7e]
-0xfe,0x1f,0x0a,0x7e
+# CHECK: v_cvt_f32_f64_e64 v255, v[1:2] ; encoding: [0xff,0x00,0x4f,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4f,0xd1,0x01,0x01,0x00,0x00
+
+# 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 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 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 v5, s[4:5] ; encoding: [0x05,0x00,0x4f,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x4f,0xd1,0x04,0x00,0x00,0x00
@@ -21138,36 +21852,36 @@
# 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 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 v5, -v[1:2] ; encoding: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v[1:2]| ; encoding: [0x05,0x01,0x4f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4f,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v[1:2] clamp ; encoding: [0x05,0x80,0x4f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4f,0xd1,0x01,0x01,0x00,0x00
-# 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_f32_f64_e64 v5, v[1:2] mul:2 ; encoding: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x08
-# 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_f32_f64_e64 v5, v[1:2] mul:4 ; encoding: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x10
-# 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_f32_f64_e64 v5, v[1:2] div:2 ; encoding: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x18
-# 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[5:6], v1 ; encoding: [0x01,0x21,0x0a,0x7e]
+0x01,0x21,0x0a,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[254:255], v1 ; encoding: [0x01,0x21,0xfc,0x7f]
+0x01,0x21,0xfc,0x7f
+
+# CHECK: v_cvt_f64_f32_e32 v[5:6], v255 ; encoding: [0xff,0x21,0x0a,0x7e]
+0xff,0x21,0x0a,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[254:255], s1 ; encoding: [0x01,0x20,0xfc,0x7f]
-0x01,0x20,0xfc,0x7f
-
# CHECK: v_cvt_f64_f32_e32 v[5:6], s101 ; encoding: [0x65,0x20,0x0a,0x7e]
0x65,0x20,0x0a,0x7e
@@ -21219,27 +21933,24 @@
# 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[5:6], scc ; encoding: [0xfd,0x20,0x0a,0x7e]
-0xfd,0x20,0x0a,0x7e
-
# 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_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_e32 v[5:6], v1 ; encoding: [0x01,0x21,0x0a,0x7e]
-0x01,0x21,0x0a,0x7e
+# 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_e32 v[5:6], v255 ; encoding: [0xff,0x21,0x0a,0x7e]
-0xff,0x21,0x0a,0x7e
+# CHECK: v_cvt_f64_f32_e64 v[254:255], v1 ; encoding: [0xfe,0x00,0x50,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x50,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[5:6], s101 ; encoding: [0x05,0x00,0x50,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x50,0xd1,0x65,0x00,0x00,0x00
@@ -21291,39 +22002,36 @@
# 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[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[5:6], -v1 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x20
-# 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[5:6], |v1| ; encoding: [0x05,0x01,0x50,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x50,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v1 clamp ; encoding: [0x05,0x80,0x50,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x50,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v1 mul:2 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x08
-# 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_f64_f32_e64 v[5:6], v1 mul:4 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x10
-# 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_f64_f32_e64 v[5:6], v1 div:2 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x23,0x0a,0x7e]
+0x01,0x23,0x0a,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 v255, v1 ; encoding: [0x01,0x23,0xfe,0x7f]
+0x01,0x23,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x23,0x0a,0x7e]
+0xff,0x23,0x0a,0x7e
# CHECK: v_cvt_f32_ubyte0_e32 v5, s1 ; encoding: [0x01,0x22,0x0a,0x7e]
0x01,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v255, s1 ; encoding: [0x01,0x22,0xfe,0x7f]
-0x01,0x22,0xfe,0x7f
-
# CHECK: v_cvt_f32_ubyte0_e32 v5, s101 ; encoding: [0x65,0x22,0x0a,0x7e]
0x65,0x22,0x0a,0x7e
@@ -21375,27 +22083,24 @@
# CHECK: v_cvt_f32_ubyte0_e32 v5, -4.0 ; encoding: [0xf7,0x22,0x0a,0x7e]
0xf7,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v5, scc ; encoding: [0xfd,0x22,0x0a,0x7e]
-0xfd,0x22,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x23,0x0a,0x7e]
-0x01,0x23,0x0a,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_ubyte0_e32 v5, v255 ; encoding: [0xff,0x23,0x0a,0x7e]
-0xff,0x23,0x0a,0x7e
+# CHECK: v_cvt_f32_ubyte0_e64 v255, v1 ; encoding: [0xff,0x00,0x51,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x51,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s101 ; encoding: [0x05,0x00,0x51,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x51,0xd1,0x65,0x00,0x00,0x00
@@ -21447,21 +22152,30 @@
# 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_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_ubyte0_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x51,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x51,0xd1,0x01,0x01,0x00,0x00
-# 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_ubyte0_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x08
-# 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_ubyte0_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_ubyte0_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, v1 ; encoding: [0x01,0x25,0x0a,0x7e]
+0x01,0x25,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte1_e32 v255, v1 ; encoding: [0x01,0x25,0xfe,0x7f]
+0x01,0x25,0xfe,0x7f
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, v255 ; encoding: [0xff,0x25,0x0a,0x7e]
+0xff,0x25,0x0a,0x7e
# CHECK: v_cvt_f32_ubyte1_e32 v5, s1 ; encoding: [0x01,0x24,0x0a,0x7e]
0x01,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v255, s1 ; encoding: [0x01,0x24,0xfe,0x7f]
-0x01,0x24,0xfe,0x7f
-
# CHECK: v_cvt_f32_ubyte1_e32 v5, s101 ; encoding: [0x65,0x24,0x0a,0x7e]
0x65,0x24,0x0a,0x7e
@@ -21513,27 +22227,24 @@
# CHECK: v_cvt_f32_ubyte1_e32 v5, -4.0 ; encoding: [0xf7,0x24,0x0a,0x7e]
0xf7,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v5, scc ; encoding: [0xfd,0x24,0x0a,0x7e]
-0xfd,0x24,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x25,0x0a,0x7e]
-0x01,0x25,0x0a,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_ubyte1_e32 v5, v255 ; encoding: [0xff,0x25,0x0a,0x7e]
-0xff,0x25,0x0a,0x7e
+# CHECK: v_cvt_f32_ubyte1_e64 v255, v1 ; encoding: [0xff,0x00,0x52,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x52,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s101 ; encoding: [0x05,0x00,0x52,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x52,0xd1,0x65,0x00,0x00,0x00
@@ -21585,21 +22296,30 @@
# 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_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_ubyte1_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x52,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x52,0xd1,0x01,0x01,0x00,0x00
-# 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_ubyte1_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x08
-# 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_ubyte1_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_ubyte1_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, v1 ; encoding: [0x01,0x27,0x0a,0x7e]
+0x01,0x27,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte2_e32 v255, v1 ; encoding: [0x01,0x27,0xfe,0x7f]
+0x01,0x27,0xfe,0x7f
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, v255 ; encoding: [0xff,0x27,0x0a,0x7e]
+0xff,0x27,0x0a,0x7e
# CHECK: v_cvt_f32_ubyte2_e32 v5, s1 ; encoding: [0x01,0x26,0x0a,0x7e]
0x01,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v255, s1 ; encoding: [0x01,0x26,0xfe,0x7f]
-0x01,0x26,0xfe,0x7f
-
# CHECK: v_cvt_f32_ubyte2_e32 v5, s101 ; encoding: [0x65,0x26,0x0a,0x7e]
0x65,0x26,0x0a,0x7e
@@ -21651,27 +22371,24 @@
# CHECK: v_cvt_f32_ubyte2_e32 v5, -4.0 ; encoding: [0xf7,0x26,0x0a,0x7e]
0xf7,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v5, scc ; encoding: [0xfd,0x26,0x0a,0x7e]
-0xfd,0x26,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x27,0x0a,0x7e]
-0x01,0x27,0x0a,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_ubyte2_e32 v5, v255 ; encoding: [0xff,0x27,0x0a,0x7e]
-0xff,0x27,0x0a,0x7e
+# CHECK: v_cvt_f32_ubyte2_e64 v255, v1 ; encoding: [0xff,0x00,0x53,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x53,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s101 ; encoding: [0x05,0x00,0x53,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x53,0xd1,0x65,0x00,0x00,0x00
@@ -21723,21 +22440,30 @@
# 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_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_ubyte2_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x53,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x53,0xd1,0x01,0x01,0x00,0x00
-# 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_ubyte2_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x08
-# 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_ubyte2_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_ubyte2_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, v1 ; encoding: [0x01,0x29,0x0a,0x7e]
+0x01,0x29,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte3_e32 v255, v1 ; encoding: [0x01,0x29,0xfe,0x7f]
+0x01,0x29,0xfe,0x7f
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, v255 ; encoding: [0xff,0x29,0x0a,0x7e]
+0xff,0x29,0x0a,0x7e
# CHECK: v_cvt_f32_ubyte3_e32 v5, s1 ; encoding: [0x01,0x28,0x0a,0x7e]
0x01,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v255, s1 ; encoding: [0x01,0x28,0xfe,0x7f]
-0x01,0x28,0xfe,0x7f
-
# CHECK: v_cvt_f32_ubyte3_e32 v5, s101 ; encoding: [0x65,0x28,0x0a,0x7e]
0x65,0x28,0x0a,0x7e
@@ -21789,27 +22515,24 @@
# CHECK: v_cvt_f32_ubyte3_e32 v5, -4.0 ; encoding: [0xf7,0x28,0x0a,0x7e]
0xf7,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v5, scc ; encoding: [0xfd,0x28,0x0a,0x7e]
-0xfd,0x28,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x29,0x0a,0x7e]
-0x01,0x29,0x0a,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_f32_ubyte3_e32 v5, v255 ; encoding: [0xff,0x29,0x0a,0x7e]
-0xff,0x29,0x0a,0x7e
+# CHECK: v_cvt_f32_ubyte3_e64 v255, v1 ; encoding: [0xff,0x00,0x54,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x54,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s101 ; encoding: [0x05,0x00,0x54,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x54,0xd1,0x65,0x00,0x00,0x00
@@ -21861,21 +22584,30 @@
# 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_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_f32_ubyte3_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x54,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x54,0xd1,0x01,0x01,0x00,0x00
-# 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_f32_ubyte3_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x08
-# 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_f32_ubyte3_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_ubyte3_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_u32_f64_e32 v5, v[1:2] ; encoding: [0x01,0x2b,0x0a,0x7e]
+0x01,0x2b,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f64_e32 v255, v[1:2] ; encoding: [0x01,0x2b,0xfe,0x7f]
+0x01,0x2b,0xfe,0x7f
+
+# CHECK: v_cvt_u32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x2b,0x0a,0x7e]
+0xfe,0x2b,0x0a,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 v255, s[2:3] ; encoding: [0x02,0x2a,0xfe,0x7f]
-0x02,0x2a,0xfe,0x7f
-
# CHECK: v_cvt_u32_f64_e32 v5, s[4:5] ; encoding: [0x04,0x2a,0x0a,0x7e]
0x04,0x2a,0x0a,0x7e
@@ -21918,18 +22650,18 @@
# 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_e32 v5, v[1:2] ; encoding: [0x01,0x2b,0x0a,0x7e]
-0x01,0x2b,0x0a,0x7e
+# 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_u32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x2b,0x0a,0x7e]
-0xfe,0x2b,0x0a,0x7e
+# CHECK: v_cvt_u32_f64_e64 v255, v[1:2] ; encoding: [0xff,0x00,0x55,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x55,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s[4:5] ; encoding: [0x05,0x00,0x55,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x55,0xd1,0x04,0x00,0x00,0x00
@@ -21966,27 +22698,27 @@
# 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 v5, v[1:2] ; encoding: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x00]
-0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, -v[1:2] ; encoding: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x20
-# 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_u32_f64_e64 v5, |v[1:2]| ; encoding: [0x05,0x01,0x55,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x55,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_u32_f64_e64 v5, v[1:2] clamp ; encoding: [0x05,0x80,0x55,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x55,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v1 ; encoding: [0x01,0x2d,0x0a,0x7e]
+0x01,0x2d,0x0a,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[254:255], v1 ; encoding: [0x01,0x2d,0xfc,0x7f]
+0x01,0x2d,0xfc,0x7f
-# 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[5:6], v255 ; encoding: [0xff,0x2d,0x0a,0x7e]
+0xff,0x2d,0x0a,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[254:255], s1 ; encoding: [0x01,0x2c,0xfc,0x7f]
-0x01,0x2c,0xfc,0x7f
-
# CHECK: v_cvt_f64_u32_e32 v[5:6], s101 ; encoding: [0x65,0x2c,0x0a,0x7e]
0x65,0x2c,0x0a,0x7e
@@ -22038,27 +22770,24 @@
# 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[5:6], scc ; encoding: [0xfd,0x2c,0x0a,0x7e]
-0xfd,0x2c,0x0a,0x7e
-
# 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_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_e32 v[5:6], v1 ; encoding: [0x01,0x2d,0x0a,0x7e]
-0x01,0x2d,0x0a,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_cvt_f64_u32_e32 v[5:6], v255 ; encoding: [0xff,0x2d,0x0a,0x7e]
-0xff,0x2d,0x0a,0x7e
+# CHECK: v_cvt_f64_u32_e64 v[254:255], v1 ; encoding: [0xfe,0x00,0x56,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x56,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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[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[5:6], s101 ; encoding: [0x05,0x00,0x56,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x56,0xd1,0x65,0x00,0x00,0x00
@@ -22110,21 +22839,30 @@
# 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_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_cvt_f64_u32_e64 v[5:6], v1 clamp ; encoding: [0x05,0x80,0x56,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x56,0xd1,0x01,0x01,0x00,0x00
-# 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_cvt_f64_u32_e64 v[5:6], v1 mul:2 ; encoding: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x08
-# 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_cvt_f64_u32_e64 v[5:6], v1 mul:4 ; encoding: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f64_u32_e64 v[5:6], v1 div:2 ; encoding: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_trunc_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x2f,0x0a,0x7e]
+0x01,0x2f,0x0a,0x7e
+
+# CHECK: v_trunc_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x2f,0xfc,0x7f]
+0x01,0x2f,0xfc,0x7f
+
+# CHECK: v_trunc_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x2f,0x0a,0x7e]
+0xfe,0x2f,0x0a,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[254:255], s[2:3] ; encoding: [0x02,0x2e,0xfc,0x7f]
-0x02,0x2e,0xfc,0x7f
-
# CHECK: v_trunc_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x2e,0x0a,0x7e]
0x04,0x2e,0x0a,0x7e
@@ -22167,18 +22905,18 @@
# 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_e32 v[5:6], v[1:2] ; encoding: [0x01,0x2f,0x0a,0x7e]
-0x01,0x2f,0x0a,0x7e
+# 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_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x2f,0x0a,0x7e]
-0xfe,0x2f,0x0a,0x7e
+# CHECK: v_trunc_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x57,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x57,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[5:6], s[4:5] ; encoding: [0x05,0x00,0x57,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x57,0xd1,0x04,0x00,0x00,0x00
@@ -22215,36 +22953,36 @@
# 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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x20
-# 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[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x57,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x57,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x57,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x57,0xd1,0x01,0x01,0x00,0x00
-# 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_trunc_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x08
-# 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_trunc_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x10
-# 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_trunc_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x18
-# 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[5:6], v[1:2] ; encoding: [0x01,0x31,0x0a,0x7e]
+0x01,0x31,0x0a,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[254:255], v[1:2] ; encoding: [0x01,0x31,0xfc,0x7f]
+0x01,0x31,0xfc,0x7f
+
+# CHECK: v_ceil_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x31,0x0a,0x7e]
+0xfe,0x31,0x0a,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[254:255], s[2:3] ; encoding: [0x02,0x30,0xfc,0x7f]
-0x02,0x30,0xfc,0x7f
-
# CHECK: v_ceil_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x30,0x0a,0x7e]
0x04,0x30,0x0a,0x7e
@@ -22287,18 +23025,18 @@
# 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_e32 v[5:6], v[1:2] ; encoding: [0x01,0x31,0x0a,0x7e]
-0x01,0x31,0x0a,0x7e
+# 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_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x31,0x0a,0x7e]
-0xfe,0x31,0x0a,0x7e
+# CHECK: v_ceil_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x58,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x58,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[5:6], s[4:5] ; encoding: [0x05,0x00,0x58,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x58,0xd1,0x04,0x00,0x00,0x00
@@ -22335,36 +23073,36 @@
# 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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x20
-# 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[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x58,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x58,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x58,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x58,0xd1,0x01,0x01,0x00,0x00
-# 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_ceil_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x08
-# 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_ceil_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x10
-# 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_ceil_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x18
-# 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[5:6], v[1:2] ; encoding: [0x01,0x33,0x0a,0x7e]
+0x01,0x33,0x0a,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[254:255], v[1:2] ; encoding: [0x01,0x33,0xfc,0x7f]
+0x01,0x33,0xfc,0x7f
+
+# CHECK: v_rndne_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x33,0x0a,0x7e]
+0xfe,0x33,0x0a,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[254:255], s[2:3] ; encoding: [0x02,0x32,0xfc,0x7f]
-0x02,0x32,0xfc,0x7f
-
# CHECK: v_rndne_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x32,0x0a,0x7e]
0x04,0x32,0x0a,0x7e
@@ -22407,18 +23145,18 @@
# 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_e32 v[5:6], v[1:2] ; encoding: [0x01,0x33,0x0a,0x7e]
-0x01,0x33,0x0a,0x7e
+# 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_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x33,0x0a,0x7e]
-0xfe,0x33,0x0a,0x7e
+# CHECK: v_rndne_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x59,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x59,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[5:6], s[4:5] ; encoding: [0x05,0x00,0x59,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x59,0xd1,0x04,0x00,0x00,0x00
@@ -22455,33 +23193,33 @@
# 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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x20
-# 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[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x59,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x59,0xd1,0x01,0x01,0x00,0x00
-# 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_rndne_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x08
-# 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_rndne_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x10
-# 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_rndne_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_floor_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x35,0x0a,0x7e]
+0x01,0x35,0x0a,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[254:255], v[1:2] ; encoding: [0x01,0x35,0xfc,0x7f]
+0x01,0x35,0xfc,0x7f
-# 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[5:6], v[254:255] ; encoding: [0xfe,0x35,0x0a,0x7e]
+0xfe,0x35,0x0a,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[254:255], s[2:3] ; encoding: [0x02,0x34,0xfc,0x7f]
-0x02,0x34,0xfc,0x7f
-
# CHECK: v_floor_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x34,0x0a,0x7e]
0x04,0x34,0x0a,0x7e
@@ -22524,18 +23262,18 @@
# 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_e32 v[5:6], v[1:2] ; encoding: [0x01,0x35,0x0a,0x7e]
-0x01,0x35,0x0a,0x7e
+# 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_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x35,0x0a,0x7e]
-0xfe,0x35,0x0a,0x7e
+# CHECK: v_floor_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x5a,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x5a,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[5:6], s[4:5] ; encoding: [0x05,0x00,0x5a,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x5a,0xd1,0x04,0x00,0x00,0x00
@@ -22572,33 +23310,33 @@
# 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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x20
-# 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[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x5a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_floor_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x08
-# 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_floor_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x10
-# 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_floor_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x37,0x0a,0x7e]
+0x01,0x37,0x0a,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 v255, v1 ; encoding: [0x01,0x37,0xfe,0x7f]
+0x01,0x37,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x37,0x0a,0x7e]
+0xff,0x37,0x0a,0x7e
# CHECK: v_fract_f32_e32 v5, s1 ; encoding: [0x01,0x36,0x0a,0x7e]
0x01,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v255, s1 ; encoding: [0x01,0x36,0xfe,0x7f]
-0x01,0x36,0xfe,0x7f
-
# CHECK: v_fract_f32_e32 v5, s101 ; encoding: [0x65,0x36,0x0a,0x7e]
0x65,0x36,0x0a,0x7e
@@ -22650,27 +23388,24 @@
# CHECK: v_fract_f32_e32 v5, -4.0 ; encoding: [0xf7,0x36,0x0a,0x7e]
0xf7,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v5, scc ; encoding: [0xfd,0x36,0x0a,0x7e]
-0xfd,0x36,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x36,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x36,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_fract_f32_e32 v5, v1 ; encoding: [0x01,0x37,0x0a,0x7e]
-0x01,0x37,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x37,0x0a,0x7e]
-0xff,0x37,0x0a,0x7e
+# CHECK: v_fract_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x5b,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x5b,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x5b,0xd1,0x65,0x00,0x00,0x00
@@ -22722,36 +23457,33 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x5b,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x5b,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x5b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5b,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x08
-# 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_fract_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x10
-# 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_fract_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x39,0x0a,0x7e]
+0x01,0x39,0x0a,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 v255, v1 ; encoding: [0x01,0x39,0xfe,0x7f]
+0x01,0x39,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x39,0x0a,0x7e]
+0xff,0x39,0x0a,0x7e
# CHECK: v_trunc_f32_e32 v5, s1 ; encoding: [0x01,0x38,0x0a,0x7e]
0x01,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v255, s1 ; encoding: [0x01,0x38,0xfe,0x7f]
-0x01,0x38,0xfe,0x7f
-
# CHECK: v_trunc_f32_e32 v5, s101 ; encoding: [0x65,0x38,0x0a,0x7e]
0x65,0x38,0x0a,0x7e
@@ -22803,27 +23535,24 @@
# CHECK: v_trunc_f32_e32 v5, -4.0 ; encoding: [0xf7,0x38,0x0a,0x7e]
0xf7,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v5, scc ; encoding: [0xfd,0x38,0x0a,0x7e]
-0xfd,0x38,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x38,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x38,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_trunc_f32_e32 v5, v1 ; encoding: [0x01,0x39,0x0a,0x7e]
-0x01,0x39,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x39,0x0a,0x7e]
-0xff,0x39,0x0a,0x7e
+# CHECK: v_trunc_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x5c,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x5c,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x5c,0xd1,0x65,0x00,0x00,0x00
@@ -22875,36 +23604,33 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x5c,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x5c,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x5c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5c,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x08
-# 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_trunc_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x10
-# 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_trunc_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x3b,0x0a,0x7e]
+0x01,0x3b,0x0a,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 v255, v1 ; encoding: [0x01,0x3b,0xfe,0x7f]
+0x01,0x3b,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x3b,0x0a,0x7e]
+0xff,0x3b,0x0a,0x7e
# CHECK: v_ceil_f32_e32 v5, s1 ; encoding: [0x01,0x3a,0x0a,0x7e]
0x01,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v255, s1 ; encoding: [0x01,0x3a,0xfe,0x7f]
-0x01,0x3a,0xfe,0x7f
-
# CHECK: v_ceil_f32_e32 v5, s101 ; encoding: [0x65,0x3a,0x0a,0x7e]
0x65,0x3a,0x0a,0x7e
@@ -22956,27 +23682,24 @@
# CHECK: v_ceil_f32_e32 v5, -4.0 ; encoding: [0xf7,0x3a,0x0a,0x7e]
0xf7,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v5, scc ; encoding: [0xfd,0x3a,0x0a,0x7e]
-0xfd,0x3a,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x3a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x3a,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_ceil_f32_e32 v5, v1 ; encoding: [0x01,0x3b,0x0a,0x7e]
-0x01,0x3b,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x3b,0x0a,0x7e]
-0xff,0x3b,0x0a,0x7e
+# CHECK: v_ceil_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x5d,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x5d,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x5d,0xd1,0x65,0x00,0x00,0x00
@@ -23028,36 +23751,33 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x5d,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x5d,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x5d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5d,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x08
-# 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_ceil_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x10
-# 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_ceil_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x3d,0x0a,0x7e]
+0x01,0x3d,0x0a,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 v255, v1 ; encoding: [0x01,0x3d,0xfe,0x7f]
+0x01,0x3d,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x3d,0x0a,0x7e]
+0xff,0x3d,0x0a,0x7e
# CHECK: v_rndne_f32_e32 v5, s1 ; encoding: [0x01,0x3c,0x0a,0x7e]
0x01,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v255, s1 ; encoding: [0x01,0x3c,0xfe,0x7f]
-0x01,0x3c,0xfe,0x7f
-
# CHECK: v_rndne_f32_e32 v5, s101 ; encoding: [0x65,0x3c,0x0a,0x7e]
0x65,0x3c,0x0a,0x7e
@@ -23109,27 +23829,24 @@
# CHECK: v_rndne_f32_e32 v5, -4.0 ; encoding: [0xf7,0x3c,0x0a,0x7e]
0xf7,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v5, scc ; encoding: [0xfd,0x3c,0x0a,0x7e]
-0xfd,0x3c,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x3c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x3c,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rndne_f32_e32 v5, v1 ; encoding: [0x01,0x3d,0x0a,0x7e]
-0x01,0x3d,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x3d,0x0a,0x7e]
-0xff,0x3d,0x0a,0x7e
+# CHECK: v_rndne_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x5e,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x5e,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x5e,0xd1,0x65,0x00,0x00,0x00
@@ -23181,36 +23898,33 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x5e,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x5e,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x5e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5e,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x08
-# 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_rndne_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x10
-# 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_rndne_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x3f,0x0a,0x7e]
+0x01,0x3f,0x0a,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 v255, v1 ; encoding: [0x01,0x3f,0xfe,0x7f]
+0x01,0x3f,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x3f,0x0a,0x7e]
+0xff,0x3f,0x0a,0x7e
# CHECK: v_floor_f32_e32 v5, s1 ; encoding: [0x01,0x3e,0x0a,0x7e]
0x01,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v255, s1 ; encoding: [0x01,0x3e,0xfe,0x7f]
-0x01,0x3e,0xfe,0x7f
-
# CHECK: v_floor_f32_e32 v5, s101 ; encoding: [0x65,0x3e,0x0a,0x7e]
0x65,0x3e,0x0a,0x7e
@@ -23262,27 +23976,24 @@
# CHECK: v_floor_f32_e32 v5, -4.0 ; encoding: [0xf7,0x3e,0x0a,0x7e]
0xf7,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v5, scc ; encoding: [0xfd,0x3e,0x0a,0x7e]
-0xfd,0x3e,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x3e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x3e,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_floor_f32_e32 v5, v1 ; encoding: [0x01,0x3f,0x0a,0x7e]
-0x01,0x3f,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x3f,0x0a,0x7e]
-0xff,0x3f,0x0a,0x7e
+# CHECK: v_floor_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x5f,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x5f,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x5f,0xd1,0x65,0x00,0x00,0x00
@@ -23334,39 +24045,36 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x5f,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x5f,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x5f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x5f,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x5f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5f,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x08
-# 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_floor_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x10
-# 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_floor_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x41,0x0a,0x7e]
+0x01,0x41,0x0a,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 v255, v1 ; encoding: [0x01,0x41,0xfe,0x7f]
+0x01,0x41,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x41,0x0a,0x7e]
+0xff,0x41,0x0a,0x7e
# CHECK: v_exp_f32_e32 v5, s1 ; encoding: [0x01,0x40,0x0a,0x7e]
0x01,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v255, s1 ; encoding: [0x01,0x40,0xfe,0x7f]
-0x01,0x40,0xfe,0x7f
-
# CHECK: v_exp_f32_e32 v5, s101 ; encoding: [0x65,0x40,0x0a,0x7e]
0x65,0x40,0x0a,0x7e
@@ -23418,27 +24126,24 @@
# CHECK: v_exp_f32_e32 v5, -4.0 ; encoding: [0xf7,0x40,0x0a,0x7e]
0xf7,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v5, scc ; encoding: [0xfd,0x40,0x0a,0x7e]
-0xfd,0x40,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x40,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x40,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_exp_f32_e32 v5, v1 ; encoding: [0x01,0x41,0x0a,0x7e]
-0x01,0x41,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x41,0x0a,0x7e]
-0xff,0x41,0x0a,0x7e
+# CHECK: v_exp_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x60,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x60,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x60,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x60,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x60,0xd1,0x65,0x00,0x00,0x00
@@ -23490,39 +24195,36 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x60,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x60,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x60,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x60,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x60,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x60,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x08
-# 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_exp_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x10
-# 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_exp_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x43,0x0a,0x7e]
+0x01,0x43,0x0a,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 v255, v1 ; encoding: [0x01,0x43,0xfe,0x7f]
+0x01,0x43,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x43,0x0a,0x7e]
+0xff,0x43,0x0a,0x7e
# CHECK: v_log_f32_e32 v5, s1 ; encoding: [0x01,0x42,0x0a,0x7e]
0x01,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v255, s1 ; encoding: [0x01,0x42,0xfe,0x7f]
-0x01,0x42,0xfe,0x7f
-
# CHECK: v_log_f32_e32 v5, s101 ; encoding: [0x65,0x42,0x0a,0x7e]
0x65,0x42,0x0a,0x7e
@@ -23574,27 +24276,24 @@
# CHECK: v_log_f32_e32 v5, -4.0 ; encoding: [0xf7,0x42,0x0a,0x7e]
0xf7,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v5, scc ; encoding: [0xfd,0x42,0x0a,0x7e]
-0xfd,0x42,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x42,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x42,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_log_f32_e32 v5, v1 ; encoding: [0x01,0x43,0x0a,0x7e]
-0x01,0x43,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x43,0x0a,0x7e]
-0xff,0x43,0x0a,0x7e
+# CHECK: v_log_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x61,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x61,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x61,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x61,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x61,0xd1,0x65,0x00,0x00,0x00
@@ -23646,39 +24345,36 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x61,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x61,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x61,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x61,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x61,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x61,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x08
-# 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_log_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x10
-# 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_log_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x45,0x0a,0x7e]
+0x01,0x45,0x0a,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 v255, v1 ; encoding: [0x01,0x45,0xfe,0x7f]
+0x01,0x45,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x45,0x0a,0x7e]
+0xff,0x45,0x0a,0x7e
# CHECK: v_rcp_f32_e32 v5, s1 ; encoding: [0x01,0x44,0x0a,0x7e]
0x01,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v255, s1 ; encoding: [0x01,0x44,0xfe,0x7f]
-0x01,0x44,0xfe,0x7f
-
# CHECK: v_rcp_f32_e32 v5, s101 ; encoding: [0x65,0x44,0x0a,0x7e]
0x65,0x44,0x0a,0x7e
@@ -23730,27 +24426,24 @@
# CHECK: v_rcp_f32_e32 v5, -4.0 ; encoding: [0xf7,0x44,0x0a,0x7e]
0xf7,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v5, scc ; encoding: [0xfd,0x44,0x0a,0x7e]
-0xfd,0x44,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x44,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x44,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rcp_f32_e32 v5, v1 ; encoding: [0x01,0x45,0x0a,0x7e]
-0x01,0x45,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x45,0x0a,0x7e]
-0xff,0x45,0x0a,0x7e
+# CHECK: v_rcp_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x62,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x62,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x62,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x62,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x62,0xd1,0x65,0x00,0x00,0x00
@@ -23802,39 +24495,36 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x62,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x62,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x62,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x62,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x62,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x62,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x08
-# 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_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x10
-# 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_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x47,0x0a,0x7e]
+0x01,0x47,0x0a,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 v255, v1 ; encoding: [0x01,0x47,0xfe,0x7f]
+0x01,0x47,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x47,0x0a,0x7e]
+0xff,0x47,0x0a,0x7e
# CHECK: v_rcp_iflag_f32_e32 v5, s1 ; encoding: [0x01,0x46,0x0a,0x7e]
0x01,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v255, s1 ; encoding: [0x01,0x46,0xfe,0x7f]
-0x01,0x46,0xfe,0x7f
-
# CHECK: v_rcp_iflag_f32_e32 v5, s101 ; encoding: [0x65,0x46,0x0a,0x7e]
0x65,0x46,0x0a,0x7e
@@ -23886,27 +24576,24 @@
# CHECK: v_rcp_iflag_f32_e32 v5, -4.0 ; encoding: [0xf7,0x46,0x0a,0x7e]
0xf7,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v5, scc ; encoding: [0xfd,0x46,0x0a,0x7e]
-0xfd,0x46,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x47,0x0a,0x7e]
-0x01,0x47,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x47,0x0a,0x7e]
-0xff,0x47,0x0a,0x7e
+# CHECK: v_rcp_iflag_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x63,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x63,0xd1,0x01,0x01,0x00,0x00
+
+# 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 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 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 v5, s101 ; encoding: [0x05,0x00,0x63,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x63,0xd1,0x65,0x00,0x00,0x00
@@ -23958,39 +24645,36 @@
# 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 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 v5, -v1 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x63,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x63,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x63,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x63,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x08
-# 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_rcp_iflag_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x10
-# 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_rcp_iflag_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x49,0x0a,0x7e]
+0x01,0x49,0x0a,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 v255, v1 ; encoding: [0x01,0x49,0xfe,0x7f]
+0x01,0x49,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x49,0x0a,0x7e]
+0xff,0x49,0x0a,0x7e
# CHECK: v_rsq_f32_e32 v5, s1 ; encoding: [0x01,0x48,0x0a,0x7e]
0x01,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v255, s1 ; encoding: [0x01,0x48,0xfe,0x7f]
-0x01,0x48,0xfe,0x7f
-
# CHECK: v_rsq_f32_e32 v5, s101 ; encoding: [0x65,0x48,0x0a,0x7e]
0x65,0x48,0x0a,0x7e
@@ -24042,27 +24726,24 @@
# CHECK: v_rsq_f32_e32 v5, -4.0 ; encoding: [0xf7,0x48,0x0a,0x7e]
0xf7,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v5, scc ; encoding: [0xfd,0x48,0x0a,0x7e]
-0xfd,0x48,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x48,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x48,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rsq_f32_e32 v5, v1 ; encoding: [0x01,0x49,0x0a,0x7e]
-0x01,0x49,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x49,0x0a,0x7e]
-0xff,0x49,0x0a,0x7e
+# CHECK: v_rsq_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x64,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x64,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x64,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x64,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x64,0xd1,0x65,0x00,0x00,0x00
@@ -24114,39 +24795,36 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x64,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x64,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x64,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x64,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x64,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x64,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x08
-# 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_rsq_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x10
-# 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_rsq_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x18
-# 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[5:6], v[1:2] ; encoding: [0x01,0x4b,0x0a,0x7e]
+0x01,0x4b,0x0a,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[254:255], v[1:2] ; encoding: [0x01,0x4b,0xfc,0x7f]
+0x01,0x4b,0xfc,0x7f
-# 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[5:6], v[254:255] ; encoding: [0xfe,0x4b,0x0a,0x7e]
+0xfe,0x4b,0x0a,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[254:255], s[2:3] ; encoding: [0x02,0x4a,0xfc,0x7f]
-0x02,0x4a,0xfc,0x7f
-
# CHECK: v_rcp_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x4a,0x0a,0x7e]
0x04,0x4a,0x0a,0x7e
@@ -24189,18 +24867,18 @@
# 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_e32 v[5:6], v[1:2] ; encoding: [0x01,0x4b,0x0a,0x7e]
-0x01,0x4b,0x0a,0x7e
+# 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_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x4b,0x0a,0x7e]
-0xfe,0x4b,0x0a,0x7e
+# CHECK: v_rcp_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x65,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x65,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[5:6], s[4:5] ; encoding: [0x05,0x00,0x65,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x65,0xd1,0x04,0x00,0x00,0x00
@@ -24237,36 +24915,36 @@
# 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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x20
-# 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[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x65,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x65,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x65,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x65,0xd1,0x01,0x01,0x00,0x00
-# 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_rcp_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x08
-# 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_rcp_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x10
-# 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_rcp_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x18
-# 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[5:6], v[1:2] ; encoding: [0x01,0x4d,0x0a,0x7e]
+0x01,0x4d,0x0a,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[254:255], v[1:2] ; encoding: [0x01,0x4d,0xfc,0x7f]
+0x01,0x4d,0xfc,0x7f
+
+# CHECK: v_rsq_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x4d,0x0a,0x7e]
+0xfe,0x4d,0x0a,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[254:255], s[2:3] ; encoding: [0x02,0x4c,0xfc,0x7f]
-0x02,0x4c,0xfc,0x7f
-
# CHECK: v_rsq_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x4c,0x0a,0x7e]
0x04,0x4c,0x0a,0x7e
@@ -24309,18 +24987,18 @@
# 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_e32 v[5:6], v[1:2] ; encoding: [0x01,0x4d,0x0a,0x7e]
-0x01,0x4d,0x0a,0x7e
+# 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_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x4d,0x0a,0x7e]
-0xfe,0x4d,0x0a,0x7e
+# CHECK: v_rsq_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x66,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x66,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[5:6], s[4:5] ; encoding: [0x05,0x00,0x66,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x66,0xd1,0x04,0x00,0x00,0x00
@@ -24357,36 +25035,36 @@
# 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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x20
-# 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[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x66,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x66,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x66,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x66,0xd1,0x01,0x01,0x00,0x00
-# 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_rsq_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x08
-# 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_rsq_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x10
-# 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_rsq_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x4f,0x0a,0x7e]
+0x01,0x4f,0x0a,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 v255, v1 ; encoding: [0x01,0x4f,0xfe,0x7f]
+0x01,0x4f,0xfe,0x7f
+
+# CHECK: v_sqrt_f32_e32 v5, v255 ; encoding: [0xff,0x4f,0x0a,0x7e]
+0xff,0x4f,0x0a,0x7e
# CHECK: v_sqrt_f32_e32 v5, s1 ; encoding: [0x01,0x4e,0x0a,0x7e]
0x01,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v255, s1 ; encoding: [0x01,0x4e,0xfe,0x7f]
-0x01,0x4e,0xfe,0x7f
-
# CHECK: v_sqrt_f32_e32 v5, s101 ; encoding: [0x65,0x4e,0x0a,0x7e]
0x65,0x4e,0x0a,0x7e
@@ -24438,27 +25116,24 @@
# CHECK: v_sqrt_f32_e32 v5, -4.0 ; encoding: [0xf7,0x4e,0x0a,0x7e]
0xf7,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v5, scc ; encoding: [0xfd,0x4e,0x0a,0x7e]
-0xfd,0x4e,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x4e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x4e,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_sqrt_f32_e32 v5, v1 ; encoding: [0x01,0x4f,0x0a,0x7e]
-0x01,0x4f,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x4f,0x0a,0x7e]
-0xff,0x4f,0x0a,0x7e
+# CHECK: v_sqrt_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x67,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x67,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x67,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x67,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x67,0xd1,0x65,0x00,0x00,0x00
@@ -24510,39 +25185,36 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x67,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x67,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x67,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x67,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x67,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x67,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x08
-# 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_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x10
-# 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_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x18
-# 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[5:6], v[1:2] ; encoding: [0x01,0x51,0x0a,0x7e]
+0x01,0x51,0x0a,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[254:255], v[1:2] ; encoding: [0x01,0x51,0xfc,0x7f]
+0x01,0x51,0xfc,0x7f
-# 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[5:6], v[254:255] ; encoding: [0xfe,0x51,0x0a,0x7e]
+0xfe,0x51,0x0a,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[254:255], s[2:3] ; encoding: [0x02,0x50,0xfc,0x7f]
-0x02,0x50,0xfc,0x7f
-
# CHECK: v_sqrt_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x50,0x0a,0x7e]
0x04,0x50,0x0a,0x7e
@@ -24585,18 +25257,18 @@
# 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_e32 v[5:6], v[1:2] ; encoding: [0x01,0x51,0x0a,0x7e]
-0x01,0x51,0x0a,0x7e
+# 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_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x51,0x0a,0x7e]
-0xfe,0x51,0x0a,0x7e
+# CHECK: v_sqrt_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x68,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x68,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[5:6], s[4:5] ; encoding: [0x05,0x00,0x68,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x68,0xd1,0x04,0x00,0x00,0x00
@@ -24633,36 +25305,36 @@
# 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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x20
-# 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[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x68,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x68,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x68,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x68,0xd1,0x01,0x01,0x00,0x00
-# 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_sqrt_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x08
-# 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_sqrt_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x10
-# 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_sqrt_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x53,0x0a,0x7e]
+0x01,0x53,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v255, v1 ; encoding: [0x01,0x53,0xfe,0x7f]
+0x01,0x53,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x53,0x0a,0x7e]
+0xff,0x53,0x0a,0x7e
# CHECK: v_sin_f32_e32 v5, s1 ; encoding: [0x01,0x52,0x0a,0x7e]
0x01,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v255, s1 ; encoding: [0x01,0x52,0xfe,0x7f]
-0x01,0x52,0xfe,0x7f
-
# CHECK: v_sin_f32_e32 v5, s101 ; encoding: [0x65,0x52,0x0a,0x7e]
0x65,0x52,0x0a,0x7e
@@ -24714,27 +25386,24 @@
# CHECK: v_sin_f32_e32 v5, -4.0 ; encoding: [0xf7,0x52,0x0a,0x7e]
0xf7,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v5, scc ; encoding: [0xfd,0x52,0x0a,0x7e]
-0xfd,0x52,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x52,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x52,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_sin_f32_e32 v5, v1 ; encoding: [0x01,0x53,0x0a,0x7e]
-0x01,0x53,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x53,0x0a,0x7e]
-0xff,0x53,0x0a,0x7e
+# CHECK: v_sin_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x69,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x69,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x69,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x69,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x69,0xd1,0x65,0x00,0x00,0x00
@@ -24786,39 +25455,36 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x69,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x69,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x69,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x69,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x69,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x69,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x08
-# 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_sin_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x10
-# 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_sin_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x55,0x0a,0x7e]
+0x01,0x55,0x0a,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 v255, v1 ; encoding: [0x01,0x55,0xfe,0x7f]
+0x01,0x55,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x55,0x0a,0x7e]
+0xff,0x55,0x0a,0x7e
# CHECK: v_cos_f32_e32 v5, s1 ; encoding: [0x01,0x54,0x0a,0x7e]
0x01,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v255, s1 ; encoding: [0x01,0x54,0xfe,0x7f]
-0x01,0x54,0xfe,0x7f
-
# CHECK: v_cos_f32_e32 v5, s101 ; encoding: [0x65,0x54,0x0a,0x7e]
0x65,0x54,0x0a,0x7e
@@ -24870,27 +25536,24 @@
# CHECK: v_cos_f32_e32 v5, -4.0 ; encoding: [0xf7,0x54,0x0a,0x7e]
0xf7,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v5, scc ; encoding: [0xfd,0x54,0x0a,0x7e]
-0xfd,0x54,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x54,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x54,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cos_f32_e32 v5, v1 ; encoding: [0x01,0x55,0x0a,0x7e]
-0x01,0x55,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x55,0x0a,0x7e]
-0xff,0x55,0x0a,0x7e
+# CHECK: v_cos_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x00]
0x05,0x00,0x6a,0xd1,0x01,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 v5, s101 ; encoding: [0x05,0x00,0x6a,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x6a,0xd1,0x65,0x00,0x00,0x00
@@ -24942,39 +25605,36 @@
# 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 v5, scc ; encoding: [0x05,0x00,0x6a,0xd1,0xfd,0x00,0x00,0x00]
-0x05,0x00,0x6a,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, -v1 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x6a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x6a,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x6a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x6a,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x08
-# 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_cos_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x10
-# 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_cos_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x18
-# 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 v5, v1 ; encoding: [0x01,0x57,0x0a,0x7e]
+0x01,0x57,0x0a,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 v255, v1 ; encoding: [0x01,0x57,0xfe,0x7f]
+0x01,0x57,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x57,0x0a,0x7e]
+0xff,0x57,0x0a,0x7e
# CHECK: v_not_b32_e32 v5, s1 ; encoding: [0x01,0x56,0x0a,0x7e]
0x01,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v255, s1 ; encoding: [0x01,0x56,0xfe,0x7f]
-0x01,0x56,0xfe,0x7f
-
# CHECK: v_not_b32_e32 v5, s101 ; encoding: [0x65,0x56,0x0a,0x7e]
0x65,0x56,0x0a,0x7e
@@ -25026,27 +25686,24 @@
# CHECK: v_not_b32_e32 v5, -4.0 ; encoding: [0xf7,0x56,0x0a,0x7e]
0xf7,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v5, scc ; encoding: [0xfd,0x56,0x0a,0x7e]
-0xfd,0x56,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x56,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x56,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_not_b32_e32 v5, v1 ; encoding: [0x01,0x57,0x0a,0x7e]
-0x01,0x57,0x0a,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_not_b32_e32 v5, v255 ; encoding: [0xff,0x57,0x0a,0x7e]
-0xff,0x57,0x0a,0x7e
+# CHECK: v_not_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v255, s1 ; encoding: [0xff,0x00,0x6b,0xd1,0x01,0x00,0x00,0x00]
-0xff,0x00,0x6b,0xd1,0x01,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
@@ -25098,21 +25755,18 @@
# 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_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 v5, v1 ; encoding: [0x01,0x59,0x0a,0x7e]
+0x01,0x59,0x0a,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 v255, v1 ; encoding: [0x01,0x59,0xfe,0x7f]
+0x01,0x59,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x59,0x0a,0x7e]
+0xff,0x59,0x0a,0x7e
# CHECK: v_bfrev_b32_e32 v5, s1 ; encoding: [0x01,0x58,0x0a,0x7e]
0x01,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v255, s1 ; encoding: [0x01,0x58,0xfe,0x7f]
-0x01,0x58,0xfe,0x7f
-
# CHECK: v_bfrev_b32_e32 v5, s101 ; encoding: [0x65,0x58,0x0a,0x7e]
0x65,0x58,0x0a,0x7e
@@ -25164,27 +25818,24 @@
# CHECK: v_bfrev_b32_e32 v5, -4.0 ; encoding: [0xf7,0x58,0x0a,0x7e]
0xf7,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v5, scc ; encoding: [0xfd,0x58,0x0a,0x7e]
-0xfd,0x58,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x58,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x58,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_bfrev_b32_e32 v5, v1 ; encoding: [0x01,0x59,0x0a,0x7e]
-0x01,0x59,0x0a,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_bfrev_b32_e32 v5, v255 ; encoding: [0xff,0x59,0x0a,0x7e]
-0xff,0x59,0x0a,0x7e
+# CHECK: v_bfrev_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v255, s1 ; encoding: [0xff,0x00,0x6c,0xd1,0x01,0x00,0x00,0x00]
-0xff,0x00,0x6c,0xd1,0x01,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
@@ -25236,21 +25887,18 @@
# 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_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 v5, v1 ; encoding: [0x01,0x5b,0x0a,0x7e]
+0x01,0x5b,0x0a,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 v255, v1 ; encoding: [0x01,0x5b,0xfe,0x7f]
+0x01,0x5b,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x5b,0x0a,0x7e]
+0xff,0x5b,0x0a,0x7e
# CHECK: v_ffbh_u32_e32 v5, s1 ; encoding: [0x01,0x5a,0x0a,0x7e]
0x01,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v255, s1 ; encoding: [0x01,0x5a,0xfe,0x7f]
-0x01,0x5a,0xfe,0x7f
-
# CHECK: v_ffbh_u32_e32 v5, s101 ; encoding: [0x65,0x5a,0x0a,0x7e]
0x65,0x5a,0x0a,0x7e
@@ -25302,27 +25950,24 @@
# CHECK: v_ffbh_u32_e32 v5, -4.0 ; encoding: [0xf7,0x5a,0x0a,0x7e]
0xf7,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v5, scc ; encoding: [0xfd,0x5a,0x0a,0x7e]
-0xfd,0x5a,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x5a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x5a,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_ffbh_u32_e32 v5, v1 ; encoding: [0x01,0x5b,0x0a,0x7e]
-0x01,0x5b,0x0a,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_ffbh_u32_e32 v5, v255 ; encoding: [0xff,0x5b,0x0a,0x7e]
-0xff,0x5b,0x0a,0x7e
+# CHECK: v_ffbh_u32_e64 v255, v1 ; encoding: [0xff,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v255, s1 ; encoding: [0xff,0x00,0x6d,0xd1,0x01,0x00,0x00,0x00]
-0xff,0x00,0x6d,0xd1,0x01,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
@@ -25374,21 +26019,18 @@
# 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_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 v5, v1 ; encoding: [0x01,0x5d,0x0a,0x7e]
+0x01,0x5d,0x0a,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 v255, v1 ; encoding: [0x01,0x5d,0xfe,0x7f]
+0x01,0x5d,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x5d,0x0a,0x7e]
+0xff,0x5d,0x0a,0x7e
# CHECK: v_ffbl_b32_e32 v5, s1 ; encoding: [0x01,0x5c,0x0a,0x7e]
0x01,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v255, s1 ; encoding: [0x01,0x5c,0xfe,0x7f]
-0x01,0x5c,0xfe,0x7f
-
# CHECK: v_ffbl_b32_e32 v5, s101 ; encoding: [0x65,0x5c,0x0a,0x7e]
0x65,0x5c,0x0a,0x7e
@@ -25440,27 +26082,24 @@
# CHECK: v_ffbl_b32_e32 v5, -4.0 ; encoding: [0xf7,0x5c,0x0a,0x7e]
0xf7,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v5, scc ; encoding: [0xfd,0x5c,0x0a,0x7e]
-0xfd,0x5c,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x5c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x5c,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_ffbl_b32_e32 v5, v1 ; encoding: [0x01,0x5d,0x0a,0x7e]
-0x01,0x5d,0x0a,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_ffbl_b32_e32 v5, v255 ; encoding: [0xff,0x5d,0x0a,0x7e]
-0xff,0x5d,0x0a,0x7e
+# CHECK: v_ffbl_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v255, s1 ; encoding: [0xff,0x00,0x6e,0xd1,0x01,0x00,0x00,0x00]
-0xff,0x00,0x6e,0xd1,0x01,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
@@ -25512,21 +26151,18 @@
# 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_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 v5, v1 ; encoding: [0x01,0x5f,0x0a,0x7e]
+0x01,0x5f,0x0a,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 v255, v1 ; encoding: [0x01,0x5f,0xfe,0x7f]
+0x01,0x5f,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x5f,0x0a,0x7e]
+0xff,0x5f,0x0a,0x7e
# CHECK: v_ffbh_i32_e32 v5, s1 ; encoding: [0x01,0x5e,0x0a,0x7e]
0x01,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v255, s1 ; encoding: [0x01,0x5e,0xfe,0x7f]
-0x01,0x5e,0xfe,0x7f
-
# CHECK: v_ffbh_i32_e32 v5, s101 ; encoding: [0x65,0x5e,0x0a,0x7e]
0x65,0x5e,0x0a,0x7e
@@ -25578,27 +26214,24 @@
# CHECK: v_ffbh_i32_e32 v5, -4.0 ; encoding: [0xf7,0x5e,0x0a,0x7e]
0xf7,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v5, scc ; encoding: [0xfd,0x5e,0x0a,0x7e]
-0xfd,0x5e,0x0a,0x7e
-
# 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_e32 v5, 0x3f717273 ; encoding: [0xff,0x5e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
0xff,0x5e,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_ffbh_i32_e32 v5, v1 ; encoding: [0x01,0x5f,0x0a,0x7e]
-0x01,0x5f,0x0a,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_ffbh_i32_e32 v5, v255 ; encoding: [0xff,0x5f,0x0a,0x7e]
-0xff,0x5f,0x0a,0x7e
+# CHECK: v_ffbh_i32_e64 v255, v1 ; encoding: [0xff,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v255, s1 ; encoding: [0xff,0x00,0x6f,0xd1,0x01,0x00,0x00,0x00]
-0xff,0x00,0x6f,0xd1,0x01,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
@@ -25650,21 +26283,18 @@
# 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_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 v5, v[1:2] ; encoding: [0x01,0x61,0x0a,0x7e]
+0x01,0x61,0x0a,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 v255, v[1:2] ; encoding: [0x01,0x61,0xfe,0x7f]
+0x01,0x61,0xfe,0x7f
-# 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 v5, v[254:255] ; encoding: [0xfe,0x61,0x0a,0x7e]
+0xfe,0x61,0x0a,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 v255, s[2:3] ; encoding: [0x02,0x60,0xfe,0x7f]
-0x02,0x60,0xfe,0x7f
-
# CHECK: v_frexp_exp_i32_f64_e32 v5, s[4:5] ; encoding: [0x04,0x60,0x0a,0x7e]
0x04,0x60,0x0a,0x7e
@@ -25707,18 +26337,18 @@
# 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_e32 v5, v[1:2] ; encoding: [0x01,0x61,0x0a,0x7e]
-0x01,0x61,0x0a,0x7e
+# 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_exp_i32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x61,0x0a,0x7e]
-0xfe,0x61,0x0a,0x7e
+# CHECK: v_frexp_exp_i32_f64_e64 v255, v[1:2] ; encoding: [0xff,0x00,0x70,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x70,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s[4:5] ; encoding: [0x05,0x00,0x70,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x70,0xd1,0x04,0x00,0x00,0x00
@@ -25755,27 +26385,27 @@
# 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 v5, v[1:2] ; encoding: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x00]
-0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, -v[1:2] ; encoding: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x20
-# 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_exp_i32_f64_e64 v5, |v[1:2]| ; encoding: [0x05,0x01,0x70,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x70,0xd1,0x01,0x01,0x00,0x00
-# 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_exp_i32_f64_e64 v5, v[1:2] clamp ; encoding: [0x05,0x80,0x70,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x70,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v[1:2] ; encoding: [0x01,0x63,0x0a,0x7e]
+0x01,0x63,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x63,0xfc,0x7f]
+0x01,0x63,0xfc,0x7f
-# 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[5:6], v[254:255] ; encoding: [0xfe,0x63,0x0a,0x7e]
+0xfe,0x63,0x0a,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[254:255], s[2:3] ; encoding: [0x02,0x62,0xfc,0x7f]
-0x02,0x62,0xfc,0x7f
-
# CHECK: v_frexp_mant_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x62,0x0a,0x7e]
0x04,0x62,0x0a,0x7e
@@ -25818,18 +26448,18 @@
# 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_e32 v[5:6], v[1:2] ; encoding: [0x01,0x63,0x0a,0x7e]
-0x01,0x63,0x0a,0x7e
+# 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_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x63,0x0a,0x7e]
-0xfe,0x63,0x0a,0x7e
+# CHECK: v_frexp_mant_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x71,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x71,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[5:6], s[4:5] ; encoding: [0x05,0x00,0x71,0xd1,0x04,0x00,0x00,0x00]
0x05,0x00,0x71,0xd1,0x04,0x00,0x00,0x00
@@ -25866,36 +26496,36 @@
# 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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x20
-# 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[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x71,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x71,0xd1,0x01,0x01,0x00,0x00
-# 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[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x71,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x71,0xd1,0x01,0x01,0x00,0x00
-# 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_frexp_mant_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x08
-# 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_frexp_mant_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x10
-# 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_frexp_mant_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x18
-# 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[5:6], v[1:2] ; encoding: [0x01,0x65,0x0a,0x7e]
+0x01,0x65,0x0a,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[254:255], v[1:2] ; encoding: [0x01,0x65,0xfc,0x7f]
+0x01,0x65,0xfc,0x7f
+
+# CHECK: v_fract_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x65,0x0a,0x7e]
+0xfe,0x65,0x0a,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[254:255], s[2:3] ; encoding: [0x02,0x64,0xfc,0x7f]
-0x02,0x64,0xfc,0x7f
-
# CHECK: v_fract_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x64,0x0a,0x7e]
0x04,0x64,0x0a,0x7e
@@ -25938,18 +26568,84 @@
# 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_fract_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x65,0x0a,0x7e]
-0x01,0x65,0x0a,0x7e
+# CHECK: v_fract_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_fract_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x65,0x0a,0x7e]
-0xfe,0x65,0x0a,0x7e
+# CHECK: v_fract_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x72,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x72,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x72,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x72,0xd1,0xfe,0x01,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x72,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x04,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x72,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x64,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x72,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x72,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], tba ; encoding: [0x05,0x00,0x72,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], tma ; encoding: [0x05,0x00,0x72,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], ttmp[10:11] ; encoding: [0x05,0x00,0x72,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x7a,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x72,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x72,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x72,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x72,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x72,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], -v[1:2] ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_fract_f64_e64 v[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x72,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x72,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x72,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x72,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_fract_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_fract_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_frexp_exp_i32_f32_e32 v5, v1 ; encoding: [0x01,0x67,0x0a,0x7e]
+0x01,0x67,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i32_f32_e32 v255, v1 ; encoding: [0x01,0x67,0xfe,0x7f]
+0x01,0x67,0xfe,0x7f
+
+# CHECK: v_frexp_exp_i32_f32_e32 v5, v255 ; encoding: [0xff,0x67,0x0a,0x7e]
+0xff,0x67,0x0a,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 v255, s1 ; encoding: [0x01,0x66,0xfe,0x7f]
-0x01,0x66,0xfe,0x7f
-
# CHECK: v_frexp_exp_i32_f32_e32 v5, s101 ; encoding: [0x65,0x66,0x0a,0x7e]
0x65,0x66,0x0a,0x7e
@@ -26001,27 +26697,24 @@
# 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 v5, scc ; encoding: [0xfd,0x66,0x0a,0x7e]
-0xfd,0x66,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x67,0x0a,0x7e]
-0x01,0x67,0x0a,0x7e
+# 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_exp_i32_f32_e32 v5, v255 ; encoding: [0xff,0x67,0x0a,0x7e]
-0xff,0x67,0x0a,0x7e
+# CHECK: v_frexp_exp_i32_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x73,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x73,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 v5, s101 ; encoding: [0x05,0x00,0x73,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x73,0xd1,0x65,0x00,0x00,0x00
@@ -26073,30 +26766,27 @@
# 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 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 v5, -v1 ; encoding: [0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x20
-# 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_exp_i32_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x73,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x73,0xd1,0x01,0x01,0x00,0x00
-# 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_exp_i32_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x73,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x73,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 ; encoding: [0x01,0x69,0x0a,0x7e]
+0x01,0x69,0x0a,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 v255, v1 ; encoding: [0x01,0x69,0xfe,0x7f]
+0x01,0x69,0xfe,0x7f
-# 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 v5, v255 ; encoding: [0xff,0x69,0x0a,0x7e]
+0xff,0x69,0x0a,0x7e
# CHECK: v_frexp_mant_f32_e32 v5, s1 ; encoding: [0x01,0x68,0x0a,0x7e]
0x01,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v255, s1 ; encoding: [0x01,0x68,0xfe,0x7f]
-0x01,0x68,0xfe,0x7f
-
# CHECK: v_frexp_mant_f32_e32 v5, s101 ; encoding: [0x65,0x68,0x0a,0x7e]
0x65,0x68,0x0a,0x7e
@@ -26148,27 +26838,24 @@
# CHECK: v_frexp_mant_f32_e32 v5, -4.0 ; encoding: [0xf7,0x68,0x0a,0x7e]
0xf7,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v5, scc ; encoding: [0xfd,0x68,0x0a,0x7e]
-0xfd,0x68,0x0a,0x7e
-
# 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_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_e32 v5, v1 ; encoding: [0x01,0x69,0x0a,0x7e]
-0x01,0x69,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x69,0x0a,0x7e]
-0xff,0x69,0x0a,0x7e
+# CHECK: v_frexp_mant_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x74,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x74,0xd1,0x01,0x01,0x00,0x00
+
+# 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 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 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 v5, s101 ; encoding: [0x05,0x00,0x74,0xd1,0x65,0x00,0x00,0x00]
0x05,0x00,0x74,0xd1,0x65,0x00,0x00,0x00
@@ -26220,39 +26907,36 @@
# 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 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 v5, -v1 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x20
-# 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 v5, |v1| ; encoding: [0x05,0x01,0x74,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x74,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 clamp ; encoding: [0x05,0x80,0x74,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x74,0xd1,0x01,0x01,0x00,0x00
-# 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 v5, v1 mul:2 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x08
-# 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_frexp_mant_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x10
-# 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, v1 div:2 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x18
-# 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_movreld_b32_e32 v5, v1 ; encoding: [0x01,0x6d,0x0a,0x7e]
+0x01,0x6d,0x0a,0x7e
-# 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_movreld_b32_e32 v255, v1 ; encoding: [0x01,0x6d,0xfe,0x7f]
+0x01,0x6d,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x6d,0x0a,0x7e]
+0xff,0x6d,0x0a,0x7e
# 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 v5, 0 ; encoding: [0x80,0x6c,0x0a,0x7e]
0x80,0x6c,0x0a,0x7e
@@ -26265,18 +26949,18 @@
# CHECK: v_movreld_b32_e32 v5, -4.0 ; encoding: [0xf7,0x6c,0x0a,0x7e]
0xf7,0x6c,0x0a,0x7e
-# CHECK: v_movreld_b32_e32 v5, v1 ; encoding: [0x01,0x6d,0x0a,0x7e]
-0x01,0x6d,0x0a,0x7e
+# 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_e32 v5, v255 ; encoding: [0xff,0x6d,0x0a,0x7e]
-0xff,0x6d,0x0a,0x7e
+# CHECK: v_movreld_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x76,0xd1,0x01,0x01,0x00,0x00]
+0xff,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_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 v5, 0 ; encoding: [0x05,0x00,0x76,0xd1,0x80,0x00,0x00,0x00]
0x05,0x00,0x76,0xd1,0x80,0x00,0x00,0x00
@@ -26289,12 +26973,6 @@
# 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
@@ -26331,12 +27009,18 @@
# 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, v1 ; encoding: [0x01,0x73,0x0a,0x7e]
+0x01,0x73,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v255, v1 ; encoding: [0x01,0x73,0xfe,0x7f]
+0x01,0x73,0xfe,0x7f
+
+# CHECK: v_cvt_f16_u16_e32 v5, v255 ; encoding: [0xff,0x73,0x0a,0x7e]
+0xff,0x73,0x0a,0x7e
+
# 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
@@ -26388,27 +27072,24 @@
# 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_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_e32 v5, v255 ; encoding: [0xff,0x73,0x0a,0x7e]
-0xff,0x73,0x0a,0x7e
+# CHECK: v_cvt_f16_u16_e64 v255, v1 ; encoding: [0xff,0x00,0x79,0xd1,0x01,0x01,0x00,0x00]
+0xff,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_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
@@ -26460,21 +27141,21 @@
# 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 clamp ; encoding: [0x05,0x80,0x79,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x79,0xd1,0x01,0x01,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_i16_e32 v5, v1 ; encoding: [0x01,0x75,0x0a,0x7e]
+0x01,0x75,0x0a,0x7e
-# 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 v255, v1 ; encoding: [0x01,0x75,0xfe,0x7f]
+0x01,0x75,0xfe,0x7f
+
+# CHECK: v_cvt_f16_i16_e32 v5, v255 ; encoding: [0xff,0x75,0x0a,0x7e]
+0xff,0x75,0x0a,0x7e
# 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
@@ -26526,27 +27207,24 @@
# 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_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_e32 v5, v255 ; encoding: [0xff,0x75,0x0a,0x7e]
-0xff,0x75,0x0a,0x7e
+# CHECK: v_cvt_f16_i16_e64 v255, v1 ; encoding: [0xff,0x00,0x7a,0xd1,0x01,0x01,0x00,0x00]
+0xff,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_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
@@ -26598,21 +27276,21 @@
# 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 clamp ; encoding: [0x05,0x80,0x7a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7a,0xd1,0x01,0x01,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_u16_f16_e32 v5, v1 ; encoding: [0x01,0x77,0x0a,0x7e]
+0x01,0x77,0x0a,0x7e
-# 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 v255, v1 ; encoding: [0x01,0x77,0xfe,0x7f]
+0x01,0x77,0xfe,0x7f
+
+# CHECK: v_cvt_u16_f16_e32 v5, v255 ; encoding: [0xff,0x77,0x0a,0x7e]
+0xff,0x77,0x0a,0x7e
# 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
@@ -26664,27 +27342,24 @@
# 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_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_e32 v5, v255 ; encoding: [0xff,0x77,0x0a,0x7e]
-0xff,0x77,0x0a,0x7e
+# CHECK: v_cvt_u16_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x7b,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -26736,30 +27411,27 @@
# 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,0x20]
+0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x7b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x7b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7b,0xd1,0x01,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_i16_f16_e32 v5, v1 ; encoding: [0x01,0x79,0x0a,0x7e]
+0x01,0x79,0x0a,0x7e
-# 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_i16_f16_e32 v255, v1 ; encoding: [0x01,0x79,0xfe,0x7f]
+0x01,0x79,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x79,0x0a,0x7e]
+0xff,0x79,0x0a,0x7e
# 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
@@ -26811,27 +27483,24 @@
# 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_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_e32 v5, v255 ; encoding: [0xff,0x79,0x0a,0x7e]
-0xff,0x79,0x0a,0x7e
+# CHECK: v_cvt_i16_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x7c,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -26883,30 +27552,27 @@
# 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,0x20]
+0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x7c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x7c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7c,0xd1,0x01,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_rcp_f16_e32 v5, v1 ; encoding: [0x01,0x7b,0x0a,0x7e]
+0x01,0x7b,0x0a,0x7e
-# 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_rcp_f16_e32 v255, v1 ; encoding: [0x01,0x7b,0xfe,0x7f]
+0x01,0x7b,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x7b,0x0a,0x7e]
+0xff,0x7b,0x0a,0x7e
# 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
@@ -26958,27 +27624,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rcp_f16_e32 v5, v255 ; encoding: [0xff,0x7b,0x0a,0x7e]
-0xff,0x7b,0x0a,0x7e
+# CHECK: v_rcp_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x7d,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -27030,30 +27693,27 @@
# 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,0x20]
+0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x7d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x7d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7d,0xd1,0x01,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_sqrt_f16_e32 v5, v1 ; encoding: [0x01,0x7d,0x0a,0x7e]
+0x01,0x7d,0x0a,0x7e
-# 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_sqrt_f16_e32 v255, v1 ; encoding: [0x01,0x7d,0xfe,0x7f]
+0x01,0x7d,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x7d,0x0a,0x7e]
+0xff,0x7d,0x0a,0x7e
# 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
@@ -27105,27 +27765,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_sqrt_f16_e32 v5, v255 ; encoding: [0xff,0x7d,0x0a,0x7e]
-0xff,0x7d,0x0a,0x7e
+# CHECK: v_sqrt_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x7e,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -27177,30 +27834,27 @@
# 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,0x20]
+0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x7e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x7e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7e,0xd1,0x01,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_rsq_f16_e32 v5, v1 ; encoding: [0x01,0x7f,0x0a,0x7e]
+0x01,0x7f,0x0a,0x7e
-# 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_rsq_f16_e32 v255, v1 ; encoding: [0x01,0x7f,0xfe,0x7f]
+0x01,0x7f,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x7f,0x0a,0x7e]
+0xff,0x7f,0x0a,0x7e
# 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
@@ -27252,27 +27906,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rsq_f16_e32 v5, v255 ; encoding: [0xff,0x7f,0x0a,0x7e]
-0xff,0x7f,0x0a,0x7e
+# CHECK: v_rsq_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x7f,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -27324,30 +27975,27 @@
# 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,0x20]
+0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x7f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x7f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7f,0xd1,0x01,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_log_f16_e32 v5, v1 ; encoding: [0x01,0x81,0x0a,0x7e]
+0x01,0x81,0x0a,0x7e
-# 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_log_f16_e32 v255, v1 ; encoding: [0x01,0x81,0xfe,0x7f]
+0x01,0x81,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x81,0x0a,0x7e]
+0xff,0x81,0x0a,0x7e
# 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
@@ -27399,27 +28047,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_log_f16_e32 v5, v255 ; encoding: [0xff,0x81,0x0a,0x7e]
-0xff,0x81,0x0a,0x7e
+# CHECK: v_log_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x80,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -27471,30 +28116,27 @@
# 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,0x20]
+0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x80,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x80,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x80,0xd1,0x01,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_exp_f16_e32 v5, v1 ; encoding: [0x01,0x83,0x0a,0x7e]
+0x01,0x83,0x0a,0x7e
-# 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_exp_f16_e32 v255, v1 ; encoding: [0x01,0x83,0xfe,0x7f]
+0x01,0x83,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x83,0x0a,0x7e]
+0xff,0x83,0x0a,0x7e
# 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
@@ -27546,27 +28188,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_exp_f16_e32 v5, v255 ; encoding: [0xff,0x83,0x0a,0x7e]
-0xff,0x83,0x0a,0x7e
+# CHECK: v_exp_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x81,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -27618,30 +28257,27 @@
# 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,0x20]
+0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x81,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x81,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x81,0xd1,0x01,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_frexp_mant_f16_e32 v5, v1 ; encoding: [0x01,0x85,0x0a,0x7e]
+0x01,0x85,0x0a,0x7e
-# 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_frexp_mant_f16_e32 v255, v1 ; encoding: [0x01,0x85,0xfe,0x7f]
+0x01,0x85,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x85,0x0a,0x7e]
+0xff,0x85,0x0a,0x7e
# 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
@@ -27693,27 +28329,24 @@
# 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_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_e32 v5, v255 ; encoding: [0xff,0x85,0x0a,0x7e]
-0xff,0x85,0x0a,0x7e
+# CHECK: v_frexp_mant_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x82,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -27765,30 +28398,27 @@
# 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,0x20]
+0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x82,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x82,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x82,0xd1,0x01,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_exp_i16_f16_e32 v5, v1 ; encoding: [0x01,0x87,0x0a,0x7e]
+0x01,0x87,0x0a,0x7e
-# 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_exp_i16_f16_e32 v255, v1 ; encoding: [0x01,0x87,0xfe,0x7f]
+0x01,0x87,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x87,0x0a,0x7e]
+0xff,0x87,0x0a,0x7e
# 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
@@ -27840,27 +28470,24 @@
# 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_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_e32 v5, v255 ; encoding: [0xff,0x87,0x0a,0x7e]
-0xff,0x87,0x0a,0x7e
+# CHECK: v_frexp_exp_i16_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x83,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -27912,30 +28539,27 @@
# 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,0x20]
+0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x83,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x83,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x83,0xd1,0x01,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_floor_f16_e32 v5, v1 ; encoding: [0x01,0x89,0x0a,0x7e]
+0x01,0x89,0x0a,0x7e
-# 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_floor_f16_e32 v255, v1 ; encoding: [0x01,0x89,0xfe,0x7f]
+0x01,0x89,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x89,0x0a,0x7e]
+0xff,0x89,0x0a,0x7e
# 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
@@ -27987,27 +28611,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_floor_f16_e32 v5, v255 ; encoding: [0xff,0x89,0x0a,0x7e]
-0xff,0x89,0x0a,0x7e
+# CHECK: v_floor_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x84,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -28059,30 +28680,27 @@
# 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,0x20]
+0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x84,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x84,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x84,0xd1,0x01,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_ceil_f16_e32 v5, v1 ; encoding: [0x01,0x8b,0x0a,0x7e]
+0x01,0x8b,0x0a,0x7e
-# 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_ceil_f16_e32 v255, v1 ; encoding: [0x01,0x8b,0xfe,0x7f]
+0x01,0x8b,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x8b,0x0a,0x7e]
+0xff,0x8b,0x0a,0x7e
# 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
@@ -28134,27 +28752,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_ceil_f16_e32 v5, v255 ; encoding: [0xff,0x8b,0x0a,0x7e]
-0xff,0x8b,0x0a,0x7e
+# CHECK: v_ceil_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x85,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -28206,30 +28821,27 @@
# 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,0x20]
+0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x85,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x85,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x85,0xd1,0x01,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_trunc_f16_e32 v5, v1 ; encoding: [0x01,0x8d,0x0a,0x7e]
+0x01,0x8d,0x0a,0x7e
-# 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_trunc_f16_e32 v255, v1 ; encoding: [0x01,0x8d,0xfe,0x7f]
+0x01,0x8d,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x8d,0x0a,0x7e]
+0xff,0x8d,0x0a,0x7e
# 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
@@ -28281,27 +28893,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_trunc_f16_e32 v5, v255 ; encoding: [0xff,0x8d,0x0a,0x7e]
-0xff,0x8d,0x0a,0x7e
+# CHECK: v_trunc_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x86,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -28353,30 +28962,27 @@
# 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,0x20]
+0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x86,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x86,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x86,0xd1,0x01,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_rndne_f16_e32 v5, v1 ; encoding: [0x01,0x8f,0x0a,0x7e]
+0x01,0x8f,0x0a,0x7e
-# 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_rndne_f16_e32 v255, v1 ; encoding: [0x01,0x8f,0xfe,0x7f]
+0x01,0x8f,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x8f,0x0a,0x7e]
+0xff,0x8f,0x0a,0x7e
# 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
@@ -28428,27 +29034,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rndne_f16_e32 v5, v255 ; encoding: [0xff,0x8f,0x0a,0x7e]
-0xff,0x8f,0x0a,0x7e
+# CHECK: v_rndne_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x87,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -28500,30 +29103,27 @@
# 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,0x20]
+0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x87,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x87,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x87,0xd1,0x01,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_fract_f16_e32 v5, v1 ; encoding: [0x01,0x91,0x0a,0x7e]
+0x01,0x91,0x0a,0x7e
-# 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_fract_f16_e32 v255, v1 ; encoding: [0x01,0x91,0xfe,0x7f]
+0x01,0x91,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x91,0x0a,0x7e]
+0xff,0x91,0x0a,0x7e
# 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
@@ -28575,27 +29175,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_fract_f16_e32 v5, v255 ; encoding: [0xff,0x91,0x0a,0x7e]
-0xff,0x91,0x0a,0x7e
+# CHECK: v_fract_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x88,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -28647,30 +29244,27 @@
# 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,0x20]
+0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x88,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x88,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x88,0xd1,0x01,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_sin_f16_e32 v5, v1 ; encoding: [0x01,0x93,0x0a,0x7e]
+0x01,0x93,0x0a,0x7e
-# 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_sin_f16_e32 v255, v1 ; encoding: [0x01,0x93,0xfe,0x7f]
+0x01,0x93,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x93,0x0a,0x7e]
+0xff,0x93,0x0a,0x7e
# 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
@@ -28722,27 +29316,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_sin_f16_e32 v5, v255 ; encoding: [0xff,0x93,0x0a,0x7e]
-0xff,0x93,0x0a,0x7e
+# CHECK: v_sin_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x89,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -28794,30 +29385,27 @@
# 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,0x20]
+0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x89,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x89,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x89,0xd1,0x01,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_cos_f16_e32 v5, v1 ; encoding: [0x01,0x95,0x0a,0x7e]
+0x01,0x95,0x0a,0x7e
-# 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_cos_f16_e32 v255, v1 ; encoding: [0x01,0x95,0xfe,0x7f]
+0x01,0x95,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x95,0x0a,0x7e]
+0xff,0x95,0x0a,0x7e
# 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
@@ -28869,27 +29457,24 @@
# 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_e64 v5, v1 ; encoding: [0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cos_f16_e32 v5, v255 ; encoding: [0xff,0x95,0x0a,0x7e]
-0xff,0x95,0x0a,0x7e
+# CHECK: v_cos_f16_e64 v255, v1 ; encoding: [0xff,0x00,0x8a,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -28941,30 +29526,27 @@
# 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,0x20]
+0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x8a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x8a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x8a,0xd1,0x01,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_exp_legacy_f32_e32 v5, v1 ; encoding: [0x01,0x97,0x0a,0x7e]
+0x01,0x97,0x0a,0x7e
-# 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_exp_legacy_f32_e32 v255, v1 ; encoding: [0x01,0x97,0xfe,0x7f]
+0x01,0x97,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x97,0x0a,0x7e]
+0xff,0x97,0x0a,0x7e
# 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
@@ -29016,27 +29598,24 @@
# 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_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_e32 v5, v255 ; encoding: [0xff,0x97,0x0a,0x7e]
-0xff,0x97,0x0a,0x7e
+# CHECK: v_exp_legacy_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x8b,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -29088,39 +29667,36 @@
# 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,0x20]
+0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x8b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x8b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x8b,0xd1,0x01,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, v1 mul:2 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x08
-# 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, v1 mul:4 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x10
-# 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, v1 div:2 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x18
-# 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_log_legacy_f32_e32 v5, v1 ; encoding: [0x01,0x99,0x0a,0x7e]
+0x01,0x99,0x0a,0x7e
-# 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_log_legacy_f32_e32 v255, v1 ; encoding: [0x01,0x99,0xfe,0x7f]
+0x01,0x99,0xfe,0x7f
-# 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, v255 ; encoding: [0xff,0x99,0x0a,0x7e]
+0xff,0x99,0x0a,0x7e
# 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
@@ -29172,27 +29748,24 @@
# 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_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_e32 v5, v255 ; encoding: [0xff,0x99,0x0a,0x7e]
-0xff,0x99,0x0a,0x7e
+# CHECK: v_log_legacy_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x8c,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,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
@@ -29244,39 +29817,36 @@
# 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,0x20]
+0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x20
-# 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, |v1| ; encoding: [0x05,0x01,0x8c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,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, v1 clamp ; encoding: [0x05,0x80,0x8c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x8c,0xd1,0x01,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, v1 mul:2 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x08
-# 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, v1 mul:4 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x10
-# 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, v1 div:2 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x18
-# 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_cndmask_b32_e32 v5, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x00]
+0x01,0x05,0x0a,0x00
-# 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_cndmask_b32_e32 v255, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x01]
+0x01,0x05,0xfe,0x01
-# 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, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x00]
+0xff,0x05,0x0a,0x00
# 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
@@ -29286,78 +29856,78 @@
# 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, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x00]
+0x01,0xff,0x0b,0x00
-# CHECK: v_cndmask_b32_e32 v5, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x00]
-0xff,0x05,0x0a,0x00
+# CHECK: v_cndmask_b32_e64 v5, v1, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_cndmask_b32_e64 v255, v1, v2, s[6:7] ; encoding: [0xff,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00]
+0xff,0x00,0x00,0xd1,0x01,0x05,0x1a,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, v255, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xff,0x05,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0xff,0x05,0x1a,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 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 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, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xc1,0x04,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0xc1,0x04,0x1a,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, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xf0,0x04,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0xf0,0x04,0x1a,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, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xf7,0x04,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0xf7,0x04,0x1a,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, v255, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0xff,0x1b,0x00]
+0x05,0x00,0x00,0xd1,0x01,0xff,0x1b,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, v1, -1, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x83,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x01,0x83,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, v1, 0.5, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0xe1,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x01,0xe1,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, v1, -4.0, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0xef,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x01,0xef,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, v1, v2, s[8:9] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0x00,0xd1,0x01,0x05,0x22,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, v1, v2, s[100:101] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0x00,0xd1,0x01,0x05,0x92,0x01
-# 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, v1, v2, flat_scratch ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0x00,0xd1,0x01,0x05,0x9a,0x01
-# 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, v1, v2, vcc ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0x00,0xd1,0x01,0x05,0xaa,0x01
-# 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, v1, v2, tba ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0x00,0xd1,0x01,0x05,0xb2,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, v1, v2, tma ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0x00,0xd1,0x01,0x05,0xba,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, v1, v2, ttmp[10:11] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x00,0x00,0xd1,0x01,0x05,0xea,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_add_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x02]
+0x01,0x05,0x0a,0x02
-# 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_add_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x03]
+0x01,0x05,0xfe,0x03
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x02]
+0xff,0x05,0x0a,0x02
# 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
@@ -29409,141 +29979,177 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x02]
+0x01,0xff,0x0b,0x02
-# CHECK: v_add_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x02]
-0xff,0x05,0x0a,0x02
+# CHECK: v_add_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x01,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x01,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x01,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x01,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x67,0x04,0x02,0x00
-# CHECK: v_add_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x02]
-0x01,0xfe,0x0b,0x02
+# CHECK: v_add_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x6a,0x04,0x02,0x00
-# 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 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x6b,0x04,0x02,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, tba_lo, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x6c,0x04,0x02,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, tba_hi, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x6d,0x04,0x02,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, tma_lo, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x6e,0x04,0x02,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, tma_hi, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x01,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x01,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x01,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x01,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, |v2| ; encoding: [0x05,0x02,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x01,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x01,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x01,0xd1,0x01,0x05,0x02,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, v1, v2 mul:2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x08
-# 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, v1, v2 mul:4 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x10
-# 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, v1, v2 div:2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x18
-# 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_sub_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x04]
+0x01,0x05,0x0a,0x04
-# 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_sub_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x05]
+0x01,0x05,0xfe,0x05
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x04]
+0xff,0x05,0x0a,0x04
# 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
@@ -29595,141 +30201,177 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x04]
+0x01,0xff,0x0b,0x04
-# CHECK: v_sub_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x04]
-0xff,0x05,0x0a,0x04
+# CHECK: v_sub_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x02,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x02,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x02,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x6b,0x04,0x02,0x00
-# CHECK: v_sub_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x04]
-0x01,0xfe,0x0b,0x04
+# CHECK: v_sub_f32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x6c,0x04,0x02,0x00
-# 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 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x6d,0x04,0x02,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, tma_lo, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x6e,0x04,0x02,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, tma_hi, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x6f,0x04,0x02,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, ttmp11, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x7b,0x04,0x02,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, m0, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x02,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x02,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x02,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x02,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, |v2| ; encoding: [0x05,0x02,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x02,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x02,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x02,0xd1,0x01,0x05,0x02,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, v1, v2 mul:2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x08
-# 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, v1, v2 mul:4 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x10
-# 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, v1, v2 div:2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x18
-# 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_subrev_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x06]
+0x01,0x05,0x0a,0x06
-# 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_subrev_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x07]
+0x01,0x05,0xfe,0x07
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x06]
+0xff,0x05,0x0a,0x06
# 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
@@ -29781,141 +30423,177 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x06]
+0x01,0xff,0x0b,0x06
-# CHECK: v_subrev_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x06]
-0xff,0x05,0x0a,0x06
+# CHECK: v_subrev_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x03,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x03,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x03,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x03,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x6c,0x04,0x02,0x00
-# CHECK: v_subrev_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x06]
-0x01,0xfe,0x0b,0x06
+# CHECK: v_subrev_f32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x6d,0x04,0x02,0x00
-# 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 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x6e,0x04,0x02,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, tma_hi, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x6f,0x04,0x02,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, ttmp11, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x7b,0x04,0x02,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, m0, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x7c,0x04,0x02,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, exec_lo, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x03,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x03,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x03,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x03,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, |v2| ; encoding: [0x05,0x02,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x03,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x03,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x03,0xd1,0x01,0x05,0x02,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, v1, v2 mul:2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x08
-# 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, v1, v2 mul:4 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x10
-# 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, v1, v2 div:2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x18
-# 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_mul_legacy_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x08]
+0x01,0x05,0x0a,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_mul_legacy_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x09]
+0x01,0x05,0xfe,0x09
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x08]
+0xff,0x05,0x0a,0x08
# 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
@@ -29967,141 +30645,177 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x08]
+0x01,0xff,0x0b,0x08
-# CHECK: v_mul_legacy_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x08]
-0xff,0x05,0x0a,0x08
+# CHECK: v_mul_legacy_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x04,0xd1,0x01,0x05,0x02,0x00
-# 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, v255, v2 ; encoding: [0x05,0x00,0x04,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x04,0xd1,0xff,0x05,0x02,0x00
-# 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 v5, s1, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x01,0x04,0x02,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, s101, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x65,0x04,0x02,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, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x67,0x04,0x02,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, vcc_lo, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x04,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x04,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x04,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x04,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, |v2| ; encoding: [0x05,0x02,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x04,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x04,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x04,0xd1,0x01,0x05,0x02,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, v1, v2 mul:2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x08
-# 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, v1, v2 mul:4 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x10
-# 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, v1, v2 div:2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x18
-# 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_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x0a]
+0x01,0x05,0x0a,0x0a
-# 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_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x0b]
+0x01,0x05,0xfe,0x0b
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x0a]
+0xff,0x05,0x0a,0x0a
# 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
@@ -30153,141 +30867,177 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x0a]
+0x01,0xff,0x0b,0x0a
-# CHECK: v_mul_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x0a]
-0xff,0x05,0x0a,0x0a
+# CHECK: v_mul_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x05,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x05,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x05,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x05,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x7b,0x04,0x02,0x00
-# CHECK: v_mul_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x0a]
-0x01,0xfe,0x0b,0x0a
+# CHECK: v_mul_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x7c,0x04,0x02,0x00
-# 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 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x7e,0x04,0x02,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, exec_hi, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x7f,0x04,0x02,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, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x05,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0xc1,0x04,0x02,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, 0.5, v2 ; encoding: [0x05,0x00,0x05,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0xf0,0x04,0x02,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, -4.0, v2 ; encoding: [0x05,0x00,0x05,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x05,0xd1,0x01,0x05,0x02,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, v1, |v2| ; encoding: [0x05,0x02,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x05,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x05,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x05,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 mul:2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x08
-# 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, v1, v2 mul:4 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x10
-# 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, v1, v2 div:2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x18
-# 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_i32_i24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x0c]
+0x01,0x05,0x0a,0x0c
-# 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_i32_i24_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x0d]
+0x01,0x05,0xfe,0x0d
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x0c]
+0xff,0x05,0x0a,0x0c
# 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
@@ -30339,111 +31089,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x0c]
+0x01,0xff,0x0b,0x0c
-# CHECK: v_mul_i32_i24_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x0c]
-0xff,0x05,0x0a,0x0c
+# CHECK: v_mul_i32_i24_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x06,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x06,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x06,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x65,0x04,0x02,0x00
-# 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, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x66,0x04,0x02,0x00
-# 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 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x67,0x04,0x02,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, vcc_lo, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x6a,0x04,0x02,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, vcc_hi, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x6b,0x04,0x02,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, tba_lo, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x6c,0x04,0x02,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, tba_hi, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x06,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x06,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x06,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xef,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_hi_i32_i24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x0e]
+0x01,0x05,0x0a,0x0e
-# 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_hi_i32_i24_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x0f]
+0x01,0x05,0xfe,0x0f
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x0e]
+0xff,0x05,0x0a,0x0e
# 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
@@ -30495,111 +31281,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x0e]
+0x01,0xff,0x0b,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_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x07,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x07,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x07,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x07,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x6a,0x04,0x02,0x00
-# 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, vcc_hi, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x6b,0x04,0x02,0x00
-# 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 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x7f,0x04,0x02,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 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, v2 ; encoding: [0x05,0x00,0x07,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0xc1,0x04,0x02,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, v2 ; encoding: [0x05,0x00,0x07,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0xf0,0x04,0x02,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, v2 ; encoding: [0x05,0x00,0x07,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0xf7,0x04,0x02,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, v255 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xef,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_u32_u24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x10]
+0x01,0x05,0x0a,0x10
-# 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_u32_u24_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x11]
+0x01,0x05,0xfe,0x11
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x10]
+0xff,0x05,0x0a,0x10
# 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
@@ -30651,111 +31473,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x10]
+0x01,0xff,0x0b,0x10
-# CHECK: v_mul_u32_u24_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x10]
-0xff,0x05,0x0a,0x10
+# CHECK: v_mul_u32_u24_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x08,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x08,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x08,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x6c,0x04,0x02,0x00
-# 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, tba_hi, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x6d,0x04,0x02,0x00
-# 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 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x6e,0x04,0x02,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, tma_hi, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x6f,0x04,0x02,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, ttmp11, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x7b,0x04,0x02,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, m0, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x7c,0x04,0x02,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, exec_lo, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x08,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x08,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x08,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xef,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_hi_u32_u24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x12]
+0x01,0x05,0x0a,0x12
-# 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_hi_u32_u24_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x13]
+0x01,0x05,0xfe,0x13
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x12]
+0xff,0x05,0x0a,0x12
# 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
@@ -30807,111 +31665,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x12]
+0x01,0xff,0x0b,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_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x01,0x05,0x02,0x00
-# 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 v255, v1, v2 ; encoding: [0xff,0x00,0x09,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x09,0xd1,0x01,0x05,0x02,0x00
-# 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 v5, v255, v2 ; encoding: [0x05,0x00,0x09,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x09,0xd1,0xff,0x05,0x02,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, s1, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x01,0x04,0x02,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, s101, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x65,0x04,0x02,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, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x09,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x09,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x09,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xef,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_min_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x14]
+0x01,0x05,0x0a,0x14
-# 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_min_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x15]
+0x01,0x05,0xfe,0x15
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x14]
+0xff,0x05,0x0a,0x14
# 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
@@ -30963,141 +31857,177 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x14]
+0x01,0xff,0x0b,0x14
-# CHECK: v_min_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x14]
-0xff,0x05,0x0a,0x14
+# CHECK: v_min_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0x04,0x02,0x00
-# CHECK: v_min_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x14]
-0x01,0xfe,0x0b,0x14
+# CHECK: v_min_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x65,0x04,0x02,0x00
-# 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 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x67,0x04,0x02,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, vcc_lo, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x6a,0x04,0x02,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, vcc_hi, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x6b,0x04,0x02,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, tba_lo, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x0a,0xd1,0x01,0x05,0x02,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, v1, |v2| ; encoding: [0x05,0x02,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x0a,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x0a,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x0a,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 mul:2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x08
-# 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, v1, v2 mul:4 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x10
-# 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, v1, v2 div:2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x18
-# 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_max_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x16]
+0x01,0x05,0x0a,0x16
-# 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_max_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x17]
+0x01,0x05,0xfe,0x17
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x16]
+0xff,0x05,0x0a,0x16
# 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
@@ -31149,141 +32079,177 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x16]
+0x01,0xff,0x0b,0x16
-# CHECK: v_max_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x16]
-0xff,0x05,0x0a,0x16
+# CHECK: v_max_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x65,0x04,0x02,0x00
-# CHECK: v_max_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x16]
-0x01,0xfe,0x0b,0x16
+# CHECK: v_max_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x66,0x04,0x02,0x00
-# 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 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x67,0x04,0x02,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, vcc_lo, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x6a,0x04,0x02,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, vcc_hi, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x6b,0x04,0x02,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, tba_lo, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x6c,0x04,0x02,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, tba_hi, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x0b,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, |v2| ; encoding: [0x05,0x02,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x0b,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x0b,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x0b,0xd1,0x01,0x05,0x02,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, v1, v2 mul:2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x08
-# 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, v1, v2 mul:4 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x10
-# 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, v1, v2 div:2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x18
-# 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_min_i32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x18]
+0x01,0x05,0x0a,0x18
-# 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_min_i32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x19]
+0x01,0x05,0xfe,0x19
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x18]
+0xff,0x05,0x0a,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
@@ -31335,111 +32301,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x18]
+0x01,0xff,0x0b,0x18
-# CHECK: v_min_i32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x18]
-0xff,0x05,0x0a,0x18
+# CHECK: v_min_i32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_i32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x67,0x04,0x02,0x00
-# CHECK: v_min_i32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x18]
-0x01,0xfe,0x0b,0x18
+# CHECK: v_min_i32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x6a,0x04,0x02,0x00
-# 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 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x7f,0x04,0x02,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 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, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0xc1,0x04,0x02,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, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0xf0,0x04,0x02,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, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0xf7,0x04,0x02,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, v255 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xef,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_max_i32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x1a]
+0x01,0x05,0x0a,0x1a
-# 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_max_i32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x1b]
+0x01,0x05,0xfe,0x1b
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1a]
+0xff,0x05,0x0a,0x1a
# 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
@@ -31491,111 +32493,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x1a]
+0x01,0xff,0x0b,0x1a
-# CHECK: v_max_i32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1a]
-0xff,0x05,0x0a,0x1a
+# CHECK: v_max_i32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_i32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x6b,0x04,0x02,0x00
-# CHECK: v_max_i32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x1a]
-0x01,0xfe,0x0b,0x1a
+# CHECK: v_max_i32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x6c,0x04,0x02,0x00
-# 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 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x6d,0x04,0x02,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, tma_lo, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x6e,0x04,0x02,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, tma_hi, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x6f,0x04,0x02,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, ttmp11, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x7b,0x04,0x02,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, m0, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xef,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_min_u32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x1c]
+0x01,0x05,0x0a,0x1c
-# 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_min_u32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x1d]
+0x01,0x05,0xfe,0x1d
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1c]
+0xff,0x05,0x0a,0x1c
# 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
@@ -31647,111 +32685,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x1c]
+0x01,0xff,0x0b,0x1c
-# CHECK: v_min_u32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1c]
-0xff,0x05,0x0a,0x1c
+# CHECK: v_min_u32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_u32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x6d,0x04,0x02,0x00
-# CHECK: v_min_u32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x1c]
-0x01,0xfe,0x0b,0x1c
+# CHECK: v_min_u32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x6e,0x04,0x02,0x00
-# 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 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x6f,0x04,0x02,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, ttmp11, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x7b,0x04,0x02,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, m0, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x7c,0x04,0x02,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, exec_lo, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x7e,0x04,0x02,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, exec_hi, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xef,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_max_u32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x1e]
+0x01,0x05,0x0a,0x1e
-# 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_max_u32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x1f]
+0x01,0x05,0xfe,0x1f
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1e]
+0xff,0x05,0x0a,0x1e
# 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
@@ -31803,111 +32877,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x1e]
+0x01,0xff,0x0b,0x1e
-# CHECK: v_max_u32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1e]
-0xff,0x05,0x0a,0x1e
+# CHECK: v_max_u32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_u32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00
-# CHECK: v_max_u32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x1e]
-0x01,0xfe,0x0b,0x1e
+# CHECK: v_max_u32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0xff,0x05,0x02,0x00
-# 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 v5, s1, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0x04,0x02,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, s101, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x65,0x04,0x02,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, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x67,0x04,0x02,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, vcc_lo, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xef,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_lshrrev_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x20]
+0x01,0x05,0x0a,0x20
-# 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_lshrrev_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x21]
+0x01,0x05,0xfe,0x21
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x20]
+0xff,0x05,0x0a,0x20
# 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
@@ -31959,111 +33069,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x20]
+0x01,0xff,0x0b,0x20
-# CHECK: v_lshrrev_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x20]
-0xff,0x05,0x0a,0x20
+# CHECK: v_lshrrev_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x10,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x10,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x10,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x01,0x04,0x02,0x00
-# CHECK: v_lshrrev_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x20]
-0x01,0xfe,0x0b,0x20
+# CHECK: v_lshrrev_b32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x65,0x04,0x02,0x00
-# 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 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x67,0x04,0x02,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, vcc_lo, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x6a,0x04,0x02,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, vcc_hi, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x6b,0x04,0x02,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, tba_lo, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x10,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x10,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x10,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xef,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_ashrrev_i32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x22]
+0x01,0x05,0x0a,0x22
-# 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_ashrrev_i32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x23]
+0x01,0x05,0xfe,0x23
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x22]
+0xff,0x05,0x0a,0x22
# 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
@@ -32115,111 +33261,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x22]
+0x01,0xff,0x0b,0x22
-# CHECK: v_ashrrev_i32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x22]
-0xff,0x05,0x0a,0x22
+# CHECK: v_ashrrev_i32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x11,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x11,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x11,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x11,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x7e,0x04,0x02,0x00
-# CHECK: v_ashrrev_i32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x22]
-0x01,0xfe,0x0b,0x22
+# CHECK: v_ashrrev_i32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x7f,0x04,0x02,0x00
-# 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 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 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, v2 ; encoding: [0x05,0x00,0x11,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0xc1,0x04,0x02,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, v2 ; encoding: [0x05,0x00,0x11,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0xf0,0x04,0x02,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, v2 ; encoding: [0x05,0x00,0x11,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0xf7,0x04,0x02,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, v255 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xef,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_lshlrev_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x24]
+0x01,0x05,0x0a,0x24
-# 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_lshlrev_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x25]
+0x01,0x05,0xfe,0x25
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x24]
+0xff,0x05,0x0a,0x24
# 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
@@ -32271,111 +33453,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x24]
+0x01,0xff,0x0b,0x24
-# CHECK: v_lshlrev_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x24]
-0xff,0x05,0x0a,0x24
+# CHECK: v_lshlrev_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x12,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x12,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x12,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x12,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x6a,0x04,0x02,0x00
-# CHECK: v_lshlrev_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x24]
-0x01,0xfe,0x0b,0x24
+# CHECK: v_lshlrev_b32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x6b,0x04,0x02,0x00
-# 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 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x6c,0x04,0x02,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, tba_hi, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x6d,0x04,0x02,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, tma_lo, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x6e,0x04,0x02,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, tma_hi, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x6f,0x04,0x02,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, ttmp11, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x12,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x12,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x12,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xef,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_and_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x26]
+0x01,0x05,0x0a,0x26
-# 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_and_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x27]
+0x01,0x05,0xfe,0x27
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x26]
+0xff,0x05,0x0a,0x26
# 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
@@ -32427,111 +33645,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x26]
+0x01,0xff,0x0b,0x26
-# CHECK: v_and_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x26]
-0xff,0x05,0x0a,0x26
+# CHECK: v_and_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_and_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x13,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x13,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x13,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x13,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x6c,0x04,0x02,0x00
-# CHECK: v_and_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x26]
-0x01,0xfe,0x0b,0x26
+# CHECK: v_and_b32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x6d,0x04,0x02,0x00
-# 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 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x6e,0x04,0x02,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, tma_hi, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x6f,0x04,0x02,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, ttmp11, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x7b,0x04,0x02,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, m0, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x7c,0x04,0x02,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, exec_lo, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x13,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x13,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x13,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xef,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_or_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x28]
+0x01,0x05,0x0a,0x28
-# 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_or_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x29]
+0x01,0x05,0xfe,0x29
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x28]
+0xff,0x05,0x0a,0x28
# 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
@@ -32583,111 +33837,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x28]
+0x01,0xff,0x0b,0x28
-# CHECK: v_or_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x28]
-0xff,0x05,0x0a,0x28
+# CHECK: v_or_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_or_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x14,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x14,0xd1,0x01,0x05,0x02,0x00
-# CHECK: v_or_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x28]
-0x01,0xfe,0x0b,0x28
+# CHECK: v_or_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x14,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x14,0xd1,0xff,0x05,0x02,0x00
-# 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 v5, s1, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x01,0x04,0x02,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, s101, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x65,0x04,0x02,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, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x67,0x04,0x02,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, vcc_lo, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x14,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x14,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x14,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xef,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_xor_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x2a]
+0x01,0x05,0x0a,0x2a
-# 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_xor_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x2b]
+0x01,0x05,0xfe,0x2b
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x2a]
+0xff,0x05,0x0a,0x2a
# 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
@@ -32739,111 +34029,147 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x2a]
+0x01,0xff,0x0b,0x2a
-# CHECK: v_xor_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x2a]
-0xff,0x05,0x0a,0x2a
+# CHECK: v_xor_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x15,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x15,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x15,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x15,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x01,0x04,0x02,0x00
-# CHECK: v_xor_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x2a]
-0x01,0xfe,0x0b,0x2a
+# CHECK: v_xor_b32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x65,0x04,0x02,0x00
-# 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 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x67,0x04,0x02,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, vcc_lo, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x6a,0x04,0x02,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, vcc_hi, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x6b,0x04,0x02,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, tba_lo, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x15,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x15,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x15,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xef,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_mac_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x2c]
+0x01,0x05,0x0a,0x2c
-# 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_mac_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x2d]
+0x01,0x05,0xfe,0x2d
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x2c]
+0xff,0x05,0x0a,0x2c
# 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
@@ -32895,111 +34221,231 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x2c]
+0x01,0xff,0x0b,0x2c
-# CHECK: v_mac_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x2c]
-0xff,0x05,0x0a,0x2c
+# CHECK: v_mac_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x16,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x16,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x16,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x7f,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x16,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x16,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xff,0x03,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xd9,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xdb,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xdd,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xdf,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xf7,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x01,0x01,0x00
-# CHECK: v_mac_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x2c]
-0x01,0xfe,0x0b,0x2c
+# CHECK: v_mac_f32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x83,0x01,0x00
-# 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 v5, v1, 0.5 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xe1,0x01,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, v1, -4.0 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xef,0x01,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, -v1, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x16,0xd1,0x01,0x05,0x02,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, v1, |v2| ; encoding: [0x05,0x02,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x16,0xd1,0x01,0x05,0x02,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, |v1|, |v2| ; encoding: [0x05,0x03,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x16,0xd1,0x01,0x05,0x02,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, v1, v2 clamp ; encoding: [0x05,0x80,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x16,0xd1,0x01,0x05,0x02,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, v1, v2 mul:2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x08
-# 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, v1, v2 mul:4 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x10
-# 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, v1, v2 div:2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x18
-# 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_madmk_f32 v5, v1, 0x11213141, v3 ; encoding: [0x01,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0x01,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11
-# 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_madmk_f32 v255, v1, 0x11213141, v3 ; encoding: [0x01,0x07,0xfe,0x2f,0x41,0x31,0x21,0x11]
+0x01,0x07,0xfe,0x2f,0x41,0x31,0x21,0x11
-# 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_madmk_f32 v5, v255, 0x11213141, v3 ; encoding: [0xff,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0xff,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11
-# 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_madmk_f32 v5, 0, 0x11213141, v3 ; encoding: [0x80,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0x80,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11
-# 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_madmk_f32 v5, -1, 0x11213141, v3 ; encoding: [0xc1,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0xc1,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11
-# 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_madmk_f32 v5, 0.5, 0x11213141, v3 ; encoding: [0xf0,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0xf0,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11
-# 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_madmk_f32 v5, -4.0, 0x11213141, v3 ; encoding: [0xf7,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0xf7,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11
-# 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_madmk_f32 v5, v1, 0xa1b1c1d1, v3 ; encoding: [0x01,0x07,0x0a,0x2e,0xd1,0xc1,0xb1,0xa1]
+0x01,0x07,0x0a,0x2e,0xd1,0xc1,0xb1,0xa1
-# 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_madmk_f32 v5, v1, 0x11213141, v255 ; encoding: [0x01,0xff,0x0b,0x2e,0x41,0x31,0x21,0x11]
+0x01,0xff,0x0b,0x2e,0x41,0x31,0x21,0x11
-# 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_madak_f32 v5, v1, v2, 0x11213141 ; encoding: [0x01,0x05,0x0a,0x30,0x41,0x31,0x21,0x11]
+0x01,0x05,0x0a,0x30,0x41,0x31,0x21,0x11
-# 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_madak_f32 v255, v1, v2, 0x11213141 ; encoding: [0x01,0x05,0xfe,0x31,0x41,0x31,0x21,0x11]
+0x01,0x05,0xfe,0x31,0x41,0x31,0x21,0x11
-# 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_madak_f32 v5, v255, v2, 0x11213141 ; encoding: [0xff,0x05,0x0a,0x30,0x41,0x31,0x21,0x11]
+0xff,0x05,0x0a,0x30,0x41,0x31,0x21,0x11
-# 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_madak_f32 v5, 0, v2, 0x11213141 ; encoding: [0x80,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+0x80,0x04,0x0a,0x30,0x41,0x31,0x21,0x11
-# 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_madak_f32 v5, -1, v2, 0x11213141 ; encoding: [0xc1,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+0xc1,0x04,0x0a,0x30,0x41,0x31,0x21,0x11
-# 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_madak_f32 v5, 0.5, v2, 0x11213141 ; encoding: [0xf0,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+0xf0,0x04,0x0a,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, -4.0, v2, 0x11213141 ; encoding: [0xf7,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+0xf7,0x04,0x0a,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, v1, v255, 0x11213141 ; encoding: [0x01,0xff,0x0b,0x30,0x41,0x31,0x21,0x11]
+0x01,0xff,0x0b,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, v1, v2, 0xa1b1c1d1 ; encoding: [0x01,0x05,0x0a,0x30,0xd1,0xc1,0xb1,0xa1]
+0x01,0x05,0x0a,0x30,0xd1,0xc1,0xb1,0xa1
+
+# CHECK: v_addc_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x38]
+0x01,0x05,0x0a,0x38
+
+# CHECK: v_addc_u32_e32 v255, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x39]
+0x01,0x05,0xfe,0x39
+
+# 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, 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
@@ -33009,99 +34455,99 @@
# 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, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x38]
+0x01,0xff,0x0b,0x38
-# CHECK: v_addc_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x38]
-0xff,0x05,0x0a,0x38
+# CHECK: v_addc_u32_e64 v5, s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00
-# CHECK: v_addc_u32_e32 v5, vcc, 0, v255, vcc ; encoding: [0x80,0xfe,0x0b,0x38]
-0x80,0xfe,0x0b,0x38
+# CHECK: v_addc_u32_e64 v255, s[12:13], v1, v2, s[6:7] ; encoding: [0xff,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00]
+0xff,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00
-# 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 v5, s[14:15], v1, v2, s[6:7] ; encoding: [0x05,0x0e,0x1c,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0e,0x1c,0xd1,0x01,0x05,0x1a,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[100:101], v1, v2, s[6:7] ; encoding: [0x05,0x64,0x1c,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x64,0x1c,0xd1,0x01,0x05,0x1a,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, flat_scratch, v1, v2, s[6:7] ; encoding: [0x05,0x66,0x1c,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x66,0x1c,0xd1,0x01,0x05,0x1a,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, vcc, v1, v2, s[6:7] ; encoding: [0x05,0x6a,0x1c,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6a,0x1c,0xd1,0x01,0x05,0x1a,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, tba, v1, v2, s[6:7] ; encoding: [0x05,0x6c,0x1c,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6c,0x1c,0xd1,0x01,0x05,0x1a,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, tma, v1, v2, s[6:7] ; encoding: [0x05,0x6e,0x1c,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6e,0x1c,0xd1,0x01,0x05,0x1a,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, ttmp[10:11], v1, v2, s[6:7] ; encoding: [0x05,0x7a,0x1c,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x7a,0x1c,0xd1,0x01,0x05,0x1a,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, s[12:13], v255, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xff,0x05,0x1a,0x00]
+0x05,0x0c,0x1c,0xd1,0xff,0x05,0x1a,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], 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], -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], -1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xc1,0x04,0x1a,0x00]
+0x05,0x0c,0x1c,0xd1,0xc1,0x04,0x1a,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], 0.5, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xf0,0x04,0x1a,0x00]
+0x05,0x0c,0x1c,0xd1,0xf0,0x04,0x1a,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], -4.0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xf7,0x04,0x1a,0x00]
+0x05,0x0c,0x1c,0xd1,0xf7,0x04,0x1a,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], v1, v255, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0xff,0x1b,0x00]
+0x05,0x0c,0x1c,0xd1,0x01,0xff,0x1b,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], v1, -1, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x83,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0x01,0x83,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], v1, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0xe1,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0x01,0xe1,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], v1, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0xef,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0x01,0xef,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], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x0c,0x1c,0xd1,0x01,0x05,0x22,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], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x0c,0x1c,0xd1,0x01,0x05,0x92,0x01
-# 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], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x0c,0x1c,0xd1,0x01,0x05,0x9a,0x01
-# 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], v1, v2, vcc ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x0c,0x1c,0xd1,0x01,0x05,0xaa,0x01
-# 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], v1, v2, tba ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x0c,0x1c,0xd1,0x01,0x05,0xb2,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], v1, v2, tma ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x0c,0x1c,0xd1,0x01,0x05,0xba,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], v1, v2, ttmp[10:11] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x0c,0x1c,0xd1,0x01,0x05,0xea,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_subb_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x3a]
+0x01,0x05,0x0a,0x3a
-# 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_subb_u32_e32 v255, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x3b]
+0x01,0x05,0xfe,0x3b
-# 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, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3a]
+0xff,0x05,0x0a,0x3a
# 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
@@ -33111,99 +34557,99 @@
# 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, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x3a]
+0x01,0xff,0x0b,0x3a
-# CHECK: v_subb_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3a]
-0xff,0x05,0x0a,0x3a
+# CHECK: v_subb_u32_e64 v5, s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00
-# CHECK: v_subb_u32_e32 v5, vcc, 0, v255, vcc ; encoding: [0x80,0xfe,0x0b,0x3a]
-0x80,0xfe,0x0b,0x3a
+# CHECK: v_subb_u32_e64 v255, s[12:13], v1, v2, s[6:7] ; encoding: [0xff,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00]
+0xff,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00
-# 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 v5, s[14:15], v1, v2, s[6:7] ; encoding: [0x05,0x0e,0x1d,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0e,0x1d,0xd1,0x01,0x05,0x1a,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[100:101], v1, v2, s[6:7] ; encoding: [0x05,0x64,0x1d,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x64,0x1d,0xd1,0x01,0x05,0x1a,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, flat_scratch, v1, v2, s[6:7] ; encoding: [0x05,0x66,0x1d,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x66,0x1d,0xd1,0x01,0x05,0x1a,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, vcc, v1, v2, s[6:7] ; encoding: [0x05,0x6a,0x1d,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6a,0x1d,0xd1,0x01,0x05,0x1a,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, tba, v1, v2, s[6:7] ; encoding: [0x05,0x6c,0x1d,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6c,0x1d,0xd1,0x01,0x05,0x1a,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, tma, v1, v2, s[6:7] ; encoding: [0x05,0x6e,0x1d,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6e,0x1d,0xd1,0x01,0x05,0x1a,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, ttmp[10:11], v1, v2, s[6:7] ; encoding: [0x05,0x7a,0x1d,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x7a,0x1d,0xd1,0x01,0x05,0x1a,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, s[12:13], v255, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xff,0x05,0x1a,0x00]
+0x05,0x0c,0x1d,0xd1,0xff,0x05,0x1a,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], 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], -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], -1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xc1,0x04,0x1a,0x00]
+0x05,0x0c,0x1d,0xd1,0xc1,0x04,0x1a,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], 0.5, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xf0,0x04,0x1a,0x00]
+0x05,0x0c,0x1d,0xd1,0xf0,0x04,0x1a,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], -4.0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xf7,0x04,0x1a,0x00]
+0x05,0x0c,0x1d,0xd1,0xf7,0x04,0x1a,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], v1, v255, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0xff,0x1b,0x00]
+0x05,0x0c,0x1d,0xd1,0x01,0xff,0x1b,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], v1, -1, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x83,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0x01,0x83,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], v1, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0xe1,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0x01,0xe1,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], v1, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0xef,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0x01,0xef,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], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x0c,0x1d,0xd1,0x01,0x05,0x22,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], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x0c,0x1d,0xd1,0x01,0x05,0x92,0x01
-# 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], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x0c,0x1d,0xd1,0x01,0x05,0x9a,0x01
-# 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], v1, v2, vcc ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x0c,0x1d,0xd1,0x01,0x05,0xaa,0x01
-# 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], v1, v2, tba ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x0c,0x1d,0xd1,0x01,0x05,0xb2,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], v1, v2, tma ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x0c,0x1d,0xd1,0x01,0x05,0xba,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], v1, v2, ttmp[10:11] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x0c,0x1d,0xd1,0x01,0x05,0xea,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_subbrev_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x3c]
+0x01,0x05,0x0a,0x3c
-# 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_subbrev_u32_e32 v255, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x3d]
+0x01,0x05,0xfe,0x3d
-# 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, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3c]
+0xff,0x05,0x0a,0x3c
# 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
@@ -33213,99 +34659,99 @@
# 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, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x3c]
+0x01,0xff,0x0b,0x3c
-# CHECK: v_subbrev_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3c]
-0xff,0x05,0x0a,0x3c
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00
-# CHECK: v_subbrev_u32_e32 v5, vcc, 0, v255, vcc ; encoding: [0x80,0xfe,0x0b,0x3c]
-0x80,0xfe,0x0b,0x3c
+# CHECK: v_subbrev_u32_e64 v255, s[12:13], v1, v2, s[6:7] ; encoding: [0xff,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+0xff,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00
-# 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 v5, s[14:15], v1, v2, s[6:7] ; encoding: [0x05,0x0e,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0e,0x1e,0xd1,0x01,0x05,0x1a,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[100:101], v1, v2, s[6:7] ; encoding: [0x05,0x64,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x64,0x1e,0xd1,0x01,0x05,0x1a,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, flat_scratch, v1, v2, s[6:7] ; encoding: [0x05,0x66,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x66,0x1e,0xd1,0x01,0x05,0x1a,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, vcc, v1, v2, s[6:7] ; encoding: [0x05,0x6a,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6a,0x1e,0xd1,0x01,0x05,0x1a,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, tba, v1, v2, s[6:7] ; encoding: [0x05,0x6c,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6c,0x1e,0xd1,0x01,0x05,0x1a,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, tma, v1, v2, s[6:7] ; encoding: [0x05,0x6e,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6e,0x1e,0xd1,0x01,0x05,0x1a,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, ttmp[10:11], v1, v2, s[6:7] ; encoding: [0x05,0x7a,0x1e,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x7a,0x1e,0xd1,0x01,0x05,0x1a,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, s[12:13], v255, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xff,0x05,0x1a,0x00]
+0x05,0x0c,0x1e,0xd1,0xff,0x05,0x1a,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], 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], -1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xc1,0x04,0x1a,0x00]
+0x05,0x0c,0x1e,0xd1,0xc1,0x04,0x1a,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, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xf0,0x04,0x1a,0x00]
+0x05,0x0c,0x1e,0xd1,0xf0,0x04,0x1a,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, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xf7,0x04,0x1a,0x00]
+0x05,0x0c,0x1e,0xd1,0xf7,0x04,0x1a,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, v255, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0xff,0x1b,0x00]
+0x05,0x0c,0x1e,0xd1,0x01,0xff,0x1b,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], v1, -1, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x83,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0x01,0x83,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], v1, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0xe1,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0x01,0xe1,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], v1, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0xef,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0x01,0xef,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], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x0c,0x1e,0xd1,0x01,0x05,0x22,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], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x0c,0x1e,0xd1,0x01,0x05,0x92,0x01
-# 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], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x0c,0x1e,0xd1,0x01,0x05,0x9a,0x01
-# 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], v1, v2, vcc ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x0c,0x1e,0xd1,0x01,0x05,0xaa,0x01
-# 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], v1, v2, tba ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x0c,0x1e,0xd1,0x01,0x05,0xb2,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], v1, v2, tma ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x0c,0x1e,0xd1,0x01,0x05,0xba,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], v1, v2, ttmp[10:11] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x0c,0x1e,0xd1,0x01,0x05,0xea,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_add_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x3e]
+0x01,0x05,0x0a,0x3e
-# 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_add_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x3f]
+0x01,0x05,0xfe,0x3f
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x3e]
+0xff,0x05,0x0a,0x3e
# 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
@@ -33357,132 +34803,168 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x3e]
+0x01,0xff,0x0b,0x3e
-# CHECK: v_add_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x3e]
-0xff,0x05,0x0a,0x3e
+# CHECK: v_add_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x67,0x04,0x02,0x00
-# CHECK: v_add_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x3e]
-0x01,0xfe,0x0b,0x3e
+# CHECK: v_add_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x6a,0x04,0x02,0x00
-# 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 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x6b,0x04,0x02,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, tba_lo, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x6c,0x04,0x02,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, tba_hi, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x6d,0x04,0x02,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, tma_lo, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x6e,0x04,0x02,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, tma_hi, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x1f,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, |v2| ; encoding: [0x05,0x02,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x1f,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x1f,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x1f,0xd1,0x01,0x05,0x02,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_sub_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x40]
+0x01,0x05,0x0a,0x40
-# 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_sub_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x41]
+0x01,0x05,0xfe,0x41
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x40]
+0xff,0x05,0x0a,0x40
# 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
@@ -33534,132 +35016,168 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x40]
+0x01,0xff,0x0b,0x40
-# CHECK: v_sub_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x40]
-0xff,0x05,0x0a,0x40
+# CHECK: v_sub_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x20,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x20,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x20,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x6b,0x04,0x02,0x00
-# CHECK: v_sub_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x40]
-0x01,0xfe,0x0b,0x40
+# CHECK: v_sub_f16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x6c,0x04,0x02,0x00
-# 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 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x6d,0x04,0x02,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, tma_lo, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x6e,0x04,0x02,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, tma_hi, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x6f,0x04,0x02,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, ttmp11, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x7b,0x04,0x02,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, m0, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x20,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x20,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x20,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x20,0xd1,0x01,0x05,0x02,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, v1, |v2| ; encoding: [0x05,0x02,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x20,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x20,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x20,0xd1,0x01,0x05,0x02,0x00
-# 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_subrev_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x42]
+0x01,0x05,0x0a,0x42
-# 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_subrev_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x43]
+0x01,0x05,0xfe,0x43
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x42]
+0xff,0x05,0x0a,0x42
# 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
@@ -33711,132 +35229,168 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x42]
+0x01,0xff,0x0b,0x42
-# CHECK: v_subrev_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x42]
-0xff,0x05,0x0a,0x42
+# CHECK: v_subrev_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x21,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x21,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x21,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x21,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x6d,0x04,0x02,0x00
-# CHECK: v_subrev_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x42]
-0x01,0xfe,0x0b,0x42
+# CHECK: v_subrev_f16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x6e,0x04,0x02,0x00
-# 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 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x6f,0x04,0x02,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, ttmp11, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x7b,0x04,0x02,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, m0, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x7c,0x04,0x02,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, exec_lo, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x7e,0x04,0x02,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, exec_hi, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x21,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x21,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x21,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x60
-# 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, |v1|, v2 ; encoding: [0x05,0x01,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x21,0xd1,0x01,0x05,0x02,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, v1, |v2| ; encoding: [0x05,0x02,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x21,0xd1,0x01,0x05,0x02,0x00
-# 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, |v1|, |v2| ; encoding: [0x05,0x03,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x21,0xd1,0x01,0x05,0x02,0x00
-# 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, v1, v2 clamp ; encoding: [0x05,0x80,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x21,0xd1,0x01,0x05,0x02,0x00
-# 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_mul_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x44]
+0x01,0x05,0x0a,0x44
-# 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_mul_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x45]
+0x01,0x05,0xfe,0x45
-# 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, v255, v2 ; encoding: [0xff,0x05,0x0a,0x44]
+0xff,0x05,0x0a,0x44
# 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
@@ -33888,132 +35442,168 @@
# 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, v1, v255 ; encoding: [0x01,0xff,0x0b,0x44]
+0x01,0xff,0x0b,0x44
-# CHECK: v_mul_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x44]
-0xff,0x05,0x0a,0x44
+# CHECK: v_mul_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x22,0xd1,0x01,0x05,0x02,0x00
-# CHECK: v_mul_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x44]
-0x01,0xfe,0x0b,0x44
+# CHECK: v_mul_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x22,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x22,0xd1,0xff,0x05,0x02,0x00
-# 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 v5, s1, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x01,0x04,0x02,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, s101, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x65,0x04,0x02,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, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x66,0x04,0x02,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, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x67,0x04,0x02,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, vcc_lo, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x22,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x22,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x22,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xcb,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, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xcd,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, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xcf,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, v1, vcc_lo ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xd5,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, v1, vcc_hi ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xd7,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, v1, tba_lo ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xd9,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, v1, tba_hi ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xdb,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, v1, tma_lo ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xdd,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, v1, tma_hi ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xdf,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, v1, ttmp11 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xf7,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, v1, m0 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xf9,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, v1, exec_lo ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xfd,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, v1, exec_hi ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xff,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, v1, 0 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x01,0x01,0x01,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, v1, -1 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x01,0x83,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, v1, 0.5 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xe1,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, v1, -4.0 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xef,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, -v1, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x20
-# 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, v1, -v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x40
-# 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, -v1, -v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x60
-# 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_mul_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x22,0xd1,0x01,0x05,0x02,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_mul_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x22,0xd1,0x01,0x05,0x02,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_mul_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x22,0xd1,0x01,0x05,0x02,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_mul_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x22,0xd1,0x01,0x05,0x02,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_mac_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x46]
+0x01,0x05,0x0a,0x46
-# 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_mac_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x47]
+0x01,0x05,0xfe,0x47
-# 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_mac_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x46]
+0xff,0x05,0x0a,0x46
# CHECK: v_mac_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x46]
0x01,0x04,0x0a,0x46
-# CHECK: v_mac_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x47]
-0x01,0x04,0xfe,0x47
-
# CHECK: v_mac_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x46]
0x65,0x04,0x0a,0x46
@@ -34065,123 +35655,222 @@
# CHECK: v_mac_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x46]
0xf7,0x04,0x0a,0x46
-# CHECK: v_mac_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x46]
-0xfd,0x04,0x0a,0x46
-
# 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_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_mac_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x46]
-0x01,0x05,0x0a,0x46
+# CHECK: v_mac_f16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x46]
+0x01,0xff,0x0b,0x46
-# CHECK: v_mac_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x46]
-0xff,0x05,0x0a,0x46
+# CHECK: v_mac_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x00
-# CHECK: v_mac_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x46]
-0x01,0xfe,0x0b,0x46
+# CHECK: v_mac_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x23,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x23,0xd1,0x01,0x05,0x02,0x00
-# 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_mac_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x23,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x23,0xd1,0xff,0x05,0x02,0x00
-# 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_mac_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x04,0x02,0x00
-# 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_mac_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x65,0x04,0x02,0x00
-# 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_mac_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x66,0x04,0x02,0x00
-# 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_mac_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x67,0x04,0x02,0x00
-# 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_mac_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x6a,0x04,0x02,0x00
-# 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_mac_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x6b,0x04,0x02,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_mac_f16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x6c,0x04,0x02,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_mac_f16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x6d,0x04,0x02,0x00
-# 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_mac_f16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x6e,0x04,0x02,0x00
-# 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_mac_f16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x6f,0x04,0x02,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_mac_f16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x7b,0x04,0x02,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_mac_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x7c,0x04,0x02,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_mac_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x7e,0x04,0x02,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_mac_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x7f,0x04,0x02,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_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_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_mac_f16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x23,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0xc1,0x04,0x02,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_mac_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x23,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0xf0,0x04,0x02,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_mac_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x23,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0xf7,0x04,0x02,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_mac_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xff,0x03,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_mac_f16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x05,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_mac_f16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xcb,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_mac_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xcd,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_mac_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xd9,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xdb,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xdd,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xdf,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xf7,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_mac_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_mac_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_mac_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_mac_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_madmk_f16 v5, v1, 0x1121, v3 ; encoding: [0x01,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
+0x01,0x07,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v255, v1, 0x1121, v3 ; encoding: [0x01,0x07,0xfe,0x49,0x21,0x11,0x00,0x00]
+0x01,0x07,0xfe,0x49,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, v255, 0x1121, v3 ; encoding: [0xff,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
+0xff,0x07,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, 0, 0x1121, v3 ; encoding: [0x80,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+0x80,0x06,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, -1, 0x1121, v3 ; encoding: [0xc1,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+0xc1,0x06,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, 0.5, 0x1121, v3 ; encoding: [0xf0,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+0xf0,0x06,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, -4.0, 0x1121, v3 ; encoding: [0xf7,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+0xf7,0x06,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, v1, 0xa1b1, v3 ; encoding: [0x01,0x07,0x0a,0x48,0xb1,0xa1,0x00,0x00]
+0x01,0x07,0x0a,0x48,0xb1,0xa1,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, v1, 0x1121, v255 ; encoding: [0x01,0xff,0x0b,0x48,0x21,0x11,0x00,0x00]
+0x01,0xff,0x0b,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, v1, v2, 0x1121 ; encoding: [0x01,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0x01,0x05,0x0a,0x4a,0x21,0x11,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_madak_f16 v255, v1, v2, 0x1121 ; encoding: [0x01,0x05,0xfe,0x4b,0x21,0x11,0x00,0x00]
+0x01,0x05,0xfe,0x4b,0x21,0x11,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_madak_f16 v5, v255, v2, 0x1121 ; encoding: [0xff,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0xff,0x05,0x0a,0x4a,0x21,0x11,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_madak_f16 v5, 0, v2, 0x1121 ; encoding: [0x80,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0x80,0x04,0x0a,0x4a,0x21,0x11,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_madak_f16 v5, -1, v2, 0x1121 ; encoding: [0xc1,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0xc1,0x04,0x0a,0x4a,0x21,0x11,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_madak_f16 v5, 0.5, v2, 0x1121 ; encoding: [0xf0,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0xf0,0x04,0x0a,0x4a,0x21,0x11,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_madak_f16 v5, -4.0, v2, 0x1121 ; encoding: [0xf7,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0xf7,0x04,0x0a,0x4a,0x21,0x11,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_madak_f16 v5, v1, v255, 0x1121 ; encoding: [0x01,0xff,0x0b,0x4a,0x21,0x11,0x00,0x00]
+0x01,0xff,0x0b,0x4a,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, v1, v2, 0xa1b1 ; encoding: [0x01,0x05,0x0a,0x4a,0xb1,0xa1,0x00,0x00]
+0x01,0x05,0x0a,0x4a,0xb1,0xa1,0x00,0x00
+
+# CHECK: v_add_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x4c]
+0x01,0x05,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x4d]
+0x01,0x05,0xfe,0x4d
+
+# CHECK: v_add_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x4c]
+0xff,0x05,0x0a,0x4c
# CHECK: v_add_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x4c]
0x01,0x04,0x0a,0x4c
-# CHECK: v_add_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x4d]
-0x01,0x04,0xfe,0x4d
-
# CHECK: v_add_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x4c]
0x65,0x04,0x0a,0x4c
@@ -34233,111 +35922,147 @@
# CHECK: v_add_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x4c]
0xf7,0x04,0x0a,0x4c
-# CHECK: v_add_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x4c]
-0xfd,0x04,0x0a,0x4c
-
# 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_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_add_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x4c]
-0x01,0x05,0x0a,0x4c
+# CHECK: v_add_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x4c]
+0x01,0xff,0x0b,0x4c
-# CHECK: v_add_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x4c]
-0xff,0x05,0x0a,0x4c
+# CHECK: v_add_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x26,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x26,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x26,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x6b,0x04,0x02,0x00
-# CHECK: v_add_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x4c]
-0x01,0xfe,0x0b,0x4c
+# CHECK: v_add_u16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x6c,0x04,0x02,0x00
-# 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_add_u16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x6d,0x04,0x02,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_add_u16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x6e,0x04,0x02,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_add_u16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x6f,0x04,0x02,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_add_u16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x7b,0x04,0x02,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_add_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_add_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x26,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x26,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x26,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xff,0x03,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_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_add_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xcb,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_add_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xcd,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_add_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xcf,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_add_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xd5,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_add_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xd7,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_add_u16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xd9,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_add_u16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xdb,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_add_u16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xdd,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_add_u16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xdf,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_add_u16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xf7,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_add_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xf9,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_add_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xfd,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_add_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xff,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_add_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x01,0x01,0x01,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_add_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x01,0x83,0x01,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_add_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xe1,0x01,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_add_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xef,0x01,0x00
-# 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_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_sub_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x4e]
+0x01,0x05,0x0a,0x4e
-# 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_sub_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x4f]
+0x01,0x05,0xfe,0x4f
-# 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_sub_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x4e]
+0xff,0x05,0x0a,0x4e
# CHECK: v_sub_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x4e]
0x01,0x04,0x0a,0x4e
-# CHECK: v_sub_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x4f]
-0x01,0x04,0xfe,0x4f
-
# CHECK: v_sub_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x4e]
0x65,0x04,0x0a,0x4e
@@ -34389,111 +36114,147 @@
# CHECK: v_sub_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x4e]
0xf7,0x04,0x0a,0x4e
-# CHECK: v_sub_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x4e]
-0xfd,0x04,0x0a,0x4e
-
# 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_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_sub_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x4e]
-0x01,0x05,0x0a,0x4e
+# CHECK: v_sub_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x4e]
+0x01,0xff,0x0b,0x4e
-# CHECK: v_sub_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x4e]
-0xff,0x05,0x0a,0x4e
+# CHECK: v_sub_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x27,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x27,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x27,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x27,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x6d,0x04,0x02,0x00
-# CHECK: v_sub_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x4e]
-0x01,0xfe,0x0b,0x4e
+# CHECK: v_sub_u16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x6e,0x04,0x02,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_sub_u16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x6f,0x04,0x02,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_sub_u16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x7b,0x04,0x02,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_sub_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x7c,0x04,0x02,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_sub_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x7e,0x04,0x02,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_sub_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_sub_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x27,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x27,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x27,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xff,0x03,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_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_sub_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xcb,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_sub_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xcd,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_sub_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xcf,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_sub_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xd5,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_sub_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xd7,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_sub_u16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xd9,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_sub_u16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xdb,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_sub_u16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xdd,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_sub_u16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xdf,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_sub_u16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xf7,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_sub_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xf9,0x00,0x00
-# 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_sub_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xfd,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_sub_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xff,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_sub_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x01,0x01,0x01,0x00
-# 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_sub_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x01,0x83,0x01,0x00
-# 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_sub_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xe1,0x01,0x00
-# 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_sub_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xef,0x01,0x00
-# 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_subrev_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x50]
+0x01,0x05,0x0a,0x50
-# 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_subrev_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x51]
+0x01,0x05,0xfe,0x51
-# 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_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_subrev_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x50]
+0xff,0x05,0x0a,0x50
# CHECK: v_subrev_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x50]
0x01,0x04,0x0a,0x50
-# CHECK: v_subrev_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x51]
-0x01,0x04,0xfe,0x51
-
# CHECK: v_subrev_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x50]
0x65,0x04,0x0a,0x50
@@ -34545,111 +36306,147 @@
# CHECK: v_subrev_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x50]
0xf7,0x04,0x0a,0x50
-# CHECK: v_subrev_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x50]
-0xfd,0x04,0x0a,0x50
-
# 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_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_subrev_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x50]
-0x01,0x05,0x0a,0x50
+# CHECK: v_subrev_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x50]
+0x01,0xff,0x0b,0x50
-# CHECK: v_subrev_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x50]
-0xff,0x05,0x0a,0x50
+# CHECK: v_subrev_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x28,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x28,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x28,0xd1,0xff,0x05,0x02,0x00
-# CHECK: v_subrev_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x50]
-0x01,0xfe,0x0b,0x50
+# CHECK: v_subrev_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x01,0x04,0x02,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_subrev_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x65,0x04,0x02,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_subrev_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x66,0x04,0x02,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_subrev_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x67,0x04,0x02,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_subrev_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x6a,0x04,0x02,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_subrev_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_subrev_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x28,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x28,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x28,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xff,0x03,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_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_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_subrev_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xcb,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_subrev_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xcd,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_subrev_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xcf,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_subrev_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xd5,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_subrev_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xd7,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_subrev_u16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xd9,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_subrev_u16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xdb,0x00,0x00
-# 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_subrev_u16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xdd,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_subrev_u16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xdf,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_subrev_u16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xf7,0x00,0x00
-# 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_subrev_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xf9,0x00,0x00
-# 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_subrev_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xfd,0x00,0x00
-# 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_subrev_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xff,0x00,0x00
-# 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_subrev_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x01,0x01,0x01,0x00
-# 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_subrev_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x01,0x83,0x01,0x00
-# 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_subrev_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xe1,0x01,0x00
-# 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_subrev_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xef,0x01,0x00
-# 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_mul_lo_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x52]
+0x01,0x05,0x0a,0x52
-# 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_mul_lo_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x53]
+0x01,0x05,0xfe,0x53
-# 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_mul_lo_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x52]
+0xff,0x05,0x0a,0x52
# CHECK: v_mul_lo_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x52]
0x01,0x04,0x0a,0x52
-# CHECK: v_mul_lo_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x53]
-0x01,0x04,0xfe,0x53
-
# CHECK: v_mul_lo_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x52]
0x65,0x04,0x0a,0x52
@@ -34701,111 +36498,147 @@
# CHECK: v_mul_lo_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x52]
0xf7,0x04,0x0a,0x52
-# CHECK: v_mul_lo_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x52]
-0xfd,0x04,0x0a,0x52
-
# 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_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_mul_lo_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x52]
-0x01,0x05,0x0a,0x52
+# CHECK: v_mul_lo_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x52]
+0x01,0xff,0x0b,0x52
-# CHECK: v_mul_lo_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x52]
-0xff,0x05,0x0a,0x52
+# CHECK: v_mul_lo_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x29,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x29,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x29,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x29,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x01,0x04,0x02,0x00
-# CHECK: v_mul_lo_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x52]
-0x01,0xfe,0x0b,0x52
+# CHECK: v_mul_lo_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x65,0x04,0x02,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_mul_lo_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x66,0x04,0x02,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_mul_lo_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x67,0x04,0x02,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_mul_lo_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x6a,0x04,0x02,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_mul_lo_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x6b,0x04,0x02,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_mul_lo_u16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_mul_lo_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x29,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x29,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x29,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xff,0x03,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_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_mul_lo_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xcb,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_mul_lo_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xcd,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_mul_lo_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xcf,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_mul_lo_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xd5,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_mul_lo_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xd7,0x00,0x00
-# 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_mul_lo_u16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xd9,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_mul_lo_u16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xdb,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_mul_lo_u16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xdd,0x00,0x00
-# 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_mul_lo_u16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xdf,0x00,0x00
-# 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_mul_lo_u16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xf7,0x00,0x00
-# 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_mul_lo_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xf9,0x00,0x00
-# 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_mul_lo_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xfd,0x00,0x00
-# 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_mul_lo_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xff,0x00,0x00
-# 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_mul_lo_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x01,0x01,0x01,0x00
-# 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_mul_lo_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x01,0x83,0x01,0x00
-# 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_mul_lo_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xe1,0x01,0x00
-# 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_mul_lo_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xef,0x01,0x00
-# 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_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_lshlrev_b16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x54]
+0x01,0x05,0x0a,0x54
-# 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_lshlrev_b16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x55]
+0x01,0x05,0xfe,0x55
-# 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_lshlrev_b16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x54]
+0xff,0x05,0x0a,0x54
# CHECK: v_lshlrev_b16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x54]
0x01,0x04,0x0a,0x54
-# CHECK: v_lshlrev_b16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x55]
-0x01,0x04,0xfe,0x55
-
# CHECK: v_lshlrev_b16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x54]
0x65,0x04,0x0a,0x54
@@ -34857,111 +36690,147 @@
# CHECK: v_lshlrev_b16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x54]
0xf7,0x04,0x0a,0x54
-# CHECK: v_lshlrev_b16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x54]
-0xfd,0x04,0x0a,0x54
-
# 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_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_lshlrev_b16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x54]
-0x01,0x05,0x0a,0x54
+# CHECK: v_lshlrev_b16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x54]
+0x01,0xff,0x0b,0x54
-# CHECK: v_lshlrev_b16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x54]
-0xff,0x05,0x0a,0x54
+# CHECK: v_lshlrev_b16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x66,0x04,0x02,0x00
-# CHECK: v_lshlrev_b16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x54]
-0x01,0xfe,0x0b,0x54
+# CHECK: v_lshlrev_b16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x67,0x04,0x02,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_lshlrev_b16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x6a,0x04,0x02,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_lshlrev_b16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_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_lshlrev_b16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0xc1,0x04,0x02,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_lshlrev_b16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0xf0,0x04,0x02,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_lshlrev_b16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xff,0x03,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_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_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_lshlrev_b16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xcb,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xcd,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_lshlrev_b16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xcf,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_lshlrev_b16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xd5,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xd7,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xd9,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xdb,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xdd,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xdf,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xf7,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xf9,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xfd,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xff,0x00,0x00
-# 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_lshlrev_b16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0x01,0x01,0x00
-# 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_lshlrev_b16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0x83,0x01,0x00
-# 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_lshlrev_b16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xe1,0x01,0x00
-# 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_lshlrev_b16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xef,0x01,0x00
-# 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_lshrrev_b16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x56]
+0x01,0x05,0x0a,0x56
-# 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_lshrrev_b16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x57]
+0x01,0x05,0xfe,0x57
-# 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_lshrrev_b16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x56]
+0xff,0x05,0x0a,0x56
# CHECK: v_lshrrev_b16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x56]
0x01,0x04,0x0a,0x56
-# CHECK: v_lshrrev_b16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x57]
-0x01,0x04,0xfe,0x57
-
# CHECK: v_lshrrev_b16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x56]
0x65,0x04,0x0a,0x56
@@ -35013,111 +36882,147 @@
# CHECK: v_lshrrev_b16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x56]
0xf7,0x04,0x0a,0x56
-# CHECK: v_lshrrev_b16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x56]
-0xfd,0x04,0x0a,0x56
-
# 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_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_lshrrev_b16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x56]
-0x01,0x05,0x0a,0x56
+# CHECK: v_lshrrev_b16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x56]
+0x01,0xff,0x0b,0x56
-# CHECK: v_lshrrev_b16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x56]
-0xff,0x05,0x0a,0x56
+# CHECK: v_lshrrev_b16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x6a,0x04,0x02,0x00
-# CHECK: v_lshrrev_b16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x56]
-0x01,0xfe,0x0b,0x56
+# CHECK: v_lshrrev_b16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x6b,0x04,0x02,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_lshrrev_b16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x6c,0x04,0x02,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_lshrrev_b16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x6d,0x04,0x02,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_lshrrev_b16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x6e,0x04,0x02,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_lshrrev_b16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x6f,0x04,0x02,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_lshrrev_b16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_lshrrev_b16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xff,0x03,0x00
# 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_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_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_lshrrev_b16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xcb,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xcd,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xcf,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xd5,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xd7,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xd9,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xdb,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xdd,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xdf,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xf7,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xf9,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xfd,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xff,0x00,0x00
-# 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_lshrrev_b16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0x01,0x01,0x00
-# 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_lshrrev_b16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0x83,0x01,0x00
-# 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_lshrrev_b16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xe1,0x01,0x00
-# 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_lshrrev_b16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xef,0x01,0x00
-# 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_ashrrev_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x58]
+0x01,0x05,0x0a,0x58
-# 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_ashrrev_i16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x59]
+0x01,0x05,0xfe,0x59
-# 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_ashrrev_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x58]
+0xff,0x05,0x0a,0x58
# CHECK: v_ashrrev_i16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x58]
0x01,0x04,0x0a,0x58
-# CHECK: v_ashrrev_i16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x59]
-0x01,0x04,0xfe,0x59
-
# CHECK: v_ashrrev_i16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x58]
0x65,0x04,0x0a,0x58
@@ -35169,111 +37074,147 @@
# CHECK: v_ashrrev_i16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x58]
0xf7,0x04,0x0a,0x58
-# CHECK: v_ashrrev_i16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x58]
-0xfd,0x04,0x0a,0x58
-
# 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_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_ashrrev_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x58]
-0x01,0x05,0x0a,0x58
+# CHECK: v_ashrrev_i16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x58]
+0x01,0xff,0x0b,0x58
-# CHECK: v_ashrrev_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x58]
-0xff,0x05,0x0a,0x58
+# CHECK: v_ashrrev_i16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x6d,0x04,0x02,0x00
-# CHECK: v_ashrrev_i16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x58]
-0x01,0xfe,0x0b,0x58
+# CHECK: v_ashrrev_i16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x6e,0x04,0x02,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_ashrrev_i16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x6f,0x04,0x02,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_ashrrev_i16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x7b,0x04,0x02,0x00
-# 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_ashrrev_i16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x7c,0x04,0x02,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_ashrrev_i16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x7e,0x04,0x02,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_ashrrev_i16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x7f,0x04,0x02,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_ashrrev_i16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xff,0x03,0x00
# 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_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_ashrrev_i16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xcb,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xcd,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xcf,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xd5,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xd7,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xd9,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xdb,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xdd,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xdf,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xf7,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xf9,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xfd,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xff,0x00,0x00
-# 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_ashrrev_i16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0x01,0x01,0x00
-# 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_ashrrev_i16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0x83,0x01,0x00
-# 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_ashrrev_i16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xe1,0x01,0x00
-# 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_ashrrev_i16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xef,0x01,0x00
-# 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_max_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5a]
+0x01,0x05,0x0a,0x5a
-# 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_max_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x5b]
+0x01,0x05,0xfe,0x5b
-# 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_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_max_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5a]
+0xff,0x05,0x0a,0x5a
# CHECK: v_max_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x5a]
0x01,0x04,0x0a,0x5a
-# CHECK: v_max_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x5b]
-0x01,0x04,0xfe,0x5b
-
# CHECK: v_max_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x5a]
0x65,0x04,0x0a,0x5a
@@ -35325,132 +37266,168 @@
# CHECK: v_max_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x5a]
0xf7,0x04,0x0a,0x5a
-# CHECK: v_max_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x5a]
-0xfd,0x04,0x0a,0x5a
-
# 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_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_max_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5a]
-0x01,0x05,0x0a,0x5a
+# CHECK: v_max_f16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x5a]
+0x01,0xff,0x0b,0x5a
-# CHECK: v_max_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5a]
-0xff,0x05,0x0a,0x5a
+# CHECK: v_max_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00
-# CHECK: v_max_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x5a]
-0x01,0xfe,0x0b,0x5a
+# CHECK: v_max_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0xff,0x05,0x02,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_max_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0x04,0x02,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_max_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x65,0x04,0x02,0x00
-# 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_max_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x66,0x04,0x02,0x00
-# 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_max_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x67,0x04,0x02,0x00
-# 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_max_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_max_f16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xff,0x03,0x00
# 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_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_max_f16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xcb,0x00,0x00
-# 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_max_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xcd,0x00,0x00
-# 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_max_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xcf,0x00,0x00
-# 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_max_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xd5,0x00,0x00
-# 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_max_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xd7,0x00,0x00
-# 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_max_f16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xd9,0x00,0x00
-# 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_max_f16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xdb,0x00,0x00
-# 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_max_f16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xdd,0x00,0x00
-# 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_max_f16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xdf,0x00,0x00
-# 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_max_f16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xf7,0x00,0x00
-# 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_max_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xf9,0x00,0x00
-# 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_max_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xfd,0x00,0x00
-# 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_max_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xff,0x00,0x00
-# 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_max_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0x01,0x01,0x00
-# 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_max_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0x83,0x01,0x00
-# 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_max_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xe1,0x01,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_max_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xef,0x01,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_max_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x20
-# 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_max_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x40
-# 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_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_max_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x60
-# 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_max_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x2d,0xd1,0x01,0x05,0x02,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_max_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x2d,0xd1,0x01,0x05,0x02,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_max_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x2d,0xd1,0x01,0x05,0x02,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_max_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x2d,0xd1,0x01,0x05,0x02,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_min_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5c]
+0x01,0x05,0x0a,0x5c
-# 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_min_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x5d]
+0x01,0x05,0xfe,0x5d
-# 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_min_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5c]
+0xff,0x05,0x0a,0x5c
# CHECK: v_min_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x5c]
0x01,0x04,0x0a,0x5c
-# CHECK: v_min_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x5d]
-0x01,0x04,0xfe,0x5d
-
# CHECK: v_min_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x5c]
0x65,0x04,0x0a,0x5c
@@ -35502,132 +37479,168 @@
# CHECK: v_min_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x5c]
0xf7,0x04,0x0a,0x5c
-# CHECK: v_min_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x5c]
-0xfd,0x04,0x0a,0x5c
-
# 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_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_min_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5c]
-0x01,0x05,0x0a,0x5c
+# CHECK: v_min_f16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x5c]
+0x01,0xff,0x0b,0x5c
-# CHECK: v_min_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5c]
-0xff,0x05,0x0a,0x5c
+# CHECK: v_min_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0x04,0x02,0x00
-# CHECK: v_min_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x5c]
-0x01,0xfe,0x0b,0x5c
+# CHECK: v_min_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x65,0x04,0x02,0x00
-# 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_min_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x66,0x04,0x02,0x00
-# 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_min_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x67,0x04,0x02,0x00
-# 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_min_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x6a,0x04,0x02,0x00
-# 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_min_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x6b,0x04,0x02,0x00
-# 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_min_f16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x7f,0x04,0x02,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_min_f16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xff,0x03,0x00
# 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_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_min_f16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xcb,0x00,0x00
-# 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_min_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xcd,0x00,0x00
-# 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_min_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xcf,0x00,0x00
-# 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_min_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xd5,0x00,0x00
-# 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_min_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xd7,0x00,0x00
-# 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_min_f16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xd9,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_min_f16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xdb,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_min_f16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xdd,0x00,0x00
-# 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_min_f16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xdf,0x00,0x00
-# 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_min_f16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xf7,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_min_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xf9,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_min_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xfd,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_min_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xff,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_min_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0x01,0x01,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_min_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0x83,0x01,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_min_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xe1,0x01,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_min_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xef,0x01,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_min_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x20
-# 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_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_min_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x40
-# 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_min_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x60
-# 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_min_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x2e,0xd1,0x01,0x05,0x02,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_min_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x2e,0xd1,0x01,0x05,0x02,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_min_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x2e,0xd1,0x01,0x05,0x02,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_min_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x2e,0xd1,0x01,0x05,0x02,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_max_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5e]
+0x01,0x05,0x0a,0x5e
-# 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_max_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x5f]
+0x01,0x05,0xfe,0x5f
-# 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_max_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5e]
+0xff,0x05,0x0a,0x5e
# CHECK: v_max_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x5e]
0x01,0x04,0x0a,0x5e
-# CHECK: v_max_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x5f]
-0x01,0x04,0xfe,0x5f
-
# CHECK: v_max_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x5e]
0x65,0x04,0x0a,0x5e
@@ -35679,111 +37692,147 @@
# CHECK: v_max_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x5e]
0xf7,0x04,0x0a,0x5e
-# CHECK: v_max_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x5e]
-0xfd,0x04,0x0a,0x5e
-
# 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_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_max_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5e]
-0x01,0x05,0x0a,0x5e
+# CHECK: v_max_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x5e]
+0x01,0xff,0x0b,0x5e
-# CHECK: v_max_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5e]
-0xff,0x05,0x0a,0x5e
+# CHECK: v_max_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x66,0x04,0x02,0x00
-# CHECK: v_max_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x5e]
-0x01,0xfe,0x0b,0x5e
+# CHECK: v_max_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x67,0x04,0x02,0x00
-# 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_max_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x6a,0x04,0x02,0x00
-# 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_max_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x6b,0x04,0x02,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_max_u16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x7f,0x04,0x02,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_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_max_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0xc1,0x04,0x02,0x00
-# 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_max_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xff,0x03,0x00
# 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_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_max_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xcb,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_max_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xcd,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_max_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xcf,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_max_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xd5,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_max_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xd7,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_max_u16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xd9,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_max_u16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xdb,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_max_u16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xdd,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_max_u16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xdf,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_max_u16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xf7,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_max_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xf9,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_max_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xfd,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_max_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xff,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_max_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0x01,0x01,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_max_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0x83,0x01,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_max_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xe1,0x01,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_max_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xef,0x01,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_max_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x60]
+0x01,0x05,0x0a,0x60
-# 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_max_i16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x61]
+0x01,0x05,0xfe,0x61
-# 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_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_max_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x60]
+0xff,0x05,0x0a,0x60
# CHECK: v_max_i16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x60]
0x01,0x04,0x0a,0x60
-# CHECK: v_max_i16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x61]
-0x01,0x04,0xfe,0x61
-
# CHECK: v_max_i16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x60]
0x65,0x04,0x0a,0x60
@@ -35835,111 +37884,147 @@
# CHECK: v_max_i16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x60]
0xf7,0x04,0x0a,0x60
-# CHECK: v_max_i16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x60]
-0xfd,0x04,0x0a,0x60
-
# 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_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_max_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x60]
-0x01,0x05,0x0a,0x60
+# CHECK: v_max_i16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x60]
+0x01,0xff,0x0b,0x60
-# CHECK: v_max_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x60]
-0xff,0x05,0x0a,0x60
+# CHECK: v_max_i16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_i16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x30,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x30,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x30,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x6a,0x04,0x02,0x00
-# CHECK: v_max_i16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x60]
-0x01,0xfe,0x0b,0x60
+# CHECK: v_max_i16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x6b,0x04,0x02,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_max_i16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x6c,0x04,0x02,0x00
-# 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_max_i16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x6d,0x04,0x02,0x00
-# 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_max_i16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x6e,0x04,0x02,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_max_i16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x6f,0x04,0x02,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_max_i16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_max_i16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x30,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x30,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x30,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xff,0x03,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_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_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_max_i16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xcb,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_max_i16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xcd,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_max_i16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xcf,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_max_i16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xd5,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_max_i16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xd7,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_max_i16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xd9,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_max_i16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xdb,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_max_i16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xdd,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_max_i16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xdf,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_max_i16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xf7,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_max_i16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xf9,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_max_i16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xfd,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_max_i16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xff,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_max_i16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x01,0x01,0x01,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_max_i16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x01,0x83,0x01,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_max_i16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xe1,0x01,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_max_i16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xef,0x01,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_min_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x62]
+0x01,0x05,0x0a,0x62
-# 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_min_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x63]
+0x01,0x05,0xfe,0x63
-# 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_min_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x62]
+0xff,0x05,0x0a,0x62
# CHECK: v_min_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x62]
0x01,0x04,0x0a,0x62
-# CHECK: v_min_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x63]
-0x01,0x04,0xfe,0x63
-
# CHECK: v_min_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x62]
0x65,0x04,0x0a,0x62
@@ -35991,111 +38076,147 @@
# CHECK: v_min_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x62]
0xf7,0x04,0x0a,0x62
-# CHECK: v_min_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x62]
-0xfd,0x04,0x0a,0x62
-
# 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_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_min_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x62]
-0x01,0x05,0x0a,0x62
+# CHECK: v_min_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x62]
+0x01,0xff,0x0b,0x62
-# CHECK: v_min_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x62]
-0xff,0x05,0x0a,0x62
+# CHECK: v_min_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x31,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x31,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x31,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x31,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x6c,0x04,0x02,0x00
-# CHECK: v_min_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x62]
-0x01,0xfe,0x0b,0x62
+# CHECK: v_min_u16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x6d,0x04,0x02,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_min_u16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x6e,0x04,0x02,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_min_u16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x6f,0x04,0x02,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_min_u16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x7b,0x04,0x02,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_min_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x7c,0x04,0x02,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_min_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_min_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x31,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x31,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x31,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xff,0x03,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_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_min_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xcb,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_min_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xcd,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_min_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xcf,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_min_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xd5,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_min_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xd7,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_min_u16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xd9,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_min_u16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xdb,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_min_u16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xdd,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_min_u16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xdf,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_min_u16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xf7,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_min_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xf9,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_min_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xfd,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_min_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xff,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_min_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x01,0x01,0x01,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_min_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x01,0x83,0x01,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_min_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xe1,0x01,0x00
-# 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_min_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xef,0x01,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_min_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x64]
+0x01,0x05,0x0a,0x64
-# 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_min_i16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x65]
+0x01,0x05,0xfe,0x65
-# 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_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_min_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x64]
+0xff,0x05,0x0a,0x64
# CHECK: v_min_i16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x64]
0x01,0x04,0x0a,0x64
-# CHECK: v_min_i16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x65]
-0x01,0x04,0xfe,0x65
-
# CHECK: v_min_i16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x64]
0x65,0x04,0x0a,0x64
@@ -36147,111 +38268,147 @@
# CHECK: v_min_i16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x64]
0xf7,0x04,0x0a,0x64
-# CHECK: v_min_i16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x64]
-0xfd,0x04,0x0a,0x64
-
# 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_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_min_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x64]
-0x01,0x05,0x0a,0x64
+# CHECK: v_min_i16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x64]
+0x01,0xff,0x0b,0x64
-# CHECK: v_min_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x64]
-0xff,0x05,0x0a,0x64
+# CHECK: v_min_i16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_i16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x32,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x32,0xd1,0x01,0x05,0x02,0x00
-# CHECK: v_min_i16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x64]
-0x01,0xfe,0x0b,0x64
+# CHECK: v_min_i16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x32,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x32,0xd1,0xff,0x05,0x02,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_min_i16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x01,0x04,0x02,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_min_i16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x65,0x04,0x02,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_min_i16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x66,0x04,0x02,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_min_i16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x67,0x04,0x02,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_min_i16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_min_i16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x32,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x32,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x32,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xff,0x03,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_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_min_i16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xcb,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_min_i16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xcd,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_min_i16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xcf,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_min_i16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xd5,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_min_i16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xd7,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_min_i16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xd9,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_min_i16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xdb,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_min_i16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xdd,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_min_i16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xdf,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_min_i16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xf7,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_min_i16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xf9,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_min_i16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xfd,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_min_i16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xff,0x00,0x00
-# 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_min_i16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x01,0x01,0x01,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_min_i16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x01,0x83,0x01,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_min_i16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xe1,0x01,0x00
-# 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_min_i16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xef,0x01,0x00
-# 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_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_ldexp_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x66]
+0x01,0x05,0x0a,0x66
-# 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_ldexp_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x67]
+0x01,0x05,0xfe,0x67
-# 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_ldexp_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x66]
+0xff,0x05,0x0a,0x66
# CHECK: v_ldexp_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x66]
0x01,0x04,0x0a,0x66
-# CHECK: v_ldexp_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x67]
-0x01,0x04,0xfe,0x67
-
# CHECK: v_ldexp_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x66]
0x65,0x04,0x0a,0x66
@@ -36303,5660 +38460,9896 @@
# CHECK: v_ldexp_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x66]
0xf7,0x04,0x0a,0x66
-# CHECK: v_ldexp_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x66]
-0xfd,0x04,0x0a,0x66
-
# 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_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_ldexp_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x66]
-0x01,0x05,0x0a,0x66
+# CHECK: v_ldexp_f16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x66]
+0x01,0xff,0x0b,0x66
-# CHECK: v_ldexp_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x66]
-0xff,0x05,0x0a,0x66
+# CHECK: v_ldexp_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x33,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x33,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x33,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x33,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x01,0x04,0x02,0x00
-# CHECK: v_ldexp_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x66]
-0x01,0xfe,0x0b,0x66
+# CHECK: v_ldexp_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x65,0x04,0x02,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_ldexp_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x66,0x04,0x02,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_ldexp_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x67,0x04,0x02,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_ldexp_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x6a,0x04,0x02,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_ldexp_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x6b,0x04,0x02,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_ldexp_f16_e64 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_ldexp_f16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x33,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x33,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x33,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xff,0x03,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_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_ldexp_f16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xcb,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_ldexp_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xcd,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_ldexp_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xcf,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_ldexp_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xd5,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_ldexp_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xd7,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_ldexp_f16_e64 v5, v1, tba_lo ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xd9,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_ldexp_f16_e64 v5, v1, tba_hi ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xdb,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_ldexp_f16_e64 v5, v1, tma_lo ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xdd,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_ldexp_f16_e64 v5, v1, tma_hi ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xdf,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_ldexp_f16_e64 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xf7,0x00,0x00
-# 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_ldexp_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xf9,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_ldexp_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xfd,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_ldexp_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xff,0x00,0x00
-# 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_ldexp_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x01,0x01,0x01,0x00
-# 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_ldexp_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x01,0x83,0x01,0x00
-# 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_ldexp_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xe1,0x01,0x00
-# 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_ldexp_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xef,0x01,0x00
-# 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_ldexp_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x20
-# 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_ldexp_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x33,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x33,0xd1,0x01,0x05,0x02,0x00
-# 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_ldexp_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x33,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x33,0xd1,0x01,0x05,0x02,0x00
-# 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_mad_legacy_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_legacy_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_legacy_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0xff,0x05,0x0e,0x04
-# 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_mad_legacy_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x65,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x66,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x67,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x6a,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x6b,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x6c,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x6d,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x6e,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x6f,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x7b,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x7c,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x7e,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x7f,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x80,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0xc1,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0xf0,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0xf7,0x04,0x0e,0x04
-# 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_mad_legacy_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xff,0x0f,0x04
-# 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_mad_legacy_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xcb,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xcd,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xcf,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xd5,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xd7,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xd9,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xdb,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xdd,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xdf,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xf7,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xf9,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xfd,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xff,0x0c,0x04
-# 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_mad_legacy_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x01,0x0d,0x04
-# 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_mad_legacy_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x83,0x0d,0x04
-# 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_mad_legacy_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xe1,0x0d,0x04
-# 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_mad_legacy_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xef,0x0d,0x04
-# 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_mad_legacy_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x07
-# 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_mad_legacy_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x00
-# 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_mad_legacy_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x96,0x01
-# 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_mad_legacy_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x9a,0x01
-# 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_mad_legacy_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x9e,0x01
-# 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_mad_legacy_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xaa,0x01
-# 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_mad_legacy_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xae,0x01
-# 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_mad_legacy_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xb2,0x01
-# 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_mad_legacy_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xb6,0x01
-# 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_mad_legacy_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xba,0x01
-# 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_mad_legacy_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xbe,0x01
-# 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_mad_legacy_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xee,0x01
-# 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_mad_legacy_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xf2,0x01
-# 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_mad_legacy_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xfa,0x01
-# 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_mad_legacy_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x01
-# 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_mad_legacy_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x02,0x02
-# 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_mad_legacy_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x06,0x03
-# 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_mad_legacy_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xc2,0x03
-# 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_mad_legacy_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xde,0x03
-# 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_mad_legacy_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x24
-# 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_mad_legacy_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x44
-# 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_mad_legacy_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x84
-# 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_mad_legacy_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0xe4
-# 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_mad_legacy_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc0,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_legacy_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc0,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_legacy_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc0,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_legacy_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc0,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_legacy_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc0,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_legacy_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x0c
-# 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_mad_legacy_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x14
-# 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_mad_legacy_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x1c
-# 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_mad_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0xff,0x05,0x0e,0x04
-# 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_mad_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x04,0x0e,0x04
-# 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_mad_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x65,0x04,0x0e,0x04
-# 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_mad_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x66,0x04,0x0e,0x04
-# 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_mad_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x67,0x04,0x0e,0x04
-# 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_mad_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x6a,0x04,0x0e,0x04
-# 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_mad_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x6b,0x04,0x0e,0x04
-# 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_mad_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x6c,0x04,0x0e,0x04
-# 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_mad_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x6d,0x04,0x0e,0x04
-# 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_mad_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x6e,0x04,0x0e,0x04
-# 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_mad_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x6f,0x04,0x0e,0x04
-# 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_mad_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x7b,0x04,0x0e,0x04
-# 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_mad_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x7c,0x04,0x0e,0x04
-# 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_mad_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x7e,0x04,0x0e,0x04
-# 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_mad_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x7f,0x04,0x0e,0x04
-# 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_mad_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x80,0x04,0x0e,0x04
-# 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_mad_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0xc1,0x04,0x0e,0x04
-# 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_mad_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0xf0,0x04,0x0e,0x04
-# 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_mad_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0xf7,0x04,0x0e,0x04
-# 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_mad_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xff,0x0f,0x04
-# 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_mad_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0c,0x04
-# 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_mad_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xcb,0x0c,0x04
-# 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_mad_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xcd,0x0c,0x04
-# 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_mad_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xcf,0x0c,0x04
-# 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_mad_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xd5,0x0c,0x04
-# 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_mad_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xd7,0x0c,0x04
-# 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_mad_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xd9,0x0c,0x04
-# 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_mad_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xdb,0x0c,0x04
-# 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_mad_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xdd,0x0c,0x04
-# 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_mad_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xdf,0x0c,0x04
-# 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_mad_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xf7,0x0c,0x04
-# 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_mad_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xf9,0x0c,0x04
-# 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_mad_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xfd,0x0c,0x04
-# 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_mad_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xff,0x0c,0x04
-# 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_mad_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x01,0x0d,0x04
-# 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_mad_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x83,0x0d,0x04
-# 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_mad_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xe1,0x0d,0x04
-# 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_mad_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xef,0x0d,0x04
-# 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_mad_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x07
-# 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_mad_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x00
-# 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_mad_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x96,0x01
-# 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_mad_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x9a,0x01
-# 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_mad_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x9e,0x01
-# 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_mad_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xaa,0x01
-# 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_mad_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xae,0x01
-# 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_mad_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xb2,0x01
-# 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_mad_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xb6,0x01
-# 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_mad_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xba,0x01
-# 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_mad_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xbe,0x01
-# 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_mad_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xee,0x01
-# 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_mad_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xf2,0x01
-# 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_mad_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xfa,0x01
-# 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_mad_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x01
-# 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_mad_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x02,0x02
-# 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_mad_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x06,0x03
-# 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_mad_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xc2,0x03
-# 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_mad_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xde,0x03
-# 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_mad_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x24
-# 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_mad_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x44
-# 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_mad_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x84
-# 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_mad_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0xe4
-# 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_mad_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc1,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc1,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc1,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc1,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc1,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x0c
-# 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_mad_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x14
-# 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_mad_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x1c
-# 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_mad_i32_i24 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_i32_i24 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_i32_i24 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0xff,0x05,0x0e,0x04
-# 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_mad_i32_i24 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x65,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x66,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x67,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x6a,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x6b,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x6c,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x6d,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x6e,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x6f,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x7b,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x7c,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x7e,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x7f,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x80,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0xc1,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0xf0,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0xf7,0x04,0x0e,0x04
-# 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_mad_i32_i24 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xff,0x0f,0x04
-# 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_mad_i32_i24 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xcb,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xcd,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xcf,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xd5,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xd7,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xd9,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xdb,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xdd,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xdf,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xf7,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xf9,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xfd,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xff,0x0c,0x04
-# 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_mad_i32_i24 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x01,0x0d,0x04
-# 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_mad_i32_i24 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x83,0x0d,0x04
-# 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_mad_i32_i24 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xe1,0x0d,0x04
-# 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_mad_i32_i24 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xef,0x0d,0x04
-# 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_mad_i32_i24 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x07
-# 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_mad_i32_i24 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,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_mad_i32_i24 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x96,0x01
-# 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_mad_i32_i24 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x9a,0x01
-# 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_mad_i32_i24 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x9e,0x01
-# 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_mad_i32_i24 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xaa,0x01
-# 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_mad_i32_i24 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xae,0x01
-# 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_mad_i32_i24 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xb2,0x01
-# 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_mad_i32_i24 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xb6,0x01
-# 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_mad_i32_i24 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xba,0x01
-# 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_mad_i32_i24 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xbe,0x01
-# 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_mad_i32_i24 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xee,0x01
-# 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_mad_i32_i24 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xf2,0x01
-# 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_mad_i32_i24 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xfa,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_mad_i32_i24 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x01
-# 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_mad_i32_i24 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x02,0x02
-# 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_mad_i32_i24 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x06,0x03
-# 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_mad_i32_i24 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xc2,0x03
-# 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_mad_i32_i24 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xde,0x03
-# 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_mad_u32_u24 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_u32_u24 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04
-# 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_mad_u32_u24 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0xff,0x05,0x0e,0x04
-# 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_mad_u32_u24 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x65,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x66,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x67,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x6a,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x6b,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x6c,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x6d,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x6e,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x6f,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x7b,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x7c,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x7e,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x7f,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x80,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0xc1,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0xf0,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0xf7,0x04,0x0e,0x04
-# 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_mad_u32_u24 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xff,0x0f,0x04
-# 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_mad_u32_u24 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xcb,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xcd,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xcf,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xd5,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xd7,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xd9,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xdb,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xdd,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xdf,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xf7,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xf9,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xfd,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xff,0x0c,0x04
-# 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_mad_u32_u24 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x01,0x0d,0x04
-# 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_mad_u32_u24 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x83,0x0d,0x04
-# 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_mad_u32_u24 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xe1,0x0d,0x04
-# 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_mad_u32_u24 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xef,0x0d,0x04
-# 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_mad_u32_u24 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x07
-# 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_mad_u32_u24 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x00
-# 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_mad_u32_u24 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x96,0x01
-# 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_mad_u32_u24 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x9a,0x01
-# 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_mad_u32_u24 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x9e,0x01
-# 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_mad_u32_u24 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xaa,0x01
-# 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_mad_u32_u24 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xae,0x01
-# 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_mad_u32_u24 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xb2,0x01
-# 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_mad_u32_u24 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xb6,0x01
-# 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_mad_u32_u24 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xba,0x01
-# 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_mad_u32_u24 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xbe,0x01
-# 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_mad_u32_u24 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xee,0x01
-# 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_mad_u32_u24 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xf2,0x01
-# 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_mad_u32_u24 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xfa,0x01
-# 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_mad_u32_u24 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x01
-# 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_mad_u32_u24 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x02,0x02
-# 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_mad_u32_u24 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x06,0x03
-# 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_mad_u32_u24 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xc2,0x03
-# 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_mad_u32_u24 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xde,0x03
-# 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_cubeid_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubeid_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubeid_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0xff,0x05,0x0e,0x04
-# 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_cubeid_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x65,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x66,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x67,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x6a,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x6b,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x6c,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x6d,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x6e,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x6f,0x04,0x0e,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_cubeid_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x7b,0x04,0x0e,0x04
-# 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_cubeid_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x7c,0x04,0x0e,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_cubeid_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x7e,0x04,0x0e,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_cubeid_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x7f,0x04,0x0e,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_cubeid_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x80,0x04,0x0e,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_cubeid_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0xc1,0x04,0x0e,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_cubeid_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0xf0,0x04,0x0e,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_cubeid_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0xf7,0x04,0x0e,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_cubeid_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xff,0x0f,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_cubeid_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0c,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_cubeid_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xcb,0x0c,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_cubeid_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xcd,0x0c,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_cubeid_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xcf,0x0c,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_cubeid_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xd5,0x0c,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_cubeid_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xd7,0x0c,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_cubeid_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xd9,0x0c,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_cubeid_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xdb,0x0c,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_cubeid_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xdd,0x0c,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_cubeid_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xdf,0x0c,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_cubeid_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xf7,0x0c,0x04
-# 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_cubeid_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xf9,0x0c,0x04
-# 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_cubeid_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xfd,0x0c,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_cubeid_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xff,0x0c,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_cubeid_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x01,0x0d,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_cubeid_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x83,0x0d,0x04
-# 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_cubeid_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xe1,0x0d,0x04
-# 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_cubeid_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xef,0x0d,0x04
-# 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_cubeid_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x07
-# 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_cubeid_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,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_cubeid_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x96,0x01
-# 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_cubeid_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x9a,0x01
-# 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_cubeid_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x9e,0x01
-# 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_cubeid_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xaa,0x01
-# 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_cubeid_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xae,0x01
-# 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_cubeid_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xb2,0x01
-# 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_cubeid_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xb6,0x01
-# 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_cubeid_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xba,0x01
-# 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_cubeid_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xbe,0x01
-# 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_cubeid_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xee,0x01
-# 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_cubeid_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xf2,0x01
-# 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_cubeid_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xfa,0x01
-# 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_cubeid_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x01
-# 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_cubeid_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x02,0x02
-# 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_cubeid_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x06,0x03
-# 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_cubeid_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xc2,0x03
-# 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_cubeid_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xde,0x03
-# 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_cubeid_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x24
-# 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_cubeid_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x44
-# 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_cubeid_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x84
-# 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_cubeid_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0xe4
-# 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_cubeid_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc4,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubeid_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc4,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubeid_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc4,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubeid_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc4,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubeid_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc4,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubeid_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x0c
-# 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_cubeid_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x14
-# 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_cubeid_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x1c
-# 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_cubesc_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubesc_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubesc_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0xff,0x05,0x0e,0x04
-# 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_cubesc_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x65,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x66,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x67,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x6a,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x6b,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x6c,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x6d,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x6e,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x6f,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x7b,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x7c,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x7e,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x7f,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x80,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0xc1,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0xf0,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0xf7,0x04,0x0e,0x04
-# 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_cubesc_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xff,0x0f,0x04
-# 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_cubesc_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0c,0x04
-# 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_cubesc_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xcb,0x0c,0x04
-# 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_cubesc_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xcd,0x0c,0x04
-# 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_cubesc_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xcf,0x0c,0x04
-# 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_cubesc_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xd5,0x0c,0x04
-# 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_cubesc_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xd7,0x0c,0x04
-# 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_cubesc_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xd9,0x0c,0x04
-# 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_cubesc_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xdb,0x0c,0x04
-# 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_cubesc_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xdd,0x0c,0x04
-# 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_cubesc_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xdf,0x0c,0x04
-# 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_cubesc_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xf7,0x0c,0x04
-# 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_cubesc_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xf9,0x0c,0x04
-# 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_cubesc_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xfd,0x0c,0x04
-# 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_cubesc_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xff,0x0c,0x04
-# 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_cubesc_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x01,0x0d,0x04
-# 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_cubesc_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x83,0x0d,0x04
-# 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_cubesc_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xe1,0x0d,0x04
-# 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_cubesc_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xef,0x0d,0x04
-# 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_cubesc_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x07
-# 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_cubesc_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x00
-# 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_cubesc_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x96,0x01
-# 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_cubesc_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x9a,0x01
-# 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_cubesc_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x9e,0x01
-# 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_cubesc_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xaa,0x01
-# 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_cubesc_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xae,0x01
-# 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_cubesc_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xb2,0x01
-# 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_cubesc_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xb6,0x01
-# 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_cubesc_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xba,0x01
-# 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_cubesc_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xbe,0x01
-# 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_cubesc_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xee,0x01
-# 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_cubesc_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xf2,0x01
-# 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_cubesc_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xfa,0x01
-# 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_cubesc_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x01
-# 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_cubesc_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x02,0x02
-# 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_cubesc_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x06,0x03
-# 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_cubesc_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xc2,0x03
-# 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_cubesc_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xde,0x03
-# 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_cubesc_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x24
-# 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_cubesc_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x44
-# 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_cubesc_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x84
-# 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_cubesc_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0xe4
-# 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_cubesc_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc5,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubesc_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc5,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubesc_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc5,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubesc_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc5,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubesc_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc5,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubesc_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x0c
-# 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_cubesc_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x14
-# 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_cubesc_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x1c
-# 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_cubetc_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubetc_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubetc_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0xff,0x05,0x0e,0x04
-# 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_cubetc_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x65,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x66,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x67,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x6a,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x6b,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x6c,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x6d,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x6e,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x6f,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x7b,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x7c,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x7e,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x7f,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x80,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0xc1,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0xf0,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0xf7,0x04,0x0e,0x04
-# 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_cubetc_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xff,0x0f,0x04
-# 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_cubetc_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0c,0x04
-# 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_cubetc_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xcb,0x0c,0x04
-# 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_cubetc_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xcd,0x0c,0x04
-# 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_cubetc_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xcf,0x0c,0x04
-# 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_cubetc_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xd5,0x0c,0x04
-# 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_cubetc_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xd7,0x0c,0x04
-# 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_cubetc_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xd9,0x0c,0x04
-# 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_cubetc_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xdb,0x0c,0x04
-# 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_cubetc_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xdd,0x0c,0x04
-# 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_cubetc_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xdf,0x0c,0x04
-# 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_cubetc_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xf7,0x0c,0x04
-# 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_cubetc_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xf9,0x0c,0x04
-# 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_cubetc_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xfd,0x0c,0x04
-# 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_cubetc_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xff,0x0c,0x04
-# 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_cubetc_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x01,0x0d,0x04
-# 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_cubetc_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x83,0x0d,0x04
-# 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_cubetc_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xe1,0x0d,0x04
-# 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_cubetc_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xef,0x0d,0x04
-# 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_cubetc_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x07
-# 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_cubetc_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x00
-# 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_cubetc_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x96,0x01
-# 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_cubetc_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x9a,0x01
-# 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_cubetc_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x9e,0x01
-# 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_cubetc_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xaa,0x01
-# 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_cubetc_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xae,0x01
-# 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_cubetc_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xb2,0x01
-# 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_cubetc_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xb6,0x01
-# 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_cubetc_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xba,0x01
-# 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_cubetc_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xbe,0x01
-# 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_cubetc_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xee,0x01
-# 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_cubetc_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xf2,0x01
-# 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_cubetc_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xfa,0x01
-# 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_cubetc_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x01
-# 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_cubetc_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x02,0x02
-# 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_cubetc_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x06,0x03
-# 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_cubetc_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xc2,0x03
-# 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_cubetc_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xde,0x03
-# 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_cubetc_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x24
-# 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_cubetc_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x44
-# 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_cubetc_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x84
-# 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_cubetc_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0xe4
-# 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_cubetc_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc6,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubetc_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc6,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubetc_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc6,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubetc_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc6,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubetc_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc6,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubetc_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x0c
-# 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_cubetc_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x14
-# 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_cubetc_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x1c
-# 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_cubema_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubema_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubema_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0xff,0x05,0x0e,0x04
-# 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_cubema_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x04,0x0e,0x04
-# 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_cubema_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x65,0x04,0x0e,0x04
-# 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_cubema_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x66,0x04,0x0e,0x04
-# 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_cubema_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x67,0x04,0x0e,0x04
-# 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_cubema_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x6a,0x04,0x0e,0x04
-# 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_cubema_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x6b,0x04,0x0e,0x04
-# 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_cubema_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x6c,0x04,0x0e,0x04
-# 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_cubema_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x6d,0x04,0x0e,0x04
-# 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_cubema_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x6e,0x04,0x0e,0x04
-# 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_cubema_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x6f,0x04,0x0e,0x04
-# 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_cubema_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x7b,0x04,0x0e,0x04
-# 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_cubema_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x7c,0x04,0x0e,0x04
-# 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_cubema_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x7e,0x04,0x0e,0x04
-# 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_cubema_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x7f,0x04,0x0e,0x04
-# 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_cubema_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x80,0x04,0x0e,0x04
-# 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_cubema_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0xc1,0x04,0x0e,0x04
-# 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_cubema_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0xf0,0x04,0x0e,0x04
-# 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_cubema_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0xf7,0x04,0x0e,0x04
-# 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_cubema_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xff,0x0f,0x04
-# 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_cubema_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0c,0x04
-# 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_cubema_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xcb,0x0c,0x04
-# 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_cubema_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xcd,0x0c,0x04
-# 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_cubema_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xcf,0x0c,0x04
-# 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_cubema_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xd5,0x0c,0x04
-# 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_cubema_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xd7,0x0c,0x04
-# 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_cubema_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xd9,0x0c,0x04
-# 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_cubema_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xdb,0x0c,0x04
-# 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_cubema_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xdd,0x0c,0x04
-# 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_cubema_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xdf,0x0c,0x04
-# 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_cubema_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xf7,0x0c,0x04
-# 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_cubema_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xf9,0x0c,0x04
-# 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_cubema_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xfd,0x0c,0x04
-# 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_cubema_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xff,0x0c,0x04
-# 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_cubema_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x01,0x0d,0x04
-# 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_cubema_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x83,0x0d,0x04
-# 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_cubema_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xe1,0x0d,0x04
-# 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_cubema_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xef,0x0d,0x04
-# 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_cubema_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x07
-# 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_cubema_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,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_cubema_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x96,0x01
-# 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_cubema_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x9a,0x01
-# 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_cubema_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x9e,0x01
-# 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_cubema_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xaa,0x01
-# 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_cubema_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xae,0x01
-# 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_cubema_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xb2,0x01
-# 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_cubema_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xb6,0x01
-# 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_cubema_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xba,0x01
-# 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_cubema_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xbe,0x01
-# 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_cubema_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xee,0x01
-# 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_cubema_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xf2,0x01
-# 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_cubema_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xfa,0x01
-# 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_cubema_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x01
-# 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_cubema_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x02,0x02
-# 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_cubema_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x06,0x03
-# 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_cubema_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xc2,0x03
-# 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_cubema_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xde,0x03
-# 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_cubema_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x24
-# 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_cubema_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x44
-# 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_cubema_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x84
-# 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_cubema_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0xe4
-# 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_cubema_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc7,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubema_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc7,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubema_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc7,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubema_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc7,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubema_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc7,0xd1,0x01,0x05,0x0e,0x04
-# 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_cubema_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x0c
-# 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_cubema_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x14
-# 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_cubema_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x1c
-# 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_bfe_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04
-# 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_bfe_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04
-# 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_bfe_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0xff,0x05,0x0e,0x04
-# 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_bfe_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x04,0x0e,0x04
-# 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_bfe_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x65,0x04,0x0e,0x04
-# 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_bfe_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x66,0x04,0x0e,0x04
-# 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_bfe_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x67,0x04,0x0e,0x04
-# 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_bfe_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x6a,0x04,0x0e,0x04
-# 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_bfe_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x6b,0x04,0x0e,0x04
-# 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_bfe_u32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x6c,0x04,0x0e,0x04
-# 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_bfe_u32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x6d,0x04,0x0e,0x04
-# 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_bfe_u32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x6e,0x04,0x0e,0x04
-# 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_bfe_u32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x6f,0x04,0x0e,0x04
-# 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_bfe_u32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x7b,0x04,0x0e,0x04
-# 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_bfe_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x7c,0x04,0x0e,0x04
-# 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_bfe_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x7e,0x04,0x0e,0x04
-# 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_bfe_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x7f,0x04,0x0e,0x04
-# 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_bfe_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x80,0x04,0x0e,0x04
-# 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_bfe_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0xc1,0x04,0x0e,0x04
-# 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_bfe_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0xf0,0x04,0x0e,0x04
-# 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_bfe_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0xf7,0x04,0x0e,0x04
-# 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_bfe_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xff,0x0f,0x04
-# 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_bfe_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x0c,0x04
-# 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_bfe_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xcb,0x0c,0x04
-# 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_bfe_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xcd,0x0c,0x04
-# 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_bfe_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xcf,0x0c,0x04
-# 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_bfe_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xd5,0x0c,0x04
-# 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_bfe_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xd7,0x0c,0x04
-# 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_bfe_u32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xd9,0x0c,0x04
-# 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_bfe_u32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xdb,0x0c,0x04
-# 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_bfe_u32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xdd,0x0c,0x04
-# 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_bfe_u32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xdf,0x0c,0x04
-# 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_bfe_u32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xf7,0x0c,0x04
-# 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_bfe_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xf9,0x0c,0x04
-# 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_bfe_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xfd,0x0c,0x04
-# 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_bfe_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xff,0x0c,0x04
-# 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_bfe_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x01,0x0d,0x04
-# 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_bfe_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x83,0x0d,0x04
-# 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_bfe_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xe1,0x0d,0x04
-# 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_bfe_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xef,0x0d,0x04
-# 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_bfe_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x07
-# 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_bfe_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,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_bfe_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x96,0x01
-# 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_bfe_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x9a,0x01
-# 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_bfe_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x9e,0x01
-# 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_bfe_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xaa,0x01
-# 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_bfe_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xae,0x01
-# 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_bfe_u32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xb2,0x01
-# 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_bfe_u32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xb6,0x01
-# 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_bfe_u32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xba,0x01
-# 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_bfe_u32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xbe,0x01
-# 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_bfe_u32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xee,0x01
-# 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_bfe_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xf2,0x01
-# 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_bfe_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xfa,0x01
-# 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_bfe_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x01
-# 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_bfe_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x02,0x02
-# 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_bfe_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x06,0x03
-# 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_bfe_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xc2,0x03
-# 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_bfe_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xde,0x03
-# 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_bfe_i32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04
-# 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_bfe_i32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04
-# 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_bfe_i32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0xff,0x05,0x0e,0x04
-# 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_bfe_i32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x04,0x0e,0x04
-# 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_bfe_i32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x65,0x04,0x0e,0x04
-# 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_bfe_i32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x66,0x04,0x0e,0x04
-# 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_bfe_i32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x67,0x04,0x0e,0x04
-# 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_bfe_i32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x6a,0x04,0x0e,0x04
-# 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_bfe_i32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x6b,0x04,0x0e,0x04
-# 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_bfe_i32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x6c,0x04,0x0e,0x04
-# 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_bfe_i32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x6d,0x04,0x0e,0x04
-# 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_bfe_i32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x6e,0x04,0x0e,0x04
-# 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_bfe_i32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x6f,0x04,0x0e,0x04
-# 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_bfe_i32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x7b,0x04,0x0e,0x04
-# 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_bfe_i32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x7c,0x04,0x0e,0x04
-# 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_bfe_i32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x7e,0x04,0x0e,0x04
-# 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_bfe_i32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x7f,0x04,0x0e,0x04
-# 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_bfe_i32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x80,0x04,0x0e,0x04
-# 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_bfe_i32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0xc1,0x04,0x0e,0x04
-# 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_bfe_i32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0xf0,0x04,0x0e,0x04
-# 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_bfe_i32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0xf7,0x04,0x0e,0x04
-# 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_bfe_i32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xff,0x0f,0x04
-# 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_bfe_i32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x0c,0x04
-# 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_bfe_i32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xcb,0x0c,0x04
-# 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_bfe_i32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xcd,0x0c,0x04
-# 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_bfe_i32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xcf,0x0c,0x04
-# 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_bfe_i32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xd5,0x0c,0x04
-# 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_bfe_i32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xd7,0x0c,0x04
-# 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_bfe_i32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xd9,0x0c,0x04
-# 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_bfe_i32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xdb,0x0c,0x04
-# 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_bfe_i32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xdd,0x0c,0x04
-# 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_bfe_i32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xdf,0x0c,0x04
-# 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_bfe_i32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xf7,0x0c,0x04
-# 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_bfe_i32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xf9,0x0c,0x04
-# 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_bfe_i32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xfd,0x0c,0x04
-# 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_bfe_i32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xff,0x0c,0x04
-# 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_bfe_i32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x01,0x0d,0x04
-# 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_bfe_i32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x83,0x0d,0x04
-# 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_bfe_i32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xe1,0x0d,0x04
-# 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_bfe_i32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xef,0x0d,0x04
-# 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_bfe_i32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x07
-# 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_bfe_i32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x00
-# 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_bfe_i32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x96,0x01
-# 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_bfe_i32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x9a,0x01
-# 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_bfe_i32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x9e,0x01
-# 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_bfe_i32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xaa,0x01
-# 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_bfe_i32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xae,0x01
-# 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_bfe_i32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xb2,0x01
-# 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_bfe_i32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xb6,0x01
-# 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_bfe_i32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xba,0x01
-# 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_bfe_i32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xbe,0x01
-# 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_bfe_i32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xee,0x01
-# 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_bfe_i32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xf2,0x01
-# 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_bfe_i32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xfa,0x01
-# 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_bfe_i32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x01
-# 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_bfe_i32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x02,0x02
-# 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_bfe_i32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x06,0x03
-# 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_bfe_i32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xc2,0x03
-# 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_bfe_i32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xde,0x03
-# 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_bfi_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04
-# 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_bfi_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04
-# 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_bfi_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0xff,0x05,0x0e,0x04
-# 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_bfi_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x04,0x0e,0x04
-# 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_bfi_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x65,0x04,0x0e,0x04
-# 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_bfi_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x66,0x04,0x0e,0x04
-# 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_bfi_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x67,0x04,0x0e,0x04
-# 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_bfi_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x6a,0x04,0x0e,0x04
-# 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_bfi_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x6b,0x04,0x0e,0x04
-# 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_bfi_b32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x6c,0x04,0x0e,0x04
-# 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_bfi_b32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x6d,0x04,0x0e,0x04
-# 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_bfi_b32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x6e,0x04,0x0e,0x04
-# 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_bfi_b32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x6f,0x04,0x0e,0x04
-# 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_bfi_b32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x7b,0x04,0x0e,0x04
-# 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_bfi_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x7c,0x04,0x0e,0x04
-# 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_bfi_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x7e,0x04,0x0e,0x04
-# 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_bfi_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x7f,0x04,0x0e,0x04
-# 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_bfi_b32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x80,0x04,0x0e,0x04
-# 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_bfi_b32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0xc1,0x04,0x0e,0x04
-# 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_bfi_b32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0xf0,0x04,0x0e,0x04
-# 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_bfi_b32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0xf7,0x04,0x0e,0x04
-# 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_bfi_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xff,0x0f,0x04
-# 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_bfi_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x0c,0x04
-# 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_bfi_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xcb,0x0c,0x04
-# 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_bfi_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xcd,0x0c,0x04
-# 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_bfi_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xcf,0x0c,0x04
-# 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_bfi_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xd5,0x0c,0x04
-# 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_bfi_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xd7,0x0c,0x04
-# 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_bfi_b32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xd9,0x0c,0x04
-# 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_bfi_b32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xdb,0x0c,0x04
-# 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_bfi_b32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xdd,0x0c,0x04
-# 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_bfi_b32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xdf,0x0c,0x04
-# 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_bfi_b32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xf7,0x0c,0x04
-# 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_bfi_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xf9,0x0c,0x04
-# 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_bfi_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xfd,0x0c,0x04
-# 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_bfi_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xff,0x0c,0x04
-# 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_bfi_b32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x01,0x0d,0x04
-# 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_bfi_b32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x83,0x0d,0x04
-# 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_bfi_b32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xe1,0x0d,0x04
-# 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_bfi_b32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xef,0x0d,0x04
-# 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_bfi_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x07
-# 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_bfi_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x00
-# 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_bfi_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x96,0x01
-# 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_bfi_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x9a,0x01
-# 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_bfi_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x9e,0x01
-# 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_bfi_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xaa,0x01
-# 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_bfi_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xae,0x01
-# 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_bfi_b32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xb2,0x01
-# 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_bfi_b32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xb6,0x01
-# 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_bfi_b32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xba,0x01
-# 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_bfi_b32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xbe,0x01
-# 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_bfi_b32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xee,0x01
-# 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_bfi_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xf2,0x01
-# 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_bfi_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xfa,0x01
-# 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_bfi_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x01
-# 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_bfi_b32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x02,0x02
-# 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_bfi_b32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x06,0x03
-# 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_bfi_b32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xc2,0x03
-# 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_bfi_b32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xde,0x03
-# 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_fma_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0xff,0x05,0x0e,0x04
-# 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_fma_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x04,0x0e,0x04
-# 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_fma_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x65,0x04,0x0e,0x04
-# 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_fma_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x66,0x04,0x0e,0x04
-# 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_fma_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x67,0x04,0x0e,0x04
-# 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_fma_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x6a,0x04,0x0e,0x04
-# 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_fma_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x6b,0x04,0x0e,0x04
-# 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_fma_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x6c,0x04,0x0e,0x04
-# 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_fma_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x6d,0x04,0x0e,0x04
-# 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_fma_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x6e,0x04,0x0e,0x04
-# 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_fma_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x6f,0x04,0x0e,0x04
-# 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_fma_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x7b,0x04,0x0e,0x04
-# 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_fma_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x7c,0x04,0x0e,0x04
-# 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_fma_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x7e,0x04,0x0e,0x04
-# 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_fma_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x7f,0x04,0x0e,0x04
-# 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_fma_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x80,0x04,0x0e,0x04
-# 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_fma_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0xc1,0x04,0x0e,0x04
-# 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_fma_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0xf0,0x04,0x0e,0x04
-# 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_fma_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0xf7,0x04,0x0e,0x04
-# 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_fma_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xff,0x0f,0x04
-# 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_fma_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0c,0x04
-# 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_fma_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xcb,0x0c,0x04
-# 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_fma_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xcd,0x0c,0x04
-# 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_fma_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xcf,0x0c,0x04
-# 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_fma_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xd5,0x0c,0x04
-# 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_fma_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xd7,0x0c,0x04
-# 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_fma_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xd9,0x0c,0x04
-# 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_fma_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xdb,0x0c,0x04
-# 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_fma_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xdd,0x0c,0x04
-# 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_fma_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xdf,0x0c,0x04
-# 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_fma_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xf7,0x0c,0x04
-# 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_fma_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xf9,0x0c,0x04
-# 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_fma_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xfd,0x0c,0x04
-# 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_fma_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xff,0x0c,0x04
-# 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_fma_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x01,0x0d,0x04
-# 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_fma_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x83,0x0d,0x04
-# 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_fma_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xe1,0x0d,0x04
-# 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_fma_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xef,0x0d,0x04
-# 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_fma_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x07
-# 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_fma_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x00
-# 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_fma_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x96,0x01
-# 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_fma_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x9a,0x01
-# 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_fma_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x9e,0x01
-# 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_fma_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xaa,0x01
-# 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_fma_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xae,0x01
-# 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_fma_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xb2,0x01
-# 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_fma_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xb6,0x01
-# 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_fma_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xba,0x01
-# 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_fma_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xbe,0x01
-# 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_fma_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xee,0x01
-# 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_fma_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xf2,0x01
-# 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_fma_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xfa,0x01
-# 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_fma_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x01
-# 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_fma_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x02,0x02
-# 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_fma_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x06,0x03
-# 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_fma_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xc2,0x03
-# 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_fma_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xde,0x03
-# 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_fma_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x24
-# 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_fma_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x44
-# 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_fma_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x84
-# 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_fma_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0xe4
-# 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_fma_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xcb,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xcb,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xcb,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xcb,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xcb,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x0c
-# 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_fma_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x14
-# 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_fma_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x1c
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f64 v[254:255], v[1:2], v[2:3], v[3:4] ; encoding: [0xfe,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f64 v[5:6], v[254:255], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0xfe,0x05,0x0e,0x04
-# 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_fma_f64 v[5:6], s[2:3], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x02,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], s[4:5], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x04,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], s[100:101], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x64,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], flat_scratch, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x66,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], vcc, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x6a,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], tba, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x6c,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], tma, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x6e,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], ttmp[10:11], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x7a,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x7a,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], exec, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x7e,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], 0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x80,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], -1, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0xc1,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], 0.5, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0xf0,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], -4.0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0xf7,0x04,0x0e,0x04
-# 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_fma_f64 v[5:6], v[1:2], v[254:255], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0f,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0f,0x04
-# 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_fma_f64 v[5:6], v[1:2], s[4:5], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x09,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x09,0x0c,0x04
-# 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_fma_f64 v[5:6], v[1:2], s[6:7], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x0d,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x0d,0x0c,0x04
-# 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_fma_f64 v[5:6], v[1:2], s[100:101], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xc9,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xc9,0x0c,0x04
-# 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_fma_f64 v[5:6], v[1:2], flat_scratch, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xcd,0x0c,0x04
-# 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_fma_f64 v[5:6], v[1:2], vcc, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xd5,0x0c,0x04
-# 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_fma_f64 v[5:6], v[1:2], tba, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xd9,0x0c,0x04
-# 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_fma_f64 v[5:6], v[1:2], tma, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xdd,0x0c,0x04
-# 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_fma_f64 v[5:6], v[1:2], ttmp[10:11], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xf5,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xf5,0x0c,0x04
-# 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_fma_f64 v[5:6], v[1:2], exec, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0c,0x04
-# 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_fma_f64 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x01,0x0d,0x04
-# 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_fma_f64 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x83,0x0d,0x04
-# 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_fma_f64 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xe1,0x0d,0x04
-# 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_fma_f64 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xef,0x0d,0x04
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], v[254:255] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x07
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], s[6:7] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x1a,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_fma_f64 v[5:6], v[1:2], v[2:3], s[8:9] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x22,0x00
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], s[100:101] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x92,0x01
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], flat_scratch ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x9a,0x01
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], vcc ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xaa,0x01
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], tba ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xb2,0x01
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], tma ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xba,0x01
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], ttmp[10:11] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xea,0x01
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], exec ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x01
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x02,0x02
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], -1 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x06,0x03
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], 0.5 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xc2,0x03
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], -4.0 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xde,0x03
-# 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_fma_f64 v[5:6], -v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x24
-# 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_fma_f64 v[5:6], v[1:2], -v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x44
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x84
-# 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_fma_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0xe4
-# 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_fma_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4] ; encoding: [0x05,0x01,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xcc,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4] ; encoding: [0x05,0x02,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xcc,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], |v[3:4]| ; encoding: [0x05,0x04,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xcc,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]| ; encoding: [0x05,0x07,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xcc,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp ; encoding: [0x05,0x80,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xcc,0xd1,0x01,0x05,0x0e,0x04
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x0c
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x14
-# 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_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,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_lerp_u8 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04
-# 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_lerp_u8 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04
-# 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_lerp_u8 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0xff,0x05,0x0e,0x04
-# 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_lerp_u8 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x04,0x0e,0x04
-# 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_lerp_u8 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x65,0x04,0x0e,0x04
-# 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_lerp_u8 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x66,0x04,0x0e,0x04
-# 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_lerp_u8 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x67,0x04,0x0e,0x04
-# 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_lerp_u8 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x6a,0x04,0x0e,0x04
-# 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_lerp_u8 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x6b,0x04,0x0e,0x04
-# 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_lerp_u8 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x6c,0x04,0x0e,0x04
-# 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_lerp_u8 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x6d,0x04,0x0e,0x04
-# 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_lerp_u8 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x6e,0x04,0x0e,0x04
-# 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_lerp_u8 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x6f,0x04,0x0e,0x04
-# 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_lerp_u8 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x7b,0x04,0x0e,0x04
-# 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_lerp_u8 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x7c,0x04,0x0e,0x04
-# 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_lerp_u8 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x7e,0x04,0x0e,0x04
-# 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_lerp_u8 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x7f,0x04,0x0e,0x04
-# 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_lerp_u8 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x80,0x04,0x0e,0x04
-# 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_lerp_u8 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0xc1,0x04,0x0e,0x04
-# 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_lerp_u8 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0xf0,0x04,0x0e,0x04
-# 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_lerp_u8 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0xf7,0x04,0x0e,0x04
-# 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_lerp_u8 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xff,0x0f,0x04
-# 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_lerp_u8 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x0c,0x04
-# 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_lerp_u8 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xcb,0x0c,0x04
-# 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_lerp_u8 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xcd,0x0c,0x04
-# 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_lerp_u8 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xcf,0x0c,0x04
-# 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_lerp_u8 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xd5,0x0c,0x04
-# 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_lerp_u8 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xd7,0x0c,0x04
-# 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_lerp_u8 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xd9,0x0c,0x04
-# 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_lerp_u8 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xdb,0x0c,0x04
-# 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_lerp_u8 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xdd,0x0c,0x04
-# 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_lerp_u8 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xdf,0x0c,0x04
-# 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_lerp_u8 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xf7,0x0c,0x04
-# 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_lerp_u8 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xf9,0x0c,0x04
-# 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_lerp_u8 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xfd,0x0c,0x04
-# 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_lerp_u8 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xff,0x0c,0x04
-# 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_lerp_u8 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x01,0x0d,0x04
-# 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_lerp_u8 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x83,0x0d,0x04
-# 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_lerp_u8 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xe1,0x0d,0x04
-# 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_lerp_u8 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xef,0x0d,0x04
-# 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_lerp_u8 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x07
-# 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_lerp_u8 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x00
-# 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_lerp_u8 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x96,0x01
-# 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_lerp_u8 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x9a,0x01
-# 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_lerp_u8 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x9e,0x01
-# 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_lerp_u8 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xaa,0x01
-# 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_lerp_u8 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xae,0x01
-# 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_lerp_u8 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xb2,0x01
-# 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_lerp_u8 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xb6,0x01
-# 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_lerp_u8 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xba,0x01
-# 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_lerp_u8 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xbe,0x01
-# 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_lerp_u8 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xee,0x01
-# 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_lerp_u8 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xf2,0x01
-# 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_lerp_u8 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xfa,0x01
-# 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_lerp_u8 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x01
-# 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_lerp_u8 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x02,0x02
-# 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_lerp_u8 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x06,0x03
-# 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_lerp_u8 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xc2,0x03
-# 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_lerp_u8 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xde,0x03
-# 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_alignbit_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04
-# 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_alignbit_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04
-# 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_alignbit_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0xff,0x05,0x0e,0x04
-# 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_alignbit_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x01,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x65,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x66,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x67,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x6a,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x6b,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x6c,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x6d,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x6e,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x6f,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x7b,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x7c,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x7e,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x7f,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x80,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0xc1,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0xf0,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0xf7,0x04,0x0e,0x04
-# 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_alignbit_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xff,0x0f,0x04
-# 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_alignbit_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x0c,0x04
-# 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_alignbit_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xcb,0x0c,0x04
-# 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_alignbit_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xcd,0x0c,0x04
-# 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_alignbit_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xcf,0x0c,0x04
-# 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_alignbit_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xd5,0x0c,0x04
-# 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_alignbit_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xd7,0x0c,0x04
-# 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_alignbit_b32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xd9,0x0c,0x04
-# 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_alignbit_b32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xdb,0x0c,0x04
-# 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_alignbit_b32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xdd,0x0c,0x04
-# 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_alignbit_b32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xdf,0x0c,0x04
-# 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_alignbit_b32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xf7,0x0c,0x04
-# 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_alignbit_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xf9,0x0c,0x04
-# 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_alignbit_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xfd,0x0c,0x04
-# 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_alignbit_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xff,0x0c,0x04
-# 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_alignbit_b32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xce,0xd1,0x01,0x01,0x0d,0x04
-# 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_alignbit_b32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xce,0xd1,0x01,0x83,0x0d,0x04
-# 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_alignbit_b32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xe1,0x0d,0x04
-# 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_alignbit_b32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xef,0x0d,0x04
-# 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_alignbit_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x07
-# 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_alignbit_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x00
-# 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_alignbit_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x96,0x01
-# 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_alignbit_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x9a,0x01
-# 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_alignbit_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x9e,0x01
-# 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_alignbit_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xaa,0x01
-# 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_alignbit_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xae,0x01
-# 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_alignbit_b32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xb2,0x01
-# 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_alignbit_b32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xb6,0x01
-# 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_alignbit_b32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xba,0x01
-# 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_alignbit_b32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xbe,0x01
-# 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_alignbit_b32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xee,0x01
-# 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_alignbit_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xf2,0x01
-# 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_alignbit_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xfa,0x01
-# 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_alignbit_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x01
-# 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_alignbit_b32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x02,0x02
-# 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_alignbit_b32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x06,0x03
-# 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_alignbit_b32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xc2,0x03
-# 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_alignbit_b32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xde,0x03
-# 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_alignbyte_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04
-# 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_alignbyte_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04
-# 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_alignbyte_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0xff,0x05,0x0e,0x04
-# 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_alignbyte_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x65,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x66,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x67,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x6a,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x6b,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x6c,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x6d,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x6e,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x6f,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x7b,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x7c,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x7e,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x7f,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x80,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0xc1,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0xf0,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0xf7,0x04,0x0e,0x04
-# 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_alignbyte_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xff,0x0f,0x04
-# 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_alignbyte_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xcb,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xcd,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xcf,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xd5,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xd7,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xd9,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xdb,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xdd,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xdf,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xf7,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xf9,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xfd,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xff,0x0c,0x04
-# 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_alignbyte_b32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0x01,0x0d,0x04
-# 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_alignbyte_b32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0x83,0x0d,0x04
-# 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_alignbyte_b32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xe1,0x0d,0x04
-# 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_alignbyte_b32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xef,0x0d,0x04
-# 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_alignbyte_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x07
-# 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_alignbyte_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x00
-# 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_alignbyte_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x96,0x01
-# 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_alignbyte_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x9a,0x01
-# 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_alignbyte_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x9e,0x01
-# 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_alignbyte_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xaa,0x01
-# 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_alignbyte_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xae,0x01
-# 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_alignbyte_b32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xb2,0x01
-# 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_alignbyte_b32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xb6,0x01
-# 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_alignbyte_b32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xba,0x01
-# 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_alignbyte_b32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xbe,0x01
-# 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_alignbyte_b32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xee,0x01
-# 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_alignbyte_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xf2,0x01
-# 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_alignbyte_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xfa,0x01
-# 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_alignbyte_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x01
-# 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_alignbyte_b32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x02,0x02
-# 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_alignbyte_b32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x06,0x03
-# 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_alignbyte_b32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xc2,0x03
-# 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_alignbyte_b32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xde,0x03
-# 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_min3_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0xff,0x05,0x0e,0x04
-# 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_min3_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x04,0x0e,0x04
-# 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_min3_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x65,0x04,0x0e,0x04
-# 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_min3_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x66,0x04,0x0e,0x04
-# 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_min3_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x67,0x04,0x0e,0x04
-# 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_min3_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x6a,0x04,0x0e,0x04
-# 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_min3_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x6b,0x04,0x0e,0x04
-# 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_min3_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x6c,0x04,0x0e,0x04
-# 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_min3_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x6d,0x04,0x0e,0x04
-# 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_min3_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x6e,0x04,0x0e,0x04
-# 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_min3_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x6f,0x04,0x0e,0x04
-# 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_min3_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x7b,0x04,0x0e,0x04
-# 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_min3_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x7c,0x04,0x0e,0x04
-# 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_min3_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x7e,0x04,0x0e,0x04
-# 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_min3_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x7f,0x04,0x0e,0x04
-# 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_min3_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x80,0x04,0x0e,0x04
-# 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_min3_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0xc1,0x04,0x0e,0x04
-# 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_min3_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0xf0,0x04,0x0e,0x04
-# 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_min3_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0xf7,0x04,0x0e,0x04
-# 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_min3_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xff,0x0f,0x04
-# 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_min3_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0c,0x04
-# 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_min3_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xcb,0x0c,0x04
-# 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_min3_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xcd,0x0c,0x04
-# 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_min3_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xcf,0x0c,0x04
-# 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_min3_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xd5,0x0c,0x04
-# 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_min3_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xd7,0x0c,0x04
-# 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_min3_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xd9,0x0c,0x04
-# 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_min3_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xdb,0x0c,0x04
-# 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_min3_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xdd,0x0c,0x04
-# 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_min3_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xdf,0x0c,0x04
-# 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_min3_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xf7,0x0c,0x04
-# 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_min3_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xf9,0x0c,0x04
-# 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_min3_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xfd,0x0c,0x04
-# 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_min3_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xff,0x0c,0x04
-# 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_min3_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x01,0x0d,0x04
-# 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_min3_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x83,0x0d,0x04
-# 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_min3_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xe1,0x0d,0x04
-# 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_min3_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xef,0x0d,0x04
-# 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_min3_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x07
-# 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_min3_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,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_min3_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x96,0x01
-# 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_min3_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x9a,0x01
-# 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_min3_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x9e,0x01
-# 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_min3_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xaa,0x01
-# 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_min3_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xae,0x01
-# 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_min3_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xb2,0x01
-# 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_min3_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xb6,0x01
-# 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_min3_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xba,0x01
-# 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_min3_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xbe,0x01
-# 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_min3_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xee,0x01
-# 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_min3_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xf2,0x01
-# 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_min3_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xfa,0x01
-# 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_min3_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x01
-# 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_min3_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x02,0x02
-# 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_min3_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x06,0x03
-# 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_min3_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xc2,0x03
-# 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_min3_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xde,0x03
-# 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_min3_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x24
-# 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_min3_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x44
-# 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_min3_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x84
-# 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_min3_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0xe4
-# 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_min3_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xd0,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xd0,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xd0,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xd0,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xd0,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x0c
-# 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_min3_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x14
-# 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_min3_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x1c
-# 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_min3_i32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_i32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_i32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0xff,0x05,0x0e,0x04
-# 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_min3_i32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x04,0x0e,0x04
-# 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_min3_i32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x65,0x04,0x0e,0x04
-# 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_min3_i32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x66,0x04,0x0e,0x04
-# 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_min3_i32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x67,0x04,0x0e,0x04
-# 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_min3_i32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x6a,0x04,0x0e,0x04
-# 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_min3_i32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x6b,0x04,0x0e,0x04
-# 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_min3_i32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x6c,0x04,0x0e,0x04
-# 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_min3_i32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x6d,0x04,0x0e,0x04
-# 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_min3_i32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x6e,0x04,0x0e,0x04
-# 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_min3_i32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x6f,0x04,0x0e,0x04
-# 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_min3_i32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x7b,0x04,0x0e,0x04
-# 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_min3_i32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x7c,0x04,0x0e,0x04
-# 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_min3_i32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x7e,0x04,0x0e,0x04
-# 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_min3_i32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x7f,0x04,0x0e,0x04
-# 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_min3_i32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x80,0x04,0x0e,0x04
-# 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_min3_i32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0xc1,0x04,0x0e,0x04
-# 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_min3_i32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0xf0,0x04,0x0e,0x04
-# 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_min3_i32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0xf7,0x04,0x0e,0x04
-# 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_min3_i32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xff,0x0f,0x04
-# 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_min3_i32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x0c,0x04
-# 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_min3_i32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xcb,0x0c,0x04
-# 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_min3_i32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xcd,0x0c,0x04
-# 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_min3_i32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xcf,0x0c,0x04
-# 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_min3_i32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xd5,0x0c,0x04
-# 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_min3_i32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xd7,0x0c,0x04
-# 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_min3_i32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xd9,0x0c,0x04
-# 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_min3_i32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xdb,0x0c,0x04
-# 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_min3_i32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xdd,0x0c,0x04
-# 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_min3_i32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xdf,0x0c,0x04
-# 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_min3_i32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xf7,0x0c,0x04
-# 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_min3_i32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xf9,0x0c,0x04
-# 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_min3_i32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xfd,0x0c,0x04
-# 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_min3_i32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xff,0x0c,0x04
-# 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_min3_i32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x01,0x0d,0x04
-# 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_min3_i32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x83,0x0d,0x04
-# 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_min3_i32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xe1,0x0d,0x04
-# 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_min3_i32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xef,0x0d,0x04
-# 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_min3_i32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x07
-# 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_min3_i32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,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_min3_i32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x96,0x01
-# 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_min3_i32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x9a,0x01
-# 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_min3_i32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x9e,0x01
-# 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_min3_i32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xaa,0x01
-# 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_min3_i32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xae,0x01
-# 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_min3_i32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xb2,0x01
-# 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_min3_i32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xb6,0x01
-# 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_min3_i32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xba,0x01
-# 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_min3_i32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xbe,0x01
-# 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_min3_i32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xee,0x01
-# 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_min3_i32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xf2,0x01
-# 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_min3_i32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xfa,0x01
-# 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_min3_i32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x01
-# 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_min3_i32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x02,0x02
-# 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_min3_i32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x06,0x03
-# 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_min3_i32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xc2,0x03
-# 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_min3_i32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xde,0x03
-# 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_min3_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04
-# 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_min3_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0xff,0x05,0x0e,0x04
-# 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_min3_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x04,0x0e,0x04
-# 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_min3_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x65,0x04,0x0e,0x04
-# 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_min3_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x66,0x04,0x0e,0x04
-# 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_min3_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x67,0x04,0x0e,0x04
-# 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_min3_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x6a,0x04,0x0e,0x04
-# 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_min3_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x6b,0x04,0x0e,0x04
-# 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_min3_u32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x6c,0x04,0x0e,0x04
-# 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_min3_u32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x6d,0x04,0x0e,0x04
-# 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_min3_u32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x6e,0x04,0x0e,0x04
-# 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_min3_u32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x6f,0x04,0x0e,0x04
-# 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_min3_u32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x7b,0x04,0x0e,0x04
-# 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_min3_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x7c,0x04,0x0e,0x04
-# 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_min3_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x7e,0x04,0x0e,0x04
-# 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_min3_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x7f,0x04,0x0e,0x04
-# 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_min3_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x80,0x04,0x0e,0x04
-# 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_min3_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0xc1,0x04,0x0e,0x04
-# 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_min3_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0xf0,0x04,0x0e,0x04
-# 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_min3_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0xf7,0x04,0x0e,0x04
-# 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_min3_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xff,0x0f,0x04
-# 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_min3_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x0c,0x04
-# 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_min3_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xcb,0x0c,0x04
-# 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_min3_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xcd,0x0c,0x04
-# 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_min3_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xcf,0x0c,0x04
-# 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_min3_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xd5,0x0c,0x04
-# 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_min3_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xd7,0x0c,0x04
-# 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_min3_u32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xd9,0x0c,0x04
-# 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_min3_u32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xdb,0x0c,0x04
-# 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_min3_u32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xdd,0x0c,0x04
-# 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_min3_u32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xdf,0x0c,0x04
-# 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_min3_u32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xf7,0x0c,0x04
-# 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_min3_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xf9,0x0c,0x04
-# 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_min3_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xfd,0x0c,0x04
-# 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_min3_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xff,0x0c,0x04
-# 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_min3_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x01,0x0d,0x04
-# 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_min3_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x83,0x0d,0x04
-# 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_min3_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xe1,0x0d,0x04
-# 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_min3_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xef,0x0d,0x04
-# 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_min3_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x07
-# 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_min3_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,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_min3_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x96,0x01
-# 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_min3_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x9a,0x01
-# 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_min3_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x9e,0x01
-# 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_min3_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xaa,0x01
-# 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_min3_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xae,0x01
-# 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_min3_u32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xb2,0x01
-# 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_min3_u32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xb6,0x01
-# 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_min3_u32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xba,0x01
-# 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_min3_u32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xbe,0x01
-# 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_min3_u32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xee,0x01
-# 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_min3_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xf2,0x01
-# 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_min3_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xfa,0x01
-# 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_min3_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x01
-# 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_min3_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x02,0x02
-# 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_min3_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x06,0x03
-# 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_min3_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xc2,0x03
-# 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_min3_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xde,0x03
-# 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_max3_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0xff,0x05,0x0e,0x04
-# 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_max3_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x04,0x0e,0x04
-# 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_max3_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x65,0x04,0x0e,0x04
-# 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_max3_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x66,0x04,0x0e,0x04
-# 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_max3_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x67,0x04,0x0e,0x04
-# 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_max3_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x6a,0x04,0x0e,0x04
-# 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_max3_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x6b,0x04,0x0e,0x04
-# 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_max3_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x6c,0x04,0x0e,0x04
-# 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_max3_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x6d,0x04,0x0e,0x04
-# 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_max3_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x6e,0x04,0x0e,0x04
-# 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_max3_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x6f,0x04,0x0e,0x04
-# 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_max3_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x7b,0x04,0x0e,0x04
-# 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_max3_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x7c,0x04,0x0e,0x04
-# 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_max3_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x7e,0x04,0x0e,0x04
-# 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_max3_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x7f,0x04,0x0e,0x04
-# 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_max3_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x80,0x04,0x0e,0x04
-# 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_max3_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0xc1,0x04,0x0e,0x04
-# 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_max3_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0xf0,0x04,0x0e,0x04
-# 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_max3_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0xf7,0x04,0x0e,0x04
-# 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_max3_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xff,0x0f,0x04
-# 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_max3_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0c,0x04
-# 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_max3_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xcb,0x0c,0x04
-# 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_max3_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xcd,0x0c,0x04
-# 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_max3_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xcf,0x0c,0x04
-# 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_max3_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xd5,0x0c,0x04
-# 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_max3_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xd7,0x0c,0x04
-# 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_max3_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xd9,0x0c,0x04
-# 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_max3_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xdb,0x0c,0x04
-# 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_max3_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xdd,0x0c,0x04
-# 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_max3_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xdf,0x0c,0x04
-# 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_max3_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xf7,0x0c,0x04
-# 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_max3_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xf9,0x0c,0x04
-# 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_max3_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xfd,0x0c,0x04
-# 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_max3_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xff,0x0c,0x04
-# 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_max3_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x01,0x0d,0x04
-# 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_max3_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x83,0x0d,0x04
-# 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_max3_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xe1,0x0d,0x04
-# 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_max3_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xef,0x0d,0x04
-# 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_max3_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x07
-# 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_max3_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x00
-# 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_max3_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x96,0x01
-# 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_max3_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x9a,0x01
-# 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_max3_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x9e,0x01
-# 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_max3_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xaa,0x01
-# 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_max3_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xae,0x01
-# 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_max3_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xb2,0x01
-# 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_max3_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xb6,0x01
-# 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_max3_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xba,0x01
-# 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_max3_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xbe,0x01
-# 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_max3_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xee,0x01
-# 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_max3_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xf2,0x01
-# 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_max3_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xfa,0x01
-# 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_max3_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x01
-# 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_max3_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x02,0x02
-# 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_max3_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x06,0x03
-# 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_max3_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xc2,0x03
-# 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_max3_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xde,0x03
-# 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_max3_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x24
-# 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_max3_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x44
-# 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_max3_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x84
-# 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_max3_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0xe4
-# 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_max3_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xd3,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xd3,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xd3,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xd3,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xd3,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x0c
-# 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_max3_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x14
-# 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_max3_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x1c
-# 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_max3_i32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_i32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_i32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0xff,0x05,0x0e,0x04
-# 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_max3_i32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x04,0x0e,0x04
-# 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_max3_i32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x65,0x04,0x0e,0x04
-# 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_max3_i32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x66,0x04,0x0e,0x04
-# 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_max3_i32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x67,0x04,0x0e,0x04
-# 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_max3_i32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x6a,0x04,0x0e,0x04
-# 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_max3_i32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x6b,0x04,0x0e,0x04
-# 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_max3_i32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x6c,0x04,0x0e,0x04
-# 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_max3_i32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x6d,0x04,0x0e,0x04
-# 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_max3_i32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x6e,0x04,0x0e,0x04
-# 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_max3_i32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x6f,0x04,0x0e,0x04
-# 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_max3_i32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x7b,0x04,0x0e,0x04
-# 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_max3_i32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x7c,0x04,0x0e,0x04
-# 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_max3_i32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x7e,0x04,0x0e,0x04
-# 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_max3_i32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x7f,0x04,0x0e,0x04
-# 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_max3_i32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x80,0x04,0x0e,0x04
-# 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_max3_i32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0xc1,0x04,0x0e,0x04
-# 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_max3_i32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0xf0,0x04,0x0e,0x04
-# 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_max3_i32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0xf7,0x04,0x0e,0x04
-# 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_max3_i32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xff,0x0f,0x04
-# 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_max3_i32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x0c,0x04
-# 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_max3_i32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xcb,0x0c,0x04
-# 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_max3_i32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xcd,0x0c,0x04
-# 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_max3_i32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xcf,0x0c,0x04
-# 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_max3_i32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xd5,0x0c,0x04
-# 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_max3_i32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xd7,0x0c,0x04
-# 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_max3_i32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xd9,0x0c,0x04
-# 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_max3_i32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xdb,0x0c,0x04
-# 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_max3_i32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xdd,0x0c,0x04
-# 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_max3_i32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xdf,0x0c,0x04
-# 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_max3_i32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xf7,0x0c,0x04
-# 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_max3_i32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xf9,0x0c,0x04
-# 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_max3_i32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xfd,0x0c,0x04
-# 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_max3_i32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xff,0x0c,0x04
-# 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_max3_i32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x01,0x0d,0x04
-# 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_max3_i32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x83,0x0d,0x04
-# 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_max3_i32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xe1,0x0d,0x04
-# 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_max3_i32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xef,0x0d,0x04
-# 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_max3_i32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x07
-# 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_max3_i32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,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_max3_i32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x96,0x01
-# 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_max3_i32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x9a,0x01
-# 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_max3_i32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x9e,0x01
-# 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_max3_i32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xaa,0x01
-# 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_max3_i32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xae,0x01
-# 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_max3_i32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xb2,0x01
-# 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_max3_i32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xb6,0x01
-# 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_max3_i32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xba,0x01
-# 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_max3_i32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xbe,0x01
-# 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_max3_i32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xee,0x01
-# 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_max3_i32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xf2,0x01
-# 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_max3_i32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xfa,0x01
-# 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_max3_i32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x01
-# 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_max3_i32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x02,0x02
-# 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_max3_i32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x06,0x03
-# 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_max3_i32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xc2,0x03
-# 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_max3_i32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xde,0x03
-# 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_max3_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04
-# 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_max3_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0xff,0x05,0x0e,0x04
-# 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_max3_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x04,0x0e,0x04
-# 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_max3_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x65,0x04,0x0e,0x04
-# 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_max3_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x66,0x04,0x0e,0x04
-# 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_max3_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x67,0x04,0x0e,0x04
-# 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_max3_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x6a,0x04,0x0e,0x04
-# 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_max3_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x6b,0x04,0x0e,0x04
-# 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_max3_u32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x6c,0x04,0x0e,0x04
-# 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_max3_u32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x6d,0x04,0x0e,0x04
-# 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_max3_u32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x6e,0x04,0x0e,0x04
-# 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_max3_u32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x6f,0x04,0x0e,0x04
-# 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_max3_u32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x7b,0x04,0x0e,0x04
-# 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_max3_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x7c,0x04,0x0e,0x04
-# 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_max3_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x7e,0x04,0x0e,0x04
-# 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_max3_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x7f,0x04,0x0e,0x04
-# 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_max3_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x80,0x04,0x0e,0x04
-# 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_max3_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0xc1,0x04,0x0e,0x04
-# 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_max3_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0xf0,0x04,0x0e,0x04
-# 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_max3_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0xf7,0x04,0x0e,0x04
-# 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_max3_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xff,0x0f,0x04
-# 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_max3_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x0c,0x04
-# 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_max3_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xcb,0x0c,0x04
-# 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_max3_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xcd,0x0c,0x04
-# 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_max3_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xcf,0x0c,0x04
-# 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_max3_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xd5,0x0c,0x04
-# 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_max3_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xd7,0x0c,0x04
-# 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_max3_u32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xd9,0x0c,0x04
-# 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_max3_u32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xdb,0x0c,0x04
-# 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_max3_u32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xdd,0x0c,0x04
-# 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_max3_u32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xdf,0x0c,0x04
-# 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_max3_u32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xf7,0x0c,0x04
-# 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_max3_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xf9,0x0c,0x04
-# 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_max3_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xfd,0x0c,0x04
-# 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_max3_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xff,0x0c,0x04
-# 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_max3_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x01,0x0d,0x04
-# 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_max3_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x83,0x0d,0x04
-# 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_max3_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xe1,0x0d,0x04
-# 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_max3_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xef,0x0d,0x04
-# 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_max3_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x07
-# 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_max3_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x00
-# 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_max3_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x96,0x01
-# 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_max3_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x9a,0x01
-# 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_max3_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x9e,0x01
-# 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_max3_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xaa,0x01
-# 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_max3_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xae,0x01
-# 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_max3_u32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xb2,0x01
-# 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_max3_u32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xb6,0x01
-# 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_max3_u32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xba,0x01
-# 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_max3_u32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xbe,0x01
-# 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_max3_u32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xee,0x01
-# 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_max3_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xf2,0x01
-# 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_max3_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xfa,0x01
-# 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_max3_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x01
-# 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_max3_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x02,0x02
-# 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_max3_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x06,0x03
-# 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_max3_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xc2,0x03
-# 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_max3_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xde,0x03
-# 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_med3_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0xff,0x05,0x0e,0x04
-# 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_med3_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x04,0x0e,0x04
-# 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_med3_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x65,0x04,0x0e,0x04
-# 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_med3_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x66,0x04,0x0e,0x04
-# 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_med3_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x67,0x04,0x0e,0x04
-# 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_med3_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x6a,0x04,0x0e,0x04
-# 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_med3_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x6b,0x04,0x0e,0x04
-# 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_med3_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x6c,0x04,0x0e,0x04
-# 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_med3_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x6d,0x04,0x0e,0x04
-# 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_med3_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x6e,0x04,0x0e,0x04
-# 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_med3_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x6f,0x04,0x0e,0x04
-# 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_med3_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x7b,0x04,0x0e,0x04
-# 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_med3_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x7c,0x04,0x0e,0x04
-# 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_med3_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x7e,0x04,0x0e,0x04
-# 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_med3_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x7f,0x04,0x0e,0x04
-# 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_med3_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x80,0x04,0x0e,0x04
-# 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_med3_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0xc1,0x04,0x0e,0x04
-# 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_med3_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0xf0,0x04,0x0e,0x04
-# 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_med3_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0xf7,0x04,0x0e,0x04
-# 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_med3_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xff,0x0f,0x04
-# 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_med3_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0c,0x04
-# 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_med3_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xcb,0x0c,0x04
-# 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_med3_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xcd,0x0c,0x04
-# 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_med3_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xcf,0x0c,0x04
-# 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_med3_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xd5,0x0c,0x04
-# 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_med3_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xd7,0x0c,0x04
-# 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_med3_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xd9,0x0c,0x04
-# 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_med3_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xdb,0x0c,0x04
-# 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_med3_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xdd,0x0c,0x04
-# 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_med3_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xdf,0x0c,0x04
-# 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_med3_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xf7,0x0c,0x04
-# 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_med3_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xf9,0x0c,0x04
-# 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_med3_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xfd,0x0c,0x04
-# 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_med3_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xff,0x0c,0x04
-# 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_med3_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x01,0x0d,0x04
-# 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_med3_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x83,0x0d,0x04
-# 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_med3_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xe1,0x0d,0x04
-# 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_med3_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xef,0x0d,0x04
-# 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_med3_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x07
-# 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_med3_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,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_med3_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x96,0x01
-# 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_med3_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x9a,0x01
-# 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_med3_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x9e,0x01
-# 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_med3_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xaa,0x01
-# 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_med3_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xae,0x01
-# 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_med3_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xb2,0x01
-# 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_med3_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xb6,0x01
-# 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_med3_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xba,0x01
-# 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_med3_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xbe,0x01
-# 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_med3_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xee,0x01
-# 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_med3_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xf2,0x01
-# 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_med3_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xfa,0x01
-# 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_med3_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x01
-# 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_med3_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x02,0x02
-# 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_med3_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x06,0x03
-# 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_med3_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xc2,0x03
-# 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_med3_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xde,0x03
-# 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_med3_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x24
-# 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_med3_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x44
-# 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_med3_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x84
-# 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_med3_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0xe4
-# 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_med3_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xd6,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xd6,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xd6,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xd6,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xd6,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x0c
-# 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_med3_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x14
-# 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_med3_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x1c
-# 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_med3_i32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_i32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_i32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0xff,0x05,0x0e,0x04
-# 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_med3_i32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x04,0x0e,0x04
-# 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_med3_i32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x65,0x04,0x0e,0x04
-# 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_med3_i32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x66,0x04,0x0e,0x04
-# 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_med3_i32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x67,0x04,0x0e,0x04
-# 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_med3_i32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x6a,0x04,0x0e,0x04
-# 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_med3_i32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x6b,0x04,0x0e,0x04
-# 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_med3_i32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x6c,0x04,0x0e,0x04
-# 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_med3_i32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x6d,0x04,0x0e,0x04
-# 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_med3_i32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x6e,0x04,0x0e,0x04
-# 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_med3_i32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x6f,0x04,0x0e,0x04
-# 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_med3_i32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x7b,0x04,0x0e,0x04
-# 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_med3_i32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x7c,0x04,0x0e,0x04
-# 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_med3_i32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x7e,0x04,0x0e,0x04
-# 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_med3_i32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x7f,0x04,0x0e,0x04
-# 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_med3_i32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x80,0x04,0x0e,0x04
-# 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_med3_i32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0xc1,0x04,0x0e,0x04
-# 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_med3_i32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0xf0,0x04,0x0e,0x04
-# 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_med3_i32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0xf7,0x04,0x0e,0x04
-# 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_med3_i32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xff,0x0f,0x04
-# 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_med3_i32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x0c,0x04
-# 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_med3_i32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xcb,0x0c,0x04
-# 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_med3_i32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xcd,0x0c,0x04
-# 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_med3_i32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xcf,0x0c,0x04
-# 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_med3_i32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xd5,0x0c,0x04
-# 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_med3_i32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xd7,0x0c,0x04
-# 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_med3_i32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xd9,0x0c,0x04
-# 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_med3_i32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xdb,0x0c,0x04
-# 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_med3_i32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xdd,0x0c,0x04
-# 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_med3_i32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xdf,0x0c,0x04
-# 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_med3_i32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xf7,0x0c,0x04
-# 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_med3_i32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xf9,0x0c,0x04
-# 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_med3_i32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xfd,0x0c,0x04
-# 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_med3_i32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xff,0x0c,0x04
-# 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_med3_i32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x01,0x0d,0x04
-# 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_med3_i32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x83,0x0d,0x04
-# 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_med3_i32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xe1,0x0d,0x04
-# 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_med3_i32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xef,0x0d,0x04
-# 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_med3_i32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x07
-# 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_med3_i32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x00
-# 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_med3_i32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x96,0x01
-# 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_med3_i32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x9a,0x01
-# 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_med3_i32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x9e,0x01
-# 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_med3_i32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xaa,0x01
-# 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_med3_i32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xae,0x01
-# 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_med3_i32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xb2,0x01
-# 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_med3_i32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xb6,0x01
-# 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_med3_i32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xba,0x01
-# 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_med3_i32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xbe,0x01
-# 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_med3_i32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xee,0x01
-# 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_med3_i32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xf2,0x01
-# 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_med3_i32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xfa,0x01
-# 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_med3_i32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x01
-# 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_med3_i32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x02,0x02
-# 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_med3_i32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x06,0x03
-# 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_med3_i32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xc2,0x03
-# 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_med3_i32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xde,0x03
-# 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_med3_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04
-# 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_med3_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0xff,0x05,0x0e,0x04
-# 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_med3_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x04,0x0e,0x04
-# 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_med3_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x65,0x04,0x0e,0x04
-# 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_med3_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x66,0x04,0x0e,0x04
-# 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_med3_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x67,0x04,0x0e,0x04
-# 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_med3_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x6a,0x04,0x0e,0x04
-# 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_med3_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x6b,0x04,0x0e,0x04
-# 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_med3_u32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x6c,0x04,0x0e,0x04
-# 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_med3_u32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x6d,0x04,0x0e,0x04
-# 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_med3_u32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x6e,0x04,0x0e,0x04
-# 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_med3_u32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x6f,0x04,0x0e,0x04
-# 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_med3_u32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x7b,0x04,0x0e,0x04
-# 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_med3_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x7c,0x04,0x0e,0x04
-# 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_med3_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x7e,0x04,0x0e,0x04
-# 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_med3_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x7f,0x04,0x0e,0x04
-# 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_med3_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x80,0x04,0x0e,0x04
-# 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_med3_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0xc1,0x04,0x0e,0x04
-# 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_med3_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0xf0,0x04,0x0e,0x04
-# 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_med3_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0xf7,0x04,0x0e,0x04
-# 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_med3_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xff,0x0f,0x04
-# 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_med3_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x0c,0x04
-# 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_med3_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xcb,0x0c,0x04
-# 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_med3_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xcd,0x0c,0x04
-# 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_med3_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xcf,0x0c,0x04
-# 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_med3_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xd5,0x0c,0x04
-# 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_med3_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xd7,0x0c,0x04
-# 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_med3_u32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xd9,0x0c,0x04
-# 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_med3_u32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xdb,0x0c,0x04
-# 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_med3_u32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xdd,0x0c,0x04
-# 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_med3_u32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xdf,0x0c,0x04
-# 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_med3_u32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xf7,0x0c,0x04
-# 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_med3_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xf9,0x0c,0x04
-# 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_med3_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xfd,0x0c,0x04
-# 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_med3_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xff,0x0c,0x04
-# 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_med3_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x01,0x0d,0x04
-# 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_med3_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x83,0x0d,0x04
-# 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_med3_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xe1,0x0d,0x04
-# 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_med3_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xef,0x0d,0x04
-# 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_med3_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x07
-# 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_med3_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,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_med3_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x96,0x01
-# 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_med3_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x9a,0x01
-# 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_med3_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x9e,0x01
-# 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_med3_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xaa,0x01
-# 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_med3_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xae,0x01
-# 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_med3_u32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xb2,0x01
-# 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_med3_u32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xb6,0x01
-# 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_med3_u32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xba,0x01
-# 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_med3_u32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xbe,0x01
-# 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_med3_u32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xee,0x01
-# 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_med3_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xf2,0x01
-# 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_med3_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xfa,0x01
-# 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_med3_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x01
-# 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_med3_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x02,0x02
-# 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_med3_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x06,0x03
-# 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_med3_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xc2,0x03
-# 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_med3_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xde,0x03
-# 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_sad_u8 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04
-# 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_sad_u8 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04
-# 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_sad_u8 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0xff,0x05,0x0e,0x04
-# 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_sad_u8 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x04,0x0e,0x04
-# 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_sad_u8 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x65,0x04,0x0e,0x04
-# 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_sad_u8 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x66,0x04,0x0e,0x04
-# 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_sad_u8 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x67,0x04,0x0e,0x04
-# 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_sad_u8 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x6a,0x04,0x0e,0x04
-# 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_sad_u8 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x6b,0x04,0x0e,0x04
-# 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_sad_u8 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x6c,0x04,0x0e,0x04
-# 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_sad_u8 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x6d,0x04,0x0e,0x04
-# 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_sad_u8 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x6e,0x04,0x0e,0x04
-# 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_sad_u8 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x6f,0x04,0x0e,0x04
-# 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_sad_u8 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x7b,0x04,0x0e,0x04
-# 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_sad_u8 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x7c,0x04,0x0e,0x04
-# 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_sad_u8 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x7e,0x04,0x0e,0x04
-# 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_sad_u8 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x7f,0x04,0x0e,0x04
-# 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_sad_u8 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x80,0x04,0x0e,0x04
-# 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_sad_u8 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0xc1,0x04,0x0e,0x04
-# 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_sad_u8 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0xf0,0x04,0x0e,0x04
-# 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_sad_u8 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0xf7,0x04,0x0e,0x04
-# 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_sad_u8 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xff,0x0f,0x04
-# 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_sad_u8 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x0c,0x04
-# 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_sad_u8 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xcb,0x0c,0x04
-# 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_sad_u8 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xcd,0x0c,0x04
-# 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_sad_u8 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xcf,0x0c,0x04
-# 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_sad_u8 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xd5,0x0c,0x04
-# 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_sad_u8 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xd7,0x0c,0x04
-# 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_sad_u8 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xd9,0x0c,0x04
-# 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_sad_u8 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xdb,0x0c,0x04
-# 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_sad_u8 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xdd,0x0c,0x04
-# 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_sad_u8 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xdf,0x0c,0x04
-# 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_sad_u8 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xf7,0x0c,0x04
-# 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_sad_u8 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xf9,0x0c,0x04
-# 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_sad_u8 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xfd,0x0c,0x04
-# 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_sad_u8 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xff,0x0c,0x04
-# 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_sad_u8 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x01,0x0d,0x04
-# 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_sad_u8 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x83,0x0d,0x04
-# 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_sad_u8 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xe1,0x0d,0x04
-# 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_sad_u8 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xef,0x0d,0x04
-# 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_sad_u8 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x07
-# 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_sad_u8 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x00
-# 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_sad_u8 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x96,0x01
-# 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_sad_u8 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x9a,0x01
-# 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_sad_u8 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x9e,0x01
-# 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_sad_u8 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xaa,0x01
-# 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_sad_u8 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xae,0x01
-# 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_sad_u8 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xb2,0x01
-# 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_sad_u8 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xb6,0x01
-# 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_sad_u8 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xba,0x01
-# 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_sad_u8 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xbe,0x01
-# 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_sad_u8 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xee,0x01
-# 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_sad_u8 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xf2,0x01
-# 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_sad_u8 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xfa,0x01
-# 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_sad_u8 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x01
-# 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_sad_u8 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x02,0x02
-# 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_sad_u8 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x06,0x03
-# 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_sad_u8 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_sad_u8 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_sad_u16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_sad_u16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_sad_u16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_sad_u16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_sad_u16 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_sad_u16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_sad_u16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_sad_u16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_sad_u16 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_sad_u16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_sad_u16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_sad_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_sad_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_sad_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_sad_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_sad_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_sad_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_sad_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_sad_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_sad_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_sad_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_sad_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cvt_pk_u8_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_cvt_pk_u8_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xdd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xdd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fixup_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_div_fixup_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_div_fixup_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_div_fixup_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[254:255], v[1:2], v[2:3], v[3:4] ; encoding: [0xfe,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[254:255], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x02,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], s[4:5], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x04,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], s[100:101], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x64,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], flat_scratch, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], vcc, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], tba, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], tma, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], ttmp[10:11], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x7a,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x7a,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], exec, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], 0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], -1, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], 0.5, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], -4.0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[254:255], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0f,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0f,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], s[4:5], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x09,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x09,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], s[6:7], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x0d,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x0d,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], s[100:101], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xc9,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xc9,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], flat_scratch, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], vcc, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], tba, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], tma, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], ttmp[10:11], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xf5,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xf5,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], exec, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[254:255] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[6:7] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[8:9] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[100:101] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], flat_scratch ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], vcc ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], tba ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], tma ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], ttmp[10:11] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xea,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], exec ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -1 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0.5 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -4.0 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fixup_f64 v[5:6], -v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], -v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_div_fixup_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_div_fixup_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4] ; encoding: [0x05,0x01,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4] ; encoding: [0x05,0x02,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], |v[3:4]| ; encoding: [0x05,0x04,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]| ; encoding: [0x05,0x07,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp ; encoding: [0x05,0x80,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v255, vcc, v1, v2, v3 ; encoding: [0xff,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v255, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, s1, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, s101, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, vcc_lo, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, vcc_hi, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, tba_lo, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, tba_hi, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, tma_lo, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, tma_hi, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, ttmp11, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, m0, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, exec_lo, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, exec_hi, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, 0, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, -1, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, 0.5, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, -4.0, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v255, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, s2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, s101, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, vcc_lo, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, vcc_hi, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, tba_lo, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, tba_hi, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, tma_lo, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, tma_hi, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, ttmp11, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, m0, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, exec_lo, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, exec_hi, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, 0, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, -1, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, 0.5, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, -4.0, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, v255 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, s3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, s101 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_lo ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_hi ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, vcc_lo ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, vcc_hi ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, tba_lo ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, tba_hi ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, tma_lo ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, tma_hi ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, ttmp11 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, m0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, exec_lo ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, exec_hi ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, -1 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, 0.5 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, -4.0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[254:255], vcc, v[1:2], v[2:3], v[3:4] ; encoding: [0xfe,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[254:255], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x02,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[4:5], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x04,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[100:101], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x64,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, flat_scratch, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, vcc, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, tba, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, tma, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, ttmp[10:11], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x7a,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x7a,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, exec, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, 0, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, -1, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, 0.5, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, -4.0, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[254:255], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0f,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0f,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], s[4:5], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x09,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x09,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], s[6:7], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x0d,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x0d,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], s[100:101], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xc9,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xc9,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], flat_scratch, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], vcc, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], tba, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], tma, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], ttmp[10:11], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xf5,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xf5,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], exec, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], 0, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], -1, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[254:255] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[6:7] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[8:9] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[100:101] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], flat_scratch ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], vcc ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], tba ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], tma ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], ttmp[10:11] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xea,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], exec ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -1 ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0.5 ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -4.0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fmas_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_div_fmas_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_div_fmas_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_div_fmas_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[254:255], v[1:2], v[2:3], v[3:4] ; encoding: [0xfe,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[254:255], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], vcc, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], 0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], -1, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], 0.5, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], -4.0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[254:255], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0xfd,0x0f,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0xfd,0x0f,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], vcc, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[254:255] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -1 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0.5 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -4.0 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fmas_f64 v[5:6], -v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], -v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_div_fmas_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_div_fmas_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4] ; encoding: [0x05,0x01,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4] ; encoding: [0x05,0x02,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], |v[3:4]| ; encoding: [0x05,0x04,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]| ; encoding: [0x05,0x07,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp ; encoding: [0x05,0x80,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_msad_u8 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_msad_u8 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_msad_u8 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_msad_u8 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_msad_u8 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_msad_u8 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_msad_u8 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_msad_u8 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_msad_u8 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_msad_u8 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_msad_u8 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_msad_u8 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4] ; encoding: [0xfe,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x02,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x04,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[100:101], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x64,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], tba, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], tma, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], ttmp[10:11], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x7a,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x7a,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], exec, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], 0, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], -1, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], 0.5, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], -4.0, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], s101, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], tba_lo, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], tba_hi, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], tma_lo, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], tma_hi, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], ttmp11, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[100:101] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, tba ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, tma ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, ttmp[10:11] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xea,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, exec ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, -1 ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, 0.5 ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, -4.0 ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4] ; encoding: [0xfe,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x02,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x04,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[100:101], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x64,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], tba, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], tma, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], ttmp[10:11], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x7a,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x7a,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], exec, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], 0, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], -1, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], 0.5, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], -4.0, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], s101, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], tba_lo, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], tba_hi, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], tma_lo, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], tma_hi, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], ttmp11, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[100:101] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, tba ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, tma ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, ttmp[10:11] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xea,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, exec ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, -1 ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, 0.5 ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, -4.0 ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[254:255], s[12:13], v1, v2, v[3:4] ; encoding: [0xfe,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[14:15], v1, v2, v[3:4] ; encoding: [0x05,0x0e,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x0e,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[100:101], v1, v2, v[3:4] ; encoding: [0x05,0x64,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x64,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], flat_scratch, v1, v2, v[3:4] ; encoding: [0x05,0x66,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x66,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], vcc, v1, v2, v[3:4] ; encoding: [0x05,0x6a,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6a,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], tba, v1, v2, v[3:4] ; encoding: [0x05,0x6c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6c,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], tma, v1, v2, v[3:4] ; encoding: [0x05,0x6e,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6e,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], ttmp[10:11], v1, v2, v[3:4] ; encoding: [0x05,0x7a,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x7a,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v255, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s101, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], tba_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], tba_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], tma_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], tma_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], ttmp11, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], m0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], exec_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], exec_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], 0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], -1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], 0.5, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], -4.0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v255, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, s2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, s101, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_lo, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_hi, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, tba_lo, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, tba_hi, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, tma_lo, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, tma_hi, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, ttmp11, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, m0, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, exec_lo, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, exec_hi, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, 0, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, -1, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, 0.5, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, -4.0, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[254:255] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, tba ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, tma ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, ttmp[10:11] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xea,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, exec ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -1 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0.5 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -4.0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[254:255], s[12:13], v1, v2, v[3:4] ; encoding: [0xfe,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[14:15], v1, v2, v[3:4] ; encoding: [0x05,0x0e,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x0e,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[100:101], v1, v2, v[3:4] ; encoding: [0x05,0x64,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x64,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], flat_scratch, v1, v2, v[3:4] ; encoding: [0x05,0x66,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x66,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], vcc, v1, v2, v[3:4] ; encoding: [0x05,0x6a,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6a,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], tba, v1, v2, v[3:4] ; encoding: [0x05,0x6c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6c,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], tma, v1, v2, v[3:4] ; encoding: [0x05,0x6e,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6e,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], ttmp[10:11], v1, v2, v[3:4] ; encoding: [0x05,0x7a,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x7a,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v255, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s101, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], tba_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], tba_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], tma_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], tma_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], ttmp11, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], m0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], exec_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], exec_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], 0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], -1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], 0.5, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], -4.0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v255, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, s2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, s101, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_lo, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_hi, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, tba_lo, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, tba_hi, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, tma_lo, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, tma_hi, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, ttmp11, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, m0, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, exec_lo, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, exec_hi, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, 0, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, -1, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, 0.5, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, -4.0, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[254:255] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, tba ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, tma ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, ttmp[10:11] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xea,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xea,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, exec ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -1 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0.5 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -4.0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xea,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xea,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xea,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_f16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_f16 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xea,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_f16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xea,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_f16 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xea,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_f16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_mad_f16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_mad_f16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_mad_f16 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_f16 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_f16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xea,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_mad_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_mad_f16 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_mad_f16 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_mad_f16 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xea,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xea,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xea,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xea,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xea,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xea,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xea,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xea,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xeb,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xeb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_u16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0xc1,0x04,0x0e,0x04
-# 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_mad_u16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0xf0,0x04,0x0e,0x04
-# 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_mad_u16 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xeb,0xd1,0xf7,0x04,0x0e,0x04
-# 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_mad_u16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xff,0x0f,0x04
-# 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_mad_u16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0x0c,0x04
-# 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_mad_u16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_u16 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_u16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_u16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_u16 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_u16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_mad_u16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_mad_u16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_mad_u16 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_u16 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_u16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_u16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xeb,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xec,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xec,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xec,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_i16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_i16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_i16 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xec,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_i16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xec,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_i16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_i16 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xec,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_i16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_mad_i16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xec,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_mad_i16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_mad_i16 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xec,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_i16 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xec,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_i16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_i16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xec,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_perm_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_perm_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_perm_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_perm_b32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_perm_b32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_perm_b32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_perm_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_perm_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_perm_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_perm_b32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_perm_b32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_perm_b32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_fma_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xee,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_fma_f16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_fma_f16 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xee,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_fma_f16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xee,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_fma_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_fma_f16 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xee,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_fma_f16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_fma_f16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_fma_f16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_fma_f16 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_fma_f16 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_fma_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_fma_f16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xee,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_fma_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_fma_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_fma_f16 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_fma_f16 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_fma_f16 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xee,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xee,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xee,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xee,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xee,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xee,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xee,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xee,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xef,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xef,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, tba_lo, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x6c,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x6c,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, tba_hi, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x6d,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x6d,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, tma_lo, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x6e,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x6e,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, tma_hi, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x6f,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x6f,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, ttmp11, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x7b,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x7b,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xef,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, tba_lo, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xd9,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xd9,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, tba_hi, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xdb,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xdb,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, tma_lo, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xdd,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xdd,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, tma_hi, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xdf,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xdf,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, ttmp11, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xf7,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xf7,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xef,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xef,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xef,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, tba_lo ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xb2,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xb2,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, tba_hi ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xb6,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xb6,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, tma_lo ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xba,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xba,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, tma_hi ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xbe,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xbe,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, ttmp11 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xee,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xee,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xef,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fixup_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_div_fixup_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_div_fixup_f16 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_div_fixup_f16 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xef,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xef,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xef,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xef,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xef,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xef,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xef,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xef,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v255, v1, v2 ; encoding: [0xff,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v255, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, s1, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, s101, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x6c,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x6d,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x6e,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x6f,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x6f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x7b,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x7b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, m0, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, 0, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, -1, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, v255 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, s2 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, s101 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, tba_lo ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xd9,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, tba_hi ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xdb,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, tma_lo ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xdd,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, tma_hi ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xdf,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xf7,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, m0 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, 0 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, -1 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0xf0,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0xf0,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0xf0,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0xf0,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[254:255], v[1:2], v[2:3] ; encoding: [0xfe,0x00,0x80,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[254:255], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x80,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], s[2:3], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x02,0x04,0x02,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_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_add_f64 v[5:6], s[100:101], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x64,0x04,0x02,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_add_f64 v[5:6], flat_scratch, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x66,0x04,0x02,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_add_f64 v[5:6], vcc, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x6a,0x04,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_add_f64 v[5:6], tba, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x6c,0x04,0x02,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_add_f64 v[5:6], tma, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x6e,0x04,0x02,0x00
-# 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_add_f64 v[5:6], ttmp[10:11], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x7a,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x7a,0x04,0x02,0x00
-# 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_add_f64 v[5:6], exec, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x7e,0x04,0x02,0x00
-# 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_add_f64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x80,0x04,0x02,0x00
-# 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_add_f64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0xc1,0x04,0x02,0x00
-# 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_add_f64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0xf0,0x04,0x02,0x00
-# 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_add_f64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0xf7,0x04,0x02,0x00
-# 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_add_f64 v[5:6], v[1:2], v[254:255] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xfd,0x03,0x00
-# 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_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_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_add_f64 v[5:6], v[1:2], s[6:7] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0x0d,0x00,0x00
-# 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_add_f64 v[5:6], v[1:2], s[100:101] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xc9,0x00,0x00
-# 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_add_f64 v[5:6], v[1:2], flat_scratch ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xcd,0x00,0x00
-# 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_add_f64 v[5:6], v[1:2], vcc ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xd5,0x00,0x00
-# 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_add_f64 v[5:6], v[1:2], tba ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], tma ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xdd,0x00,0x00
-# 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_add_f64 v[5:6], v[1:2], ttmp[10:11] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xf5,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xf5,0x00,0x00
-# 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_add_f64 v[5:6], v[1:2], exec ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xfd,0x00,0x00
-# 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_add_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x01,0x01,0x01,0x00
-# 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_add_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x01,0x83,0x01,0x00
-# 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_add_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_add_f64 v[5:6], -v[1:2], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_add_f64 v[5:6], v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_add_f64 v[5:6], -v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_add_f64 v[5:6], |v[1:2]|, v[2:3] ; encoding: [0x05,0x01,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], |v[2:3]| ; encoding: [0x05,0x02,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], |v[1:2]|, |v[2:3]| ; encoding: [0x05,0x03,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] clamp ; encoding: [0x05,0x80,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] mul:2 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] mul:4 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] div:2 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[254:255], v[1:2], v[2:3] ; encoding: [0xfe,0x00,0x81,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[254:255], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x81,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], s[2:3], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x02,0x04,0x02,0x00
# 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_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_mul_f64 v[5:6], s[100:101], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x64,0x04,0x02,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_mul_f64 v[5:6], flat_scratch, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x66,0x04,0x02,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_mul_f64 v[5:6], vcc, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x6a,0x04,0x02,0x00
-# 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_mul_f64 v[5:6], tba, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x6c,0x04,0x02,0x00
-# 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_mul_f64 v[5:6], tma, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x6e,0x04,0x02,0x00
-# 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_mul_f64 v[5:6], ttmp[10:11], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x7a,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x7a,0x04,0x02,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_mul_f64 v[5:6], exec, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x7e,0x04,0x02,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_mul_f64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x80,0x04,0x02,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_mul_f64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0xc1,0x04,0x02,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_mul_f64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0xf0,0x04,0x02,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_mul_f64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0xf7,0x04,0x02,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_mul_f64 v[5:6], v[1:2], v[254:255] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xfd,0x03,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_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_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_mul_f64 v[5:6], v[1:2], s[6:7] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0x0d,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_mul_f64 v[5:6], v[1:2], s[100:101] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xc9,0x00,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_mul_f64 v[5:6], v[1:2], flat_scratch ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xcd,0x00,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_mul_f64 v[5:6], v[1:2], vcc ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xd5,0x00,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_mul_f64 v[5:6], v[1:2], tba ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], tma ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], ttmp[10:11] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xf5,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xf5,0x00,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], exec ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xfd,0x00,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_mul_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x01,0x01,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_mul_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x01,0x83,0x01,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_mul_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xe1,0x01,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_mul_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xef,0x01,0x00
-# 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_mul_f64 v[5:6], -v[1:2], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_mul_f64 v[5:6], -v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_mul_f64 v[5:6], |v[1:2]|, v[2:3] ; encoding: [0x05,0x01,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], |v[2:3]| ; encoding: [0x05,0x02,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], |v[1:2]|, |v[2:3]| ; encoding: [0x05,0x03,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] clamp ; encoding: [0x05,0x80,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] mul:2 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] mul:4 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] div:2 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[254:255], v[1:2], v[2:3] ; encoding: [0xfe,0x00,0x82,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], v[254:255], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x82,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], s[2:3], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x02,0x04,0x02,0x00
# 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_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_min_f64 v[5:6], s[100:101], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x64,0x04,0x02,0x00
-# 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_min_f64 v[5:6], flat_scratch, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x66,0x04,0x02,0x00
-# 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_min_f64 v[5:6], vcc, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x6a,0x04,0x02,0x00
-# 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_min_f64 v[5:6], tba, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x6c,0x04,0x02,0x00
-# 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_min_f64 v[5:6], tma, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x6e,0x04,0x02,0x00
-# 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_min_f64 v[5:6], ttmp[10:11], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x7a,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x7a,0x04,0x02,0x00
-# 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_min_f64 v[5:6], exec, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x7e,0x04,0x02,0x00
-# 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_min_f64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x80,0x04,0x02,0x00
-# 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_min_f64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0xc1,0x04,0x02,0x00
-# 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_min_f64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0xf0,0x04,0x02,0x00
-# 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_min_f64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0xf7,0x04,0x02,0x00
-# 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_min_f64 v[5:6], v[1:2], v[254:255] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xfd,0x03,0x00
-# 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_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_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_min_f64 v[5:6], v[1:2], s[6:7] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0x0d,0x00,0x00
-# 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_min_f64 v[5:6], v[1:2], s[100:101] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xc9,0x00,0x00
-# 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_min_f64 v[5:6], v[1:2], flat_scratch ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xcd,0x00,0x00
-# 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_min_f64 v[5:6], v[1:2], vcc ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xd5,0x00,0x00
-# 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_min_f64 v[5:6], v[1:2], tba ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], tma ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], ttmp[10:11] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xf5,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xf5,0x00,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], exec ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x01,0x01,0x01,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_min_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x01,0x83,0x01,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_min_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xe1,0x01,0x00
-# 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_min_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xef,0x01,0x00
-# 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_min_f64 v[5:6], -v[1:2], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x20
-# 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_min_f64 v[5:6], v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_min_f64 v[5:6], -v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_min_f64 v[5:6], |v[1:2]|, v[2:3] ; encoding: [0x05,0x01,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], |v[2:3]| ; encoding: [0x05,0x02,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], |v[1:2]|, |v[2:3]| ; encoding: [0x05,0x03,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] clamp ; encoding: [0x05,0x80,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] mul:2 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] mul:4 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] div:2 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_max_f64 v[5:6], v[1:2], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[254:255], v[1:2], v[2:3] ; encoding: [0xfe,0x00,0x83,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x83,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], v[254:255], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x83,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], s[2:3], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x02,0x04,0x02,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_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_max_f64 v[5:6], s[100:101], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x64,0x04,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], flat_scratch, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x66,0x04,0x02,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_max_f64 v[5:6], vcc, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x6a,0x04,0x02,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_max_f64 v[5:6], tba, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x6c,0x04,0x02,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_max_f64 v[5:6], tma, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x6e,0x04,0x02,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_max_f64 v[5:6], ttmp[10:11], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x7a,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x7a,0x04,0x02,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_max_f64 v[5:6], exec, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x7e,0x04,0x02,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_max_f64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x80,0x04,0x02,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_max_f64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0xc1,0x04,0x02,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_max_f64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0xf0,0x04,0x02,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_max_f64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0xf7,0x04,0x02,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_max_f64 v[5:6], v[1:2], v[254:255] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xfd,0x03,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_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_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_max_f64 v[5:6], v[1:2], s[6:7] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0x0d,0x00,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_max_f64 v[5:6], v[1:2], s[100:101] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xc9,0x00,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_max_f64 v[5:6], v[1:2], flat_scratch ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xcd,0x00,0x00
-# 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_max_f64 v[5:6], v[1:2], vcc ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xd5,0x00,0x00
-# 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_max_f64 v[5:6], v[1:2], tba ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], tma ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], ttmp[10:11] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xf5,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xf5,0x00,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], exec ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x01,0x83,0x01,0x00
-# 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_max_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xe1,0x01,0x00
-# 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_max_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xef,0x01,0x00
-# 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_max_f64 v[5:6], -v[1:2], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x20
-# 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_max_f64 v[5:6], v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x40
-# 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_max_f64 v[5:6], -v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x60
-# 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_max_f64 v[5:6], |v[1:2]|, v[2:3] ; encoding: [0x05,0x01,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x83,0xd2,0x01,0x05,0x02,0x00
-# 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_max_f64 v[5:6], v[1:2], |v[2:3]| ; encoding: [0x05,0x02,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x83,0xd2,0x01,0x05,0x02,0x00
-# 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_max_f64 v[5:6], |v[1:2]|, |v[2:3]| ; encoding: [0x05,0x03,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x83,0xd2,0x01,0x05,0x02,0x00
-# 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_max_f64 v[5:6], v[1:2], v[2:3] clamp ; encoding: [0x05,0x80,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x83,0xd2,0x01,0x05,0x02,0x00
-# 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_max_f64 v[5:6], v[1:2], v[2:3] mul:2 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x08
-# 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_max_f64 v[5:6], v[1:2], v[2:3] mul:4 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x10
-# 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_max_f64 v[5:6], v[1:2], v[2:3] div:2 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x18
-# 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_ldexp_f64 v[5:6], v[1:2], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x00
-# 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_ldexp_f64 v[254:255], v[1:2], v2 ; encoding: [0xfe,0x00,0x84,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x84,0xd2,0x01,0x05,0x02,0x00
-# 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_ldexp_f64 v[5:6], v[254:255], v2 ; encoding: [0x05,0x00,0x84,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x84,0xd2,0xfe,0x05,0x02,0x00
-# 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_ldexp_f64 v[5:6], s[2:3], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x02,0x04,0x02,0x00
-# 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_ldexp_f64 v[5:6], s[4:5], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x04,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x04,0x04,0x02,0x00
-# 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_ldexp_f64 v[5:6], s[100:101], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x64,0x04,0x02,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_ldexp_f64 v[5:6], flat_scratch, v2 ; encoding: [0x05,0x00,0x84,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], vcc, v2 ; encoding: [0x05,0x00,0x84,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], tba, v2 ; encoding: [0x05,0x00,0x84,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], tma, v2 ; encoding: [0x05,0x00,0x84,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], ttmp[10:11], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x7a,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x7a,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], exec, v2 ; encoding: [0x05,0x00,0x84,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x7e,0x04,0x02,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_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_ldexp_f64 v[5:6], -1, v2 ; encoding: [0x05,0x00,0x84,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0xc1,0x04,0x02,0x00
-# 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_ldexp_f64 v[5:6], 0.5, v2 ; encoding: [0x05,0x00,0x84,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0xf0,0x04,0x02,0x00
-# 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_ldexp_f64 v[5:6], -4.0, v2 ; encoding: [0x05,0x00,0x84,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0xf7,0x04,0x02,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_ldexp_f64 v[5:6], v[1:2], v255 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xff,0x03,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_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_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_ldexp_f64 v[5:6], v[1:2], s101 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xcb,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_ldexp_f64 v[5:6], v[1:2], flat_scratch_lo ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xcd,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_ldexp_f64 v[5:6], v[1:2], flat_scratch_hi ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xcf,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_ldexp_f64 v[5:6], v[1:2], vcc_lo ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xd5,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_ldexp_f64 v[5:6], v[1:2], vcc_hi ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xd7,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_ldexp_f64 v[5:6], v[1:2], tba_lo ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xd9,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_ldexp_f64 v[5:6], v[1:2], tba_hi ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xdb,0x00,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_ldexp_f64 v[5:6], v[1:2], tma_lo ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], tma_hi ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], ttmp11 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], m0 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], exec_lo ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], exec_hi ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], -v[1:2], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_ldexp_f64 v[5:6], |v[1:2]|, v2 ; encoding: [0x05,0x01,0x84,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x84,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], v2 clamp ; encoding: [0x05,0x80,0x84,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x84,0xd2,0x01,0x05,0x02,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_ldexp_f64 v[5:6], v[1:2], v2 mul:2 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x08
-# 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_ldexp_f64 v[5:6], v[1:2], v2 mul:4 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x10
-# 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_ldexp_f64 v[5:6], v[1:2], v2 div:2 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x18
-# 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_mul_lo_u32 v5, v1, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x01,0x05,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_mul_lo_u32 v255, v1, v2 ; encoding: [0xff,0x00,0x85,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x85,0xd2,0x01,0x05,0x02,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_mul_lo_u32 v5, v255, v2 ; encoding: [0x05,0x00,0x85,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x85,0xd2,0xff,0x05,0x02,0x00
-# 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_mul_lo_u32 v5, s1, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x01,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, s101, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x65,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x66,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x67,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x6a,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x6b,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x6c,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x6d,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x6e,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x6f,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x7b,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, m0, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x7c,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x7f,0x04,0x02,0x00
# 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_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_mul_lo_u32 v5, -1, v2 ; encoding: [0x05,0x00,0x85,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x85,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0xf0,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x85,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0xf7,0x04,0x02,0x00
-# 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_mul_lo_u32 v5, v1, v255 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xff,0x03,0x00
-# 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_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_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_mul_lo_u32 v5, v1, s101 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xcb,0x00,0x00
-# 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_mul_lo_u32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xcd,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_mul_lo_u32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xdd,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_mul_lo_u32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xdf,0x00,0x00
-# 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_mul_lo_u32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xf7,0x00,0x00
-# 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_mul_lo_u32 v5, v1, m0 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xf9,0x00,0x00
-# 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_mul_lo_u32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xfd,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_mul_lo_u32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xff,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_mul_lo_u32 v5, v1, 0 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x01,0x01,0x01,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_mul_lo_u32 v5, v1, -1 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x01,0x83,0x01,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_mul_lo_u32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xe1,0x01,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_mul_lo_u32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xef,0x01,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_mul_hi_u32 v5, v1, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x01,0x05,0x02,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_mul_hi_u32 v255, v1, v2 ; encoding: [0xff,0x00,0x86,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x86,0xd2,0x01,0x05,0x02,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_mul_hi_u32 v5, v255, v2 ; encoding: [0x05,0x00,0x86,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x86,0xd2,0xff,0x05,0x02,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_mul_hi_u32 v5, s1, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x01,0x04,0x02,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_mul_hi_u32 v5, s101, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x65,0x04,0x02,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_mul_hi_u32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x66,0x04,0x02,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_mul_hi_u32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x67,0x04,0x02,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_mul_hi_u32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x6a,0x04,0x02,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_mul_hi_u32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x6b,0x04,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_mul_hi_u32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, m0, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x7f,0x04,0x02,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_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_mul_hi_u32 v5, -1, v2 ; encoding: [0x05,0x00,0x86,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0xc1,0x04,0x02,0x00
-# 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_mul_hi_u32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x86,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0xf0,0x04,0x02,0x00
-# 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_mul_hi_u32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x86,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0xf7,0x04,0x02,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_mul_hi_u32 v5, v1, v255 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xff,0x03,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_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_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_mul_hi_u32 v5, v1, s101 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xcb,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_mul_hi_u32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xcd,0x00,0x00
-# 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_mul_hi_u32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xcf,0x00,0x00
-# 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_mul_hi_u32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xd5,0x00,0x00
-# 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_mul_hi_u32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xd7,0x00,0x00
-# 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_mul_hi_u32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xd9,0x00,0x00
-# 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_mul_hi_u32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xdb,0x00,0x00
-# 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_mul_hi_u32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xdd,0x00,0x00
-# 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_mul_hi_u32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xdf,0x00,0x00
-# 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_mul_hi_u32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xf7,0x00,0x00
-# 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_mul_hi_u32 v5, v1, m0 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xf9,0x00,0x00
-# 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_mul_hi_u32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xfd,0x00,0x00
-# 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_mul_hi_u32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xff,0x00,0x00
-# 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_mul_hi_u32 v5, v1, 0 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x01,0x01,0x01,0x00
-# 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_mul_hi_u32 v5, v1, -1 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x01,0x83,0x01,0x00
-# 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_mul_hi_u32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xe1,0x01,0x00
-# 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_mul_hi_u32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xef,0x01,0x00
-# 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_mul_hi_i32 v5, v1, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x01,0x05,0x02,0x00
-# 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_mul_hi_i32 v255, v1, v2 ; encoding: [0xff,0x00,0x87,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x87,0xd2,0x01,0x05,0x02,0x00
-# 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_mul_hi_i32 v5, v255, v2 ; encoding: [0x05,0x00,0x87,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x87,0xd2,0xff,0x05,0x02,0x00
-# 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_mul_hi_i32 v5, s1, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, s101, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, m0, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x7f,0x04,0x02,0x00
# 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_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_mul_hi_i32 v5, -1, v2 ; encoding: [0x05,0x00,0x87,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x87,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x87,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, v255 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xff,0x03,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_mul_hi_i32 v5, v1, s101 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, m0 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, 0 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, -1 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v255, v1, v2 ; encoding: [0xff,0x00,0x88,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x88,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, v255, v2 ; encoding: [0x05,0x00,0x88,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x88,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, s1, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, s101, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, m0, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, 0, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, -1, v2 ; encoding: [0x05,0x00,0x88,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x88,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x88,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, v255 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, s2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, s101 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, m0 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, 0 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, -1 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_ldexp_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0x88,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x88,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x88,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x88,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_ldexp_f32 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_ldexp_f32 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x18
# CHECK: v_readlane_b32 s5, v1, s2 ; encoding: [0x05,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
0x05,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
@@ -42024,341 +48417,1643 @@
# 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_writelane_b32 v5, s1, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x00]
-0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x00
+# CHECK: v_writelane_b32 v5, 0, s2 ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0x04,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_writelane_b32 v255, 0, s2 ; encoding: [0xff,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00]
+0xff,0x00,0x8a,0xd2,0x80,0x04,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_writelane_b32 v5, -1, s2 ; encoding: [0x05,0x00,0x8a,0xd2,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0xc1,0x04,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_writelane_b32 v5, 0.5, s2 ; encoding: [0x05,0x00,0x8a,0xd2,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0xf0,0x04,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_writelane_b32 v5, -4.0, s2 ; encoding: [0x05,0x00,0x8a,0xd2,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0xf7,0x04,0x00,0x00
-# 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_writelane_b32 v5, 0, s101 ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xca,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xca,0x00,0x00
-# 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_writelane_b32 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xcc,0x00,0x00
-# 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_writelane_b32 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xce,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xce,0x00,0x00
-# 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_writelane_b32 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xd4,0x00,0x00
-# 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_writelane_b32 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xd6,0x00,0x00
-# 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_writelane_b32 v5, 0, tba_lo ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xd8,0x00,0x00
-# 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_writelane_b32 v5, 0, tba_hi ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xda,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xda,0x00,0x00
-# 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_writelane_b32 v5, 0, tma_lo ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xdc,0x00,0x00
-# 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_writelane_b32 v5, 0, tma_hi ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xde,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xde,0x00,0x00
-# 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_writelane_b32 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xf6,0x00,0x00
-# 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_writelane_b32 v5, 0, m0 ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xf8,0x00,0x00
-# 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_writelane_b32 v5, 0, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0x00,0x01,0x00
-# 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_bcnt_u32_b32 v5, v1, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00
-# 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_bcnt_u32_b32 v255, v1, v2 ; encoding: [0xff,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00
-# 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_bcnt_u32_b32 v5, v255, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0xff,0x05,0x02,0x00
-# 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_bcnt_u32_b32 v5, s1, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x04,0x02,0x00
-# 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_bcnt_u32_b32 v5, s101, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, m0, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, 0, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, -1, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, v255 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, s2 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, s101 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, m0 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, 0 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, -1 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v255, v1, v2 ; encoding: [0xff,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v255, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, s1, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, s101, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, m0, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, 0, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, -1, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, v255 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, s2 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, s101 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xd9,0x00,0x00
-# 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_mbcnt_lo_u32_b32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xdb,0x00,0x00
-# 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_mbcnt_lo_u32_b32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xdd,0x00,0x00
-# 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_mbcnt_lo_u32_b32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xdf,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_mbcnt_lo_u32_b32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xf7,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_mbcnt_lo_u32_b32 v5, v1, m0 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xf9,0x00,0x00
-# 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_mbcnt_lo_u32_b32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xfd,0x00,0x00
-# 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_mbcnt_lo_u32_b32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xff,0x00,0x00
-# 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_mbcnt_lo_u32_b32 v5, v1, 0 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x01,0x01,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_mbcnt_lo_u32_b32 v5, v1, -1 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x83,0x01,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_mbcnt_lo_u32_b32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xe1,0x01,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_mbcnt_lo_u32_b32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xef,0x01,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_mbcnt_hi_u32_b32 v5, v1, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x05,0x02,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_mbcnt_hi_u32_b32 v255, v1, v2 ; encoding: [0xff,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v255, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, s1, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, s101, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, m0, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, 0, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, -1, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, v255 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, s2 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, s101 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, m0 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, 0 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, -1 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[254:255], v1, v[2:3] ; encoding: [0xfe,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v255, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], s1, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], s101, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], flat_scratch_lo, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], flat_scratch_hi, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], vcc_lo, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], vcc_hi, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], tba_lo, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], tba_hi, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], tma_lo, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], tma_hi, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], ttmp11, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], m0, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], exec_lo, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], exec_hi, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x7f,0x04,0x02,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_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_lshlrev_b64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0xc1,0x04,0x02,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_lshlrev_b64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0xf0,0x04,0x02,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_lshlrev_b64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0xf7,0x04,0x02,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_lshlrev_b64 v[5:6], v1, v[254:255] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xfd,0x03,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_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_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_lshlrev_b64 v[5:6], v1, s[6:7] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x0d,0x00,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_lshlrev_b64 v[5:6], v1, s[100:101] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, flat_scratch ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, vcc ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, tba ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, tma ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, ttmp[10:11] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xf5,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xf5,0x00,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_lshlrev_b64 v[5:6], v1, exec ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xfd,0x00,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_lshlrev_b64 v[5:6], v1, 0 ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x01,0x01,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_lshlrev_b64 v[5:6], v1, -1 ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x83,0x01,0x00
-# 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_lshlrev_b64 v[5:6], v1, 0.5 ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xe1,0x01,0x00
-# 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_lshlrev_b64 v[5:6], v1, -4.0 ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xef,0x01,0x00
-# 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_lshrrev_b64 v[5:6], v1, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x05,0x02,0x00
-# 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_lshrrev_b64 v[254:255], v1, v[2:3] ; encoding: [0xfe,0x00,0x90,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x90,0xd2,0x01,0x05,0x02,0x00
-# 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_lshrrev_b64 v[5:6], v255, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x90,0xd2,0xff,0x05,0x02,0x00
-# 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_lshrrev_b64 v[5:6], s1, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x04,0x02,0x00
-# 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_lshrrev_b64 v[5:6], s101, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x65,0x04,0x02,0x00
-# 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_lshrrev_b64 v[5:6], flat_scratch_lo, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x66,0x04,0x02,0x00
-# 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_lshrrev_b64 v[5:6], flat_scratch_hi, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x67,0x04,0x02,0x00
-# 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_lshrrev_b64 v[5:6], vcc_lo, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], vcc_hi, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], tba_lo, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], tba_hi, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], tma_lo, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], tma_hi, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], ttmp11, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], m0, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], exec_lo, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], exec_hi, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x7f,0x04,0x02,0x00
# 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_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_lshrrev_b64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0xc1,0x04,0x02,0x00
-# 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_lshrrev_b64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0xf0,0x04,0x02,0x00
-# 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_lshrrev_b64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0xf7,0x04,0x02,0x00
-# 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_lshrrev_b64 v[5:6], v1, v[254:255] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xfd,0x03,0x00
-# 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_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_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_lshrrev_b64 v[5:6], v1, s[6:7] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x0d,0x00,0x00
-# 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_lshrrev_b64 v[5:6], v1, s[100:101] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, flat_scratch ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, vcc ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, tba ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, tma ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, ttmp[10:11] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xf5,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xf5,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, exec ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, 0 ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, -1 ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x83,0x01,0x00
-# 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_lshrrev_b64 v[5:6], v1, 0.5 ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xe1,0x01,0x00
-# 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_lshrrev_b64 v[5:6], v1, -4.0 ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xef,0x01,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_ashrrev_i64 v[5:6], v1, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x05,0x02,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_ashrrev_i64 v[254:255], v1, v[2:3] ; encoding: [0xfe,0x00,0x91,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x91,0xd2,0x01,0x05,0x02,0x00
-# 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_ashrrev_i64 v[5:6], v255, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x91,0xd2,0xff,0x05,0x02,0x00
-# 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_ashrrev_i64 v[5:6], s1, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x04,0x02,0x00
-# 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_ashrrev_i64 v[5:6], s101, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x65,0x04,0x02,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_ashrrev_i64 v[5:6], flat_scratch_lo, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x66,0x04,0x02,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_ashrrev_i64 v[5:6], flat_scratch_hi, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x67,0x04,0x02,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_ashrrev_i64 v[5:6], vcc_lo, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x6a,0x04,0x02,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_ashrrev_i64 v[5:6], vcc_hi, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x6b,0x04,0x02,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_ashrrev_i64 v[5:6], tba_lo, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x6c,0x04,0x02,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_ashrrev_i64 v[5:6], tba_hi, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], tma_lo, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], tma_hi, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], ttmp11, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], m0, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], exec_lo, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], exec_hi, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x7f,0x04,0x02,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_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_ashrrev_i64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0xc1,0x04,0x02,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_ashrrev_i64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0xf0,0x04,0x02,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_ashrrev_i64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0xf7,0x04,0x02,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_ashrrev_i64 v[5:6], v1, v[254:255] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xfd,0x03,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_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_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_ashrrev_i64 v[5:6], v1, s[6:7] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x0d,0x00,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_ashrrev_i64 v[5:6], v1, s[100:101] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, flat_scratch ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xcd,0x00,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_ashrrev_i64 v[5:6], v1, vcc ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xd5,0x00,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_ashrrev_i64 v[5:6], v1, tba ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xd9,0x00,0x00
-# 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_ashrrev_i64 v[5:6], v1, tma ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xdd,0x00,0x00
-# 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_ashrrev_i64 v[5:6], v1, ttmp[10:11] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xf5,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xf5,0x00,0x00
-# 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_ashrrev_i64 v[5:6], v1, exec ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xfd,0x00,0x00
-# 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_ashrrev_i64 v[5:6], v1, 0 ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x01,0x01,0x00
-# 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_ashrrev_i64 v[5:6], v1, -1 ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x83,0x01,0x00
-# 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_ashrrev_i64 v[5:6], v1, 0.5 ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xe1,0x01,0x00
-# 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_ashrrev_i64 v[5:6], v1, -4.0 ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xef,0x01,0x00
-# 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_trig_preop_f64 v[5:6], v[1:2], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x00
-# 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_trig_preop_f64 v[254:255], v[1:2], v2 ; encoding: [0xfe,0x00,0x92,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x92,0xd2,0x01,0x05,0x02,0x00
-# 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_trig_preop_f64 v[5:6], v[254:255], v2 ; encoding: [0x05,0x00,0x92,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x92,0xd2,0xfe,0x05,0x02,0x00
-# 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_trig_preop_f64 v[5:6], s[2:3], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x02,0x04,0x02,0x00
-# 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_trig_preop_f64 v[5:6], s[4:5], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x04,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x04,0x04,0x02,0x00
-# 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_trig_preop_f64 v[5:6], s[100:101], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x64,0x04,0x02,0x00
-# 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_trig_preop_f64 v[5:6], flat_scratch, v2 ; encoding: [0x05,0x00,0x92,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x66,0x04,0x02,0x00
-# 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_trig_preop_f64 v[5:6], vcc, v2 ; encoding: [0x05,0x00,0x92,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x6a,0x04,0x02,0x00
-# 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_trig_preop_f64 v[5:6], tba, v2 ; encoding: [0x05,0x00,0x92,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x6c,0x04,0x02,0x00
-# 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_trig_preop_f64 v[5:6], tma, v2 ; encoding: [0x05,0x00,0x92,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], ttmp[10:11], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x7a,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x7a,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], exec, v2 ; encoding: [0x05,0x00,0x92,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x7e,0x04,0x02,0x00
# 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_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_trig_preop_f64 v[5:6], -1, v2 ; encoding: [0x05,0x00,0x92,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], 0.5, v2 ; encoding: [0x05,0x00,0x92,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], -4.0, v2 ; encoding: [0x05,0x00,0x92,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v255 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xff,0x03,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_trig_preop_f64 v[5:6], v[1:2], s101 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], flat_scratch_lo ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], flat_scratch_hi ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], vcc_lo ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], vcc_hi ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], tba_lo ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], tba_hi ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], tma_lo ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], tma_hi ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], ttmp11 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], m0 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], exec_lo ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], exec_hi ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], -v[1:2], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_trig_preop_f64 v[5:6], |v[1:2]|, v2 ; encoding: [0x05,0x01,0x92,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x92,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v2 clamp ; encoding: [0x05,0x80,0x92,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x92,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v2 mul:2 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v2 mul:4 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v2 div:2 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_bfm_b32 v5, v1, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_bfm_b32 v255, v1, v2 ; encoding: [0xff,0x00,0x93,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x93,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, v255, v2 ; encoding: [0x05,0x00,0x93,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x93,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, s1, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, s101, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, m0, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, 0, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, -1, v2 ; encoding: [0x05,0x00,0x93,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x93,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x93,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, v1, v255 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_bfm_b32 v5, v1, s2 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, s101 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, m0 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, 0 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_bfm_b32 v5, v1, -1 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_bfm_b32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_bfm_b32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v255, v1, v2 ; encoding: [0xff,0x00,0x94,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v255, v2 ; encoding: [0x05,0x00,0x94,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x94,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, s1, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, s101, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, m0, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, 0, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, -1, v2 ; encoding: [0x05,0x00,0x94,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x94,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x94,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, v255 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, s2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, s101 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, m0 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, 0 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, -1 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, -v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, -v1, -v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, |v2| ; encoding: [0x05,0x02,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v255, v1, v2 ; encoding: [0xff,0x00,0x95,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x95,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v255, v2 ; encoding: [0x05,0x00,0x95,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x95,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, s1, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, s101, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, m0, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, 0, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, -1, v2 ; encoding: [0x05,0x00,0x95,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x95,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x95,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, v255 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, s2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, s101 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, m0 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, 0 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, -1 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, -v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x40
-# 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_cvt_pknorm_u16_f32 v5, -v1, -v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x60
-# 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_cvt_pknorm_u16_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x95,0xd2,0x01,0x05,0x02,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_cvt_pknorm_u16_f32 v5, v1, |v2| ; encoding: [0x05,0x02,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x95,0xd2,0x01,0x05,0x02,0x00
-# 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_cvt_pknorm_u16_f32 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x95,0xd2,0x01,0x05,0x02,0x00
-# 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_cvt_pknorm_u16_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x95,0xd2,0x01,0x05,0x02,0x00
-# 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_cvt_pkrtz_f16_f32 v5, v1, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v255, v1, v2 ; encoding: [0xff,0x00,0x96,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v255, v2 ; encoding: [0x05,0x00,0x96,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x96,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, s1, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, s101, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, m0, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, 0, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, -1, v2 ; encoding: [0x05,0x00,0x96,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x96,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x96,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, v255 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, s2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, s101 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, m0 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, 0 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, -1 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, -v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, -v1, -v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, |v2| ; encoding: [0x05,0x02,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v255, v1, v2 ; encoding: [0xff,0x00,0x97,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x97,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v255, v2 ; encoding: [0x05,0x00,0x97,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x97,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, s1, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, s101, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, m0, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, 0, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, -1, v2 ; encoding: [0x05,0x00,0x97,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x97,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x97,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, v255 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, s2 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, s101 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, m0 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, 0 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, -1 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v255, v1, v2 ; encoding: [0xff,0x00,0x98,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x98,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v255, v2 ; encoding: [0x05,0x00,0x98,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x98,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, s1, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, s101, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, tba_lo, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x6c,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, tba_hi, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x6d,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, tma_lo, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x6e,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, tma_hi, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x6f,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x6f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, ttmp11, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x7b,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x7b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, m0, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, 0, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, -1, v2 ; encoding: [0x05,0x00,0x98,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x98,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x98,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, v255 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, s2 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, s101 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, tba_lo ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, tba_hi ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, tma_lo ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, tma_hi ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, ttmp11 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, m0 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, 0 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, -1 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_class_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x20,0x7c]
+0x01,0x05,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x20,0x7c]
+0xff,0x05,0x20,0x7c
# CHECK: v_cmp_class_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x20,0x7c]
0x01,0x04,0x20,0x7c
@@ -42414,125 +50109,161 @@
# CHECK: v_cmp_class_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x20,0x7c]
0xf7,0x04,0x20,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x20,0x7c]
-0xfd,0x04,0x20,0x7c
-
# 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_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_cmp_class_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x20,0x7c]
-0x01,0x05,0x20,0x7c
+# CHECK: v_cmp_class_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x21,0x7c]
+0x01,0xff,0x21,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x20,0x7c]
-0xff,0x05,0x20,0x7c
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x21,0x7c]
-0x01,0xfe,0x21,0x7c
+# CHECK: v_cmp_class_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_class_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_class_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_class_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_class_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_class_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x6a,0x04,0x02,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_cmp_class_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x6b,0x04,0x02,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_cmp_class_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_class_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_class_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_class_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x6f,0x04,0x02,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_cmp_class_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x7b,0x04,0x02,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_cmp_class_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x7c,0x04,0x02,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_cmp_class_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x7e,0x04,0x02,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_cmp_class_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x7f,0x04,0x02,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_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_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_cmp_class_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0xc1,0x04,0x02,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_cmp_class_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0xf0,0x04,0x02,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_cmp_class_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0xf7,0x04,0x02,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_cmp_class_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xff,0x03,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_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_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_cmp_class_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xcb,0x00,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_cmp_class_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xcd,0x00,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_cmp_class_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xcf,0x00,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_cmp_class_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xd5,0x00,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_cmp_class_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xdf,0x00,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_cmp_class_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_class_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_class_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x22,0x7c]
+0x01,0x05,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x22,0x7c]
+0xff,0x05,0x22,0x7c
# CHECK: v_cmpx_class_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x22,0x7c]
0x01,0x04,0x22,0x7c
@@ -42588,125 +50319,161 @@
# CHECK: v_cmpx_class_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x22,0x7c]
0xf7,0x04,0x22,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x22,0x7c]
-0xfd,0x04,0x22,0x7c
-
# 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_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_cmpx_class_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x22,0x7c]
-0x01,0x05,0x22,0x7c
+# CHECK: v_cmpx_class_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x23,0x7c]
+0x01,0xff,0x23,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x22,0x7c]
-0xff,0x05,0x22,0x7c
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_class_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x23,0x7c]
-0x01,0xfe,0x23,0x7c
+# CHECK: v_cmpx_class_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x11,0xd0,0x01,0x05,0x02,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_cmpx_class_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x11,0xd0,0x01,0x05,0x02,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_cmpx_class_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x11,0xd0,0x01,0x05,0x02,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_cmpx_class_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x11,0xd0,0x01,0x05,0x02,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_cmpx_class_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x11,0xd0,0x01,0x05,0x02,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_cmpx_class_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x11,0xd0,0x01,0x05,0x02,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_cmpx_class_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x11,0xd0,0x01,0x05,0x02,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_cmpx_class_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0xff,0x05,0x02,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_cmpx_class_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x65,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x66,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x67,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x6b,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x6c,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x6d,0x04,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_cmpx_class_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x6e,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_class_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x7b,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x7c,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x7e,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_class_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0xc1,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0xf0,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0xf7,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xff,0x03,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_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_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_cmpx_class_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xcb,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_cmpx_class_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xcd,0x00,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_cmpx_class_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xcf,0x00,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_cmpx_class_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xd5,0x00,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_cmpx_class_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xd7,0x00,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_cmpx_class_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xf9,0x00,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_cmpx_class_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xfd,0x00,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_cmpx_class_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_class_f64_e32 vcc, v[1:2], v2 ; encoding: [0x01,0x05,0x24,0x7c]
+0x01,0x05,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, v[254:255], v2 ; encoding: [0xfe,0x05,0x24,0x7c]
+0xfe,0x05,0x24,0x7c
# CHECK: v_cmp_class_f64_e32 vcc, s[2:3], v2 ; encoding: [0x02,0x04,0x24,0x7c]
0x02,0x04,0x24,0x7c
@@ -42753,116 +50520,140 @@
# 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_cmp_class_f64_e32 vcc, v[1:2], v2 ; encoding: [0x01,0x05,0x24,0x7c]
-0x01,0x05,0x24,0x7c
+# CHECK: v_cmp_class_f64_e32 vcc, v[1:2], v255 ; encoding: [0x01,0xff,0x25,0x7c]
+0x01,0xff,0x25,0x7c
-# CHECK: v_cmp_class_f64_e32 vcc, v[254:255], v2 ; encoding: [0xfe,0x05,0x24,0x7c]
-0xfe,0x05,0x24,0x7c
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, s[2:3], v255 ; encoding: [0x02,0xfe,0x25,0x7c]
-0x02,0xfe,0x25,0x7c
+# CHECK: v_cmp_class_f64_e64 s[12:13], v[1:2], v2 ; encoding: [0x0c,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x12,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f64_e64 s[100:101], v[1:2], v2 ; encoding: [0x64,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x12,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f64_e64 flat_scratch, v[1:2], v2 ; encoding: [0x66,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x12,0xd0,0x01,0x05,0x02,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_cmp_class_f64_e64 vcc, v[1:2], v2 ; encoding: [0x6a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x12,0xd0,0x01,0x05,0x02,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_cmp_class_f64_e64 tba, v[1:2], v2 ; encoding: [0x6c,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x12,0xd0,0x01,0x05,0x02,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_cmp_class_f64_e64 tma, v[1:2], v2 ; encoding: [0x6e,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x12,0xd0,0x01,0x05,0x02,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_cmp_class_f64_e64 ttmp[10:11], v[1:2], v2 ; encoding: [0x7a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x12,0xd0,0x01,0x05,0x02,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_cmp_class_f64_e64 s[10:11], v[254:255], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0xfe,0x05,0x02,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_cmp_class_f64_e64 s[10:11], s[2:3], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x02,0x04,0x02,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_cmp_class_f64_e64 s[10:11], s[4:5], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x04,0x04,0x02,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_cmp_class_f64_e64 s[10:11], s[100:101], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x64,0x04,0x02,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_cmp_class_f64_e64 s[10:11], flat_scratch, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x66,0x04,0x02,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_cmp_class_f64_e64 s[10:11], vcc, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x6a,0x04,0x02,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_cmp_class_f64_e64 s[10:11], tba, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x6c,0x04,0x02,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_cmp_class_f64_e64 s[10:11], tma, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x6e,0x04,0x02,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_cmp_class_f64_e64 s[10:11], ttmp[10:11], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x7a,0x04,0x02,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_cmp_class_f64_e64 s[10:11], exec, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x7e,0x04,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_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_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_cmp_class_f64_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_class_f64_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_class_f64_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_class_f64_e64 s[10:11], v[1:2], v255 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_class_f64_e64 s[10:11], v[1:2], s101 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_class_f64_e64 s[10:11], v[1:2], flat_scratch_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_class_f64_e64 s[10:11], v[1:2], flat_scratch_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_class_f64_e64 s[10:11], v[1:2], vcc_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_class_f64_e64 s[10:11], v[1:2], vcc_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmp_class_f64_e64 s[10:11], v[1:2], tba_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_class_f64_e64 s[10:11], v[1:2], tba_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xdb,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_cmp_class_f64_e64 s[10:11], v[1:2], tma_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xdd,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_cmp_class_f64_e64 s[10:11], v[1:2], tma_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xdf,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_cmp_class_f64_e64 s[10:11], v[1:2], ttmp11 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], m0 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], exec_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], exec_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0x01,0x01,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_cmp_class_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], -v[1:2], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_class_f64_e32 vcc, v[1:2], v2 ; encoding: [0x01,0x05,0x26,0x7c]
+0x01,0x05,0x26,0x7c
-# 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_cmpx_class_f64_e32 vcc, v[254:255], v2 ; encoding: [0xfe,0x05,0x26,0x7c]
+0xfe,0x05,0x26,0x7c
# CHECK: v_cmpx_class_f64_e32 vcc, s[2:3], v2 ; encoding: [0x02,0x04,0x26,0x7c]
0x02,0x04,0x26,0x7c
@@ -42909,116 +50700,140 @@
# 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_cmpx_class_f64_e32 vcc, v[1:2], v2 ; encoding: [0x01,0x05,0x26,0x7c]
-0x01,0x05,0x26,0x7c
+# CHECK: v_cmpx_class_f64_e32 vcc, v[1:2], v255 ; encoding: [0x01,0xff,0x27,0x7c]
+0x01,0xff,0x27,0x7c
-# CHECK: v_cmpx_class_f64_e32 vcc, v[254:255], v2 ; encoding: [0xfe,0x05,0x26,0x7c]
-0xfe,0x05,0x26,0x7c
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, s[2:3], v255 ; encoding: [0x02,0xfe,0x27,0x7c]
-0x02,0xfe,0x27,0x7c
+# CHECK: v_cmpx_class_f64_e64 s[12:13], v[1:2], v2 ; encoding: [0x0c,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x13,0xd0,0x01,0x05,0x02,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_cmpx_class_f64_e64 s[100:101], v[1:2], v2 ; encoding: [0x64,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f64_e64 flat_scratch, v[1:2], v2 ; encoding: [0x66,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f64_e64 vcc, v[1:2], v2 ; encoding: [0x6a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f64_e64 tba, v[1:2], v2 ; encoding: [0x6c,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f64_e64 tma, v[1:2], v2 ; encoding: [0x6e,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f64_e64 ttmp[10:11], v[1:2], v2 ; encoding: [0x7a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f64_e64 s[10:11], v[254:255], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0xfe,0x05,0x02,0x00
-# 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_cmpx_class_f64_e64 s[10:11], s[2:3], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x02,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], s[4:5], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x04,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], s[100:101], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x64,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], flat_scratch, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x66,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], vcc, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], tba, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], tma, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x6e,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], ttmp[10:11], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x7a,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], exec, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x7e,0x04,0x02,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_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_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_cmpx_class_f64_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0xc1,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0xf0,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0xf7,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], v[1:2], v255 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xff,0x03,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_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_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_cmpx_class_f64_e64 s[10:11], v[1:2], s101 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xcb,0x00,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_cmpx_class_f64_e64 s[10:11], v[1:2], flat_scratch_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xcd,0x00,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_cmpx_class_f64_e64 s[10:11], v[1:2], flat_scratch_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xcf,0x00,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_cmpx_class_f64_e64 s[10:11], v[1:2], vcc_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_class_f64_e64 s[10:11], v[1:2], vcc_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmpx_class_f64_e64 s[10:11], v[1:2], tba_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_class_f64_e64 s[10:11], v[1:2], tba_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmpx_class_f64_e64 s[10:11], v[1:2], tma_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmpx_class_f64_e64 s[10:11], v[1:2], tma_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmpx_class_f64_e64 s[10:11], v[1:2], ttmp11 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmpx_class_f64_e64 s[10:11], v[1:2], m0 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xf9,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_cmpx_class_f64_e64 s[10:11], v[1:2], exec_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xfd,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_cmpx_class_f64_e64 s[10:11], v[1:2], exec_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xff,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_cmpx_class_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], -v[1:2], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_class_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x28,0x7c]
+0x01,0x05,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x28,0x7c]
+0xff,0x05,0x28,0x7c
# CHECK: v_cmp_class_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x28,0x7c]
0x01,0x04,0x28,0x7c
@@ -43074,125 +50889,161 @@
# CHECK: v_cmp_class_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x28,0x7c]
0xf7,0x04,0x28,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x28,0x7c]
-0xfd,0x04,0x28,0x7c
-
# 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_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_cmp_class_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x28,0x7c]
-0x01,0x05,0x28,0x7c
+# CHECK: v_cmp_class_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x29,0x7c]
+0x01,0xff,0x29,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x28,0x7c]
-0xff,0x05,0x28,0x7c
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_class_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x29,0x7c]
-0x01,0xfe,0x29,0x7c
+# CHECK: v_cmp_class_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x14,0xd0,0x01,0x05,0x02,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_cmp_class_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x14,0xd0,0x01,0x05,0x02,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_cmp_class_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x14,0xd0,0x01,0x05,0x02,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_cmp_class_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x14,0xd0,0x01,0x05,0x02,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_cmp_class_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x14,0xd0,0x01,0x05,0x02,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_cmp_class_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x14,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_class_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_class_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0x04,0x02,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_cmp_class_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x65,0x04,0x02,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_cmp_class_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x66,0x04,0x02,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_cmp_class_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x67,0x04,0x02,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_cmp_class_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x6c,0x04,0x02,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_cmp_class_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x6d,0x04,0x02,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_cmp_class_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x6e,0x04,0x02,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_cmp_class_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x6f,0x04,0x02,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_cmp_class_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x7b,0x04,0x02,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_cmp_class_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x7c,0x04,0x02,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_cmp_class_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x7e,0x04,0x02,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_cmp_class_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_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_cmp_class_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0xc1,0x04,0x02,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_cmp_class_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0xf0,0x04,0x02,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_cmp_class_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0xf7,0x04,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_cmp_class_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xff,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_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_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_cmp_class_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_class_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_class_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_class_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_class_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmp_class_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_class_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmp_class_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmp_class_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_class_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_class_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x2a,0x7c]
+0x01,0x05,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x2a,0x7c]
+0xff,0x05,0x2a,0x7c
# CHECK: v_cmpx_class_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x2a,0x7c]
0x01,0x04,0x2a,0x7c
@@ -43248,125 +51099,161 @@
# CHECK: v_cmpx_class_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x2a,0x7c]
0xf7,0x04,0x2a,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x2a,0x7c]
-0xfd,0x04,0x2a,0x7c
-
# 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_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_cmpx_class_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x2a,0x7c]
-0x01,0x05,0x2a,0x7c
+# CHECK: v_cmpx_class_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x2b,0x7c]
+0x01,0xff,0x2b,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x2a,0x7c]
-0xff,0x05,0x2a,0x7c
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x2b,0x7c]
-0x01,0xfe,0x2b,0x7c
+# CHECK: v_cmpx_class_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x15,0xd0,0x01,0x05,0x02,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_cmpx_class_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_class_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_class_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_class_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_class_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_class_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_class_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x6a,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x6b,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x6c,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x6d,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x6e,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_class_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_class_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_class_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x7e,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x7f,0x04,0x02,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_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_cmpx_class_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0xc1,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0xf0,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0xf7,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xff,0x03,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_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_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_cmpx_class_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xcb,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_cmpx_class_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xcd,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_cmpx_class_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xcf,0x00,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_cmpx_class_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xd5,0x00,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_cmpx_class_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xd7,0x00,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_cmpx_class_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xf9,0x00,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_cmpx_class_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xfd,0x00,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_cmpx_class_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_f_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x40,0x7c]
+0x01,0x05,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x40,0x7c]
+0xff,0x05,0x40,0x7c
# CHECK: v_cmp_f_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x40,0x7c]
0x01,0x04,0x40,0x7c
@@ -43422,134 +51309,170 @@
# CHECK: v_cmp_f_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x40,0x7c]
0xf7,0x04,0x40,0x7c
-# CHECK: v_cmp_f_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x40,0x7c]
-0xfd,0x04,0x40,0x7c
-
# 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_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_cmp_f_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x40,0x7c]
-0x01,0x05,0x40,0x7c
+# CHECK: v_cmp_f_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x41,0x7c]
+0x01,0xff,0x41,0x7c
-# CHECK: v_cmp_f_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x40,0x7c]
-0xff,0x05,0x40,0x7c
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x41,0x7c]
-0x01,0xfe,0x41,0x7c
+# CHECK: v_cmp_f_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x20,0xd0,0x01,0x05,0x02,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_cmp_f_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x20,0xd0,0x01,0x05,0x02,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_cmp_f_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x20,0xd0,0x01,0x05,0x02,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_cmp_f_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x20,0xd0,0x01,0x05,0x02,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_cmp_f_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x20,0xd0,0x01,0x05,0x02,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_cmp_f_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x20,0xd0,0x01,0x05,0x02,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_cmp_f_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x20,0xd0,0x01,0x05,0x02,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_cmp_f_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0xff,0x05,0x02,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_cmp_f_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0x04,0x02,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_cmp_f_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x65,0x04,0x02,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_cmp_f_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x66,0x04,0x02,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_cmp_f_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x67,0x04,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_cmp_f_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x6a,0x04,0x02,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_cmp_f_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_f_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_f_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_f_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_f_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_f_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_f_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_f_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x7e,0x04,0x02,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_cmp_f_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x7f,0x04,0x02,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_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_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_cmp_f_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0xc1,0x04,0x02,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_cmp_f_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0xf0,0x04,0x02,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_cmp_f_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0xf7,0x04,0x02,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_cmp_f_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xff,0x03,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_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_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_cmp_f_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xcb,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_cmp_f_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xcd,0x00,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_cmp_f_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xcf,0x00,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_cmp_f_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xd5,0x00,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_cmp_f_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xfd,0x00,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_cmp_f_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xff,0x00,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_cmp_f_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0x01,0x01,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_cmp_f_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0x83,0x01,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_cmp_f_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_f_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x20,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x42,0x7c]
+0x01,0x05,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x42,0x7c]
+0xff,0x05,0x42,0x7c
# CHECK: v_cmp_lt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x42,0x7c]
0x01,0x04,0x42,0x7c
@@ -43605,134 +51528,170 @@
# CHECK: v_cmp_lt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x42,0x7c]
0xf7,0x04,0x42,0x7c
-# CHECK: v_cmp_lt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x42,0x7c]
-0xfd,0x04,0x42,0x7c
-
# 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_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_cmp_lt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x42,0x7c]
-0x01,0x05,0x42,0x7c
+# CHECK: v_cmp_lt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x43,0x7c]
+0x01,0xff,0x43,0x7c
-# CHECK: v_cmp_lt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x42,0x7c]
-0xff,0x05,0x42,0x7c
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x43,0x7c]
-0x01,0xfe,0x43,0x7c
+# CHECK: v_cmp_lt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x21,0xd0,0x01,0x05,0x02,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_cmp_lt_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x21,0xd0,0x01,0x05,0x02,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_cmp_lt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0xff,0x05,0x02,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_cmp_lt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x65,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x66,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x67,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x6a,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x6b,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x6c,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x6d,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x6e,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x6f,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x7b,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x7c,0x04,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_cmp_lt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x7e,0x04,0x02,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_cmp_lt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_lt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_lt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_lt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_lt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_lt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_lt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_lt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_lt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_lt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0x01,0x01,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_cmp_lt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0x83,0x01,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_cmp_lt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xe1,0x01,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_cmp_lt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xef,0x01,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_cmp_lt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_lt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x21,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x44,0x7c]
+0x01,0x05,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x44,0x7c]
+0xff,0x05,0x44,0x7c
# CHECK: v_cmp_eq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x44,0x7c]
0x01,0x04,0x44,0x7c
@@ -43788,134 +51747,170 @@
# CHECK: v_cmp_eq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x44,0x7c]
0xf7,0x04,0x44,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x44,0x7c]
-0xfd,0x04,0x44,0x7c
-
# 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_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_cmp_eq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x44,0x7c]
-0x01,0x05,0x44,0x7c
+# CHECK: v_cmp_eq_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x45,0x7c]
+0x01,0xff,0x45,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x44,0x7c]
-0xff,0x05,0x44,0x7c
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x45,0x7c]
-0x01,0xfe,0x45,0x7c
+# CHECK: v_cmp_eq_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x22,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x22,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x22,0xd0,0x01,0x05,0x02,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_cmp_eq_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x22,0xd0,0x01,0x05,0x02,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_cmp_eq_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x22,0xd0,0x01,0x05,0x02,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_cmp_eq_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x22,0xd0,0x01,0x05,0x02,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_cmp_eq_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0xff,0x05,0x02,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_cmp_eq_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_eq_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_eq_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_eq_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x67,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x6a,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x6b,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x6c,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x6d,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x6e,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x6f,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x7b,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x7c,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x7e,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x7f,0x04,0x02,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_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_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_cmp_eq_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0xc1,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0xf0,0x04,0x02,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_cmp_eq_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0xf7,0x04,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_cmp_eq_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xff,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_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_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_cmp_eq_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_eq_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_eq_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_eq_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_eq_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_eq_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_eq_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_eq_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_eq_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x60
-# 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_cmp_eq_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x22,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x46,0x7c]
+0x01,0x05,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x46,0x7c]
+0xff,0x05,0x46,0x7c
# CHECK: v_cmp_le_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x46,0x7c]
0x01,0x04,0x46,0x7c
@@ -43971,134 +51966,170 @@
# CHECK: v_cmp_le_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x46,0x7c]
0xf7,0x04,0x46,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x46,0x7c]
-0xfd,0x04,0x46,0x7c
-
# 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_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_cmp_le_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x46,0x7c]
-0x01,0x05,0x46,0x7c
+# CHECK: v_cmp_le_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x47,0x7c]
+0x01,0xff,0x47,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x46,0x7c]
-0xff,0x05,0x46,0x7c
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_le_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x47,0x7c]
-0x01,0xfe,0x47,0x7c
+# CHECK: v_cmp_le_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x23,0xd0,0x01,0x05,0x02,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_cmp_le_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x23,0xd0,0x01,0x05,0x02,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_cmp_le_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x23,0xd0,0x01,0x05,0x02,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_cmp_le_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x23,0xd0,0x01,0x05,0x02,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_cmp_le_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x23,0xd0,0x01,0x05,0x02,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_cmp_le_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x23,0xd0,0x01,0x05,0x02,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_cmp_le_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x23,0xd0,0x01,0x05,0x02,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_cmp_le_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0xff,0x05,0x02,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_cmp_le_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0x04,0x02,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_cmp_le_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x65,0x04,0x02,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_cmp_le_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x66,0x04,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_cmp_le_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x67,0x04,0x02,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_cmp_le_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_le_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_le_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_le_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_le_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_le_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_le_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_le_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x7e,0x04,0x02,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_cmp_le_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x7f,0x04,0x02,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_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_cmp_le_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0xc1,0x04,0x02,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_cmp_le_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0xf0,0x04,0x02,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_cmp_le_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0xf7,0x04,0x02,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_cmp_le_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xff,0x03,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_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_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_cmp_le_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xcb,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_cmp_le_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xcd,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_cmp_le_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xcf,0x00,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_cmp_le_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xd5,0x00,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_cmp_le_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xd7,0x00,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_cmp_le_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xd9,0x00,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_cmp_le_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xdb,0x00,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_cmp_le_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xdd,0x00,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_cmp_le_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xdf,0x00,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_cmp_le_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_le_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmp_le_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x23,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x48,0x7c]
+0x01,0x05,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x48,0x7c]
+0xff,0x05,0x48,0x7c
# CHECK: v_cmp_gt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x48,0x7c]
0x01,0x04,0x48,0x7c
@@ -44154,134 +52185,170 @@
# CHECK: v_cmp_gt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x48,0x7c]
0xf7,0x04,0x48,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x48,0x7c]
-0xfd,0x04,0x48,0x7c
-
# 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_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_cmp_gt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x48,0x7c]
-0x01,0x05,0x48,0x7c
+# CHECK: v_cmp_gt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x49,0x7c]
+0x01,0xff,0x49,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x48,0x7c]
-0xff,0x05,0x48,0x7c
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x49,0x7c]
-0x01,0xfe,0x49,0x7c
+# CHECK: v_cmp_gt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x24,0xd0,0x01,0x05,0x02,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_cmp_gt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x24,0xd0,0x01,0x05,0x02,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_cmp_gt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x24,0xd0,0x01,0x05,0x02,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_cmp_gt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x24,0xd0,0x01,0x05,0x02,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_cmp_gt_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x24,0xd0,0x01,0x05,0x02,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_cmp_gt_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x24,0xd0,0x01,0x05,0x02,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_cmp_gt_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x24,0xd0,0x01,0x05,0x02,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_cmp_gt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0xff,0x05,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_cmp_gt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_gt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_gt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_gt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_gt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_gt_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_gt_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_gt_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x6e,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x6f,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x7b,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x7c,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x7e,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x7f,0x04,0x02,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_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_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_cmp_gt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0xc1,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0xf0,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0xf7,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xff,0x03,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_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_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_cmp_gt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xcb,0x00,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_cmp_gt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xcd,0x00,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_cmp_gt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xcf,0x00,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_cmp_gt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xd5,0x00,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_cmp_gt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_gt_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_gt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmp_gt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmp_gt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xff,0x00,0x00
-# 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_cmp_gt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x24,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4a,0x7c]
+0x01,0x05,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4a,0x7c]
+0xff,0x05,0x4a,0x7c
# CHECK: v_cmp_lg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4a,0x7c]
0x01,0x04,0x4a,0x7c
@@ -44337,134 +52404,170 @@
# CHECK: v_cmp_lg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4a,0x7c]
0xf7,0x04,0x4a,0x7c
-# CHECK: v_cmp_lg_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4a,0x7c]
-0xfd,0x04,0x4a,0x7c
-
# 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_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_cmp_lg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4a,0x7c]
-0x01,0x05,0x4a,0x7c
+# CHECK: v_cmp_lg_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4b,0x7c]
+0x01,0xff,0x4b,0x7c
-# CHECK: v_cmp_lg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4a,0x7c]
-0xff,0x05,0x4a,0x7c
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4b,0x7c]
-0x01,0xfe,0x4b,0x7c
+# CHECK: v_cmp_lg_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lg_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lg_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lg_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lg_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lg_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x25,0xd0,0x01,0x05,0x02,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_cmp_lg_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x25,0xd0,0x01,0x05,0x02,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_cmp_lg_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0xff,0x05,0x02,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_cmp_lg_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x65,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_lg_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_lg_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_lg_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x6b,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x6c,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x6d,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x6e,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x6f,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x7b,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x7c,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x7e,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x7f,0x04,0x02,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_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_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_cmp_lg_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0xc1,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0xf0,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0xf7,0x04,0x02,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_cmp_lg_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xff,0x03,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_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_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_cmp_lg_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xcb,0x00,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_cmp_lg_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_lg_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_lg_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_lg_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmp_lg_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmp_lg_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xff,0x00,0x00
-# 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_cmp_lg_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0x01,0x01,0x00
-# 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_cmp_lg_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0x83,0x01,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_cmp_lg_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x25,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4c,0x7c]
+0x01,0x05,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4c,0x7c]
+0xff,0x05,0x4c,0x7c
# CHECK: v_cmp_ge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4c,0x7c]
0x01,0x04,0x4c,0x7c
@@ -44520,134 +52623,170 @@
# CHECK: v_cmp_ge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4c,0x7c]
0xf7,0x04,0x4c,0x7c
-# CHECK: v_cmp_ge_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4c,0x7c]
-0xfd,0x04,0x4c,0x7c
-
# 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_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_cmp_ge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4c,0x7c]
-0x01,0x05,0x4c,0x7c
+# CHECK: v_cmp_ge_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4d,0x7c]
+0x01,0xff,0x4d,0x7c
-# CHECK: v_cmp_ge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4c,0x7c]
-0xff,0x05,0x4c,0x7c
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4d,0x7c]
-0x01,0xfe,0x4d,0x7c
+# CHECK: v_cmp_ge_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x26,0xd0,0x01,0x05,0x02,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_cmp_ge_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x26,0xd0,0x01,0x05,0x02,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_cmp_ge_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x26,0xd0,0x01,0x05,0x02,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_cmp_ge_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x26,0xd0,0x01,0x05,0x02,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_cmp_ge_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x26,0xd0,0x01,0x05,0x02,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_cmp_ge_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x26,0xd0,0x01,0x05,0x02,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_cmp_ge_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x26,0xd0,0x01,0x05,0x02,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_cmp_ge_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0xff,0x05,0x02,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_cmp_ge_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0x04,0x02,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_cmp_ge_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x65,0x04,0x02,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_cmp_ge_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x66,0x04,0x02,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_cmp_ge_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x67,0x04,0x02,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_cmp_ge_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x6d,0x04,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_cmp_ge_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x6e,0x04,0x02,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_cmp_ge_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_ge_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_ge_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_ge_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_ge_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_ge_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_ge_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_ge_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_ge_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_ge_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xcb,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_cmp_ge_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xcd,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_cmp_ge_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xcf,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_cmp_ge_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xd5,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_cmp_ge_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xd7,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_cmp_ge_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_ge_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmp_ge_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xff,0x00,0x00
-# 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_cmp_ge_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0x01,0x01,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_cmp_ge_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0x83,0x01,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_cmp_ge_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xe1,0x01,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_cmp_ge_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xef,0x01,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_cmp_ge_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x26,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4e,0x7c]
+0x01,0x05,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4e,0x7c]
+0xff,0x05,0x4e,0x7c
# CHECK: v_cmp_o_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4e,0x7c]
0x01,0x04,0x4e,0x7c
@@ -44703,134 +52842,170 @@
# CHECK: v_cmp_o_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4e,0x7c]
0xf7,0x04,0x4e,0x7c
-# CHECK: v_cmp_o_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4e,0x7c]
-0xfd,0x04,0x4e,0x7c
-
# 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_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_cmp_o_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4e,0x7c]
-0x01,0x05,0x4e,0x7c
+# CHECK: v_cmp_o_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4f,0x7c]
+0x01,0xff,0x4f,0x7c
-# CHECK: v_cmp_o_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4e,0x7c]
-0xff,0x05,0x4e,0x7c
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4f,0x7c]
-0x01,0xfe,0x4f,0x7c
+# CHECK: v_cmp_o_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x27,0xd0,0x01,0x05,0x02,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_cmp_o_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x27,0xd0,0x01,0x05,0x02,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_cmp_o_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x27,0xd0,0x01,0x05,0x02,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_cmp_o_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x27,0xd0,0x01,0x05,0x02,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_cmp_o_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x27,0xd0,0x01,0x05,0x02,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_cmp_o_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x27,0xd0,0x01,0x05,0x02,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_cmp_o_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x27,0xd0,0x01,0x05,0x02,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_cmp_o_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0xff,0x05,0x02,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_cmp_o_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0x04,0x02,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_cmp_o_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x65,0x04,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_cmp_o_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x66,0x04,0x02,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_cmp_o_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_o_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_o_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_o_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_o_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_o_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_o_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_o_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x7b,0x04,0x02,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_cmp_o_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x7c,0x04,0x02,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_cmp_o_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x7e,0x04,0x02,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_cmp_o_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x7f,0x04,0x02,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_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_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_cmp_o_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0xc1,0x04,0x02,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_cmp_o_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0xf0,0x04,0x02,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_cmp_o_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0xf7,0x04,0x02,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_cmp_o_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xff,0x03,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_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_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_cmp_o_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xcb,0x00,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_cmp_o_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xcd,0x00,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_cmp_o_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xcf,0x00,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_cmp_o_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xd5,0x00,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_cmp_o_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0x83,0x01,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_cmp_o_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xe1,0x01,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_cmp_o_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_o_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_o_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_o_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x27,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x50,0x7c]
+0x01,0x05,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x50,0x7c]
+0xff,0x05,0x50,0x7c
# CHECK: v_cmp_u_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x50,0x7c]
0x01,0x04,0x50,0x7c
@@ -44886,134 +53061,170 @@
# CHECK: v_cmp_u_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x50,0x7c]
0xf7,0x04,0x50,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x50,0x7c]
-0xfd,0x04,0x50,0x7c
-
# 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_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_cmp_u_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x50,0x7c]
-0x01,0x05,0x50,0x7c
+# CHECK: v_cmp_u_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x51,0x7c]
+0x01,0xff,0x51,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x50,0x7c]
-0xff,0x05,0x50,0x7c
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_u_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x51,0x7c]
-0x01,0xfe,0x51,0x7c
+# CHECK: v_cmp_u_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x28,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x28,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x28,0xd0,0x01,0x05,0x02,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_cmp_u_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x28,0xd0,0x01,0x05,0x02,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_cmp_u_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x28,0xd0,0x01,0x05,0x02,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_cmp_u_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x28,0xd0,0x01,0x05,0x02,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_cmp_u_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0xff,0x05,0x02,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_cmp_u_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0x04,0x02,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_cmp_u_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x65,0x04,0x02,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_cmp_u_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x66,0x04,0x02,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_cmp_u_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x67,0x04,0x02,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_cmp_u_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x6a,0x04,0x02,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_cmp_u_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x6b,0x04,0x02,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_cmp_u_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x6c,0x04,0x02,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_cmp_u_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x6d,0x04,0x02,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_cmp_u_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x6e,0x04,0x02,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_cmp_u_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x6f,0x04,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_cmp_u_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x7b,0x04,0x02,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_cmp_u_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_u_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_u_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x7f,0x04,0x02,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_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_cmp_u_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_u_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_u_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_u_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_u_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xcb,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_cmp_u_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xcd,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_cmp_u_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xcf,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_cmp_u_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xd5,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_cmp_u_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xd7,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_cmp_u_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xd9,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_cmp_u_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xdb,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_cmp_u_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xdd,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_cmp_u_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xdf,0x00,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_cmp_u_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xf7,0x00,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_cmp_u_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x28,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x52,0x7c]
+0x01,0x05,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x52,0x7c]
+0xff,0x05,0x52,0x7c
# CHECK: v_cmp_nge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x52,0x7c]
0x01,0x04,0x52,0x7c
@@ -45069,134 +53280,170 @@
# CHECK: v_cmp_nge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x52,0x7c]
0xf7,0x04,0x52,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x52,0x7c]
-0xfd,0x04,0x52,0x7c
-
# 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_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_cmp_nge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x52,0x7c]
-0x01,0x05,0x52,0x7c
+# CHECK: v_cmp_nge_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x53,0x7c]
+0x01,0xff,0x53,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x52,0x7c]
-0xff,0x05,0x52,0x7c
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_nge_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x53,0x7c]
-0x01,0xfe,0x53,0x7c
+# CHECK: v_cmp_nge_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x29,0xd0,0x01,0x05,0x02,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_cmp_nge_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x29,0xd0,0x01,0x05,0x02,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_cmp_nge_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x29,0xd0,0x01,0x05,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_cmp_nge_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x29,0xd0,0x01,0x05,0x02,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_cmp_nge_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x29,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nge_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x29,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nge_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nge_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_nge_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_nge_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_nge_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_nge_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_nge_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x6a,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x6b,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x6c,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x6d,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x6e,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x6f,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x7b,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x7c,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x7e,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x7f,0x04,0x02,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_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_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_cmp_nge_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0xc1,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0xf0,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0xf7,0x04,0x02,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_cmp_nge_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xff,0x03,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_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_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_cmp_nge_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xcb,0x00,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_cmp_nge_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xcd,0x00,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_cmp_nge_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_nge_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_nge_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_nge_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_nge_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmp_nge_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmp_nge_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xff,0x00,0x00
-# 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_cmp_nge_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x29,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x54,0x7c]
+0x01,0x05,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x54,0x7c]
+0xff,0x05,0x54,0x7c
# CHECK: v_cmp_nlg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x54,0x7c]
0x01,0x04,0x54,0x7c
@@ -45252,134 +53499,170 @@
# CHECK: v_cmp_nlg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x54,0x7c]
0xf7,0x04,0x54,0x7c
-# CHECK: v_cmp_nlg_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x54,0x7c]
-0xfd,0x04,0x54,0x7c
-
# 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_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_cmp_nlg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x54,0x7c]
-0x01,0x05,0x54,0x7c
+# CHECK: v_cmp_nlg_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x55,0x7c]
+0x01,0xff,0x55,0x7c
-# CHECK: v_cmp_nlg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x54,0x7c]
-0xff,0x05,0x54,0x7c
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x55,0x7c]
-0x01,0xfe,0x55,0x7c
+# CHECK: v_cmp_nlg_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2a,0xd0,0x01,0x05,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_cmp_nlg_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2a,0xd0,0x01,0x05,0x02,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_cmp_nlg_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x6b,0x04,0x02,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_cmp_nlg_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x6c,0x04,0x02,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_cmp_nlg_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x6d,0x04,0x02,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_cmp_nlg_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x6e,0x04,0x02,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_cmp_nlg_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x6f,0x04,0x02,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_cmp_nlg_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x7f,0x04,0x02,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_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_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_cmp_nlg_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x02,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_cmp_nlg_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x02,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_cmp_nlg_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x02,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_cmp_nlg_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xff,0x03,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_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_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_cmp_nlg_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xcb,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_cmp_nlg_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xcd,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_cmp_nlg_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xcf,0x00,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_cmp_nlg_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xd5,0x00,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_cmp_nlg_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xd7,0x00,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_cmp_nlg_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xf9,0x00,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_cmp_nlg_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xfd,0x00,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_cmp_nlg_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xff,0x00,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_cmp_nlg_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0x01,0x01,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_cmp_nlg_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0x83,0x01,0x00
-# 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_cmp_nlg_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x56,0x7c]
+0x01,0x05,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x56,0x7c]
+0xff,0x05,0x56,0x7c
# CHECK: v_cmp_ngt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x56,0x7c]
0x01,0x04,0x56,0x7c
@@ -45435,134 +53718,170 @@
# CHECK: v_cmp_ngt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x56,0x7c]
0xf7,0x04,0x56,0x7c
-# CHECK: v_cmp_ngt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x56,0x7c]
-0xfd,0x04,0x56,0x7c
-
# 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_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_cmp_ngt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x56,0x7c]
-0x01,0x05,0x56,0x7c
+# CHECK: v_cmp_ngt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x57,0x7c]
+0x01,0xff,0x57,0x7c
-# CHECK: v_cmp_ngt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x56,0x7c]
-0xff,0x05,0x56,0x7c
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x57,0x7c]
-0x01,0xfe,0x57,0x7c
+# CHECK: v_cmp_ngt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ngt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ngt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2b,0xd0,0x01,0x05,0x02,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_cmp_ngt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2b,0xd0,0x01,0x05,0x02,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_cmp_ngt_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x2b,0xd0,0x01,0x05,0x02,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_cmp_ngt_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x2b,0xd0,0x01,0x05,0x02,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_cmp_ngt_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x2b,0xd0,0x01,0x05,0x02,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_cmp_ngt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0xff,0x05,0x02,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_cmp_ngt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x65,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x66,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x67,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x6a,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x6b,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x6c,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x6d,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x6e,0x04,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_cmp_ngt_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x6f,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_ngt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_ngt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xcd,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_cmp_ngt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xcf,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_cmp_ngt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xd5,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_cmp_ngt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xff,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_cmp_ngt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0x01,0x01,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_cmp_ngt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0x83,0x01,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_ngt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x58,0x7c]
+0x01,0x05,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x58,0x7c]
+0xff,0x05,0x58,0x7c
# CHECK: v_cmp_nle_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x58,0x7c]
0x01,0x04,0x58,0x7c
@@ -45618,134 +53937,170 @@
# CHECK: v_cmp_nle_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x58,0x7c]
0xf7,0x04,0x58,0x7c
-# CHECK: v_cmp_nle_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x58,0x7c]
-0xfd,0x04,0x58,0x7c
-
# 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_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_cmp_nle_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x58,0x7c]
-0x01,0x05,0x58,0x7c
+# CHECK: v_cmp_nle_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x59,0x7c]
+0x01,0xff,0x59,0x7c
-# CHECK: v_cmp_nle_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x58,0x7c]
-0xff,0x05,0x58,0x7c
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x59,0x7c]
-0x01,0xfe,0x59,0x7c
+# CHECK: v_cmp_nle_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2c,0xd0,0x01,0x05,0x02,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_cmp_nle_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2c,0xd0,0x01,0x05,0x02,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_cmp_nle_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2c,0xd0,0x01,0x05,0x02,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_cmp_nle_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2c,0xd0,0x01,0x05,0x02,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_cmp_nle_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x2c,0xd0,0x01,0x05,0x02,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_cmp_nle_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nle_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nle_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_nle_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x65,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x66,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x67,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x6a,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x6b,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x6c,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x6d,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x6e,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x6f,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x7b,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x7c,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x7e,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x7f,0x04,0x02,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_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_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_cmp_nle_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_nle_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_nle_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_nle_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_nle_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_nle_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_nle_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xd5,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_cmp_nle_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0x01,0x01,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_cmp_nle_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0x83,0x01,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_cmp_nle_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xe1,0x01,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_cmp_nle_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xef,0x01,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_cmp_nle_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_nle_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5a,0x7c]
+0x01,0x05,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5a,0x7c]
+0xff,0x05,0x5a,0x7c
# CHECK: v_cmp_neq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5a,0x7c]
0x01,0x04,0x5a,0x7c
@@ -45801,134 +54156,170 @@
# CHECK: v_cmp_neq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5a,0x7c]
0xf7,0x04,0x5a,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5a,0x7c]
-0xfd,0x04,0x5a,0x7c
-
# 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_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_cmp_neq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5a,0x7c]
-0x01,0x05,0x5a,0x7c
+# CHECK: v_cmp_neq_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5b,0x7c]
+0x01,0xff,0x5b,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5a,0x7c]
-0xff,0x05,0x5a,0x7c
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5b,0x7c]
-0x01,0xfe,0x5b,0x7c
+# CHECK: v_cmp_neq_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2d,0xd0,0x01,0x05,0x02,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_cmp_neq_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2d,0xd0,0x01,0x05,0x02,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_cmp_neq_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2d,0xd0,0x01,0x05,0x02,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_cmp_neq_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2d,0xd0,0x01,0x05,0x02,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_cmp_neq_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x2d,0xd0,0x01,0x05,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_cmp_neq_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x2d,0xd0,0x01,0x05,0x02,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_cmp_neq_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_neq_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_neq_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_neq_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_neq_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_neq_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x6a,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x6b,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x6c,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x6d,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x6e,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x6f,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x7b,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x7c,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x7e,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x7f,0x04,0x02,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_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_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_cmp_neq_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0xc1,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0xf0,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0xf7,0x04,0x02,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_cmp_neq_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xff,0x03,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_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_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_cmp_neq_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_neq_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5c,0x7c]
+0x01,0x05,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5c,0x7c]
+0xff,0x05,0x5c,0x7c
# CHECK: v_cmp_nlt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5c,0x7c]
0x01,0x04,0x5c,0x7c
@@ -45984,134 +54375,170 @@
# CHECK: v_cmp_nlt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5c,0x7c]
0xf7,0x04,0x5c,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5c,0x7c]
-0xfd,0x04,0x5c,0x7c
-
# 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_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_cmp_nlt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5c,0x7c]
-0x01,0x05,0x5c,0x7c
+# CHECK: v_cmp_nlt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5d,0x7c]
+0x01,0xff,0x5d,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5c,0x7c]
-0xff,0x05,0x5c,0x7c
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_nlt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5d,0x7c]
-0x01,0xfe,0x5d,0x7c
+# CHECK: v_cmp_nlt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x2e,0xd0,0x01,0x05,0x02,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_cmp_nlt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0xff,0x05,0x02,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_cmp_nlt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x65,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x66,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x67,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x6a,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x6b,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x6c,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x6d,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x6e,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x6f,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x7b,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x7c,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x7e,0x04,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_cmp_nlt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x7f,0x04,0x02,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_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_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_cmp_nlt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_nlt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_nlt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_nlt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_nlt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_nlt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xcd,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_cmp_nlt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xcf,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_cmp_nlt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xd5,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_cmp_nlt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xdd,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_cmp_nlt_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xdf,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_cmp_nlt_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xf7,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_cmp_nlt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xf9,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_cmp_nlt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xfd,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_cmp_nlt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5e,0x7c]
+0x01,0x05,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5e,0x7c]
+0xff,0x05,0x5e,0x7c
# CHECK: v_cmp_tru_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5e,0x7c]
0x01,0x04,0x5e,0x7c
@@ -46167,134 +54594,170 @@
# CHECK: v_cmp_tru_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5e,0x7c]
0xf7,0x04,0x5e,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5e,0x7c]
-0xfd,0x04,0x5e,0x7c
-
# 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_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_cmp_tru_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5e,0x7c]
-0x01,0x05,0x5e,0x7c
+# CHECK: v_cmp_tru_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5f,0x7c]
+0x01,0xff,0x5f,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5e,0x7c]
-0xff,0x05,0x5e,0x7c
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5f,0x7c]
-0x01,0xfe,0x5f,0x7c
+# CHECK: v_cmp_tru_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2f,0xd0,0x01,0x05,0x02,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_cmp_tru_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2f,0xd0,0x01,0x05,0x02,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_cmp_tru_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2f,0xd0,0x01,0x05,0x02,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_cmp_tru_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2f,0xd0,0x01,0x05,0x02,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_cmp_tru_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x2f,0xd0,0x01,0x05,0x02,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_cmp_tru_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x2f,0xd0,0x01,0x05,0x02,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_cmp_tru_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x2f,0xd0,0x01,0x05,0x02,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_cmp_tru_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0xff,0x05,0x02,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_cmp_tru_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0x04,0x02,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_cmp_tru_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x65,0x04,0x02,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_cmp_tru_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x66,0x04,0x02,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_cmp_tru_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x67,0x04,0x02,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_cmp_tru_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x6a,0x04,0x02,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_cmp_tru_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x6b,0x04,0x02,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_cmp_tru_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x6c,0x04,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_cmp_tru_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x6d,0x04,0x02,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_cmp_tru_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_tru_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_tru_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_tru_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_tru_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_tru_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_tru_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_tru_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_tru_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_tru_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_tru_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xcb,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_cmp_tru_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xcd,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_cmp_tru_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xcf,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_cmp_tru_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xd5,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_cmp_tru_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xf7,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_cmp_tru_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xf9,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_cmp_tru_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xfd,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_cmp_tru_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xff,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_cmp_tru_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0x01,0x01,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_cmp_tru_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x60,0x7c]
+0x01,0x05,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x60,0x7c]
+0xff,0x05,0x60,0x7c
# CHECK: v_cmpx_f_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x60,0x7c]
0x01,0x04,0x60,0x7c
@@ -46350,134 +54813,170 @@
# CHECK: v_cmpx_f_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x60,0x7c]
0xf7,0x04,0x60,0x7c
-# CHECK: v_cmpx_f_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x60,0x7c]
-0xfd,0x04,0x60,0x7c
-
# 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_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_cmpx_f_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x60,0x7c]
-0x01,0x05,0x60,0x7c
+# CHECK: v_cmpx_f_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x61,0x7c]
+0x01,0xff,0x61,0x7c
-# CHECK: v_cmpx_f_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x60,0x7c]
-0xff,0x05,0x60,0x7c
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x61,0x7c]
-0x01,0xfe,0x61,0x7c
+# CHECK: v_cmpx_f_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x30,0xd0,0x01,0x05,0x02,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_cmpx_f_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x30,0xd0,0x01,0x05,0x02,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_cmpx_f_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x30,0xd0,0x01,0x05,0x02,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_cmpx_f_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x30,0xd0,0x01,0x05,0x02,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_cmpx_f_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x30,0xd0,0x01,0x05,0x02,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_cmpx_f_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x30,0xd0,0x01,0x05,0x02,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_cmpx_f_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x30,0xd0,0x01,0x05,0x02,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_cmpx_f_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0xff,0x05,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_cmpx_f_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_f_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_f_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_f_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x6a,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x6b,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x6c,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x6d,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_f_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_f_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_f_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x7c,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x7e,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_f_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0xc1,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0xf0,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0xf7,0x04,0x02,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_cmpx_f_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xff,0x03,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_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_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_cmpx_f_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xcb,0x00,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_cmpx_f_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xcd,0x00,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_cmpx_f_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xcf,0x00,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_cmpx_f_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xd5,0x00,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_cmpx_f_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xff,0x00,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_cmpx_f_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_f_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_f_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_f_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xef,0x01,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_cmpx_f_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x30,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x62,0x7c]
+0x01,0x05,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x62,0x7c]
+0xff,0x05,0x62,0x7c
# CHECK: v_cmpx_lt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x62,0x7c]
0x01,0x04,0x62,0x7c
@@ -46533,134 +55032,170 @@
# CHECK: v_cmpx_lt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x62,0x7c]
0xf7,0x04,0x62,0x7c
-# CHECK: v_cmpx_lt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x62,0x7c]
-0xfd,0x04,0x62,0x7c
-
# 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_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_cmpx_lt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x62,0x7c]
-0x01,0x05,0x62,0x7c
+# CHECK: v_cmpx_lt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x63,0x7c]
+0x01,0xff,0x63,0x7c
-# CHECK: v_cmpx_lt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x62,0x7c]
-0xff,0x05,0x62,0x7c
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x63,0x7c]
-0x01,0xfe,0x63,0x7c
+# CHECK: v_cmpx_lt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x31,0xd0,0x01,0x05,0x02,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_cmpx_lt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x31,0xd0,0x01,0x05,0x02,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_cmpx_lt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x31,0xd0,0x01,0x05,0x02,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_cmpx_lt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x31,0xd0,0x01,0x05,0x02,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_cmpx_lt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0xff,0x05,0x02,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_cmpx_lt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x65,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x66,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x67,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x6a,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x6b,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x6c,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x6d,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x6e,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x6f,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x7b,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x7c,0x04,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_cmpx_lt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x7e,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_lt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0xc1,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_lt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_lt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_lt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xcb,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_cmpx_lt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xcd,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_cmpx_lt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xcf,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_cmpx_lt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xd5,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_cmpx_lt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0x01,0x01,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_cmpx_lt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0x83,0x01,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_cmpx_lt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xe1,0x01,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_cmpx_lt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xef,0x01,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_cmpx_lt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_lt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x31,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x64,0x7c]
+0x01,0x05,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x64,0x7c]
+0xff,0x05,0x64,0x7c
# CHECK: v_cmpx_eq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x64,0x7c]
0x01,0x04,0x64,0x7c
@@ -46716,134 +55251,170 @@
# CHECK: v_cmpx_eq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x64,0x7c]
0xf7,0x04,0x64,0x7c
-# CHECK: v_cmpx_eq_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x64,0x7c]
-0xfd,0x04,0x64,0x7c
-
# 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_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_cmpx_eq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x64,0x7c]
-0x01,0x05,0x64,0x7c
+# CHECK: v_cmpx_eq_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x65,0x7c]
+0x01,0xff,0x65,0x7c
-# CHECK: v_cmpx_eq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x64,0x7c]
-0xff,0x05,0x64,0x7c
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x65,0x7c]
-0x01,0xfe,0x65,0x7c
+# CHECK: v_cmpx_eq_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x32,0xd0,0x01,0x05,0x02,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_cmpx_eq_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x32,0xd0,0x01,0x05,0x02,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_cmpx_eq_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x32,0xd0,0x01,0x05,0x02,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_cmpx_eq_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x32,0xd0,0x01,0x05,0x02,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_cmpx_eq_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x32,0xd0,0x01,0x05,0x02,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_cmpx_eq_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x32,0xd0,0x01,0x05,0x02,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_cmpx_eq_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x32,0xd0,0x01,0x05,0x02,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_cmpx_eq_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0xff,0x05,0x02,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_cmpx_eq_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x65,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x66,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x67,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x6a,0x04,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_cmpx_eq_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x6b,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x6c,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x6d,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x6e,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x6f,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x7b,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x7c,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x7e,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_eq_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0xc1,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0xf0,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0xf7,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xff,0x03,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_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_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_cmpx_eq_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xcb,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_cmpx_eq_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xcd,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_cmpx_eq_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xcf,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_cmpx_eq_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xd5,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_cmpx_eq_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xd7,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_cmpx_eq_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xd9,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_cmpx_eq_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xdb,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_cmpx_eq_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xdd,0x00,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_cmpx_eq_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xdf,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_cmpx_eq_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x32,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x66,0x7c]
+0x01,0x05,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x66,0x7c]
+0xff,0x05,0x66,0x7c
# CHECK: v_cmpx_le_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x66,0x7c]
0x01,0x04,0x66,0x7c
@@ -46899,134 +55470,170 @@
# CHECK: v_cmpx_le_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x66,0x7c]
0xf7,0x04,0x66,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x66,0x7c]
-0xfd,0x04,0x66,0x7c
-
# 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_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_cmpx_le_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x66,0x7c]
-0x01,0x05,0x66,0x7c
+# CHECK: v_cmpx_le_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x67,0x7c]
+0x01,0xff,0x67,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x66,0x7c]
-0xff,0x05,0x66,0x7c
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_le_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x67,0x7c]
-0x01,0xfe,0x67,0x7c
+# CHECK: v_cmpx_le_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x33,0xd0,0x01,0x05,0x02,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_cmpx_le_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x33,0xd0,0x01,0x05,0x02,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_cmpx_le_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x33,0xd0,0x01,0x05,0x02,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_cmpx_le_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x33,0xd0,0x01,0x05,0x02,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_cmpx_le_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x33,0xd0,0x01,0x05,0x02,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_cmpx_le_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x33,0xd0,0x01,0x05,0x02,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_cmpx_le_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x33,0xd0,0x01,0x05,0x02,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_cmpx_le_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0xff,0x05,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_cmpx_le_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x65,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x66,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x67,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x6a,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x6b,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x6c,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x6d,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x6e,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x6f,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x7b,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x7c,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x7e,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_le_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0xc1,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0xf0,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0xf7,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xff,0x03,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_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_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_cmpx_le_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xcb,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_cmpx_le_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xcd,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_cmpx_le_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xcf,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_cmpx_le_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xd5,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_cmpx_le_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_le_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_le_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x60
-# 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_cmpx_le_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x33,0xd0,0x01,0x05,0x02,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_cmpx_gt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x68,0x7c]
+0x01,0x05,0x68,0x7c
-# 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_cmpx_gt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x68,0x7c]
+0xff,0x05,0x68,0x7c
# CHECK: v_cmpx_gt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x68,0x7c]
0x01,0x04,0x68,0x7c
@@ -47082,134 +55689,170 @@
# CHECK: v_cmpx_gt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x68,0x7c]
0xf7,0x04,0x68,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x68,0x7c]
-0xfd,0x04,0x68,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_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_cmpx_gt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x68,0x7c]
-0x01,0x05,0x68,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x69,0x7c]
+0x01,0xff,0x69,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x68,0x7c]
-0xff,0x05,0x68,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_gt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x69,0x7c]
-0x01,0xfe,0x69,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_gt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x65,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x66,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x67,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x6a,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x6b,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x6c,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x6d,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x6e,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x6f,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x7b,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x7c,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x7e,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_gt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0xc1,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0xf0,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0xf7,0x04,0x02,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_cmpx_gt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xff,0x03,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_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_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_cmpx_gt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xcb,0x00,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_cmpx_gt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xcd,0x00,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_cmpx_gt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xcf,0x00,0x00
-# 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_gt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xd5,0x00,0x00
-# 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_gt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xf7,0x00,0x00
-# 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_gt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xf9,0x00,0x00
-# 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_gt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xfd,0x00,0x00
-# 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_gt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xff,0x00,0x00
-# 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_gt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0x01,0x01,0x00
-# 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_gt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x34,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6a,0x7c]
+0x01,0x05,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6a,0x7c]
+0xff,0x05,0x6a,0x7c
# CHECK: v_cmpx_lg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6a,0x7c]
0x01,0x04,0x6a,0x7c
@@ -47265,134 +55908,170 @@
# CHECK: v_cmpx_lg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6a,0x7c]
0xf7,0x04,0x6a,0x7c
-# CHECK: v_cmpx_lg_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6a,0x7c]
-0xfd,0x04,0x6a,0x7c
-
# 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_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_lg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6a,0x7c]
-0x01,0x05,0x6a,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6b,0x7c]
+0x01,0xff,0x6b,0x7c
-# CHECK: v_cmpx_lg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6a,0x7c]
-0xff,0x05,0x6a,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6b,0x7c]
-0x01,0xfe,0x6b,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x35,0xd0,0x01,0x05,0x02,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_lg_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x35,0xd0,0x01,0x05,0x02,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_lg_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x35,0xd0,0x01,0x05,0x02,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_lg_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x35,0xd0,0x01,0x05,0x02,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_lg_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x35,0xd0,0x01,0x05,0x02,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_lg_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x35,0xd0,0x01,0x05,0x02,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_lg_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x35,0xd0,0x01,0x05,0x02,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_lg_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0xff,0x05,0x02,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_lg_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0x04,0x02,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_lg_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x65,0x04,0x02,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_lg_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x66,0x04,0x02,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_lg_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x67,0x04,0x02,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_lg_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x6a,0x04,0x02,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_lg_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x6b,0x04,0x02,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_lg_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x6c,0x04,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_lg_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x6d,0x04,0x02,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_lg_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_lg_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_lg_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xff,0x00,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_lg_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0x83,0x01,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_cmpx_lg_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xe1,0x01,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_cmpx_lg_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x35,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6c,0x7c]
+0x01,0x05,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6c,0x7c]
+0xff,0x05,0x6c,0x7c
# CHECK: v_cmpx_ge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6c,0x7c]
0x01,0x04,0x6c,0x7c
@@ -47448,134 +56127,170 @@
# CHECK: v_cmpx_ge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6c,0x7c]
0xf7,0x04,0x6c,0x7c
-# CHECK: v_cmpx_ge_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6c,0x7c]
-0xfd,0x04,0x6c,0x7c
-
# 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_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_ge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6c,0x7c]
-0x01,0x05,0x6c,0x7c
+# CHECK: v_cmpx_ge_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6d,0x7c]
+0x01,0xff,0x6d,0x7c
-# CHECK: v_cmpx_ge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6c,0x7c]
-0xff,0x05,0x6c,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6d,0x7c]
-0x01,0xfe,0x6d,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0xff,0x05,0x02,0x00
-# 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_ge_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0x04,0x02,0x00
-# 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_ge_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x65,0x04,0x02,0x00
-# 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_ge_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x66,0x04,0x02,0x00
-# 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_ge_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x67,0x04,0x02,0x00
-# 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_ge_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x6a,0x04,0x02,0x00
-# 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_ge_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x6b,0x04,0x02,0x00
-# 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_ge_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x6c,0x04,0x02,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_ge_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x6d,0x04,0x02,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_ge_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x6e,0x04,0x02,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_ge_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x6f,0x04,0x02,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_ge_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x7b,0x04,0x02,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_ge_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x7c,0x04,0x02,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_ge_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x7e,0x04,0x02,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_ge_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x7f,0x04,0x02,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_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_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_ge_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0xc1,0x04,0x02,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_ge_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0xf0,0x04,0x02,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_ge_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0xf7,0x04,0x02,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_ge_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xff,0x03,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_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_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_ge_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xcb,0x00,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_ge_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xcd,0x00,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_ge_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xcf,0x00,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_ge_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xd5,0x00,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_ge_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0x01,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_ge_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0x83,0x01,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_ge_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xe1,0x01,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_ge_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_ge_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_ge_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x36,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6e,0x7c]
+0x01,0x05,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6e,0x7c]
+0xff,0x05,0x6e,0x7c
# CHECK: v_cmpx_o_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6e,0x7c]
0x01,0x04,0x6e,0x7c
@@ -47631,134 +56346,170 @@
# CHECK: v_cmpx_o_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6e,0x7c]
0xf7,0x04,0x6e,0x7c
-# CHECK: v_cmpx_o_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6e,0x7c]
-0xfd,0x04,0x6e,0x7c
-
# 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_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_cmpx_o_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6e,0x7c]
-0x01,0x05,0x6e,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6f,0x7c]
+0x01,0xff,0x6f,0x7c
-# CHECK: v_cmpx_o_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6e,0x7c]
-0xff,0x05,0x6e,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6f,0x7c]
-0x01,0xfe,0x6f,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x37,0xd0,0x01,0x05,0x02,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_cmpx_o_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x37,0xd0,0x01,0x05,0x02,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_cmpx_o_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x37,0xd0,0x01,0x05,0x02,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_cmpx_o_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x37,0xd0,0x01,0x05,0x02,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_cmpx_o_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x37,0xd0,0x01,0x05,0x02,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_cmpx_o_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x37,0xd0,0x01,0x05,0x02,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_cmpx_o_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x37,0xd0,0x01,0x05,0x02,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_cmpx_o_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0xff,0x05,0x02,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_cmpx_o_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x65,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x66,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x67,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x6a,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x6b,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x6c,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x6d,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x6e,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x6f,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x7b,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x7c,0x04,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_cmpx_o_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x7e,0x04,0x02,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_cmpx_o_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_o_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0xc1,0x04,0x02,0x00
-# 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_o_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0xf0,0x04,0x02,0x00
-# 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_o_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0xf7,0x04,0x02,0x00
-# 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_o_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_o_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xcb,0x00,0x00
-# 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_o_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xcd,0x00,0x00
-# 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_o_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xcf,0x00,0x00
-# 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_o_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xd5,0x00,0x00
-# 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_o_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xd7,0x00,0x00
-# 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_o_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xd9,0x00,0x00
-# 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_o_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xdb,0x00,0x00
-# 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_o_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xdd,0x00,0x00
-# 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_o_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xdf,0x00,0x00
-# 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_o_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x37,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x70,0x7c]
+0x01,0x05,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x70,0x7c]
+0xff,0x05,0x70,0x7c
# CHECK: v_cmpx_u_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x70,0x7c]
0x01,0x04,0x70,0x7c
@@ -47814,134 +56565,170 @@
# CHECK: v_cmpx_u_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x70,0x7c]
0xf7,0x04,0x70,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x70,0x7c]
-0xfd,0x04,0x70,0x7c
-
# 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_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_u_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x70,0x7c]
-0x01,0x05,0x70,0x7c
+# CHECK: v_cmpx_u_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x71,0x7c]
+0x01,0xff,0x71,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x70,0x7c]
-0xff,0x05,0x70,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x71,0x7c]
-0x01,0xfe,0x71,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x38,0xd0,0x01,0x05,0x02,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_u_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x38,0xd0,0x01,0x05,0x02,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_u_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x38,0xd0,0x01,0x05,0x02,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_u_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x38,0xd0,0x01,0x05,0x02,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_u_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x38,0xd0,0x01,0x05,0x02,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_u_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x38,0xd0,0x01,0x05,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_u_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x38,0xd0,0x01,0x05,0x02,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_u_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_u_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_u_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_u_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xcb,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_cmpx_u_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_u_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_u_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_u_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xdb,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_cmpx_u_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xdd,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_cmpx_u_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xdf,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_cmpx_u_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xf7,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_cmpx_u_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xf9,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_cmpx_u_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x38,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x72,0x7c]
+0x01,0x05,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x72,0x7c]
+0xff,0x05,0x72,0x7c
# CHECK: v_cmpx_nge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x72,0x7c]
0x01,0x04,0x72,0x7c
@@ -47997,134 +56784,170 @@
# CHECK: v_cmpx_nge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x72,0x7c]
0xf7,0x04,0x72,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x72,0x7c]
-0xfd,0x04,0x72,0x7c
-
# 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_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_cmpx_nge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x72,0x7c]
-0x01,0x05,0x72,0x7c
+# CHECK: v_cmpx_nge_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x73,0x7c]
+0x01,0xff,0x73,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x72,0x7c]
-0xff,0x05,0x72,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_nge_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x73,0x7c]
-0x01,0xfe,0x73,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x6e,0x04,0x02,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_cmpx_nge_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x6f,0x04,0x02,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_cmpx_nge_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_nge_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_nge_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0xc1,0x04,0x02,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_cmpx_nge_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0xf0,0x04,0x02,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_cmpx_nge_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0xf7,0x04,0x02,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_cmpx_nge_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xff,0x03,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_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_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_cmpx_nge_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xcb,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_cmpx_nge_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xcd,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_cmpx_nge_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xcf,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_cmpx_nge_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xd5,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_cmpx_nge_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xdf,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_cmpx_nge_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xf7,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_cmpx_nge_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xf9,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_cmpx_nge_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xfd,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_cmpx_nge_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xff,0x00,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_cmpx_nge_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x39,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x74,0x7c]
+0x01,0x05,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x74,0x7c]
+0xff,0x05,0x74,0x7c
# CHECK: v_cmpx_nlg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x74,0x7c]
0x01,0x04,0x74,0x7c
@@ -48180,134 +57003,170 @@
# CHECK: v_cmpx_nlg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x74,0x7c]
0xf7,0x04,0x74,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x74,0x7c]
-0xfd,0x04,0x74,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_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_cmpx_nlg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x74,0x7c]
-0x01,0x05,0x74,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x75,0x7c]
+0x01,0xff,0x75,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x74,0x7c]
-0xff,0x05,0x74,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_nlg_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x75,0x7c]
-0x01,0xfe,0x75,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x3a,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x3a,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_nlg_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_nlg_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_nlg_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x66,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x67,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x6b,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x6c,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x6d,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x6e,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x6f,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x7b,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x7c,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x7e,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_nlg_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xff,0x03,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_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_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_cmpx_nlg_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xcb,0x00,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_cmpx_nlg_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xcd,0x00,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_cmpx_nlg_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xcf,0x00,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_cmpx_nlg_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xd5,0x00,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_cmpx_nlg_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xd7,0x00,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_cmpx_nlg_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmpx_nlg_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmpx_nlg_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xff,0x00,0x00
-# 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_cmpx_nlg_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0x01,0x01,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_cmpx_nlg_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_nlg_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x76,0x7c]
+0x01,0x05,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x76,0x7c]
+0xff,0x05,0x76,0x7c
# CHECK: v_cmpx_ngt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x76,0x7c]
0x01,0x04,0x76,0x7c
@@ -48363,134 +57222,170 @@
# CHECK: v_cmpx_ngt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x76,0x7c]
0xf7,0x04,0x76,0x7c
-# CHECK: v_cmpx_ngt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x76,0x7c]
-0xfd,0x04,0x76,0x7c
-
# 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_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_cmpx_ngt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x76,0x7c]
-0x01,0x05,0x76,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x77,0x7c]
+0x01,0xff,0x77,0x7c
-# CHECK: v_cmpx_ngt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x76,0x7c]
-0xff,0x05,0x76,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x77,0x7c]
-0x01,0xfe,0x77,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x3b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x3b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x3b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0xff,0x05,0x02,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_cmpx_ngt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x65,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x66,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x67,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x6d,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x6e,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x6f,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x7b,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x7c,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x7e,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_ngt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0xc1,0x04,0x02,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_cmpx_ngt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_ngt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xff,0x00,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_ngt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x78,0x7c]
+0x01,0x05,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x78,0x7c]
+0xff,0x05,0x78,0x7c
# CHECK: v_cmpx_nle_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x78,0x7c]
0x01,0x04,0x78,0x7c
@@ -48546,134 +57441,170 @@
# CHECK: v_cmpx_nle_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x78,0x7c]
0xf7,0x04,0x78,0x7c
-# CHECK: v_cmpx_nle_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x78,0x7c]
-0xfd,0x04,0x78,0x7c
-
# 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_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_cmpx_nle_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x78,0x7c]
-0x01,0x05,0x78,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x79,0x7c]
+0x01,0xff,0x79,0x7c
-# CHECK: v_cmpx_nle_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x78,0x7c]
-0xff,0x05,0x78,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x79,0x7c]
-0x01,0xfe,0x79,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x3c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x3c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x3c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0xff,0x05,0x02,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_cmpx_nle_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0x04,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_cmpx_nle_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x65,0x04,0x02,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_cmpx_nle_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x6b,0x04,0x02,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_cmpx_nle_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_nle_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_nle_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_nle_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xe1,0x01,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_cmpx_nle_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xef,0x01,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_cmpx_nle_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_nle_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_nle_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7a,0x7c]
+0x01,0x05,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7a,0x7c]
+0xff,0x05,0x7a,0x7c
# CHECK: v_cmpx_neq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7a,0x7c]
0x01,0x04,0x7a,0x7c
@@ -48729,134 +57660,170 @@
# CHECK: v_cmpx_neq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7a,0x7c]
0xf7,0x04,0x7a,0x7c
-# CHECK: v_cmpx_neq_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7a,0x7c]
-0xfd,0x04,0x7a,0x7c
-
# 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_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_cmpx_neq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7a,0x7c]
-0x01,0x05,0x7a,0x7c
+# CHECK: v_cmpx_neq_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7b,0x7c]
+0x01,0xff,0x7b,0x7c
-# CHECK: v_cmpx_neq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7a,0x7c]
-0xff,0x05,0x7a,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7b,0x7c]
-0x01,0xfe,0x7b,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3d,0xd0,0x01,0x05,0x02,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_cmpx_neq_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_neq_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0xc1,0x04,0x02,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_cmpx_neq_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_neq_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_neq_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xcb,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_cmpx_neq_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xcd,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_cmpx_neq_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xcf,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_cmpx_neq_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xd5,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_cmpx_neq_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xe1,0x01,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_cmpx_neq_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xef,0x01,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_cmpx_neq_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_neq_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_neq_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x60
-# 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_cmpx_neq_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7c,0x7c]
+0x01,0x05,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7c,0x7c]
+0xff,0x05,0x7c,0x7c
# CHECK: v_cmpx_nlt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7c,0x7c]
0x01,0x04,0x7c,0x7c
@@ -48912,134 +57879,170 @@
# CHECK: v_cmpx_nlt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7c,0x7c]
0xf7,0x04,0x7c,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7c,0x7c]
-0xfd,0x04,0x7c,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_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_cmpx_nlt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7c,0x7c]
-0x01,0x05,0x7c,0x7c
+# CHECK: v_cmpx_nlt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7d,0x7c]
+0x01,0xff,0x7d,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7c,0x7c]
-0xff,0x05,0x7c,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_nlt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7d,0x7c]
-0x01,0xfe,0x7d,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_nlt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_nlt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_nlt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_nlt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x67,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x6a,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_nlt_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_nlt_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_nlt_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x6e,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x6f,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x7b,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x7c,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x7e,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_nlt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xff,0x03,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_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_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_cmpx_nlt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xcb,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_cmpx_nlt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xcd,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_cmpx_nlt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xcf,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_cmpx_nlt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xd5,0x00,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_cmpx_nlt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xdd,0x00,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_cmpx_nlt_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xdf,0x00,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_cmpx_nlt_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xf7,0x00,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_cmpx_nlt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xf9,0x00,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_cmpx_nlt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xfd,0x00,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_cmpx_nlt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7e,0x7c]
+0x01,0x05,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7e,0x7c]
+0xff,0x05,0x7e,0x7c
# CHECK: v_cmpx_tru_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7e,0x7c]
0x01,0x04,0x7e,0x7c
@@ -49095,134 +58098,170 @@
# CHECK: v_cmpx_tru_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7e,0x7c]
0xf7,0x04,0x7e,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7e,0x7c]
-0xfd,0x04,0x7e,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_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_cmpx_tru_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7e,0x7c]
-0x01,0x05,0x7e,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7f,0x7c]
+0x01,0xff,0x7f,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7e,0x7c]
-0xff,0x05,0x7e,0x7c
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_tru_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7f,0x7c]
-0x01,0xfe,0x7f,0x7c
+# CHECK: v_cmpx_tru_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_tru_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_tru_f16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_tru_f16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x3f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x3f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0xff,0x05,0x02,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_cmpx_tru_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x65,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x66,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x67,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x6a,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x6b,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x6c,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x6d,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x6e,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x6f,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x7b,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x7c,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x7e,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_tru_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0xc1,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0xf0,0x04,0x02,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_cmpx_tru_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0xf7,0x04,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_cmpx_tru_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xff,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_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_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_cmpx_tru_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_tru_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_tru_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xcf,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_cmpx_tru_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_tru_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmpx_tru_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmpx_tru_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmpx_tru_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xff,0x00,0x00
-# 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_cmpx_tru_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_tru_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x80,0x7c]
+0x01,0x05,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x80,0x7c]
+0xff,0x05,0x80,0x7c
# CHECK: v_cmp_f_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x80,0x7c]
0x01,0x04,0x80,0x7c
@@ -49278,134 +58317,170 @@
# CHECK: v_cmp_f_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x80,0x7c]
0xf7,0x04,0x80,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x80,0x7c]
-0xfd,0x04,0x80,0x7c
-
# 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_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_f_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x80,0x7c]
-0x01,0x05,0x80,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x81,0x7c]
+0x01,0xff,0x81,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x80,0x7c]
-0xff,0x05,0x80,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x81,0x7c]
-0x01,0xfe,0x81,0x7c
+# CHECK: v_cmp_f_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x40,0xd0,0x01,0x05,0x02,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_f_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x40,0xd0,0x01,0x05,0x02,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_f_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x40,0xd0,0x01,0x05,0x02,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_f_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x40,0xd0,0x01,0x05,0x02,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_f_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x40,0xd0,0x01,0x05,0x02,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_f_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x40,0xd0,0x01,0x05,0x02,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_f_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x40,0xd0,0x01,0x05,0x02,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_f_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0xff,0x05,0x02,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_f_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0x04,0x02,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_f_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x65,0x04,0x02,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_f_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x66,0x04,0x02,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_f_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x67,0x04,0x02,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_f_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x6a,0x04,0x02,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_f_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x6b,0x04,0x02,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_f_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x6c,0x04,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_f_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x6d,0x04,0x02,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_f_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x6e,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x6f,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x7b,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x7c,0x04,0x02,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_f_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x7e,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_f_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0xc1,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0xf0,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0xf7,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_f_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xcb,0x00,0x00
-# 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_f_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xcd,0x00,0x00
-# 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_f_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xcf,0x00,0x00
-# 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_f_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xd5,0x00,0x00
-# 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_f_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xfd,0x00,0x00
-# 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_f_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xff,0x00,0x00
-# 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_f_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0x01,0x01,0x00
-# 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_f_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0x83,0x01,0x00
-# 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_f_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xe1,0x01,0x00
-# 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_f_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x40,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x82,0x7c]
+0x01,0x05,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x82,0x7c]
+0xff,0x05,0x82,0x7c
# CHECK: v_cmp_lt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x82,0x7c]
0x01,0x04,0x82,0x7c
@@ -49461,134 +58536,170 @@
# CHECK: v_cmp_lt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x82,0x7c]
0xf7,0x04,0x82,0x7c
-# CHECK: v_cmp_lt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x82,0x7c]
-0xfd,0x04,0x82,0x7c
-
# 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_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_lt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x82,0x7c]
-0x01,0x05,0x82,0x7c
+# CHECK: v_cmp_lt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x83,0x7c]
+0x01,0xff,0x83,0x7c
-# CHECK: v_cmp_lt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x82,0x7c]
-0xff,0x05,0x82,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x83,0x7c]
-0x01,0xfe,0x83,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x41,0xd0,0x01,0x05,0x02,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_lt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x41,0xd0,0x01,0x05,0x02,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_lt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x41,0xd0,0x01,0x05,0x02,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_lt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x41,0xd0,0x01,0x05,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_lt_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x41,0xd0,0x01,0x05,0x02,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_lt_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x41,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0xff,0x05,0x02,0x00
-# 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_lt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0x04,0x02,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_lt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x65,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x66,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x67,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x6a,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x6b,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x6c,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x6d,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x6e,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x6f,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x7b,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x7c,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x7e,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_lt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0xc1,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0xf0,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0xf7,0x04,0x02,0x00
-# 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_lt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_lt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xcb,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_lt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xcd,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_lt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xcf,0x00,0x00
-# 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_lt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xd5,0x00,0x00
-# 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_lt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0x83,0x01,0x00
-# 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_lt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xe1,0x01,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_lt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xef,0x01,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_lt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x20
-# 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_lt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x40
-# 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_lt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x41,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x84,0x7c]
+0x01,0x05,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x84,0x7c]
+0xff,0x05,0x84,0x7c
# CHECK: v_cmp_eq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x84,0x7c]
0x01,0x04,0x84,0x7c
@@ -49644,134 +58755,170 @@
# CHECK: v_cmp_eq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x84,0x7c]
0xf7,0x04,0x84,0x7c
-# CHECK: v_cmp_eq_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x84,0x7c]
-0xfd,0x04,0x84,0x7c
-
# 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_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_eq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x84,0x7c]
-0x01,0x05,0x84,0x7c
+# CHECK: v_cmp_eq_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x85,0x7c]
+0x01,0xff,0x85,0x7c
-# CHECK: v_cmp_eq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x84,0x7c]
-0xff,0x05,0x84,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x85,0x7c]
-0x01,0xfe,0x85,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0xff,0x05,0x02,0x00
-# 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_eq_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x65,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x66,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x67,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x6a,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x6b,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x6c,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x6d,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x6e,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x6f,0x04,0x02,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_eq_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x7b,0x04,0x02,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_eq_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x7c,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x7e,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_eq_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0xc1,0x04,0x02,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_eq_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0xf0,0x04,0x02,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_eq_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0xf7,0x04,0x02,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_eq_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xff,0x03,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_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_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_eq_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xcb,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_eq_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xcd,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_eq_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xcf,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_eq_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xd5,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_eq_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xe1,0x01,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_eq_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xef,0x01,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_eq_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x20
-# 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_eq_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x40
-# 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_eq_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x60
-# 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_eq_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x42,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x86,0x7c]
+0x01,0x05,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x86,0x7c]
+0xff,0x05,0x86,0x7c
# CHECK: v_cmp_le_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x86,0x7c]
0x01,0x04,0x86,0x7c
@@ -49827,134 +58974,170 @@
# CHECK: v_cmp_le_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x86,0x7c]
0xf7,0x04,0x86,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x86,0x7c]
-0xfd,0x04,0x86,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_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_le_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x86,0x7c]
-0x01,0x05,0x86,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x87,0x7c]
+0x01,0xff,0x87,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x86,0x7c]
-0xff,0x05,0x86,0x7c
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x87,0x7c]
-0x01,0xfe,0x87,0x7c
+# CHECK: v_cmp_le_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
-# 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_le_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
-# 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_le_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
-# 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_le_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
-# 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_le_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
-# 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_le_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
-# 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_le_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x43,0xd0,0x01,0x05,0x02,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_le_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0xff,0x05,0x02,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_le_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0x04,0x02,0x00
-# 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_le_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x65,0x04,0x02,0x00
-# 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_le_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x66,0x04,0x02,0x00
-# 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_le_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x67,0x04,0x02,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_le_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x6b,0x04,0x02,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_le_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x6c,0x04,0x02,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_le_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x6d,0x04,0x02,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_le_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x6e,0x04,0x02,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_le_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x6f,0x04,0x02,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_le_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x7b,0x04,0x02,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_le_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x7c,0x04,0x02,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_le_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x7e,0x04,0x02,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_le_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x7f,0x04,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_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_le_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0xc1,0x04,0x02,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_le_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0xf0,0x04,0x02,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_le_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0xf7,0x04,0x02,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_le_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xff,0x03,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_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_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_le_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xcb,0x00,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_le_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xcd,0x00,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_le_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xcf,0x00,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_le_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xd5,0x00,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_le_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xd7,0x00,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_le_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xd9,0x00,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_le_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xdb,0x00,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_le_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xdd,0x00,0x00
-# 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_le_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xdf,0x00,0x00
-# 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_le_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xf7,0x00,0x00
-# 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_le_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xf9,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_le_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x43,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x88,0x7c]
+0x01,0x05,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x88,0x7c]
+0xff,0x05,0x88,0x7c
# CHECK: v_cmp_gt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x88,0x7c]
0x01,0x04,0x88,0x7c
@@ -50010,134 +59193,170 @@
# CHECK: v_cmp_gt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x88,0x7c]
0xf7,0x04,0x88,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x88,0x7c]
-0xfd,0x04,0x88,0x7c
-
# 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_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_gt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x88,0x7c]
-0x01,0x05,0x88,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x89,0x7c]
+0x01,0xff,0x89,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x88,0x7c]
-0xff,0x05,0x88,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_gt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x89,0x7c]
-0x01,0xfe,0x89,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x44,0xd0,0x01,0x05,0x02,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_gt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x44,0xd0,0x01,0x05,0x02,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_gt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x44,0xd0,0x01,0x05,0x02,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_gt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x44,0xd0,0x01,0x05,0x02,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_gt_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x44,0xd0,0x01,0x05,0x02,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_gt_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x44,0xd0,0x01,0x05,0x02,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_gt_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x44,0xd0,0x01,0x05,0x02,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_gt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0xff,0x05,0x02,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_gt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0x04,0x02,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_gt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x65,0x04,0x02,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_gt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x66,0x04,0x02,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_gt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x67,0x04,0x02,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_gt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x6a,0x04,0x02,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_gt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x6b,0x04,0x02,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_gt_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x6c,0x04,0x02,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_gt_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x6d,0x04,0x02,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_gt_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x6e,0x04,0x02,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_gt_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x6f,0x04,0x02,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_gt_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x7b,0x04,0x02,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_gt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x7c,0x04,0x02,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_gt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x7e,0x04,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_gt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x7f,0x04,0x02,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_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_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_gt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0xc1,0x04,0x02,0x00
-# 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_gt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0xf0,0x04,0x02,0x00
-# 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_gt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0xf7,0x04,0x02,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_gt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_gt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xcb,0x00,0x00
-# 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_gt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xcd,0x00,0x00
-# 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_gt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xcf,0x00,0x00
-# 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_gt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xd5,0x00,0x00
-# 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_gt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xf7,0x00,0x00
-# 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_gt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xf9,0x00,0x00
-# 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_gt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xfd,0x00,0x00
-# 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_gt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xff,0x00,0x00
-# 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_gt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0x01,0x01,0x00
-# 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_gt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x44,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8a,0x7c]
+0x01,0x05,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8a,0x7c]
+0xff,0x05,0x8a,0x7c
# CHECK: v_cmp_lg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8a,0x7c]
0x01,0x04,0x8a,0x7c
@@ -50193,134 +59412,170 @@
# CHECK: v_cmp_lg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8a,0x7c]
0xf7,0x04,0x8a,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8a,0x7c]
-0xfd,0x04,0x8a,0x7c
-
# 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_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_lg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8a,0x7c]
-0x01,0x05,0x8a,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8b,0x7c]
+0x01,0xff,0x8b,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8a,0x7c]
-0xff,0x05,0x8a,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_lg_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8b,0x7c]
-0x01,0xfe,0x8b,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x45,0xd0,0x01,0x05,0x02,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_lg_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x45,0xd0,0x01,0x05,0x02,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_lg_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x45,0xd0,0x01,0x05,0x02,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_lg_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x45,0xd0,0x01,0x05,0x02,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_lg_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x45,0xd0,0x01,0x05,0x02,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_lg_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x45,0xd0,0x01,0x05,0x02,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_lg_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x45,0xd0,0x01,0x05,0x02,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_lg_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0xff,0x05,0x02,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_lg_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0x04,0x02,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_lg_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x65,0x04,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_lg_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x66,0x04,0x02,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_lg_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x67,0x04,0x02,0x00
-# 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_lg_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x6a,0x04,0x02,0x00
-# 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_lg_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x6b,0x04,0x02,0x00
-# 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_lg_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x6c,0x04,0x02,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_cmp_lg_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_lg_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_lg_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_lg_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_lg_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_lg_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_lg_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_lg_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_lg_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_lg_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_lg_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_lg_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_lg_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_lg_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_lg_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_lg_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmp_lg_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmp_lg_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xff,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_cmp_lg_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0x01,0x01,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_cmp_lg_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0x83,0x01,0x00
-# 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_cmp_lg_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x45,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8c,0x7c]
+0x01,0x05,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8c,0x7c]
+0xff,0x05,0x8c,0x7c
# CHECK: v_cmp_ge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8c,0x7c]
0x01,0x04,0x8c,0x7c
@@ -50376,134 +59631,170 @@
# CHECK: v_cmp_ge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8c,0x7c]
0xf7,0x04,0x8c,0x7c
-# CHECK: v_cmp_ge_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8c,0x7c]
-0xfd,0x04,0x8c,0x7c
-
# 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_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_cmp_ge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8c,0x7c]
-0x01,0x05,0x8c,0x7c
+# CHECK: v_cmp_ge_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8d,0x7c]
+0x01,0xff,0x8d,0x7c
-# CHECK: v_cmp_ge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8c,0x7c]
-0xff,0x05,0x8c,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8d,0x7c]
-0x01,0xfe,0x8d,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x46,0xd0,0x01,0x05,0x02,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_cmp_ge_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_ge_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_ge_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xff,0x03,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_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_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_cmp_ge_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_ge_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_ge_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_ge_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xd5,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_cmp_ge_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xd7,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_cmp_ge_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xd9,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_cmp_ge_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xdb,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_cmp_ge_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xff,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_cmp_ge_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0x01,0x01,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_cmp_ge_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0x83,0x01,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_cmp_ge_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xe1,0x01,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_cmp_ge_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xef,0x01,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_cmp_ge_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x46,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8e,0x7c]
+0x01,0x05,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8e,0x7c]
+0xff,0x05,0x8e,0x7c
# CHECK: v_cmp_o_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8e,0x7c]
0x01,0x04,0x8e,0x7c
@@ -50559,134 +59850,170 @@
# CHECK: v_cmp_o_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8e,0x7c]
0xf7,0x04,0x8e,0x7c
-# CHECK: v_cmp_o_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8e,0x7c]
-0xfd,0x04,0x8e,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_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_cmp_o_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8e,0x7c]
-0x01,0x05,0x8e,0x7c
+# CHECK: v_cmp_o_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8f,0x7c]
+0x01,0xff,0x8f,0x7c
-# CHECK: v_cmp_o_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8e,0x7c]
-0xff,0x05,0x8e,0x7c
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8f,0x7c]
-0x01,0xfe,0x8f,0x7c
+# CHECK: v_cmp_o_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_o_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_o_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_o_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_o_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_o_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_o_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_o_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_o_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_o_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_o_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_o_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_o_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x6a,0x04,0x02,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_cmp_o_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x6b,0x04,0x02,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_cmp_o_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_o_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_o_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_o_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x6f,0x04,0x02,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_cmp_o_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x7b,0x04,0x02,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_cmp_o_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x7c,0x04,0x02,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_cmp_o_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x7e,0x04,0x02,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_cmp_o_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x7f,0x04,0x02,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_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_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_cmp_o_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0xc1,0x04,0x02,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_cmp_o_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0xf0,0x04,0x02,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_cmp_o_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0xf7,0x04,0x02,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_cmp_o_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xff,0x03,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_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_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_cmp_o_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xcb,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_cmp_o_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xcd,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_cmp_o_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xcf,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_cmp_o_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xd5,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_cmp_o_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0x83,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_cmp_o_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xe1,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_cmp_o_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xef,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_cmp_o_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_o_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_o_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x47,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x90,0x7c]
+0x01,0x05,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x90,0x7c]
+0xff,0x05,0x90,0x7c
# CHECK: v_cmp_u_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x90,0x7c]
0x01,0x04,0x90,0x7c
@@ -50742,134 +60069,170 @@
# CHECK: v_cmp_u_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x90,0x7c]
0xf7,0x04,0x90,0x7c
-# CHECK: v_cmp_u_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x90,0x7c]
-0xfd,0x04,0x90,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_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_cmp_u_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x90,0x7c]
-0x01,0x05,0x90,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x91,0x7c]
+0x01,0xff,0x91,0x7c
-# CHECK: v_cmp_u_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x90,0x7c]
-0xff,0x05,0x90,0x7c
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x91,0x7c]
-0x01,0xfe,0x91,0x7c
+# CHECK: v_cmp_u_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x48,0xd0,0x01,0x05,0x02,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_cmp_u_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x48,0xd0,0x01,0x05,0x02,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_cmp_u_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x48,0xd0,0x01,0x05,0x02,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_cmp_u_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0xff,0x05,0x02,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_cmp_u_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0x04,0x02,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_cmp_u_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x65,0x04,0x02,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_cmp_u_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x66,0x04,0x02,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_cmp_u_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x67,0x04,0x02,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_cmp_u_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x6a,0x04,0x02,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_cmp_u_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x6b,0x04,0x02,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_cmp_u_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x6c,0x04,0x02,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_cmp_u_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x6d,0x04,0x02,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_cmp_u_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x6e,0x04,0x02,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_cmp_u_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x6f,0x04,0x02,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_cmp_u_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x7b,0x04,0x02,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_cmp_u_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x7c,0x04,0x02,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_cmp_u_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x7e,0x04,0x02,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_cmp_u_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x7f,0x04,0x02,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_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_cmp_u_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0xc1,0x04,0x02,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_cmp_u_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0xf0,0x04,0x02,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_cmp_u_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0xf7,0x04,0x02,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_cmp_u_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xff,0x03,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_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_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_cmp_u_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xcb,0x00,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_cmp_u_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_u_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_u_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_u_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xd7,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_cmp_u_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_u_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmp_u_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmp_u_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_u_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_u_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x48,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x92,0x7c]
+0x01,0x05,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x92,0x7c]
+0xff,0x05,0x92,0x7c
# CHECK: v_cmp_nge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x92,0x7c]
0x01,0x04,0x92,0x7c
@@ -50925,134 +60288,170 @@
# CHECK: v_cmp_nge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x92,0x7c]
0xf7,0x04,0x92,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x92,0x7c]
-0xfd,0x04,0x92,0x7c
-
# 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_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_cmp_nge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x92,0x7c]
-0x01,0x05,0x92,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x93,0x7c]
+0x01,0xff,0x93,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x92,0x7c]
-0xff,0x05,0x92,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_nge_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x93,0x7c]
-0x01,0xfe,0x93,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x49,0xd0,0x01,0x05,0x02,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_cmp_nge_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x49,0xd0,0x01,0x05,0x02,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_cmp_nge_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x49,0xd0,0x01,0x05,0x02,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_cmp_nge_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x49,0xd0,0x01,0x05,0x02,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_cmp_nge_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x49,0xd0,0x01,0x05,0x02,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_cmp_nge_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x49,0xd0,0x01,0x05,0x02,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_cmp_nge_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x49,0xd0,0x01,0x05,0x02,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_cmp_nge_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0xff,0x05,0x02,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_cmp_nge_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0x04,0x02,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_cmp_nge_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x65,0x04,0x02,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_cmp_nge_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x66,0x04,0x02,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_cmp_nge_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x67,0x04,0x02,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_cmp_nge_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x6a,0x04,0x02,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_cmp_nge_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x6b,0x04,0x02,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_cmp_nge_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x6c,0x04,0x02,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_cmp_nge_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x6d,0x04,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_cmp_nge_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x6e,0x04,0x02,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_cmp_nge_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_nge_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_nge_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_nge_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x7e,0x04,0x02,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_cmp_nge_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_nge_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_nge_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_nge_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_nge_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmp_nge_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x49,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x94,0x7c]
+0x01,0x05,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x94,0x7c]
+0xff,0x05,0x94,0x7c
# CHECK: v_cmp_nlg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x94,0x7c]
0x01,0x04,0x94,0x7c
@@ -51108,134 +60507,170 @@
# CHECK: v_cmp_nlg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x94,0x7c]
0xf7,0x04,0x94,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x94,0x7c]
-0xfd,0x04,0x94,0x7c
-
# 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_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_cmp_nlg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x94,0x7c]
-0x01,0x05,0x94,0x7c
+# CHECK: v_cmp_nlg_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x95,0x7c]
+0x01,0xff,0x95,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x94,0x7c]
-0xff,0x05,0x94,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_nlg_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x95,0x7c]
-0x01,0xfe,0x95,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4a,0xd0,0x01,0x05,0x02,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_cmp_nlg_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4a,0xd0,0x01,0x05,0x02,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_cmp_nlg_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4a,0xd0,0x01,0x05,0x02,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_cmp_nlg_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4a,0xd0,0x01,0x05,0x02,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_cmp_nlg_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x4a,0xd0,0x01,0x05,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_cmp_nlg_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x4a,0xd0,0x01,0x05,0x02,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_cmp_nlg_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x65,0x04,0x02,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_cmp_nlg_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_nlg_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_nlg_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xcd,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_cmp_nlg_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xcf,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_cmp_nlg_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmp_nlg_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xfd,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_cmp_nlg_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xff,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_cmp_nlg_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0x01,0x01,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_cmp_nlg_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x96,0x7c]
+0x01,0x05,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x96,0x7c]
+0xff,0x05,0x96,0x7c
# CHECK: v_cmp_ngt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x96,0x7c]
0x01,0x04,0x96,0x7c
@@ -51291,134 +60726,170 @@
# CHECK: v_cmp_ngt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x96,0x7c]
0xf7,0x04,0x96,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x96,0x7c]
-0xfd,0x04,0x96,0x7c
-
# 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_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_cmp_ngt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x96,0x7c]
-0x01,0x05,0x96,0x7c
+# CHECK: v_cmp_ngt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x97,0x7c]
+0x01,0xff,0x97,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x96,0x7c]
-0xff,0x05,0x96,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x97,0x7c]
-0x01,0xfe,0x97,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ngt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ngt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ngt_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ngt_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ngt_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x7b,0x04,0x02,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_cmp_ngt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x7c,0x04,0x02,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_cmp_ngt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_ngt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_ngt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0xc1,0x04,0x02,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_cmp_ngt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0xf0,0x04,0x02,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_cmp_ngt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0xf7,0x04,0x02,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_cmp_ngt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xff,0x03,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_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_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_cmp_ngt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xcb,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_cmp_ngt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xcd,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_cmp_ngt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xcf,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_cmp_ngt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xd5,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_cmp_ngt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xff,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_cmp_ngt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0x01,0x01,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_cmp_ngt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0x83,0x01,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_cmp_ngt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xe1,0x01,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_cmp_ngt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xef,0x01,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_cmp_ngt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x98,0x7c]
+0x01,0x05,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x98,0x7c]
+0xff,0x05,0x98,0x7c
# CHECK: v_cmp_nle_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x98,0x7c]
0x01,0x04,0x98,0x7c
@@ -51474,134 +60945,170 @@
# CHECK: v_cmp_nle_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x98,0x7c]
0xf7,0x04,0x98,0x7c
-# CHECK: v_cmp_nle_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x98,0x7c]
-0xfd,0x04,0x98,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_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_cmp_nle_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x98,0x7c]
-0x01,0x05,0x98,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x99,0x7c]
+0x01,0xff,0x99,0x7c
-# CHECK: v_cmp_nle_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x98,0x7c]
-0xff,0x05,0x98,0x7c
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x99,0x7c]
-0x01,0xfe,0x99,0x7c
+# CHECK: v_cmp_nle_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nle_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nle_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nle_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nle_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nle_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nle_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nle_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0xff,0x05,0x02,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_cmp_nle_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_nle_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_nle_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_nle_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x6a,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x6b,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x6c,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x6d,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x6e,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x6f,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x7b,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x7c,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x7e,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x7f,0x04,0x02,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_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_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_cmp_nle_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xff,0x03,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_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_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_cmp_nle_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xcb,0x00,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_cmp_nle_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xcd,0x00,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_cmp_nle_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xcf,0x00,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_cmp_nle_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xd5,0x00,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_cmp_nle_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0x83,0x01,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_cmp_nle_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xe1,0x01,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_cmp_nle_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_nle_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_nle_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_nle_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9a,0x7c]
+0x01,0x05,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9a,0x7c]
+0xff,0x05,0x9a,0x7c
# CHECK: v_cmp_neq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9a,0x7c]
0x01,0x04,0x9a,0x7c
@@ -51657,134 +61164,170 @@
# CHECK: v_cmp_neq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9a,0x7c]
0xf7,0x04,0x9a,0x7c
-# CHECK: v_cmp_neq_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9a,0x7c]
-0xfd,0x04,0x9a,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_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_cmp_neq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9a,0x7c]
-0x01,0x05,0x9a,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9b,0x7c]
+0x01,0xff,0x9b,0x7c
-# CHECK: v_cmp_neq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9a,0x7c]
-0xff,0x05,0x9a,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9b,0x7c]
-0x01,0xfe,0x9b,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_neq_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4d,0xd0,0x01,0x05,0x02,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_cmp_neq_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4d,0xd0,0x01,0x05,0x02,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_cmp_neq_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4d,0xd0,0x01,0x05,0x02,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_cmp_neq_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x4d,0xd0,0x01,0x05,0x02,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_cmp_neq_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x4d,0xd0,0x01,0x05,0x02,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_cmp_neq_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x4d,0xd0,0x01,0x05,0x02,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_cmp_neq_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0xff,0x05,0x02,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_cmp_neq_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x65,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x66,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x67,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x6a,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x6b,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x6c,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x6d,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x6e,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x6f,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x7b,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x7c,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x7e,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_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_cmp_neq_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0xc1,0x04,0x02,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_cmp_neq_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_neq_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_neq_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_neq_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9c,0x7c]
+0x01,0x05,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9c,0x7c]
+0xff,0x05,0x9c,0x7c
# CHECK: v_cmp_nlt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9c,0x7c]
0x01,0x04,0x9c,0x7c
@@ -51840,134 +61383,170 @@
# CHECK: v_cmp_nlt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9c,0x7c]
0xf7,0x04,0x9c,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9c,0x7c]
-0xfd,0x04,0x9c,0x7c
-
# 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_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_cmp_nlt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9c,0x7c]
-0x01,0x05,0x9c,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9d,0x7c]
+0x01,0xff,0x9d,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9c,0x7c]
-0xff,0x05,0x9c,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9d,0x7c]
-0x01,0xfe,0x9d,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4e,0xd0,0x01,0x05,0x02,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_cmp_nlt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4e,0xd0,0x01,0x05,0x02,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_cmp_nlt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4e,0xd0,0x01,0x05,0x02,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_cmp_nlt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4e,0xd0,0x01,0x05,0x02,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_cmp_nlt_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x4e,0xd0,0x01,0x05,0x02,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_cmp_nlt_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x4e,0xd0,0x01,0x05,0x02,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_cmp_nlt_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x4e,0xd0,0x01,0x05,0x02,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_cmp_nlt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0xff,0x05,0x02,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_cmp_nlt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0x04,0x02,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_cmp_nlt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x65,0x04,0x02,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_cmp_nlt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x66,0x04,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_cmp_nlt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x67,0x04,0x02,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_cmp_nlt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x6d,0x04,0x02,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_cmp_nlt_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_nlt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_nlt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmp_nlt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xf9,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_cmp_nlt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xfd,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_cmp_nlt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9e,0x7c]
+0x01,0x05,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9e,0x7c]
+0xff,0x05,0x9e,0x7c
# CHECK: v_cmp_tru_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9e,0x7c]
0x01,0x04,0x9e,0x7c
@@ -52023,134 +61602,170 @@
# CHECK: v_cmp_tru_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9e,0x7c]
0xf7,0x04,0x9e,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9e,0x7c]
-0xfd,0x04,0x9e,0x7c
-
# 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_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_cmp_tru_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9e,0x7c]
-0x01,0x05,0x9e,0x7c
+# CHECK: v_cmp_tru_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9f,0x7c]
+0x01,0xff,0x9f,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9e,0x7c]
-0xff,0x05,0x9e,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_tru_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9f,0x7c]
-0x01,0xfe,0x9f,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4f,0xd0,0x01,0x05,0x02,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_cmp_tru_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x4f,0xd0,0x01,0x05,0x02,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_cmp_tru_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_tru_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_tru_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0xf0,0x04,0x02,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_cmp_tru_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0xf7,0x04,0x02,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_cmp_tru_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_tru_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_tru_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xcd,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_cmp_tru_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xcf,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_cmp_tru_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xd5,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_cmp_tru_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xf7,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_cmp_tru_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xf9,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_cmp_tru_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xfd,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_cmp_tru_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xff,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_cmp_tru_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0x01,0x01,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_cmp_tru_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa0,0x7c]
+0x01,0x05,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa0,0x7c]
+0xff,0x05,0xa0,0x7c
# CHECK: v_cmpx_f_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa0,0x7c]
0x01,0x04,0xa0,0x7c
@@ -52206,134 +61821,170 @@
# CHECK: v_cmpx_f_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa0,0x7c]
0xf7,0x04,0xa0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa0,0x7c]
-0xfd,0x04,0xa0,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_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_f_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa0,0x7c]
-0x01,0x05,0xa0,0x7c
+# CHECK: v_cmpx_f_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa1,0x7c]
+0x01,0xff,0xa1,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa0,0x7c]
-0xff,0x05,0xa0,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_f_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa1,0x7c]
-0x01,0xfe,0xa1,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0xff,0x05,0x02,0x00
-# 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_f_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x65,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x66,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x67,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x6a,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x6b,0x04,0x02,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_f_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x6c,0x04,0x02,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_f_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x6d,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x6e,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x6f,0x04,0x02,0x00
-# 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_f_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x7b,0x04,0x02,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_f_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x7c,0x04,0x02,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_f_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x7e,0x04,0x02,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_f_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x7f,0x04,0x02,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_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_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_f_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0xc1,0x04,0x02,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_f_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0xf0,0x04,0x02,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_f_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0xf7,0x04,0x02,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_f_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xff,0x03,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_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_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_f_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xcb,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_f_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xcd,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_f_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xcf,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_f_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xd5,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_f_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xfd,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_f_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xff,0x00,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_f_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0x01,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_f_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0x83,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_f_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xe1,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_f_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x50,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa2,0x7c]
+0x01,0x05,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa2,0x7c]
+0xff,0x05,0xa2,0x7c
# CHECK: v_cmpx_lt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa2,0x7c]
0x01,0x04,0xa2,0x7c
@@ -52389,134 +62040,170 @@
# CHECK: v_cmpx_lt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa2,0x7c]
0xf7,0x04,0xa2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa2,0x7c]
-0xfd,0x04,0xa2,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_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_lt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa2,0x7c]
-0x01,0x05,0xa2,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa3,0x7c]
+0x01,0xff,0xa3,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa2,0x7c]
-0xff,0x05,0xa2,0x7c
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_lt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa3,0x7c]
-0x01,0xfe,0xa3,0x7c
+# CHECK: v_cmpx_lt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x51,0xd0,0x01,0x05,0x02,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_lt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x51,0xd0,0x01,0x05,0x02,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_lt_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0xff,0x05,0x02,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_lt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0x04,0x02,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_lt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x65,0x04,0x02,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_lt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x66,0x04,0x02,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_lt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x67,0x04,0x02,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_lt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x6a,0x04,0x02,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_lt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x6b,0x04,0x02,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_lt_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x6c,0x04,0x02,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_lt_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x6d,0x04,0x02,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_lt_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x6e,0x04,0x02,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_lt_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x6f,0x04,0x02,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_lt_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x7b,0x04,0x02,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_lt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x7c,0x04,0x02,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_lt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x7e,0x04,0x02,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_lt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x7f,0x04,0x02,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_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_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_lt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0xc1,0x04,0x02,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_lt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0xf0,0x04,0x02,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_lt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0xf7,0x04,0x02,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_lt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xff,0x03,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_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_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_lt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xcb,0x00,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_lt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xcd,0x00,0x00
-# 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_lt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xcf,0x00,0x00
-# 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_lt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xd5,0x00,0x00
-# 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_lt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xff,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_lt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0x01,0x01,0x00
-# 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_lt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0x83,0x01,0x00
-# 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_lt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xe1,0x01,0x00
-# 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_lt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xef,0x01,0x00
-# 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_lt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x51,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa4,0x7c]
+0x01,0x05,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa4,0x7c]
+0xff,0x05,0xa4,0x7c
# CHECK: v_cmpx_eq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa4,0x7c]
0x01,0x04,0xa4,0x7c
@@ -52572,134 +62259,170 @@
# CHECK: v_cmpx_eq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa4,0x7c]
0xf7,0x04,0xa4,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa4,0x7c]
-0xfd,0x04,0xa4,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_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_eq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa4,0x7c]
-0x01,0x05,0xa4,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa5,0x7c]
+0x01,0xff,0xa5,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa4,0x7c]
-0xff,0x05,0xa4,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa5,0x7c]
-0x01,0xfe,0xa5,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x52,0xd0,0x01,0x05,0x02,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_eq_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x52,0xd0,0x01,0x05,0x02,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_eq_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x52,0xd0,0x01,0x05,0x02,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_eq_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x52,0xd0,0x01,0x05,0x02,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_eq_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x52,0xd0,0x01,0x05,0x02,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_eq_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x52,0xd0,0x01,0x05,0x02,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_eq_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x52,0xd0,0x01,0x05,0x02,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_eq_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0xff,0x05,0x02,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_eq_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0x04,0x02,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_eq_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x65,0x04,0x02,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_eq_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x66,0x04,0x02,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_eq_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x67,0x04,0x02,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_eq_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x6a,0x04,0x02,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_eq_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x6b,0x04,0x02,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_eq_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x6c,0x04,0x02,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_eq_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x6d,0x04,0x02,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_eq_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x6e,0x04,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_eq_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x6f,0x04,0x02,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_eq_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x7b,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x7c,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x7e,0x04,0x02,0x00
-# 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_eq_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_eq_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_eq_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmpx_eq_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x52,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa6,0x7c]
+0x01,0x05,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa6,0x7c]
+0xff,0x05,0xa6,0x7c
# CHECK: v_cmpx_le_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa6,0x7c]
0x01,0x04,0xa6,0x7c
@@ -52755,134 +62478,170 @@
# CHECK: v_cmpx_le_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa6,0x7c]
0xf7,0x04,0xa6,0x7c
-# CHECK: v_cmpx_le_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa6,0x7c]
-0xfd,0x04,0xa6,0x7c
-
# 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_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_cmpx_le_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa6,0x7c]
-0x01,0x05,0xa6,0x7c
+# CHECK: v_cmpx_le_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa7,0x7c]
+0x01,0xff,0xa7,0x7c
-# CHECK: v_cmpx_le_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa6,0x7c]
-0xff,0x05,0xa6,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa7,0x7c]
-0x01,0xfe,0xa7,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x53,0xd0,0x01,0x05,0x02,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_cmpx_le_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x53,0xd0,0x01,0x05,0x02,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_cmpx_le_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x53,0xd0,0x01,0x05,0x02,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_cmpx_le_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x53,0xd0,0x01,0x05,0x02,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_cmpx_le_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x53,0xd0,0x01,0x05,0x02,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_cmpx_le_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x53,0xd0,0x01,0x05,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_cmpx_le_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x53,0xd0,0x01,0x05,0x02,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_cmpx_le_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x66,0x04,0x02,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_cmpx_le_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_le_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_le_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_le_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_le_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_le_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_le_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_le_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_le_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_le_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_le_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x60
-# 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_cmpx_le_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x53,0xd0,0x01,0x05,0x02,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_cmpx_gt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa8,0x7c]
+0x01,0x05,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa8,0x7c]
+0xff,0x05,0xa8,0x7c
# CHECK: v_cmpx_gt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa8,0x7c]
0x01,0x04,0xa8,0x7c
@@ -52938,134 +62697,170 @@
# CHECK: v_cmpx_gt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa8,0x7c]
0xf7,0x04,0xa8,0x7c
-# CHECK: v_cmpx_gt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa8,0x7c]
-0xfd,0x04,0xa8,0x7c
-
# 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_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_cmpx_gt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa8,0x7c]
-0x01,0x05,0xa8,0x7c
+# CHECK: v_cmpx_gt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa9,0x7c]
+0x01,0xff,0xa9,0x7c
-# CHECK: v_cmpx_gt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa8,0x7c]
-0xff,0x05,0xa8,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa9,0x7c]
-0x01,0xfe,0xa9,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x7f,0x04,0x02,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_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_cmpx_gt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_gt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_gt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xcb,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_cmpx_gt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xcd,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_cmpx_gt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xcf,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_cmpx_gt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xd5,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_cmpx_gt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xd7,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_cmpx_gt_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xd9,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_cmpx_gt_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xdb,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_cmpx_gt_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xdd,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_cmpx_gt_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xdf,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_cmpx_gt_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xf7,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_cmpx_gt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xf9,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_cmpx_gt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xfd,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_cmpx_gt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x54,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xaa,0x7c]
+0x01,0x05,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xaa,0x7c]
+0xff,0x05,0xaa,0x7c
# CHECK: v_cmpx_lg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xaa,0x7c]
0x01,0x04,0xaa,0x7c
@@ -53121,134 +62916,170 @@
# CHECK: v_cmpx_lg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xaa,0x7c]
0xf7,0x04,0xaa,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xaa,0x7c]
-0xfd,0x04,0xaa,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_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_cmpx_lg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xaa,0x7c]
-0x01,0x05,0xaa,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xab,0x7c]
+0x01,0xff,0xab,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xaa,0x7c]
-0xff,0x05,0xaa,0x7c
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_lg_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xab,0x7c]
-0x01,0xfe,0xab,0x7c
+# CHECK: v_cmpx_lg_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lg_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lg_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lg_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lg_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lg_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lg_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lg_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_lg_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_lg_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_lg_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_lg_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_lg_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_lg_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x6b,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x6c,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x6d,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x6e,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x6f,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x7b,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x7c,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x7e,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x7f,0x04,0x02,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_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_cmpx_lg_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0xc1,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0xf0,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0xf7,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xff,0x03,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_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_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_cmpx_lg_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xcb,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_cmpx_lg_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xcd,0x00,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_cmpx_lg_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xcf,0x00,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_cmpx_lg_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xd5,0x00,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_cmpx_lg_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xd7,0x00,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_cmpx_lg_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xf9,0x00,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_cmpx_lg_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xfd,0x00,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_cmpx_lg_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xff,0x00,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_cmpx_lg_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_lg_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_lg_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x55,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xac,0x7c]
+0x01,0x05,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xac,0x7c]
+0xff,0x05,0xac,0x7c
# CHECK: v_cmpx_ge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xac,0x7c]
0x01,0x04,0xac,0x7c
@@ -53304,134 +63135,170 @@
# CHECK: v_cmpx_ge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xac,0x7c]
0xf7,0x04,0xac,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xac,0x7c]
-0xfd,0x04,0xac,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_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_cmpx_ge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xac,0x7c]
-0x01,0x05,0xac,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xad,0x7c]
+0x01,0xff,0xad,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xac,0x7c]
-0xff,0x05,0xac,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ge_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xad,0x7c]
-0x01,0xfe,0xad,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_ge_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x56,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_ge_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x56,0xd0,0x01,0x05,0x02,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_cmpx_ge_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x56,0xd0,0x01,0x05,0x02,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_cmpx_ge_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x56,0xd0,0x01,0x05,0x02,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_cmpx_ge_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x56,0xd0,0x01,0x05,0x02,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_cmpx_ge_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x56,0xd0,0x01,0x05,0x02,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_cmpx_ge_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0xff,0x05,0x02,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_cmpx_ge_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x65,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x66,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x67,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x6d,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x6e,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x6f,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x7b,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x7c,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x7e,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_ge_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0xc1,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0xf0,0x04,0x02,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_cmpx_ge_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0xf7,0x04,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_cmpx_ge_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xff,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_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_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_cmpx_ge_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xcf,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_cmpx_ge_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xff,0x00,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_ge_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x56,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xae,0x7c]
+0x01,0x05,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xae,0x7c]
+0xff,0x05,0xae,0x7c
# CHECK: v_cmpx_o_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xae,0x7c]
0x01,0x04,0xae,0x7c
@@ -53487,134 +63354,170 @@
# CHECK: v_cmpx_o_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xae,0x7c]
0xf7,0x04,0xae,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xae,0x7c]
-0xfd,0x04,0xae,0x7c
-
# 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_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_cmpx_o_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xae,0x7c]
-0x01,0x05,0xae,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xaf,0x7c]
+0x01,0xff,0xaf,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xae,0x7c]
-0xff,0x05,0xae,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xaf,0x7c]
-0x01,0xfe,0xaf,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x57,0xd0,0x01,0x05,0x02,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_cmpx_o_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x57,0xd0,0x01,0x05,0x02,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_cmpx_o_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x57,0xd0,0x01,0x05,0x02,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_cmpx_o_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x57,0xd0,0x01,0x05,0x02,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_cmpx_o_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x57,0xd0,0x01,0x05,0x02,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_cmpx_o_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x57,0xd0,0x01,0x05,0x02,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_cmpx_o_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x57,0xd0,0x01,0x05,0x02,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_cmpx_o_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0xff,0x05,0x02,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_cmpx_o_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0x04,0x02,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_cmpx_o_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x65,0x04,0x02,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_cmpx_o_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x66,0x04,0x02,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_cmpx_o_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x67,0x04,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_cmpx_o_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x6a,0x04,0x02,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_cmpx_o_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x6e,0x04,0x02,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_cmpx_o_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_o_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_o_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_o_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_o_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_o_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_o_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_o_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_o_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_o_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_o_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_o_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_o_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x57,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb0,0x7c]
+0x01,0x05,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb0,0x7c]
+0xff,0x05,0xb0,0x7c
# CHECK: v_cmpx_u_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb0,0x7c]
0x01,0x04,0xb0,0x7c
@@ -53670,134 +63573,170 @@
# CHECK: v_cmpx_u_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb0,0x7c]
0xf7,0x04,0xb0,0x7c
-# CHECK: v_cmpx_u_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb0,0x7c]
-0xfd,0x04,0xb0,0x7c
-
# 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_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_cmpx_u_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb0,0x7c]
-0x01,0x05,0xb0,0x7c
+# CHECK: v_cmpx_u_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb1,0x7c]
+0x01,0xff,0xb1,0x7c
-# CHECK: v_cmpx_u_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb0,0x7c]
-0xff,0x05,0xb0,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb1,0x7c]
-0x01,0xfe,0xb1,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x58,0xd0,0x01,0x05,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_cmpx_u_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x58,0xd0,0x01,0x05,0x02,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_cmpx_u_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_u_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_u_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_u_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x58,0xd0,0x01,0x05,0x02,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_cmpx_u_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_u_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_u_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_u_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_u_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_u_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xcf,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_cmpx_u_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xd5,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_cmpx_u_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xdb,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_cmpx_u_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xdd,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_cmpx_u_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xdf,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_cmpx_u_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xf7,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_cmpx_u_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xf9,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_cmpx_u_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x58,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb2,0x7c]
+0x01,0x05,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb2,0x7c]
+0xff,0x05,0xb2,0x7c
# CHECK: v_cmpx_nge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb2,0x7c]
0x01,0x04,0xb2,0x7c
@@ -53853,134 +63792,170 @@
# CHECK: v_cmpx_nge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb2,0x7c]
0xf7,0x04,0xb2,0x7c
-# CHECK: v_cmpx_nge_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb2,0x7c]
-0xfd,0x04,0xb2,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_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_cmpx_nge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb2,0x7c]
-0x01,0x05,0xb2,0x7c
+# CHECK: v_cmpx_nge_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb3,0x7c]
+0x01,0xff,0xb3,0x7c
-# CHECK: v_cmpx_nge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb2,0x7c]
-0xff,0x05,0xb2,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb3,0x7c]
-0x01,0xfe,0xb3,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_nge_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x7f,0x04,0x02,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_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_cmpx_nge_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0xc1,0x04,0x02,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_cmpx_nge_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0xf0,0x04,0x02,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_cmpx_nge_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0xf7,0x04,0x02,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_cmpx_nge_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xff,0x03,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_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_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_cmpx_nge_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xcb,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_cmpx_nge_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xcd,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_cmpx_nge_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xcf,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_cmpx_nge_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xd5,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_cmpx_nge_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xd7,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_cmpx_nge_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xd9,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_cmpx_nge_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xdb,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_cmpx_nge_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xdd,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_cmpx_nge_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xdf,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_cmpx_nge_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xf7,0x00,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_cmpx_nge_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xf9,0x00,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_cmpx_nge_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xfd,0x00,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_cmpx_nge_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x59,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb4,0x7c]
+0x01,0x05,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb4,0x7c]
+0xff,0x05,0xb4,0x7c
# CHECK: v_cmpx_nlg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb4,0x7c]
0x01,0x04,0xb4,0x7c
@@ -54036,134 +64011,170 @@
# CHECK: v_cmpx_nlg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb4,0x7c]
0xf7,0x04,0xb4,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb4,0x7c]
-0xfd,0x04,0xb4,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_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_cmpx_nlg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb4,0x7c]
-0x01,0x05,0xb4,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb5,0x7c]
+0x01,0xff,0xb5,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb4,0x7c]
-0xff,0x05,0xb4,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb5,0x7c]
-0x01,0xfe,0xb5,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlg_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_nlg_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x65,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x66,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x67,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x6a,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x6b,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x6c,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x6d,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x6e,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x6f,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x7b,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x7c,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x7e,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_nlg_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x02,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_cmpx_nlg_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xff,0x03,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_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_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_cmpx_nlg_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xcb,0x00,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_cmpx_nlg_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xcd,0x00,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_cmpx_nlg_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_nlg_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_nlg_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmpx_nlg_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xf9,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_cmpx_nlg_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmpx_nlg_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xff,0x00,0x00
-# 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_cmpx_nlg_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_nlg_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb6,0x7c]
+0x01,0x05,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb6,0x7c]
+0xff,0x05,0xb6,0x7c
# CHECK: v_cmpx_ngt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb6,0x7c]
0x01,0x04,0xb6,0x7c
@@ -54219,134 +64230,170 @@
# CHECK: v_cmpx_ngt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb6,0x7c]
0xf7,0x04,0xb6,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb6,0x7c]
-0xfd,0x04,0xb6,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_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_cmpx_ngt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb6,0x7c]
-0x01,0x05,0xb6,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb7,0x7c]
+0x01,0xff,0xb7,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb6,0x7c]
-0xff,0x05,0xb6,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ngt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb7,0x7c]
-0x01,0xfe,0xb7,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x5b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x5b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x5b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0xff,0x05,0x02,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_cmpx_ngt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x65,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x66,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x67,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x6a,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x6b,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x6c,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x6d,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x6e,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x6f,0x04,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_cmpx_ngt_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x7b,0x04,0x02,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_cmpx_ngt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_ngt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_ngt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xff,0x00,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_ngt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb8,0x7c]
+0x01,0x05,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb8,0x7c]
+0xff,0x05,0xb8,0x7c
# CHECK: v_cmpx_nle_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb8,0x7c]
0x01,0x04,0xb8,0x7c
@@ -54402,134 +64449,170 @@
# CHECK: v_cmpx_nle_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb8,0x7c]
0xf7,0x04,0xb8,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb8,0x7c]
-0xfd,0x04,0xb8,0x7c
-
# 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_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_cmpx_nle_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb8,0x7c]
-0x01,0x05,0xb8,0x7c
+# CHECK: v_cmpx_nle_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb9,0x7c]
+0x01,0xff,0xb9,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb8,0x7c]
-0xff,0x05,0xb8,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb9,0x7c]
-0x01,0xfe,0xb9,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x5c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x5c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x5c,0xd0,0x01,0x05,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_cmpx_nle_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0xff,0x05,0x02,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_cmpx_nle_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x67,0x04,0x02,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_cmpx_nle_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_nle_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_nle_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_nle_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_nle_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xba,0x7c]
+0x01,0x05,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xba,0x7c]
+0xff,0x05,0xba,0x7c
# CHECK: v_cmpx_neq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xba,0x7c]
0x01,0x04,0xba,0x7c
@@ -54585,134 +64668,170 @@
# CHECK: v_cmpx_neq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xba,0x7c]
0xf7,0x04,0xba,0x7c
-# CHECK: v_cmpx_neq_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xba,0x7c]
-0xfd,0x04,0xba,0x7c
-
# 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_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_cmpx_neq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xba,0x7c]
-0x01,0x05,0xba,0x7c
+# CHECK: v_cmpx_neq_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbb,0x7c]
+0x01,0xff,0xbb,0x7c
-# CHECK: v_cmpx_neq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xba,0x7c]
-0xff,0x05,0xba,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbb,0x7c]
-0x01,0xfe,0xbb,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5d,0xd0,0x01,0x05,0x02,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_cmpx_neq_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_neq_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_neq_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0xf7,0x04,0x02,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_cmpx_neq_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xff,0x03,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_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_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_cmpx_neq_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xcb,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_cmpx_neq_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xcd,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_cmpx_neq_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xcf,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_cmpx_neq_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xd5,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_cmpx_neq_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xe1,0x01,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_cmpx_neq_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xef,0x01,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_cmpx_neq_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_neq_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_neq_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x60
-# 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_cmpx_neq_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbc,0x7c]
+0x01,0x05,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbc,0x7c]
+0xff,0x05,0xbc,0x7c
# CHECK: v_cmpx_nlt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbc,0x7c]
0x01,0x04,0xbc,0x7c
@@ -54768,134 +64887,170 @@
# CHECK: v_cmpx_nlt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbc,0x7c]
0xf7,0x04,0xbc,0x7c
-# CHECK: v_cmpx_nlt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xbc,0x7c]
-0xfd,0x04,0xbc,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_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_cmpx_nlt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbc,0x7c]
-0x01,0x05,0xbc,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbd,0x7c]
+0x01,0xff,0xbd,0x7c
-# CHECK: v_cmpx_nlt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbc,0x7c]
-0xff,0x05,0xbc,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbd,0x7c]
-0x01,0xfe,0xbd,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_nlt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_nlt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_nlt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_nlt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_nlt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_nlt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_nlt_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_nlt_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x6d,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x6e,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x6f,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x7b,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x7c,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x7e,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x7f,0x04,0x02,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_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_cmpx_nlt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xff,0x03,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_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_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_cmpx_nlt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xcb,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_cmpx_nlt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xcd,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_cmpx_nlt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xcf,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_cmpx_nlt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xd5,0x00,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_cmpx_nlt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xd7,0x00,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_cmpx_nlt_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xd9,0x00,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_cmpx_nlt_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xdb,0x00,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_cmpx_nlt_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xdd,0x00,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_cmpx_nlt_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xdf,0x00,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_cmpx_nlt_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xf7,0x00,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_cmpx_nlt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmpx_nlt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbe,0x7c]
+0x01,0x05,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbe,0x7c]
+0xff,0x05,0xbe,0x7c
# CHECK: v_cmpx_tru_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbe,0x7c]
0x01,0x04,0xbe,0x7c
@@ -54951,134 +65106,170 @@
# CHECK: v_cmpx_tru_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbe,0x7c]
0xf7,0x04,0xbe,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xbe,0x7c]
-0xfd,0x04,0xbe,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_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_cmpx_tru_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbe,0x7c]
-0x01,0x05,0xbe,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbf,0x7c]
+0x01,0xff,0xbf,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbe,0x7c]
-0xff,0x05,0xbe,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbf,0x7c]
-0x01,0xfe,0xbf,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_tru_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_tru_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_tru_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x5f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x5f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x5f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0xff,0x05,0x02,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_cmpx_tru_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x65,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x66,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x67,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x6a,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x6b,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x6c,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x6d,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x6e,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x6f,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x7b,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x7c,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x7e,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_tru_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0xc1,0x04,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_cmpx_tru_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0xf0,0x04,0x02,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_cmpx_tru_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_tru_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_tru_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xcb,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_tru_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xcd,0x00,0x00
-# 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_tru_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xcf,0x00,0x00
-# 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_tru_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xd5,0x00,0x00
-# 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_tru_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xdf,0x00,0x00
-# 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_tru_f32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xf7,0x00,0x00
-# 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_tru_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xf9,0x00,0x00
-# 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_tru_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xfd,0x00,0x00
-# 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_tru_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5f,0xd0,0x01,0x05,0x02,0x00
+
+# 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_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_cmp_f_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc0,0x7c]
+0xfe,0x05,0xc0,0x7c
# CHECK: v_cmp_f_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc0,0x7c]
0x02,0x04,0xc0,0x7c
@@ -55125,86 +65316,134 @@
# 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_cmp_f_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc0,0x7c]
-0x01,0x05,0xc0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc1,0x7c]
+0x01,0xfd,0xc1,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc0,0x7c]
-0xfe,0x05,0xc0,0x7c
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x60,0xd0,0x01,0x05,0x02,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_cmp_f_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x60,0xd0,0x01,0x05,0x02,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_cmp_f_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x60,0xd0,0x01,0x05,0x02,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_cmp_f_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x60,0xd0,0x01,0x05,0x02,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_cmp_f_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0xfe,0x05,0x02,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_cmp_f_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x02,0x04,0x02,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_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_cmp_f_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x6c,0x04,0x02,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_cmp_f_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x6e,0x04,0x02,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_cmp_f_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x7a,0x04,0x02,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_cmp_f_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x7e,0x04,0x02,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_cmp_f_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x80,0x04,0x02,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_cmp_f_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0xc1,0x04,0x02,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_cmp_f_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0xf0,0x04,0x02,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_cmp_f_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xfd,0x03,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_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_cmp_f_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0x0d,0x00,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_cmp_f_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xc9,0x00,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_cmp_f_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xcd,0x00,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_cmp_f_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xd5,0x00,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_cmp_f_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xd9,0x00,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_cmp_f_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xfd,0x00,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_cmp_f_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0x01,0x01,0x00
-# 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_cmp_f_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0x83,0x01,0x00
-# 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_cmp_f_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_f_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xef,0x01,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_cmp_f_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc2,0x7c]
+0x01,0x05,0xc2,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_cmp_lt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc2,0x7c]
0x02,0x04,0xc2,0x7c
@@ -55251,86 +65490,134 @@
# 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_cmp_lt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc2,0x7c]
-0x01,0x05,0xc2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc3,0x7c]
+0x01,0xfd,0xc3,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_cmp_lt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0xfe,0x05,0x02,0x00
-# CHECK: v_cmp_lt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc3,0x7c]
-0x02,0xfc,0xc3,0x7c
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x02,0x04,0x02,0x00
-# 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_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_cmp_lt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x64,0x04,0x02,0x00
-# 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_cmp_lt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_lt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_lt_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_lt_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_lt_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x7a,0x04,0x02,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_cmp_lt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x7e,0x04,0x02,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_cmp_lt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x80,0x04,0x02,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_cmp_lt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0xc1,0x04,0x02,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_cmp_lt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0xf0,0x04,0x02,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_cmp_lt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0xf7,0x04,0x02,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_cmp_lt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xfd,0x03,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_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_cmp_lt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0x0d,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_cmp_lt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xc9,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_cmp_lt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xcd,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_cmp_lt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xd5,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_cmp_lt_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xd9,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_cmp_lt_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xef,0x01,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_cmp_lt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_lt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_lt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x60
-# 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_cmp_lt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x61,0xd0,0x01,0x05,0x02,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_cmp_eq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc4,0x7c]
+0x01,0x05,0xc4,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_cmp_eq_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc4,0x7c]
0x02,0x04,0xc4,0x7c
@@ -55377,86 +65664,134 @@
# 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_cmp_eq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc4,0x7c]
-0x01,0x05,0xc4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc5,0x7c]
+0x01,0xfd,0xc5,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_cmp_eq_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_eq_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc5,0x7c]
-0x02,0xfc,0xc5,0x7c
+# CHECK: v_cmp_eq_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0xfe,0x05,0x02,0x00
-# 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_cmp_eq_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x02,0x04,0x02,0x00
-# 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_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_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_cmp_eq_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x64,0x04,0x02,0x00
-# 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_cmp_eq_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_eq_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xfd,0x03,0x00
# 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_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_cmp_eq_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0x0d,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_cmp_eq_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xc9,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_cmp_eq_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xcd,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_cmp_eq_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xd5,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_cmp_eq_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xd9,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_cmp_eq_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xdd,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_cmp_eq_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xf5,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_cmp_eq_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xfd,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_cmp_eq_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0x01,0x01,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_cmp_eq_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0x83,0x01,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_cmp_eq_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x62,0xd0,0x01,0x05,0x02,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_cmp_le_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc6,0x7c]
+0xfe,0x05,0xc6,0x7c
# CHECK: v_cmp_le_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc6,0x7c]
0x02,0x04,0xc6,0x7c
@@ -55503,86 +65838,134 @@
# 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_cmp_le_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc6,0x7c]
-0x01,0x05,0xc6,0x7c
+# CHECK: v_cmp_le_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc7,0x7c]
+0x01,0xfd,0xc7,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_cmp_le_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_le_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc7,0x7c]
-0x02,0xfc,0xc7,0x7c
+# CHECK: v_cmp_le_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0xfe,0x05,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x02,0x04,0x02,0x00
-# 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_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_cmp_le_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x64,0x04,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x7a,0x04,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x80,0x04,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_le_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xfd,0x03,0x00
# 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_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_cmp_le_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmp_le_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmp_le_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_le_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_le_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_le_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0x83,0x01,0x00
-# 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_cmp_le_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_le_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_le_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_le_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_le_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x63,0xd0,0x01,0x05,0x02,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_cmp_gt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc8,0x7c]
+0xfe,0x05,0xc8,0x7c
# CHECK: v_cmp_gt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc8,0x7c]
0x02,0x04,0xc8,0x7c
@@ -55629,86 +66012,134 @@
# 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_cmp_gt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc8,0x7c]
-0x01,0x05,0xc8,0x7c
+# CHECK: v_cmp_gt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc9,0x7c]
+0x01,0xfd,0xc9,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc8,0x7c]
-0xfe,0x05,0xc8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,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_cmp_gt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x64,0xd0,0x01,0x05,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_cmp_gt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x02,0x04,0x02,0x00
+
+# 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_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_cmp_gt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x64,0x04,0x02,0x00
-# 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_cmp_gt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_gt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_gt_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x6c,0x04,0x02,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_cmp_gt_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_gt_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x7a,0x04,0x02,0x00
-# 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_cmp_gt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_gt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x80,0x04,0x02,0x00
-# 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_cmp_gt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_gt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_gt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xfd,0x03,0x00
# 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_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_cmp_gt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmp_gt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmp_gt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_gt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_gt_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_gt_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0x01,0x01,0x00
-# 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_cmp_gt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0x83,0x01,0x00
-# 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_cmp_gt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_gt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_gt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_gt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x64,0xd0,0x01,0x05,0x02,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_cmp_lg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xca,0x7c]
+0xfe,0x05,0xca,0x7c
# CHECK: v_cmp_lg_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xca,0x7c]
0x02,0x04,0xca,0x7c
@@ -55755,86 +66186,134 @@
# 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_cmp_lg_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xca,0x7c]
-0x01,0x05,0xca,0x7c
+# CHECK: v_cmp_lg_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcb,0x7c]
+0x01,0xfd,0xcb,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xca,0x7c]
-0xfe,0x05,0xca,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x65,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x65,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x65,0xd0,0x01,0x05,0x02,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_cmp_lg_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x65,0xd0,0x01,0x05,0x02,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_cmp_lg_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x65,0xd0,0x01,0x05,0x02,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_cmp_lg_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x65,0xd0,0x01,0x05,0x02,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_cmp_lg_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x65,0xd0,0x01,0x05,0x02,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_cmp_lg_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0xfe,0x05,0x02,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_cmp_lg_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x02,0x04,0x02,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_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_cmp_lg_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x6c,0x04,0x02,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_cmp_lg_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x6e,0x04,0x02,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_cmp_lg_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x7a,0x04,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_cmp_lg_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x7e,0x04,0x02,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_cmp_lg_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x80,0x04,0x02,0x00
-# 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_cmp_lg_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_lg_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xfd,0x03,0x00
# 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_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_cmp_lg_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmp_lg_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmp_lg_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_lg_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_lg_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_lg_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xf5,0x00,0x00
-# 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_cmp_lg_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xfd,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,0x20]
-0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x20
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0x01,0x01,0x00
-# 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_cmp_lg_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0x83,0x01,0x00
-# 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_cmp_lg_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_lg_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x65,0xd0,0x01,0x05,0x02,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_cmp_ge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xcc,0x7c]
+0xfe,0x05,0xcc,0x7c
# CHECK: v_cmp_ge_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xcc,0x7c]
0x02,0x04,0xcc,0x7c
@@ -55881,86 +66360,134 @@
# 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_cmp_ge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xcc,0x7c]
-0x01,0x05,0xcc,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcd,0x7c]
+0x01,0xfd,0xcd,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xcc,0x7c]
-0xfe,0x05,0xcc,0x7c
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x66,0xd0,0x01,0x05,0x02,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_cmp_ge_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0xfe,0x05,0x02,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_cmp_ge_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x02,0x04,0x02,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_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_cmp_ge_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x64,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x66,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x6a,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x6c,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x6e,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x7a,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x7e,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x80,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0xc1,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0xf0,0x04,0x02,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_cmp_ge_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xfd,0x03,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_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_cmp_ge_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0x0d,0x00,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_cmp_ge_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xc9,0x00,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_cmp_ge_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xcd,0x00,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_cmp_ge_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xd5,0x00,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_cmp_ge_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_ge_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_ge_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_ge_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_ge_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_ge_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x60
-# 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_cmp_ge_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xce,0x7c]
+0x01,0x05,0xce,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_cmp_o_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xce,0x7c]
0x02,0x04,0xce,0x7c
@@ -56007,86 +66534,134 @@
# 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_cmp_o_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xce,0x7c]
-0x01,0x05,0xce,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcf,0x7c]
+0x01,0xfd,0xcf,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_cmp_o_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_o_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xcf,0x7c]
-0x02,0xfc,0xcf,0x7c
+# CHECK: v_cmp_o_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x02,0x04,0x02,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_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_cmp_o_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x64,0x04,0x02,0x00
-# 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_cmp_o_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_o_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_o_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x6c,0x04,0x02,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_cmp_o_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x6e,0x04,0x02,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_cmp_o_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x7a,0x04,0x02,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_cmp_o_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x7e,0x04,0x02,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_cmp_o_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x80,0x04,0x02,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_cmp_o_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0xc1,0x04,0x02,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_cmp_o_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0xf0,0x04,0x02,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_cmp_o_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0xf7,0x04,0x02,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_cmp_o_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xfd,0x03,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_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_cmp_o_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0x0d,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_cmp_o_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xc9,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_cmp_o_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xcd,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_cmp_o_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xd5,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_cmp_o_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xd9,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_cmp_o_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0x83,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_cmp_o_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xe1,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_cmp_o_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xef,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_cmp_o_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_o_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_o_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd0,0x7c]
+0x01,0x05,0xd0,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_cmp_u_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd0,0x7c]
0x02,0x04,0xd0,0x7c
@@ -56133,86 +66708,134 @@
# 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_cmp_u_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd0,0x7c]
-0x01,0x05,0xd0,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd1,0x7c]
+0x01,0xfd,0xd1,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_cmp_u_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_u_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd1,0x7c]
-0x02,0xfc,0xd1,0x7c
+# CHECK: v_cmp_u_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_u_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0xfe,0x05,0x02,0x00
-# 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_cmp_u_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x02,0x04,0x02,0x00
-# 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_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_cmp_u_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_u_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_u_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x7a,0x04,0x02,0x00
-# 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_cmp_u_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_u_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x80,0x04,0x02,0x00
-# 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_cmp_u_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_u_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_u_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xfd,0x03,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_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_cmp_u_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0x0d,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_cmp_u_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xc9,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_cmp_u_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xcd,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_cmp_u_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xd5,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_cmp_u_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xd9,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_cmp_u_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xfd,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_cmp_u_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0x01,0x01,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_cmp_u_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0x83,0x01,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_cmp_u_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xe1,0x01,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_cmp_u_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xef,0x01,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_cmp_u_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd2,0x7c]
+0x01,0x05,0xd2,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_cmp_nge_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd2,0x7c]
0x02,0x04,0xd2,0x7c
@@ -56259,86 +66882,134 @@
# 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_cmp_nge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd2,0x7c]
-0x01,0x05,0xd2,0x7c
+# CHECK: v_cmp_nge_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd3,0x7c]
+0x01,0xfd,0xd3,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_cmp_nge_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0xfe,0x05,0x02,0x00
-# CHECK: v_cmp_nge_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd3,0x7c]
-0x02,0xfc,0xd3,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x02,0x04,0x02,0x00
-# 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_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_cmp_nge_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x64,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x7a,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x80,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_nge_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xfd,0x03,0x00
# 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_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_cmp_nge_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmp_nge_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmp_nge_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_nge_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_nge_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_nge_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xf5,0x00,0x00
-# 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_cmp_nge_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xfd,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_cmp_nge_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0x01,0x01,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_cmp_nge_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0x83,0x01,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_cmp_nge_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xe1,0x01,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_cmp_nge_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x69,0xd0,0x01,0x05,0x02,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_cmp_nlg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd4,0x7c]
+0xfe,0x05,0xd4,0x7c
# CHECK: v_cmp_nlg_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd4,0x7c]
0x02,0x04,0xd4,0x7c
@@ -56385,86 +67056,134 @@
# 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_cmp_nlg_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd4,0x7c]
-0x01,0x05,0xd4,0x7c
+# CHECK: v_cmp_nlg_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd5,0x7c]
+0x01,0xfd,0xd5,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd4,0x7c]
-0xfe,0x05,0xd4,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,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_cmp_nlg_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6a,0xd0,0x01,0x05,0x02,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_cmp_nlg_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0xfe,0x05,0x02,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x02,0x04,0x02,0x00
-# 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_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_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_cmp_nlg_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x64,0x04,0x02,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x03,0x00
# 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_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_cmp_nlg_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_nlg_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_nlg_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x60
-# 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_cmp_nlg_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6a,0xd0,0x01,0x05,0x02,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_cmp_ngt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd6,0x7c]
+0xfe,0x05,0xd6,0x7c
# CHECK: v_cmp_ngt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd6,0x7c]
0x02,0x04,0xd6,0x7c
@@ -56511,86 +67230,134 @@
# 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_cmp_ngt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd6,0x7c]
-0x01,0x05,0xd6,0x7c
+# CHECK: v_cmp_ngt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd7,0x7c]
+0x01,0xfd,0xd7,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd6,0x7c]
-0xfe,0x05,0xd6,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x6b,0xd0,0x01,0x05,0x02,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_cmp_ngt_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x6b,0xd0,0x01,0x05,0x02,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_cmp_ngt_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x6b,0xd0,0x01,0x05,0x02,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_cmp_ngt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0xfe,0x05,0x02,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_cmp_ngt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x02,0x04,0x02,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_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_cmp_ngt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x6c,0x04,0x02,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_cmp_ngt_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x6e,0x04,0x02,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_cmp_ngt_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x7a,0x04,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_cmp_ngt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x7e,0x04,0x02,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_cmp_ngt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x80,0x04,0x02,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0xf7,0x04,0x02,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_cmp_ngt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x03,0x00
# 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_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_cmp_ngt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0x01,0x01,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0x83,0x01,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_ngt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6b,0xd0,0x01,0x05,0x02,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_cmp_nle_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd8,0x7c]
+0xfe,0x05,0xd8,0x7c
# CHECK: v_cmp_nle_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd8,0x7c]
0x02,0x04,0xd8,0x7c
@@ -56637,86 +67404,134 @@
# 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_cmp_nle_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd8,0x7c]
-0x01,0x05,0xd8,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd9,0x7c]
+0x01,0xfd,0xd9,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd8,0x7c]
-0xfe,0x05,0xd8,0x7c
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x02,0x04,0x02,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_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_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_cmp_nle_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x64,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x66,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x6a,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x6c,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x6e,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x7a,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x7e,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x80,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0xc1,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0xf0,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0xf7,0x04,0x02,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_cmp_nle_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x03,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_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_cmp_nle_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0x0d,0x00,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_cmp_nle_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xc9,0x00,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_cmp_nle_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_nle_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_nle_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_nle_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xfd,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_cmp_nle_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0x01,0x01,0x00
-# 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_cmp_nle_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0x83,0x01,0x00
-# 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_cmp_nle_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmp_nle_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xef,0x01,0x00
-# 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_cmp_nle_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xda,0x7c]
+0x01,0x05,0xda,0x7c
+
+# CHECK: v_cmp_neq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xda,0x7c]
+0xfe,0x05,0xda,0x7c
# CHECK: v_cmp_neq_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xda,0x7c]
0x02,0x04,0xda,0x7c
@@ -56763,86 +67578,134 @@
# 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_cmp_neq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xda,0x7c]
-0x01,0x05,0xda,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdb,0x7c]
+0x01,0xfd,0xdb,0x7c
-# CHECK: v_cmp_neq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xda,0x7c]
-0xfe,0x05,0xda,0x7c
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_neq_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xdb,0x7c]
-0x02,0xfc,0xdb,0x7c
+# CHECK: v_cmp_neq_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6d,0xd0,0x01,0x05,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,0x00]
-0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_neq_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6d,0xd0,0x01,0x05,0x02,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_cmp_neq_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x6d,0xd0,0x01,0x05,0x02,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_cmp_neq_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x6d,0xd0,0x01,0x05,0x02,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_cmp_neq_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x6d,0xd0,0x01,0x05,0x02,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_cmp_neq_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0xfe,0x05,0x02,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_cmp_neq_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x02,0x04,0x02,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_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_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_cmp_neq_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x64,0x04,0x02,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_cmp_neq_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x66,0x04,0x02,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_cmp_neq_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x6a,0x04,0x02,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_cmp_neq_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x03,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_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_cmp_neq_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0x0d,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_cmp_neq_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xc9,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_cmp_neq_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xcd,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_cmp_neq_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xd5,0x00,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_cmp_neq_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xd9,0x00,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_cmp_neq_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xdd,0x00,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_cmp_neq_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xf5,0x00,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_cmp_neq_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x00,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_cmp_neq_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0x01,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,0x60]
-0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x60
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0x83,0x01,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_cmp_neq_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xdc,0x7c]
+0x01,0x05,0xdc,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_cmp_nlt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xdc,0x7c]
0x02,0x04,0xdc,0x7c
@@ -56889,86 +67752,134 @@
# 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_cmp_nlt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xdc,0x7c]
-0x01,0x05,0xdc,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdd,0x7c]
+0x01,0xfd,0xdd,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_cmp_nlt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xdd,0x7c]
-0x02,0xfc,0xdd,0x7c
+# CHECK: v_cmp_nlt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_nlt_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x02,0x04,0x02,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_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_cmp_nlt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x64,0x04,0x02,0x00
-# 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_cmp_nlt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_nlt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_nlt_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_nlt_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_nlt_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x7a,0x04,0x02,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_cmp_nlt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x7e,0x04,0x02,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_cmp_nlt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x03,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_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_cmp_nlt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0x0d,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_cmp_nlt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xc9,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_cmp_nlt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xcd,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_cmp_nlt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xd5,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_cmp_nlt_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xd9,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_cmp_nlt_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xe1,0x01,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_cmp_nlt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xef,0x01,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_cmp_nlt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_nlt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x60
-# 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_cmp_nlt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xde,0x7c]
+0x01,0x05,0xde,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_cmp_tru_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xde,0x7c]
0x02,0x04,0xde,0x7c
@@ -57015,86 +67926,134 @@
# 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_cmp_tru_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xde,0x7c]
-0x01,0x05,0xde,0x7c
+# CHECK: v_cmp_tru_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdf,0x7c]
+0x01,0xfd,0xdf,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_cmp_tru_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xdf,0x7c]
-0x02,0xfc,0xdf,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_tru_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0xfe,0x05,0x02,0x00
-# 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_cmp_tru_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x02,0x04,0x02,0x00
-# 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_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_cmp_tru_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_tru_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_tru_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_tru_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x03,0x00
# 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_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_cmp_tru_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmp_tru_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmp_tru_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_tru_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_tru_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xd9,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_cmp_tru_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0x83,0x01,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_cmp_tru_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xe1,0x01,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_cmp_tru_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xef,0x01,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_cmp_tru_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x20
-# 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_cmp_tru_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x40
-# 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_cmp_tru_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6f,0xd0,0x01,0x05,0x02,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_f_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe0,0x7c]
+0xfe,0x05,0xe0,0x7c
# CHECK: v_cmpx_f_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe0,0x7c]
0x02,0x04,0xe0,0x7c
@@ -57141,86 +68100,134 @@
# 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_f_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe0,0x7c]
-0x01,0x05,0xe0,0x7c
+# CHECK: v_cmpx_f_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe1,0x7c]
+0x01,0xfd,0xe1,0x7c
-# 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_f_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x70,0xd0,0x01,0x05,0x02,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_f_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
-# 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_f_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x02,0x04,0x02,0x00
+
+# 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_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_f_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x64,0x04,0x02,0x00
-# 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_f_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x66,0x04,0x02,0x00
-# 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_f_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x6a,0x04,0x02,0x00
-# 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_f_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x6c,0x04,0x02,0x00
-# 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_f_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x6e,0x04,0x02,0x00
-# 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_f_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xfd,0x03,0x00
# 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_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_f_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0x0d,0x00,0x00
-# 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_f_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xc9,0x00,0x00
-# 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_f_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xcd,0x00,0x00
-# 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_f_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xd5,0x00,0x00
-# 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_f_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xd9,0x00,0x00
-# 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_f_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xfd,0x00,0x00
-# 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_f_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0x01,0x01,0x00
-# 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_f_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0x83,0x01,0x00
-# 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_f_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xe1,0x01,0x00
-# 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_f_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xef,0x01,0x00
-# 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_f_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x70,0xd0,0x01,0x05,0x02,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_lt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe2,0x7c]
+0xfe,0x05,0xe2,0x7c
# CHECK: v_cmpx_lt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe2,0x7c]
0x02,0x04,0xe2,0x7c
@@ -57267,86 +68274,134 @@
# 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_lt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe2,0x7c]
-0x01,0x05,0xe2,0x7c
+# CHECK: v_cmpx_lt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe3,0x7c]
+0x01,0xfd,0xe3,0x7c
-# 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_lt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0xfe,0x05,0x02,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_lt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x02,0x04,0x02,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_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_lt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x64,0x04,0x02,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_lt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x66,0x04,0x02,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_lt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x6a,0x04,0x02,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_lt_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x6c,0x04,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_lt_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x6e,0x04,0x02,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_lt_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x7a,0x04,0x02,0x00
-# 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_lt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x7e,0x04,0x02,0x00
-# 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_lt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x80,0x04,0x02,0x00
-# 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_lt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0xc1,0x04,0x02,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_lt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0xf0,0x04,0x02,0x00
-# 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_lt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0xf7,0x04,0x02,0x00
-# 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_lt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xfd,0x03,0x00
# 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_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_lt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0x0d,0x00,0x00
-# 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_lt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xc9,0x00,0x00
-# 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_lt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xcd,0x00,0x00
-# 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_lt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xd5,0x00,0x00
-# 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_lt_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xd9,0x00,0x00
-# 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_lt_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xf5,0x00,0x00
-# 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_lt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xfd,0x00,0x00
-# 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_lt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0x01,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,0x40]
-0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x40
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0x83,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,0x60]
-0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x60
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xe1,0x01,0x00
-# 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_lt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x71,0xd0,0x01,0x05,0x02,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_eq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe4,0x7c]
+0xfe,0x05,0xe4,0x7c
# CHECK: v_cmpx_eq_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe4,0x7c]
0x02,0x04,0xe4,0x7c
@@ -57393,86 +68448,134 @@
# 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_eq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe4,0x7c]
-0x01,0x05,0xe4,0x7c
+# CHECK: v_cmpx_eq_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe5,0x7c]
+0x01,0xfd,0xe5,0x7c
-# 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_eq_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,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_eq_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x72,0xd0,0x01,0x05,0x02,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_eq_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x72,0xd0,0x01,0x05,0x02,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_eq_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x72,0xd0,0x01,0x05,0x02,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_eq_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x72,0xd0,0x01,0x05,0x02,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_eq_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x72,0xd0,0x01,0x05,0x02,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_eq_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x72,0xd0,0x01,0x05,0x02,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_eq_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x72,0xd0,0x01,0x05,0x02,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_eq_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0xfe,0x05,0x02,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_eq_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x02,0x04,0x02,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_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_cmpx_eq_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x6e,0x04,0x02,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_eq_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x7a,0x04,0x02,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_eq_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x7e,0x04,0x02,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_eq_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xfd,0x03,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_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_eq_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0x0d,0x00,0x00
-# 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_eq_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xc9,0x00,0x00
-# 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_eq_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xcd,0x00,0x00
-# 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_eq_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xd5,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_cmpx_eq_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_eq_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_eq_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_eq_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_eq_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_eq_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x60
-# 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_cmpx_eq_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x72,0xd0,0x01,0x05,0x02,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_cmpx_le_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe6,0x7c]
+0xfe,0x05,0xe6,0x7c
# CHECK: v_cmpx_le_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe6,0x7c]
0x02,0x04,0xe6,0x7c
@@ -57519,86 +68622,134 @@
# 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_cmpx_le_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe6,0x7c]
-0x01,0x05,0xe6,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe7,0x7c]
+0x01,0xfd,0xe7,0x7c
-# CHECK: v_cmpx_le_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe6,0x7c]
-0xfe,0x05,0xe6,0x7c
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x73,0xd0,0x01,0x05,0x02,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_cmpx_le_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x73,0xd0,0x01,0x05,0x02,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_cmpx_le_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x73,0xd0,0x01,0x05,0x02,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_cmpx_le_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x73,0xd0,0x01,0x05,0x02,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_cmpx_le_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x73,0xd0,0x01,0x05,0x02,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_cmpx_le_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x73,0xd0,0x01,0x05,0x02,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_cmpx_le_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x02,0x04,0x02,0x00
+
+# 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_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_cmpx_le_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x64,0x04,0x02,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_cmpx_le_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x66,0x04,0x02,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_cmpx_le_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x6a,0x04,0x02,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_cmpx_le_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x6c,0x04,0x02,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_cmpx_le_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x6e,0x04,0x02,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_cmpx_le_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x7a,0x04,0x02,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_cmpx_le_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xfd,0x03,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_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_cmpx_le_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_le_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_le_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_le_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xd5,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_cmpx_le_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_le_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_le_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_le_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_le_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_le_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_le_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x73,0xd0,0x01,0x05,0x02,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_cmpx_gt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe8,0x7c]
+0xfe,0x05,0xe8,0x7c
# CHECK: v_cmpx_gt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe8,0x7c]
0x02,0x04,0xe8,0x7c
@@ -57645,86 +68796,134 @@
# 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_cmpx_gt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe8,0x7c]
-0x01,0x05,0xe8,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe9,0x7c]
+0x01,0xfd,0xe9,0x7c
-# CHECK: v_cmpx_gt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe8,0x7c]
-0xfe,0x05,0xe8,0x7c
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x02,0x04,0x02,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_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_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_cmpx_gt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x64,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x66,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x6a,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x6c,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x6e,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x7a,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x7e,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x80,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0xc1,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0xf0,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0xf7,0x04,0x02,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_cmpx_gt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xfd,0x03,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_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_cmpx_gt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_gt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_gt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_gt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xd5,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_cmpx_gt_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_gt_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmpx_gt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_gt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_gt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_gt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_gt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x74,0xd0,0x01,0x05,0x02,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_cmpx_lg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xea,0x7c]
+0xfe,0x05,0xea,0x7c
# CHECK: v_cmpx_lg_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xea,0x7c]
0x02,0x04,0xea,0x7c
@@ -57771,86 +68970,134 @@
# 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_cmpx_lg_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xea,0x7c]
-0x01,0x05,0xea,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xeb,0x7c]
+0x01,0xfd,0xeb,0x7c
-# CHECK: v_cmpx_lg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xea,0x7c]
-0xfe,0x05,0xea,0x7c
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x75,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x75,0xd0,0x01,0x05,0x02,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_cmpx_lg_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x75,0xd0,0x01,0x05,0x02,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_cmpx_lg_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x75,0xd0,0x01,0x05,0x02,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_cmpx_lg_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x75,0xd0,0x01,0x05,0x02,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_cmpx_lg_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x75,0xd0,0x01,0x05,0x02,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_cmpx_lg_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x75,0xd0,0x01,0x05,0x02,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_cmpx_lg_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0xfe,0x05,0x02,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_cmpx_lg_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x02,0x04,0x02,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_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_cmpx_lg_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x6c,0x04,0x02,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_cmpx_lg_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x6e,0x04,0x02,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_cmpx_lg_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x7a,0x04,0x02,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_cmpx_lg_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x7e,0x04,0x02,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_cmpx_lg_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x80,0x04,0x02,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_cmpx_lg_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xfd,0x03,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_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_cmpx_lg_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_lg_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_lg_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_lg_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xd5,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_cmpx_lg_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_lg_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmpx_lg_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xf5,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,0x20]
-0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x20
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xfd,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,0x40]
-0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x40
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_lg_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_lg_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x75,0xd0,0x01,0x05,0x02,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_cmpx_ge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xec,0x7c]
+0xfe,0x05,0xec,0x7c
# CHECK: v_cmpx_ge_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xec,0x7c]
0x02,0x04,0xec,0x7c
@@ -57897,86 +69144,134 @@
# 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_cmpx_ge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xec,0x7c]
-0x01,0x05,0xec,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xed,0x7c]
+0x01,0xfd,0xed,0x7c
-# CHECK: v_cmpx_ge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xec,0x7c]
-0xfe,0x05,0xec,0x7c
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x76,0xd0,0x01,0x05,0x02,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_cmpx_ge_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x76,0xd0,0x01,0x05,0x02,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_cmpx_ge_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x76,0xd0,0x01,0x05,0x02,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_cmpx_ge_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x76,0xd0,0x01,0x05,0x02,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_cmpx_ge_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x76,0xd0,0x01,0x05,0x02,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_cmpx_ge_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x02,0x04,0x02,0x00
+
+# 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_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_cmpx_ge_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x64,0x04,0x02,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_cmpx_ge_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x66,0x04,0x02,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_cmpx_ge_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x6a,0x04,0x02,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_cmpx_ge_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x6c,0x04,0x02,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_cmpx_ge_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x6e,0x04,0x02,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_cmpx_ge_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x7a,0x04,0x02,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_cmpx_ge_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x7e,0x04,0x02,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_cmpx_ge_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xfd,0x03,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_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_cmpx_ge_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_ge_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_ge_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_ge_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xd5,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_cmpx_ge_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_ge_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_ge_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_ge_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_ge_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_ge_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_ge_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x76,0xd0,0x01,0x05,0x02,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_cmpx_o_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xee,0x7c]
+0xfe,0x05,0xee,0x7c
# CHECK: v_cmpx_o_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xee,0x7c]
0x02,0x04,0xee,0x7c
@@ -58023,86 +69318,134 @@
# 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_cmpx_o_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xee,0x7c]
-0x01,0x05,0xee,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xef,0x7c]
+0x01,0xfd,0xef,0x7c
-# CHECK: v_cmpx_o_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xee,0x7c]
-0xfe,0x05,0xee,0x7c
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,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_cmpx_o_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x02,0x04,0x02,0x00
+
+# 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_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_cmpx_o_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x64,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x66,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x6a,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x6c,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x6e,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x7a,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x7e,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x80,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0xc1,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0xf0,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0xf7,0x04,0x02,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_cmpx_o_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xfd,0x03,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_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_cmpx_o_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_o_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_o_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_o_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xd5,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_cmpx_o_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_o_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_o_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_o_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_o_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_o_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_o_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x77,0xd0,0x01,0x05,0x02,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_cmpx_u_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf0,0x7c]
+0xfe,0x05,0xf0,0x7c
# CHECK: v_cmpx_u_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf0,0x7c]
0x02,0x04,0xf0,0x7c
@@ -58149,86 +69492,134 @@
# 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_cmpx_u_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf0,0x7c]
-0x01,0x05,0xf0,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf1,0x7c]
+0x01,0xfd,0xf1,0x7c
-# CHECK: v_cmpx_u_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf0,0x7c]
-0xfe,0x05,0xf0,0x7c
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x78,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x78,0xd0,0x01,0x05,0x02,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_cmpx_u_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x78,0xd0,0x01,0x05,0x02,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_cmpx_u_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x78,0xd0,0x01,0x05,0x02,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_cmpx_u_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x78,0xd0,0x01,0x05,0x02,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_cmpx_u_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x78,0xd0,0x01,0x05,0x02,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_cmpx_u_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0xfe,0x05,0x02,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_cmpx_u_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x02,0x04,0x02,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_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_cmpx_u_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x6c,0x04,0x02,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_cmpx_u_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x6e,0x04,0x02,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_cmpx_u_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x7a,0x04,0x02,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_cmpx_u_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x7e,0x04,0x02,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_cmpx_u_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x80,0x04,0x02,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_cmpx_u_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0xc1,0x04,0x02,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_cmpx_u_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xfd,0x03,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_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_cmpx_u_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_u_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_u_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_u_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xd5,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_cmpx_u_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_u_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xf5,0x00,0x00
-# 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_cmpx_u_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xfd,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,0x20]
-0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x20
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_u_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_u_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_u_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x78,0xd0,0x01,0x05,0x02,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_cmpx_nge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf2,0x7c]
+0xfe,0x05,0xf2,0x7c
# CHECK: v_cmpx_nge_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf2,0x7c]
0x02,0x04,0xf2,0x7c
@@ -58275,86 +69666,134 @@
# 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_cmpx_nge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf2,0x7c]
-0x01,0x05,0xf2,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf3,0x7c]
+0x01,0xfd,0xf3,0x7c
-# CHECK: v_cmpx_nge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf2,0x7c]
-0xfe,0x05,0xf2,0x7c
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x79,0xd0,0x01,0x05,0x02,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_cmpx_nge_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x79,0xd0,0x01,0x05,0x02,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_cmpx_nge_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x79,0xd0,0x01,0x05,0x02,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_cmpx_nge_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x79,0xd0,0x01,0x05,0x02,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_cmpx_nge_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x02,0x04,0x02,0x00
+
+# 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_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_cmpx_nge_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x64,0x04,0x02,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_cmpx_nge_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x66,0x04,0x02,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_cmpx_nge_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x6a,0x04,0x02,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_cmpx_nge_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x6c,0x04,0x02,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_cmpx_nge_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x6e,0x04,0x02,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_cmpx_nge_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x7a,0x04,0x02,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_cmpx_nge_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x7e,0x04,0x02,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_cmpx_nge_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x80,0x04,0x02,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_cmpx_nge_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xfd,0x03,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_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_cmpx_nge_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_nge_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_nge_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_nge_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xd5,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_cmpx_nge_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_nge_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_nge_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_nge_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_nge_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_nge_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x60
-# 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_cmpx_nge_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x79,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf4,0x7c]
+0xfe,0x05,0xf4,0x7c
# CHECK: v_cmpx_nlg_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf4,0x7c]
0x02,0x04,0xf4,0x7c
@@ -58401,86 +69840,134 @@
# 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_cmpx_nlg_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf4,0x7c]
-0x01,0x05,0xf4,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf5,0x7c]
+0x01,0xfd,0xf5,0x7c
-# CHECK: v_cmpx_nlg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf4,0x7c]
-0xfe,0x05,0xf4,0x7c
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7a,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7a,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7a,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7a,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x7a,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x7a,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x7a,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0xfe,0x05,0x02,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_cmpx_nlg_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x02,0x04,0x02,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_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_cmpx_nlg_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x6c,0x04,0x02,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_cmpx_nlg_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x6e,0x04,0x02,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_cmpx_nlg_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x7a,0x04,0x02,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_cmpx_nlg_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x7e,0x04,0x02,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_cmpx_nlg_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x03,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_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_cmpx_nlg_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_nlg_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_nlg_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_nlg_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xd5,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_cmpx_nlg_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_nlg_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_nlg_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_nlg_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_nlg_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x60
-# 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_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7a,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf6,0x7c]
+0xfe,0x05,0xf6,0x7c
# CHECK: v_cmpx_ngt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf6,0x7c]
0x02,0x04,0xf6,0x7c
@@ -58527,86 +70014,134 @@
# 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_cmpx_ngt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf6,0x7c]
-0x01,0x05,0xf6,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf7,0x7c]
+0x01,0xfd,0xf7,0x7c
-# CHECK: v_cmpx_ngt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf6,0x7c]
-0xfe,0x05,0xf6,0x7c
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x7b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x7b,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x02,0x04,0x02,0x00
+
+# 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_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_cmpx_ngt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x64,0x04,0x02,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_cmpx_ngt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x66,0x04,0x02,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_cmpx_ngt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x6a,0x04,0x02,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_cmpx_ngt_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x6c,0x04,0x02,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_cmpx_ngt_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x6e,0x04,0x02,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_cmpx_ngt_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x03,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_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_cmpx_ngt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_ngt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_ngt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_ngt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xd5,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_cmpx_ngt_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_ngt_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_ngt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_ngt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_ngt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_ngt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_ngt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7b,0xd0,0x01,0x05,0x02,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_cmpx_nle_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf8,0x7c]
+0xfe,0x05,0xf8,0x7c
# CHECK: v_cmpx_nle_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf8,0x7c]
0x02,0x04,0xf8,0x7c
@@ -58653,86 +70188,134 @@
# 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_cmpx_nle_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf8,0x7c]
-0x01,0x05,0xf8,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf9,0x7c]
+0x01,0xfd,0xf9,0x7c
-# CHECK: v_cmpx_nle_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf8,0x7c]
-0xfe,0x05,0xf8,0x7c
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x7c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x7c,0xd0,0x01,0x05,0x02,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_cmpx_nle_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x02,0x04,0x02,0x00
+
+# 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_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_cmpx_nle_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x64,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x66,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x6a,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x6c,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x6e,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x7a,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x7e,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x80,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0xc1,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0xf0,0x04,0x02,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_cmpx_nle_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x03,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_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_cmpx_nle_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_nle_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_nle_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_nle_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xd5,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_cmpx_nle_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_nle_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmpx_nle_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_nle_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_nle_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_nle_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_nle_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7c,0xd0,0x01,0x05,0x02,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_cmpx_neq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfa,0x7c]
+0xfe,0x05,0xfa,0x7c
# CHECK: v_cmpx_neq_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfa,0x7c]
0x02,0x04,0xfa,0x7c
@@ -58779,86 +70362,134 @@
# 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_cmpx_neq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfa,0x7c]
-0x01,0x05,0xfa,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xfb,0x7c]
+0x01,0xfd,0xfb,0x7c
-# CHECK: v_cmpx_neq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfa,0x7c]
-0xfe,0x05,0xfa,0x7c
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7d,0xd0,0x01,0x05,0x02,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_cmpx_neq_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7d,0xd0,0x01,0x05,0x02,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_cmpx_neq_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7d,0xd0,0x01,0x05,0x02,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_cmpx_neq_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7d,0xd0,0x01,0x05,0x02,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_cmpx_neq_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x7d,0xd0,0x01,0x05,0x02,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_cmpx_neq_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x7d,0xd0,0x01,0x05,0x02,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_cmpx_neq_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x7d,0xd0,0x01,0x05,0x02,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_cmpx_neq_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0xfe,0x05,0x02,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_cmpx_neq_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x02,0x04,0x02,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_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_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_cmpx_neq_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x64,0x04,0x02,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_cmpx_neq_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x66,0x04,0x02,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_cmpx_neq_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x6a,0x04,0x02,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_cmpx_neq_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x03,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_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_cmpx_neq_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_neq_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_neq_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_neq_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xd5,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_cmpx_neq_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_neq_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmpx_neq_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xf5,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,0x20]
-0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x20
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xfd,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,0x40]
-0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x40
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_neq_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_neq_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7d,0xd0,0x01,0x05,0x02,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_cmpx_nlt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfc,0x7c]
+0xfe,0x05,0xfc,0x7c
# CHECK: v_cmpx_nlt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfc,0x7c]
0x02,0x04,0xfc,0x7c
@@ -58905,86 +70536,134 @@
# 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_cmpx_nlt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfc,0x7c]
-0x01,0x05,0xfc,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xfd,0x7c]
+0x01,0xfd,0xfd,0x7c
-# CHECK: v_cmpx_nlt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfc,0x7c]
-0xfe,0x05,0xfc,0x7c
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7e,0xd0,0x01,0x05,0x02,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_cmpx_nlt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7e,0xd0,0x01,0x05,0x02,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_cmpx_nlt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7e,0xd0,0x01,0x05,0x02,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_cmpx_nlt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7e,0xd0,0x01,0x05,0x02,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_cmpx_nlt_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x7e,0xd0,0x01,0x05,0x02,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_cmpx_nlt_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x7e,0xd0,0x01,0x05,0x02,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_cmpx_nlt_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x02,0x04,0x02,0x00
+
+# 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_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_cmpx_nlt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x64,0x04,0x02,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_cmpx_nlt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x66,0x04,0x02,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_cmpx_nlt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x6a,0x04,0x02,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_cmpx_nlt_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x6c,0x04,0x02,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_cmpx_nlt_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x6e,0x04,0x02,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_cmpx_nlt_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x7a,0x04,0x02,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_cmpx_nlt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x03,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_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_cmpx_nlt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_nlt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_nlt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_nlt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xd5,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_cmpx_nlt_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_nlt_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_nlt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_nlt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_nlt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_nlt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x40
-# 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_cmpx_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7e,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfe,0x7c]
+0xfe,0x05,0xfe,0x7c
# CHECK: v_cmpx_tru_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfe,0x7c]
0x02,0x04,0xfe,0x7c
@@ -59031,86 +70710,134 @@
# 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_cmpx_tru_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfe,0x7c]
-0x01,0x05,0xfe,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xff,0x7c]
+0x01,0xfd,0xff,0x7c
-# CHECK: v_cmpx_tru_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfe,0x7c]
-0xfe,0x05,0xfe,0x7c
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0x7f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0x7f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0x7f,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0xfe,0x05,0x02,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_cmpx_tru_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x02,0x04,0x02,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_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_cmpx_tru_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0xc1,0x04,0x02,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_cmpx_tru_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0xf0,0x04,0x02,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_cmpx_tru_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0xf7,0x04,0x02,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_cmpx_tru_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x03,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_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_cmpx_tru_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0x0d,0x00,0x00
-# 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_cmpx_tru_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xc9,0x00,0x00
-# 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_cmpx_tru_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_tru_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xd5,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_cmpx_tru_f64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_tru_f64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_tru_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_tru_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_tru_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xef,0x01,0x00
-# 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_cmpx_tru_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x20
-# 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_cmpx_tru_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x40,0x7d]
+0x01,0x05,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x40,0x7d]
+0xff,0x05,0x40,0x7d
# CHECK: v_cmp_f_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x40,0x7d]
0x01,0x04,0x40,0x7d
@@ -59166,122 +70893,158 @@
# CHECK: v_cmp_f_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x40,0x7d]
0xf7,0x04,0x40,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x40,0x7d]
-0xfd,0x04,0x40,0x7d
-
# 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_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_f_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x40,0x7d]
-0x01,0x05,0x40,0x7d
+# CHECK: v_cmp_f_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x41,0x7d]
+0x01,0xff,0x41,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x40,0x7d]
-0xff,0x05,0x40,0x7d
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_f_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x41,0x7d]
-0x01,0xfe,0x41,0x7d
+# CHECK: v_cmp_f_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa0,0xd0,0x01,0x05,0x02,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_f_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa0,0xd0,0x01,0x05,0x02,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_f_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa0,0xd0,0x01,0x05,0x02,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_f_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa0,0xd0,0x01,0x05,0x02,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_f_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa0,0xd0,0x01,0x05,0x02,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_f_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa0,0xd0,0x01,0x05,0x02,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_f_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa0,0xd0,0x01,0x05,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_f_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0xff,0x05,0x02,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_f_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x65,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x66,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x67,0x04,0x02,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_f_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x6a,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x6b,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x6c,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x6d,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x6e,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x6f,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x7b,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x7c,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x7e,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_f_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x02,0x00
-# 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_f_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_f_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xcb,0x00,0x00
-# 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_f_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xcd,0x00,0x00
-# 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_f_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xcf,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_f_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xd5,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_f_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xf7,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_f_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x42,0x7d]
+0x01,0x05,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x42,0x7d]
+0xff,0x05,0x42,0x7d
# CHECK: v_cmp_lt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x42,0x7d]
0x01,0x04,0x42,0x7d
@@ -59337,122 +71100,158 @@
# CHECK: v_cmp_lt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x42,0x7d]
0xf7,0x04,0x42,0x7d
-# CHECK: v_cmp_lt_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x42,0x7d]
-0xfd,0x04,0x42,0x7d
-
# 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_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_lt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x42,0x7d]
-0x01,0x05,0x42,0x7d
+# CHECK: v_cmp_lt_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x43,0x7d]
+0x01,0xff,0x43,0x7d
-# CHECK: v_cmp_lt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x42,0x7d]
-0xff,0x05,0x42,0x7d
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x43,0x7d]
-0x01,0xfe,0x43,0x7d
+# CHECK: v_cmp_lt_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0xff,0x05,0x02,0x00
-# 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_lt_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0x04,0x02,0x00
-# 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_lt_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x65,0x04,0x02,0x00
-# 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_lt_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x66,0x04,0x02,0x00
-# 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_lt_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x67,0x04,0x02,0x00
-# 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_lt_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x6c,0x04,0x02,0x00
-# 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_lt_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x6d,0x04,0x02,0x00
-# 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_lt_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x6e,0x04,0x02,0x00
-# 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_lt_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x6f,0x04,0x02,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_lt_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x7b,0x04,0x02,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_lt_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x7c,0x04,0x02,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_lt_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x7e,0x04,0x02,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_lt_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x7f,0x04,0x02,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_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_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_lt_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0xc1,0x04,0x02,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_lt_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0xf0,0x04,0x02,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_lt_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0xf7,0x04,0x02,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_lt_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xff,0x03,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_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_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_lt_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xcb,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_lt_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xcd,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_lt_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xcf,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_lt_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xd5,0x00,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_lt_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xd7,0x00,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_lt_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xd9,0x00,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_lt_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xfd,0x00,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_lt_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x44,0x7d]
+0x01,0x05,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x44,0x7d]
+0xff,0x05,0x44,0x7d
# CHECK: v_cmp_eq_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x44,0x7d]
0x01,0x04,0x44,0x7d
@@ -59508,122 +71307,158 @@
# CHECK: v_cmp_eq_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x44,0x7d]
0xf7,0x04,0x44,0x7d
-# CHECK: v_cmp_eq_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x44,0x7d]
-0xfd,0x04,0x44,0x7d
-
# 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_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_cmp_eq_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x44,0x7d]
-0x01,0x05,0x44,0x7d
+# CHECK: v_cmp_eq_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x45,0x7d]
+0x01,0xff,0x45,0x7d
-# CHECK: v_cmp_eq_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x44,0x7d]
-0xff,0x05,0x44,0x7d
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x45,0x7d]
-0x01,0xfe,0x45,0x7d
+# CHECK: v_cmp_eq_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa2,0xd0,0x01,0x05,0x02,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_cmp_eq_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa2,0xd0,0x01,0x05,0x02,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_cmp_eq_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa2,0xd0,0x01,0x05,0x02,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_cmp_eq_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa2,0xd0,0x01,0x05,0x02,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_cmp_eq_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa2,0xd0,0x01,0x05,0x02,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_cmp_eq_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa2,0xd0,0x01,0x05,0x02,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_cmp_eq_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa2,0xd0,0x01,0x05,0x02,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_cmp_eq_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0xff,0x05,0x02,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_cmp_eq_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x65,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x66,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x67,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x6a,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x6b,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x6c,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x6d,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x6e,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x6f,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x7b,0x04,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_cmp_eq_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x7c,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_eq_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_eq_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x02,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_cmp_eq_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_eq_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_eq_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_eq_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_eq_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_eq_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_eq_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_eq_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0x01,0x01,0x00
-# 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_cmp_eq_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x46,0x7d]
+0x01,0x05,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x46,0x7d]
+0xff,0x05,0x46,0x7d
# CHECK: v_cmp_le_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x46,0x7d]
0x01,0x04,0x46,0x7d
@@ -59679,122 +71514,158 @@
# CHECK: v_cmp_le_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x46,0x7d]
0xf7,0x04,0x46,0x7d
-# CHECK: v_cmp_le_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x46,0x7d]
-0xfd,0x04,0x46,0x7d
-
# 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_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_cmp_le_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x46,0x7d]
-0x01,0x05,0x46,0x7d
+# CHECK: v_cmp_le_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x47,0x7d]
+0x01,0xff,0x47,0x7d
-# CHECK: v_cmp_le_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x46,0x7d]
-0xff,0x05,0x46,0x7d
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x47,0x7d]
-0x01,0xfe,0x47,0x7d
+# CHECK: v_cmp_le_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa3,0xd0,0x01,0x05,0x02,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_cmp_le_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa3,0xd0,0x01,0x05,0x02,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_cmp_le_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa3,0xd0,0x01,0x05,0x02,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_cmp_le_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa3,0xd0,0x01,0x05,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_cmp_le_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa3,0xd0,0x01,0x05,0x02,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_cmp_le_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_le_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0x04,0x02,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_cmp_le_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_le_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_le_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_le_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xcb,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_cmp_le_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xcd,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_cmp_le_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xcf,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_cmp_le_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xd5,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_cmp_le_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xd7,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_cmp_le_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x48,0x7d]
+0x01,0x05,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x48,0x7d]
+0xff,0x05,0x48,0x7d
# CHECK: v_cmp_gt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x48,0x7d]
0x01,0x04,0x48,0x7d
@@ -59850,122 +71721,158 @@
# CHECK: v_cmp_gt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x48,0x7d]
0xf7,0x04,0x48,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x48,0x7d]
-0xfd,0x04,0x48,0x7d
-
# 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_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_cmp_gt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x48,0x7d]
-0x01,0x05,0x48,0x7d
+# CHECK: v_cmp_gt_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x49,0x7d]
+0x01,0xff,0x49,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x48,0x7d]
-0xff,0x05,0x48,0x7d
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_gt_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x49,0x7d]
-0x01,0xfe,0x49,0x7d
+# CHECK: v_cmp_gt_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_gt_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_gt_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_gt_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_gt_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_gt_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x6a,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x6b,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x6c,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x6d,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x6e,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x6f,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x7b,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x7c,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x7e,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x7f,0x04,0x02,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_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_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_cmp_gt_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xff,0x03,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_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_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_cmp_gt_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xcb,0x00,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_cmp_gt_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xcd,0x00,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_cmp_gt_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xcf,0x00,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_cmp_gt_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xd5,0x00,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_cmp_gt_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmp_gt_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ne_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4a,0x7d]
+0x01,0x05,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4a,0x7d]
+0xff,0x05,0x4a,0x7d
# CHECK: v_cmp_ne_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4a,0x7d]
0x01,0x04,0x4a,0x7d
@@ -60021,122 +71928,158 @@
# CHECK: v_cmp_ne_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4a,0x7d]
0xf7,0x04,0x4a,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4a,0x7d]
-0xfd,0x04,0x4a,0x7d
-
# 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_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_cmp_ne_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4a,0x7d]
-0x01,0x05,0x4a,0x7d
+# CHECK: v_cmp_ne_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4b,0x7d]
+0x01,0xff,0x4b,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4a,0x7d]
-0xff,0x05,0x4a,0x7d
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ne_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4b,0x7d]
-0x01,0xfe,0x4b,0x7d
+# CHECK: v_cmp_ne_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa5,0xd0,0x01,0x05,0x02,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_cmp_ne_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa5,0xd0,0x01,0x05,0x02,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_cmp_ne_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa5,0xd0,0x01,0x05,0x02,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_cmp_ne_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa5,0xd0,0x01,0x05,0x02,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_cmp_ne_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa5,0xd0,0x01,0x05,0x02,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_cmp_ne_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa5,0xd0,0x01,0x05,0x02,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_cmp_ne_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa5,0xd0,0x01,0x05,0x02,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_cmp_ne_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0xff,0x05,0x02,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_cmp_ne_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0x04,0x02,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_cmp_ne_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x65,0x04,0x02,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_cmp_ne_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x66,0x04,0x02,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_cmp_ne_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x67,0x04,0x02,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_cmp_ne_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x6a,0x04,0x02,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_cmp_ne_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x6b,0x04,0x02,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_cmp_ne_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x6c,0x04,0x02,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_cmp_ne_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x6d,0x04,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_cmp_ne_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x6e,0x04,0x02,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_cmp_ne_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_ne_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_ne_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_ne_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x7e,0x04,0x02,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_cmp_ne_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_ne_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_ne_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_ne_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_ne_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_ne_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_ne_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_ne_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_ne_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_ne_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_ne_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4c,0x7d]
+0x01,0x05,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4c,0x7d]
+0xff,0x05,0x4c,0x7d
# CHECK: v_cmp_ge_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4c,0x7d]
0x01,0x04,0x4c,0x7d
@@ -60192,122 +72135,158 @@
# CHECK: v_cmp_ge_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4c,0x7d]
0xf7,0x04,0x4c,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4c,0x7d]
-0xfd,0x04,0x4c,0x7d
-
# 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_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_cmp_ge_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4c,0x7d]
-0x01,0x05,0x4c,0x7d
+# CHECK: v_cmp_ge_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4d,0x7d]
+0x01,0xff,0x4d,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4c,0x7d]
-0xff,0x05,0x4c,0x7d
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4d,0x7d]
-0x01,0xfe,0x4d,0x7d
+# CHECK: v_cmp_ge_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa6,0xd0,0x01,0x05,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_cmp_ge_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa6,0xd0,0x01,0x05,0x02,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_cmp_ge_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa6,0xd0,0x01,0x05,0x02,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_cmp_ge_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_ge_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_ge_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x02,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_cmp_ge_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x02,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_cmp_ge_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xff,0x03,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_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_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_cmp_ge_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xcb,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_cmp_ge_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xcd,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_cmp_ge_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xcf,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_cmp_ge_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xd5,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_cmp_ge_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xfd,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_cmp_ge_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_t_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4e,0x7d]
+0x01,0x05,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4e,0x7d]
+0xff,0x05,0x4e,0x7d
# CHECK: v_cmp_t_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4e,0x7d]
0x01,0x04,0x4e,0x7d
@@ -60363,122 +72342,158 @@
# CHECK: v_cmp_t_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4e,0x7d]
0xf7,0x04,0x4e,0x7d
-# CHECK: v_cmp_t_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4e,0x7d]
-0xfd,0x04,0x4e,0x7d
-
# 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_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_cmp_t_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4e,0x7d]
-0x01,0x05,0x4e,0x7d
+# CHECK: v_cmp_t_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4f,0x7d]
+0x01,0xff,0x4f,0x7d
-# CHECK: v_cmp_t_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4e,0x7d]
-0xff,0x05,0x4e,0x7d
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4f,0x7d]
-0x01,0xfe,0x4f,0x7d
+# CHECK: v_cmp_t_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_t_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_t_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_t_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_t_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_t_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_t_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_t_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_t_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_t_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x65,0x04,0x02,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_cmp_t_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x66,0x04,0x02,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_cmp_t_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x67,0x04,0x02,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_cmp_t_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x6e,0x04,0x02,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_cmp_t_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x6f,0x04,0x02,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_cmp_t_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x7b,0x04,0x02,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_cmp_t_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x7c,0x04,0x02,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_cmp_t_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x7e,0x04,0x02,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_cmp_t_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x7f,0x04,0x02,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_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_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_cmp_t_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0xc1,0x04,0x02,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_cmp_t_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0xf0,0x04,0x02,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_cmp_t_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0xf7,0x04,0x02,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_cmp_t_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xff,0x03,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_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_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_cmp_t_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xcb,0x00,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_cmp_t_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xcd,0x00,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_cmp_t_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xcf,0x00,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_cmp_t_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xd5,0x00,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_cmp_t_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xd7,0x00,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_cmp_t_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmp_t_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmp_t_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmp_t_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0x01,0x01,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_cmp_t_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x50,0x7d]
+0x01,0x05,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x50,0x7d]
+0xff,0x05,0x50,0x7d
# CHECK: v_cmp_f_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x50,0x7d]
0x01,0x04,0x50,0x7d
@@ -60534,122 +72549,158 @@
# CHECK: v_cmp_f_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x50,0x7d]
0xf7,0x04,0x50,0x7d
-# CHECK: v_cmp_f_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x50,0x7d]
-0xfd,0x04,0x50,0x7d
-
# 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_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_cmp_f_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x50,0x7d]
-0x01,0x05,0x50,0x7d
+# CHECK: v_cmp_f_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x51,0x7d]
+0x01,0xff,0x51,0x7d
-# CHECK: v_cmp_f_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x50,0x7d]
-0xff,0x05,0x50,0x7d
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x51,0x7d]
-0x01,0xfe,0x51,0x7d
+# CHECK: v_cmp_f_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa8,0xd0,0x01,0x05,0x02,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_cmp_f_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa8,0xd0,0x01,0x05,0x02,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_cmp_f_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa8,0xd0,0x01,0x05,0x02,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_cmp_f_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa8,0xd0,0x01,0x05,0x02,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_cmp_f_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa8,0xd0,0x01,0x05,0x02,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_cmp_f_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa8,0xd0,0x01,0x05,0x02,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_cmp_f_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa8,0xd0,0x01,0x05,0x02,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_cmp_f_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0xff,0x05,0x02,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_cmp_f_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0x04,0x02,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_cmp_f_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x65,0x04,0x02,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_cmp_f_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x66,0x04,0x02,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_cmp_f_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x67,0x04,0x02,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_cmp_f_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x6a,0x04,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_cmp_f_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x6b,0x04,0x02,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_cmp_f_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_f_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_f_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_f_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x6f,0x04,0x02,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_cmp_f_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_f_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_f_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_f_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_f_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_f_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_f_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_f_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_f_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_f_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_f_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_f_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_f_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmp_f_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x52,0x7d]
+0x01,0x05,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x52,0x7d]
+0xff,0x05,0x52,0x7d
# CHECK: v_cmp_lt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x52,0x7d]
0x01,0x04,0x52,0x7d
@@ -60705,122 +72756,158 @@
# CHECK: v_cmp_lt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x52,0x7d]
0xf7,0x04,0x52,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x52,0x7d]
-0xfd,0x04,0x52,0x7d
-
# 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_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_cmp_lt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x52,0x7d]
-0x01,0x05,0x52,0x7d
+# CHECK: v_cmp_lt_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x53,0x7d]
+0x01,0xff,0x53,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x52,0x7d]
-0xff,0x05,0x52,0x7d
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x53,0x7d]
-0x01,0xfe,0x53,0x7d
+# CHECK: v_cmp_lt_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa9,0xd0,0x01,0x05,0x02,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_cmp_lt_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_lt_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x7f,0x04,0x02,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_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_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_cmp_lt_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x02,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_cmp_lt_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0xf0,0x04,0x02,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_cmp_lt_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0xf7,0x04,0x02,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_cmp_lt_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xff,0x03,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_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_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_cmp_lt_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xcb,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_cmp_lt_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xcd,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_cmp_lt_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xcf,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_cmp_lt_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xd5,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_cmp_lt_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xef,0x01,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_cmp_eq_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x54,0x7d]
+0x01,0x05,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x54,0x7d]
+0xff,0x05,0x54,0x7d
# CHECK: v_cmp_eq_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x54,0x7d]
0x01,0x04,0x54,0x7d
@@ -60876,122 +72963,158 @@
# CHECK: v_cmp_eq_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x54,0x7d]
0xf7,0x04,0x54,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x54,0x7d]
-0xfd,0x04,0x54,0x7d
-
# 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_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_cmp_eq_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x54,0x7d]
-0x01,0x05,0x54,0x7d
+# CHECK: v_cmp_eq_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x55,0x7d]
+0x01,0xff,0x55,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x54,0x7d]
-0xff,0x05,0x54,0x7d
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_eq_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x55,0x7d]
-0x01,0xfe,0x55,0x7d
+# CHECK: v_cmp_eq_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xaa,0xd0,0x01,0x05,0x02,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_cmp_eq_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0xff,0x05,0x02,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_cmp_eq_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x65,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x66,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x67,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x6a,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x6b,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x6c,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x6d,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x6e,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x6f,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x7b,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x7c,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x7e,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x7f,0x04,0x02,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_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_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_cmp_eq_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0xf0,0x04,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_cmp_eq_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x02,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_cmp_eq_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_eq_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_eq_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xcd,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_cmp_eq_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_eq_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_eq_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xdf,0x00,0x00
-# 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_cmp_eq_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x56,0x7d]
+0x01,0x05,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x56,0x7d]
+0xff,0x05,0x56,0x7d
# CHECK: v_cmp_le_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x56,0x7d]
0x01,0x04,0x56,0x7d
@@ -61047,122 +73170,158 @@
# CHECK: v_cmp_le_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x56,0x7d]
0xf7,0x04,0x56,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x56,0x7d]
-0xfd,0x04,0x56,0x7d
-
# 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_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_cmp_le_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x56,0x7d]
-0x01,0x05,0x56,0x7d
+# CHECK: v_cmp_le_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x57,0x7d]
+0x01,0xff,0x57,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x56,0x7d]
-0xff,0x05,0x56,0x7d
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x57,0x7d]
-0x01,0xfe,0x57,0x7d
+# CHECK: v_cmp_le_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xab,0xd0,0x01,0x05,0x02,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_cmp_le_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xab,0xd0,0x01,0x05,0x02,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_cmp_le_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xab,0xd0,0x01,0x05,0x02,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_cmp_le_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xab,0xd0,0x01,0x05,0x02,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_cmp_le_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xab,0xd0,0x01,0x05,0x02,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_cmp_le_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xab,0xd0,0x01,0x05,0x02,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_cmp_le_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xab,0xd0,0x01,0x05,0x02,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_cmp_le_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0xff,0x05,0x02,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_cmp_le_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0x04,0x02,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_cmp_le_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x65,0x04,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_cmp_le_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x66,0x04,0x02,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_cmp_le_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x6d,0x04,0x02,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_cmp_le_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_le_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_le_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_le_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_le_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_le_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_le_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_le_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmp_le_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmp_le_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x58,0x7d]
+0x01,0x05,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x58,0x7d]
+0xff,0x05,0x58,0x7d
# CHECK: v_cmp_gt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x58,0x7d]
0x01,0x04,0x58,0x7d
@@ -61218,122 +73377,158 @@
# CHECK: v_cmp_gt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x58,0x7d]
0xf7,0x04,0x58,0x7d
-# CHECK: v_cmp_gt_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x58,0x7d]
-0xfd,0x04,0x58,0x7d
-
# 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_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_cmp_gt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x58,0x7d]
-0x01,0x05,0x58,0x7d
+# CHECK: v_cmp_gt_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x59,0x7d]
+0x01,0xff,0x59,0x7d
-# CHECK: v_cmp_gt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x58,0x7d]
-0xff,0x05,0x58,0x7d
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x59,0x7d]
-0x01,0xfe,0x59,0x7d
+# CHECK: v_cmp_gt_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_gt_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x7b,0x04,0x02,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_cmp_gt_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x7c,0x04,0x02,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_cmp_gt_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x7e,0x04,0x02,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_cmp_gt_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x7f,0x04,0x02,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_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_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_cmp_gt_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0xc1,0x04,0x02,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_cmp_gt_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0xf0,0x04,0x02,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_cmp_gt_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0xf7,0x04,0x02,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_cmp_gt_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xff,0x03,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_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_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_cmp_gt_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xcb,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_cmp_gt_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xcd,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_cmp_gt_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xcf,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_cmp_gt_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xd5,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_cmp_gt_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xff,0x00,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_cmp_gt_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ne_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5a,0x7d]
+0x01,0x05,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5a,0x7d]
+0xff,0x05,0x5a,0x7d
# CHECK: v_cmp_ne_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5a,0x7d]
0x01,0x04,0x5a,0x7d
@@ -61389,122 +73584,158 @@
# CHECK: v_cmp_ne_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5a,0x7d]
0xf7,0x04,0x5a,0x7d
-# CHECK: v_cmp_ne_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5a,0x7d]
-0xfd,0x04,0x5a,0x7d
-
# 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_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_cmp_ne_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5a,0x7d]
-0x01,0x05,0x5a,0x7d
+# CHECK: v_cmp_ne_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5b,0x7d]
+0x01,0xff,0x5b,0x7d
-# CHECK: v_cmp_ne_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5a,0x7d]
-0xff,0x05,0x5a,0x7d
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5b,0x7d]
-0x01,0xfe,0x5b,0x7d
+# CHECK: v_cmp_ne_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xad,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xad,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xad,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xad,0xd0,0x01,0x05,0x02,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_cmp_ne_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xad,0xd0,0x01,0x05,0x02,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_cmp_ne_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xad,0xd0,0x01,0x05,0x02,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_cmp_ne_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xad,0xd0,0x01,0x05,0x02,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_cmp_ne_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0xff,0x05,0x02,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_cmp_ne_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x65,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x66,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x67,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x6a,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x6b,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x6c,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x6d,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x6e,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x6f,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x7b,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x7c,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x7e,0x04,0x02,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_cmp_ne_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x7f,0x04,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_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_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_cmp_ne_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_ne_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_ne_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_ne_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xff,0x03,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_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_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_ne_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xcb,0x00,0x00
-# 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_ne_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xcd,0x00,0x00
-# 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_ne_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xcf,0x00,0x00
-# 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_ne_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xd5,0x00,0x00
-# 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_ne_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xd7,0x00,0x00
-# 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_ne_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5c,0x7d]
+0x01,0x05,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5c,0x7d]
+0xff,0x05,0x5c,0x7d
# CHECK: v_cmp_ge_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5c,0x7d]
0x01,0x04,0x5c,0x7d
@@ -61560,122 +73791,158 @@
# CHECK: v_cmp_ge_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5c,0x7d]
0xf7,0x04,0x5c,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5c,0x7d]
-0xfd,0x04,0x5c,0x7d
-
# 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_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_ge_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5c,0x7d]
-0x01,0x05,0x5c,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5d,0x7d]
+0x01,0xff,0x5d,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5c,0x7d]
-0xff,0x05,0x5c,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5d,0x7d]
-0x01,0xfe,0x5d,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xae,0xd0,0x01,0x05,0x02,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_ge_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xae,0xd0,0x01,0x05,0x02,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_ge_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xae,0xd0,0x01,0x05,0x02,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_ge_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xae,0xd0,0x01,0x05,0x02,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_ge_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xae,0xd0,0x01,0x05,0x02,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_ge_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xae,0xd0,0x01,0x05,0x02,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_ge_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xae,0xd0,0x01,0x05,0x02,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_ge_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0xff,0x05,0x02,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_ge_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0x04,0x02,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_ge_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x65,0x04,0x02,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_ge_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x66,0x04,0x02,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_ge_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x67,0x04,0x02,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_ge_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x6a,0x04,0x02,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_ge_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x6b,0x04,0x02,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_ge_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x6c,0x04,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_ge_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x6d,0x04,0x02,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_ge_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x6e,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x6f,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x7b,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x7c,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x7e,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_ge_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0xc1,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0xf0,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0xf7,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_ge_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xcb,0x00,0x00
-# 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_ge_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xcd,0x00,0x00
-# 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_ge_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xcf,0x00,0x00
-# 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_ge_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xd5,0x00,0x00
-# 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_ge_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xef,0x01,0x00
-# 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_t_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5e,0x7d]
+0x01,0x05,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5e,0x7d]
+0xff,0x05,0x5e,0x7d
# CHECK: v_cmp_t_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5e,0x7d]
0x01,0x04,0x5e,0x7d
@@ -61731,122 +73998,158 @@
# CHECK: v_cmp_t_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5e,0x7d]
0xf7,0x04,0x5e,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5e,0x7d]
-0xfd,0x04,0x5e,0x7d
-
# 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_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_t_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5e,0x7d]
-0x01,0x05,0x5e,0x7d
+# CHECK: v_cmp_t_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5f,0x7d]
+0x01,0xff,0x5f,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5e,0x7d]
-0xff,0x05,0x5e,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_t_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5f,0x7d]
-0x01,0xfe,0x5f,0x7d
+# CHECK: v_cmp_t_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xaf,0xd0,0x01,0x05,0x02,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_t_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xaf,0xd0,0x01,0x05,0x02,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_t_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xaf,0xd0,0x01,0x05,0x02,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_t_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xaf,0xd0,0x01,0x05,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_t_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xaf,0xd0,0x01,0x05,0x02,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_t_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0xff,0x05,0x02,0x00
-# 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_t_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x65,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x66,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x67,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x6c,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x6d,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x6e,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x6f,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x7b,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x7c,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x7e,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x7f,0x04,0x02,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_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_t_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0xc1,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0xf0,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0xf7,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_t_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xcb,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_t_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xcd,0x00,0x00
-# 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_t_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xcf,0x00,0x00
-# 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_t_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xd5,0x00,0x00
-# 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_t_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xd7,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_t_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xd9,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_t_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xdb,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_t_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xdd,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_t_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x60,0x7d]
+0x01,0x05,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x60,0x7d]
+0xff,0x05,0x60,0x7d
# CHECK: v_cmpx_f_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x60,0x7d]
0x01,0x04,0x60,0x7d
@@ -61902,122 +74205,158 @@
# CHECK: v_cmpx_f_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x60,0x7d]
0xf7,0x04,0x60,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x60,0x7d]
-0xfd,0x04,0x60,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_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_cmpx_f_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x60,0x7d]
-0x01,0x05,0x60,0x7d
+# CHECK: v_cmpx_f_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x61,0x7d]
+0x01,0xff,0x61,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x60,0x7d]
-0xff,0x05,0x60,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x61,0x7d]
-0x01,0xfe,0x61,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x6b,0x04,0x02,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_cmpx_f_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x6c,0x04,0x02,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_cmpx_f_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_f_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x7b,0x04,0x02,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_cmpx_f_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x7c,0x04,0x02,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_cmpx_f_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x7e,0x04,0x02,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_cmpx_f_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x7f,0x04,0x02,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_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_cmpx_f_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x02,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_cmpx_f_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x02,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_cmpx_f_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x02,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_cmpx_f_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xff,0x03,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_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_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_cmpx_f_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xcb,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_cmpx_f_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xcd,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_cmpx_f_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xcf,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_cmpx_f_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xd5,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_cmpx_f_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xd7,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_cmpx_f_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xf9,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_cmpx_f_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x62,0x7d]
+0x01,0x05,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x62,0x7d]
+0xff,0x05,0x62,0x7d
# CHECK: v_cmpx_lt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x62,0x7d]
0x01,0x04,0x62,0x7d
@@ -62073,122 +74412,158 @@
# CHECK: v_cmpx_lt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x62,0x7d]
0xf7,0x04,0x62,0x7d
-# CHECK: v_cmpx_lt_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x62,0x7d]
-0xfd,0x04,0x62,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_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_cmpx_lt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x62,0x7d]
-0x01,0x05,0x62,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x63,0x7d]
+0x01,0xff,0x63,0x7d
-# CHECK: v_cmpx_lt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x62,0x7d]
-0xff,0x05,0x62,0x7d
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x63,0x7d]
-0x01,0xfe,0x63,0x7d
+# CHECK: v_cmpx_lt_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb1,0xd0,0x01,0x05,0x02,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_cmpx_lt_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb1,0xd0,0x01,0x05,0x02,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_cmpx_lt_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0xff,0x05,0x02,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_cmpx_lt_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x65,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x66,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x67,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x6d,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x6e,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x6f,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x7b,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x7c,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x7e,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_lt_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0xc1,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0xf0,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0xf7,0x04,0x02,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_cmpx_lt_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xff,0x03,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_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_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_cmpx_lt_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xcb,0x00,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_cmpx_lt_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xcd,0x00,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_cmpx_lt_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xcf,0x00,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_cmpx_lt_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xd5,0x00,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_cmpx_lt_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmpx_lt_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xd9,0x00,0x00
-# 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_cmpx_lt_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmpx_lt_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xff,0x00,0x00
-# 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_cmpx_lt_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x64,0x7d]
+0x01,0x05,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x64,0x7d]
+0xff,0x05,0x64,0x7d
# CHECK: v_cmpx_eq_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x64,0x7d]
0x01,0x04,0x64,0x7d
@@ -62244,122 +74619,158 @@
# CHECK: v_cmpx_eq_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x64,0x7d]
0xf7,0x04,0x64,0x7d
-# CHECK: v_cmpx_eq_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x64,0x7d]
-0xfd,0x04,0x64,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_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_cmpx_eq_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x64,0x7d]
-0x01,0x05,0x64,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x65,0x7d]
+0x01,0xff,0x65,0x7d
-# CHECK: v_cmpx_eq_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x64,0x7d]
-0xff,0x05,0x64,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x65,0x7d]
-0x01,0xfe,0x65,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb2,0xd0,0x01,0x05,0x02,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_cmpx_eq_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb2,0xd0,0x01,0x05,0x02,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_cmpx_eq_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb2,0xd0,0x01,0x05,0x02,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_cmpx_eq_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb2,0xd0,0x01,0x05,0x02,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_cmpx_eq_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb2,0xd0,0x01,0x05,0x02,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_cmpx_eq_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb2,0xd0,0x01,0x05,0x02,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_cmpx_eq_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb2,0xd0,0x01,0x05,0x02,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_cmpx_eq_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0xff,0x05,0x02,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_cmpx_eq_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0x04,0x02,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_cmpx_eq_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x65,0x04,0x02,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_cmpx_eq_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x66,0x04,0x02,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_cmpx_eq_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x67,0x04,0x02,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_cmpx_eq_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x6a,0x04,0x02,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_cmpx_eq_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x6b,0x04,0x02,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_cmpx_eq_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x6c,0x04,0x02,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_cmpx_eq_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x6d,0x04,0x02,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_cmpx_eq_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x6e,0x04,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_cmpx_eq_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x6f,0x04,0x02,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_cmpx_eq_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_eq_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_eq_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0x83,0x01,0x00
-# 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_cmpx_eq_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x66,0x7d]
+0x01,0x05,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x66,0x7d]
+0xff,0x05,0x66,0x7d
# CHECK: v_cmpx_le_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x66,0x7d]
0x01,0x04,0x66,0x7d
@@ -62415,122 +74826,158 @@
# CHECK: v_cmpx_le_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x66,0x7d]
0xf7,0x04,0x66,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x66,0x7d]
-0xfd,0x04,0x66,0x7d
-
# 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_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_cmpx_le_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x66,0x7d]
-0x01,0x05,0x66,0x7d
+# CHECK: v_cmpx_le_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x67,0x7d]
+0x01,0xff,0x67,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x66,0x7d]
-0xff,0x05,0x66,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x67,0x7d]
-0x01,0xfe,0x67,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb3,0xd0,0x01,0x05,0x02,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_cmpx_le_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb3,0xd0,0x01,0x05,0x02,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_cmpx_le_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb3,0xd0,0x01,0x05,0x02,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_cmpx_le_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb3,0xd0,0x01,0x05,0x02,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_cmpx_le_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb3,0xd0,0x01,0x05,0x02,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_cmpx_le_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb3,0xd0,0x01,0x05,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_cmpx_le_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb3,0xd0,0x01,0x05,0x02,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_cmpx_le_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_le_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_le_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xff,0x03,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_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_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_cmpx_le_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_le_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_le_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_le_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xd5,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_cmpx_le_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xdb,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_cmpx_le_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x68,0x7d]
+0x01,0x05,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x68,0x7d]
+0xff,0x05,0x68,0x7d
# CHECK: v_cmpx_gt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x68,0x7d]
0x01,0x04,0x68,0x7d
@@ -62586,122 +75033,158 @@
# CHECK: v_cmpx_gt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x68,0x7d]
0xf7,0x04,0x68,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x68,0x7d]
-0xfd,0x04,0x68,0x7d
-
# 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_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_cmpx_gt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x68,0x7d]
-0x01,0x05,0x68,0x7d
+# CHECK: v_cmpx_gt_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x69,0x7d]
+0x01,0xff,0x69,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x68,0x7d]
-0xff,0x05,0x68,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_gt_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x69,0x7d]
-0x01,0xfe,0x69,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x6f,0x04,0x02,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_cmpx_gt_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x7b,0x04,0x02,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_cmpx_gt_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_gt_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x7f,0x04,0x02,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_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_cmpx_gt_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x02,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_cmpx_gt_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x02,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_cmpx_gt_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x02,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_cmpx_gt_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xff,0x03,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_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_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_cmpx_gt_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xcb,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_cmpx_gt_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xcd,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_cmpx_gt_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xcf,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_cmpx_gt_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xd5,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_cmpx_gt_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xd7,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_cmpx_gt_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xd9,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_cmpx_gt_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xdb,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_cmpx_gt_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xdd,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_cmpx_gt_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6a,0x7d]
+0x01,0x05,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6a,0x7d]
+0xff,0x05,0x6a,0x7d
# CHECK: v_cmpx_ne_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6a,0x7d]
0x01,0x04,0x6a,0x7d
@@ -62757,122 +75240,158 @@
# CHECK: v_cmpx_ne_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6a,0x7d]
0xf7,0x04,0x6a,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6a,0x7d]
-0xfd,0x04,0x6a,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_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_cmpx_ne_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6a,0x7d]
-0x01,0x05,0x6a,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6b,0x7d]
+0x01,0xff,0x6b,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6a,0x7d]
-0xff,0x05,0x6a,0x7d
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6b,0x7d]
-0x01,0xfe,0x6b,0x7d
+# CHECK: v_cmpx_ne_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_ne_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_ne_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_ne_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_ne_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb5,0xd0,0x01,0x05,0x02,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_cmpx_ne_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb5,0xd0,0x01,0x05,0x02,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_cmpx_ne_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_ne_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_ne_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_ne_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x65,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x66,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x67,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x6a,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x6b,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x6c,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x6d,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x6e,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x6f,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x7b,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x7c,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x7e,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_ne_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0xc1,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0xf0,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x02,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_cmpx_ne_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xff,0x03,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_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_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_cmpx_ne_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xcb,0x00,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_cmpx_ne_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xcd,0x00,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_cmpx_ne_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xcf,0x00,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_cmpx_ne_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_ne_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xf7,0x00,0x00
-# 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_cmpx_ne_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6c,0x7d]
+0x01,0x05,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6c,0x7d]
+0xff,0x05,0x6c,0x7d
# CHECK: v_cmpx_ge_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6c,0x7d]
0x01,0x04,0x6c,0x7d
@@ -62928,122 +75447,158 @@
# CHECK: v_cmpx_ge_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6c,0x7d]
0xf7,0x04,0x6c,0x7d
-# CHECK: v_cmpx_ge_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6c,0x7d]
-0xfd,0x04,0x6c,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_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_cmpx_ge_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6c,0x7d]
-0x01,0x05,0x6c,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6d,0x7d]
+0x01,0xff,0x6d,0x7d
-# CHECK: v_cmpx_ge_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6c,0x7d]
-0xff,0x05,0x6c,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6d,0x7d]
-0x01,0xfe,0x6d,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb6,0xd0,0x01,0x05,0x02,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_cmpx_ge_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb6,0xd0,0x01,0x05,0x02,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_cmpx_ge_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb6,0xd0,0x01,0x05,0x02,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_cmpx_ge_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb6,0xd0,0x01,0x05,0x02,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_cmpx_ge_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb6,0xd0,0x01,0x05,0x02,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_cmpx_ge_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb6,0xd0,0x01,0x05,0x02,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_cmpx_ge_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb6,0xd0,0x01,0x05,0x02,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_cmpx_ge_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0xff,0x05,0x02,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_cmpx_ge_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x65,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x66,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x67,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x6a,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x6b,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x6c,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x6d,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x6e,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x6f,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x7b,0x04,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_cmpx_ge_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x7c,0x04,0x02,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_cmpx_ge_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_ge_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_ge_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_ge_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_ge_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_ge_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_ge_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_ge_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_ge_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_ge_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_ge_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xfd,0x00,0x00
-# 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_cmpx_ge_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_t_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6e,0x7d]
+0x01,0x05,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6e,0x7d]
+0xff,0x05,0x6e,0x7d
# CHECK: v_cmpx_t_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6e,0x7d]
0x01,0x04,0x6e,0x7d
@@ -63099,122 +75654,158 @@
# CHECK: v_cmpx_t_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6e,0x7d]
0xf7,0x04,0x6e,0x7d
-# CHECK: v_cmpx_t_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6e,0x7d]
-0xfd,0x04,0x6e,0x7d
-
# 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_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_cmpx_t_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6e,0x7d]
-0x01,0x05,0x6e,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6f,0x7d]
+0x01,0xff,0x6f,0x7d
-# CHECK: v_cmpx_t_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6e,0x7d]
-0xff,0x05,0x6e,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6f,0x7d]
-0x01,0xfe,0x6f,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb7,0xd0,0x01,0x05,0x02,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_cmpx_t_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb7,0xd0,0x01,0x05,0x02,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_cmpx_t_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb7,0xd0,0x01,0x05,0x02,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_cmpx_t_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb7,0xd0,0x01,0x05,0x02,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_cmpx_t_i16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb7,0xd0,0x01,0x05,0x02,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_cmpx_t_i16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb7,0xd0,0x01,0x05,0x02,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_cmpx_t_i16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb7,0xd0,0x01,0x05,0x02,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_cmpx_t_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0xff,0x05,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_cmpx_t_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0x04,0x02,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_cmpx_t_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_t_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_t_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_t_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_t_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_t_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_t_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_t_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xd7,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_cmpx_t_i16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xd9,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_cmpx_t_i16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xdb,0x00,0x00
-# 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_cmpx_t_i16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xdd,0x00,0x00
-# 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_cmpx_t_i16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0x01,0x01,0x00
-# 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_cmpx_t_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x70,0x7d]
+0x01,0x05,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x70,0x7d]
+0xff,0x05,0x70,0x7d
# CHECK: v_cmpx_f_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x70,0x7d]
0x01,0x04,0x70,0x7d
@@ -63270,122 +75861,158 @@
# CHECK: v_cmpx_f_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x70,0x7d]
0xf7,0x04,0x70,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x70,0x7d]
-0xfd,0x04,0x70,0x7d
-
# 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_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_cmpx_f_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x70,0x7d]
-0x01,0x05,0x70,0x7d
+# CHECK: v_cmpx_f_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x71,0x7d]
+0x01,0xff,0x71,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x70,0x7d]
-0xff,0x05,0x70,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x71,0x7d]
-0x01,0xfe,0x71,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x6f,0x04,0x02,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_cmpx_f_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x7b,0x04,0x02,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_cmpx_f_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_f_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_f_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x02,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_cmpx_f_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x02,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_cmpx_f_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x02,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_cmpx_f_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xff,0x03,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_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_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_cmpx_f_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xcb,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_cmpx_f_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xcd,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_cmpx_f_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xcf,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_cmpx_f_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xd5,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_cmpx_f_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xe1,0x01,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_cmpx_f_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x72,0x7d]
+0x01,0x05,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x72,0x7d]
+0xff,0x05,0x72,0x7d
# CHECK: v_cmpx_lt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x72,0x7d]
0x01,0x04,0x72,0x7d
@@ -63441,122 +76068,158 @@
# CHECK: v_cmpx_lt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x72,0x7d]
0xf7,0x04,0x72,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x72,0x7d]
-0xfd,0x04,0x72,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_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_cmpx_lt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x72,0x7d]
-0x01,0x05,0x72,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x73,0x7d]
+0x01,0xff,0x73,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x72,0x7d]
-0xff,0x05,0x72,0x7d
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_lt_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x73,0x7d]
-0x01,0xfe,0x73,0x7d
+# CHECK: v_cmpx_lt_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xb9,0xd0,0x01,0x05,0x02,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_cmpx_lt_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0xff,0x05,0x02,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_cmpx_lt_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_lt_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_lt_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_lt_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x67,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x6b,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x6c,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x6d,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x6e,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x6f,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x7b,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x7c,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x7e,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x7f,0x04,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_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_cmpx_lt_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0xc1,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0xf0,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x02,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_cmpx_lt_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xff,0x03,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_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_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_cmpx_lt_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xcb,0x00,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_cmpx_lt_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xcd,0x00,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_cmpx_lt_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xcf,0x00,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_cmpx_lt_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xd5,0x00,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_cmpx_lt_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xd7,0x00,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_cmpx_lt_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xd9,0x00,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_cmpx_lt_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xdb,0x00,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_cmpx_lt_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x74,0x7d]
+0x01,0x05,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x74,0x7d]
+0xff,0x05,0x74,0x7d
# CHECK: v_cmpx_eq_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x74,0x7d]
0x01,0x04,0x74,0x7d
@@ -63612,122 +76275,158 @@
# CHECK: v_cmpx_eq_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x74,0x7d]
0xf7,0x04,0x74,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x74,0x7d]
-0xfd,0x04,0x74,0x7d
-
# 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_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_cmpx_eq_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x74,0x7d]
-0x01,0x05,0x74,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x75,0x7d]
+0x01,0xff,0x75,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x74,0x7d]
-0xff,0x05,0x74,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_eq_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x75,0x7d]
-0x01,0xfe,0x75,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xba,0xd0,0x01,0x05,0x02,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_cmpx_eq_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xba,0xd0,0x01,0x05,0x02,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_cmpx_eq_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xba,0xd0,0x01,0x05,0x02,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_cmpx_eq_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xba,0xd0,0x01,0x05,0x02,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_cmpx_eq_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xba,0xd0,0x01,0x05,0x02,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_cmpx_eq_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xba,0xd0,0x01,0x05,0x02,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_cmpx_eq_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xba,0xd0,0x01,0x05,0x02,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_cmpx_eq_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0xff,0x05,0x02,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_cmpx_eq_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x65,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x66,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x67,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x6a,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x6b,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x6c,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x6d,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x6e,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x6f,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x7b,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x7c,0x04,0x02,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_cmpx_eq_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x7e,0x04,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_cmpx_eq_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x7f,0x04,0x02,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_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_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_eq_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0xc1,0x04,0x02,0x00
-# 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_eq_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0xf0,0x04,0x02,0x00
-# 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_eq_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0xf7,0x04,0x02,0x00
-# 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_eq_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_eq_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xcb,0x00,0x00
-# 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_eq_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xcd,0x00,0x00
-# 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_eq_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xcf,0x00,0x00
-# 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_eq_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xd5,0x00,0x00
-# 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_eq_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xdf,0x00,0x00
-# 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_eq_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x76,0x7d]
+0x01,0x05,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x76,0x7d]
+0xff,0x05,0x76,0x7d
# CHECK: v_cmpx_le_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x76,0x7d]
0x01,0x04,0x76,0x7d
@@ -63783,122 +76482,158 @@
# CHECK: v_cmpx_le_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x76,0x7d]
0xf7,0x04,0x76,0x7d
-# CHECK: v_cmpx_le_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x76,0x7d]
-0xfd,0x04,0x76,0x7d
-
# 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_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_le_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x76,0x7d]
-0x01,0x05,0x76,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x77,0x7d]
+0x01,0xff,0x77,0x7d
-# CHECK: v_cmpx_le_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x76,0x7d]
-0xff,0x05,0x76,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x77,0x7d]
-0x01,0xfe,0x77,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbb,0xd0,0x01,0x05,0x02,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_le_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbb,0xd0,0x01,0x05,0x02,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_le_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbb,0xd0,0x01,0x05,0x02,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_le_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbb,0xd0,0x01,0x05,0x02,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_le_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xbb,0xd0,0x01,0x05,0x02,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_le_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xbb,0xd0,0x01,0x05,0x02,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_le_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xbb,0xd0,0x01,0x05,0x02,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_le_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0xff,0x05,0x02,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_le_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0x04,0x02,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_le_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x65,0x04,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_le_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x66,0x04,0x02,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_le_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x67,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x6b,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x6c,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x6d,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x6e,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x6f,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x7b,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x7c,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x7e,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_le_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0xc1,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0xf0,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0xf7,0x04,0x02,0x00
-# 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_le_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_le_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xcb,0x00,0x00
-# 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_le_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xcd,0x00,0x00
-# 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_le_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xcf,0x00,0x00
-# 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_le_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xd5,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_le_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xd7,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_le_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xf9,0x00,0x00
-# 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_le_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x78,0x7d]
+0x01,0x05,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x78,0x7d]
+0xff,0x05,0x78,0x7d
# CHECK: v_cmpx_gt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x78,0x7d]
0x01,0x04,0x78,0x7d
@@ -63954,122 +76689,158 @@
# CHECK: v_cmpx_gt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x78,0x7d]
0xf7,0x04,0x78,0x7d
-# CHECK: v_cmpx_gt_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x78,0x7d]
-0xfd,0x04,0x78,0x7d
-
# 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_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_gt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x78,0x7d]
-0x01,0x05,0x78,0x7d
+# CHECK: v_cmpx_gt_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x79,0x7d]
+0x01,0xff,0x79,0x7d
-# CHECK: v_cmpx_gt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x78,0x7d]
-0xff,0x05,0x78,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x79,0x7d]
-0x01,0xfe,0x79,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0xff,0x05,0x02,0x00
-# 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_gt_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x65,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x66,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x67,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x6d,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x6e,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x6f,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x7b,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x7c,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x7e,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_gt_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x02,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_gt_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x02,0x00
-# 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_gt_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_gt_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xcb,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_gt_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xcd,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_gt_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xcf,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_gt_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xd5,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_gt_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xd7,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_gt_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xd9,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_gt_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xdb,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_gt_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xff,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_gt_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7a,0x7d]
+0x01,0x05,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7a,0x7d]
+0xff,0x05,0x7a,0x7d
# CHECK: v_cmpx_ne_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7a,0x7d]
0x01,0x04,0x7a,0x7d
@@ -64125,122 +76896,158 @@
# CHECK: v_cmpx_ne_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7a,0x7d]
0xf7,0x04,0x7a,0x7d
-# CHECK: v_cmpx_ne_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7a,0x7d]
-0xfd,0x04,0x7a,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_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_ne_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7a,0x7d]
-0x01,0x05,0x7a,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7b,0x7d]
+0x01,0xff,0x7b,0x7d
-# CHECK: v_cmpx_ne_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7a,0x7d]
-0xff,0x05,0x7a,0x7d
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7b,0x7d]
-0x01,0xfe,0x7b,0x7d
+# CHECK: v_cmpx_ne_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0xff,0x05,0x02,0x00
-# 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_ne_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0x04,0x02,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_ne_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x65,0x04,0x02,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_ne_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x66,0x04,0x02,0x00
-# 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_ne_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x67,0x04,0x02,0x00
-# 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_ne_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x6a,0x04,0x02,0x00
-# 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_ne_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x6b,0x04,0x02,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_ne_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x6c,0x04,0x02,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_ne_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x6d,0x04,0x02,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_ne_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x6e,0x04,0x02,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_ne_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x6f,0x04,0x02,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_ne_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x7b,0x04,0x02,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_ne_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x7c,0x04,0x02,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_ne_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x7e,0x04,0x02,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_ne_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x7f,0x04,0x02,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_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_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_ne_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0xc1,0x04,0x02,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_ne_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0xf0,0x04,0x02,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_ne_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0xf7,0x04,0x02,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_ne_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xff,0x03,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_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_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_ne_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xcb,0x00,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_ne_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xcd,0x00,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_ne_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xcf,0x00,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_ne_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xd5,0x00,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_ne_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0x83,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_ne_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7c,0x7d]
+0x01,0x05,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7c,0x7d]
+0xff,0x05,0x7c,0x7d
# CHECK: v_cmpx_ge_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7c,0x7d]
0x01,0x04,0x7c,0x7d
@@ -64296,122 +77103,158 @@
# CHECK: v_cmpx_ge_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7c,0x7d]
0xf7,0x04,0x7c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7c,0x7d]
-0xfd,0x04,0x7c,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_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_ge_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7c,0x7d]
-0x01,0x05,0x7c,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7d,0x7d]
+0x01,0xff,0x7d,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7c,0x7d]
-0xff,0x05,0x7c,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ge_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7d,0x7d]
-0x01,0xfe,0x7d,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbe,0xd0,0x01,0x05,0x02,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_ge_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbe,0xd0,0x01,0x05,0x02,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_ge_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xbe,0xd0,0x01,0x05,0x02,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_ge_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xbe,0xd0,0x01,0x05,0x02,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_ge_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xbe,0xd0,0x01,0x05,0x02,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_ge_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0xff,0x05,0x02,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_ge_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0x04,0x02,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_ge_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x65,0x04,0x02,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_ge_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x66,0x04,0x02,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_ge_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x67,0x04,0x02,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_ge_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x6a,0x04,0x02,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_ge_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x6b,0x04,0x02,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_ge_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x6c,0x04,0x02,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_ge_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x6d,0x04,0x02,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_ge_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x6e,0x04,0x02,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_ge_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x6f,0x04,0x02,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_ge_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x7b,0x04,0x02,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_ge_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x7c,0x04,0x02,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_ge_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x7e,0x04,0x02,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_ge_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x7f,0x04,0x02,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_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_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_ge_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x02,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_ge_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x02,0x00
-# 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_ge_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_ge_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xcb,0x00,0x00
-# 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_ge_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xcd,0x00,0x00
-# 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_ge_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xcf,0x00,0x00
-# 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_ge_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xd5,0x00,0x00
-# 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_ge_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xdb,0x00,0x00
-# 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_ge_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_t_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7e,0x7d]
+0x01,0x05,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7e,0x7d]
+0xff,0x05,0x7e,0x7d
# CHECK: v_cmpx_t_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7e,0x7d]
0x01,0x04,0x7e,0x7d
@@ -64467,122 +77310,158 @@
# CHECK: v_cmpx_t_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7e,0x7d]
0xf7,0x04,0x7e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7e,0x7d]
-0xfd,0x04,0x7e,0x7d
-
# 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_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_t_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7e,0x7d]
-0x01,0x05,0x7e,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7f,0x7d]
+0x01,0xff,0x7f,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7e,0x7d]
-0xff,0x05,0x7e,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_t_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7f,0x7d]
-0x01,0xfe,0x7f,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbf,0xd0,0x01,0x05,0x02,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_t_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbf,0xd0,0x01,0x05,0x02,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_t_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbf,0xd0,0x01,0x05,0x02,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_t_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbf,0xd0,0x01,0x05,0x02,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_t_u16_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xbf,0xd0,0x01,0x05,0x02,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_t_u16_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xbf,0xd0,0x01,0x05,0x02,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_t_u16_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xbf,0xd0,0x01,0x05,0x02,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_t_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0xff,0x05,0x02,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_t_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0x04,0x02,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_t_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x65,0x04,0x02,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_t_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x66,0x04,0x02,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_t_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x67,0x04,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_t_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x6a,0x04,0x02,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_t_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x6b,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x6c,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x6d,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x6e,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x6f,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x7b,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x7c,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x7e,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_t_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0xc1,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0xf0,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0xf7,0x04,0x02,0x00
-# 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_t_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_t_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xcb,0x00,0x00
-# 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_t_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xcd,0x00,0x00
-# 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_t_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xcf,0x00,0x00
-# 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_t_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xd5,0x00,0x00
-# 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_t_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x80,0x7d]
+0x01,0x05,0x80,0x7d
-# 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_cmp_f_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x80,0x7d]
+0xff,0x05,0x80,0x7d
# CHECK: v_cmp_f_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x80,0x7d]
0x01,0x04,0x80,0x7d
@@ -64638,122 +77517,158 @@
# CHECK: v_cmp_f_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x80,0x7d]
0xf7,0x04,0x80,0x7d
-# CHECK: v_cmp_f_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x80,0x7d]
-0xfd,0x04,0x80,0x7d
-
# 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_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_cmp_f_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x80,0x7d]
-0x01,0x05,0x80,0x7d
+# CHECK: v_cmp_f_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x81,0x7d]
+0x01,0xff,0x81,0x7d
-# CHECK: v_cmp_f_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x80,0x7d]
-0xff,0x05,0x80,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x81,0x7d]
-0x01,0xfe,0x81,0x7d
+# CHECK: v_cmp_f_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc0,0xd0,0x01,0x05,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_cmp_f_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc0,0xd0,0x01,0x05,0x02,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_cmp_f_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_f_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_f_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_f_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_f_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x7f,0x04,0x02,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_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_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_cmp_f_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_f_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xff,0x03,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_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_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_cmp_f_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xcb,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_cmp_f_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xcd,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_cmp_f_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xcf,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_cmp_f_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xd5,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_cmp_f_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xf7,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_cmp_f_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x82,0x7d]
+0x01,0x05,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x82,0x7d]
+0xff,0x05,0x82,0x7d
# CHECK: v_cmp_lt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x82,0x7d]
0x01,0x04,0x82,0x7d
@@ -64809,122 +77724,158 @@
# CHECK: v_cmp_lt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x82,0x7d]
0xf7,0x04,0x82,0x7d
-# CHECK: v_cmp_lt_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x82,0x7d]
-0xfd,0x04,0x82,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_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_cmp_lt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x82,0x7d]
-0x01,0x05,0x82,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x83,0x7d]
+0x01,0xff,0x83,0x7d
-# CHECK: v_cmp_lt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x82,0x7d]
-0xff,0x05,0x82,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x83,0x7d]
-0x01,0xfe,0x83,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_lt_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_lt_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_lt_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x66,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x67,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_lt_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_lt_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_lt_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x6d,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x6e,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x6f,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x7b,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x7c,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x7e,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x7f,0x04,0x02,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_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_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_cmp_lt_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0xc1,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0xf0,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0xf7,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xff,0x03,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_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_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_cmp_lt_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xcb,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_cmp_lt_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xcd,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_cmp_lt_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xcf,0x00,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_cmp_lt_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xd5,0x00,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_cmp_lt_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xff,0x00,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_cmp_lt_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x84,0x7d]
+0x01,0x05,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x84,0x7d]
+0xff,0x05,0x84,0x7d
# CHECK: v_cmp_eq_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x84,0x7d]
0x01,0x04,0x84,0x7d
@@ -64980,122 +77931,158 @@
# CHECK: v_cmp_eq_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x84,0x7d]
0xf7,0x04,0x84,0x7d
-# CHECK: v_cmp_eq_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x84,0x7d]
-0xfd,0x04,0x84,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_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_cmp_eq_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x84,0x7d]
-0x01,0x05,0x84,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x85,0x7d]
+0x01,0xff,0x85,0x7d
-# CHECK: v_cmp_eq_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x84,0x7d]
-0xff,0x05,0x84,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x85,0x7d]
-0x01,0xfe,0x85,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc2,0xd0,0x01,0x05,0x02,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_cmp_eq_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_eq_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc2,0xd0,0x01,0x05,0x02,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_cmp_eq_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc2,0xd0,0x01,0x05,0x02,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_cmp_eq_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc2,0xd0,0x01,0x05,0x02,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_cmp_eq_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0xff,0x05,0x02,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_cmp_eq_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x65,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x66,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x67,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x6a,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x6b,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x6c,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x6d,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x6e,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x6f,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x7b,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x7c,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x7e,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x7f,0x04,0x02,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_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_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_cmp_eq_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0xf0,0x04,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_cmp_eq_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x02,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_cmp_eq_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_eq_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_eq_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_eq_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_eq_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_eq_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0x01,0x01,0x00
-# 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_cmp_eq_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x86,0x7d]
+0x01,0x05,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x86,0x7d]
+0xff,0x05,0x86,0x7d
# CHECK: v_cmp_le_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x86,0x7d]
0x01,0x04,0x86,0x7d
@@ -65151,122 +78138,158 @@
# CHECK: v_cmp_le_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x86,0x7d]
0xf7,0x04,0x86,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x86,0x7d]
-0xfd,0x04,0x86,0x7d
-
# 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_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_cmp_le_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x86,0x7d]
-0x01,0x05,0x86,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x87,0x7d]
+0x01,0xff,0x87,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x86,0x7d]
-0xff,0x05,0x86,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_le_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x87,0x7d]
-0x01,0xfe,0x87,0x7d
+# CHECK: v_cmp_le_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc3,0xd0,0x01,0x05,0x02,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_cmp_le_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc3,0xd0,0x01,0x05,0x02,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_cmp_le_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc3,0xd0,0x01,0x05,0x02,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_cmp_le_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc3,0xd0,0x01,0x05,0x02,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_cmp_le_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc3,0xd0,0x01,0x05,0x02,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_cmp_le_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc3,0xd0,0x01,0x05,0x02,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_cmp_le_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc3,0xd0,0x01,0x05,0x02,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_cmp_le_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0xff,0x05,0x02,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_cmp_le_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0x04,0x02,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_cmp_le_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x65,0x04,0x02,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_cmp_le_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x66,0x04,0x02,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_cmp_le_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x67,0x04,0x02,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_cmp_le_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x6a,0x04,0x02,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_cmp_le_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x6b,0x04,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_cmp_le_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x6c,0x04,0x02,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_cmp_le_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_le_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_le_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_le_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_le_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_le_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_le_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_le_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmp_le_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmp_le_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_le_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_le_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmp_le_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_le_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_le_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_le_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmp_le_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x88,0x7d]
+0x01,0x05,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x88,0x7d]
+0xff,0x05,0x88,0x7d
# CHECK: v_cmp_gt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x88,0x7d]
0x01,0x04,0x88,0x7d
@@ -65322,122 +78345,158 @@
# CHECK: v_cmp_gt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x88,0x7d]
0xf7,0x04,0x88,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x88,0x7d]
-0xfd,0x04,0x88,0x7d
-
# 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_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_cmp_gt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x88,0x7d]
-0x01,0x05,0x88,0x7d
+# CHECK: v_cmp_gt_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x89,0x7d]
+0x01,0xff,0x89,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x88,0x7d]
-0xff,0x05,0x88,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_gt_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x89,0x7d]
-0x01,0xfe,0x89,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc4,0xd0,0x01,0x05,0x02,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_cmp_gt_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc4,0xd0,0x01,0x05,0x02,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_cmp_gt_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc4,0xd0,0x01,0x05,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_cmp_gt_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc4,0xd0,0x01,0x05,0x02,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_cmp_gt_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmp_gt_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x02,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_cmp_gt_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x02,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_cmp_gt_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmp_gt_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmp_gt_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xcb,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_cmp_gt_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xcd,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_cmp_gt_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xcf,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_cmp_gt_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xd5,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_cmp_gt_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xdd,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_cmp_gt_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ne_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8a,0x7d]
+0x01,0x05,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8a,0x7d]
+0xff,0x05,0x8a,0x7d
# CHECK: v_cmp_ne_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8a,0x7d]
0x01,0x04,0x8a,0x7d
@@ -65493,122 +78552,158 @@
# CHECK: v_cmp_ne_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8a,0x7d]
0xf7,0x04,0x8a,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8a,0x7d]
-0xfd,0x04,0x8a,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_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_cmp_ne_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8a,0x7d]
-0x01,0x05,0x8a,0x7d
+# CHECK: v_cmp_ne_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8b,0x7d]
+0x01,0xff,0x8b,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8a,0x7d]
-0xff,0x05,0x8a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8b,0x7d]
-0x01,0xfe,0x8b,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ne_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0xff,0x05,0x02,0x00
-# 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_cmp_ne_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0x04,0x02,0x00
-# 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_cmp_ne_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x65,0x04,0x02,0x00
-# 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_cmp_ne_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_ne_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x67,0x04,0x02,0x00
-# 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_cmp_ne_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x6a,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x6b,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_ne_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmp_ne_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_ne_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x6f,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x7b,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x7c,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x7e,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x7f,0x04,0x02,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_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_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_cmp_ne_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0xc1,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0xf0,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0xf7,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xff,0x03,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_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_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_cmp_ne_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xcb,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_cmp_ne_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xcd,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_cmp_ne_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xcf,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_cmp_ne_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xd5,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_cmp_ne_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xdf,0x00,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_cmp_ne_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8c,0x7d]
+0x01,0x05,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8c,0x7d]
+0xff,0x05,0x8c,0x7d
# CHECK: v_cmp_ge_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8c,0x7d]
0x01,0x04,0x8c,0x7d
@@ -65664,122 +78759,158 @@
# CHECK: v_cmp_ge_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8c,0x7d]
0xf7,0x04,0x8c,0x7d
-# CHECK: v_cmp_ge_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8c,0x7d]
-0xfd,0x04,0x8c,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_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_cmp_ge_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8c,0x7d]
-0x01,0x05,0x8c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8d,0x7d]
+0x01,0xff,0x8d,0x7d
-# CHECK: v_cmp_ge_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8c,0x7d]
-0xff,0x05,0x8c,0x7d
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8d,0x7d]
-0x01,0xfe,0x8d,0x7d
+# CHECK: v_cmp_ge_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc6,0xd0,0x01,0x05,0x02,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_cmp_ge_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc6,0xd0,0x01,0x05,0x02,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_cmp_ge_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_ge_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc6,0xd0,0x01,0x05,0x02,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_cmp_ge_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0xff,0x05,0x02,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_cmp_ge_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x65,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x66,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x67,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x6b,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x6c,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x6d,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x6e,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x6f,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x7b,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x7c,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x7e,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x7f,0x04,0x02,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_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_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_cmp_ge_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x02,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_cmp_ge_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xff,0x03,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_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_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_cmp_ge_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xcb,0x00,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_cmp_ge_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmp_ge_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmp_ge_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmp_ge_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xd7,0x00,0x00
-# 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_cmp_ge_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xf9,0x00,0x00
-# 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_cmp_ge_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_t_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8e,0x7d]
+0x01,0x05,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8e,0x7d]
+0xff,0x05,0x8e,0x7d
# CHECK: v_cmp_t_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8e,0x7d]
0x01,0x04,0x8e,0x7d
@@ -65835,122 +78966,158 @@
# CHECK: v_cmp_t_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8e,0x7d]
0xf7,0x04,0x8e,0x7d
-# CHECK: v_cmp_t_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8e,0x7d]
-0xfd,0x04,0x8e,0x7d
-
# 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_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_cmp_t_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8e,0x7d]
-0x01,0x05,0x8e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8f,0x7d]
+0x01,0xff,0x8f,0x7d
-# CHECK: v_cmp_t_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8e,0x7d]
-0xff,0x05,0x8e,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8f,0x7d]
-0x01,0xfe,0x8f,0x7d
+# CHECK: v_cmp_t_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc7,0xd0,0x01,0x05,0x02,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_cmp_t_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc7,0xd0,0x01,0x05,0x02,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_cmp_t_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc7,0xd0,0x01,0x05,0x02,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_cmp_t_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc7,0xd0,0x01,0x05,0x02,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_cmp_t_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc7,0xd0,0x01,0x05,0x02,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_cmp_t_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc7,0xd0,0x01,0x05,0x02,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_cmp_t_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc7,0xd0,0x01,0x05,0x02,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_cmp_t_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0xff,0x05,0x02,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_cmp_t_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0x04,0x02,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_cmp_t_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x65,0x04,0x02,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_cmp_t_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x66,0x04,0x02,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_cmp_t_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x67,0x04,0x02,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_cmp_t_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x6a,0x04,0x02,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_cmp_t_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x6b,0x04,0x02,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_cmp_t_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x6c,0x04,0x02,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_cmp_t_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x6d,0x04,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_cmp_t_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x6e,0x04,0x02,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_t_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x6f,0x04,0x02,0x00
-# 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_t_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x7b,0x04,0x02,0x00
-# 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_t_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x7c,0x04,0x02,0x00
-# 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_t_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x7e,0x04,0x02,0x00
-# 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_t_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_t_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0xc1,0x04,0x02,0x00
-# 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_t_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0xf0,0x04,0x02,0x00
-# 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_t_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0xf7,0x04,0x02,0x00
-# 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_t_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_t_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xcb,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xcd,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xcf,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xd5,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xff,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x90,0x7d]
+0x01,0x05,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x90,0x7d]
+0xff,0x05,0x90,0x7d
# CHECK: v_cmp_f_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x90,0x7d]
0x01,0x04,0x90,0x7d
@@ -66006,122 +79173,158 @@
# CHECK: v_cmp_f_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x90,0x7d]
0xf7,0x04,0x90,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x90,0x7d]
-0xfd,0x04,0x90,0x7d
-
# 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_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_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x90,0x7d]
-0x01,0x05,0x90,0x7d
+# CHECK: v_cmp_f_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x91,0x7d]
+0x01,0xff,0x91,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x90,0x7d]
-0xff,0x05,0x90,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x91,0x7d]
-0x01,0xfe,0x91,0x7d
+# CHECK: v_cmp_f_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc8,0xd0,0x01,0x05,0x02,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_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc8,0xd0,0x01,0x05,0x02,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_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc8,0xd0,0x01,0x05,0x02,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_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc8,0xd0,0x01,0x05,0x02,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_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc8,0xd0,0x01,0x05,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_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc8,0xd0,0x01,0x05,0x02,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_f_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0xff,0x05,0x02,0x00
-# 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_f_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x65,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x66,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x67,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x6a,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x6b,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x6c,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x6d,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x6e,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x6f,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x7b,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x7c,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x7e,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_f_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_f_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xcb,0x00,0x00
-# 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_f_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xcd,0x00,0x00
-# 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_f_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xcf,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_f_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xd5,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_f_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xd7,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_f_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x92,0x7d]
+0x01,0x05,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x92,0x7d]
+0xff,0x05,0x92,0x7d
# CHECK: v_cmp_lt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x92,0x7d]
0x01,0x04,0x92,0x7d
@@ -66177,122 +79380,158 @@
# CHECK: v_cmp_lt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x92,0x7d]
0xf7,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x92,0x7d]
-0xfd,0x04,0x92,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_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_lt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x92,0x7d]
-0x01,0x05,0x92,0x7d
+# CHECK: v_cmp_lt_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x93,0x7d]
+0x01,0xff,0x93,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x92,0x7d]
-0xff,0x05,0x92,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_lt_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x93,0x7d]
-0x01,0xfe,0x93,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0xff,0x05,0x02,0x00
-# 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_lt_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x65,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x66,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x67,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x6a,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x6b,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x6c,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x6d,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x6e,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x6f,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x7b,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x7c,0x04,0x02,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_lt_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x7e,0x04,0x02,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_lt_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x7f,0x04,0x02,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_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_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_lt_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0xc1,0x04,0x02,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_lt_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0xf0,0x04,0x02,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_lt_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0xf7,0x04,0x02,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_lt_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xff,0x03,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_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_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_lt_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xcb,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_lt_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xcd,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_lt_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xcf,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_lt_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xd5,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_lt_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xdb,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_lt_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x94,0x7d]
+0x01,0x05,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x94,0x7d]
+0xff,0x05,0x94,0x7d
# CHECK: v_cmp_eq_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x94,0x7d]
0x01,0x04,0x94,0x7d
@@ -66348,122 +79587,158 @@
# CHECK: v_cmp_eq_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x94,0x7d]
0xf7,0x04,0x94,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x94,0x7d]
-0xfd,0x04,0x94,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_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_eq_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x94,0x7d]
-0x01,0x05,0x94,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x95,0x7d]
+0x01,0xff,0x95,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x94,0x7d]
-0xff,0x05,0x94,0x7d
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x95,0x7d]
-0x01,0xfe,0x95,0x7d
+# CHECK: v_cmp_eq_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0xff,0x05,0x02,0x00
-# 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_eq_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0x04,0x02,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_eq_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x65,0x04,0x02,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_eq_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x66,0x04,0x02,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_eq_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x67,0x04,0x02,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_eq_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x6a,0x04,0x02,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_eq_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x6b,0x04,0x02,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_eq_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x6c,0x04,0x02,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_eq_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x6d,0x04,0x02,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_eq_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x6e,0x04,0x02,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_eq_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x6f,0x04,0x02,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_eq_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x7b,0x04,0x02,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_eq_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x7c,0x04,0x02,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_eq_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x7e,0x04,0x02,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_eq_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x7f,0x04,0x02,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_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_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_eq_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0xc1,0x04,0x02,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_eq_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0xf0,0x04,0x02,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_eq_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0xf7,0x04,0x02,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_eq_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xff,0x03,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_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_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_eq_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xcb,0x00,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_eq_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xcd,0x00,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_eq_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xcf,0x00,0x00
-# 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_eq_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xd5,0x00,0x00
-# 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_eq_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xdf,0x00,0x00
-# 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_eq_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x96,0x7d]
+0x01,0x05,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x96,0x7d]
+0xff,0x05,0x96,0x7d
# CHECK: v_cmp_le_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x96,0x7d]
0x01,0x04,0x96,0x7d
@@ -66519,122 +79794,158 @@
# CHECK: v_cmp_le_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x96,0x7d]
0xf7,0x04,0x96,0x7d
-# CHECK: v_cmp_le_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x96,0x7d]
-0xfd,0x04,0x96,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_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_le_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x96,0x7d]
-0x01,0x05,0x96,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x97,0x7d]
+0x01,0xff,0x97,0x7d
-# CHECK: v_cmp_le_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x96,0x7d]
-0xff,0x05,0x96,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x97,0x7d]
-0x01,0xfe,0x97,0x7d
+# CHECK: v_cmp_le_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xcb,0xd0,0x01,0x05,0x02,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_le_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xcb,0xd0,0x01,0x05,0x02,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_le_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xcb,0xd0,0x01,0x05,0x02,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_le_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xcb,0xd0,0x01,0x05,0x02,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_le_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xcb,0xd0,0x01,0x05,0x02,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_le_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xcb,0xd0,0x01,0x05,0x02,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_le_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xcb,0xd0,0x01,0x05,0x02,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_le_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0xff,0x05,0x02,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_le_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0x04,0x02,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_le_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x65,0x04,0x02,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_le_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x66,0x04,0x02,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_le_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x67,0x04,0x02,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_le_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x6b,0x04,0x02,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_le_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x6c,0x04,0x02,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_le_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x6d,0x04,0x02,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_le_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x6e,0x04,0x02,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_le_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x6f,0x04,0x02,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_le_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x7b,0x04,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_le_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x7c,0x04,0x02,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_le_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x7e,0x04,0x02,0x00
-# 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_le_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_le_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0xc1,0x04,0x02,0x00
-# 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_le_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0xf0,0x04,0x02,0x00
-# 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_le_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0xf7,0x04,0x02,0x00
-# 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_le_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_le_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xcb,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xcd,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xcf,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xd5,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xd7,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xf9,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x98,0x7d]
+0x01,0x05,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x98,0x7d]
+0xff,0x05,0x98,0x7d
# CHECK: v_cmp_gt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x98,0x7d]
0x01,0x04,0x98,0x7d
@@ -66690,122 +80001,158 @@
# CHECK: v_cmp_gt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x98,0x7d]
0xf7,0x04,0x98,0x7d
-# CHECK: v_cmp_gt_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x98,0x7d]
-0xfd,0x04,0x98,0x7d
-
# 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_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_gt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x98,0x7d]
-0x01,0x05,0x98,0x7d
+# CHECK: v_cmp_gt_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x99,0x7d]
+0x01,0xff,0x99,0x7d
-# CHECK: v_cmp_gt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x98,0x7d]
-0xff,0x05,0x98,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x99,0x7d]
-0x01,0xfe,0x99,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xcc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xcc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xcc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xcc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xcc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xcc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xcc,0xd0,0x01,0x05,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_gt_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0xff,0x05,0x02,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_gt_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x65,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x66,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x67,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x6d,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x6e,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x6f,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x7b,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x7c,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x7e,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_gt_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_gt_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xcb,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xcd,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xcf,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xd5,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xd7,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xd9,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xdb,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xff,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_gt_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ne_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9a,0x7d]
+0x01,0x05,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9a,0x7d]
+0xff,0x05,0x9a,0x7d
# CHECK: v_cmp_ne_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9a,0x7d]
0x01,0x04,0x9a,0x7d
@@ -66861,122 +80208,158 @@
# CHECK: v_cmp_ne_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9a,0x7d]
0xf7,0x04,0x9a,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9a,0x7d]
-0xfd,0x04,0x9a,0x7d
-
# 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_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_ne_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9a,0x7d]
-0x01,0x05,0x9a,0x7d
+# CHECK: v_cmp_ne_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9b,0x7d]
+0x01,0xff,0x9b,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9a,0x7d]
-0xff,0x05,0x9a,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9b,0x7d]
-0x01,0xfe,0x9b,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0xff,0x05,0x02,0x00
-# 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_ne_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x65,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x66,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x67,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x6a,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x6b,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x6c,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x6d,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x6e,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x6f,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x7b,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x7c,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x7e,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x7f,0x04,0x02,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_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_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_ne_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0xc1,0x04,0x02,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_ne_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0xf0,0x04,0x02,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_ne_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0xf7,0x04,0x02,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_ne_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xff,0x03,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_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_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_ne_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xcb,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_ne_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xcd,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_ne_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xcf,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_ne_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xd5,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_ne_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0x83,0x01,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_ne_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9c,0x7d]
+0x01,0x05,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9c,0x7d]
+0xff,0x05,0x9c,0x7d
# CHECK: v_cmp_ge_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9c,0x7d]
0x01,0x04,0x9c,0x7d
@@ -67032,122 +80415,158 @@
# CHECK: v_cmp_ge_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9c,0x7d]
0xf7,0x04,0x9c,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9c,0x7d]
-0xfd,0x04,0x9c,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_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_ge_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9c,0x7d]
-0x01,0x05,0x9c,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9d,0x7d]
+0x01,0xff,0x9d,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9c,0x7d]
-0xff,0x05,0x9c,0x7d
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_ge_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9d,0x7d]
-0x01,0xfe,0x9d,0x7d
+# CHECK: v_cmp_ge_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0xff,0x05,0x02,0x00
-# 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_ge_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x65,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x66,0x04,0x02,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_ge_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x67,0x04,0x02,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_ge_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x6a,0x04,0x02,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_ge_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x6b,0x04,0x02,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_ge_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x6c,0x04,0x02,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_ge_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x6d,0x04,0x02,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_ge_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x6e,0x04,0x02,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_ge_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x6f,0x04,0x02,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_ge_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x7b,0x04,0x02,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_ge_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x7c,0x04,0x02,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_ge_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x7e,0x04,0x02,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_ge_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x7f,0x04,0x02,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_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_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_ge_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0xc1,0x04,0x02,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_ge_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0xf0,0x04,0x02,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_ge_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0xf7,0x04,0x02,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_ge_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xff,0x03,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_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_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_ge_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xcb,0x00,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_ge_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xcd,0x00,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_ge_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xcf,0x00,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_ge_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xd5,0x00,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_ge_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xe1,0x01,0x00
-# 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_ge_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_t_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9e,0x7d]
+0x01,0x05,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9e,0x7d]
+0xff,0x05,0x9e,0x7d
# CHECK: v_cmp_t_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9e,0x7d]
0x01,0x04,0x9e,0x7d
@@ -67203,122 +80622,158 @@
# CHECK: v_cmp_t_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9e,0x7d]
0xf7,0x04,0x9e,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9e,0x7d]
-0xfd,0x04,0x9e,0x7d
-
# 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_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_t_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9e,0x7d]
-0x01,0x05,0x9e,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9f,0x7d]
+0x01,0xff,0x9f,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9e,0x7d]
-0xff,0x05,0x9e,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9f,0x7d]
-0x01,0xfe,0x9f,0x7d
+# CHECK: v_cmp_t_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xcf,0xd0,0x01,0x05,0x02,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_t_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xcf,0xd0,0x01,0x05,0x02,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_t_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xcf,0xd0,0x01,0x05,0x02,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_t_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xcf,0xd0,0x01,0x05,0x02,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_t_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xcf,0xd0,0x01,0x05,0x02,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_t_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xcf,0xd0,0x01,0x05,0x02,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_t_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xcf,0xd0,0x01,0x05,0x02,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_t_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0xff,0x05,0x02,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_t_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0x04,0x02,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_t_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x65,0x04,0x02,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_t_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x66,0x04,0x02,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_t_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x67,0x04,0x02,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_t_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x6a,0x04,0x02,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_t_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x6b,0x04,0x02,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_t_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x6c,0x04,0x02,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_t_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x6d,0x04,0x02,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_t_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x6e,0x04,0x02,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_t_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x6f,0x04,0x02,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_t_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x7b,0x04,0x02,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_t_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x7c,0x04,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_t_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x7e,0x04,0x02,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_t_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_t_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0xc1,0x04,0x02,0x00
-# 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_t_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0xf0,0x04,0x02,0x00
-# 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_t_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0xf7,0x04,0x02,0x00
-# 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_t_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_t_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xcb,0x00,0x00
-# 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_t_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xcd,0x00,0x00
-# 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_t_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xcf,0x00,0x00
-# 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_t_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xd5,0x00,0x00
-# 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_t_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xdd,0x00,0x00
-# 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_t_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa0,0x7d]
+0x01,0x05,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa0,0x7d]
+0xff,0x05,0xa0,0x7d
# CHECK: v_cmpx_f_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa0,0x7d]
0x01,0x04,0xa0,0x7d
@@ -67374,122 +80829,158 @@
# CHECK: v_cmpx_f_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa0,0x7d]
0xf7,0x04,0xa0,0x7d
-# CHECK: v_cmpx_f_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa0,0x7d]
-0xfd,0x04,0xa0,0x7d
-
# 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_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_cmpx_f_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa0,0x7d]
-0x01,0x05,0xa0,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa1,0x7d]
+0x01,0xff,0xa1,0x7d
-# CHECK: v_cmpx_f_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa0,0x7d]
-0xff,0x05,0xa0,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa1,0x7d]
-0x01,0xfe,0xa1,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd0,0xd0,0x01,0x05,0x02,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_cmpx_f_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd0,0xd0,0x01,0x05,0x02,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_cmpx_f_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd0,0xd0,0x01,0x05,0x02,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_cmpx_f_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd0,0xd0,0x01,0x05,0x02,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_cmpx_f_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd0,0xd0,0x01,0x05,0x02,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_cmpx_f_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd0,0xd0,0x01,0x05,0x02,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_cmpx_f_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd0,0xd0,0x01,0x05,0x02,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_cmpx_f_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0xff,0x05,0x02,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_cmpx_f_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0x04,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_cmpx_f_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x65,0x04,0x02,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_cmpx_f_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_f_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_f_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_f_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_f_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_f_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_f_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_f_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa2,0x7d]
+0x01,0x05,0xa2,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_cmpx_lt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa2,0x7d]
+0xff,0x05,0xa2,0x7d
# CHECK: v_cmpx_lt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa2,0x7d]
0x01,0x04,0xa2,0x7d
@@ -67545,122 +81036,158 @@
# CHECK: v_cmpx_lt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa2,0x7d]
0xf7,0x04,0xa2,0x7d
-# CHECK: v_cmpx_lt_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa2,0x7d]
-0xfd,0x04,0xa2,0x7d
-
# 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_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_cmpx_lt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa2,0x7d]
-0x01,0x05,0xa2,0x7d
+# CHECK: v_cmpx_lt_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa3,0x7d]
+0x01,0xff,0xa3,0x7d
-# CHECK: v_cmpx_lt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa2,0x7d]
-0xff,0x05,0xa2,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa3,0x7d]
-0x01,0xfe,0xa3,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x6b,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x6d,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x6f,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x7b,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x7c,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_lt_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_cmpx_lt_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x02,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_cmpx_lt_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0xf0,0x04,0x02,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_cmpx_lt_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0xf7,0x04,0x02,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_cmpx_lt_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xff,0x03,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_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_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_cmpx_lt_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xcb,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_cmpx_lt_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xcd,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_cmpx_lt_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xcf,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_cmpx_lt_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xd5,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_cmpx_lt_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xf9,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_cmpx_lt_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa4,0x7d]
+0x01,0x05,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa4,0x7d]
+0xff,0x05,0xa4,0x7d
# CHECK: v_cmpx_eq_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa4,0x7d]
0x01,0x04,0xa4,0x7d
@@ -67716,122 +81243,158 @@
# CHECK: v_cmpx_eq_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa4,0x7d]
0xf7,0x04,0xa4,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa4,0x7d]
-0xfd,0x04,0xa4,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_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_cmpx_eq_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa4,0x7d]
-0x01,0x05,0xa4,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa5,0x7d]
+0x01,0xff,0xa5,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa4,0x7d]
-0xff,0x05,0xa4,0x7d
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa5,0x7d]
-0x01,0xfe,0xa5,0x7d
+# CHECK: v_cmpx_eq_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_eq_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_eq_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_eq_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_eq_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_eq_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_eq_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_eq_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0xff,0x05,0x02,0x00
-# 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_cmpx_eq_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0x04,0x02,0x00
-# 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_cmpx_eq_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x65,0x04,0x02,0x00
-# 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_cmpx_eq_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_eq_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x67,0x04,0x02,0x00
-# 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_cmpx_eq_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x6a,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x6b,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x6c,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x6d,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x6e,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x6f,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x7b,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x7c,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x7e,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x7f,0x04,0x02,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_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_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_cmpx_eq_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xff,0x03,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_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_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_cmpx_eq_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xcb,0x00,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_cmpx_eq_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xcd,0x00,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_cmpx_eq_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xcf,0x00,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_cmpx_eq_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xd5,0x00,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_cmpx_eq_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0x01,0x01,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_cmpx_eq_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa6,0x7d]
+0x01,0x05,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa6,0x7d]
+0xff,0x05,0xa6,0x7d
# CHECK: v_cmpx_le_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa6,0x7d]
0x01,0x04,0xa6,0x7d
@@ -67887,122 +81450,158 @@
# CHECK: v_cmpx_le_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa6,0x7d]
0xf7,0x04,0xa6,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa6,0x7d]
-0xfd,0x04,0xa6,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_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_cmpx_le_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa6,0x7d]
-0x01,0x05,0xa6,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa7,0x7d]
+0x01,0xff,0xa7,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa6,0x7d]
-0xff,0x05,0xa6,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_le_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa7,0x7d]
-0x01,0xfe,0xa7,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_le_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd3,0xd0,0x01,0x05,0x02,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_cmpx_le_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd3,0xd0,0x01,0x05,0x02,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_cmpx_le_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd3,0xd0,0x01,0x05,0x02,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_cmpx_le_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd3,0xd0,0x01,0x05,0x02,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_cmpx_le_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd3,0xd0,0x01,0x05,0x02,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_cmpx_le_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd3,0xd0,0x01,0x05,0x02,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_cmpx_le_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0xff,0x05,0x02,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_cmpx_le_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x65,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x66,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x67,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x6a,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x6b,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x6c,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x6d,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x6e,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x6f,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x7b,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x7c,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x7e,0x04,0x02,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_cmpx_le_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x7f,0x04,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_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_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_cmpx_le_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_le_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0xf0,0x04,0x02,0x00
-# 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_cmpx_le_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0xf7,0x04,0x02,0x00
-# 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_cmpx_le_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_cmpx_le_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xcb,0x00,0x00
-# 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_cmpx_le_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xcd,0x00,0x00
-# 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_cmpx_le_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xcf,0x00,0x00
-# 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_cmpx_le_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xd5,0x00,0x00
-# 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_cmpx_le_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xe1,0x01,0x00
-# 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_cmpx_le_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa8,0x7d]
+0x01,0x05,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa8,0x7d]
+0xff,0x05,0xa8,0x7d
# CHECK: v_cmpx_gt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa8,0x7d]
0x01,0x04,0xa8,0x7d
@@ -68058,122 +81657,158 @@
# CHECK: v_cmpx_gt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa8,0x7d]
0xf7,0x04,0xa8,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa8,0x7d]
-0xfd,0x04,0xa8,0x7d
-
# 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_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_cmpx_gt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa8,0x7d]
-0x01,0x05,0xa8,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa9,0x7d]
+0x01,0xff,0xa9,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa8,0x7d]
-0xff,0x05,0xa8,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa9,0x7d]
-0x01,0xfe,0xa9,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd4,0xd0,0x01,0x05,0x02,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_cmpx_gt_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd4,0xd0,0x01,0x05,0x02,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_cmpx_gt_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd4,0xd0,0x01,0x05,0x02,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_cmpx_gt_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd4,0xd0,0x01,0x05,0x02,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_cmpx_gt_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd4,0xd0,0x01,0x05,0x02,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_cmpx_gt_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd4,0xd0,0x01,0x05,0x02,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_cmpx_gt_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd4,0xd0,0x01,0x05,0x02,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_cmpx_gt_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0xff,0x05,0x02,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_cmpx_gt_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0x04,0x02,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_cmpx_gt_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x65,0x04,0x02,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_cmpx_gt_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x66,0x04,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_cmpx_gt_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x67,0x04,0x02,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_gt_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x6b,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x6c,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x6d,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x6e,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x6f,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x7b,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x7c,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x7e,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_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_gt_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x02,0x00
-# 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_gt_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_gt_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xcb,0x00,0x00
-# 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_gt_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xcd,0x00,0x00
-# 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_gt_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xcf,0x00,0x00
-# 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_gt_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xd5,0x00,0x00
-# 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_gt_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xd7,0x00,0x00
-# 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_gt_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xd9,0x00,0x00
-# 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_gt_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xdb,0x00,0x00
-# 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_gt_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xaa,0x7d]
+0x01,0x05,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xaa,0x7d]
+0xff,0x05,0xaa,0x7d
# CHECK: v_cmpx_ne_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xaa,0x7d]
0x01,0x04,0xaa,0x7d
@@ -68229,122 +81864,158 @@
# CHECK: v_cmpx_ne_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xaa,0x7d]
0xf7,0x04,0xaa,0x7d
-# CHECK: v_cmpx_ne_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xaa,0x7d]
-0xfd,0x04,0xaa,0x7d
-
# 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_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_ne_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xaa,0x7d]
-0x01,0x05,0xaa,0x7d
+# CHECK: v_cmpx_ne_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xab,0x7d]
+0x01,0xff,0xab,0x7d
-# CHECK: v_cmpx_ne_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xaa,0x7d]
-0xff,0x05,0xaa,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xab,0x7d]
-0x01,0xfe,0xab,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd5,0xd0,0x01,0x05,0x02,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_ne_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0xff,0x05,0x02,0x00
-# 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_ne_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x65,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x66,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x67,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x6a,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x6b,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x6c,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x6d,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x6e,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x6f,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x7b,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x7c,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x7e,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_ne_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0xc1,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0xf0,0x04,0x02,0x00
-# 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_ne_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0xf7,0x04,0x02,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_ne_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xff,0x03,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_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_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_ne_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xcb,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_ne_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xcd,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_ne_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xcf,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_ne_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xd5,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_ne_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xf7,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_ne_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xac,0x7d]
+0x01,0x05,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xac,0x7d]
+0xff,0x05,0xac,0x7d
# CHECK: v_cmpx_ge_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xac,0x7d]
0x01,0x04,0xac,0x7d
@@ -68400,122 +82071,158 @@
# CHECK: v_cmpx_ge_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xac,0x7d]
0xf7,0x04,0xac,0x7d
-# CHECK: v_cmpx_ge_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xac,0x7d]
-0xfd,0x04,0xac,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_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_ge_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xac,0x7d]
-0x01,0x05,0xac,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xad,0x7d]
+0x01,0xff,0xad,0x7d
-# CHECK: v_cmpx_ge_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xac,0x7d]
-0xff,0x05,0xac,0x7d
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xad,0x7d]
-0x01,0xfe,0xad,0x7d
+# CHECK: v_cmpx_ge_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0xff,0x05,0x02,0x00
-# 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_ge_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0x04,0x02,0x00
-# 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_ge_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x65,0x04,0x02,0x00
-# 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_ge_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x66,0x04,0x02,0x00
-# 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_ge_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x67,0x04,0x02,0x00
-# 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_ge_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x6a,0x04,0x02,0x00
-# 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_ge_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x6b,0x04,0x02,0x00
-# 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_ge_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x6c,0x04,0x02,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_ge_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x6d,0x04,0x02,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_ge_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x6e,0x04,0x02,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_ge_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x6f,0x04,0x02,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_ge_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x7b,0x04,0x02,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_ge_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x7c,0x04,0x02,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_ge_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x7e,0x04,0x02,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_ge_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x7f,0x04,0x02,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_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_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_ge_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x02,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_ge_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x02,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_ge_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x02,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_ge_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xff,0x03,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_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_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_ge_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xcb,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_ge_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xcd,0x00,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_ge_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xcf,0x00,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_ge_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xd5,0x00,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_ge_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xf9,0x00,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_ge_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_t_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xae,0x7d]
+0x01,0x05,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xae,0x7d]
+0xff,0x05,0xae,0x7d
# CHECK: v_cmpx_t_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xae,0x7d]
0x01,0x04,0xae,0x7d
@@ -68571,122 +82278,158 @@
# CHECK: v_cmpx_t_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xae,0x7d]
0xf7,0x04,0xae,0x7d
-# CHECK: v_cmpx_t_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xae,0x7d]
-0xfd,0x04,0xae,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_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_t_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xae,0x7d]
-0x01,0x05,0xae,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xaf,0x7d]
+0x01,0xff,0xaf,0x7d
-# CHECK: v_cmpx_t_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xae,0x7d]
-0xff,0x05,0xae,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xaf,0x7d]
-0x01,0xfe,0xaf,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
-# 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_t_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
-# 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_t_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
-# 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_t_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd7,0xd0,0x01,0x05,0x02,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_t_i32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd7,0xd0,0x01,0x05,0x02,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_t_i32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd7,0xd0,0x01,0x05,0x02,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_t_i32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd7,0xd0,0x01,0x05,0x02,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_t_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0xff,0x05,0x02,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_t_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0x04,0x02,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_t_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x65,0x04,0x02,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_t_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x66,0x04,0x02,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_t_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x67,0x04,0x02,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_t_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x6a,0x04,0x02,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_t_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x6b,0x04,0x02,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_t_i32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x6c,0x04,0x02,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_t_i32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x6d,0x04,0x02,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_t_i32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x6e,0x04,0x02,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_t_i32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x6f,0x04,0x02,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_t_i32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x7b,0x04,0x02,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_t_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x7c,0x04,0x02,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_t_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x7e,0x04,0x02,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_t_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x7f,0x04,0x02,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_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_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_t_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0xc1,0x04,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_t_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0xf0,0x04,0x02,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_t_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0xf7,0x04,0x02,0x00
-# 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_t_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_t_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xcb,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xcd,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xcf,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xd5,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xff,0x00,0x00
-# 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_t_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb0,0x7d]
+0x01,0x05,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb0,0x7d]
+0xff,0x05,0xb0,0x7d
# CHECK: v_cmpx_f_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb0,0x7d]
0x01,0x04,0xb0,0x7d
@@ -68742,122 +82485,158 @@
# CHECK: v_cmpx_f_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb0,0x7d]
0xf7,0x04,0xb0,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb0,0x7d]
-0xfd,0x04,0xb0,0x7d
-
# 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_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_f_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb0,0x7d]
-0x01,0x05,0xb0,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb1,0x7d]
+0x01,0xff,0xb1,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb0,0x7d]
-0xff,0x05,0xb0,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_f_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb1,0x7d]
-0x01,0xfe,0xb1,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd8,0xd0,0x01,0x05,0x02,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_f_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd8,0xd0,0x01,0x05,0x02,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_f_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd8,0xd0,0x01,0x05,0x02,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_f_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd8,0xd0,0x01,0x05,0x02,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_f_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd8,0xd0,0x01,0x05,0x02,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_f_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd8,0xd0,0x01,0x05,0x02,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_f_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd8,0xd0,0x01,0x05,0x02,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_f_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0xff,0x05,0x02,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_f_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0x04,0x02,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_f_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x65,0x04,0x02,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_f_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x66,0x04,0x02,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_f_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x67,0x04,0x02,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_f_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x6a,0x04,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_f_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x6b,0x04,0x02,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_f_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x6c,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x6d,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x6e,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x6f,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x7b,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x7c,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x7e,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_f_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x02,0x00
-# 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_f_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_f_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xcb,0x00,0x00
-# 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_f_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xcd,0x00,0x00
-# 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_f_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xcf,0x00,0x00
-# 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_f_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xd5,0x00,0x00
-# 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_f_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0x83,0x01,0x00
-# 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_f_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb2,0x7d]
+0x01,0x05,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb2,0x7d]
+0xff,0x05,0xb2,0x7d
# CHECK: v_cmpx_lt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb2,0x7d]
0x01,0x04,0xb2,0x7d
@@ -68913,122 +82692,158 @@
# CHECK: v_cmpx_lt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb2,0x7d]
0xf7,0x04,0xb2,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb2,0x7d]
-0xfd,0x04,0xb2,0x7d
-
# 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_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_lt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb2,0x7d]
-0x01,0x05,0xb2,0x7d
+# CHECK: v_cmpx_lt_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb3,0x7d]
+0x01,0xff,0xb3,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb2,0x7d]
-0xff,0x05,0xb2,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_lt_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb3,0x7d]
-0x01,0xfe,0xb3,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd9,0xd0,0x01,0x05,0x02,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_lt_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd9,0xd0,0x01,0x05,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_lt_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd9,0xd0,0x01,0x05,0x02,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_lt_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0xff,0x05,0x02,0x00
-# 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_lt_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x65,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x66,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x67,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x6a,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x6b,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x6c,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x6d,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x6e,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x6f,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x7b,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x7c,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x7e,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x7f,0x04,0x02,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_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_lt_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0xf0,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0xf7,0x04,0x02,0x00
-# 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_lt_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_lt_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xcb,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_lt_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xcd,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_lt_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xcf,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_lt_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xd5,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_lt_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xd7,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_lt_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xd9,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_lt_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb4,0x7d]
+0x01,0x05,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb4,0x7d]
+0xff,0x05,0xb4,0x7d
# CHECK: v_cmpx_eq_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb4,0x7d]
0x01,0x04,0xb4,0x7d
@@ -69084,122 +82899,158 @@
# CHECK: v_cmpx_eq_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb4,0x7d]
0xf7,0x04,0xb4,0x7d
-# CHECK: v_cmpx_eq_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb4,0x7d]
-0xfd,0x04,0xb4,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_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_eq_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb4,0x7d]
-0x01,0x05,0xb4,0x7d
+# CHECK: v_cmpx_eq_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb5,0x7d]
+0x01,0xff,0xb5,0x7d
-# CHECK: v_cmpx_eq_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb4,0x7d]
-0xff,0x05,0xb4,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb5,0x7d]
-0x01,0xfe,0xb5,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0xff,0x05,0x02,0x00
-# 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_eq_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0x04,0x02,0x00
-# 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_eq_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x65,0x04,0x02,0x00
-# 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_eq_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x66,0x04,0x02,0x00
-# 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_eq_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x67,0x04,0x02,0x00
-# 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_eq_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x6a,0x04,0x02,0x00
-# 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_eq_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x6b,0x04,0x02,0x00
-# 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_eq_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x6c,0x04,0x02,0x00
-# 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_eq_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x6d,0x04,0x02,0x00
-# 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_eq_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x6e,0x04,0x02,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_eq_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x6f,0x04,0x02,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_eq_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x7b,0x04,0x02,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_eq_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x7c,0x04,0x02,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_eq_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x7e,0x04,0x02,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_eq_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x7f,0x04,0x02,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_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_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_eq_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0xc1,0x04,0x02,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_eq_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0xf0,0x04,0x02,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_eq_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0xf7,0x04,0x02,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_eq_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xff,0x03,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_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_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_eq_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xcb,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_eq_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xcd,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_eq_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xcf,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_eq_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xd5,0x00,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_eq_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xdd,0x00,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_eq_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb6,0x7d]
+0x01,0x05,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb6,0x7d]
+0xff,0x05,0xb6,0x7d
# CHECK: v_cmpx_le_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb6,0x7d]
0x01,0x04,0xb6,0x7d
@@ -69255,122 +83106,158 @@
# CHECK: v_cmpx_le_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb6,0x7d]
0xf7,0x04,0xb6,0x7d
-# CHECK: v_cmpx_le_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb6,0x7d]
-0xfd,0x04,0xb6,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_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_le_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb6,0x7d]
-0x01,0x05,0xb6,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb7,0x7d]
+0x01,0xff,0xb7,0x7d
-# CHECK: v_cmpx_le_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb6,0x7d]
-0xff,0x05,0xb6,0x7d
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb7,0x7d]
-0x01,0xfe,0xb7,0x7d
+# CHECK: v_cmpx_le_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xdb,0xd0,0x01,0x05,0x02,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_le_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xdb,0xd0,0x01,0x05,0x02,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_le_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0xff,0x05,0x02,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_le_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0x04,0x02,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_le_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x65,0x04,0x02,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_le_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x66,0x04,0x02,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_le_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x67,0x04,0x02,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_le_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x6a,0x04,0x02,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_le_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x6b,0x04,0x02,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_le_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x6c,0x04,0x02,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_le_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x6d,0x04,0x02,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_le_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x6e,0x04,0x02,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_le_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x6f,0x04,0x02,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_le_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x7b,0x04,0x02,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_le_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x7c,0x04,0x02,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_le_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x7e,0x04,0x02,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_le_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x7f,0x04,0x02,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_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_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_le_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0xc1,0x04,0x02,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_le_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0xf0,0x04,0x02,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_le_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0xf7,0x04,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_le_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xff,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_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_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_le_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xcb,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xcd,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xcf,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xd5,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xf7,0x00,0x00
-# 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_le_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb8,0x7d]
+0x01,0x05,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb8,0x7d]
+0xff,0x05,0xb8,0x7d
# CHECK: v_cmpx_gt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb8,0x7d]
0x01,0x04,0xb8,0x7d
@@ -69426,122 +83313,158 @@
# CHECK: v_cmpx_gt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb8,0x7d]
0xf7,0x04,0xb8,0x7d
-# CHECK: v_cmpx_gt_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb8,0x7d]
-0xfd,0x04,0xb8,0x7d
-
# 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_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_gt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb8,0x7d]
-0x01,0x05,0xb8,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb9,0x7d]
+0x01,0xff,0xb9,0x7d
-# CHECK: v_cmpx_gt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb8,0x7d]
-0xff,0x05,0xb8,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb9,0x7d]
-0x01,0xfe,0xb9,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xdc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xdc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xdc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xdc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xdc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xdc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xdc,0xd0,0x01,0x05,0x02,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_gt_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0xff,0x05,0x02,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_gt_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0x04,0x02,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_gt_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x65,0x04,0x02,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_gt_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x66,0x04,0x02,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_gt_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x67,0x04,0x02,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_gt_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x6c,0x04,0x02,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_gt_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x6d,0x04,0x02,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_gt_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x6e,0x04,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_gt_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x6f,0x04,0x02,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_gt_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x7b,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x7c,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x7e,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_gt_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x02,0x00
-# 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_gt_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_gt_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xcb,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xcd,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xcf,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xd5,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xd7,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xd9,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xfd,0x00,0x00
-# 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_gt_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xba,0x7d]
+0x01,0x05,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xba,0x7d]
+0xff,0x05,0xba,0x7d
# CHECK: v_cmpx_ne_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xba,0x7d]
0x01,0x04,0xba,0x7d
@@ -69597,122 +83520,158 @@
# CHECK: v_cmpx_ne_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xba,0x7d]
0xf7,0x04,0xba,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xba,0x7d]
-0xfd,0x04,0xba,0x7d
-
# 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_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_ne_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xba,0x7d]
-0x01,0x05,0xba,0x7d
+# CHECK: v_cmpx_ne_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbb,0x7d]
+0x01,0xff,0xbb,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xba,0x7d]
-0xff,0x05,0xba,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ne_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbb,0x7d]
-0x01,0xfe,0xbb,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xdd,0xd0,0x01,0x05,0x02,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_ne_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xdd,0xd0,0x01,0x05,0x02,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_ne_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xdd,0xd0,0x01,0x05,0x02,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_ne_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xdd,0xd0,0x01,0x05,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_ne_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xdd,0xd0,0x01,0x05,0x02,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_ne_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0xff,0x05,0x02,0x00
-# 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_ne_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x65,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x66,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x67,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x6d,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x6e,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x6f,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x7b,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x7c,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x7e,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x7f,0x04,0x02,0x00
-# 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_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_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_ne_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0xc1,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0xf0,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x02,0x00
-# 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_ne_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xff,0x03,0x00
-# 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_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_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_ne_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xcb,0x00,0x00
-# 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_ne_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xcd,0x00,0x00
-# 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_ne_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xcf,0x00,0x00
-# 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_ne_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xd5,0x00,0x00
-# 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_ne_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xd7,0x00,0x00
-# 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_ne_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xd9,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_ne_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xdb,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_ne_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xdd,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_ne_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0x01,0x01,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_ne_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbc,0x7d]
+0x01,0x05,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbc,0x7d]
+0xff,0x05,0xbc,0x7d
# CHECK: v_cmpx_ge_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbc,0x7d]
0x01,0x04,0xbc,0x7d
@@ -69768,122 +83727,158 @@
# CHECK: v_cmpx_ge_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbc,0x7d]
0xf7,0x04,0xbc,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xbc,0x7d]
-0xfd,0x04,0xbc,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_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_ge_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbc,0x7d]
-0x01,0x05,0xbc,0x7d
+# CHECK: v_cmpx_ge_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbd,0x7d]
+0x01,0xff,0xbd,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbc,0x7d]
-0xff,0x05,0xbc,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_ge_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbd,0x7d]
-0x01,0xfe,0xbd,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0xff,0x05,0x02,0x00
-# 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_ge_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x65,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x66,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x67,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x6a,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x6b,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x6c,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x6d,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x6e,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x6f,0x04,0x02,0x00
-# 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_ge_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x7b,0x04,0x02,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_ge_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x7c,0x04,0x02,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_ge_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x7e,0x04,0x02,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_ge_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x7f,0x04,0x02,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_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_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_ge_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0xc1,0x04,0x02,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_ge_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0xf0,0x04,0x02,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_ge_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0xf7,0x04,0x02,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_ge_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xff,0x03,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_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_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_ge_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xcb,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_ge_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xcd,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_ge_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xcf,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_ge_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xd5,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_ge_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xd7,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_ge_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_t_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbe,0x7d]
+0x01,0x05,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbe,0x7d]
+0xff,0x05,0xbe,0x7d
# CHECK: v_cmpx_t_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbe,0x7d]
0x01,0x04,0xbe,0x7d
@@ -69939,122 +83934,158 @@
# CHECK: v_cmpx_t_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbe,0x7d]
0xf7,0x04,0xbe,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xbe,0x7d]
-0xfd,0x04,0xbe,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_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_t_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbe,0x7d]
-0x01,0x05,0xbe,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbf,0x7d]
+0x01,0xff,0xbf,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbe,0x7d]
-0xff,0x05,0xbe,0x7d
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbf,0x7d]
-0x01,0xfe,0xbf,0x7d
+# CHECK: v_cmpx_t_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u32_e64 tba, v1, v2 ; encoding: [0x6c,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u32_e64 tma, v1, v2 ; encoding: [0x6e,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u32_e64 ttmp[10:11], v1, v2 ; encoding: [0x7a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0xff,0x05,0x02,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_t_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0x04,0x02,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_t_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x65,0x04,0x02,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_t_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x66,0x04,0x02,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_t_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x67,0x04,0x02,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_t_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x6a,0x04,0x02,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_t_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x6b,0x04,0x02,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_t_u32_e64 s[10:11], tba_lo, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x6c,0x04,0x02,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_t_u32_e64 s[10:11], tba_hi, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x6d,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x6d,0x04,0x02,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_t_u32_e64 s[10:11], tma_lo, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x6e,0x04,0x02,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_t_u32_e64 s[10:11], tma_hi, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x6f,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x6f,0x04,0x02,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_t_u32_e64 s[10:11], ttmp11, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x7b,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x7b,0x04,0x02,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_t_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x7c,0x04,0x02,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_t_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x7e,0x04,0x02,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_t_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x7f,0x04,0x02,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_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_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_t_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0xc1,0x04,0x02,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_t_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0xf0,0x04,0x02,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_t_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0xf7,0x04,0x02,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_t_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xff,0x03,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_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_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_t_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xcb,0x00,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_t_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xcd,0x00,0x00
-# 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_t_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xcf,0x00,0x00
-# 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_t_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xd5,0x00,0x00
-# 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_t_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, tba_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xd9,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, tba_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xdb,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xdb,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, tma_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xdd,0x00,0x00
-# 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_t_u32_e64 s[10:11], v1, tma_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xdf,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xdf,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, ttmp11 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xf7,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xf7,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc0,0x7d]
+0x01,0x05,0xc0,0x7d
+
+# CHECK: v_cmp_f_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc0,0x7d]
+0xfe,0x05,0xc0,0x7d
# CHECK: v_cmp_f_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc0,0x7d]
0x02,0x04,0xc0,0x7d
@@ -70101,74 +84132,122 @@
# 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_cmp_f_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc0,0x7d]
-0x01,0x05,0xc0,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc1,0x7d]
+0x01,0xfd,0xc1,0x7d
-# CHECK: v_cmp_f_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc0,0x7d]
-0xfe,0x05,0xc0,0x7d
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc1,0x7d]
-0x02,0xfc,0xc1,0x7d
+# CHECK: v_cmp_f_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_f_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_f_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe0,0xd0,0x01,0x05,0x02,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_cmp_f_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe0,0xd0,0x01,0x05,0x02,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_cmp_f_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0xfe,0x05,0x02,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_cmp_f_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x02,0x04,0x02,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_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_cmp_f_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x6c,0x04,0x02,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_cmp_f_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x6e,0x04,0x02,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_cmp_f_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x7a,0x04,0x02,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_cmp_f_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x7e,0x04,0x02,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_cmp_f_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x80,0x04,0x02,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_cmp_f_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0xc1,0x04,0x02,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_cmp_f_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x03,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_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_cmp_f_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0x0d,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_cmp_f_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xc9,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_cmp_f_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xcd,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_cmp_f_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xd5,0x00,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_cmp_f_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xd9,0x00,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_cmp_f_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xf5,0x00,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_cmp_f_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc2,0x7d]
+0x01,0x05,0xc2,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_cmp_lt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc2,0x7d]
0x02,0x04,0xc2,0x7d
@@ -70215,74 +84294,122 @@
# 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_cmp_lt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc2,0x7d]
-0x01,0x05,0xc2,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc3,0x7d]
+0x01,0xfd,0xc3,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_cmp_lt_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc3,0x7d]
-0x02,0xfc,0xc3,0x7d
+# CHECK: v_cmp_lt_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmp_lt_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x02,0x04,0x02,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_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_cmp_lt_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x64,0x04,0x02,0x00
-# 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_cmp_lt_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x66,0x04,0x02,0x00
-# 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_cmp_lt_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmp_lt_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmp_lt_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmp_lt_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x7a,0x04,0x02,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_cmp_lt_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x7e,0x04,0x02,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_cmp_lt_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x03,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_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_cmp_lt_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0x0d,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_cmp_lt_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xc9,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_cmp_lt_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xcd,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_cmp_lt_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xd5,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_cmp_lt_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xd9,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_cmp_lt_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xe1,0x01,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_cmp_lt_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xef,0x01,0x00
+
+# 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_eq_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc4,0x7d]
+0xfe,0x05,0xc4,0x7d
# CHECK: v_cmp_eq_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc4,0x7d]
0x02,0x04,0xc4,0x7d
@@ -70329,74 +84456,122 @@
# 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_eq_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc4,0x7d]
-0x01,0x05,0xc4,0x7d
+# CHECK: v_cmp_eq_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc5,0x7d]
+0x01,0xfd,0xc5,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_eq_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0xfe,0x05,0x02,0x00
-# 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_eq_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x02,0x04,0x02,0x00
-# 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_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_eq_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0xc1,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0xf0,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0xf7,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x03,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_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_eq_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0x0d,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_eq_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xc9,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_eq_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xcd,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_eq_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xd5,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_eq_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xd9,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_eq_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0x01,0x01,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_eq_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xef,0x01,0x00
+
+# 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_le_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc6,0x7d]
+0xfe,0x05,0xc6,0x7d
# CHECK: v_cmp_le_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc6,0x7d]
0x02,0x04,0xc6,0x7d
@@ -70443,74 +84618,122 @@
# 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_le_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc6,0x7d]
-0x01,0x05,0xc6,0x7d
+# CHECK: v_cmp_le_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc7,0x7d]
+0x01,0xfd,0xc7,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_le_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0xfe,0x05,0x02,0x00
-# 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_le_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x02,0x04,0x02,0x00
-# 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_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_le_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x6c,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x6e,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x7a,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x7e,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x80,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0xc1,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0xf0,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x03,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_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_le_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0x0d,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_le_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xc9,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_le_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xcd,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_le_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xd5,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_le_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xd9,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_le_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xfd,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_le_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xef,0x01,0x00
+
+# 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_gt_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc8,0x7d]
+0xfe,0x05,0xc8,0x7d
# CHECK: v_cmp_gt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc8,0x7d]
0x02,0x04,0xc8,0x7d
@@ -70557,74 +84780,122 @@
# 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_gt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc8,0x7d]
-0x01,0x05,0xc8,0x7d
+# CHECK: v_cmp_gt_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc9,0x7d]
+0x01,0xfd,0xc9,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_gt_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x02,0x04,0x02,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_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_gt_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x64,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x66,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x6a,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x6c,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x6e,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x7a,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x7e,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x80,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x03,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_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_gt_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0x0d,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_gt_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xc9,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_gt_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xcd,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_gt_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xd5,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_gt_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xd9,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_gt_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xf5,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_gt_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ne_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xca,0x7d]
+0xfe,0x05,0xca,0x7d
# CHECK: v_cmp_ne_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xca,0x7d]
0x02,0x04,0xca,0x7d
@@ -70671,74 +84942,122 @@
# 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_ne_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xca,0x7d]
-0x01,0x05,0xca,0x7d
+# CHECK: v_cmp_ne_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcb,0x7d]
+0x01,0xfd,0xcb,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_ne_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0xfe,0x05,0x02,0x00
-# 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_ne_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x02,0x04,0x02,0x00
-# 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_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_ne_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x6c,0x04,0x02,0x00
-# 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_ne_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x6e,0x04,0x02,0x00
-# 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_ne_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x7a,0x04,0x02,0x00
-# 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_ne_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x7e,0x04,0x02,0x00
-# 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_ne_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x03,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_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_ne_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0x0d,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_ne_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xc9,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_ne_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xcd,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_ne_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xd5,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_ne_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xd9,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_ne_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xef,0x01,0x00
+
+# 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_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_ge_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xcc,0x7d]
+0xfe,0x05,0xcc,0x7d
# CHECK: v_cmp_ge_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xcc,0x7d]
0x02,0x04,0xcc,0x7d
@@ -70785,74 +85104,122 @@
# 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_ge_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xcc,0x7d]
-0x01,0x05,0xcc,0x7d
+# CHECK: v_cmp_ge_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcd,0x7d]
+0x01,0xfd,0xcd,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_ge_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0xfe,0x05,0x02,0x00
-# 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_ge_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x02,0x04,0x02,0x00
-# 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_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_ge_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x6c,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x6e,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x7a,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x7e,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x80,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0xc1,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0xf0,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0xf7,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x03,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_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_ge_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0x0d,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_ge_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xc9,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_ge_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xcd,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_ge_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xd5,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_ge_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xd9,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_ge_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0x01,0x01,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_ge_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xef,0x01,0x00
+
+# 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_t_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xce,0x7d]
+0xfe,0x05,0xce,0x7d
# CHECK: v_cmp_t_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xce,0x7d]
0x02,0x04,0xce,0x7d
@@ -70899,74 +85266,122 @@
# 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_t_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xce,0x7d]
-0x01,0x05,0xce,0x7d
+# CHECK: v_cmp_t_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcf,0x7d]
+0x01,0xfd,0xcf,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_t_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
-# 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_t_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
-# 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_t_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
-# 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_t_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x02,0x04,0x02,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_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_t_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x64,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x66,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x6a,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x6c,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x6e,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x7a,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x7e,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x80,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0xc1,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x03,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_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_t_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0x0d,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_t_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xc9,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_t_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xcd,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_t_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xd5,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_t_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xd9,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_t_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xfd,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_t_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xef,0x01,0x00
+
+# 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_f_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd0,0x7d]
+0xfe,0x05,0xd0,0x7d
# CHECK: v_cmp_f_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd0,0x7d]
0x02,0x04,0xd0,0x7d
@@ -71013,74 +85428,122 @@
# 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_f_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd0,0x7d]
-0x01,0x05,0xd0,0x7d
+# CHECK: v_cmp_f_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd1,0x7d]
+0x01,0xfd,0xd1,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_f_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0xfe,0x05,0x02,0x00
-# 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_f_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x02,0x04,0x02,0x00
-# 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_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_f_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x6c,0x04,0x02,0x00
-# 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_f_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x6e,0x04,0x02,0x00
-# 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_f_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x7a,0x04,0x02,0x00
-# 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_f_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x7e,0x04,0x02,0x00
-# 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_f_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x80,0x04,0x02,0x00
-# 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_f_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x03,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_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_f_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0x0d,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_f_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xc9,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_f_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xcd,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_f_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xd5,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_f_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xd9,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_f_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xdd,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_f_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xef,0x01,0x00
+
+# 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_lt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd2,0x7d]
+0xfe,0x05,0xd2,0x7d
# CHECK: v_cmp_lt_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd2,0x7d]
0x02,0x04,0xd2,0x7d
@@ -71127,74 +85590,122 @@
# 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_lt_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd2,0x7d]
-0x01,0x05,0xd2,0x7d
+# CHECK: v_cmp_lt_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd3,0x7d]
+0x01,0xfd,0xd3,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_lt_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0xfe,0x05,0x02,0x00
-# 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_lt_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x02,0x04,0x02,0x00
-# 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_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_lt_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x64,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x66,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x6a,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x6c,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x6e,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x7a,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x7e,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x80,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0xc1,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x03,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_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_lt_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0x0d,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_lt_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xc9,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_lt_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xcd,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_lt_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xd5,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_lt_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xd9,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_lt_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0x83,0x01,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_lt_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xef,0x01,0x00
+
+# 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_eq_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd4,0x7d]
+0xfe,0x05,0xd4,0x7d
# CHECK: v_cmp_eq_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd4,0x7d]
0x02,0x04,0xd4,0x7d
@@ -71241,74 +85752,122 @@
# 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_eq_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd4,0x7d]
-0x01,0x05,0xd4,0x7d
+# CHECK: v_cmp_eq_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd5,0x7d]
+0x01,0xfd,0xd5,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_eq_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x02,0x04,0x02,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_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_eq_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x64,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x66,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x6a,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x6c,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x6e,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x7a,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x7e,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x80,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0xc1,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0xf0,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0xf7,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xfd,0x03,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_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_eq_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0x0d,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_eq_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xc9,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_eq_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xcd,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_eq_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xd5,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_eq_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xd9,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_eq_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xef,0x01,0x00
+
+# 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_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_le_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd6,0x7d]
+0xfe,0x05,0xd6,0x7d
# CHECK: v_cmp_le_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd6,0x7d]
0x02,0x04,0xd6,0x7d
@@ -71355,74 +85914,122 @@
# 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_le_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd6,0x7d]
-0x01,0x05,0xd6,0x7d
+# CHECK: v_cmp_le_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd7,0x7d]
+0x01,0xfd,0xd7,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_le_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0xfe,0x05,0x02,0x00
-# 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_le_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x02,0x04,0x02,0x00
-# 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_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_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_le_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x64,0x04,0x02,0x00
-# 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_le_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x66,0x04,0x02,0x00
-# 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_le_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x6a,0x04,0x02,0x00
-# 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_le_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x6c,0x04,0x02,0x00
-# 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_le_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x03,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_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_le_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0x0d,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_le_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xc9,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_le_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xcd,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_le_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xd5,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_le_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xd9,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_le_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xfd,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_le_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xef,0x01,0x00
+
+# 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_gt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd8,0x7d]
+0xfe,0x05,0xd8,0x7d
# CHECK: v_cmp_gt_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd8,0x7d]
0x02,0x04,0xd8,0x7d
@@ -71469,74 +86076,122 @@
# 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_gt_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd8,0x7d]
-0x01,0x05,0xd8,0x7d
+# CHECK: v_cmp_gt_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd9,0x7d]
+0x01,0xfd,0xd9,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_gt_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0xfe,0x05,0x02,0x00
-# 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_gt_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x02,0x04,0x02,0x00
-# 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_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_gt_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x64,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x66,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x6a,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x6c,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x6e,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x7a,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x7e,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x80,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0xc1,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0xf0,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0xf7,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xfd,0x03,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_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_gt_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0x0d,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_gt_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xc9,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_gt_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xcd,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_gt_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xd5,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_gt_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xd9,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_gt_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xf5,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_gt_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ne_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xda,0x7d]
+0xfe,0x05,0xda,0x7d
# CHECK: v_cmp_ne_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xda,0x7d]
0x02,0x04,0xda,0x7d
@@ -71583,74 +86238,122 @@
# 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_ne_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xda,0x7d]
-0x01,0x05,0xda,0x7d
+# CHECK: v_cmp_ne_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdb,0x7d]
+0x01,0xfd,0xdb,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_ne_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0xfe,0x05,0x02,0x00
-# 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_ne_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x02,0x04,0x02,0x00
-# 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_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_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_ne_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x64,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x66,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xfd,0x03,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_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_ne_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0x0d,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_ne_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xc9,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_ne_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xcd,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_ne_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xd5,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_ne_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xd9,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_ne_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xe1,0x01,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_ne_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ge_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xdc,0x7d]
+0xfe,0x05,0xdc,0x7d
# CHECK: v_cmp_ge_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xdc,0x7d]
0x02,0x04,0xdc,0x7d
@@ -71697,74 +86400,122 @@
# 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_ge_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xdc,0x7d]
-0x01,0x05,0xdc,0x7d
+# CHECK: v_cmp_ge_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdd,0x7d]
+0x01,0xfd,0xdd,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_ge_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0xfe,0x05,0x02,0x00
-# 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_ge_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x02,0x04,0x02,0x00
-# 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_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_ge_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x6c,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x6e,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x7a,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x7e,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x80,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0xc1,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0xf0,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0xf7,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xfd,0x03,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_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_ge_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0x0d,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_ge_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xc9,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_ge_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xcd,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_ge_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xd5,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_ge_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xd9,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_ge_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0x01,0x01,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_ge_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xef,0x01,0x00
+
+# 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_t_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xde,0x7d]
+0xfe,0x05,0xde,0x7d
# CHECK: v_cmp_t_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xde,0x7d]
0x02,0x04,0xde,0x7d
@@ -71811,74 +86562,122 @@
# 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_t_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xde,0x7d]
-0x01,0x05,0xde,0x7d
+# CHECK: v_cmp_t_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdf,0x7d]
+0x01,0xfd,0xdf,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_t_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x02,0x04,0x02,0x00
-# 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_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_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_t_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x64,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x66,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x6a,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x6c,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x6e,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x7a,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x7e,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x80,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0xc1,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0xf0,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0xf7,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xfd,0x03,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_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_t_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0x0d,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_t_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xc9,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_t_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xcd,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_t_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xd5,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_t_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xd9,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_t_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xfd,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_t_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe0,0x7d]
+0x01,0x05,0xe0,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_cmpx_f_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe0,0x7d]
0x02,0x04,0xe0,0x7d
@@ -71925,74 +86724,122 @@
# 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_cmpx_f_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe0,0x7d]
-0x01,0x05,0xe0,0x7d
+# CHECK: v_cmpx_f_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe1,0x7d]
+0x01,0xfd,0xe1,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_cmpx_f_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe1,0x7d]
-0x02,0xfc,0xe1,0x7d
+# CHECK: v_cmpx_f_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_f_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0xfe,0x05,0x02,0x00
-# 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_cmpx_f_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x02,0x04,0x02,0x00
-# 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_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_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_cmpx_f_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x64,0x04,0x02,0x00
-# 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_cmpx_f_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_f_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_f_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x03,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_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_cmpx_f_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0x0d,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_cmpx_f_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xc9,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_cmpx_f_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xcd,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_cmpx_f_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xd5,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_cmpx_f_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xd9,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_cmpx_f_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xdd,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_cmpx_f_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe2,0x7d]
+0x01,0x05,0xe2,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_cmpx_lt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe2,0x7d]
0x02,0x04,0xe2,0x7d
@@ -72039,74 +86886,122 @@
# 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_cmpx_lt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe2,0x7d]
-0x01,0x05,0xe2,0x7d
+# CHECK: v_cmpx_lt_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe3,0x7d]
+0x01,0xfd,0xe3,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_cmpx_lt_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe3,0x7d]
-0x02,0xfc,0xe3,0x7d
+# CHECK: v_cmpx_lt_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0xfe,0x05,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x02,0x04,0x02,0x00
-# 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_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_cmpx_lt_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x64,0x04,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x66,0x04,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x6a,0x04,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x6c,0x04,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x6e,0x04,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x7a,0x04,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x7e,0x04,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x80,0x04,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0xc1,0x04,0x02,0x00
-# 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_cmpx_lt_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x03,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_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_cmpx_lt_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0x0d,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_cmpx_lt_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xc9,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_cmpx_lt_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xcd,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_cmpx_lt_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xd5,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_cmpx_lt_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xd9,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_cmpx_lt_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0x83,0x01,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_cmpx_lt_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xef,0x01,0x00
+
+# 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_eq_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe4,0x7d]
+0xfe,0x05,0xe4,0x7d
# CHECK: v_cmpx_eq_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe4,0x7d]
0x02,0x04,0xe4,0x7d
@@ -72153,74 +87048,122 @@
# 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_eq_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe4,0x7d]
-0x01,0x05,0xe4,0x7d
+# CHECK: v_cmpx_eq_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe5,0x7d]
+0x01,0xfd,0xe5,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_eq_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x02,0x04,0x02,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_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_eq_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x64,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x66,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x6a,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x6c,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x6e,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x7a,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x7e,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x80,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0xc1,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0xf0,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0xf7,0x04,0x02,0x00
-# 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_eq_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x03,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_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_eq_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0x0d,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_eq_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xc9,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_eq_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xcd,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_eq_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xd5,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_eq_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xd9,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_eq_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0x01,0x01,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_eq_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xef,0x01,0x00
+
+# 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_le_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe6,0x7d]
+0xfe,0x05,0xe6,0x7d
# CHECK: v_cmpx_le_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe6,0x7d]
0x02,0x04,0xe6,0x7d
@@ -72267,74 +87210,122 @@
# 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_le_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe6,0x7d]
-0x01,0x05,0xe6,0x7d
+# CHECK: v_cmpx_le_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe7,0x7d]
+0x01,0xfd,0xe7,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_le_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
-# 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_le_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0xfe,0x05,0x02,0x00
-# 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_le_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x02,0x04,0x02,0x00
-# 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_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_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_le_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x64,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x66,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x6a,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x6c,0x04,0x02,0x00
-# 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_le_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x03,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_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_le_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0x0d,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_le_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xc9,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_le_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xcd,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_le_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xd5,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_le_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xd9,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_le_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xf5,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_le_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xef,0x01,0x00
+
+# 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_gt_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe8,0x7d]
+0xfe,0x05,0xe8,0x7d
# CHECK: v_cmpx_gt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe8,0x7d]
0x02,0x04,0xe8,0x7d
@@ -72381,74 +87372,122 @@
# 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_gt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe8,0x7d]
-0x01,0x05,0xe8,0x7d
+# CHECK: v_cmpx_gt_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe9,0x7d]
+0x01,0xfd,0xe9,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_gt_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0xfe,0x05,0x02,0x00
-# 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_gt_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x02,0x04,0x02,0x00
-# 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_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_gt_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x64,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x66,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x6a,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x6c,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x6e,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x7a,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x7e,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x80,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0xc1,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0xf0,0x04,0x02,0x00
-# 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_gt_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x03,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_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_gt_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0x0d,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_gt_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xc9,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_gt_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xcd,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_gt_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xd5,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_gt_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xd9,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_gt_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xe1,0x01,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_gt_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ne_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xea,0x7d]
+0xfe,0x05,0xea,0x7d
# CHECK: v_cmpx_ne_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xea,0x7d]
0x02,0x04,0xea,0x7d
@@ -72495,74 +87534,122 @@
# 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_ne_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xea,0x7d]
-0x01,0x05,0xea,0x7d
+# CHECK: v_cmpx_ne_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xeb,0x7d]
+0x01,0xfd,0xeb,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_ne_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0xfe,0x05,0x02,0x00
-# 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_ne_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x02,0x04,0x02,0x00
-# 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_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_ne_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0xc1,0x04,0x02,0x00
-# 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_ne_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0xf0,0x04,0x02,0x00
-# 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_ne_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0xf7,0x04,0x02,0x00
-# 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_ne_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x03,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_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_ne_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0x0d,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_ne_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xc9,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_ne_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xcd,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_ne_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xd5,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_ne_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xd9,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_ne_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0x83,0x01,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_ne_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ge_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xec,0x7d]
+0xfe,0x05,0xec,0x7d
# CHECK: v_cmpx_ge_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xec,0x7d]
0x02,0x04,0xec,0x7d
@@ -72609,74 +87696,122 @@
# 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_ge_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xec,0x7d]
-0x01,0x05,0xec,0x7d
+# CHECK: v_cmpx_ge_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xed,0x7d]
+0x01,0xfd,0xed,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_ge_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x02,0x04,0x02,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_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_ge_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x64,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x66,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x6a,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x6c,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x6e,0x04,0x02,0x00
-# 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_ge_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x03,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_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_ge_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0x0d,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_ge_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xc9,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_ge_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xcd,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_ge_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xd5,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_ge_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xd9,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_ge_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xfd,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_ge_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xef,0x01,0x00
+
+# 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_t_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xee,0x7d]
+0xfe,0x05,0xee,0x7d
# CHECK: v_cmpx_t_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xee,0x7d]
0x02,0x04,0xee,0x7d
@@ -72723,74 +87858,122 @@
# 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_t_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xee,0x7d]
-0x01,0x05,0xee,0x7d
+# CHECK: v_cmpx_t_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xef,0x7d]
+0x01,0xfd,0xef,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_t_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
-# 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_t_i64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
-# 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_t_i64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
-# 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_t_i64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x02,0x04,0x02,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_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_t_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x64,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x66,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x6a,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x6c,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x6e,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x7a,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x7e,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x80,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0xc1,0x04,0x02,0x00
-# 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_t_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x03,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_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_t_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0x0d,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_t_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xc9,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_t_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xcd,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_t_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xd5,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_t_i64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xd9,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_t_i64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xfd,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_t_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xef,0x01,0x00
+
+# 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_f_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf0,0x7d]
+0xfe,0x05,0xf0,0x7d
# CHECK: v_cmpx_f_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf0,0x7d]
0x02,0x04,0xf0,0x7d
@@ -72837,74 +88020,122 @@
# 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_f_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf0,0x7d]
-0x01,0x05,0xf0,0x7d
+# CHECK: v_cmpx_f_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf1,0x7d]
+0x01,0xfd,0xf1,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_f_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
-# 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_f_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0xfe,0x05,0x02,0x00
-# 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_f_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x02,0x04,0x02,0x00
-# 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_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_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_f_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x64,0x04,0x02,0x00
-# 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_f_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x66,0x04,0x02,0x00
-# 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_f_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x03,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_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_f_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0x0d,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_f_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xc9,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_f_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xcd,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_f_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xd5,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_f_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xd9,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_f_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xdd,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_f_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xef,0x01,0x00
+
+# 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_lt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf2,0x7d]
+0xfe,0x05,0xf2,0x7d
# CHECK: v_cmpx_lt_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf2,0x7d]
0x02,0x04,0xf2,0x7d
@@ -72951,74 +88182,122 @@
# 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_lt_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf2,0x7d]
-0x01,0x05,0xf2,0x7d
+# CHECK: v_cmpx_lt_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf3,0x7d]
+0x01,0xfd,0xf3,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_lt_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
-# 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_lt_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x02,0x04,0x02,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_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_lt_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x64,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x66,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x6a,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x6c,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x6e,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x7a,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x7e,0x04,0x02,0x00
-# 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_lt_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x03,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_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_lt_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0x0d,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_lt_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xc9,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_lt_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xcd,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_lt_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xd5,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_lt_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xd9,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_lt_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0x83,0x01,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_lt_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xef,0x01,0x00
+
+# 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_eq_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf4,0x7d]
+0xfe,0x05,0xf4,0x7d
# CHECK: v_cmpx_eq_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf4,0x7d]
0x02,0x04,0xf4,0x7d
@@ -73065,74 +88344,122 @@
# 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_eq_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf4,0x7d]
-0x01,0x05,0xf4,0x7d
+# CHECK: v_cmpx_eq_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf5,0x7d]
+0x01,0xfd,0xf5,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_eq_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
-# 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_eq_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x02,0x04,0x02,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_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_eq_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x64,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x66,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x6a,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x6c,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x6e,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x7a,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x7e,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x80,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0xc1,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0xf0,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0xf7,0x04,0x02,0x00
-# 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_eq_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x03,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_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_eq_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0x0d,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_eq_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xc9,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_eq_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xcd,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_eq_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xd5,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_eq_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xd9,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_eq_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0x01,0x01,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_eq_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xef,0x01,0x00
+
+# 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_le_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf6,0x7d]
+0xfe,0x05,0xf6,0x7d
# CHECK: v_cmpx_le_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf6,0x7d]
0x02,0x04,0xf6,0x7d
@@ -73179,74 +88506,122 @@
# 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_le_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf6,0x7d]
-0x01,0x05,0xf6,0x7d
+# CHECK: v_cmpx_le_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf7,0x7d]
+0x01,0xfd,0xf7,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_le_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
-# 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_le_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0xfe,0x05,0x02,0x00
-# 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_le_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x02,0x04,0x02,0x00
-# 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_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_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_le_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x64,0x04,0x02,0x00
-# 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_le_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x66,0x04,0x02,0x00
-# 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_le_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x6a,0x04,0x02,0x00
-# 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_le_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x6c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x6e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x7a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x03,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_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_le_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0x0d,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_le_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xc9,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_le_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xcd,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_le_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xd5,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_le_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xd9,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_le_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xf5,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_le_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xef,0x01,0x00
+
+# 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_gt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf8,0x7d]
+0xfe,0x05,0xf8,0x7d
# CHECK: v_cmpx_gt_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf8,0x7d]
0x02,0x04,0xf8,0x7d
@@ -73293,74 +88668,122 @@
# 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_gt_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf8,0x7d]
-0x01,0x05,0xf8,0x7d
+# CHECK: v_cmpx_gt_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf9,0x7d]
+0x01,0xfd,0xf9,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_gt_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
-# 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_gt_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x02,0x04,0x02,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_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_gt_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x64,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x66,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x6a,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x6c,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x6e,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x7a,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x7e,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x80,0x04,0x02,0x00
-# 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_gt_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x03,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_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_gt_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0x0d,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_gt_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xc9,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_gt_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xcd,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_gt_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xd5,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_gt_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xd9,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_gt_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xe1,0x01,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_gt_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ne_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfa,0x7d]
+0xfe,0x05,0xfa,0x7d
# CHECK: v_cmpx_ne_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfa,0x7d]
0x02,0x04,0xfa,0x7d
@@ -73407,74 +88830,122 @@
# 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_ne_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfa,0x7d]
-0x01,0x05,0xfa,0x7d
+# CHECK: v_cmpx_ne_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xfb,0x7d]
+0x01,0xfd,0xfb,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_ne_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
-# 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_ne_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x02,0x04,0x02,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_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_ne_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x64,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x66,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x6a,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x6c,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x6e,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x7a,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x7e,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x80,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0xc1,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0xf0,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0xf7,0x04,0x02,0x00
-# 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_ne_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x03,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_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_ne_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0x0d,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_ne_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xc9,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_ne_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xcd,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_ne_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xd5,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_ne_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xd9,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_ne_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0x83,0x01,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_ne_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ge_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfc,0x7d]
+0xfe,0x05,0xfc,0x7d
# CHECK: v_cmpx_ge_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfc,0x7d]
0x02,0x04,0xfc,0x7d
@@ -73521,74 +88992,122 @@
# 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_ge_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfc,0x7d]
-0x01,0x05,0xfc,0x7d
+# CHECK: v_cmpx_ge_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xfd,0x7d]
+0x01,0xfd,0xfd,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_ge_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
-# 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_ge_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0xfe,0x05,0x02,0x00
-# 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_ge_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x02,0x04,0x02,0x00
-# 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_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_ge_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x6c,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x6e,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x7a,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x7e,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x80,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0xc1,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0xf0,0x04,0x02,0x00
-# 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_ge_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x03,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_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_ge_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0x0d,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_ge_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xc9,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_ge_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xcd,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_ge_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xd5,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_ge_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xd9,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_ge_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xf5,0x00,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xfd,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_ge_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xef,0x01,0x00
+
+# 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_t_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfe,0x7d]
+0xfe,0x05,0xfe,0x7d
# CHECK: v_cmpx_t_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfe,0x7d]
0x02,0x04,0xfe,0x7d
@@ -73635,74 +89154,116 @@
# 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_t_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfe,0x7d]
-0x01,0x05,0xfe,0x7d
+# CHECK: v_cmpx_t_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xff,0x7d]
+0x01,0xfd,0xff,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_t_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u64_e64 tba, v[1:2], v[2:3] ; encoding: [0x6c,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x6c,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u64_e64 tma, v[1:2], v[2:3] ; encoding: [0x6e,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x6e,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
-# 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_t_u64_e64 ttmp[10:11], v[1:2], v[2:3] ; encoding: [0x7a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x7a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x02,0x04,0x02,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_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_t_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x64,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x66,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x6a,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], tba, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x6c,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x6c,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], tma, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x6e,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x6e,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], ttmp[10:11], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x7a,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x7a,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x7e,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x80,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0xc1,0x04,0x02,0x00
-# 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_t_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xfd,0x03,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_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_t_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0x0d,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_t_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xc9,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_t_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xcd,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_t_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xd5,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_t_u64_e64 s[10:11], v[1:2], tba ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xd9,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xd9,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_t_u64_e64 s[10:11], v[1:2], tma ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xdd,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xdd,0x00,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], ttmp[10:11] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xf5,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xf5,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_t_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xef,0x01,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
@@ -74379,6 +89940,135 @@
# 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_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x12,0xfe,0x7f,0x01,0x06,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0xff,0x06,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x00,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x01,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x02,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x03,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x04,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x05,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x0e,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x16,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x00,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x01,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x02,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x03,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x04,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x05,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x0e,0x06
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x00
+
+# CHECK: v_mov_fed_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x12,0xfe,0x7f,0x01,0xe4,0x00,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x12,0x0a,0x7e,0xff,0xe4,0x00,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x1b,0x00,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x40,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x41,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x42,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x43,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x30,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x34,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x38,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x3c,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x01,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x0f,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x11,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x1f,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x21,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x2f,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x10
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x30
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0xf0
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x01
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x03
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x0f
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x08,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,0x06,0x06]
0xf9,0x14,0x0a,0x7e,0x01,0x06,0x06,0x06
diff --git a/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt b/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt
new file mode 100644
index 000000000000..63374300504c
--- /dev/null
+++ b/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt
@@ -0,0 +1,88936 @@
+# RUN: llvm-mc -arch=amdgcn -mcpu=gfx901 -disassemble -show-encoding < %s | FileCheck %s
+
+# 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, v2 offset:65535 ; encoding: [0xff,0xff,0x00,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x00,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x00,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x00,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x02,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x02,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x02,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x02,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x04,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x04,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x04,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x04,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x06,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x06,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x06,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x06,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x08,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x08,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x08,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x08,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x0a,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x0a,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0a,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x0c,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0c,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x0e,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x0e,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0e,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x10,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x10,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x10,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x10,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x12,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x12,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x12,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x12,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x14,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x14,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x14,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x14,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x16,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x16,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x16,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x16,0xd8,0x01,0x02,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 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 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, 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 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 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 v1, v2, v3 ; encoding: [0x00,0x00,0x18,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0x18,0xd8,0x01,0x02,0x03,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x1a,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x1a,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x1a,0xd8,0x01,0x02,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 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 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, 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 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 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 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 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 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 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 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 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, 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 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 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 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 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 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 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 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 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, 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 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 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 v1, v2, v3 ; encoding: [0x00,0x00,0x20,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0x20,0xd8,0x01,0x02,0x03,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 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 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, 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 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 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 v1, v2, v3 ; encoding: [0x00,0x00,0x22,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0x22,0xd8,0x01,0x02,0x03,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x24,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x24,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x24,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x24,0xd8,0x01,0x02,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 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 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, v2 offset:65535 ; encoding: [0xff,0xff,0x26,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x26,0xd8,0xff,0x02,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 v1, v2 ; encoding: [0x00,0x00,0x26,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x26,0xd8,0x01,0x02,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 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x27,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x27,0xd8,0x01,0x02,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 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 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 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 v1, v2 ; encoding: [0x00,0x00,0x2a,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x2a,0xd8,0x01,0x02,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_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 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 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 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 v1, v2 ; encoding: [0x00,0x00,0x3c,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x3c,0xd8,0x01,0x02,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_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 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 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 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 v1, v2 ; encoding: [0x00,0x00,0x3e,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x3e,0xd8,0x01,0x02,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_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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x40,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x40,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x42,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x42,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x44,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x44,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x46,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x46,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x48,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x48,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x4a,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x4a,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x4c,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x4c,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x4e,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x4e,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x50,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x50,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x52,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x52,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x54,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x54,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x56,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x56,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 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 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_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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x5a,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x5a,0xd8,0x01,0x02,0x00,0x05
+
+# 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_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0xfe]
+0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0xfe
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0x5c,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0x01,0xff,0x03,0x05]
+0x7f,0xff,0x5c,0xd8,0x01,0xff,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0xff,0x05]
+0x7f,0xff,0x5c,0xd8,0x01,0x02,0xff,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset1:255 ; encoding: [0x00,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 ; encoding: [0x7f,0x00,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x5c,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0x5c,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x5d,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0x5d,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0xfe]
+0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0xfe
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0x5e,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0x01,0xff,0x03,0x05]
+0x7f,0xff,0x5e,0xd8,0x01,0xff,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0xff,0x05]
+0x7f,0xff,0x5e,0xd8,0x01,0x02,0xff,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset1:255 ; encoding: [0x00,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 ; encoding: [0x7f,0x00,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x5e,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0x5e,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x5f,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0x5f,0xd8,0x01,0x02,0x03,0x05
+
+# 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 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 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 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 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 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 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_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 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 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 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 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 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 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 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_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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x64,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x64,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x66,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x66,0xd8,0x01,0x02,0x00,0x05
+
+# 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_wrap_rtn_b32 v5, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v255, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0xff]
+0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0xff
+
+# CHECK: ds_wrap_rtn_b32 v5, v255, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0xff,0x02,0x03,0x05]
+0xff,0xff,0x68,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v255, v3 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0x01,0xff,0x03,0x05]
+0xff,0xff,0x68,0xd8,0x01,0xff,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v2, v255 offset:65535 ; encoding: [0xff,0xff,0x68,0xd8,0x01,0x02,0xff,0x05]
+0xff,0xff,0x68,0xd8,0x01,0x02,0xff,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v2, v3 ; encoding: [0x00,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+0x00,0x00,0x68,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v2, v3 offset:4 ; encoding: [0x04,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+0x04,0x00,0x68,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrap_rtn_b32 v5, v1, v2, v3 offset:65535 gds ; encoding: [0xff,0xff,0x69,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x69,0xd8,0x01,0x02,0x03,0x05
+
+# 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 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 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 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 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 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x6a,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x6a,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 v5, v1 ; encoding: [0x00,0x00,0x6c,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x6c,0xd8,0x01,0x00,0x00,0x05
+
+# 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_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[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[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[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[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[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[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[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_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[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[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[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[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[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[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[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_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 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 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 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 v5, v1 ; encoding: [0x00,0x00,0x72,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x72,0xd8,0x01,0x00,0x00,0x05
+
+# 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_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 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 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 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 v5, v1 ; encoding: [0x00,0x00,0x74,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x74,0xd8,0x01,0x00,0x00,0x05
+
+# 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_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 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 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 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 v5, v1 ; encoding: [0x00,0x00,0x76,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x76,0xd8,0x01,0x00,0x00,0x05
+
+# 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_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 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 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 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 v5, v1 ; encoding: [0x00,0x00,0x78,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x78,0xd8,0x01,0x00,0x00,0x05
+
+# 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_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 v5, v1 ; encoding: [0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05
+
+# 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 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 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 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 v5, v1, v2 ; encoding: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 v5, v1, v2 ; encoding: [0x00,0x00,0x7e,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x7e,0xd8,0x01,0x02,0x00,0x05
+
+# 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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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 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 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 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_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 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 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 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 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 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 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 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 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_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 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 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 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 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 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 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_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 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 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 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 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 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 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_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 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 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 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 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 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_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 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 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 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 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 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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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[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_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[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[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[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[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[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[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_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_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0xfc]
+0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0xfc
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0xdc,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0xfe,0x03,0x05]
+0x7f,0xff,0xdc,0xd8,0x01,0xfe,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0xfe,0x05]
+0x7f,0xff,0xdc,0xd8,0x01,0x02,0xfe,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xdc,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0xdc,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0xdd,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xdd,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0xfc]
+0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0xfc
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0xff,0x02,0x03,0x05]
+0x7f,0xff,0xde,0xd8,0xff,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0x01,0xfe,0x03,0x05]
+0x7f,0xff,0xde,0xd8,0x01,0xfe,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xde,0xd8,0x01,0x02,0xfe,0x05]
+0x7f,0xff,0xde,0xd8,0x01,0x02,0xfe,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x00,0xff,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x10,0xff,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x00,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xde,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0x01,0xde,0xd8,0x01,0x02,0x03,0x05
+
+# CHECK: ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0xdf,0xd8,0x01,0x02,0x03,0x05]
+0x7f,0xff,0xdf,0xd8,0x01,0x02,0x03,0x05
+
+# 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[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[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[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[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[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[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_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[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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[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[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_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[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[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[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[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[5:6], v1 offset:4 ; encoding: [0x04,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0xec,0xd8,0x01,0x00,0x00,0x05
+
+# 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[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[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[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[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[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[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[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_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[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[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[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[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[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[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[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_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_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0xfe
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xfc,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xfc,0xd8,0xff,0x02,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xfc,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xfc,0xd8,0x01,0xfe,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05
+
+# CHECK: ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xfd,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xfd,0xd8,0x01,0x02,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 v1 ; encoding: [0x00,0x00,0x00,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x00,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x02,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x02,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x04,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x04,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x06,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x06,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x08,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x08,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x0a,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x0a,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x0c,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x0c,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x0e,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x0e,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x10,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x10,0xd9,0x01,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 v1 offset:65535 gds ; encoding: [0xff,0xff,0x11,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x11,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_and_src2_b32 v1 offset:65535 ; encoding: [0xff,0xff,0x12,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x12,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_and_src2_b32 v255 offset:65535 ; encoding: [0xff,0xff,0x12,0xd9,0xff,0x00,0x00,0x00]
+0xff,0xff,0x12,0xd9,0xff,0x00,0x00,0x00
+
+# CHECK: ds_and_src2_b32 v1 ; encoding: [0x00,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x12,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_and_src2_b32 v1 offset:4 ; encoding: [0x04,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x12,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_and_src2_b32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x13,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x13,0xd9,0x01,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 v1 ; encoding: [0x00,0x00,0x14,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x14,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x16,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x16,0xd9,0x01,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 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 v1 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x1a,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_write_src2_b32 v255 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd9,0xff,0x00,0x00,0x00]
+0xff,0xff,0x1a,0xd9,0xff,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_write_src2_b32 v1 offset:4 ; encoding: [0x04,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_write_src2_b32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x1b,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x1b,0xd9,0x01,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 v1 ; encoding: [0x00,0x00,0x24,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x24,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x26,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x26,0xd9,0x01,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 v1 offset:65535 gds ; encoding: [0xff,0xff,0x27,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x27,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_release_all offset:65535 gds ; encoding: [0xff,0xff,0x31,0xd9,0x00,0x00,0x00,0x00]
+0xff,0xff,0x31,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_release_all gds ; encoding: [0x00,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+0x00,0x00,0x31,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_release_all offset:4 gds ; encoding: [0x04,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+0x04,0x00,0x31,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_init v1 offset:65535 gds ; encoding: [0xff,0xff,0x33,0xd9,0x00,0x01,0x00,0x00]
+0xff,0xff,0x33,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_init v255 offset:65535 gds ; encoding: [0xff,0xff,0x33,0xd9,0x00,0xff,0x00,0x00]
+0xff,0xff,0x33,0xd9,0x00,0xff,0x00,0x00
+
+# CHECK: ds_gws_init v1 gds ; encoding: [0x00,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+0x00,0x00,0x33,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_init v1 offset:4 gds ; encoding: [0x04,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+0x04,0x00,0x33,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_sema_v offset:65535 gds ; encoding: [0xff,0xff,0x35,0xd9,0x00,0x00,0x00,0x00]
+0xff,0xff,0x35,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_v gds ; encoding: [0x00,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+0x00,0x00,0x35,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_v offset:4 gds ; encoding: [0x04,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+0x04,0x00,0x35,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_br v1 offset:65535 gds ; encoding: [0xff,0xff,0x37,0xd9,0x00,0x01,0x00,0x00]
+0xff,0xff,0x37,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_sema_br v255 offset:65535 gds ; encoding: [0xff,0xff,0x37,0xd9,0x00,0xff,0x00,0x00]
+0xff,0xff,0x37,0xd9,0x00,0xff,0x00,0x00
+
+# CHECK: ds_gws_sema_br v1 gds ; encoding: [0x00,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+0x00,0x00,0x37,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_sema_br v1 offset:4 gds ; encoding: [0x04,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+0x04,0x00,0x37,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_sema_p offset:65535 gds ; encoding: [0xff,0xff,0x39,0xd9,0x00,0x00,0x00,0x00]
+0xff,0xff,0x39,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_p gds ; encoding: [0x00,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+0x00,0x00,0x39,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_sema_p offset:4 gds ; encoding: [0x04,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+0x04,0x00,0x39,0xd9,0x00,0x00,0x00,0x00
+
+# CHECK: ds_gws_barrier v1 offset:65535 gds ; encoding: [0xff,0xff,0x3b,0xd9,0x00,0x01,0x00,0x00]
+0xff,0xff,0x3b,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_barrier v255 offset:65535 gds ; encoding: [0xff,0xff,0x3b,0xd9,0x00,0xff,0x00,0x00]
+0xff,0xff,0x3b,0xd9,0x00,0xff,0x00,0x00
+
+# CHECK: ds_gws_barrier v1 gds ; encoding: [0x00,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+0x00,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_gws_barrier v1 offset:4 gds ; encoding: [0x04,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+0x04,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00
+
+# CHECK: ds_consume v5 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0x05]
+0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_consume v255 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0xff]
+0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0xff
+
+# CHECK: ds_consume v5 ; encoding: [0x00,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+0x00,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_consume v5 offset:4 ; encoding: [0x04,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+0x04,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_consume v5 offset:65535 gds ; encoding: [0xff,0xff,0x7b,0xd9,0x00,0x00,0x00,0x05]
+0xff,0xff,0x7b,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_append v5 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0x05]
+0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_append v255 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0xff]
+0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0xff
+
+# CHECK: ds_append v5 ; encoding: [0x00,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+0x00,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_append v5 offset:4 ; encoding: [0x04,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+0x04,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_append v5 offset:65535 gds ; encoding: [0xff,0xff,0x7d,0xd9,0x00,0x00,0x00,0x05]
+0xff,0xff,0x7d,0xd9,0x00,0x00,0x00,0x05
+
+# CHECK: ds_ordered_count v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0x05]
+0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0x05
+
+# CHECK: ds_ordered_count v255, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0xff]
+0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0xff
+
+# CHECK: ds_ordered_count v5, v255 offset:65535 gds ; encoding: [0xff,0xff,0x7f,0xd9,0xff,0x00,0x00,0x05]
+0xff,0xff,0x7f,0xd9,0xff,0x00,0x00,0x05
+
+# CHECK: ds_ordered_count v5, v1 gds ; encoding: [0x00,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+0x00,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05
+
+# CHECK: ds_ordered_count v5, v1 offset:4 gds ; encoding: [0x04,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+0x04,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05
+
+# 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 v1 ; encoding: [0x00,0x00,0x80,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x80,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x82,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x82,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x84,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x84,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x86,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x86,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x88,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x88,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x8a,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x8a,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x8c,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x8c,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x8e,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x8e,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x90,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x90,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x92,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x92,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x94,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x94,0xd9,0x01,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 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 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 v1 ; encoding: [0x00,0x00,0x96,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x96,0xd9,0x01,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 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 v1 offset:65535 ; encoding: [0xff,0xff,0x9a,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x9a,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_write_src2_b64 v255 offset:65535 ; encoding: [0xff,0xff,0x9a,0xd9,0xff,0x00,0x00,0x00]
+0xff,0xff,0x9a,0xd9,0xff,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_write_src2_b64 v1 offset:4 ; encoding: [0x04,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_write_src2_b64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x9b,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x9b,0xd9,0x01,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 v1 ; encoding: [0x00,0x00,0xa4,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0xa4,0xd9,0x01,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 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 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 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_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_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: 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: 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: 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: 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: exp mrt0 v0, v0, v0, v0 ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrtz v0, v0, v0, v0 ; encoding: [0x8f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x8f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp null v0, v0, v0, v0 ; encoding: [0x9f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x9f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp pos0 v0, v0, v0, v0 ; encoding: [0xcf,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0xcf,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp param0 v0, v0, v0, v0 ; encoding: [0x0f,0x02,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x02,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v255, v0, v0, v0 ; encoding: [0x0f,0x00,0x00,0xc4,0xff,0x00,0x00,0x00]
+0x0f,0x00,0x00,0xc4,0xff,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v255, v0, v0 ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0xff,0x00,0x00]
+0x0f,0x00,0x00,0xc4,0x00,0xff,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v255, v0 ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0x00,0xff,0x00]
+0x0f,0x00,0x00,0xc4,0x00,0x00,0xff,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, v255 ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0xff]
+0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0xff
+
+# CHECK: exp mrt0 v0, off, off, off ; encoding: [0x01,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x01,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, v0, off, off ; encoding: [0x02,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x02,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, off, off ; encoding: [0x03,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x03,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, off, v0, off ; encoding: [0x04,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x04,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, off, v0, off ; encoding: [0x05,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x05,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, v0, v0, off ; encoding: [0x06,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x06,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, off ; encoding: [0x07,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x07,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, off, off, v0 ; encoding: [0x08,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x08,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, off, off, v0 ; encoding: [0x09,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x09,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, v0, off, v0 ; encoding: [0x0a,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0a,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, off, v0 ; encoding: [0x0b,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0b,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, off, v0, v0 ; encoding: [0x0c,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0c,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, off, v0, v0 ; encoding: [0x0d,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0d,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, v0, v0, v0 ; encoding: [0x0e,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0e,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 off, off, off, off ; encoding: [0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, v0 done ; encoding: [0x0f,0x08,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x08,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, v0 compr ; encoding: [0x0f,0x04,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x04,0x00,0xc4,0x00,0x00,0x00,0x00
+
+# CHECK: exp mrt0 v0, v0, v0, v0 vm ; encoding: [0x0f,0x10,0x00,0xc4,0x00,0x00,0x00,0x00]
+0x0f,0x10,0x00,0xc4,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 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 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 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 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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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_resinfo v5, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0x05,0x02,0x00]
+0x00,0x01,0x38,0xf0,0x01,0x05,0x02,0x00
+
+# CHECK: image_get_resinfo v252, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0xfc,0x02,0x00]
+0x00,0x01,0x38,0xf0,0x01,0xfc,0x02,0x00
+
+# CHECK: image_get_resinfo v5, v255, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0xff,0x05,0x02,0x00]
+0x00,0x01,0x38,0xf0,0xff,0x05,0x02,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[12:19] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0x05,0x03,0x00]
+0x00,0x01,0x38,0xf0,0x01,0x05,0x03,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[92:99] dmask:0x1 ; encoding: [0x00,0x01,0x38,0xf0,0x01,0x05,0x17,0x00]
+0x00,0x01,0x38,0xf0,0x01,0x05,0x17,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x2 ; encoding: [0x00,0x02,0x38,0xf0,0x01,0x05,0x02,0x00]
+0x00,0x02,0x38,0xf0,0x01,0x05,0x02,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x4 ; encoding: [0x00,0x04,0x38,0xf0,0x01,0x05,0x02,0x00]
+0x00,0x04,0x38,0xf0,0x01,0x05,0x02,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x8 ; encoding: [0x00,0x08,0x38,0xf0,0x01,0x05,0x02,0x00]
+0x00,0x08,0x38,0xf0,0x01,0x05,0x02,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x38,0xf0,0x01,0x05,0x02,0x00]
+0x00,0x11,0x38,0xf0,0x01,0x05,0x02,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x38,0xf0,0x01,0x05,0x02,0x00]
+0x00,0x21,0x38,0xf0,0x01,0x05,0x02,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x38,0xf2,0x01,0x05,0x02,0x00]
+0x00,0x01,0x38,0xf2,0x01,0x05,0x02,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x3a,0xf0,0x01,0x05,0x02,0x00]
+0x00,0x01,0x3a,0xf0,0x01,0x05,0x02,0x00
+
+# CHECK: image_get_resinfo v5, v1, s[8:15] dmask:0x1 da ; encoding: [0x00,0x41,0x38,0xf0,0x01,0x05,0x02,0x00]
+0x00,0x41,0x38,0xf0,0x01,0x05,0x02,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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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_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_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_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_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[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[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[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[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[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[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[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[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[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[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[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[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
+
+# 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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[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 s5, s[2:3], s0 ; encoding: [0x41,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword s101, s[2:3], s0 ; encoding: [0x41,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
+0x41,0x19,0x00,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword flat_scratch_lo, s[2:3], s0 ; encoding: [0x81,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
+0x81,0x19,0x00,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword flat_scratch_hi, s[2:3], s0 ; encoding: [0xc1,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
+0xc1,0x19,0x00,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword vcc_lo, s[2:3], s0 ; encoding: [0x81,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00]
+0x81,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword vcc_hi, s[2:3], s0 ; encoding: [0xc1,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00]
+0xc1,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword s5, s[4:5], s0 ; encoding: [0x42,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+0x42,0x01,0x00,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword s5, s[100:101], s0 ; encoding: [0x72,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+0x72,0x01,0x00,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword s5, flat_scratch, s0 ; encoding: [0x73,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+0x73,0x01,0x00,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword s5, vcc, s0 ; encoding: [0x75,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+0x75,0x01,0x00,0xc0,0x00,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 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 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 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 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 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 s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x02,0xc0,0x00,0x00,0x00,0x00]
+0x41,0x01,0x02,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dword s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x01,0xc0,0x00,0x00,0x00,0x00]
+0x41,0x01,0x01,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], s0 ; encoding: [0x81,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 s[12:13], s[2:3], s0 ; encoding: [0x01,0x03,0x04,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x03,0x04,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 s[100:101], s[2:3], s0 ; encoding: [0x01,0x19,0x04,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x19,0x04,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 flat_scratch, s[2:3], s0 ; encoding: [0x81,0x19,0x04,0xc0,0x00,0x00,0x00,0x00]
+0x81,0x19,0x04,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 vcc, s[2:3], s0 ; encoding: [0x81,0x1a,0x04,0xc0,0x00,0x00,0x00,0x00]
+0x81,0x1a,0x04,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 s[10:11], s[4:5], s0 ; encoding: [0x82,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x02,0x04,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 s[10:11], s[100:101], s0 ; encoding: [0xb2,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+0xb2,0x02,0x04,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 s[10:11], flat_scratch, s0 ; encoding: [0xb3,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+0xb3,0x02,0x04,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 s[10:11], vcc, s0 ; encoding: [0xb5,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+0xb5,0x02,0x04,0xc0,0x00,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[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[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[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[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[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[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0x06,0xc0,0x00,0x00,0x00,0x00]
+0x81,0x02,0x06,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x05,0xc0,0x00,0x00,0x00,0x00]
+0x81,0x02,0x05,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], s0 ; encoding: [0x01,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx4 s[24:27], s[2:3], s0 ; encoding: [0x01,0x06,0x08,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x06,0x08,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx4 s[96:99], s[2:3], s0 ; encoding: [0x01,0x18,0x08,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x18,0x08,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx4 s[20:23], s[4:5], s0 ; encoding: [0x02,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x08,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx4 s[20:23], s[100:101], s0 ; encoding: [0x32,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+0x32,0x05,0x08,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx4 s[20:23], flat_scratch, s0 ; encoding: [0x33,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+0x33,0x05,0x08,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx4 s[20:23], vcc, s0 ; encoding: [0x35,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+0x35,0x05,0x08,0xc0,0x00,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[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[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[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[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[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[20:23], s[2:3], 0x0 ; encoding: [0x01,0x05,0x0a,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x05,0x0a,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], s0 glc ; encoding: [0x01,0x05,0x09,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x05,0x09,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], s0 ; encoding: [0x01,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx8 s[24:31], s[2:3], s0 ; encoding: [0x01,0x06,0x0c,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x06,0x0c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx8 s[92:99], s[2:3], s0 ; encoding: [0x01,0x17,0x0c,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x17,0x0c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx8 s[20:27], s[4:5], s0 ; encoding: [0x02,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx8 s[20:27], s[100:101], s0 ; encoding: [0x32,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+0x32,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx8 s[20:27], flat_scratch, s0 ; encoding: [0x33,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+0x33,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx8 s[20:27], vcc, s0 ; encoding: [0x35,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+0x35,0x05,0x0c,0xc0,0x00,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[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[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[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[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[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[20:27], s[2:3], 0x0 ; encoding: [0x01,0x05,0x0e,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x05,0x0e,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], s0 glc ; encoding: [0x01,0x05,0x0d,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x05,0x0d,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], s0 ; encoding: [0x01,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx16 s[24:39], s[2:3], s0 ; encoding: [0x01,0x06,0x10,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x06,0x10,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx16 s[84:99], s[2:3], s0 ; encoding: [0x01,0x15,0x10,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x15,0x10,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx16 s[20:35], s[4:5], s0 ; encoding: [0x02,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x10,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx16 s[20:35], s[100:101], s0 ; encoding: [0x32,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+0x32,0x05,0x10,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx16 s[20:35], flat_scratch, s0 ; encoding: [0x33,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+0x33,0x05,0x10,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx16 s[20:35], vcc, s0 ; encoding: [0x35,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+0x35,0x05,0x10,0xc0,0x00,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[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[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[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[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[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[20:35], s[2:3], 0x0 ; encoding: [0x01,0x05,0x12,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x05,0x12,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], s0 glc ; encoding: [0x01,0x05,0x11,0xc0,0x00,0x00,0x00,0x00]
+0x01,0x05,0x11,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dword s5, s[4:7], s0 ; encoding: [0x42,0x01,0x20,0xc0,0x00,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dword s101, s[4:7], s0 ; encoding: [0x42,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
+0x42,0x19,0x20,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dword flat_scratch_lo, s[4:7], s0 ; encoding: [0x82,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x19,0x20,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dword flat_scratch_hi, s[4:7], s0 ; encoding: [0xc2,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
+0xc2,0x19,0x20,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dword vcc_lo, s[4:7], s0 ; encoding: [0x82,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dword vcc_hi, s[4:7], s0 ; encoding: [0xc2,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00]
+0xc2,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dword s5, s[8:11], s0 ; encoding: [0x44,0x01,0x20,0xc0,0x00,0x00,0x00,0x00]
+0x44,0x01,0x20,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dword s5, s[96:99], s0 ; encoding: [0x70,0x01,0x20,0xc0,0x00,0x00,0x00,0x00]
+0x70,0x01,0x20,0xc0,0x00,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 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 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 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 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 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 s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x22,0xc0,0x00,0x00,0x00,0x00]
+0x42,0x01,0x22,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dword s5, s[4:7], s0 glc ; encoding: [0x42,0x01,0x21,0xc0,0x00,0x00,0x00,0x00]
+0x42,0x01,0x21,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x24,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx2 s[12:13], s[4:7], s0 ; encoding: [0x02,0x03,0x24,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x03,0x24,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx2 s[100:101], s[4:7], s0 ; encoding: [0x02,0x19,0x24,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x19,0x24,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx2 flat_scratch, s[4:7], s0 ; encoding: [0x82,0x19,0x24,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x19,0x24,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx2 vcc, s[4:7], s0 ; encoding: [0x82,0x1a,0x24,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x1a,0x24,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[8:11], s0 ; encoding: [0x84,0x02,0x24,0xc0,0x00,0x00,0x00,0x00]
+0x84,0x02,0x24,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[96:99], s0 ; encoding: [0xb0,0x02,0x24,0xc0,0x00,0x00,0x00,0x00]
+0xb0,0x02,0x24,0xc0,0x00,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[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[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[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[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[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[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0x26,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x02,0x26,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x25,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x02,0x25,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], s0 ; encoding: [0x02,0x05,0x28,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx4 s[24:27], s[4:7], s0 ; encoding: [0x02,0x06,0x28,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x06,0x28,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx4 s[96:99], s[4:7], s0 ; encoding: [0x02,0x18,0x28,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x18,0x28,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[8:11], s0 ; encoding: [0x04,0x05,0x28,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x05,0x28,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[96:99], s0 ; encoding: [0x30,0x05,0x28,0xc0,0x00,0x00,0x00,0x00]
+0x30,0x05,0x28,0xc0,0x00,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[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[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[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[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[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[20:23], s[4:7], 0x0 ; encoding: [0x02,0x05,0x2a,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x2a,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], s0 glc ; encoding: [0x02,0x05,0x29,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x29,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], s0 ; encoding: [0x02,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx8 s[24:31], s[4:7], s0 ; encoding: [0x02,0x06,0x2c,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x06,0x2c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx8 s[92:99], s[4:7], s0 ; encoding: [0x02,0x17,0x2c,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x17,0x2c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[8:11], s0 ; encoding: [0x04,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[96:99], s0 ; encoding: [0x30,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00]
+0x30,0x05,0x2c,0xc0,0x00,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[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[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[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[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[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[20:27], s[4:7], 0x0 ; encoding: [0x02,0x05,0x2e,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x2e,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], s0 glc ; encoding: [0x02,0x05,0x2d,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x2d,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], s0 ; encoding: [0x02,0x05,0x30,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx16 s[24:39], s[4:7], s0 ; encoding: [0x02,0x06,0x30,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x06,0x30,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx16 s[84:99], s[4:7], s0 ; encoding: [0x02,0x15,0x30,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x15,0x30,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[8:11], s0 ; encoding: [0x04,0x05,0x30,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x05,0x30,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[96:99], s0 ; encoding: [0x30,0x05,0x30,0xc0,0x00,0x00,0x00,0x00]
+0x30,0x05,0x30,0xc0,0x00,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[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[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[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[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[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[20:35], s[4:7], 0x0 ; encoding: [0x02,0x05,0x32,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x32,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], s0 glc ; encoding: [0x02,0x05,0x31,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x05,0x31,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, s[4:5], s0 ; encoding: [0x42,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+0x42,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword s101, s[4:5], s0 ; encoding: [0x42,0x19,0x40,0xc0,0x00,0x00,0x00,0x00]
+0x42,0x19,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword flat_scratch_lo, s[4:5], s0 ; encoding: [0x82,0x19,0x40,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x19,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword flat_scratch_hi, s[4:5], s0 ; encoding: [0xc2,0x19,0x40,0xc0,0x00,0x00,0x00,0x00]
+0xc2,0x19,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword vcc_lo, s[4:5], s0 ; encoding: [0x82,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword vcc_hi, s[4:5], s0 ; encoding: [0xc2,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00]
+0xc2,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, s[6:7], s0 ; encoding: [0x43,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+0x43,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, s[100:101], s0 ; encoding: [0x72,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+0x72,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, flat_scratch, s0 ; encoding: [0x73,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+0x73,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, vcc, s0 ; encoding: [0x75,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+0x75,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, s[4:5], s101 ; encoding: [0x42,0x00,0x40,0xc0,0x65,0x00,0x00,0x00]
+0x42,0x00,0x40,0xc0,0x65,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, s[4:5], flat_scratch_lo ; encoding: [0x42,0x00,0x40,0xc0,0x66,0x00,0x00,0x00]
+0x42,0x00,0x40,0xc0,0x66,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, s[4:5], flat_scratch_hi ; encoding: [0x42,0x00,0x40,0xc0,0x67,0x00,0x00,0x00]
+0x42,0x00,0x40,0xc0,0x67,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, s[4:5], vcc_lo ; encoding: [0x42,0x00,0x40,0xc0,0x6a,0x00,0x00,0x00]
+0x42,0x00,0x40,0xc0,0x6a,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, s[4:5], vcc_hi ; encoding: [0x42,0x00,0x40,0xc0,0x6b,0x00,0x00,0x00]
+0x42,0x00,0x40,0xc0,0x6b,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 s1, s[4:5], 0x0 ; encoding: [0x42,0x00,0x42,0xc0,0x00,0x00,0x00,0x00]
+0x42,0x00,0x42,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dword s1, s[4:5], s0 glc ; encoding: [0x42,0x00,0x41,0xc0,0x00,0x00,0x00,0x00]
+0x42,0x00,0x41,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], s0 ; encoding: [0x82,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[4:5], s[4:5], s0 ; encoding: [0x02,0x01,0x44,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x01,0x44,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[100:101], s[4:5], s0 ; encoding: [0x02,0x19,0x44,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x19,0x44,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 flat_scratch, s[4:5], s0 ; encoding: [0x82,0x19,0x44,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x19,0x44,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 vcc, s[4:5], s0 ; encoding: [0x82,0x1a,0x44,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x1a,0x44,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], s[6:7], s0 ; encoding: [0x83,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+0x83,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], s[100:101], s0 ; encoding: [0xb2,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+0xb2,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], flat_scratch, s0 ; encoding: [0xb3,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+0xb3,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], vcc, s0 ; encoding: [0xb5,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+0xb5,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], s101 ; encoding: [0x82,0x00,0x44,0xc0,0x65,0x00,0x00,0x00]
+0x82,0x00,0x44,0xc0,0x65,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], flat_scratch_lo ; encoding: [0x82,0x00,0x44,0xc0,0x66,0x00,0x00,0x00]
+0x82,0x00,0x44,0xc0,0x66,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], flat_scratch_hi ; encoding: [0x82,0x00,0x44,0xc0,0x67,0x00,0x00,0x00]
+0x82,0x00,0x44,0xc0,0x67,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], vcc_lo ; encoding: [0x82,0x00,0x44,0xc0,0x6a,0x00,0x00,0x00]
+0x82,0x00,0x44,0xc0,0x6a,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], vcc_hi ; encoding: [0x82,0x00,0x44,0xc0,0x6b,0x00,0x00,0x00]
+0x82,0x00,0x44,0xc0,0x6b,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[4:5], 0x0 ; encoding: [0x82,0x00,0x46,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x00,0x46,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], s0 glc ; encoding: [0x82,0x00,0x45,0xc0,0x00,0x00,0x00,0x00]
+0x82,0x00,0x45,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], s0 ; encoding: [0x02,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[8:11], s[4:5], s0 ; encoding: [0x02,0x02,0x48,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x02,0x48,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[96:99], s[4:5], s0 ; encoding: [0x02,0x18,0x48,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x18,0x48,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], s[6:7], s0 ; encoding: [0x03,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+0x03,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], s[100:101], s0 ; encoding: [0x32,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+0x32,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], flat_scratch, s0 ; encoding: [0x33,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+0x33,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], vcc, s0 ; encoding: [0x35,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+0x35,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], s101 ; encoding: [0x02,0x01,0x48,0xc0,0x65,0x00,0x00,0x00]
+0x02,0x01,0x48,0xc0,0x65,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], flat_scratch_lo ; encoding: [0x02,0x01,0x48,0xc0,0x66,0x00,0x00,0x00]
+0x02,0x01,0x48,0xc0,0x66,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], flat_scratch_hi ; encoding: [0x02,0x01,0x48,0xc0,0x67,0x00,0x00,0x00]
+0x02,0x01,0x48,0xc0,0x67,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], vcc_lo ; encoding: [0x02,0x01,0x48,0xc0,0x6a,0x00,0x00,0x00]
+0x02,0x01,0x48,0xc0,0x6a,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], vcc_hi ; encoding: [0x02,0x01,0x48,0xc0,0x6b,0x00,0x00,0x00]
+0x02,0x01,0x48,0xc0,0x6b,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[4:5], 0x0 ; encoding: [0x02,0x01,0x4a,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x01,0x4a,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], s0 glc ; encoding: [0x02,0x01,0x49,0xc0,0x00,0x00,0x00,0x00]
+0x02,0x01,0x49,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s1, s[8:11], s0 ; encoding: [0x44,0x00,0x60,0xc0,0x00,0x00,0x00,0x00]
+0x44,0x00,0x60,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s101, s[8:11], s0 ; encoding: [0x44,0x19,0x60,0xc0,0x00,0x00,0x00,0x00]
+0x44,0x19,0x60,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword flat_scratch_lo, s[8:11], s0 ; encoding: [0x84,0x19,0x60,0xc0,0x00,0x00,0x00,0x00]
+0x84,0x19,0x60,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword flat_scratch_hi, s[8:11], s0 ; encoding: [0xc4,0x19,0x60,0xc0,0x00,0x00,0x00,0x00]
+0xc4,0x19,0x60,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword vcc_lo, s[8:11], s0 ; encoding: [0x84,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00]
+0x84,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword vcc_hi, s[8:11], s0 ; encoding: [0xc4,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00]
+0xc4,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s1, s[12:15], s0 ; encoding: [0x46,0x00,0x60,0xc0,0x00,0x00,0x00,0x00]
+0x46,0x00,0x60,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s1, s[96:99], s0 ; encoding: [0x70,0x00,0x60,0xc0,0x00,0x00,0x00,0x00]
+0x70,0x00,0x60,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s1, s[8:11], s101 ; encoding: [0x44,0x00,0x60,0xc0,0x65,0x00,0x00,0x00]
+0x44,0x00,0x60,0xc0,0x65,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s1, s[8:11], flat_scratch_lo ; encoding: [0x44,0x00,0x60,0xc0,0x66,0x00,0x00,0x00]
+0x44,0x00,0x60,0xc0,0x66,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s1, s[8:11], flat_scratch_hi ; encoding: [0x44,0x00,0x60,0xc0,0x67,0x00,0x00,0x00]
+0x44,0x00,0x60,0xc0,0x67,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s1, s[8:11], vcc_lo ; encoding: [0x44,0x00,0x60,0xc0,0x6a,0x00,0x00,0x00]
+0x44,0x00,0x60,0xc0,0x6a,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s1, s[8:11], vcc_hi ; encoding: [0x44,0x00,0x60,0xc0,0x6b,0x00,0x00,0x00]
+0x44,0x00,0x60,0xc0,0x6b,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 s1, s[8:11], 0x0 ; encoding: [0x44,0x00,0x62,0xc0,0x00,0x00,0x00,0x00]
+0x44,0x00,0x62,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dword s1, s[8:11], s0 glc ; encoding: [0x44,0x00,0x61,0xc0,0x00,0x00,0x00,0x00]
+0x44,0x00,0x61,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], s0 ; encoding: [0x84,0x00,0x64,0xc0,0x00,0x00,0x00,0x00]
+0x84,0x00,0x64,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[4:5], s[8:11], s0 ; encoding: [0x04,0x01,0x64,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x01,0x64,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[100:101], s[8:11], s0 ; encoding: [0x04,0x19,0x64,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x19,0x64,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 flat_scratch, s[8:11], s0 ; encoding: [0x84,0x19,0x64,0xc0,0x00,0x00,0x00,0x00]
+0x84,0x19,0x64,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 vcc, s[8:11], s0 ; encoding: [0x84,0x1a,0x64,0xc0,0x00,0x00,0x00,0x00]
+0x84,0x1a,0x64,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[12:15], s0 ; encoding: [0x86,0x00,0x64,0xc0,0x00,0x00,0x00,0x00]
+0x86,0x00,0x64,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[96:99], s0 ; encoding: [0xb0,0x00,0x64,0xc0,0x00,0x00,0x00,0x00]
+0xb0,0x00,0x64,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], s101 ; encoding: [0x84,0x00,0x64,0xc0,0x65,0x00,0x00,0x00]
+0x84,0x00,0x64,0xc0,0x65,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], flat_scratch_lo ; encoding: [0x84,0x00,0x64,0xc0,0x66,0x00,0x00,0x00]
+0x84,0x00,0x64,0xc0,0x66,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], flat_scratch_hi ; encoding: [0x84,0x00,0x64,0xc0,0x67,0x00,0x00,0x00]
+0x84,0x00,0x64,0xc0,0x67,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], vcc_lo ; encoding: [0x84,0x00,0x64,0xc0,0x6a,0x00,0x00,0x00]
+0x84,0x00,0x64,0xc0,0x6a,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], vcc_hi ; encoding: [0x84,0x00,0x64,0xc0,0x6b,0x00,0x00,0x00]
+0x84,0x00,0x64,0xc0,0x6b,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[8:11], 0x0 ; encoding: [0x84,0x00,0x66,0xc0,0x00,0x00,0x00,0x00]
+0x84,0x00,0x66,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], s0 glc ; encoding: [0x84,0x00,0x65,0xc0,0x00,0x00,0x00,0x00]
+0x84,0x00,0x65,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], s0 ; encoding: [0x04,0x01,0x68,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x01,0x68,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[8:11], s[8:11], s0 ; encoding: [0x04,0x02,0x68,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x02,0x68,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[96:99], s[8:11], s0 ; encoding: [0x04,0x18,0x68,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x18,0x68,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[12:15], s0 ; encoding: [0x06,0x01,0x68,0xc0,0x00,0x00,0x00,0x00]
+0x06,0x01,0x68,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[96:99], s0 ; encoding: [0x30,0x01,0x68,0xc0,0x00,0x00,0x00,0x00]
+0x30,0x01,0x68,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], s101 ; encoding: [0x04,0x01,0x68,0xc0,0x65,0x00,0x00,0x00]
+0x04,0x01,0x68,0xc0,0x65,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], flat_scratch_lo ; encoding: [0x04,0x01,0x68,0xc0,0x66,0x00,0x00,0x00]
+0x04,0x01,0x68,0xc0,0x66,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], flat_scratch_hi ; encoding: [0x04,0x01,0x68,0xc0,0x67,0x00,0x00,0x00]
+0x04,0x01,0x68,0xc0,0x67,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], vcc_lo ; encoding: [0x04,0x01,0x68,0xc0,0x6a,0x00,0x00,0x00]
+0x04,0x01,0x68,0xc0,0x6a,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], vcc_hi ; encoding: [0x04,0x01,0x68,0xc0,0x6b,0x00,0x00,0x00]
+0x04,0x01,0x68,0xc0,0x6b,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[8:11], 0x0 ; encoding: [0x04,0x01,0x6a,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x01,0x6a,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], s0 glc ; encoding: [0x04,0x01,0x69,0xc0,0x00,0x00,0x00,0x00]
+0x04,0x01,0x69,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_dcache_inv ; encoding: [0x00,0x00,0x80,0xc0,0x00,0x00,0x00,0x00]
+0x00,0x00,0x80,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_dcache_wb ; encoding: [0x00,0x00,0x84,0xc0,0x00,0x00,0x00,0x00]
+0x00,0x00,0x84,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_dcache_inv_vol ; encoding: [0x00,0x00,0x88,0xc0,0x00,0x00,0x00,0x00]
+0x00,0x00,0x88,0xc0,0x00,0x00,0x00,0x00
+
+# 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[10:11] ; encoding: [0x80,0x02,0x90,0xc0,0x00,0x00,0x00,0x00]
+0x80,0x02,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
+
+# CHECK: s_memtime flat_scratch ; encoding: [0x80,0x19,0x90,0xc0,0x00,0x00,0x00,0x00]
+0x80,0x19,0x90,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_memtime vcc ; encoding: [0x80,0x1a,0x90,0xc0,0x00,0x00,0x00,0x00]
+0x80,0x1a,0x90,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[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
+
+# CHECK: s_memrealtime flat_scratch ; encoding: [0x80,0x19,0x94,0xc0,0x00,0x00,0x00,0x00]
+0x80,0x19,0x94,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_memrealtime vcc ; encoding: [0x80,0x1a,0x94,0xc0,0x00,0x00,0x00,0x00]
+0x80,0x1a,0x94,0xc0,0x00,0x00,0x00,0x00
+
+# CHECK: s_mov_b32 s5, s1 ; encoding: [0x01,0x00,0x85,0xbe]
+0x01,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s101, s1 ; encoding: [0x01,0x00,0xe5,0xbe]
+0x01,0x00,0xe5,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, s1 ; encoding: [0x01,0x00,0xe7,0xbe]
+0x01,0x00,0xe7,0xbe
+
+# CHECK: s_mov_b32 vcc_lo, s1 ; encoding: [0x01,0x00,0xea,0xbe]
+0x01,0x00,0xea,0xbe
+
+# CHECK: s_mov_b32 vcc_hi, s1 ; encoding: [0x01,0x00,0xeb,0xbe]
+0x01,0x00,0xeb,0xbe
+
+# CHECK: s_mov_b32 m0, s1 ; encoding: [0x01,0x00,0xfc,0xbe]
+0x01,0x00,0xfc,0xbe
+
+# CHECK: s_mov_b32 exec_lo, s1 ; encoding: [0x01,0x00,0xfe,0xbe]
+0x01,0x00,0xfe,0xbe
+
+# CHECK: s_mov_b32 exec_hi, s1 ; encoding: [0x01,0x00,0xff,0xbe]
+0x01,0x00,0xff,0xbe
+
+# CHECK: s_mov_b32 s5, s101 ; encoding: [0x65,0x00,0x85,0xbe]
+0x65,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, flat_scratch_lo ; encoding: [0x66,0x00,0x85,0xbe]
+0x66,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, flat_scratch_hi ; encoding: [0x67,0x00,0x85,0xbe]
+0x67,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, vcc_lo ; encoding: [0x6a,0x00,0x85,0xbe]
+0x6a,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, vcc_hi ; encoding: [0x6b,0x00,0x85,0xbe]
+0x6b,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, m0 ; encoding: [0x7c,0x00,0x85,0xbe]
+0x7c,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, exec_lo ; encoding: [0x7e,0x00,0x85,0xbe]
+0x7e,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, exec_hi ; encoding: [0x7f,0x00,0x85,0xbe]
+0x7f,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, 0 ; encoding: [0x80,0x00,0x85,0xbe]
+0x80,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, -1 ; encoding: [0xc1,0x00,0x85,0xbe]
+0xc1,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, 0.5 ; encoding: [0xf0,0x00,0x85,0xbe]
+0xf0,0x00,0x85,0xbe
+
+# CHECK: s_mov_b32 s5, -4.0 ; encoding: [0xf7,0x00,0x85,0xbe]
+0xf7,0x00,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x00,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x00,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_mov_b64 s[10:11], s[2:3] ; encoding: [0x02,0x01,0x8a,0xbe]
+0x02,0x01,0x8a,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[2:3] ; encoding: [0x02,0x01,0xe4,0xbe]
+0x02,0x01,0xe4,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[2:3] ; encoding: [0x02,0x01,0xea,0xbe]
+0x02,0x01,0xea,0xbe
+
+# CHECK: s_mov_b64 exec, s[2:3] ; encoding: [0x02,0x01,0xfe,0xbe]
+0x02,0x01,0xfe,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[10:11], s[100:101] ; encoding: [0x64,0x01,0x8a,0xbe]
+0x64,0x01,0x8a,0xbe
+
+# CHECK: s_mov_b64 s[10:11], flat_scratch ; encoding: [0x66,0x01,0x8a,0xbe]
+0x66,0x01,0x8a,0xbe
+
+# CHECK: s_mov_b64 s[10:11], vcc ; encoding: [0x6a,0x01,0x8a,0xbe]
+0x6a,0x01,0x8a,0xbe
+
+# CHECK: s_mov_b64 s[10:11], exec ; encoding: [0x7e,0x01,0x8a,0xbe]
+0x7e,0x01,0x8a,0xbe
+
+# CHECK: s_mov_b64 s[10:11], 0 ; encoding: [0x80,0x01,0x8a,0xbe]
+0x80,0x01,0x8a,0xbe
+
+# CHECK: s_mov_b64 s[10:11], -1 ; encoding: [0xc1,0x01,0x8a,0xbe]
+0xc1,0x01,0x8a,0xbe
+
+# CHECK: s_mov_b64 s[10:11], 0.5 ; encoding: [0xf0,0x01,0x8a,0xbe]
+0xf0,0x01,0x8a,0xbe
+
+# CHECK: s_mov_b64 s[10:11], -4.0 ; encoding: [0xf7,0x01,0x8a,0xbe]
+0xf7,0x01,0x8a,0xbe
+
+# 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[10:11], 0x3f717273 ; encoding: [0xff,0x01,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x01,0x8a,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmov_b32 s5, s1 ; encoding: [0x01,0x02,0x85,0xbe]
+0x01,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s101, s1 ; encoding: [0x01,0x02,0xe5,0xbe]
+0x01,0x02,0xe5,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, s1 ; encoding: [0x01,0x02,0xe7,0xbe]
+0x01,0x02,0xe7,0xbe
+
+# CHECK: s_cmov_b32 vcc_lo, s1 ; encoding: [0x01,0x02,0xea,0xbe]
+0x01,0x02,0xea,0xbe
+
+# CHECK: s_cmov_b32 vcc_hi, s1 ; encoding: [0x01,0x02,0xeb,0xbe]
+0x01,0x02,0xeb,0xbe
+
+# CHECK: s_cmov_b32 m0, s1 ; encoding: [0x01,0x02,0xfc,0xbe]
+0x01,0x02,0xfc,0xbe
+
+# CHECK: s_cmov_b32 exec_lo, s1 ; encoding: [0x01,0x02,0xfe,0xbe]
+0x01,0x02,0xfe,0xbe
+
+# CHECK: s_cmov_b32 exec_hi, s1 ; encoding: [0x01,0x02,0xff,0xbe]
+0x01,0x02,0xff,0xbe
+
+# CHECK: s_cmov_b32 s5, s101 ; encoding: [0x65,0x02,0x85,0xbe]
+0x65,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, flat_scratch_lo ; encoding: [0x66,0x02,0x85,0xbe]
+0x66,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, flat_scratch_hi ; encoding: [0x67,0x02,0x85,0xbe]
+0x67,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, vcc_lo ; encoding: [0x6a,0x02,0x85,0xbe]
+0x6a,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, vcc_hi ; encoding: [0x6b,0x02,0x85,0xbe]
+0x6b,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, m0 ; encoding: [0x7c,0x02,0x85,0xbe]
+0x7c,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, exec_lo ; encoding: [0x7e,0x02,0x85,0xbe]
+0x7e,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, exec_hi ; encoding: [0x7f,0x02,0x85,0xbe]
+0x7f,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, 0 ; encoding: [0x80,0x02,0x85,0xbe]
+0x80,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, -1 ; encoding: [0xc1,0x02,0x85,0xbe]
+0xc1,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, 0.5 ; encoding: [0xf0,0x02,0x85,0xbe]
+0xf0,0x02,0x85,0xbe
+
+# CHECK: s_cmov_b32 s5, -4.0 ; encoding: [0xf7,0x02,0x85,0xbe]
+0xf7,0x02,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x02,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmov_b64 s[10:11], s[2:3] ; encoding: [0x02,0x03,0x8a,0xbe]
+0x02,0x03,0x8a,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[2:3] ; encoding: [0x02,0x03,0xe4,0xbe]
+0x02,0x03,0xe4,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[2:3] ; encoding: [0x02,0x03,0xea,0xbe]
+0x02,0x03,0xea,0xbe
+
+# CHECK: s_cmov_b64 exec, s[2:3] ; encoding: [0x02,0x03,0xfe,0xbe]
+0x02,0x03,0xfe,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[10:11], s[100:101] ; encoding: [0x64,0x03,0x8a,0xbe]
+0x64,0x03,0x8a,0xbe
+
+# CHECK: s_cmov_b64 s[10:11], flat_scratch ; encoding: [0x66,0x03,0x8a,0xbe]
+0x66,0x03,0x8a,0xbe
+
+# CHECK: s_cmov_b64 s[10:11], vcc ; encoding: [0x6a,0x03,0x8a,0xbe]
+0x6a,0x03,0x8a,0xbe
+
+# CHECK: s_cmov_b64 s[10:11], exec ; encoding: [0x7e,0x03,0x8a,0xbe]
+0x7e,0x03,0x8a,0xbe
+
+# CHECK: s_cmov_b64 s[10:11], 0 ; encoding: [0x80,0x03,0x8a,0xbe]
+0x80,0x03,0x8a,0xbe
+
+# CHECK: s_cmov_b64 s[10:11], -1 ; encoding: [0xc1,0x03,0x8a,0xbe]
+0xc1,0x03,0x8a,0xbe
+
+# CHECK: s_cmov_b64 s[10:11], 0.5 ; encoding: [0xf0,0x03,0x8a,0xbe]
+0xf0,0x03,0x8a,0xbe
+
+# CHECK: s_cmov_b64 s[10:11], -4.0 ; encoding: [0xf7,0x03,0x8a,0xbe]
+0xf7,0x03,0x8a,0xbe
+
+# 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[10:11], 0x3f717273 ; encoding: [0xff,0x03,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x03,0x8a,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_not_b32 s5, s1 ; encoding: [0x01,0x04,0x85,0xbe]
+0x01,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s101, s1 ; encoding: [0x01,0x04,0xe5,0xbe]
+0x01,0x04,0xe5,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, s1 ; encoding: [0x01,0x04,0xe7,0xbe]
+0x01,0x04,0xe7,0xbe
+
+# CHECK: s_not_b32 vcc_lo, s1 ; encoding: [0x01,0x04,0xea,0xbe]
+0x01,0x04,0xea,0xbe
+
+# CHECK: s_not_b32 vcc_hi, s1 ; encoding: [0x01,0x04,0xeb,0xbe]
+0x01,0x04,0xeb,0xbe
+
+# CHECK: s_not_b32 m0, s1 ; encoding: [0x01,0x04,0xfc,0xbe]
+0x01,0x04,0xfc,0xbe
+
+# CHECK: s_not_b32 exec_lo, s1 ; encoding: [0x01,0x04,0xfe,0xbe]
+0x01,0x04,0xfe,0xbe
+
+# CHECK: s_not_b32 exec_hi, s1 ; encoding: [0x01,0x04,0xff,0xbe]
+0x01,0x04,0xff,0xbe
+
+# CHECK: s_not_b32 s5, s101 ; encoding: [0x65,0x04,0x85,0xbe]
+0x65,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, flat_scratch_lo ; encoding: [0x66,0x04,0x85,0xbe]
+0x66,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, flat_scratch_hi ; encoding: [0x67,0x04,0x85,0xbe]
+0x67,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, vcc_lo ; encoding: [0x6a,0x04,0x85,0xbe]
+0x6a,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, vcc_hi ; encoding: [0x6b,0x04,0x85,0xbe]
+0x6b,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, m0 ; encoding: [0x7c,0x04,0x85,0xbe]
+0x7c,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, exec_lo ; encoding: [0x7e,0x04,0x85,0xbe]
+0x7e,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, exec_hi ; encoding: [0x7f,0x04,0x85,0xbe]
+0x7f,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, 0 ; encoding: [0x80,0x04,0x85,0xbe]
+0x80,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, -1 ; encoding: [0xc1,0x04,0x85,0xbe]
+0xc1,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, 0.5 ; encoding: [0xf0,0x04,0x85,0xbe]
+0xf0,0x04,0x85,0xbe
+
+# CHECK: s_not_b32 s5, -4.0 ; encoding: [0xf7,0x04,0x85,0xbe]
+0xf7,0x04,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x04,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_not_b64 s[10:11], s[2:3] ; encoding: [0x02,0x05,0x8a,0xbe]
+0x02,0x05,0x8a,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[2:3] ; encoding: [0x02,0x05,0xe4,0xbe]
+0x02,0x05,0xe4,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[2:3] ; encoding: [0x02,0x05,0xea,0xbe]
+0x02,0x05,0xea,0xbe
+
+# CHECK: s_not_b64 exec, s[2:3] ; encoding: [0x02,0x05,0xfe,0xbe]
+0x02,0x05,0xfe,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[10:11], s[100:101] ; encoding: [0x64,0x05,0x8a,0xbe]
+0x64,0x05,0x8a,0xbe
+
+# CHECK: s_not_b64 s[10:11], flat_scratch ; encoding: [0x66,0x05,0x8a,0xbe]
+0x66,0x05,0x8a,0xbe
+
+# CHECK: s_not_b64 s[10:11], vcc ; encoding: [0x6a,0x05,0x8a,0xbe]
+0x6a,0x05,0x8a,0xbe
+
+# CHECK: s_not_b64 s[10:11], exec ; encoding: [0x7e,0x05,0x8a,0xbe]
+0x7e,0x05,0x8a,0xbe
+
+# CHECK: s_not_b64 s[10:11], 0 ; encoding: [0x80,0x05,0x8a,0xbe]
+0x80,0x05,0x8a,0xbe
+
+# CHECK: s_not_b64 s[10:11], -1 ; encoding: [0xc1,0x05,0x8a,0xbe]
+0xc1,0x05,0x8a,0xbe
+
+# CHECK: s_not_b64 s[10:11], 0.5 ; encoding: [0xf0,0x05,0x8a,0xbe]
+0xf0,0x05,0x8a,0xbe
+
+# CHECK: s_not_b64 s[10:11], -4.0 ; encoding: [0xf7,0x05,0x8a,0xbe]
+0xf7,0x05,0x8a,0xbe
+
+# 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[10:11], 0x3f717273 ; encoding: [0xff,0x05,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x05,0x8a,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_wqm_b32 s5, s1 ; encoding: [0x01,0x06,0x85,0xbe]
+0x01,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s101, s1 ; encoding: [0x01,0x06,0xe5,0xbe]
+0x01,0x06,0xe5,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, s1 ; encoding: [0x01,0x06,0xe7,0xbe]
+0x01,0x06,0xe7,0xbe
+
+# CHECK: s_wqm_b32 vcc_lo, s1 ; encoding: [0x01,0x06,0xea,0xbe]
+0x01,0x06,0xea,0xbe
+
+# CHECK: s_wqm_b32 vcc_hi, s1 ; encoding: [0x01,0x06,0xeb,0xbe]
+0x01,0x06,0xeb,0xbe
+
+# CHECK: s_wqm_b32 m0, s1 ; encoding: [0x01,0x06,0xfc,0xbe]
+0x01,0x06,0xfc,0xbe
+
+# CHECK: s_wqm_b32 exec_lo, s1 ; encoding: [0x01,0x06,0xfe,0xbe]
+0x01,0x06,0xfe,0xbe
+
+# CHECK: s_wqm_b32 exec_hi, s1 ; encoding: [0x01,0x06,0xff,0xbe]
+0x01,0x06,0xff,0xbe
+
+# CHECK: s_wqm_b32 s5, s101 ; encoding: [0x65,0x06,0x85,0xbe]
+0x65,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, flat_scratch_lo ; encoding: [0x66,0x06,0x85,0xbe]
+0x66,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, flat_scratch_hi ; encoding: [0x67,0x06,0x85,0xbe]
+0x67,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, vcc_lo ; encoding: [0x6a,0x06,0x85,0xbe]
+0x6a,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, vcc_hi ; encoding: [0x6b,0x06,0x85,0xbe]
+0x6b,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, m0 ; encoding: [0x7c,0x06,0x85,0xbe]
+0x7c,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, exec_lo ; encoding: [0x7e,0x06,0x85,0xbe]
+0x7e,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, exec_hi ; encoding: [0x7f,0x06,0x85,0xbe]
+0x7f,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, 0 ; encoding: [0x80,0x06,0x85,0xbe]
+0x80,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, -1 ; encoding: [0xc1,0x06,0x85,0xbe]
+0xc1,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, 0.5 ; encoding: [0xf0,0x06,0x85,0xbe]
+0xf0,0x06,0x85,0xbe
+
+# CHECK: s_wqm_b32 s5, -4.0 ; encoding: [0xf7,0x06,0x85,0xbe]
+0xf7,0x06,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x06,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x06,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_wqm_b64 s[10:11], s[2:3] ; encoding: [0x02,0x07,0x8a,0xbe]
+0x02,0x07,0x8a,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[2:3] ; encoding: [0x02,0x07,0xe4,0xbe]
+0x02,0x07,0xe4,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[2:3] ; encoding: [0x02,0x07,0xea,0xbe]
+0x02,0x07,0xea,0xbe
+
+# CHECK: s_wqm_b64 exec, s[2:3] ; encoding: [0x02,0x07,0xfe,0xbe]
+0x02,0x07,0xfe,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[10:11], s[100:101] ; encoding: [0x64,0x07,0x8a,0xbe]
+0x64,0x07,0x8a,0xbe
+
+# CHECK: s_wqm_b64 s[10:11], flat_scratch ; encoding: [0x66,0x07,0x8a,0xbe]
+0x66,0x07,0x8a,0xbe
+
+# CHECK: s_wqm_b64 s[10:11], vcc ; encoding: [0x6a,0x07,0x8a,0xbe]
+0x6a,0x07,0x8a,0xbe
+
+# CHECK: s_wqm_b64 s[10:11], exec ; encoding: [0x7e,0x07,0x8a,0xbe]
+0x7e,0x07,0x8a,0xbe
+
+# CHECK: s_wqm_b64 s[10:11], 0 ; encoding: [0x80,0x07,0x8a,0xbe]
+0x80,0x07,0x8a,0xbe
+
+# CHECK: s_wqm_b64 s[10:11], -1 ; encoding: [0xc1,0x07,0x8a,0xbe]
+0xc1,0x07,0x8a,0xbe
+
+# CHECK: s_wqm_b64 s[10:11], 0.5 ; encoding: [0xf0,0x07,0x8a,0xbe]
+0xf0,0x07,0x8a,0xbe
+
+# CHECK: s_wqm_b64 s[10:11], -4.0 ; encoding: [0xf7,0x07,0x8a,0xbe]
+0xf7,0x07,0x8a,0xbe
+
+# 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[10:11], 0x3f717273 ; encoding: [0xff,0x07,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x07,0x8a,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_brev_b32 s5, s1 ; encoding: [0x01,0x08,0x85,0xbe]
+0x01,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s101, s1 ; encoding: [0x01,0x08,0xe5,0xbe]
+0x01,0x08,0xe5,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, s1 ; encoding: [0x01,0x08,0xe7,0xbe]
+0x01,0x08,0xe7,0xbe
+
+# CHECK: s_brev_b32 vcc_lo, s1 ; encoding: [0x01,0x08,0xea,0xbe]
+0x01,0x08,0xea,0xbe
+
+# CHECK: s_brev_b32 vcc_hi, s1 ; encoding: [0x01,0x08,0xeb,0xbe]
+0x01,0x08,0xeb,0xbe
+
+# CHECK: s_brev_b32 m0, s1 ; encoding: [0x01,0x08,0xfc,0xbe]
+0x01,0x08,0xfc,0xbe
+
+# CHECK: s_brev_b32 exec_lo, s1 ; encoding: [0x01,0x08,0xfe,0xbe]
+0x01,0x08,0xfe,0xbe
+
+# CHECK: s_brev_b32 exec_hi, s1 ; encoding: [0x01,0x08,0xff,0xbe]
+0x01,0x08,0xff,0xbe
+
+# CHECK: s_brev_b32 s5, s101 ; encoding: [0x65,0x08,0x85,0xbe]
+0x65,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, flat_scratch_lo ; encoding: [0x66,0x08,0x85,0xbe]
+0x66,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, flat_scratch_hi ; encoding: [0x67,0x08,0x85,0xbe]
+0x67,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, vcc_lo ; encoding: [0x6a,0x08,0x85,0xbe]
+0x6a,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, vcc_hi ; encoding: [0x6b,0x08,0x85,0xbe]
+0x6b,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, m0 ; encoding: [0x7c,0x08,0x85,0xbe]
+0x7c,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, exec_lo ; encoding: [0x7e,0x08,0x85,0xbe]
+0x7e,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, exec_hi ; encoding: [0x7f,0x08,0x85,0xbe]
+0x7f,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, 0 ; encoding: [0x80,0x08,0x85,0xbe]
+0x80,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, -1 ; encoding: [0xc1,0x08,0x85,0xbe]
+0xc1,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, 0.5 ; encoding: [0xf0,0x08,0x85,0xbe]
+0xf0,0x08,0x85,0xbe
+
+# CHECK: s_brev_b32 s5, -4.0 ; encoding: [0xf7,0x08,0x85,0xbe]
+0xf7,0x08,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x08,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x08,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_brev_b64 s[10:11], s[2:3] ; encoding: [0x02,0x09,0x8a,0xbe]
+0x02,0x09,0x8a,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[2:3] ; encoding: [0x02,0x09,0xe4,0xbe]
+0x02,0x09,0xe4,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[2:3] ; encoding: [0x02,0x09,0xea,0xbe]
+0x02,0x09,0xea,0xbe
+
+# CHECK: s_brev_b64 exec, s[2:3] ; encoding: [0x02,0x09,0xfe,0xbe]
+0x02,0x09,0xfe,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[10:11], s[100:101] ; encoding: [0x64,0x09,0x8a,0xbe]
+0x64,0x09,0x8a,0xbe
+
+# CHECK: s_brev_b64 s[10:11], flat_scratch ; encoding: [0x66,0x09,0x8a,0xbe]
+0x66,0x09,0x8a,0xbe
+
+# CHECK: s_brev_b64 s[10:11], vcc ; encoding: [0x6a,0x09,0x8a,0xbe]
+0x6a,0x09,0x8a,0xbe
+
+# CHECK: s_brev_b64 s[10:11], exec ; encoding: [0x7e,0x09,0x8a,0xbe]
+0x7e,0x09,0x8a,0xbe
+
+# CHECK: s_brev_b64 s[10:11], 0 ; encoding: [0x80,0x09,0x8a,0xbe]
+0x80,0x09,0x8a,0xbe
+
+# CHECK: s_brev_b64 s[10:11], -1 ; encoding: [0xc1,0x09,0x8a,0xbe]
+0xc1,0x09,0x8a,0xbe
+
+# CHECK: s_brev_b64 s[10:11], 0.5 ; encoding: [0xf0,0x09,0x8a,0xbe]
+0xf0,0x09,0x8a,0xbe
+
+# CHECK: s_brev_b64 s[10:11], -4.0 ; encoding: [0xf7,0x09,0x8a,0xbe]
+0xf7,0x09,0x8a,0xbe
+
+# 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[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 s5, s1 ; encoding: [0x01,0x0a,0x85,0xbe]
+0x01,0x0a,0x85,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, s1 ; encoding: [0x01,0x0a,0xe6,0xbe]
+0x01,0x0a,0xe6,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, s1 ; encoding: [0x01,0x0a,0xea,0xbe]
+0x01,0x0a,0xea,0xbe
+
+# CHECK: s_bcnt0_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x0a,0xeb,0xbe]
+0x01,0x0a,0xeb,0xbe
+
+# CHECK: s_bcnt0_i32_b32 m0, s1 ; encoding: [0x01,0x0a,0xfc,0xbe]
+0x01,0x0a,0xfc,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, s1 ; encoding: [0x01,0x0a,0xff,0xbe]
+0x01,0x0a,0xff,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, s101 ; encoding: [0x65,0x0a,0x85,0xbe]
+0x65,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x0a,0x85,0xbe]
+0x66,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x0a,0x85,0xbe]
+0x67,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x0a,0x85,0xbe]
+0x6a,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x0a,0x85,0xbe]
+0x6b,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, m0 ; encoding: [0x7c,0x0a,0x85,0xbe]
+0x7c,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, exec_lo ; encoding: [0x7e,0x0a,0x85,0xbe]
+0x7e,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, exec_hi ; encoding: [0x7f,0x0a,0x85,0xbe]
+0x7f,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, 0 ; encoding: [0x80,0x0a,0x85,0xbe]
+0x80,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, -1 ; encoding: [0xc1,0x0a,0x85,0xbe]
+0xc1,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, 0.5 ; encoding: [0xf0,0x0a,0x85,0xbe]
+0xf0,0x0a,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b32 s5, -4.0 ; encoding: [0xf7,0x0a,0x85,0xbe]
+0xf7,0x0a,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x0a,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0a,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# 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[2:3] ; encoding: [0x02,0x0b,0xe5,0xbe]
+0x02,0x0b,0xe5,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[2:3] ; encoding: [0x02,0x0b,0xe7,0xbe]
+0x02,0x0b,0xe7,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[2:3] ; encoding: [0x02,0x0b,0xeb,0xbe]
+0x02,0x0b,0xeb,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[2:3] ; encoding: [0x02,0x0b,0xfe,0xbe]
+0x02,0x0b,0xfe,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 s5, s[4:5] ; encoding: [0x04,0x0b,0x85,0xbe]
+0x04,0x0b,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b64 s5, s[100:101] ; encoding: [0x64,0x0b,0x85,0xbe]
+0x64,0x0b,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b64 s5, flat_scratch ; encoding: [0x66,0x0b,0x85,0xbe]
+0x66,0x0b,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b64 s5, vcc ; encoding: [0x6a,0x0b,0x85,0xbe]
+0x6a,0x0b,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b64 s5, exec ; encoding: [0x7e,0x0b,0x85,0xbe]
+0x7e,0x0b,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b64 s5, 0 ; encoding: [0x80,0x0b,0x85,0xbe]
+0x80,0x0b,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b64 s5, -1 ; encoding: [0xc1,0x0b,0x85,0xbe]
+0xc1,0x0b,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b64 s5, 0.5 ; encoding: [0xf0,0x0b,0x85,0xbe]
+0xf0,0x0b,0x85,0xbe
+
+# CHECK: s_bcnt0_i32_b64 s5, -4.0 ; encoding: [0xf7,0x0b,0x85,0xbe]
+0xf7,0x0b,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x0b,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0b,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bcnt1_i32_b32 s5, s1 ; encoding: [0x01,0x0c,0x85,0xbe]
+0x01,0x0c,0x85,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, s1 ; encoding: [0x01,0x0c,0xe6,0xbe]
+0x01,0x0c,0xe6,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, s1 ; encoding: [0x01,0x0c,0xea,0xbe]
+0x01,0x0c,0xea,0xbe
+
+# CHECK: s_bcnt1_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x0c,0xeb,0xbe]
+0x01,0x0c,0xeb,0xbe
+
+# CHECK: s_bcnt1_i32_b32 m0, s1 ; encoding: [0x01,0x0c,0xfc,0xbe]
+0x01,0x0c,0xfc,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, s1 ; encoding: [0x01,0x0c,0xff,0xbe]
+0x01,0x0c,0xff,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, s101 ; encoding: [0x65,0x0c,0x85,0xbe]
+0x65,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x0c,0x85,0xbe]
+0x66,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x0c,0x85,0xbe]
+0x67,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x0c,0x85,0xbe]
+0x6a,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x0c,0x85,0xbe]
+0x6b,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, m0 ; encoding: [0x7c,0x0c,0x85,0xbe]
+0x7c,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, exec_lo ; encoding: [0x7e,0x0c,0x85,0xbe]
+0x7e,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, exec_hi ; encoding: [0x7f,0x0c,0x85,0xbe]
+0x7f,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, 0 ; encoding: [0x80,0x0c,0x85,0xbe]
+0x80,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, -1 ; encoding: [0xc1,0x0c,0x85,0xbe]
+0xc1,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, 0.5 ; encoding: [0xf0,0x0c,0x85,0xbe]
+0xf0,0x0c,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b32 s5, -4.0 ; encoding: [0xf7,0x0c,0x85,0xbe]
+0xf7,0x0c,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x0c,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0c,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# 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[2:3] ; encoding: [0x02,0x0d,0xe5,0xbe]
+0x02,0x0d,0xe5,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[2:3] ; encoding: [0x02,0x0d,0xe7,0xbe]
+0x02,0x0d,0xe7,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[2:3] ; encoding: [0x02,0x0d,0xeb,0xbe]
+0x02,0x0d,0xeb,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[2:3] ; encoding: [0x02,0x0d,0xfe,0xbe]
+0x02,0x0d,0xfe,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 s5, s[4:5] ; encoding: [0x04,0x0d,0x85,0xbe]
+0x04,0x0d,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b64 s5, s[100:101] ; encoding: [0x64,0x0d,0x85,0xbe]
+0x64,0x0d,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b64 s5, flat_scratch ; encoding: [0x66,0x0d,0x85,0xbe]
+0x66,0x0d,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b64 s5, vcc ; encoding: [0x6a,0x0d,0x85,0xbe]
+0x6a,0x0d,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b64 s5, exec ; encoding: [0x7e,0x0d,0x85,0xbe]
+0x7e,0x0d,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b64 s5, 0 ; encoding: [0x80,0x0d,0x85,0xbe]
+0x80,0x0d,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b64 s5, -1 ; encoding: [0xc1,0x0d,0x85,0xbe]
+0xc1,0x0d,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b64 s5, 0.5 ; encoding: [0xf0,0x0d,0x85,0xbe]
+0xf0,0x0d,0x85,0xbe
+
+# CHECK: s_bcnt1_i32_b64 s5, -4.0 ; encoding: [0xf7,0x0d,0x85,0xbe]
+0xf7,0x0d,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x0d,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0d,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_ff0_i32_b32 s5, s1 ; encoding: [0x01,0x0e,0x85,0xbe]
+0x01,0x0e,0x85,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, s1 ; encoding: [0x01,0x0e,0xe6,0xbe]
+0x01,0x0e,0xe6,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, s1 ; encoding: [0x01,0x0e,0xea,0xbe]
+0x01,0x0e,0xea,0xbe
+
+# CHECK: s_ff0_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x0e,0xeb,0xbe]
+0x01,0x0e,0xeb,0xbe
+
+# CHECK: s_ff0_i32_b32 m0, s1 ; encoding: [0x01,0x0e,0xfc,0xbe]
+0x01,0x0e,0xfc,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, s1 ; encoding: [0x01,0x0e,0xff,0xbe]
+0x01,0x0e,0xff,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, s101 ; encoding: [0x65,0x0e,0x85,0xbe]
+0x65,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x0e,0x85,0xbe]
+0x66,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x0e,0x85,0xbe]
+0x67,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x0e,0x85,0xbe]
+0x6a,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x0e,0x85,0xbe]
+0x6b,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, m0 ; encoding: [0x7c,0x0e,0x85,0xbe]
+0x7c,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, exec_lo ; encoding: [0x7e,0x0e,0x85,0xbe]
+0x7e,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, exec_hi ; encoding: [0x7f,0x0e,0x85,0xbe]
+0x7f,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, 0 ; encoding: [0x80,0x0e,0x85,0xbe]
+0x80,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, -1 ; encoding: [0xc1,0x0e,0x85,0xbe]
+0xc1,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, 0.5 ; encoding: [0xf0,0x0e,0x85,0xbe]
+0xf0,0x0e,0x85,0xbe
+
+# CHECK: s_ff0_i32_b32 s5, -4.0 ; encoding: [0xf7,0x0e,0x85,0xbe]
+0xf7,0x0e,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x0e,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0e,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# 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[2:3] ; encoding: [0x02,0x0f,0xe5,0xbe]
+0x02,0x0f,0xe5,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[2:3] ; encoding: [0x02,0x0f,0xe7,0xbe]
+0x02,0x0f,0xe7,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[2:3] ; encoding: [0x02,0x0f,0xeb,0xbe]
+0x02,0x0f,0xeb,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[2:3] ; encoding: [0x02,0x0f,0xfe,0xbe]
+0x02,0x0f,0xfe,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 s5, s[4:5] ; encoding: [0x04,0x0f,0x85,0xbe]
+0x04,0x0f,0x85,0xbe
+
+# CHECK: s_ff0_i32_b64 s5, s[100:101] ; encoding: [0x64,0x0f,0x85,0xbe]
+0x64,0x0f,0x85,0xbe
+
+# CHECK: s_ff0_i32_b64 s5, flat_scratch ; encoding: [0x66,0x0f,0x85,0xbe]
+0x66,0x0f,0x85,0xbe
+
+# CHECK: s_ff0_i32_b64 s5, vcc ; encoding: [0x6a,0x0f,0x85,0xbe]
+0x6a,0x0f,0x85,0xbe
+
+# CHECK: s_ff0_i32_b64 s5, exec ; encoding: [0x7e,0x0f,0x85,0xbe]
+0x7e,0x0f,0x85,0xbe
+
+# CHECK: s_ff0_i32_b64 s5, 0 ; encoding: [0x80,0x0f,0x85,0xbe]
+0x80,0x0f,0x85,0xbe
+
+# CHECK: s_ff0_i32_b64 s5, -1 ; encoding: [0xc1,0x0f,0x85,0xbe]
+0xc1,0x0f,0x85,0xbe
+
+# CHECK: s_ff0_i32_b64 s5, 0.5 ; encoding: [0xf0,0x0f,0x85,0xbe]
+0xf0,0x0f,0x85,0xbe
+
+# CHECK: s_ff0_i32_b64 s5, -4.0 ; encoding: [0xf7,0x0f,0x85,0xbe]
+0xf7,0x0f,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x0f,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0f,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_ff1_i32_b32 s5, s1 ; encoding: [0x01,0x10,0x85,0xbe]
+0x01,0x10,0x85,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, s1 ; encoding: [0x01,0x10,0xe6,0xbe]
+0x01,0x10,0xe6,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, s1 ; encoding: [0x01,0x10,0xea,0xbe]
+0x01,0x10,0xea,0xbe
+
+# CHECK: s_ff1_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x10,0xeb,0xbe]
+0x01,0x10,0xeb,0xbe
+
+# CHECK: s_ff1_i32_b32 m0, s1 ; encoding: [0x01,0x10,0xfc,0xbe]
+0x01,0x10,0xfc,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, s1 ; encoding: [0x01,0x10,0xff,0xbe]
+0x01,0x10,0xff,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, s101 ; encoding: [0x65,0x10,0x85,0xbe]
+0x65,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x10,0x85,0xbe]
+0x66,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x10,0x85,0xbe]
+0x67,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x10,0x85,0xbe]
+0x6a,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x10,0x85,0xbe]
+0x6b,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, m0 ; encoding: [0x7c,0x10,0x85,0xbe]
+0x7c,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, exec_lo ; encoding: [0x7e,0x10,0x85,0xbe]
+0x7e,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, exec_hi ; encoding: [0x7f,0x10,0x85,0xbe]
+0x7f,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, 0 ; encoding: [0x80,0x10,0x85,0xbe]
+0x80,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, -1 ; encoding: [0xc1,0x10,0x85,0xbe]
+0xc1,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, 0.5 ; encoding: [0xf0,0x10,0x85,0xbe]
+0xf0,0x10,0x85,0xbe
+
+# CHECK: s_ff1_i32_b32 s5, -4.0 ; encoding: [0xf7,0x10,0x85,0xbe]
+0xf7,0x10,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x10,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x10,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# 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[2:3] ; encoding: [0x02,0x11,0xe5,0xbe]
+0x02,0x11,0xe5,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[2:3] ; encoding: [0x02,0x11,0xe7,0xbe]
+0x02,0x11,0xe7,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[2:3] ; encoding: [0x02,0x11,0xeb,0xbe]
+0x02,0x11,0xeb,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[2:3] ; encoding: [0x02,0x11,0xfe,0xbe]
+0x02,0x11,0xfe,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 s5, s[4:5] ; encoding: [0x04,0x11,0x85,0xbe]
+0x04,0x11,0x85,0xbe
+
+# CHECK: s_ff1_i32_b64 s5, s[100:101] ; encoding: [0x64,0x11,0x85,0xbe]
+0x64,0x11,0x85,0xbe
+
+# CHECK: s_ff1_i32_b64 s5, flat_scratch ; encoding: [0x66,0x11,0x85,0xbe]
+0x66,0x11,0x85,0xbe
+
+# CHECK: s_ff1_i32_b64 s5, vcc ; encoding: [0x6a,0x11,0x85,0xbe]
+0x6a,0x11,0x85,0xbe
+
+# CHECK: s_ff1_i32_b64 s5, exec ; encoding: [0x7e,0x11,0x85,0xbe]
+0x7e,0x11,0x85,0xbe
+
+# CHECK: s_ff1_i32_b64 s5, 0 ; encoding: [0x80,0x11,0x85,0xbe]
+0x80,0x11,0x85,0xbe
+
+# CHECK: s_ff1_i32_b64 s5, -1 ; encoding: [0xc1,0x11,0x85,0xbe]
+0xc1,0x11,0x85,0xbe
+
+# CHECK: s_ff1_i32_b64 s5, 0.5 ; encoding: [0xf0,0x11,0x85,0xbe]
+0xf0,0x11,0x85,0xbe
+
+# CHECK: s_ff1_i32_b64 s5, -4.0 ; encoding: [0xf7,0x11,0x85,0xbe]
+0xf7,0x11,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x11,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x11,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_flbit_i32_b32 s5, s1 ; encoding: [0x01,0x12,0x85,0xbe]
+0x01,0x12,0x85,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, s1 ; encoding: [0x01,0x12,0xe6,0xbe]
+0x01,0x12,0xe6,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, s1 ; encoding: [0x01,0x12,0xea,0xbe]
+0x01,0x12,0xea,0xbe
+
+# CHECK: s_flbit_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x12,0xeb,0xbe]
+0x01,0x12,0xeb,0xbe
+
+# CHECK: s_flbit_i32_b32 m0, s1 ; encoding: [0x01,0x12,0xfc,0xbe]
+0x01,0x12,0xfc,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, s1 ; encoding: [0x01,0x12,0xff,0xbe]
+0x01,0x12,0xff,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, s101 ; encoding: [0x65,0x12,0x85,0xbe]
+0x65,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x12,0x85,0xbe]
+0x66,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x12,0x85,0xbe]
+0x67,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x12,0x85,0xbe]
+0x6a,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x12,0x85,0xbe]
+0x6b,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, m0 ; encoding: [0x7c,0x12,0x85,0xbe]
+0x7c,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, exec_lo ; encoding: [0x7e,0x12,0x85,0xbe]
+0x7e,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, exec_hi ; encoding: [0x7f,0x12,0x85,0xbe]
+0x7f,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, 0 ; encoding: [0x80,0x12,0x85,0xbe]
+0x80,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, -1 ; encoding: [0xc1,0x12,0x85,0xbe]
+0xc1,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, 0.5 ; encoding: [0xf0,0x12,0x85,0xbe]
+0xf0,0x12,0x85,0xbe
+
+# CHECK: s_flbit_i32_b32 s5, -4.0 ; encoding: [0xf7,0x12,0x85,0xbe]
+0xf7,0x12,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x12,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x12,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# 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[2:3] ; encoding: [0x02,0x13,0xe5,0xbe]
+0x02,0x13,0xe5,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[2:3] ; encoding: [0x02,0x13,0xe7,0xbe]
+0x02,0x13,0xe7,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[2:3] ; encoding: [0x02,0x13,0xeb,0xbe]
+0x02,0x13,0xeb,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[2:3] ; encoding: [0x02,0x13,0xfe,0xbe]
+0x02,0x13,0xfe,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 s5, s[4:5] ; encoding: [0x04,0x13,0x85,0xbe]
+0x04,0x13,0x85,0xbe
+
+# CHECK: s_flbit_i32_b64 s5, s[100:101] ; encoding: [0x64,0x13,0x85,0xbe]
+0x64,0x13,0x85,0xbe
+
+# CHECK: s_flbit_i32_b64 s5, flat_scratch ; encoding: [0x66,0x13,0x85,0xbe]
+0x66,0x13,0x85,0xbe
+
+# CHECK: s_flbit_i32_b64 s5, vcc ; encoding: [0x6a,0x13,0x85,0xbe]
+0x6a,0x13,0x85,0xbe
+
+# CHECK: s_flbit_i32_b64 s5, exec ; encoding: [0x7e,0x13,0x85,0xbe]
+0x7e,0x13,0x85,0xbe
+
+# CHECK: s_flbit_i32_b64 s5, 0 ; encoding: [0x80,0x13,0x85,0xbe]
+0x80,0x13,0x85,0xbe
+
+# CHECK: s_flbit_i32_b64 s5, -1 ; encoding: [0xc1,0x13,0x85,0xbe]
+0xc1,0x13,0x85,0xbe
+
+# CHECK: s_flbit_i32_b64 s5, 0.5 ; encoding: [0xf0,0x13,0x85,0xbe]
+0xf0,0x13,0x85,0xbe
+
+# CHECK: s_flbit_i32_b64 s5, -4.0 ; encoding: [0xf7,0x13,0x85,0xbe]
+0xf7,0x13,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x13,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x13,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_flbit_i32 s5, s1 ; encoding: [0x01,0x14,0x85,0xbe]
+0x01,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s101, s1 ; encoding: [0x01,0x14,0xe5,0xbe]
+0x01,0x14,0xe5,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, s1 ; encoding: [0x01,0x14,0xe7,0xbe]
+0x01,0x14,0xe7,0xbe
+
+# CHECK: s_flbit_i32 vcc_lo, s1 ; encoding: [0x01,0x14,0xea,0xbe]
+0x01,0x14,0xea,0xbe
+
+# CHECK: s_flbit_i32 vcc_hi, s1 ; encoding: [0x01,0x14,0xeb,0xbe]
+0x01,0x14,0xeb,0xbe
+
+# CHECK: s_flbit_i32 m0, s1 ; encoding: [0x01,0x14,0xfc,0xbe]
+0x01,0x14,0xfc,0xbe
+
+# CHECK: s_flbit_i32 exec_lo, s1 ; encoding: [0x01,0x14,0xfe,0xbe]
+0x01,0x14,0xfe,0xbe
+
+# CHECK: s_flbit_i32 exec_hi, s1 ; encoding: [0x01,0x14,0xff,0xbe]
+0x01,0x14,0xff,0xbe
+
+# CHECK: s_flbit_i32 s5, s101 ; encoding: [0x65,0x14,0x85,0xbe]
+0x65,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, flat_scratch_lo ; encoding: [0x66,0x14,0x85,0xbe]
+0x66,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, flat_scratch_hi ; encoding: [0x67,0x14,0x85,0xbe]
+0x67,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, vcc_lo ; encoding: [0x6a,0x14,0x85,0xbe]
+0x6a,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, vcc_hi ; encoding: [0x6b,0x14,0x85,0xbe]
+0x6b,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, m0 ; encoding: [0x7c,0x14,0x85,0xbe]
+0x7c,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, exec_lo ; encoding: [0x7e,0x14,0x85,0xbe]
+0x7e,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, exec_hi ; encoding: [0x7f,0x14,0x85,0xbe]
+0x7f,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, 0 ; encoding: [0x80,0x14,0x85,0xbe]
+0x80,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, -1 ; encoding: [0xc1,0x14,0x85,0xbe]
+0xc1,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, 0.5 ; encoding: [0xf0,0x14,0x85,0xbe]
+0xf0,0x14,0x85,0xbe
+
+# CHECK: s_flbit_i32 s5, -4.0 ; encoding: [0xf7,0x14,0x85,0xbe]
+0xf7,0x14,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x14,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x14,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# 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[2:3] ; encoding: [0x02,0x15,0xe5,0xbe]
+0x02,0x15,0xe5,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[2:3] ; encoding: [0x02,0x15,0xe7,0xbe]
+0x02,0x15,0xe7,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[2:3] ; encoding: [0x02,0x15,0xeb,0xbe]
+0x02,0x15,0xeb,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[2:3] ; encoding: [0x02,0x15,0xfe,0xbe]
+0x02,0x15,0xfe,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 s5, s[4:5] ; encoding: [0x04,0x15,0x85,0xbe]
+0x04,0x15,0x85,0xbe
+
+# CHECK: s_flbit_i32_i64 s5, s[100:101] ; encoding: [0x64,0x15,0x85,0xbe]
+0x64,0x15,0x85,0xbe
+
+# CHECK: s_flbit_i32_i64 s5, flat_scratch ; encoding: [0x66,0x15,0x85,0xbe]
+0x66,0x15,0x85,0xbe
+
+# CHECK: s_flbit_i32_i64 s5, vcc ; encoding: [0x6a,0x15,0x85,0xbe]
+0x6a,0x15,0x85,0xbe
+
+# CHECK: s_flbit_i32_i64 s5, exec ; encoding: [0x7e,0x15,0x85,0xbe]
+0x7e,0x15,0x85,0xbe
+
+# CHECK: s_flbit_i32_i64 s5, 0 ; encoding: [0x80,0x15,0x85,0xbe]
+0x80,0x15,0x85,0xbe
+
+# CHECK: s_flbit_i32_i64 s5, -1 ; encoding: [0xc1,0x15,0x85,0xbe]
+0xc1,0x15,0x85,0xbe
+
+# CHECK: s_flbit_i32_i64 s5, 0.5 ; encoding: [0xf0,0x15,0x85,0xbe]
+0xf0,0x15,0x85,0xbe
+
+# CHECK: s_flbit_i32_i64 s5, -4.0 ; encoding: [0xf7,0x15,0x85,0xbe]
+0xf7,0x15,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x15,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x15,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_sext_i32_i8 s5, s1 ; encoding: [0x01,0x16,0x85,0xbe]
+0x01,0x16,0x85,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, s1 ; encoding: [0x01,0x16,0xe6,0xbe]
+0x01,0x16,0xe6,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, s1 ; encoding: [0x01,0x16,0xea,0xbe]
+0x01,0x16,0xea,0xbe
+
+# CHECK: s_sext_i32_i8 vcc_hi, s1 ; encoding: [0x01,0x16,0xeb,0xbe]
+0x01,0x16,0xeb,0xbe
+
+# CHECK: s_sext_i32_i8 m0, s1 ; encoding: [0x01,0x16,0xfc,0xbe]
+0x01,0x16,0xfc,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, s1 ; encoding: [0x01,0x16,0xff,0xbe]
+0x01,0x16,0xff,0xbe
+
+# CHECK: s_sext_i32_i8 s5, s101 ; encoding: [0x65,0x16,0x85,0xbe]
+0x65,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, flat_scratch_lo ; encoding: [0x66,0x16,0x85,0xbe]
+0x66,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, flat_scratch_hi ; encoding: [0x67,0x16,0x85,0xbe]
+0x67,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, vcc_lo ; encoding: [0x6a,0x16,0x85,0xbe]
+0x6a,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, vcc_hi ; encoding: [0x6b,0x16,0x85,0xbe]
+0x6b,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, m0 ; encoding: [0x7c,0x16,0x85,0xbe]
+0x7c,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, exec_lo ; encoding: [0x7e,0x16,0x85,0xbe]
+0x7e,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, exec_hi ; encoding: [0x7f,0x16,0x85,0xbe]
+0x7f,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, 0 ; encoding: [0x80,0x16,0x85,0xbe]
+0x80,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, -1 ; encoding: [0xc1,0x16,0x85,0xbe]
+0xc1,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, 0.5 ; encoding: [0xf0,0x16,0x85,0xbe]
+0xf0,0x16,0x85,0xbe
+
+# CHECK: s_sext_i32_i8 s5, -4.0 ; encoding: [0xf7,0x16,0x85,0xbe]
+0xf7,0x16,0x85,0xbe
+
+# 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 s5, 0xf0 ; encoding: [0xff,0x16,0x85,0xbe,0xf0,0x00,0x00,0x00]
+0xff,0x16,0x85,0xbe,0xf0,0x00,0x00,0x00
+
+# CHECK: s_sext_i32_i16 s5, s1 ; encoding: [0x01,0x17,0x85,0xbe]
+0x01,0x17,0x85,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, s1 ; encoding: [0x01,0x17,0xe6,0xbe]
+0x01,0x17,0xe6,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, s1 ; encoding: [0x01,0x17,0xea,0xbe]
+0x01,0x17,0xea,0xbe
+
+# CHECK: s_sext_i32_i16 vcc_hi, s1 ; encoding: [0x01,0x17,0xeb,0xbe]
+0x01,0x17,0xeb,0xbe
+
+# CHECK: s_sext_i32_i16 m0, s1 ; encoding: [0x01,0x17,0xfc,0xbe]
+0x01,0x17,0xfc,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, s1 ; encoding: [0x01,0x17,0xff,0xbe]
+0x01,0x17,0xff,0xbe
+
+# CHECK: s_sext_i32_i16 s5, s101 ; encoding: [0x65,0x17,0x85,0xbe]
+0x65,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, flat_scratch_lo ; encoding: [0x66,0x17,0x85,0xbe]
+0x66,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, flat_scratch_hi ; encoding: [0x67,0x17,0x85,0xbe]
+0x67,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, vcc_lo ; encoding: [0x6a,0x17,0x85,0xbe]
+0x6a,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, vcc_hi ; encoding: [0x6b,0x17,0x85,0xbe]
+0x6b,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, m0 ; encoding: [0x7c,0x17,0x85,0xbe]
+0x7c,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, exec_lo ; encoding: [0x7e,0x17,0x85,0xbe]
+0x7e,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, exec_hi ; encoding: [0x7f,0x17,0x85,0xbe]
+0x7f,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, 0 ; encoding: [0x80,0x17,0x85,0xbe]
+0x80,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, -1 ; encoding: [0xc1,0x17,0x85,0xbe]
+0xc1,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, 0.5 ; encoding: [0xf0,0x17,0x85,0xbe]
+0xf0,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, -4.0 ; encoding: [0xf7,0x17,0x85,0xbe]
+0xf7,0x17,0x85,0xbe
+
+# CHECK: s_sext_i32_i16 s5, 0xfe0b ; encoding: [0xff,0x17,0x85,0xbe,0x0b,0xfe,0x00,0x00]
+0xff,0x17,0x85,0xbe,0x0b,0xfe,0x00,0x00
+
+# CHECK: s_sext_i32_i16 s5, 0x3456 ; encoding: [0xff,0x17,0x85,0xbe,0x56,0x34,0x00,0x00]
+0xff,0x17,0x85,0xbe,0x56,0x34,0x00,0x00
+
+# CHECK: s_bitset0_b32 s5, s1 ; encoding: [0x01,0x18,0x85,0xbe]
+0x01,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s101, s1 ; encoding: [0x01,0x18,0xe5,0xbe]
+0x01,0x18,0xe5,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, s1 ; encoding: [0x01,0x18,0xe7,0xbe]
+0x01,0x18,0xe7,0xbe
+
+# CHECK: s_bitset0_b32 vcc_lo, s1 ; encoding: [0x01,0x18,0xea,0xbe]
+0x01,0x18,0xea,0xbe
+
+# CHECK: s_bitset0_b32 vcc_hi, s1 ; encoding: [0x01,0x18,0xeb,0xbe]
+0x01,0x18,0xeb,0xbe
+
+# CHECK: s_bitset0_b32 m0, s1 ; encoding: [0x01,0x18,0xfc,0xbe]
+0x01,0x18,0xfc,0xbe
+
+# CHECK: s_bitset0_b32 exec_lo, s1 ; encoding: [0x01,0x18,0xfe,0xbe]
+0x01,0x18,0xfe,0xbe
+
+# CHECK: s_bitset0_b32 exec_hi, s1 ; encoding: [0x01,0x18,0xff,0xbe]
+0x01,0x18,0xff,0xbe
+
+# CHECK: s_bitset0_b32 s5, s101 ; encoding: [0x65,0x18,0x85,0xbe]
+0x65,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, flat_scratch_lo ; encoding: [0x66,0x18,0x85,0xbe]
+0x66,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, flat_scratch_hi ; encoding: [0x67,0x18,0x85,0xbe]
+0x67,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, vcc_lo ; encoding: [0x6a,0x18,0x85,0xbe]
+0x6a,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, vcc_hi ; encoding: [0x6b,0x18,0x85,0xbe]
+0x6b,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, m0 ; encoding: [0x7c,0x18,0x85,0xbe]
+0x7c,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, exec_lo ; encoding: [0x7e,0x18,0x85,0xbe]
+0x7e,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, exec_hi ; encoding: [0x7f,0x18,0x85,0xbe]
+0x7f,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, 0 ; encoding: [0x80,0x18,0x85,0xbe]
+0x80,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, -1 ; encoding: [0xc1,0x18,0x85,0xbe]
+0xc1,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, 0.5 ; encoding: [0xf0,0x18,0x85,0xbe]
+0xf0,0x18,0x85,0xbe
+
+# CHECK: s_bitset0_b32 s5, -4.0 ; encoding: [0xf7,0x18,0x85,0xbe]
+0xf7,0x18,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x18,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x18,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitset0_b64 s[10:11], s1 ; encoding: [0x01,0x19,0x8a,0xbe]
+0x01,0x19,0x8a,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], s1 ; encoding: [0x01,0x19,0xe4,0xbe]
+0x01,0x19,0xe4,0xbe
+
+# CHECK: s_bitset0_b64 flat_scratch, s1 ; encoding: [0x01,0x19,0xe6,0xbe]
+0x01,0x19,0xe6,0xbe
+
+# CHECK: s_bitset0_b64 vcc, s1 ; encoding: [0x01,0x19,0xea,0xbe]
+0x01,0x19,0xea,0xbe
+
+# CHECK: s_bitset0_b64 exec, s1 ; encoding: [0x01,0x19,0xfe,0xbe]
+0x01,0x19,0xfe,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], s101 ; encoding: [0x65,0x19,0x8a,0xbe]
+0x65,0x19,0x8a,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[10:11], flat_scratch_hi ; encoding: [0x67,0x19,0x8a,0xbe]
+0x67,0x19,0x8a,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], vcc_lo ; encoding: [0x6a,0x19,0x8a,0xbe]
+0x6a,0x19,0x8a,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], vcc_hi ; encoding: [0x6b,0x19,0x8a,0xbe]
+0x6b,0x19,0x8a,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], m0 ; encoding: [0x7c,0x19,0x8a,0xbe]
+0x7c,0x19,0x8a,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], exec_lo ; encoding: [0x7e,0x19,0x8a,0xbe]
+0x7e,0x19,0x8a,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], exec_hi ; encoding: [0x7f,0x19,0x8a,0xbe]
+0x7f,0x19,0x8a,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], 0 ; encoding: [0x80,0x19,0x8a,0xbe]
+0x80,0x19,0x8a,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], -1 ; encoding: [0xc1,0x19,0x8a,0xbe]
+0xc1,0x19,0x8a,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], 0.5 ; encoding: [0xf0,0x19,0x8a,0xbe]
+0xf0,0x19,0x8a,0xbe
+
+# CHECK: s_bitset0_b64 s[10:11], -4.0 ; encoding: [0xf7,0x19,0x8a,0xbe]
+0xf7,0x19,0x8a,0xbe
+
+# 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[10:11], 0x3f717273 ; encoding: [0xff,0x19,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x19,0x8a,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitset1_b32 s5, s1 ; encoding: [0x01,0x1a,0x85,0xbe]
+0x01,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s101, s1 ; encoding: [0x01,0x1a,0xe5,0xbe]
+0x01,0x1a,0xe5,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, s1 ; encoding: [0x01,0x1a,0xe7,0xbe]
+0x01,0x1a,0xe7,0xbe
+
+# CHECK: s_bitset1_b32 vcc_lo, s1 ; encoding: [0x01,0x1a,0xea,0xbe]
+0x01,0x1a,0xea,0xbe
+
+# CHECK: s_bitset1_b32 vcc_hi, s1 ; encoding: [0x01,0x1a,0xeb,0xbe]
+0x01,0x1a,0xeb,0xbe
+
+# CHECK: s_bitset1_b32 m0, s1 ; encoding: [0x01,0x1a,0xfc,0xbe]
+0x01,0x1a,0xfc,0xbe
+
+# CHECK: s_bitset1_b32 exec_lo, s1 ; encoding: [0x01,0x1a,0xfe,0xbe]
+0x01,0x1a,0xfe,0xbe
+
+# CHECK: s_bitset1_b32 exec_hi, s1 ; encoding: [0x01,0x1a,0xff,0xbe]
+0x01,0x1a,0xff,0xbe
+
+# CHECK: s_bitset1_b32 s5, s101 ; encoding: [0x65,0x1a,0x85,0xbe]
+0x65,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, flat_scratch_lo ; encoding: [0x66,0x1a,0x85,0xbe]
+0x66,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, flat_scratch_hi ; encoding: [0x67,0x1a,0x85,0xbe]
+0x67,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, vcc_lo ; encoding: [0x6a,0x1a,0x85,0xbe]
+0x6a,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, vcc_hi ; encoding: [0x6b,0x1a,0x85,0xbe]
+0x6b,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, m0 ; encoding: [0x7c,0x1a,0x85,0xbe]
+0x7c,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, exec_lo ; encoding: [0x7e,0x1a,0x85,0xbe]
+0x7e,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, exec_hi ; encoding: [0x7f,0x1a,0x85,0xbe]
+0x7f,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, 0 ; encoding: [0x80,0x1a,0x85,0xbe]
+0x80,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, -1 ; encoding: [0xc1,0x1a,0x85,0xbe]
+0xc1,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, 0.5 ; encoding: [0xf0,0x1a,0x85,0xbe]
+0xf0,0x1a,0x85,0xbe
+
+# CHECK: s_bitset1_b32 s5, -4.0 ; encoding: [0xf7,0x1a,0x85,0xbe]
+0xf7,0x1a,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x1a,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x1a,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitset1_b64 s[10:11], s1 ; encoding: [0x01,0x1b,0x8a,0xbe]
+0x01,0x1b,0x8a,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], s1 ; encoding: [0x01,0x1b,0xe4,0xbe]
+0x01,0x1b,0xe4,0xbe
+
+# CHECK: s_bitset1_b64 flat_scratch, s1 ; encoding: [0x01,0x1b,0xe6,0xbe]
+0x01,0x1b,0xe6,0xbe
+
+# CHECK: s_bitset1_b64 vcc, s1 ; encoding: [0x01,0x1b,0xea,0xbe]
+0x01,0x1b,0xea,0xbe
+
+# CHECK: s_bitset1_b64 exec, s1 ; encoding: [0x01,0x1b,0xfe,0xbe]
+0x01,0x1b,0xfe,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], s101 ; encoding: [0x65,0x1b,0x8a,0xbe]
+0x65,0x1b,0x8a,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[10:11], flat_scratch_hi ; encoding: [0x67,0x1b,0x8a,0xbe]
+0x67,0x1b,0x8a,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], vcc_lo ; encoding: [0x6a,0x1b,0x8a,0xbe]
+0x6a,0x1b,0x8a,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], vcc_hi ; encoding: [0x6b,0x1b,0x8a,0xbe]
+0x6b,0x1b,0x8a,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], m0 ; encoding: [0x7c,0x1b,0x8a,0xbe]
+0x7c,0x1b,0x8a,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], exec_lo ; encoding: [0x7e,0x1b,0x8a,0xbe]
+0x7e,0x1b,0x8a,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], exec_hi ; encoding: [0x7f,0x1b,0x8a,0xbe]
+0x7f,0x1b,0x8a,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], 0 ; encoding: [0x80,0x1b,0x8a,0xbe]
+0x80,0x1b,0x8a,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], -1 ; encoding: [0xc1,0x1b,0x8a,0xbe]
+0xc1,0x1b,0x8a,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], 0.5 ; encoding: [0xf0,0x1b,0x8a,0xbe]
+0xf0,0x1b,0x8a,0xbe
+
+# CHECK: s_bitset1_b64 s[10:11], -4.0 ; encoding: [0xf7,0x1b,0x8a,0xbe]
+0xf7,0x1b,0x8a,0xbe
+
+# 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[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[10:11] ; encoding: [0x00,0x1c,0x8a,0xbe]
+0x00,0x1c,0x8a,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
+
+# CHECK: s_getpc_b64 flat_scratch ; encoding: [0x00,0x1c,0xe6,0xbe]
+0x00,0x1c,0xe6,0xbe
+
+# CHECK: s_getpc_b64 vcc ; encoding: [0x00,0x1c,0xea,0xbe]
+0x00,0x1c,0xea,0xbe
+
+# CHECK: s_getpc_b64 exec ; encoding: [0x00,0x1c,0xfe,0xbe]
+0x00,0x1c,0xfe,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
+
+# CHECK: s_setpc_b64 flat_scratch ; encoding: [0x66,0x1d,0x80,0xbe]
+0x66,0x1d,0x80,0xbe
+
+# CHECK: s_setpc_b64 vcc ; encoding: [0x6a,0x1d,0x80,0xbe]
+0x6a,0x1d,0x80,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[12:13], s[2:3] ; encoding: [0x02,0x1e,0x8c,0xbe]
+0x02,0x1e,0x8c,0xbe
+
+# CHECK: s_swappc_b64 s[100:101], s[2:3] ; encoding: [0x02,0x1e,0xe4,0xbe]
+0x02,0x1e,0xe4,0xbe
+
+# CHECK: s_swappc_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x1e,0xe6,0xbe]
+0x02,0x1e,0xe6,0xbe
+
+# CHECK: s_swappc_b64 vcc, s[2:3] ; encoding: [0x02,0x1e,0xea,0xbe]
+0x02,0x1e,0xea,0xbe
+
+# CHECK: s_swappc_b64 exec, s[2:3] ; encoding: [0x02,0x1e,0xfe,0xbe]
+0x02,0x1e,0xfe,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[10:11], s[100:101] ; encoding: [0x64,0x1e,0x8a,0xbe]
+0x64,0x1e,0x8a,0xbe
+
+# CHECK: s_swappc_b64 s[10:11], flat_scratch ; encoding: [0x66,0x1e,0x8a,0xbe]
+0x66,0x1e,0x8a,0xbe
+
+# CHECK: s_swappc_b64 s[10:11], vcc ; encoding: [0x6a,0x1e,0x8a,0xbe]
+0x6a,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
+
+# CHECK: s_rfe_b64 flat_scratch ; encoding: [0x66,0x1f,0x80,0xbe]
+0x66,0x1f,0x80,0xbe
+
+# CHECK: s_rfe_b64 vcc ; encoding: [0x6a,0x1f,0x80,0xbe]
+0x6a,0x1f,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[12:13], s[2:3] ; encoding: [0x02,0x20,0x8c,0xbe]
+0x02,0x20,0x8c,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[2:3] ; encoding: [0x02,0x20,0xe6,0xbe]
+0x02,0x20,0xe6,0xbe
+
+# CHECK: s_and_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x20,0xea,0xbe]
+0x02,0x20,0xea,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[10:11], s[100:101] ; encoding: [0x64,0x20,0x8a,0xbe]
+0x64,0x20,0x8a,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[10:11], vcc ; encoding: [0x6a,0x20,0x8a,0xbe]
+0x6a,0x20,0x8a,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[10:11], 0 ; encoding: [0x80,0x20,0x8a,0xbe]
+0x80,0x20,0x8a,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[10:11], 0.5 ; encoding: [0xf0,0x20,0x8a,0xbe]
+0xf0,0x20,0x8a,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[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[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[10:11], s[2:3] ; encoding: [0x02,0x21,0x8a,0xbe]
+0x02,0x21,0x8a,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[2:3] ; encoding: [0x02,0x21,0xe4,0xbe]
+0x02,0x21,0xe4,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[2:3] ; encoding: [0x02,0x21,0xea,0xbe]
+0x02,0x21,0xea,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[10:11], s[100:101] ; encoding: [0x64,0x21,0x8a,0xbe]
+0x64,0x21,0x8a,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[10:11], vcc ; encoding: [0x6a,0x21,0x8a,0xbe]
+0x6a,0x21,0x8a,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[10:11], 0 ; encoding: [0x80,0x21,0x8a,0xbe]
+0x80,0x21,0x8a,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[10:11], 0.5 ; encoding: [0xf0,0x21,0x8a,0xbe]
+0xf0,0x21,0x8a,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[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[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[10:11], s[2:3] ; encoding: [0x02,0x22,0x8a,0xbe]
+0x02,0x22,0x8a,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[2:3] ; encoding: [0x02,0x22,0xe4,0xbe]
+0x02,0x22,0xe4,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[2:3] ; encoding: [0x02,0x22,0xea,0xbe]
+0x02,0x22,0xea,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[10:11], s[100:101] ; encoding: [0x64,0x22,0x8a,0xbe]
+0x64,0x22,0x8a,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[10:11], vcc ; encoding: [0x6a,0x22,0x8a,0xbe]
+0x6a,0x22,0x8a,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[10:11], 0 ; encoding: [0x80,0x22,0x8a,0xbe]
+0x80,0x22,0x8a,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[10:11], 0.5 ; encoding: [0xf0,0x22,0x8a,0xbe]
+0xf0,0x22,0x8a,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[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[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[10:11], s[2:3] ; encoding: [0x02,0x23,0x8a,0xbe]
+0x02,0x23,0x8a,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[2:3] ; encoding: [0x02,0x23,0xe4,0xbe]
+0x02,0x23,0xe4,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[2:3] ; encoding: [0x02,0x23,0xea,0xbe]
+0x02,0x23,0xea,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[10:11], s[100:101] ; encoding: [0x64,0x23,0x8a,0xbe]
+0x64,0x23,0x8a,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[10:11], vcc ; encoding: [0x6a,0x23,0x8a,0xbe]
+0x6a,0x23,0x8a,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[10:11], 0 ; encoding: [0x80,0x23,0x8a,0xbe]
+0x80,0x23,0x8a,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[10:11], 0.5 ; encoding: [0xf0,0x23,0x8a,0xbe]
+0xf0,0x23,0x8a,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[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[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[10:11], s[2:3] ; encoding: [0x02,0x24,0x8a,0xbe]
+0x02,0x24,0x8a,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[2:3] ; encoding: [0x02,0x24,0xe4,0xbe]
+0x02,0x24,0xe4,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[2:3] ; encoding: [0x02,0x24,0xea,0xbe]
+0x02,0x24,0xea,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[10:11], s[100:101] ; encoding: [0x64,0x24,0x8a,0xbe]
+0x64,0x24,0x8a,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[10:11], vcc ; encoding: [0x6a,0x24,0x8a,0xbe]
+0x6a,0x24,0x8a,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[10:11], 0 ; encoding: [0x80,0x24,0x8a,0xbe]
+0x80,0x24,0x8a,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[10:11], 0.5 ; encoding: [0xf0,0x24,0x8a,0xbe]
+0xf0,0x24,0x8a,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[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[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[10:11], s[2:3] ; encoding: [0x02,0x25,0x8a,0xbe]
+0x02,0x25,0x8a,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[2:3] ; encoding: [0x02,0x25,0xe4,0xbe]
+0x02,0x25,0xe4,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[2:3] ; encoding: [0x02,0x25,0xea,0xbe]
+0x02,0x25,0xea,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[10:11], s[100:101] ; encoding: [0x64,0x25,0x8a,0xbe]
+0x64,0x25,0x8a,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[10:11], vcc ; encoding: [0x6a,0x25,0x8a,0xbe]
+0x6a,0x25,0x8a,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[10:11], 0 ; encoding: [0x80,0x25,0x8a,0xbe]
+0x80,0x25,0x8a,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[10:11], 0.5 ; encoding: [0xf0,0x25,0x8a,0xbe]
+0xf0,0x25,0x8a,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[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[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[10:11], s[2:3] ; encoding: [0x02,0x26,0x8a,0xbe]
+0x02,0x26,0x8a,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[2:3] ; encoding: [0x02,0x26,0xe4,0xbe]
+0x02,0x26,0xe4,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[2:3] ; encoding: [0x02,0x26,0xea,0xbe]
+0x02,0x26,0xea,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[10:11], s[100:101] ; encoding: [0x64,0x26,0x8a,0xbe]
+0x64,0x26,0x8a,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[10:11], vcc ; encoding: [0x6a,0x26,0x8a,0xbe]
+0x6a,0x26,0x8a,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[10:11], 0 ; encoding: [0x80,0x26,0x8a,0xbe]
+0x80,0x26,0x8a,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[10:11], 0.5 ; encoding: [0xf0,0x26,0x8a,0xbe]
+0xf0,0x26,0x8a,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[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[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[10:11], s[2:3] ; encoding: [0x02,0x27,0x8a,0xbe]
+0x02,0x27,0x8a,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[2:3] ; encoding: [0x02,0x27,0xe4,0xbe]
+0x02,0x27,0xe4,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[2:3] ; encoding: [0x02,0x27,0xea,0xbe]
+0x02,0x27,0xea,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[10:11], s[100:101] ; encoding: [0x64,0x27,0x8a,0xbe]
+0x64,0x27,0x8a,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[10:11], vcc ; encoding: [0x6a,0x27,0x8a,0xbe]
+0x6a,0x27,0x8a,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[10:11], 0 ; encoding: [0x80,0x27,0x8a,0xbe]
+0x80,0x27,0x8a,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[10:11], 0.5 ; encoding: [0xf0,0x27,0x8a,0xbe]
+0xf0,0x27,0x8a,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[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[10:11], 0x3f717273 ; encoding: [0xff,0x27,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x27,0x8a,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_quadmask_b32 s5, s1 ; encoding: [0x01,0x28,0x85,0xbe]
+0x01,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s101, s1 ; encoding: [0x01,0x28,0xe5,0xbe]
+0x01,0x28,0xe5,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, s1 ; encoding: [0x01,0x28,0xe7,0xbe]
+0x01,0x28,0xe7,0xbe
+
+# CHECK: s_quadmask_b32 vcc_lo, s1 ; encoding: [0x01,0x28,0xea,0xbe]
+0x01,0x28,0xea,0xbe
+
+# CHECK: s_quadmask_b32 vcc_hi, s1 ; encoding: [0x01,0x28,0xeb,0xbe]
+0x01,0x28,0xeb,0xbe
+
+# CHECK: s_quadmask_b32 m0, s1 ; encoding: [0x01,0x28,0xfc,0xbe]
+0x01,0x28,0xfc,0xbe
+
+# CHECK: s_quadmask_b32 exec_lo, s1 ; encoding: [0x01,0x28,0xfe,0xbe]
+0x01,0x28,0xfe,0xbe
+
+# CHECK: s_quadmask_b32 exec_hi, s1 ; encoding: [0x01,0x28,0xff,0xbe]
+0x01,0x28,0xff,0xbe
+
+# CHECK: s_quadmask_b32 s5, s101 ; encoding: [0x65,0x28,0x85,0xbe]
+0x65,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, flat_scratch_lo ; encoding: [0x66,0x28,0x85,0xbe]
+0x66,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, flat_scratch_hi ; encoding: [0x67,0x28,0x85,0xbe]
+0x67,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, vcc_lo ; encoding: [0x6a,0x28,0x85,0xbe]
+0x6a,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, vcc_hi ; encoding: [0x6b,0x28,0x85,0xbe]
+0x6b,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, m0 ; encoding: [0x7c,0x28,0x85,0xbe]
+0x7c,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, exec_lo ; encoding: [0x7e,0x28,0x85,0xbe]
+0x7e,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, exec_hi ; encoding: [0x7f,0x28,0x85,0xbe]
+0x7f,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, 0 ; encoding: [0x80,0x28,0x85,0xbe]
+0x80,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, -1 ; encoding: [0xc1,0x28,0x85,0xbe]
+0xc1,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, 0.5 ; encoding: [0xf0,0x28,0x85,0xbe]
+0xf0,0x28,0x85,0xbe
+
+# CHECK: s_quadmask_b32 s5, -4.0 ; encoding: [0xf7,0x28,0x85,0xbe]
+0xf7,0x28,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x28,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x28,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_quadmask_b64 s[10:11], s[2:3] ; encoding: [0x02,0x29,0x8a,0xbe]
+0x02,0x29,0x8a,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[2:3] ; encoding: [0x02,0x29,0xe4,0xbe]
+0x02,0x29,0xe4,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[2:3] ; encoding: [0x02,0x29,0xea,0xbe]
+0x02,0x29,0xea,0xbe
+
+# CHECK: s_quadmask_b64 exec, s[2:3] ; encoding: [0x02,0x29,0xfe,0xbe]
+0x02,0x29,0xfe,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[10:11], s[100:101] ; encoding: [0x64,0x29,0x8a,0xbe]
+0x64,0x29,0x8a,0xbe
+
+# CHECK: s_quadmask_b64 s[10:11], flat_scratch ; encoding: [0x66,0x29,0x8a,0xbe]
+0x66,0x29,0x8a,0xbe
+
+# CHECK: s_quadmask_b64 s[10:11], vcc ; encoding: [0x6a,0x29,0x8a,0xbe]
+0x6a,0x29,0x8a,0xbe
+
+# CHECK: s_quadmask_b64 s[10:11], exec ; encoding: [0x7e,0x29,0x8a,0xbe]
+0x7e,0x29,0x8a,0xbe
+
+# CHECK: s_quadmask_b64 s[10:11], 0 ; encoding: [0x80,0x29,0x8a,0xbe]
+0x80,0x29,0x8a,0xbe
+
+# CHECK: s_quadmask_b64 s[10:11], -1 ; encoding: [0xc1,0x29,0x8a,0xbe]
+0xc1,0x29,0x8a,0xbe
+
+# CHECK: s_quadmask_b64 s[10:11], 0.5 ; encoding: [0xf0,0x29,0x8a,0xbe]
+0xf0,0x29,0x8a,0xbe
+
+# CHECK: s_quadmask_b64 s[10:11], -4.0 ; encoding: [0xf7,0x29,0x8a,0xbe]
+0xf7,0x29,0x8a,0xbe
+
+# 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[10:11], 0x3f717273 ; encoding: [0xff,0x29,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x29,0x8a,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_movrels_b32 s5, s1 ; encoding: [0x01,0x2a,0x85,0xbe]
+0x01,0x2a,0x85,0xbe
+
+# CHECK: s_movrels_b32 s101, s1 ; encoding: [0x01,0x2a,0xe5,0xbe]
+0x01,0x2a,0xe5,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, s1 ; encoding: [0x01,0x2a,0xe7,0xbe]
+0x01,0x2a,0xe7,0xbe
+
+# CHECK: s_movrels_b32 vcc_lo, s1 ; encoding: [0x01,0x2a,0xea,0xbe]
+0x01,0x2a,0xea,0xbe
+
+# CHECK: s_movrels_b32 vcc_hi, s1 ; encoding: [0x01,0x2a,0xeb,0xbe]
+0x01,0x2a,0xeb,0xbe
+
+# CHECK: s_movrels_b32 m0, s1 ; encoding: [0x01,0x2a,0xfc,0xbe]
+0x01,0x2a,0xfc,0xbe
+
+# CHECK: s_movrels_b32 exec_lo, s1 ; encoding: [0x01,0x2a,0xfe,0xbe]
+0x01,0x2a,0xfe,0xbe
+
+# CHECK: s_movrels_b32 exec_hi, s1 ; encoding: [0x01,0x2a,0xff,0xbe]
+0x01,0x2a,0xff,0xbe
+
+# CHECK: s_movrels_b32 s5, s101 ; encoding: [0x65,0x2a,0x85,0xbe]
+0x65,0x2a,0x85,0xbe
+
+# CHECK: s_movrels_b32 s5, flat_scratch_lo ; encoding: [0x66,0x2a,0x85,0xbe]
+0x66,0x2a,0x85,0xbe
+
+# CHECK: s_movrels_b32 s5, flat_scratch_hi ; encoding: [0x67,0x2a,0x85,0xbe]
+0x67,0x2a,0x85,0xbe
+
+# CHECK: s_movrels_b32 s5, vcc_lo ; encoding: [0x6a,0x2a,0x85,0xbe]
+0x6a,0x2a,0x85,0xbe
+
+# CHECK: s_movrels_b32 s5, vcc_hi ; encoding: [0x6b,0x2a,0x85,0xbe]
+0x6b,0x2a,0x85,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[12:13], s[2:3] ; encoding: [0x02,0x2b,0x8c,0xbe]
+0x02,0x2b,0x8c,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[2:3] ; encoding: [0x02,0x2b,0xe6,0xbe]
+0x02,0x2b,0xe6,0xbe
+
+# CHECK: s_movrels_b64 vcc, s[2:3] ; encoding: [0x02,0x2b,0xea,0xbe]
+0x02,0x2b,0xea,0xbe
+
+# CHECK: s_movrels_b64 exec, s[2:3] ; encoding: [0x02,0x2b,0xfe,0xbe]
+0x02,0x2b,0xfe,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[10:11], s[100:101] ; encoding: [0x64,0x2b,0x8a,0xbe]
+0x64,0x2b,0x8a,0xbe
+
+# CHECK: s_movrels_b64 s[10:11], flat_scratch ; encoding: [0x66,0x2b,0x8a,0xbe]
+0x66,0x2b,0x8a,0xbe
+
+# CHECK: s_movrels_b64 s[10:11], vcc ; encoding: [0x6a,0x2b,0x8a,0xbe]
+0x6a,0x2b,0x8a,0xbe
+
+# CHECK: s_movreld_b32 s5, s1 ; encoding: [0x01,0x2c,0x85,0xbe]
+0x01,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s101, s1 ; encoding: [0x01,0x2c,0xe5,0xbe]
+0x01,0x2c,0xe5,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, s1 ; encoding: [0x01,0x2c,0xe7,0xbe]
+0x01,0x2c,0xe7,0xbe
+
+# CHECK: s_movreld_b32 vcc_lo, s1 ; encoding: [0x01,0x2c,0xea,0xbe]
+0x01,0x2c,0xea,0xbe
+
+# CHECK: s_movreld_b32 vcc_hi, s1 ; encoding: [0x01,0x2c,0xeb,0xbe]
+0x01,0x2c,0xeb,0xbe
+
+# CHECK: s_movreld_b32 s5, s101 ; encoding: [0x65,0x2c,0x85,0xbe]
+0x65,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s5, flat_scratch_lo ; encoding: [0x66,0x2c,0x85,0xbe]
+0x66,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s5, flat_scratch_hi ; encoding: [0x67,0x2c,0x85,0xbe]
+0x67,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s5, vcc_lo ; encoding: [0x6a,0x2c,0x85,0xbe]
+0x6a,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s5, vcc_hi ; encoding: [0x6b,0x2c,0x85,0xbe]
+0x6b,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s5, m0 ; encoding: [0x7c,0x2c,0x85,0xbe]
+0x7c,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s5, 0 ; encoding: [0x80,0x2c,0x85,0xbe]
+0x80,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s5, -1 ; encoding: [0xc1,0x2c,0x85,0xbe]
+0xc1,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s5, 0.5 ; encoding: [0xf0,0x2c,0x85,0xbe]
+0xf0,0x2c,0x85,0xbe
+
+# CHECK: s_movreld_b32 s5, -4.0 ; encoding: [0xf7,0x2c,0x85,0xbe]
+0xf7,0x2c,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x2c,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x2c,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_movreld_b64 s[10:11], s[2:3] ; encoding: [0x02,0x2d,0x8a,0xbe]
+0x02,0x2d,0x8a,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[2:3] ; encoding: [0x02,0x2d,0xe4,0xbe]
+0x02,0x2d,0xe4,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[2:3] ; encoding: [0x02,0x2d,0xea,0xbe]
+0x02,0x2d,0xea,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[10:11], s[100:101] ; encoding: [0x64,0x2d,0x8a,0xbe]
+0x64,0x2d,0x8a,0xbe
+
+# CHECK: s_movreld_b64 s[10:11], flat_scratch ; encoding: [0x66,0x2d,0x8a,0xbe]
+0x66,0x2d,0x8a,0xbe
+
+# CHECK: s_movreld_b64 s[10:11], vcc ; encoding: [0x6a,0x2d,0x8a,0xbe]
+0x6a,0x2d,0x8a,0xbe
+
+# CHECK: s_movreld_b64 s[10:11], 0 ; encoding: [0x80,0x2d,0x8a,0xbe]
+0x80,0x2d,0x8a,0xbe
+
+# CHECK: s_movreld_b64 s[10:11], -1 ; encoding: [0xc1,0x2d,0x8a,0xbe]
+0xc1,0x2d,0x8a,0xbe
+
+# CHECK: s_movreld_b64 s[10:11], 0.5 ; encoding: [0xf0,0x2d,0x8a,0xbe]
+0xf0,0x2d,0x8a,0xbe
+
+# CHECK: s_movreld_b64 s[10:11], -4.0 ; encoding: [0xf7,0x2d,0x8a,0xbe]
+0xf7,0x2d,0x8a,0xbe
+
+# 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[10:11], 0x3f717273 ; encoding: [0xff,0x2d,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x2d,0x8a,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cbranch_join s1 ; encoding: [0x01,0x2e,0x80,0xbe]
+0x01,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join s101 ; encoding: [0x65,0x2e,0x80,0xbe]
+0x65,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join flat_scratch_lo ; encoding: [0x66,0x2e,0x80,0xbe]
+0x66,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join flat_scratch_hi ; encoding: [0x67,0x2e,0x80,0xbe]
+0x67,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join vcc_lo ; encoding: [0x6a,0x2e,0x80,0xbe]
+0x6a,0x2e,0x80,0xbe
+
+# CHECK: s_cbranch_join vcc_hi ; encoding: [0x6b,0x2e,0x80,0xbe]
+0x6b,0x2e,0x80,0xbe
+
+# CHECK: s_abs_i32 s5, s1 ; encoding: [0x01,0x30,0x85,0xbe]
+0x01,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s101, s1 ; encoding: [0x01,0x30,0xe5,0xbe]
+0x01,0x30,0xe5,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, s1 ; encoding: [0x01,0x30,0xe7,0xbe]
+0x01,0x30,0xe7,0xbe
+
+# CHECK: s_abs_i32 vcc_lo, s1 ; encoding: [0x01,0x30,0xea,0xbe]
+0x01,0x30,0xea,0xbe
+
+# CHECK: s_abs_i32 vcc_hi, s1 ; encoding: [0x01,0x30,0xeb,0xbe]
+0x01,0x30,0xeb,0xbe
+
+# CHECK: s_abs_i32 m0, s1 ; encoding: [0x01,0x30,0xfc,0xbe]
+0x01,0x30,0xfc,0xbe
+
+# CHECK: s_abs_i32 exec_lo, s1 ; encoding: [0x01,0x30,0xfe,0xbe]
+0x01,0x30,0xfe,0xbe
+
+# CHECK: s_abs_i32 exec_hi, s1 ; encoding: [0x01,0x30,0xff,0xbe]
+0x01,0x30,0xff,0xbe
+
+# CHECK: s_abs_i32 s5, s101 ; encoding: [0x65,0x30,0x85,0xbe]
+0x65,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, flat_scratch_lo ; encoding: [0x66,0x30,0x85,0xbe]
+0x66,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, flat_scratch_hi ; encoding: [0x67,0x30,0x85,0xbe]
+0x67,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, vcc_lo ; encoding: [0x6a,0x30,0x85,0xbe]
+0x6a,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, vcc_hi ; encoding: [0x6b,0x30,0x85,0xbe]
+0x6b,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, m0 ; encoding: [0x7c,0x30,0x85,0xbe]
+0x7c,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, exec_lo ; encoding: [0x7e,0x30,0x85,0xbe]
+0x7e,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, exec_hi ; encoding: [0x7f,0x30,0x85,0xbe]
+0x7f,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, 0 ; encoding: [0x80,0x30,0x85,0xbe]
+0x80,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, -1 ; encoding: [0xc1,0x30,0x85,0xbe]
+0xc1,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, 0.5 ; encoding: [0xf0,0x30,0x85,0xbe]
+0xf0,0x30,0x85,0xbe
+
+# CHECK: s_abs_i32 s5, -4.0 ; encoding: [0xf7,0x30,0x85,0xbe]
+0xf7,0x30,0x85,0xbe
+
+# 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 s5, 0x3f717273 ; encoding: [0xff,0x30,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x30,0x85,0xbe,0x73,0x72,0x71,0x3f
+
+# CHECK: s_mov_fed_b32 s5, s1 ; encoding: [0x01,0x31,0x85,0xbe]
+0x01,0x31,0x85,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, s1 ; encoding: [0x01,0x31,0xe6,0xbe]
+0x01,0x31,0xe6,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, s1 ; encoding: [0x01,0x31,0xea,0xbe]
+0x01,0x31,0xea,0xbe
+
+# CHECK: s_mov_fed_b32 vcc_hi, s1 ; encoding: [0x01,0x31,0xeb,0xbe]
+0x01,0x31,0xeb,0xbe
+
+# CHECK: s_mov_fed_b32 m0, s1 ; encoding: [0x01,0x31,0xfc,0xbe]
+0x01,0x31,0xfc,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, s1 ; encoding: [0x01,0x31,0xff,0xbe]
+0x01,0x31,0xff,0xbe
+
+# CHECK: s_mov_fed_b32 s5, s101 ; encoding: [0x65,0x31,0x85,0xbe]
+0x65,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, flat_scratch_lo ; encoding: [0x66,0x31,0x85,0xbe]
+0x66,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, flat_scratch_hi ; encoding: [0x67,0x31,0x85,0xbe]
+0x67,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, vcc_lo ; encoding: [0x6a,0x31,0x85,0xbe]
+0x6a,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, vcc_hi ; encoding: [0x6b,0x31,0x85,0xbe]
+0x6b,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, m0 ; encoding: [0x7c,0x31,0x85,0xbe]
+0x7c,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, exec_lo ; encoding: [0x7e,0x31,0x85,0xbe]
+0x7e,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, exec_hi ; encoding: [0x7f,0x31,0x85,0xbe]
+0x7f,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, 0 ; encoding: [0x80,0x31,0x85,0xbe]
+0x80,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, -1 ; encoding: [0xc1,0x31,0x85,0xbe]
+0xc1,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, 0.5 ; encoding: [0xf0,0x31,0x85,0xbe]
+0xf0,0x31,0x85,0xbe
+
+# CHECK: s_mov_fed_b32 s5, -4.0 ; encoding: [0xf7,0x31,0x85,0xbe]
+0xf7,0x31,0x85,0xbe
+
+# 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 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 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
+
+# CHECK: s_set_gpr_idx_idx flat_scratch_lo ; encoding: [0x66,0x32,0x80,0xbe]
+0x66,0x32,0x80,0xbe
+
+# CHECK: s_set_gpr_idx_idx flat_scratch_hi ; encoding: [0x67,0x32,0x80,0xbe]
+0x67,0x32,0x80,0xbe
+
+# CHECK: s_set_gpr_idx_idx vcc_lo ; encoding: [0x6a,0x32,0x80,0xbe]
+0x6a,0x32,0x80,0xbe
+
+# CHECK: s_set_gpr_idx_idx vcc_hi ; encoding: [0x6b,0x32,0x80,0xbe]
+0x6b,0x32,0x80,0xbe
+
+# CHECK: s_set_gpr_idx_idx m0 ; encoding: [0x7c,0x32,0x80,0xbe]
+0x7c,0x32,0x80,0xbe
+
+# CHECK: s_set_gpr_idx_idx 0 ; encoding: [0x80,0x32,0x80,0xbe]
+0x80,0x32,0x80,0xbe
+
+# CHECK: s_set_gpr_idx_idx -1 ; encoding: [0xc1,0x32,0x80,0xbe]
+0xc1,0x32,0x80,0xbe
+
+# CHECK: s_set_gpr_idx_idx 0.5 ; encoding: [0xf0,0x32,0x80,0xbe]
+0xf0,0x32,0x80,0xbe
+
+# CHECK: s_set_gpr_idx_idx -4.0 ; encoding: [0xf7,0x32,0x80,0xbe]
+0xf7,0x32,0x80,0xbe
+
+# CHECK: s_set_gpr_idx_idx 0xaf123456 ; encoding: [0xff,0x32,0x80,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x32,0x80,0xbe,0x56,0x34,0x12,0xaf
+
+# 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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x80]
+0x01,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x80]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x80]
+0x01,0x02,0x67,0x80
+
+# CHECK: s_add_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x80]
+0x01,0x02,0x6a,0x80
+
+# CHECK: s_add_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x80]
+0x01,0x02,0x6b,0x80
+
+# CHECK: s_add_u32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x80]
+0x01,0x02,0x7c,0x80
+
+# CHECK: s_add_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x80]
+0x01,0x02,0x7e,0x80
+
+# CHECK: s_add_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x80]
+0x01,0x02,0x7f,0x80
+
+# CHECK: s_add_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x80]
+0x65,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x80]
+0x66,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x80]
+0x67,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x80]
+0x6a,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x80]
+0x6b,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x80]
+0x7c,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x80]
+0x7e,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x80]
+0x7f,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x80]
+0x80,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x80]
+0xc1,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x80]
+0xf0,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x80]
+0xf7,0x02,0x05,0x80
+
+# CHECK: s_add_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x80,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x80,0x56,0x34,0x12,0xaf
+
+# CHECK: s_add_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x80,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x80,0x73,0x72,0x71,0x3f
+
+# CHECK: s_add_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x80]
+0x01,0x65,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x80]
+0x01,0x66,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x80]
+0x01,0x67,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x80]
+0x01,0x6a,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x80]
+0x01,0x6b,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x80]
+0x01,0x7c,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x80]
+0x01,0x7e,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x80]
+0x01,0x7f,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x80]
+0x01,0x80,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x80]
+0x01,0xc1,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x80]
+0x01,0xf0,0x05,0x80
+
+# CHECK: s_add_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x80]
+0x01,0xf7,0x05,0x80
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x80,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x80,0x73,0x72,0x71,0x3f
+
+# CHECK: s_sub_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x80]
+0x01,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x80]
+0x01,0x02,0xe5,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, s1, s2 ; encoding: [0x01,0x02,0xe7,0x80]
+0x01,0x02,0xe7,0x80
+
+# CHECK: s_sub_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x80]
+0x01,0x02,0xea,0x80
+
+# CHECK: s_sub_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x80]
+0x01,0x02,0xeb,0x80
+
+# CHECK: s_sub_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x80]
+0x01,0x02,0xfc,0x80
+
+# CHECK: s_sub_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x80]
+0x01,0x02,0xfe,0x80
+
+# CHECK: s_sub_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x80]
+0x01,0x02,0xff,0x80
+
+# CHECK: s_sub_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x80]
+0x65,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x80]
+0x66,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x80]
+0x67,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x80]
+0x6a,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x80]
+0x6b,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x80]
+0x7c,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x80]
+0x7e,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x80]
+0x7f,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x80]
+0x80,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x80]
+0xc1,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x80]
+0xf0,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x80]
+0xf7,0x02,0x85,0x80
+
+# CHECK: s_sub_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x80,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x80,0x56,0x34,0x12,0xaf
+
+# CHECK: s_sub_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x80,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x80,0x73,0x72,0x71,0x3f
+
+# CHECK: s_sub_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x80]
+0x01,0x65,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x80]
+0x01,0x66,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x80]
+0x01,0x67,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x80]
+0x01,0x6a,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x80]
+0x01,0x6b,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x80]
+0x01,0x7c,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x80]
+0x01,0x7e,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x80]
+0x01,0x7f,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x80]
+0x01,0x80,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x80]
+0x01,0xc1,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x80]
+0x01,0xf0,0x85,0x80
+
+# CHECK: s_sub_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x80]
+0x01,0xf7,0x85,0x80
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x80,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x80,0x73,0x72,0x71,0x3f
+
+# CHECK: s_add_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x81]
+0x01,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x81]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x81]
+0x01,0x02,0x67,0x81
+
+# CHECK: s_add_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x81]
+0x01,0x02,0x6a,0x81
+
+# CHECK: s_add_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x81]
+0x01,0x02,0x6b,0x81
+
+# CHECK: s_add_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x81]
+0x01,0x02,0x7c,0x81
+
+# CHECK: s_add_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x81]
+0x01,0x02,0x7e,0x81
+
+# CHECK: s_add_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x81]
+0x01,0x02,0x7f,0x81
+
+# CHECK: s_add_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x81]
+0x65,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x81]
+0x66,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x81]
+0x67,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x81]
+0x6a,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x81]
+0x6b,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x81]
+0x7c,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x81]
+0x7e,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x81]
+0x7f,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x81]
+0x80,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x81]
+0xc1,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x81]
+0xf0,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x81]
+0xf7,0x02,0x05,0x81
+
+# CHECK: s_add_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x81,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x81,0x56,0x34,0x12,0xaf
+
+# CHECK: s_add_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x81,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x81,0x73,0x72,0x71,0x3f
+
+# CHECK: s_add_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x81]
+0x01,0x65,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x81]
+0x01,0x66,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x81]
+0x01,0x67,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x81]
+0x01,0x6a,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x81]
+0x01,0x6b,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x81]
+0x01,0x7c,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x81]
+0x01,0x7e,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x81]
+0x01,0x7f,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x81]
+0x01,0x80,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x81]
+0x01,0xc1,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x81]
+0x01,0xf0,0x05,0x81
+
+# CHECK: s_add_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x81]
+0x01,0xf7,0x05,0x81
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x81,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x81,0x73,0x72,0x71,0x3f
+
+# CHECK: s_sub_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x81]
+0x01,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x81]
+0x01,0x02,0xe5,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, s1, s2 ; encoding: [0x01,0x02,0xe7,0x81]
+0x01,0x02,0xe7,0x81
+
+# CHECK: s_sub_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x81]
+0x01,0x02,0xea,0x81
+
+# CHECK: s_sub_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x81]
+0x01,0x02,0xeb,0x81
+
+# CHECK: s_sub_i32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x81]
+0x01,0x02,0xfc,0x81
+
+# CHECK: s_sub_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x81]
+0x01,0x02,0xfe,0x81
+
+# CHECK: s_sub_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x81]
+0x01,0x02,0xff,0x81
+
+# CHECK: s_sub_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x81]
+0x65,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x81]
+0x66,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x81]
+0x67,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x81]
+0x6a,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x81]
+0x6b,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x81]
+0x7c,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x81]
+0x7e,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x81]
+0x7f,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x81]
+0x80,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x81]
+0xc1,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x81]
+0xf0,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x81]
+0xf7,0x02,0x85,0x81
+
+# CHECK: s_sub_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x81,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x81,0x56,0x34,0x12,0xaf
+
+# CHECK: s_sub_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x81,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x81,0x73,0x72,0x71,0x3f
+
+# CHECK: s_sub_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x81]
+0x01,0x65,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x81]
+0x01,0x66,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x81]
+0x01,0x67,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x81]
+0x01,0x6a,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x81]
+0x01,0x6b,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x81]
+0x01,0x7c,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x81]
+0x01,0x7e,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x81]
+0x01,0x7f,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x81]
+0x01,0x80,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x81]
+0x01,0xc1,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x81]
+0x01,0xf0,0x85,0x81
+
+# CHECK: s_sub_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x81]
+0x01,0xf7,0x85,0x81
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x81,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x81,0x73,0x72,0x71,0x3f
+
+# CHECK: s_addc_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x82]
+0x01,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x82]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x82]
+0x01,0x02,0x67,0x82
+
+# CHECK: s_addc_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x82]
+0x01,0x02,0x6a,0x82
+
+# CHECK: s_addc_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x82]
+0x01,0x02,0x6b,0x82
+
+# CHECK: s_addc_u32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x82]
+0x01,0x02,0x7c,0x82
+
+# CHECK: s_addc_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x82]
+0x01,0x02,0x7e,0x82
+
+# CHECK: s_addc_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x82]
+0x01,0x02,0x7f,0x82
+
+# CHECK: s_addc_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x82]
+0x65,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x82]
+0x66,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x82]
+0x67,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x82]
+0x6a,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x82]
+0x6b,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x82]
+0x7c,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x82]
+0x7e,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x82]
+0x7f,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x82]
+0x80,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x82]
+0xc1,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x82]
+0xf0,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x82]
+0xf7,0x02,0x05,0x82
+
+# CHECK: s_addc_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x82,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x82,0x56,0x34,0x12,0xaf
+
+# CHECK: s_addc_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x82,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x82,0x73,0x72,0x71,0x3f
+
+# CHECK: s_addc_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x82]
+0x01,0x65,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x82]
+0x01,0x66,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x82]
+0x01,0x67,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x82]
+0x01,0x6a,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x82]
+0x01,0x6b,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x82]
+0x01,0x7c,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x82]
+0x01,0x7e,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x82]
+0x01,0x7f,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x82]
+0x01,0x80,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x82]
+0x01,0xc1,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x82]
+0x01,0xf0,0x05,0x82
+
+# CHECK: s_addc_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x82]
+0x01,0xf7,0x05,0x82
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x82,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x82,0x73,0x72,0x71,0x3f
+
+# CHECK: s_subb_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x82]
+0x01,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x82]
+0x01,0x02,0xe5,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, s1, s2 ; encoding: [0x01,0x02,0xe7,0x82]
+0x01,0x02,0xe7,0x82
+
+# CHECK: s_subb_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x82]
+0x01,0x02,0xea,0x82
+
+# CHECK: s_subb_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x82]
+0x01,0x02,0xeb,0x82
+
+# CHECK: s_subb_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x82]
+0x01,0x02,0xfc,0x82
+
+# CHECK: s_subb_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x82]
+0x01,0x02,0xfe,0x82
+
+# CHECK: s_subb_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x82]
+0x01,0x02,0xff,0x82
+
+# CHECK: s_subb_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x82]
+0x65,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x82]
+0x66,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x82]
+0x67,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x82]
+0x6a,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x82]
+0x6b,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x82]
+0x7c,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x82]
+0x7e,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x82]
+0x7f,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x82]
+0x80,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x82]
+0xc1,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x82]
+0xf0,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x82]
+0xf7,0x02,0x85,0x82
+
+# CHECK: s_subb_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x82,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x82,0x56,0x34,0x12,0xaf
+
+# CHECK: s_subb_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x82,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x82,0x73,0x72,0x71,0x3f
+
+# CHECK: s_subb_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x82]
+0x01,0x65,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x82]
+0x01,0x66,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x82]
+0x01,0x67,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x82]
+0x01,0x6a,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x82]
+0x01,0x6b,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x82]
+0x01,0x7c,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x82]
+0x01,0x7e,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x82]
+0x01,0x7f,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x82]
+0x01,0x80,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x82]
+0x01,0xc1,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x82]
+0x01,0xf0,0x85,0x82
+
+# CHECK: s_subb_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x82]
+0x01,0xf7,0x85,0x82
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x82,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x82,0x73,0x72,0x71,0x3f
+
+# CHECK: s_min_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x83]
+0x01,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x83]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x83]
+0x01,0x02,0x67,0x83
+
+# CHECK: s_min_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x83]
+0x01,0x02,0x6a,0x83
+
+# CHECK: s_min_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x83]
+0x01,0x02,0x6b,0x83
+
+# CHECK: s_min_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x83]
+0x01,0x02,0x7c,0x83
+
+# CHECK: s_min_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x83]
+0x01,0x02,0x7e,0x83
+
+# CHECK: s_min_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x83]
+0x01,0x02,0x7f,0x83
+
+# CHECK: s_min_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x83]
+0x65,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x83]
+0x66,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x83]
+0x67,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x83]
+0x6a,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x83]
+0x6b,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x83]
+0x7c,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x83]
+0x7e,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x83]
+0x7f,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x83]
+0x80,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x83]
+0xc1,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x83]
+0xf0,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x83]
+0xf7,0x02,0x05,0x83
+
+# CHECK: s_min_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x83,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x83,0x56,0x34,0x12,0xaf
+
+# CHECK: s_min_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x83,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x83,0x73,0x72,0x71,0x3f
+
+# CHECK: s_min_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x83]
+0x01,0x65,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x83]
+0x01,0x66,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x83]
+0x01,0x67,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x83]
+0x01,0x6a,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x83]
+0x01,0x6b,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x83]
+0x01,0x7c,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x83]
+0x01,0x7e,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x83]
+0x01,0x7f,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x83]
+0x01,0x80,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x83]
+0x01,0xc1,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x83]
+0x01,0xf0,0x05,0x83
+
+# CHECK: s_min_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x83]
+0x01,0xf7,0x05,0x83
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x83,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x83,0x73,0x72,0x71,0x3f
+
+# CHECK: s_min_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x83]
+0x01,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x83]
+0x01,0x02,0xe5,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, s1, s2 ; encoding: [0x01,0x02,0xe7,0x83]
+0x01,0x02,0xe7,0x83
+
+# CHECK: s_min_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x83]
+0x01,0x02,0xea,0x83
+
+# CHECK: s_min_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x83]
+0x01,0x02,0xeb,0x83
+
+# CHECK: s_min_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x83]
+0x01,0x02,0xfc,0x83
+
+# CHECK: s_min_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x83]
+0x01,0x02,0xfe,0x83
+
+# CHECK: s_min_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x83]
+0x01,0x02,0xff,0x83
+
+# CHECK: s_min_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x83]
+0x65,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x83]
+0x66,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x83]
+0x67,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x83]
+0x6a,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x83]
+0x6b,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x83]
+0x7c,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x83]
+0x7e,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x83]
+0x7f,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x83]
+0x80,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x83]
+0xc1,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x83]
+0xf0,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x83]
+0xf7,0x02,0x85,0x83
+
+# CHECK: s_min_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x83,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x83,0x56,0x34,0x12,0xaf
+
+# CHECK: s_min_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x83,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x83,0x73,0x72,0x71,0x3f
+
+# CHECK: s_min_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x83]
+0x01,0x65,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x83]
+0x01,0x66,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x83]
+0x01,0x67,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x83]
+0x01,0x6a,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x83]
+0x01,0x6b,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x83]
+0x01,0x7c,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x83]
+0x01,0x7e,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x83]
+0x01,0x7f,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x83]
+0x01,0x80,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x83]
+0x01,0xc1,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x83]
+0x01,0xf0,0x85,0x83
+
+# CHECK: s_min_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x83]
+0x01,0xf7,0x85,0x83
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x83,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x83,0x73,0x72,0x71,0x3f
+
+# CHECK: s_max_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x84]
+0x01,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x84]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x84]
+0x01,0x02,0x67,0x84
+
+# CHECK: s_max_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x84]
+0x01,0x02,0x6a,0x84
+
+# CHECK: s_max_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x84]
+0x01,0x02,0x6b,0x84
+
+# CHECK: s_max_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x84]
+0x01,0x02,0x7c,0x84
+
+# CHECK: s_max_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x84]
+0x01,0x02,0x7e,0x84
+
+# CHECK: s_max_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x84]
+0x01,0x02,0x7f,0x84
+
+# CHECK: s_max_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x84]
+0x65,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x84]
+0x66,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x84]
+0x67,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x84]
+0x6a,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x84]
+0x6b,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x84]
+0x7c,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x84]
+0x7e,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x84]
+0x7f,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x84]
+0x80,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x84]
+0xc1,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x84]
+0xf0,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x84]
+0xf7,0x02,0x05,0x84
+
+# CHECK: s_max_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x84,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x84,0x56,0x34,0x12,0xaf
+
+# CHECK: s_max_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x84,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x84,0x73,0x72,0x71,0x3f
+
+# CHECK: s_max_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x84]
+0x01,0x65,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x84]
+0x01,0x66,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x84]
+0x01,0x67,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x84]
+0x01,0x6a,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x84]
+0x01,0x6b,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x84]
+0x01,0x7c,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x84]
+0x01,0x7e,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x84]
+0x01,0x7f,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x84]
+0x01,0x80,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x84]
+0x01,0xc1,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x84]
+0x01,0xf0,0x05,0x84
+
+# CHECK: s_max_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x84]
+0x01,0xf7,0x05,0x84
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x84,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x84,0x73,0x72,0x71,0x3f
+
+# CHECK: s_max_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x84]
+0x01,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x84]
+0x01,0x02,0xe5,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, s1, s2 ; encoding: [0x01,0x02,0xe7,0x84]
+0x01,0x02,0xe7,0x84
+
+# CHECK: s_max_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x84]
+0x01,0x02,0xea,0x84
+
+# CHECK: s_max_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x84]
+0x01,0x02,0xeb,0x84
+
+# CHECK: s_max_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x84]
+0x01,0x02,0xfc,0x84
+
+# CHECK: s_max_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x84]
+0x01,0x02,0xfe,0x84
+
+# CHECK: s_max_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x84]
+0x01,0x02,0xff,0x84
+
+# CHECK: s_max_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x84]
+0x65,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x84]
+0x66,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x84]
+0x67,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x84]
+0x6a,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x84]
+0x6b,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x84]
+0x7c,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x84]
+0x7e,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x84]
+0x7f,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x84]
+0x80,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x84]
+0xc1,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x84]
+0xf0,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x84]
+0xf7,0x02,0x85,0x84
+
+# CHECK: s_max_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x84,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x84,0x56,0x34,0x12,0xaf
+
+# CHECK: s_max_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x84,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x84,0x73,0x72,0x71,0x3f
+
+# CHECK: s_max_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x84]
+0x01,0x65,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x84]
+0x01,0x66,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x84]
+0x01,0x67,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x84]
+0x01,0x6a,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x84]
+0x01,0x6b,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x84]
+0x01,0x7c,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x84]
+0x01,0x7e,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x84]
+0x01,0x7f,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x84]
+0x01,0x80,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x84]
+0x01,0xc1,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x84]
+0x01,0xf0,0x85,0x84
+
+# CHECK: s_max_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x84]
+0x01,0xf7,0x85,0x84
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x84,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x84,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cselect_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x85]
+0x01,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x85]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x85]
+0x01,0x02,0x67,0x85
+
+# CHECK: s_cselect_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x85]
+0x01,0x02,0x6a,0x85
+
+# CHECK: s_cselect_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x85]
+0x01,0x02,0x6b,0x85
+
+# CHECK: s_cselect_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x85]
+0x01,0x02,0x7c,0x85
+
+# CHECK: s_cselect_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x85]
+0x01,0x02,0x7e,0x85
+
+# CHECK: s_cselect_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x85]
+0x01,0x02,0x7f,0x85
+
+# CHECK: s_cselect_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x85]
+0x65,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x85]
+0x66,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x85]
+0x67,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x85]
+0x6a,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x85]
+0x6b,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x85]
+0x7c,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x85]
+0x7e,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x85]
+0x7f,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x85]
+0x80,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x85]
+0xc1,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x85]
+0xf0,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x85]
+0xf7,0x02,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x85,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x85,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cselect_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x85,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x85,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cselect_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x85]
+0x01,0x65,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x85]
+0x01,0x66,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x85]
+0x01,0x67,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x85]
+0x01,0x6a,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x85]
+0x01,0x6b,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x85]
+0x01,0x7c,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x85]
+0x01,0x7e,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x85]
+0x01,0x7f,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x85]
+0x01,0x80,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x85]
+0x01,0xc1,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x85]
+0x01,0xf0,0x05,0x85
+
+# CHECK: s_cselect_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x85]
+0x01,0xf7,0x05,0x85
+
+# 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 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[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x85]
+0x02,0x04,0x8a,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x85]
+0x02,0x04,0xe4,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x85]
+0x02,0x04,0xea,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[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x85]
+0x04,0x04,0x8a,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[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x85]
+0x66,0x04,0x8a,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[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x85]
+0x7e,0x04,0x8a,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[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x85]
+0xc1,0x04,0x8a,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[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x85]
+0xf7,0x04,0x8a,0x85
+
+# CHECK: s_cselect_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x85,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x85,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cselect_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x85,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x85,0x73,0x72,0x71,0x3f
+
+# 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[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x85]
+0x02,0x64,0x8a,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[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x85]
+0x02,0x6a,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x85]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x85]
+0x02,0xf0,0x8a,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[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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x86]
+0x01,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x86]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x86]
+0x01,0x02,0x67,0x86
+
+# CHECK: s_and_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x86]
+0x01,0x02,0x6a,0x86
+
+# CHECK: s_and_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x86]
+0x01,0x02,0x6b,0x86
+
+# CHECK: s_and_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x86]
+0x01,0x02,0x7c,0x86
+
+# CHECK: s_and_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x86]
+0x01,0x02,0x7e,0x86
+
+# CHECK: s_and_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x86]
+0x01,0x02,0x7f,0x86
+
+# CHECK: s_and_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x86]
+0x65,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x86]
+0x66,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x86]
+0x67,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x86]
+0x6a,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x86]
+0x6b,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x86]
+0x7c,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x86]
+0x7e,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x86]
+0x7f,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x86]
+0x80,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x86]
+0xc1,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x86]
+0xf0,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x86]
+0xf7,0x02,0x05,0x86
+
+# CHECK: s_and_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x86,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x86,0x56,0x34,0x12,0xaf
+
+# CHECK: s_and_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x86,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x86,0x73,0x72,0x71,0x3f
+
+# CHECK: s_and_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x86]
+0x01,0x65,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x86]
+0x01,0x66,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x86]
+0x01,0x67,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x86]
+0x01,0x6a,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x86]
+0x01,0x6b,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x86]
+0x01,0x7c,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x86]
+0x01,0x7e,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x86]
+0x01,0x7f,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x86]
+0x01,0x80,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x86]
+0x01,0xc1,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x86]
+0x01,0xf0,0x05,0x86
+
+# CHECK: s_and_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x86]
+0x01,0xf7,0x05,0x86
+
+# 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 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[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x86]
+0x02,0x04,0x8a,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x86]
+0x02,0x04,0xe4,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x86]
+0x02,0x04,0xea,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[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x86]
+0x04,0x04,0x8a,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[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x86]
+0x66,0x04,0x8a,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[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x86]
+0x7e,0x04,0x8a,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[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x86]
+0xc1,0x04,0x8a,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[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x86]
+0xf7,0x04,0x8a,0x86
+
+# CHECK: s_and_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x86,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x86,0x56,0x34,0x12,0xaf
+
+# CHECK: s_and_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x86,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x86,0x73,0x72,0x71,0x3f
+
+# 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[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x86]
+0x02,0x64,0x8a,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[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x86]
+0x02,0x6a,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x86]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x86]
+0x02,0xf0,0x8a,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[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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x87]
+0x01,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x87]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x87]
+0x01,0x02,0x67,0x87
+
+# CHECK: s_or_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x87]
+0x01,0x02,0x6a,0x87
+
+# CHECK: s_or_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x87]
+0x01,0x02,0x6b,0x87
+
+# CHECK: s_or_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x87]
+0x01,0x02,0x7c,0x87
+
+# CHECK: s_or_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x87]
+0x01,0x02,0x7e,0x87
+
+# CHECK: s_or_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x87]
+0x01,0x02,0x7f,0x87
+
+# CHECK: s_or_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x87]
+0x65,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x87]
+0x66,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x87]
+0x67,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x87]
+0x6a,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x87]
+0x6b,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x87]
+0x7c,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x87]
+0x7e,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x87]
+0x7f,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x87]
+0x80,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x87]
+0xc1,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x87]
+0xf0,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x87]
+0xf7,0x02,0x05,0x87
+
+# CHECK: s_or_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x87,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x87,0x56,0x34,0x12,0xaf
+
+# CHECK: s_or_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x87,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x87,0x73,0x72,0x71,0x3f
+
+# CHECK: s_or_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x87]
+0x01,0x65,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x87]
+0x01,0x66,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x87]
+0x01,0x67,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x87]
+0x01,0x6a,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x87]
+0x01,0x6b,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x87]
+0x01,0x7c,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x87]
+0x01,0x7e,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x87]
+0x01,0x7f,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x87]
+0x01,0x80,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x87]
+0x01,0xc1,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x87]
+0x01,0xf0,0x05,0x87
+
+# CHECK: s_or_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x87]
+0x01,0xf7,0x05,0x87
+
+# 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 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[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x87]
+0x02,0x04,0x8a,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x87]
+0x02,0x04,0xe4,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x87]
+0x02,0x04,0xea,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[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x87]
+0x04,0x04,0x8a,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[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x87]
+0x66,0x04,0x8a,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[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x87]
+0x7e,0x04,0x8a,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[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x87]
+0xc1,0x04,0x8a,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[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x87]
+0xf7,0x04,0x8a,0x87
+
+# CHECK: s_or_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x87,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x87,0x56,0x34,0x12,0xaf
+
+# CHECK: s_or_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x87,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x87,0x73,0x72,0x71,0x3f
+
+# 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[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x87]
+0x02,0x64,0x8a,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[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x87]
+0x02,0x6a,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x87]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x87]
+0x02,0xf0,0x8a,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[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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x88]
+0x01,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x88]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x88]
+0x01,0x02,0x67,0x88
+
+# CHECK: s_xor_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x88]
+0x01,0x02,0x6a,0x88
+
+# CHECK: s_xor_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x88]
+0x01,0x02,0x6b,0x88
+
+# CHECK: s_xor_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x88]
+0x01,0x02,0x7c,0x88
+
+# CHECK: s_xor_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x88]
+0x01,0x02,0x7e,0x88
+
+# CHECK: s_xor_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x88]
+0x01,0x02,0x7f,0x88
+
+# CHECK: s_xor_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x88]
+0x65,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x88]
+0x66,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x88]
+0x67,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x88]
+0x6a,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x88]
+0x6b,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x88]
+0x7c,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x88]
+0x7e,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x88]
+0x7f,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x88]
+0x80,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x88]
+0xc1,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x88]
+0xf0,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x88]
+0xf7,0x02,0x05,0x88
+
+# CHECK: s_xor_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x88,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x88,0x56,0x34,0x12,0xaf
+
+# CHECK: s_xor_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x88,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x88,0x73,0x72,0x71,0x3f
+
+# CHECK: s_xor_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x88]
+0x01,0x65,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x88]
+0x01,0x66,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x88]
+0x01,0x67,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x88]
+0x01,0x6a,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x88]
+0x01,0x6b,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x88]
+0x01,0x7c,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x88]
+0x01,0x7e,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x88]
+0x01,0x7f,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x88]
+0x01,0x80,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x88]
+0x01,0xc1,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x88]
+0x01,0xf0,0x05,0x88
+
+# CHECK: s_xor_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x88]
+0x01,0xf7,0x05,0x88
+
+# 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 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[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x88]
+0x02,0x04,0x8a,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x88]
+0x02,0x04,0xe4,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x88]
+0x02,0x04,0xea,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[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x88]
+0x04,0x04,0x8a,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[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x88]
+0x66,0x04,0x8a,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[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x88]
+0x7e,0x04,0x8a,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[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x88]
+0xc1,0x04,0x8a,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[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x88]
+0xf7,0x04,0x8a,0x88
+
+# CHECK: s_xor_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x88,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x88,0x56,0x34,0x12,0xaf
+
+# CHECK: s_xor_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x88,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x88,0x73,0x72,0x71,0x3f
+
+# 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[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x88]
+0x02,0x64,0x8a,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[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x88]
+0x02,0x6a,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x88]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x88]
+0x02,0xf0,0x8a,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[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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x89]
+0x01,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x89]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x89]
+0x01,0x02,0x67,0x89
+
+# CHECK: s_andn2_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x89]
+0x01,0x02,0x6a,0x89
+
+# CHECK: s_andn2_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x89]
+0x01,0x02,0x6b,0x89
+
+# CHECK: s_andn2_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x89]
+0x01,0x02,0x7c,0x89
+
+# CHECK: s_andn2_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x89]
+0x01,0x02,0x7e,0x89
+
+# CHECK: s_andn2_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x89]
+0x01,0x02,0x7f,0x89
+
+# CHECK: s_andn2_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x89]
+0x65,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x89]
+0x66,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x89]
+0x67,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x89]
+0x6a,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x89]
+0x6b,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x89]
+0x7c,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x89]
+0x7e,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x89]
+0x7f,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x89]
+0x80,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x89]
+0xc1,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x89]
+0xf0,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x89]
+0xf7,0x02,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x89,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x89,0x56,0x34,0x12,0xaf
+
+# CHECK: s_andn2_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x89,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x89,0x73,0x72,0x71,0x3f
+
+# CHECK: s_andn2_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x89]
+0x01,0x65,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x89]
+0x01,0x66,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x89]
+0x01,0x67,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x89]
+0x01,0x6a,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x89]
+0x01,0x6b,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x89]
+0x01,0x7c,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x89]
+0x01,0x7e,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x89]
+0x01,0x7f,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x89]
+0x01,0x80,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x89]
+0x01,0xc1,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x89]
+0x01,0xf0,0x05,0x89
+
+# CHECK: s_andn2_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x89]
+0x01,0xf7,0x05,0x89
+
+# 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 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[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x89]
+0x02,0x04,0x8a,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x89]
+0x02,0x04,0xe4,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x89]
+0x02,0x04,0xea,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[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x89]
+0x04,0x04,0x8a,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[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x89]
+0x66,0x04,0x8a,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[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x89]
+0x7e,0x04,0x8a,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[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x89]
+0xc1,0x04,0x8a,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[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x89]
+0xf7,0x04,0x8a,0x89
+
+# CHECK: s_andn2_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x89,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x89,0x56,0x34,0x12,0xaf
+
+# CHECK: s_andn2_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x89,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x89,0x73,0x72,0x71,0x3f
+
+# 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[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x89]
+0x02,0x64,0x8a,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[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x89]
+0x02,0x6a,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x89]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x89]
+0x02,0xf0,0x8a,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[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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8a]
+0x01,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8a]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x8a]
+0x01,0x02,0x67,0x8a
+
+# CHECK: s_orn2_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8a]
+0x01,0x02,0x6a,0x8a
+
+# CHECK: s_orn2_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8a]
+0x01,0x02,0x6b,0x8a
+
+# CHECK: s_orn2_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8a]
+0x01,0x02,0x7c,0x8a
+
+# CHECK: s_orn2_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8a]
+0x01,0x02,0x7e,0x8a
+
+# CHECK: s_orn2_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8a]
+0x01,0x02,0x7f,0x8a
+
+# CHECK: s_orn2_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8a]
+0x65,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8a]
+0x66,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8a]
+0x67,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8a]
+0x6a,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8a]
+0x6b,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8a]
+0x7c,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8a]
+0x7e,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8a]
+0x7f,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8a]
+0x80,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8a]
+0xc1,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8a]
+0xf0,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8a]
+0xf7,0x02,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8a,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8a,0x56,0x34,0x12,0xaf
+
+# CHECK: s_orn2_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8a,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8a,0x73,0x72,0x71,0x3f
+
+# CHECK: s_orn2_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8a]
+0x01,0x65,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8a]
+0x01,0x66,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8a]
+0x01,0x67,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8a]
+0x01,0x6a,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8a]
+0x01,0x6b,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8a]
+0x01,0x7c,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8a]
+0x01,0x7e,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8a]
+0x01,0x7f,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8a]
+0x01,0x80,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8a]
+0x01,0xc1,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8a]
+0x01,0xf0,0x05,0x8a
+
+# CHECK: s_orn2_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8a]
+0x01,0xf7,0x05,0x8a
+
+# 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 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[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x8a]
+0x02,0x04,0x8a,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x8a]
+0x02,0x04,0xe4,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x8a]
+0x02,0x04,0xea,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[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x8a]
+0x04,0x04,0x8a,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[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8a]
+0x66,0x04,0x8a,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[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x8a]
+0x7e,0x04,0x8a,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[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x8a]
+0xc1,0x04,0x8a,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[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x8a]
+0xf7,0x04,0x8a,0x8a
+
+# CHECK: s_orn2_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8a,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x8a,0x56,0x34,0x12,0xaf
+
+# CHECK: s_orn2_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8a,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x8a,0x73,0x72,0x71,0x3f
+
+# 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[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8a]
+0x02,0x64,0x8a,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[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x8a]
+0x02,0x6a,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8a]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8a]
+0x02,0xf0,0x8a,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[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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8b]
+0x01,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8b]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x8b]
+0x01,0x02,0x67,0x8b
+
+# CHECK: s_nand_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8b]
+0x01,0x02,0x6a,0x8b
+
+# CHECK: s_nand_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8b]
+0x01,0x02,0x6b,0x8b
+
+# CHECK: s_nand_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8b]
+0x01,0x02,0x7c,0x8b
+
+# CHECK: s_nand_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8b]
+0x01,0x02,0x7e,0x8b
+
+# CHECK: s_nand_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8b]
+0x01,0x02,0x7f,0x8b
+
+# CHECK: s_nand_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8b]
+0x65,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8b]
+0x66,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8b]
+0x67,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8b]
+0x6a,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8b]
+0x6b,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8b]
+0x7c,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8b]
+0x7e,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8b]
+0x7f,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8b]
+0x80,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8b]
+0xc1,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8b]
+0xf0,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8b]
+0xf7,0x02,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8b,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8b,0x56,0x34,0x12,0xaf
+
+# CHECK: s_nand_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8b,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8b,0x73,0x72,0x71,0x3f
+
+# CHECK: s_nand_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8b]
+0x01,0x65,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8b]
+0x01,0x66,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8b]
+0x01,0x67,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8b]
+0x01,0x6a,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8b]
+0x01,0x6b,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8b]
+0x01,0x7c,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8b]
+0x01,0x7e,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8b]
+0x01,0x7f,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8b]
+0x01,0x80,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8b]
+0x01,0xc1,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8b]
+0x01,0xf0,0x05,0x8b
+
+# CHECK: s_nand_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8b]
+0x01,0xf7,0x05,0x8b
+
+# 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 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[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x8b]
+0x02,0x04,0x8a,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x8b]
+0x02,0x04,0xe4,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x8b]
+0x02,0x04,0xea,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[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x8b]
+0x04,0x04,0x8a,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[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8b]
+0x66,0x04,0x8a,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[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x8b]
+0x7e,0x04,0x8a,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[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x8b]
+0xc1,0x04,0x8a,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[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x8b]
+0xf7,0x04,0x8a,0x8b
+
+# CHECK: s_nand_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8b,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x8b,0x56,0x34,0x12,0xaf
+
+# CHECK: s_nand_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8b,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x8b,0x73,0x72,0x71,0x3f
+
+# 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[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8b]
+0x02,0x64,0x8a,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[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x8b]
+0x02,0x6a,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8b]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8b]
+0x02,0xf0,0x8a,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[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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8c]
+0x01,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8c]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x8c]
+0x01,0x02,0x67,0x8c
+
+# CHECK: s_nor_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8c]
+0x01,0x02,0x6a,0x8c
+
+# CHECK: s_nor_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8c]
+0x01,0x02,0x6b,0x8c
+
+# CHECK: s_nor_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8c]
+0x01,0x02,0x7c,0x8c
+
+# CHECK: s_nor_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8c]
+0x01,0x02,0x7e,0x8c
+
+# CHECK: s_nor_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8c]
+0x01,0x02,0x7f,0x8c
+
+# CHECK: s_nor_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8c]
+0x65,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8c]
+0x66,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8c]
+0x67,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8c]
+0x6a,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8c]
+0x6b,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8c]
+0x7c,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8c]
+0x7e,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8c]
+0x7f,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8c]
+0x80,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8c]
+0xc1,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8c]
+0xf0,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8c]
+0xf7,0x02,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8c,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8c,0x56,0x34,0x12,0xaf
+
+# CHECK: s_nor_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8c,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8c,0x73,0x72,0x71,0x3f
+
+# CHECK: s_nor_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8c]
+0x01,0x65,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8c]
+0x01,0x66,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8c]
+0x01,0x67,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8c]
+0x01,0x6a,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8c]
+0x01,0x6b,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8c]
+0x01,0x7c,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8c]
+0x01,0x7e,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8c]
+0x01,0x7f,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8c]
+0x01,0x80,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8c]
+0x01,0xc1,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8c]
+0x01,0xf0,0x05,0x8c
+
+# CHECK: s_nor_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8c]
+0x01,0xf7,0x05,0x8c
+
+# 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 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[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x8c]
+0x02,0x04,0x8a,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x8c]
+0x02,0x04,0xe4,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x8c]
+0x02,0x04,0xea,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[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x8c]
+0x04,0x04,0x8a,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[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8c]
+0x66,0x04,0x8a,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[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x8c]
+0x7e,0x04,0x8a,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[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x8c]
+0xc1,0x04,0x8a,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[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x8c]
+0xf7,0x04,0x8a,0x8c
+
+# CHECK: s_nor_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x8c,0x56,0x34,0x12,0xaf
+
+# CHECK: s_nor_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x8c,0x73,0x72,0x71,0x3f
+
+# 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[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8c]
+0x02,0x64,0x8a,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[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x8c]
+0x02,0x6a,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8c]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8c]
+0x02,0xf0,0x8a,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[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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8d]
+0x01,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8d]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x8d]
+0x01,0x02,0x67,0x8d
+
+# CHECK: s_xnor_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8d]
+0x01,0x02,0x6a,0x8d
+
+# CHECK: s_xnor_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8d]
+0x01,0x02,0x6b,0x8d
+
+# CHECK: s_xnor_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8d]
+0x01,0x02,0x7c,0x8d
+
+# CHECK: s_xnor_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8d]
+0x01,0x02,0x7e,0x8d
+
+# CHECK: s_xnor_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8d]
+0x01,0x02,0x7f,0x8d
+
+# CHECK: s_xnor_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8d]
+0x65,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8d]
+0x66,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8d]
+0x67,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8d]
+0x6a,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8d]
+0x6b,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8d]
+0x7c,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8d]
+0x7e,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8d]
+0x7f,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8d]
+0x80,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8d]
+0xc1,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8d]
+0xf0,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8d]
+0xf7,0x02,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8d,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8d,0x56,0x34,0x12,0xaf
+
+# CHECK: s_xnor_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8d,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8d,0x73,0x72,0x71,0x3f
+
+# CHECK: s_xnor_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8d]
+0x01,0x65,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8d]
+0x01,0x66,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8d]
+0x01,0x67,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8d]
+0x01,0x6a,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8d]
+0x01,0x6b,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8d]
+0x01,0x7c,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8d]
+0x01,0x7e,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8d]
+0x01,0x7f,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8d]
+0x01,0x80,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8d]
+0x01,0xc1,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8d]
+0x01,0xf0,0x05,0x8d
+
+# CHECK: s_xnor_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8d]
+0x01,0xf7,0x05,0x8d
+
+# 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 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[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x8d]
+0x02,0x04,0x8a,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x8d]
+0x02,0x04,0xe4,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[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x8d]
+0x02,0x04,0xea,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[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x8d]
+0x04,0x04,0x8a,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[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8d]
+0x66,0x04,0x8a,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[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x8d]
+0x7e,0x04,0x8a,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[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x8d]
+0xc1,0x04,0x8a,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[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x8d]
+0xf7,0x04,0x8a,0x8d
+
+# CHECK: s_xnor_b64 s[10:11], 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x8d,0x56,0x34,0x12,0xaf
+
+# CHECK: s_xnor_b64 s[10:11], 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x8a,0x8d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x8d,0x73,0x72,0x71,0x3f
+
+# 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[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8d]
+0x02,0x64,0x8a,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[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x8d]
+0x02,0x6a,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8d]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8d]
+0x02,0xf0,0x8a,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[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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8e]
+0x01,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8e]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x8e]
+0x01,0x02,0x67,0x8e
+
+# CHECK: s_lshl_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8e]
+0x01,0x02,0x6a,0x8e
+
+# CHECK: s_lshl_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8e]
+0x01,0x02,0x6b,0x8e
+
+# CHECK: s_lshl_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8e]
+0x01,0x02,0x7c,0x8e
+
+# CHECK: s_lshl_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8e]
+0x01,0x02,0x7e,0x8e
+
+# CHECK: s_lshl_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8e]
+0x01,0x02,0x7f,0x8e
+
+# CHECK: s_lshl_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8e]
+0x65,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8e]
+0x66,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8e]
+0x67,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8e]
+0x6a,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8e]
+0x6b,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8e]
+0x7c,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8e]
+0x7e,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8e]
+0x7f,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8e]
+0x80,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8e]
+0xc1,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8e]
+0xf0,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8e]
+0xf7,0x02,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8e,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8e,0x56,0x34,0x12,0xaf
+
+# CHECK: s_lshl_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8e,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8e,0x73,0x72,0x71,0x3f
+
+# CHECK: s_lshl_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8e]
+0x01,0x65,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8e]
+0x01,0x66,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8e]
+0x01,0x67,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8e]
+0x01,0x6a,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8e]
+0x01,0x6b,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8e]
+0x01,0x7c,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8e]
+0x01,0x7e,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8e]
+0x01,0x7f,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8e]
+0x01,0x80,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8e]
+0x01,0xc1,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8e]
+0x01,0xf0,0x05,0x8e
+
+# CHECK: s_lshl_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8e]
+0x01,0xf7,0x05,0x8e
+
+# 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 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[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x8a,0x8e]
+0x02,0x02,0x8a,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[2:3], s2 ; encoding: [0x02,0x02,0xe4,0x8e]
+0x02,0x02,0xe4,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[2:3], s2 ; encoding: [0x02,0x02,0xea,0x8e]
+0x02,0x02,0xea,0x8e
+
+# CHECK: s_lshl_b64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0xfe,0x8e]
+0x02,0x02,0xfe,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[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x8a,0x8e]
+0x64,0x02,0x8a,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[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x8a,0x8e]
+0x6a,0x02,0x8a,0x8e
+
+# CHECK: s_lshl_b64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x8a,0x8e]
+0x7e,0x02,0x8a,0x8e
+
+# CHECK: s_lshl_b64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x8e]
+0x80,0x02,0x8a,0x8e
+
+# CHECK: s_lshl_b64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x8e]
+0xc1,0x02,0x8a,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[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x8e]
+0xf7,0x02,0x8a,0x8e
+
+# 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[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[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x8a,0x8e]
+0x02,0x65,0x8a,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[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x8e]
+0x02,0x67,0x8a,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[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x8a,0x8e]
+0x02,0x6b,0x8a,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[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x8a,0x8e]
+0x02,0x7e,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8e]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8e]
+0x02,0xf0,0x8a,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[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8e,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x8e,0x56,0x34,0x12,0xaf
+
+# CHECK: s_lshl_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8e,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x8e,0x73,0x72,0x71,0x3f
+
+# CHECK: s_lshr_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8f]
+0x01,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8f]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x8f]
+0x01,0x02,0x67,0x8f
+
+# CHECK: s_lshr_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8f]
+0x01,0x02,0x6a,0x8f
+
+# CHECK: s_lshr_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8f]
+0x01,0x02,0x6b,0x8f
+
+# CHECK: s_lshr_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8f]
+0x01,0x02,0x7c,0x8f
+
+# CHECK: s_lshr_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8f]
+0x01,0x02,0x7e,0x8f
+
+# CHECK: s_lshr_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8f]
+0x01,0x02,0x7f,0x8f
+
+# CHECK: s_lshr_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8f]
+0x65,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8f]
+0x66,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8f]
+0x67,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8f]
+0x6a,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8f]
+0x6b,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8f]
+0x7c,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8f]
+0x7e,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8f]
+0x7f,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8f]
+0x80,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8f]
+0xc1,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8f]
+0xf0,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8f]
+0xf7,0x02,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x8f,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x8f,0x56,0x34,0x12,0xaf
+
+# CHECK: s_lshr_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x8f,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x8f,0x73,0x72,0x71,0x3f
+
+# CHECK: s_lshr_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8f]
+0x01,0x65,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8f]
+0x01,0x66,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8f]
+0x01,0x67,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8f]
+0x01,0x6a,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8f]
+0x01,0x6b,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8f]
+0x01,0x7c,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8f]
+0x01,0x7e,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8f]
+0x01,0x7f,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8f]
+0x01,0x80,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8f]
+0x01,0xc1,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8f]
+0x01,0xf0,0x05,0x8f
+
+# CHECK: s_lshr_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8f]
+0x01,0xf7,0x05,0x8f
+
+# 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 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[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x8a,0x8f]
+0x02,0x02,0x8a,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[2:3], s2 ; encoding: [0x02,0x02,0xe4,0x8f]
+0x02,0x02,0xe4,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[2:3], s2 ; encoding: [0x02,0x02,0xea,0x8f]
+0x02,0x02,0xea,0x8f
+
+# CHECK: s_lshr_b64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0xfe,0x8f]
+0x02,0x02,0xfe,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[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x8a,0x8f]
+0x64,0x02,0x8a,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[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x8a,0x8f]
+0x6a,0x02,0x8a,0x8f
+
+# CHECK: s_lshr_b64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x8a,0x8f]
+0x7e,0x02,0x8a,0x8f
+
+# CHECK: s_lshr_b64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x8f]
+0x80,0x02,0x8a,0x8f
+
+# CHECK: s_lshr_b64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x8f]
+0xc1,0x02,0x8a,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[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x8f]
+0xf7,0x02,0x8a,0x8f
+
+# 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[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[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x8a,0x8f]
+0x02,0x65,0x8a,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[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x8f]
+0x02,0x67,0x8a,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[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x8a,0x8f]
+0x02,0x6b,0x8a,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[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x8a,0x8f]
+0x02,0x7e,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8f]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8f]
+0x02,0xf0,0x8a,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[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8f,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x8f,0x56,0x34,0x12,0xaf
+
+# CHECK: s_lshr_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8f,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x8f,0x73,0x72,0x71,0x3f
+
+# CHECK: s_ashr_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x90]
+0x01,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x90]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x90]
+0x01,0x02,0x67,0x90
+
+# CHECK: s_ashr_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x90]
+0x01,0x02,0x6a,0x90
+
+# CHECK: s_ashr_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x90]
+0x01,0x02,0x6b,0x90
+
+# CHECK: s_ashr_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x90]
+0x01,0x02,0x7c,0x90
+
+# CHECK: s_ashr_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x90]
+0x01,0x02,0x7e,0x90
+
+# CHECK: s_ashr_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x90]
+0x01,0x02,0x7f,0x90
+
+# CHECK: s_ashr_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x90]
+0x65,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x90]
+0x66,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x90]
+0x67,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x90]
+0x6a,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x90]
+0x6b,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x90]
+0x7c,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x90]
+0x7e,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x90]
+0x7f,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x90]
+0x80,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x90]
+0xc1,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x90]
+0xf0,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x90]
+0xf7,0x02,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x90,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x90,0x56,0x34,0x12,0xaf
+
+# CHECK: s_ashr_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x90,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x90,0x73,0x72,0x71,0x3f
+
+# CHECK: s_ashr_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x90]
+0x01,0x65,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x90]
+0x01,0x66,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x90]
+0x01,0x67,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x90]
+0x01,0x6a,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x90]
+0x01,0x6b,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x90]
+0x01,0x7c,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x90]
+0x01,0x7e,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x90]
+0x01,0x7f,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x90]
+0x01,0x80,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x90]
+0x01,0xc1,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x90]
+0x01,0xf0,0x05,0x90
+
+# CHECK: s_ashr_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x90]
+0x01,0xf7,0x05,0x90
+
+# 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 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[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x8a,0x90]
+0x02,0x02,0x8a,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[2:3], s2 ; encoding: [0x02,0x02,0xe4,0x90]
+0x02,0x02,0xe4,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[2:3], s2 ; encoding: [0x02,0x02,0xea,0x90]
+0x02,0x02,0xea,0x90
+
+# CHECK: s_ashr_i64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0xfe,0x90]
+0x02,0x02,0xfe,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[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x8a,0x90]
+0x64,0x02,0x8a,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[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x8a,0x90]
+0x6a,0x02,0x8a,0x90
+
+# CHECK: s_ashr_i64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x8a,0x90]
+0x7e,0x02,0x8a,0x90
+
+# CHECK: s_ashr_i64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x90]
+0x80,0x02,0x8a,0x90
+
+# CHECK: s_ashr_i64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x90]
+0xc1,0x02,0x8a,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[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x90]
+0xf7,0x02,0x8a,0x90
+
+# 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[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[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x8a,0x90]
+0x02,0x65,0x8a,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[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x90]
+0x02,0x67,0x8a,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[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x8a,0x90]
+0x02,0x6b,0x8a,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[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x8a,0x90]
+0x02,0x7e,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x90]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x90]
+0x02,0xf0,0x8a,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[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x90,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x90,0x56,0x34,0x12,0xaf
+
+# CHECK: s_ashr_i64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x90,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x90,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bfm_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x91]
+0x01,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x91]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x91]
+0x01,0x02,0x67,0x91
+
+# CHECK: s_bfm_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x91]
+0x01,0x02,0x6a,0x91
+
+# CHECK: s_bfm_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x91]
+0x01,0x02,0x6b,0x91
+
+# CHECK: s_bfm_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x91]
+0x01,0x02,0x7c,0x91
+
+# CHECK: s_bfm_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x91]
+0x01,0x02,0x7e,0x91
+
+# CHECK: s_bfm_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x91]
+0x01,0x02,0x7f,0x91
+
+# CHECK: s_bfm_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x91]
+0x65,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x91]
+0x66,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x91]
+0x67,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x91]
+0x6a,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x91]
+0x6b,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x91]
+0x7c,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x91]
+0x7e,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x91]
+0x7f,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x91]
+0x80,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x91]
+0xc1,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x91]
+0xf0,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x91]
+0xf7,0x02,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x91,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x91,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfm_b32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x91,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x91,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bfm_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x91]
+0x01,0x65,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x91]
+0x01,0x66,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x91]
+0x01,0x67,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x91]
+0x01,0x6a,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x91]
+0x01,0x6b,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x91]
+0x01,0x7c,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x91]
+0x01,0x7e,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x91]
+0x01,0x7f,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x91]
+0x01,0x80,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x91]
+0x01,0xc1,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x91]
+0x01,0xf0,0x05,0x91
+
+# CHECK: s_bfm_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x91]
+0x01,0xf7,0x05,0x91
+
+# 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 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[10:11], s1, s2 ; encoding: [0x01,0x02,0x8a,0x91]
+0x01,0x02,0x8a,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], s1, s2 ; encoding: [0x01,0x02,0xe4,0x91]
+0x01,0x02,0xe4,0x91
+
+# CHECK: s_bfm_b64 flat_scratch, s1, s2 ; encoding: [0x01,0x02,0xe6,0x91]
+0x01,0x02,0xe6,0x91
+
+# CHECK: s_bfm_b64 vcc, s1, s2 ; encoding: [0x01,0x02,0xea,0x91]
+0x01,0x02,0xea,0x91
+
+# CHECK: s_bfm_b64 exec, s1, s2 ; encoding: [0x01,0x02,0xfe,0x91]
+0x01,0x02,0xfe,0x91
+
+# CHECK: s_bfm_b64 s[10:11], s101, s2 ; encoding: [0x65,0x02,0x8a,0x91]
+0x65,0x02,0x8a,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[10:11], flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x8a,0x91]
+0x67,0x02,0x8a,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[10:11], vcc_hi, s2 ; encoding: [0x6b,0x02,0x8a,0x91]
+0x6b,0x02,0x8a,0x91
+
+# CHECK: s_bfm_b64 s[10:11], m0, s2 ; encoding: [0x7c,0x02,0x8a,0x91]
+0x7c,0x02,0x8a,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[10:11], exec_hi, s2 ; encoding: [0x7f,0x02,0x8a,0x91]
+0x7f,0x02,0x8a,0x91
+
+# CHECK: s_bfm_b64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x91]
+0x80,0x02,0x8a,0x91
+
+# CHECK: s_bfm_b64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x91]
+0xc1,0x02,0x8a,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[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x91]
+0xf7,0x02,0x8a,0x91
+
+# CHECK: s_bfm_b64 s[10:11], 0xaf123456, s2 ; encoding: [0xff,0x02,0x8a,0x91,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x8a,0x91,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfm_b64 s[10:11], 0x3f717273, s2 ; encoding: [0xff,0x02,0x8a,0x91,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x8a,0x91,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bfm_b64 s[10:11], s1, s101 ; encoding: [0x01,0x65,0x8a,0x91]
+0x01,0x65,0x8a,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[10:11], s1, flat_scratch_hi ; encoding: [0x01,0x67,0x8a,0x91]
+0x01,0x67,0x8a,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[10:11], s1, vcc_hi ; encoding: [0x01,0x6b,0x8a,0x91]
+0x01,0x6b,0x8a,0x91
+
+# CHECK: s_bfm_b64 s[10:11], s1, m0 ; encoding: [0x01,0x7c,0x8a,0x91]
+0x01,0x7c,0x8a,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[10:11], s1, exec_hi ; encoding: [0x01,0x7f,0x8a,0x91]
+0x01,0x7f,0x8a,0x91
+
+# CHECK: s_bfm_b64 s[10:11], s1, 0 ; encoding: [0x01,0x80,0x8a,0x91]
+0x01,0x80,0x8a,0x91
+
+# CHECK: s_bfm_b64 s[10:11], s1, -1 ; encoding: [0x01,0xc1,0x8a,0x91]
+0x01,0xc1,0x8a,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[10:11], s1, -4.0 ; encoding: [0x01,0xf7,0x8a,0x91]
+0x01,0xf7,0x8a,0x91
+
+# 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[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 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x92]
+0x01,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x92]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x92]
+0x01,0x02,0x67,0x92
+
+# CHECK: s_mul_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x92]
+0x01,0x02,0x6a,0x92
+
+# CHECK: s_mul_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x92]
+0x01,0x02,0x6b,0x92
+
+# CHECK: s_mul_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x92]
+0x01,0x02,0x7c,0x92
+
+# CHECK: s_mul_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x92]
+0x01,0x02,0x7e,0x92
+
+# CHECK: s_mul_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x92]
+0x01,0x02,0x7f,0x92
+
+# CHECK: s_mul_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x92]
+0x65,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x92]
+0x66,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x92]
+0x67,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x92]
+0x6a,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x92]
+0x6b,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x92]
+0x7c,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x92]
+0x7e,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x92]
+0x7f,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x92]
+0x80,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x92]
+0xc1,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x92]
+0xf0,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x92]
+0xf7,0x02,0x05,0x92
+
+# CHECK: s_mul_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x92,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x92,0x56,0x34,0x12,0xaf
+
+# CHECK: s_mul_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x92,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x92,0x73,0x72,0x71,0x3f
+
+# CHECK: s_mul_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x92]
+0x01,0x65,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x92]
+0x01,0x66,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x92]
+0x01,0x67,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x92]
+0x01,0x6a,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x92]
+0x01,0x6b,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x92]
+0x01,0x7c,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x92]
+0x01,0x7e,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x92]
+0x01,0x7f,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x92]
+0x01,0x80,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x92]
+0x01,0xc1,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x92]
+0x01,0xf0,0x05,0x92
+
+# CHECK: s_mul_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x92]
+0x01,0xf7,0x05,0x92
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x92,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x92,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bfe_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x92]
+0x01,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x92]
+0x01,0x02,0xe5,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, s1, s2 ; encoding: [0x01,0x02,0xe7,0x92]
+0x01,0x02,0xe7,0x92
+
+# CHECK: s_bfe_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x92]
+0x01,0x02,0xea,0x92
+
+# CHECK: s_bfe_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x92]
+0x01,0x02,0xeb,0x92
+
+# CHECK: s_bfe_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x92]
+0x01,0x02,0xfc,0x92
+
+# CHECK: s_bfe_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x92]
+0x01,0x02,0xfe,0x92
+
+# CHECK: s_bfe_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x92]
+0x01,0x02,0xff,0x92
+
+# CHECK: s_bfe_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x92]
+0x65,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x92]
+0x66,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x92]
+0x67,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x92]
+0x6a,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x92]
+0x6b,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x92]
+0x7c,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x92]
+0x7e,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x92]
+0x7f,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x92]
+0x80,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x92]
+0xc1,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x92]
+0xf0,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x92]
+0xf7,0x02,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x92,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0x92,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfe_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x92,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0x92,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bfe_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x92]
+0x01,0x65,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x92]
+0x01,0x66,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x92]
+0x01,0x67,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x92]
+0x01,0x6a,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x92]
+0x01,0x6b,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x92]
+0x01,0x7c,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x92]
+0x01,0x7e,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x92]
+0x01,0x7f,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x92]
+0x01,0x80,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x92]
+0x01,0xc1,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x92]
+0x01,0xf0,0x85,0x92
+
+# CHECK: s_bfe_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x92]
+0x01,0xf7,0x85,0x92
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x92,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x92,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bfe_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x93]
+0x01,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x93]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x93]
+0x01,0x02,0x67,0x93
+
+# CHECK: s_bfe_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x93]
+0x01,0x02,0x6a,0x93
+
+# CHECK: s_bfe_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x93]
+0x01,0x02,0x6b,0x93
+
+# CHECK: s_bfe_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x93]
+0x01,0x02,0x7c,0x93
+
+# CHECK: s_bfe_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x93]
+0x01,0x02,0x7e,0x93
+
+# CHECK: s_bfe_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x93]
+0x01,0x02,0x7f,0x93
+
+# CHECK: s_bfe_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x93]
+0x65,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x93]
+0x66,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x93]
+0x67,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x93]
+0x6a,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x93]
+0x6b,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x93]
+0x7c,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x93]
+0x7e,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x93]
+0x7f,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x93]
+0x80,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x93]
+0xc1,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x93]
+0xf0,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x93]
+0xf7,0x02,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x93,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x93,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfe_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x93,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x93,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bfe_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x93]
+0x01,0x65,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x93]
+0x01,0x66,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x93]
+0x01,0x67,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x93]
+0x01,0x6a,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x93]
+0x01,0x6b,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x93]
+0x01,0x7c,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x93]
+0x01,0x7e,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x93]
+0x01,0x7f,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x93]
+0x01,0x80,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x93]
+0x01,0xc1,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x93]
+0x01,0xf0,0x05,0x93
+
+# CHECK: s_bfe_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x93]
+0x01,0xf7,0x05,0x93
+
+# 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 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[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x8a,0x93]
+0x02,0x02,0x8a,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[2:3], s2 ; encoding: [0x02,0x02,0xe4,0x93]
+0x02,0x02,0xe4,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[2:3], s2 ; encoding: [0x02,0x02,0xea,0x93]
+0x02,0x02,0xea,0x93
+
+# CHECK: s_bfe_u64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0xfe,0x93]
+0x02,0x02,0xfe,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[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x8a,0x93]
+0x64,0x02,0x8a,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[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x8a,0x93]
+0x6a,0x02,0x8a,0x93
+
+# CHECK: s_bfe_u64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x8a,0x93]
+0x7e,0x02,0x8a,0x93
+
+# CHECK: s_bfe_u64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x93]
+0x80,0x02,0x8a,0x93
+
+# CHECK: s_bfe_u64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x93]
+0xc1,0x02,0x8a,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[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x93]
+0xf7,0x02,0x8a,0x93
+
+# 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[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[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x8a,0x93]
+0x02,0x65,0x8a,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[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x93]
+0x02,0x67,0x8a,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[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x8a,0x93]
+0x02,0x6b,0x8a,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[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x8a,0x93]
+0x02,0x7e,0x8a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x93]
+0x02,0x80,0x8a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x93]
+0x02,0xf0,0x8a,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[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x93,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x93,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfe_u64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x93,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x93,0x73,0x72,0x71,0x3f
+
+# 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[12:13], s[2:3], s2 ; encoding: [0x02,0x02,0x0c,0x94]
+0x02,0x02,0x0c,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[2:3], s2 ; encoding: [0x02,0x02,0x66,0x94]
+0x02,0x02,0x66,0x94
+
+# CHECK: s_bfe_i64 vcc, s[2:3], s2 ; encoding: [0x02,0x02,0x6a,0x94]
+0x02,0x02,0x6a,0x94
+
+# CHECK: s_bfe_i64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0x7e,0x94]
+0x02,0x02,0x7e,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[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x0a,0x94]
+0x64,0x02,0x0a,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[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x0a,0x94]
+0x6a,0x02,0x0a,0x94
+
+# CHECK: s_bfe_i64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x0a,0x94]
+0x7e,0x02,0x0a,0x94
+
+# CHECK: s_bfe_i64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x0a,0x94]
+0x80,0x02,0x0a,0x94
+
+# CHECK: s_bfe_i64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x0a,0x94]
+0xc1,0x02,0x0a,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[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x0a,0x94]
+0xf7,0x02,0x0a,0x94
+
+# 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[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[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x0a,0x94]
+0x02,0x65,0x0a,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[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x0a,0x94]
+0x02,0x67,0x0a,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[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x0a,0x94]
+0x02,0x6b,0x0a,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[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x0a,0x94]
+0x02,0x7e,0x0a,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[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x0a,0x94]
+0x02,0x80,0x0a,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[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x0a,0x94]
+0x02,0xf0,0x0a,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[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x0a,0x94,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x0a,0x94,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bfe_i64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x0a,0x94,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x0a,0x94,0x73,0x72,0x71,0x3f
+
+# 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[4:5], s[4:5] ; encoding: [0x04,0x04,0x80,0x94]
+0x04,0x04,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[4:5] ; encoding: [0x66,0x04,0x80,0x94]
+0x66,0x04,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 exec, s[4:5] ; encoding: [0x7e,0x04,0x80,0x94]
+0x7e,0x04,0x80,0x94
+
+# CHECK: s_cbranch_g_fork 0, s[4:5] ; encoding: [0x80,0x04,0x80,0x94]
+0x80,0x04,0x80,0x94
+
+# CHECK: s_cbranch_g_fork -1, s[4:5] ; encoding: [0xc1,0x04,0x80,0x94]
+0xc1,0x04,0x80,0x94
+
+# CHECK: s_cbranch_g_fork 0.5, s[4:5] ; encoding: [0xf0,0x04,0x80,0x94]
+0xf0,0x04,0x80,0x94
+
+# CHECK: s_cbranch_g_fork -4.0, s[4:5] ; encoding: [0xf7,0x04,0x80,0x94]
+0xf7,0x04,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[2:3], s[100:101] ; encoding: [0x02,0x64,0x80,0x94]
+0x02,0x64,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[2:3], vcc ; encoding: [0x02,0x6a,0x80,0x94]
+0x02,0x6a,0x80,0x94
+
+# CHECK: s_cbranch_g_fork s[2:3], exec ; encoding: [0x02,0x7e,0x80,0x94]
+0x02,0x7e,0x80,0x94
+
+# CHECK: s_cbranch_g_fork s[2:3], 0 ; encoding: [0x02,0x80,0x80,0x94]
+0x02,0x80,0x80,0x94
+
+# CHECK: s_cbranch_g_fork s[2:3], -1 ; encoding: [0x02,0xc1,0x80,0x94]
+0x02,0xc1,0x80,0x94
+
+# CHECK: s_cbranch_g_fork s[2:3], 0.5 ; encoding: [0x02,0xf0,0x80,0x94]
+0x02,0xf0,0x80,0x94
+
+# CHECK: s_cbranch_g_fork s[2:3], -4.0 ; encoding: [0x02,0xf7,0x80,0x94]
+0x02,0xf7,0x80,0x94
+
+# CHECK: s_absdiff_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x95]
+0x01,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x95]
+0x01,0x02,0x65,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, s1, s2 ; encoding: [0x01,0x02,0x67,0x95]
+0x01,0x02,0x67,0x95
+
+# CHECK: s_absdiff_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x95]
+0x01,0x02,0x6a,0x95
+
+# CHECK: s_absdiff_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x95]
+0x01,0x02,0x6b,0x95
+
+# CHECK: s_absdiff_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x95]
+0x01,0x02,0x7c,0x95
+
+# CHECK: s_absdiff_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x95]
+0x01,0x02,0x7e,0x95
+
+# CHECK: s_absdiff_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x95]
+0x01,0x02,0x7f,0x95
+
+# CHECK: s_absdiff_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x95]
+0x65,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x95]
+0x66,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x95]
+0x67,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x95]
+0x6a,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x95]
+0x6b,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x95]
+0x7c,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x95]
+0x7e,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x95]
+0x7f,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x95]
+0x80,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x95]
+0xc1,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x95]
+0xf0,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x95]
+0xf7,0x02,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x95,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x95,0x56,0x34,0x12,0xaf
+
+# CHECK: s_absdiff_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x95,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x95,0x73,0x72,0x71,0x3f
+
+# CHECK: s_absdiff_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x95]
+0x01,0x65,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x95]
+0x01,0x66,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x95]
+0x01,0x67,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x95]
+0x01,0x6a,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x95]
+0x01,0x6b,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x95]
+0x01,0x7c,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x95]
+0x01,0x7e,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x95]
+0x01,0x7f,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x95]
+0x01,0x80,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x95]
+0x01,0xc1,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x95]
+0x01,0xf0,0x05,0x95
+
+# CHECK: s_absdiff_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x95]
+0x01,0xf7,0x05,0x95
+
+# 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 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f
+
+# CHECK: s_rfe_restore_b64 s[2:3], s2 ; encoding: [0x02,0x02,0x80,0x95]
+0x02,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[4:5], s2 ; encoding: [0x04,0x02,0x80,0x95]
+0x04,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[100:101], s2 ; encoding: [0x64,0x02,0x80,0x95]
+0x64,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 flat_scratch, s2 ; encoding: [0x66,0x02,0x80,0x95]
+0x66,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 vcc, s2 ; encoding: [0x6a,0x02,0x80,0x95]
+0x6a,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 exec, s2 ; encoding: [0x7e,0x02,0x80,0x95]
+0x7e,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 0, s2 ; encoding: [0x80,0x02,0x80,0x95]
+0x80,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 -1, s2 ; encoding: [0xc1,0x02,0x80,0x95]
+0xc1,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 0.5, s2 ; encoding: [0xf0,0x02,0x80,0x95]
+0xf0,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 -4.0, s2 ; encoding: [0xf7,0x02,0x80,0x95]
+0xf7,0x02,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 0xaf123456, s2 ; encoding: [0xff,0x02,0x80,0x95,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x80,0x95,0x56,0x34,0x12,0xaf
+
+# CHECK: s_rfe_restore_b64 0x3f717273, s2 ; encoding: [0xff,0x02,0x80,0x95,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x80,0x95,0x73,0x72,0x71,0x3f
+
+# CHECK: s_rfe_restore_b64 s[2:3], s101 ; encoding: [0x02,0x65,0x80,0x95]
+0x02,0x65,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x80,0x95]
+0x02,0x66,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x80,0x95]
+0x02,0x67,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], vcc_lo ; encoding: [0x02,0x6a,0x80,0x95]
+0x02,0x6a,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x80,0x95]
+0x02,0x6b,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], m0 ; encoding: [0x02,0x7c,0x80,0x95]
+0x02,0x7c,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], exec_lo ; encoding: [0x02,0x7e,0x80,0x95]
+0x02,0x7e,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], exec_hi ; encoding: [0x02,0x7f,0x80,0x95]
+0x02,0x7f,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], 0 ; encoding: [0x02,0x80,0x80,0x95]
+0x02,0x80,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], -1 ; encoding: [0x02,0xc1,0x80,0x95]
+0x02,0xc1,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], 0.5 ; encoding: [0x02,0xf0,0x80,0x95]
+0x02,0xf0,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], -4.0 ; encoding: [0x02,0xf7,0x80,0x95]
+0x02,0xf7,0x80,0x95
+
+# CHECK: s_rfe_restore_b64 s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x80,0x95,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x80,0x95,0x56,0x34,0x12,0xaf
+
+# CHECK: s_rfe_restore_b64 s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x80,0x95,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x80,0x95,0x73,0x72,0x71,0x3f
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x99]
+0x01,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x99]
+0x01,0x02,0x65,0x99
+
+# CHECK: s_pack_ll_b32_b16 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x99]
+0x01,0x02,0x66,0x99
+
+# CHECK: s_pack_ll_b32_b16 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x99]
+0x01,0x02,0x67,0x99
+
+# CHECK: s_pack_ll_b32_b16 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x99]
+0x01,0x02,0x6a,0x99
+
+# CHECK: s_pack_ll_b32_b16 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x99]
+0x01,0x02,0x6b,0x99
+
+# CHECK: s_pack_ll_b32_b16 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x99]
+0x01,0x02,0x7c,0x99
+
+# CHECK: s_pack_ll_b32_b16 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x99]
+0x01,0x02,0x7e,0x99
+
+# CHECK: s_pack_ll_b32_b16 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x99]
+0x01,0x02,0x7f,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x99]
+0x65,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x99]
+0x66,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x99]
+0x67,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x99]
+0x6a,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x99]
+0x6b,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x99]
+0x7c,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x99]
+0x7e,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x99]
+0x7f,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x99]
+0x80,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x99]
+0xc1,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x99]
+0xf0,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x99]
+0xf7,0x02,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, 0xfe0b, s2 ; encoding: [0xff,0x02,0x05,0x99,0x0b,0xfe,0x00,0x00]
+0xff,0x02,0x05,0x99,0x0b,0xfe,0x00,0x00
+
+# CHECK: s_pack_ll_b32_b16 s5, 0x3456, s2 ; encoding: [0xff,0x02,0x05,0x99,0x56,0x34,0x00,0x00]
+0xff,0x02,0x05,0x99,0x56,0x34,0x00,0x00
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x99]
+0x01,0x65,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x99]
+0x01,0x66,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x99]
+0x01,0x67,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x99]
+0x01,0x6a,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x99]
+0x01,0x6b,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x99]
+0x01,0x7c,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x99]
+0x01,0x7e,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x99]
+0x01,0x7f,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x99]
+0x01,0x80,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x99]
+0x01,0xc1,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x99]
+0x01,0xf0,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x99]
+0x01,0xf7,0x05,0x99
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, 0xfe0b ; encoding: [0x01,0xff,0x05,0x99,0x0b,0xfe,0x00,0x00]
+0x01,0xff,0x05,0x99,0x0b,0xfe,0x00,0x00
+
+# CHECK: s_pack_ll_b32_b16 s5, s1, 0x3456 ; encoding: [0x01,0xff,0x05,0x99,0x56,0x34,0x00,0x00]
+0x01,0xff,0x05,0x99,0x56,0x34,0x00,0x00
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x99]
+0x01,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x99]
+0x01,0x02,0xe5,0x99
+
+# CHECK: s_pack_lh_b32_b16 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0xe6,0x99]
+0x01,0x02,0xe6,0x99
+
+# CHECK: s_pack_lh_b32_b16 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0xe7,0x99]
+0x01,0x02,0xe7,0x99
+
+# CHECK: s_pack_lh_b32_b16 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x99]
+0x01,0x02,0xea,0x99
+
+# CHECK: s_pack_lh_b32_b16 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x99]
+0x01,0x02,0xeb,0x99
+
+# CHECK: s_pack_lh_b32_b16 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x99]
+0x01,0x02,0xfc,0x99
+
+# CHECK: s_pack_lh_b32_b16 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x99]
+0x01,0x02,0xfe,0x99
+
+# CHECK: s_pack_lh_b32_b16 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x99]
+0x01,0x02,0xff,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x99]
+0x65,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x99]
+0x66,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x99]
+0x67,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x99]
+0x6a,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x99]
+0x6b,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x99]
+0x7c,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x99]
+0x7e,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x99]
+0x7f,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x99]
+0x80,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x99]
+0xc1,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x99]
+0xf0,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x99]
+0xf7,0x02,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, 0xfe0b, s2 ; encoding: [0xff,0x02,0x85,0x99,0x0b,0xfe,0x00,0x00]
+0xff,0x02,0x85,0x99,0x0b,0xfe,0x00,0x00
+
+# CHECK: s_pack_lh_b32_b16 s5, 0x3456, s2 ; encoding: [0xff,0x02,0x85,0x99,0x56,0x34,0x00,0x00]
+0xff,0x02,0x85,0x99,0x56,0x34,0x00,0x00
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x99]
+0x01,0x65,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x99]
+0x01,0x66,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x99]
+0x01,0x67,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x99]
+0x01,0x6a,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x99]
+0x01,0x6b,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x99]
+0x01,0x7c,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x99]
+0x01,0x7e,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x99]
+0x01,0x7f,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x99]
+0x01,0x80,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x99]
+0x01,0xc1,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x99]
+0x01,0xf0,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x99]
+0x01,0xf7,0x85,0x99
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x99,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x85,0x99,0x56,0x34,0x12,0xaf
+
+# CHECK: s_pack_lh_b32_b16 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x99,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x99,0x73,0x72,0x71,0x3f
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x9a]
+0x01,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x9a]
+0x01,0x02,0x65,0x9a
+
+# CHECK: s_pack_hh_b32_b16 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x9a]
+0x01,0x02,0x66,0x9a
+
+# CHECK: s_pack_hh_b32_b16 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x9a]
+0x01,0x02,0x67,0x9a
+
+# CHECK: s_pack_hh_b32_b16 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x9a]
+0x01,0x02,0x6a,0x9a
+
+# CHECK: s_pack_hh_b32_b16 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x9a]
+0x01,0x02,0x6b,0x9a
+
+# CHECK: s_pack_hh_b32_b16 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x9a]
+0x01,0x02,0x7c,0x9a
+
+# CHECK: s_pack_hh_b32_b16 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x9a]
+0x01,0x02,0x7e,0x9a
+
+# CHECK: s_pack_hh_b32_b16 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x9a]
+0x01,0x02,0x7f,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x9a]
+0x65,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x9a]
+0x66,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x9a]
+0x67,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x9a]
+0x6a,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x9a]
+0x6b,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x9a]
+0x7c,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x9a]
+0x7e,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x9a]
+0x7f,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x9a]
+0x80,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x9a]
+0xc1,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x9a]
+0xf0,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x9a]
+0xf7,0x02,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0x9a,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0x9a,0x56,0x34,0x12,0xaf
+
+# CHECK: s_pack_hh_b32_b16 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x9a,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0x9a,0x73,0x72,0x71,0x3f
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x9a]
+0x01,0x65,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x9a]
+0x01,0x66,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x9a]
+0x01,0x67,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x9a]
+0x01,0x6a,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x9a]
+0x01,0x6b,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x9a]
+0x01,0x7c,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x9a]
+0x01,0x7e,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x9a]
+0x01,0x7f,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x9a]
+0x01,0x80,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x9a]
+0x01,0xc1,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x9a]
+0x01,0xf0,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x9a]
+0x01,0xf7,0x05,0x9a
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x9a,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x9a,0x56,0x34,0x12,0xaf
+
+# CHECK: s_pack_hh_b32_b16 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x9a,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x9a,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_eq_i32 s1, s2 ; encoding: [0x01,0x02,0x00,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x00,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x00,0xbf]
+0x6a,0x02,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x00,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x00,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x00,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x00,0xbf]
+0xf0,0x02,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x00,0xbf]
+0xf7,0x02,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x00,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x00,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_eq_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x00,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x00,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_eq_i32 s1, s101 ; encoding: [0x01,0x65,0x00,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x00,0xbf]
+0x01,0x67,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x00,0xbf]
+0x01,0x6a,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x00,0xbf]
+0x01,0x6b,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 s1, m0 ; encoding: [0x01,0x7c,0x00,0xbf]
+0x01,0x7c,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x00,0xbf]
+0x01,0x7e,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x00,0xbf]
+0x01,0x7f,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 s1, 0 ; encoding: [0x01,0x80,0x00,0xbf]
+0x01,0x80,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 s1, -1 ; encoding: [0x01,0xc1,0x00,0xbf]
+0x01,0xc1,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x00,0xbf]
+0x01,0xf0,0x00,0xbf
+
+# CHECK: s_cmp_eq_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x00,0xbf]
+0x01,0xf7,0x00,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x00,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x00,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_lg_i32 s1, s2 ; encoding: [0x01,0x02,0x01,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x01,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x01,0xbf]
+0x6a,0x02,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x01,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x01,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x01,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x01,0xbf]
+0xf0,0x02,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x01,0xbf]
+0xf7,0x02,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x01,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x01,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lg_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x01,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x01,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_lg_i32 s1, s101 ; encoding: [0x01,0x65,0x01,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x01,0xbf]
+0x01,0x67,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x01,0xbf]
+0x01,0x6a,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x01,0xbf]
+0x01,0x6b,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 s1, m0 ; encoding: [0x01,0x7c,0x01,0xbf]
+0x01,0x7c,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x01,0xbf]
+0x01,0x7e,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x01,0xbf]
+0x01,0x7f,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 s1, 0 ; encoding: [0x01,0x80,0x01,0xbf]
+0x01,0x80,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 s1, -1 ; encoding: [0x01,0xc1,0x01,0xbf]
+0x01,0xc1,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x01,0xbf]
+0x01,0xf0,0x01,0xbf
+
+# CHECK: s_cmp_lg_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x01,0xbf]
+0x01,0xf7,0x01,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x01,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x01,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_gt_i32 s1, s2 ; encoding: [0x01,0x02,0x02,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x02,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x02,0xbf]
+0x6a,0x02,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x02,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x02,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x02,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x02,0xbf]
+0xf0,0x02,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x02,0xbf]
+0xf7,0x02,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x02,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x02,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_gt_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x02,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x02,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_gt_i32 s1, s101 ; encoding: [0x01,0x65,0x02,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x02,0xbf]
+0x01,0x67,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x02,0xbf]
+0x01,0x6a,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x02,0xbf]
+0x01,0x6b,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 s1, m0 ; encoding: [0x01,0x7c,0x02,0xbf]
+0x01,0x7c,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x02,0xbf]
+0x01,0x7e,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x02,0xbf]
+0x01,0x7f,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 s1, 0 ; encoding: [0x01,0x80,0x02,0xbf]
+0x01,0x80,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 s1, -1 ; encoding: [0x01,0xc1,0x02,0xbf]
+0x01,0xc1,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x02,0xbf]
+0x01,0xf0,0x02,0xbf
+
+# CHECK: s_cmp_gt_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x02,0xbf]
+0x01,0xf7,0x02,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x02,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x02,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_ge_i32 s1, s2 ; encoding: [0x01,0x02,0x03,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x03,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x03,0xbf]
+0x6a,0x02,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x03,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x03,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x03,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x03,0xbf]
+0xf0,0x02,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x03,0xbf]
+0xf7,0x02,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x03,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x03,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_ge_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x03,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x03,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_ge_i32 s1, s101 ; encoding: [0x01,0x65,0x03,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x03,0xbf]
+0x01,0x67,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x03,0xbf]
+0x01,0x6a,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x03,0xbf]
+0x01,0x6b,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 s1, m0 ; encoding: [0x01,0x7c,0x03,0xbf]
+0x01,0x7c,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x03,0xbf]
+0x01,0x7e,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x03,0xbf]
+0x01,0x7f,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 s1, 0 ; encoding: [0x01,0x80,0x03,0xbf]
+0x01,0x80,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 s1, -1 ; encoding: [0x01,0xc1,0x03,0xbf]
+0x01,0xc1,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x03,0xbf]
+0x01,0xf0,0x03,0xbf
+
+# CHECK: s_cmp_ge_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x03,0xbf]
+0x01,0xf7,0x03,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x03,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x03,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_lt_i32 s1, s2 ; encoding: [0x01,0x02,0x04,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x04,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x04,0xbf]
+0x6a,0x02,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x04,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x04,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x04,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x04,0xbf]
+0xf0,0x02,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x04,0xbf]
+0xf7,0x02,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x04,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x04,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lt_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x04,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x04,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_lt_i32 s1, s101 ; encoding: [0x01,0x65,0x04,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x04,0xbf]
+0x01,0x67,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x04,0xbf]
+0x01,0x6a,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x04,0xbf]
+0x01,0x6b,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 s1, m0 ; encoding: [0x01,0x7c,0x04,0xbf]
+0x01,0x7c,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x04,0xbf]
+0x01,0x7e,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x04,0xbf]
+0x01,0x7f,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 s1, 0 ; encoding: [0x01,0x80,0x04,0xbf]
+0x01,0x80,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 s1, -1 ; encoding: [0x01,0xc1,0x04,0xbf]
+0x01,0xc1,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x04,0xbf]
+0x01,0xf0,0x04,0xbf
+
+# CHECK: s_cmp_lt_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x04,0xbf]
+0x01,0xf7,0x04,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x04,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x04,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_le_i32 s1, s2 ; encoding: [0x01,0x02,0x05,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x05,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x05,0xbf]
+0x6a,0x02,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x05,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x05,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x05,0xbf]
+0xf0,0x02,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x05,0xbf]
+0xf7,0x02,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 0xaf123456, s2 ; encoding: [0xff,0x02,0x05,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x05,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_le_i32 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x05,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_le_i32 s1, s101 ; encoding: [0x01,0x65,0x05,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0xbf]
+0x01,0x67,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0xbf]
+0x01,0x6a,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0xbf]
+0x01,0x6b,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 s1, m0 ; encoding: [0x01,0x7c,0x05,0xbf]
+0x01,0x7c,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x05,0xbf]
+0x01,0x7e,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x05,0xbf]
+0x01,0x7f,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 s1, 0 ; encoding: [0x01,0x80,0x05,0xbf]
+0x01,0x80,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 s1, -1 ; encoding: [0x01,0xc1,0x05,0xbf]
+0x01,0xc1,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x05,0xbf]
+0x01,0xf0,0x05,0xbf
+
+# CHECK: s_cmp_le_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x05,0xbf]
+0x01,0xf7,0x05,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_eq_u32 s1, s2 ; encoding: [0x01,0x02,0x06,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x06,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x06,0xbf]
+0x6a,0x02,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x06,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x06,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x06,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x06,0xbf]
+0xf0,0x02,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x06,0xbf]
+0xf7,0x02,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x06,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x06,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_eq_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x06,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x06,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_eq_u32 s1, s101 ; encoding: [0x01,0x65,0x06,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x06,0xbf]
+0x01,0x67,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x06,0xbf]
+0x01,0x6a,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x06,0xbf]
+0x01,0x6b,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 s1, m0 ; encoding: [0x01,0x7c,0x06,0xbf]
+0x01,0x7c,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x06,0xbf]
+0x01,0x7e,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x06,0xbf]
+0x01,0x7f,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 s1, 0 ; encoding: [0x01,0x80,0x06,0xbf]
+0x01,0x80,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 s1, -1 ; encoding: [0x01,0xc1,0x06,0xbf]
+0x01,0xc1,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x06,0xbf]
+0x01,0xf0,0x06,0xbf
+
+# CHECK: s_cmp_eq_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x06,0xbf]
+0x01,0xf7,0x06,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x06,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x06,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_lg_u32 s1, s2 ; encoding: [0x01,0x02,0x07,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x07,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x07,0xbf]
+0x6a,0x02,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x07,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x07,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x07,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x07,0xbf]
+0xf0,0x02,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x07,0xbf]
+0xf7,0x02,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x07,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x07,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lg_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x07,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x07,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_lg_u32 s1, s101 ; encoding: [0x01,0x65,0x07,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x07,0xbf]
+0x01,0x67,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x07,0xbf]
+0x01,0x6a,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x07,0xbf]
+0x01,0x6b,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 s1, m0 ; encoding: [0x01,0x7c,0x07,0xbf]
+0x01,0x7c,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x07,0xbf]
+0x01,0x7e,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x07,0xbf]
+0x01,0x7f,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 s1, 0 ; encoding: [0x01,0x80,0x07,0xbf]
+0x01,0x80,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 s1, -1 ; encoding: [0x01,0xc1,0x07,0xbf]
+0x01,0xc1,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x07,0xbf]
+0x01,0xf0,0x07,0xbf
+
+# CHECK: s_cmp_lg_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x07,0xbf]
+0x01,0xf7,0x07,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x07,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x07,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_gt_u32 s1, s2 ; encoding: [0x01,0x02,0x08,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x08,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x08,0xbf]
+0x6a,0x02,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x08,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x08,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x08,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x08,0xbf]
+0xf0,0x02,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x08,0xbf]
+0xf7,0x02,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x08,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x08,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_gt_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x08,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x08,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_gt_u32 s1, s101 ; encoding: [0x01,0x65,0x08,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x08,0xbf]
+0x01,0x67,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x08,0xbf]
+0x01,0x6a,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x08,0xbf]
+0x01,0x6b,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 s1, m0 ; encoding: [0x01,0x7c,0x08,0xbf]
+0x01,0x7c,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x08,0xbf]
+0x01,0x7e,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x08,0xbf]
+0x01,0x7f,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 s1, 0 ; encoding: [0x01,0x80,0x08,0xbf]
+0x01,0x80,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 s1, -1 ; encoding: [0x01,0xc1,0x08,0xbf]
+0x01,0xc1,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x08,0xbf]
+0x01,0xf0,0x08,0xbf
+
+# CHECK: s_cmp_gt_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x08,0xbf]
+0x01,0xf7,0x08,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x08,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x08,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_ge_u32 s1, s2 ; encoding: [0x01,0x02,0x09,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x09,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x09,0xbf]
+0x6a,0x02,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x09,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x09,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x09,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x09,0xbf]
+0xf0,0x02,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x09,0xbf]
+0xf7,0x02,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x09,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x09,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_ge_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x09,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x09,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_ge_u32 s1, s101 ; encoding: [0x01,0x65,0x09,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x09,0xbf]
+0x01,0x67,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x09,0xbf]
+0x01,0x6a,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x09,0xbf]
+0x01,0x6b,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 s1, m0 ; encoding: [0x01,0x7c,0x09,0xbf]
+0x01,0x7c,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x09,0xbf]
+0x01,0x7e,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x09,0xbf]
+0x01,0x7f,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 s1, 0 ; encoding: [0x01,0x80,0x09,0xbf]
+0x01,0x80,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 s1, -1 ; encoding: [0x01,0xc1,0x09,0xbf]
+0x01,0xc1,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x09,0xbf]
+0x01,0xf0,0x09,0xbf
+
+# CHECK: s_cmp_ge_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x09,0xbf]
+0x01,0xf7,0x09,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x09,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x09,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_lt_u32 s1, s2 ; encoding: [0x01,0x02,0x0a,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x0a,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x0a,0xbf]
+0x6a,0x02,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x0a,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x0a,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x0a,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x0a,0xbf]
+0xf0,0x02,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x0a,0xbf]
+0xf7,0x02,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x0a,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0a,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lt_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x0a,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0a,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_lt_u32 s1, s101 ; encoding: [0x01,0x65,0x0a,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x0a,0xbf]
+0x01,0x67,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x0a,0xbf]
+0x01,0x6a,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x0a,0xbf]
+0x01,0x6b,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 s1, m0 ; encoding: [0x01,0x7c,0x0a,0xbf]
+0x01,0x7c,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x0a,0xbf]
+0x01,0x7e,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x0a,0xbf]
+0x01,0x7f,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 s1, 0 ; encoding: [0x01,0x80,0x0a,0xbf]
+0x01,0x80,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 s1, -1 ; encoding: [0x01,0xc1,0x0a,0xbf]
+0x01,0xc1,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x0a,0xbf]
+0x01,0xf0,0x0a,0xbf
+
+# CHECK: s_cmp_lt_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x0a,0xbf]
+0x01,0xf7,0x0a,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x0a,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x0a,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_le_u32 s1, s2 ; encoding: [0x01,0x02,0x0b,0xbf]
+0x01,0x02,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, s2 ; encoding: [0x66,0x02,0x0b,0xbf]
+0x66,0x02,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, s2 ; encoding: [0x6a,0x02,0x0b,0xbf]
+0x6a,0x02,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x0b,0xbf]
+0x6b,0x02,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, s2 ; encoding: [0x7e,0x02,0x0b,0xbf]
+0x7e,0x02,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, s2 ; encoding: [0x80,0x02,0x0b,0xbf]
+0x80,0x02,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, s2 ; encoding: [0xf0,0x02,0x0b,0xbf]
+0xf0,0x02,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x0b,0xbf]
+0xf7,0x02,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 0xaf123456, s2 ; encoding: [0xff,0x02,0x0b,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0b,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_le_u32 0x3f717273, s2 ; encoding: [0xff,0x02,0x0b,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0b,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_cmp_le_u32 s1, s101 ; encoding: [0x01,0x65,0x0b,0xbf]
+0x01,0x65,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 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x0b,0xbf]
+0x01,0x67,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x0b,0xbf]
+0x01,0x6a,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x0b,0xbf]
+0x01,0x6b,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 s1, m0 ; encoding: [0x01,0x7c,0x0b,0xbf]
+0x01,0x7c,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x0b,0xbf]
+0x01,0x7e,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x0b,0xbf]
+0x01,0x7f,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 s1, 0 ; encoding: [0x01,0x80,0x0b,0xbf]
+0x01,0x80,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 s1, -1 ; encoding: [0x01,0xc1,0x0b,0xbf]
+0x01,0xc1,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x0b,0xbf]
+0x01,0xf0,0x0b,0xbf
+
+# CHECK: s_cmp_le_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x0b,0xbf]
+0x01,0xf7,0x0b,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x0b,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x0b,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitcmp0_b32 s1, s2 ; encoding: [0x01,0x02,0x0c,0xbf]
+0x01,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s101, s2 ; encoding: [0x65,0x02,0x0c,0xbf]
+0x65,0x02,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, s2 ; encoding: [0x67,0x02,0x0c,0xbf]
+0x67,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x0c,0xbf]
+0x6a,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x0c,0xbf]
+0x6b,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 m0, s2 ; encoding: [0x7c,0x02,0x0c,0xbf]
+0x7c,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 exec_lo, s2 ; encoding: [0x7e,0x02,0x0c,0xbf]
+0x7e,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 exec_hi, s2 ; encoding: [0x7f,0x02,0x0c,0xbf]
+0x7f,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 0, s2 ; encoding: [0x80,0x02,0x0c,0xbf]
+0x80,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 -1, s2 ; encoding: [0xc1,0x02,0x0c,0xbf]
+0xc1,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 0.5, s2 ; encoding: [0xf0,0x02,0x0c,0xbf]
+0xf0,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 -4.0, s2 ; encoding: [0xf7,0x02,0x0c,0xbf]
+0xf7,0x02,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 0xaf123456, s2 ; encoding: [0xff,0x02,0x0c,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0c,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bitcmp0_b32 0x3f717273, s2 ; encoding: [0xff,0x02,0x0c,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0c,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitcmp0_b32 s1, s101 ; encoding: [0x01,0x65,0x0c,0xbf]
+0x01,0x65,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x0c,0xbf]
+0x01,0x66,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x0c,0xbf]
+0x01,0x67,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, vcc_lo ; encoding: [0x01,0x6a,0x0c,0xbf]
+0x01,0x6a,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, vcc_hi ; encoding: [0x01,0x6b,0x0c,0xbf]
+0x01,0x6b,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, m0 ; encoding: [0x01,0x7c,0x0c,0xbf]
+0x01,0x7c,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, exec_lo ; encoding: [0x01,0x7e,0x0c,0xbf]
+0x01,0x7e,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, exec_hi ; encoding: [0x01,0x7f,0x0c,0xbf]
+0x01,0x7f,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, 0 ; encoding: [0x01,0x80,0x0c,0xbf]
+0x01,0x80,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, -1 ; encoding: [0x01,0xc1,0x0c,0xbf]
+0x01,0xc1,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, 0.5 ; encoding: [0x01,0xf0,0x0c,0xbf]
+0x01,0xf0,0x0c,0xbf
+
+# CHECK: s_bitcmp0_b32 s1, -4.0 ; encoding: [0x01,0xf7,0x0c,0xbf]
+0x01,0xf7,0x0c,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x0c,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x0c,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitcmp1_b32 s1, s2 ; encoding: [0x01,0x02,0x0d,0xbf]
+0x01,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s101, s2 ; encoding: [0x65,0x02,0x0d,0xbf]
+0x65,0x02,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, s2 ; encoding: [0x67,0x02,0x0d,0xbf]
+0x67,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x0d,0xbf]
+0x6a,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x0d,0xbf]
+0x6b,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 m0, s2 ; encoding: [0x7c,0x02,0x0d,0xbf]
+0x7c,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 exec_lo, s2 ; encoding: [0x7e,0x02,0x0d,0xbf]
+0x7e,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 exec_hi, s2 ; encoding: [0x7f,0x02,0x0d,0xbf]
+0x7f,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 0, s2 ; encoding: [0x80,0x02,0x0d,0xbf]
+0x80,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 -1, s2 ; encoding: [0xc1,0x02,0x0d,0xbf]
+0xc1,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 0.5, s2 ; encoding: [0xf0,0x02,0x0d,0xbf]
+0xf0,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 -4.0, s2 ; encoding: [0xf7,0x02,0x0d,0xbf]
+0xf7,0x02,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 0xaf123456, s2 ; encoding: [0xff,0x02,0x0d,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0d,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bitcmp1_b32 0x3f717273, s2 ; encoding: [0xff,0x02,0x0d,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0d,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitcmp1_b32 s1, s101 ; encoding: [0x01,0x65,0x0d,0xbf]
+0x01,0x65,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x0d,0xbf]
+0x01,0x66,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x0d,0xbf]
+0x01,0x67,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, vcc_lo ; encoding: [0x01,0x6a,0x0d,0xbf]
+0x01,0x6a,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, vcc_hi ; encoding: [0x01,0x6b,0x0d,0xbf]
+0x01,0x6b,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, m0 ; encoding: [0x01,0x7c,0x0d,0xbf]
+0x01,0x7c,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, exec_lo ; encoding: [0x01,0x7e,0x0d,0xbf]
+0x01,0x7e,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, exec_hi ; encoding: [0x01,0x7f,0x0d,0xbf]
+0x01,0x7f,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, 0 ; encoding: [0x01,0x80,0x0d,0xbf]
+0x01,0x80,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, -1 ; encoding: [0x01,0xc1,0x0d,0xbf]
+0x01,0xc1,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, 0.5 ; encoding: [0x01,0xf0,0x0d,0xbf]
+0x01,0xf0,0x0d,0xbf
+
+# CHECK: s_bitcmp1_b32 s1, -4.0 ; encoding: [0x01,0xf7,0x0d,0xbf]
+0x01,0xf7,0x0d,0xbf
+
+# 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 s1, 0x3f717273 ; encoding: [0x01,0xff,0x0d,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x0d,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitcmp0_b64 s[2:3], s2 ; encoding: [0x02,0x02,0x0e,0xbf]
+0x02,0x02,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], s2 ; encoding: [0x64,0x02,0x0e,0xbf]
+0x64,0x02,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 flat_scratch, s2 ; encoding: [0x66,0x02,0x0e,0xbf]
+0x66,0x02,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 vcc, s2 ; encoding: [0x6a,0x02,0x0e,0xbf]
+0x6a,0x02,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 exec, s2 ; encoding: [0x7e,0x02,0x0e,0xbf]
+0x7e,0x02,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 0, s2 ; encoding: [0x80,0x02,0x0e,0xbf]
+0x80,0x02,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 -1, s2 ; encoding: [0xc1,0x02,0x0e,0xbf]
+0xc1,0x02,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 0.5, s2 ; encoding: [0xf0,0x02,0x0e,0xbf]
+0xf0,0x02,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 -4.0, s2 ; encoding: [0xf7,0x02,0x0e,0xbf]
+0xf7,0x02,0x0e,0xbf
+
+# 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, s2 ; encoding: [0xff,0x02,0x0e,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0e,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitcmp0_b64 s[2:3], s101 ; encoding: [0x02,0x65,0x0e,0xbf]
+0x02,0x65,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[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x0e,0xbf]
+0x02,0x67,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[2:3], vcc_hi ; encoding: [0x02,0x6b,0x0e,0xbf]
+0x02,0x6b,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 s[2:3], m0 ; encoding: [0x02,0x7c,0x0e,0xbf]
+0x02,0x7c,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[2:3], exec_hi ; encoding: [0x02,0x7f,0x0e,0xbf]
+0x02,0x7f,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 s[2:3], 0 ; encoding: [0x02,0x80,0x0e,0xbf]
+0x02,0x80,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 s[2:3], -1 ; encoding: [0x02,0xc1,0x0e,0xbf]
+0x02,0xc1,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[2:3], -4.0 ; encoding: [0x02,0xf7,0x0e,0xbf]
+0x02,0xf7,0x0e,0xbf
+
+# CHECK: s_bitcmp0_b64 s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x0e,0xbf,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x0e,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bitcmp0_b64 s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x0e,0xbf,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x0e,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitcmp1_b64 s[2:3], s2 ; encoding: [0x02,0x02,0x0f,0xbf]
+0x02,0x02,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], s2 ; encoding: [0x64,0x02,0x0f,0xbf]
+0x64,0x02,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 flat_scratch, s2 ; encoding: [0x66,0x02,0x0f,0xbf]
+0x66,0x02,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 vcc, s2 ; encoding: [0x6a,0x02,0x0f,0xbf]
+0x6a,0x02,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 exec, s2 ; encoding: [0x7e,0x02,0x0f,0xbf]
+0x7e,0x02,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 0, s2 ; encoding: [0x80,0x02,0x0f,0xbf]
+0x80,0x02,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 -1, s2 ; encoding: [0xc1,0x02,0x0f,0xbf]
+0xc1,0x02,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 0.5, s2 ; encoding: [0xf0,0x02,0x0f,0xbf]
+0xf0,0x02,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 -4.0, s2 ; encoding: [0xf7,0x02,0x0f,0xbf]
+0xf7,0x02,0x0f,0xbf
+
+# 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, s2 ; encoding: [0xff,0x02,0x0f,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0f,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_bitcmp1_b64 s[2:3], s101 ; encoding: [0x02,0x65,0x0f,0xbf]
+0x02,0x65,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[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x0f,0xbf]
+0x02,0x67,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[2:3], vcc_hi ; encoding: [0x02,0x6b,0x0f,0xbf]
+0x02,0x6b,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 s[2:3], m0 ; encoding: [0x02,0x7c,0x0f,0xbf]
+0x02,0x7c,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[2:3], exec_hi ; encoding: [0x02,0x7f,0x0f,0xbf]
+0x02,0x7f,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 s[2:3], 0 ; encoding: [0x02,0x80,0x0f,0xbf]
+0x02,0x80,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 s[2:3], -1 ; encoding: [0x02,0xc1,0x0f,0xbf]
+0x02,0xc1,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[2:3], -4.0 ; encoding: [0x02,0xf7,0x0f,0xbf]
+0x02,0xf7,0x0f,0xbf
+
+# CHECK: s_bitcmp1_b64 s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x0f,0xbf,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x0f,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_bitcmp1_b64 s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x0f,0xbf,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x0f,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_setvskip s1, s2 ; encoding: [0x01,0x02,0x10,0xbf]
+0x01,0x02,0x10,0xbf
+
+# CHECK: s_setvskip s101, s2 ; encoding: [0x65,0x02,0x10,0xbf]
+0x65,0x02,0x10,0xbf
+
+# CHECK: s_setvskip flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x10,0xbf]
+0x66,0x02,0x10,0xbf
+
+# CHECK: s_setvskip flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x10,0xbf]
+0x67,0x02,0x10,0xbf
+
+# CHECK: s_setvskip vcc_lo, s2 ; encoding: [0x6a,0x02,0x10,0xbf]
+0x6a,0x02,0x10,0xbf
+
+# CHECK: s_setvskip vcc_hi, s2 ; encoding: [0x6b,0x02,0x10,0xbf]
+0x6b,0x02,0x10,0xbf
+
+# CHECK: s_setvskip m0, s2 ; encoding: [0x7c,0x02,0x10,0xbf]
+0x7c,0x02,0x10,0xbf
+
+# CHECK: s_setvskip exec_lo, s2 ; encoding: [0x7e,0x02,0x10,0xbf]
+0x7e,0x02,0x10,0xbf
+
+# CHECK: s_setvskip exec_hi, s2 ; encoding: [0x7f,0x02,0x10,0xbf]
+0x7f,0x02,0x10,0xbf
+
+# CHECK: s_setvskip 0, s2 ; encoding: [0x80,0x02,0x10,0xbf]
+0x80,0x02,0x10,0xbf
+
+# CHECK: s_setvskip -1, s2 ; encoding: [0xc1,0x02,0x10,0xbf]
+0xc1,0x02,0x10,0xbf
+
+# CHECK: s_setvskip 0.5, s2 ; encoding: [0xf0,0x02,0x10,0xbf]
+0xf0,0x02,0x10,0xbf
+
+# CHECK: s_setvskip -4.0, s2 ; encoding: [0xf7,0x02,0x10,0xbf]
+0xf7,0x02,0x10,0xbf
+
+# CHECK: s_setvskip 0xaf123456, s2 ; encoding: [0xff,0x02,0x10,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x10,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_setvskip 0x3f717273, s2 ; encoding: [0xff,0x02,0x10,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x10,0xbf,0x73,0x72,0x71,0x3f
+
+# CHECK: s_setvskip s1, s101 ; encoding: [0x01,0x65,0x10,0xbf]
+0x01,0x65,0x10,0xbf
+
+# CHECK: s_setvskip s1, flat_scratch_lo ; encoding: [0x01,0x66,0x10,0xbf]
+0x01,0x66,0x10,0xbf
+
+# CHECK: s_setvskip s1, flat_scratch_hi ; encoding: [0x01,0x67,0x10,0xbf]
+0x01,0x67,0x10,0xbf
+
+# CHECK: s_setvskip s1, vcc_lo ; encoding: [0x01,0x6a,0x10,0xbf]
+0x01,0x6a,0x10,0xbf
+
+# CHECK: s_setvskip s1, vcc_hi ; encoding: [0x01,0x6b,0x10,0xbf]
+0x01,0x6b,0x10,0xbf
+
+# CHECK: s_setvskip s1, m0 ; encoding: [0x01,0x7c,0x10,0xbf]
+0x01,0x7c,0x10,0xbf
+
+# CHECK: s_setvskip s1, exec_lo ; encoding: [0x01,0x7e,0x10,0xbf]
+0x01,0x7e,0x10,0xbf
+
+# CHECK: s_setvskip s1, exec_hi ; encoding: [0x01,0x7f,0x10,0xbf]
+0x01,0x7f,0x10,0xbf
+
+# CHECK: s_setvskip s1, 0 ; encoding: [0x01,0x80,0x10,0xbf]
+0x01,0x80,0x10,0xbf
+
+# CHECK: s_setvskip s1, -1 ; encoding: [0x01,0xc1,0x10,0xbf]
+0x01,0xc1,0x10,0xbf
+
+# CHECK: s_setvskip s1, 0.5 ; encoding: [0x01,0xf0,0x10,0xbf]
+0x01,0xf0,0x10,0xbf
+
+# CHECK: s_setvskip s1, -4.0 ; encoding: [0x01,0xf7,0x10,0xbf]
+0x01,0xf7,0x10,0xbf
+
+# 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 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[2:3], s[4:5] ; encoding: [0x02,0x04,0x12,0xbf]
+0x02,0x04,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[4:5] ; encoding: [0x64,0x04,0x12,0xbf]
+0x64,0x04,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[4:5] ; encoding: [0x6a,0x04,0x12,0xbf]
+0x6a,0x04,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[4:5] ; encoding: [0x80,0x04,0x12,0xbf]
+0x80,0x04,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[4:5] ; encoding: [0xf0,0x04,0x12,0xbf]
+0xf0,0x04,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 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x12,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x12,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_eq_u64 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x12,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x12,0xbf,0x73,0x72,0x71,0x3f
+
+# 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[2:3], s[100:101] ; encoding: [0x02,0x64,0x12,0xbf]
+0x02,0x64,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[2:3], vcc ; encoding: [0x02,0x6a,0x12,0xbf]
+0x02,0x6a,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[2:3], 0 ; encoding: [0x02,0x80,0x12,0xbf]
+0x02,0x80,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[2:3], 0.5 ; encoding: [0x02,0xf0,0x12,0xbf]
+0x02,0xf0,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[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[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[2:3], s[4:5] ; encoding: [0x02,0x04,0x13,0xbf]
+0x02,0x04,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[4:5] ; encoding: [0x64,0x04,0x13,0xbf]
+0x64,0x04,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[4:5] ; encoding: [0x6a,0x04,0x13,0xbf]
+0x6a,0x04,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[4:5] ; encoding: [0x80,0x04,0x13,0xbf]
+0x80,0x04,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[4:5] ; encoding: [0xf0,0x04,0x13,0xbf]
+0xf0,0x04,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 0xaf123456, s[4:5] ; encoding: [0xff,0x04,0x13,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x13,0xbf,0x56,0x34,0x12,0xaf
+
+# CHECK: s_cmp_lg_u64 0x3f717273, s[4:5] ; encoding: [0xff,0x04,0x13,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x13,0xbf,0x73,0x72,0x71,0x3f
+
+# 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[2:3], s[100:101] ; encoding: [0x02,0x64,0x13,0xbf]
+0x02,0x64,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[2:3], vcc ; encoding: [0x02,0x6a,0x13,0xbf]
+0x02,0x6a,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[2:3], 0 ; encoding: [0x02,0x80,0x13,0xbf]
+0x02,0x80,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[2:3], 0.5 ; encoding: [0x02,0xf0,0x13,0xbf]
+0x02,0xf0,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[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[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x13,0xbf,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x13,0xbf,0x73,0x72,0x71,0x3f
+
+# 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
+
+# CHECK: s_movk_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0x66,0xb0]
+0x41,0x31,0x66,0xb0
+
+# CHECK: s_movk_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0x67,0xb0]
+0x41,0x31,0x67,0xb0
+
+# CHECK: s_movk_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0x6a,0xb0]
+0x41,0x31,0x6a,0xb0
+
+# CHECK: s_movk_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0x6b,0xb0]
+0x41,0x31,0x6b,0xb0
+
+# CHECK: s_movk_i32 m0, 0x3141 ; encoding: [0x41,0x31,0x7c,0xb0]
+0x41,0x31,0x7c,0xb0
+
+# CHECK: s_movk_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0x7e,0xb0]
+0x41,0x31,0x7e,0xb0
+
+# CHECK: s_movk_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb0]
+0x41,0x31,0x7f,0xb0
+
+# CHECK: s_movk_i32 s5, 0xc1d1 ; encoding: [0xd1,0xc1,0x05,0xb0]
+0xd1,0xc1,0x05,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
+
+# CHECK: s_cmovk_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0xe6,0xb0]
+0x41,0x31,0xe6,0xb0
+
+# CHECK: s_cmovk_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0xe7,0xb0]
+0x41,0x31,0xe7,0xb0
+
+# CHECK: s_cmovk_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0xea,0xb0]
+0x41,0x31,0xea,0xb0
+
+# CHECK: s_cmovk_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0xeb,0xb0]
+0x41,0x31,0xeb,0xb0
+
+# CHECK: s_cmovk_i32 m0, 0x3141 ; encoding: [0x41,0x31,0xfc,0xb0]
+0x41,0x31,0xfc,0xb0
+
+# CHECK: s_cmovk_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0xfe,0xb0]
+0x41,0x31,0xfe,0xb0
+
+# CHECK: s_cmovk_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb0]
+0x41,0x31,0xff,0xb0
+
+# CHECK: s_cmovk_i32 s5, 0xc1d1 ; encoding: [0xd1,0xc1,0x85,0xb0]
+0xd1,0xc1,0x85,0xb0
+
+# 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
+
+# CHECK: s_cmpk_eq_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0x66,0xb1]
+0x41,0x31,0x66,0xb1
+
+# CHECK: s_cmpk_eq_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0x67,0xb1]
+0x41,0x31,0x67,0xb1
+
+# CHECK: s_cmpk_eq_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0x6a,0xb1]
+0x41,0x31,0x6a,0xb1
+
+# CHECK: s_cmpk_eq_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0x6b,0xb1]
+0x41,0x31,0x6b,0xb1
+
+# CHECK: s_cmpk_eq_i32 m0, 0x3141 ; encoding: [0x41,0x31,0x7c,0xb1]
+0x41,0x31,0x7c,0xb1
+
+# CHECK: s_cmpk_eq_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0x7e,0xb1]
+0x41,0x31,0x7e,0xb1
+
+# CHECK: s_cmpk_eq_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb1]
+0x41,0x31,0x7f,0xb1
+
+# CHECK: s_cmpk_eq_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb1]
+0xd1,0xc1,0x01,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
+
+# CHECK: s_cmpk_lg_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0xe6,0xb1]
+0x41,0x31,0xe6,0xb1
+
+# CHECK: s_cmpk_lg_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0xe7,0xb1]
+0x41,0x31,0xe7,0xb1
+
+# CHECK: s_cmpk_lg_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0xea,0xb1]
+0x41,0x31,0xea,0xb1
+
+# CHECK: s_cmpk_lg_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0xeb,0xb1]
+0x41,0x31,0xeb,0xb1
+
+# CHECK: s_cmpk_lg_i32 m0, 0x3141 ; encoding: [0x41,0x31,0xfc,0xb1]
+0x41,0x31,0xfc,0xb1
+
+# CHECK: s_cmpk_lg_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0xfe,0xb1]
+0x41,0x31,0xfe,0xb1
+
+# CHECK: s_cmpk_lg_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb1]
+0x41,0x31,0xff,0xb1
+
+# CHECK: s_cmpk_lg_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb1]
+0xd1,0xc1,0x81,0xb1
+
+# 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
+
+# CHECK: s_cmpk_gt_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0x66,0xb2]
+0x41,0x31,0x66,0xb2
+
+# CHECK: s_cmpk_gt_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0x67,0xb2]
+0x41,0x31,0x67,0xb2
+
+# CHECK: s_cmpk_gt_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0x6a,0xb2]
+0x41,0x31,0x6a,0xb2
+
+# CHECK: s_cmpk_gt_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0x6b,0xb2]
+0x41,0x31,0x6b,0xb2
+
+# CHECK: s_cmpk_gt_i32 m0, 0x3141 ; encoding: [0x41,0x31,0x7c,0xb2]
+0x41,0x31,0x7c,0xb2
+
+# CHECK: s_cmpk_gt_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0x7e,0xb2]
+0x41,0x31,0x7e,0xb2
+
+# CHECK: s_cmpk_gt_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb2]
+0x41,0x31,0x7f,0xb2
+
+# CHECK: s_cmpk_gt_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb2]
+0xd1,0xc1,0x01,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
+
+# CHECK: s_cmpk_ge_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0xe6,0xb2]
+0x41,0x31,0xe6,0xb2
+
+# CHECK: s_cmpk_ge_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0xe7,0xb2]
+0x41,0x31,0xe7,0xb2
+
+# CHECK: s_cmpk_ge_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0xea,0xb2]
+0x41,0x31,0xea,0xb2
+
+# CHECK: s_cmpk_ge_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0xeb,0xb2]
+0x41,0x31,0xeb,0xb2
+
+# CHECK: s_cmpk_ge_i32 m0, 0x3141 ; encoding: [0x41,0x31,0xfc,0xb2]
+0x41,0x31,0xfc,0xb2
+
+# CHECK: s_cmpk_ge_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0xfe,0xb2]
+0x41,0x31,0xfe,0xb2
+
+# CHECK: s_cmpk_ge_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb2]
+0x41,0x31,0xff,0xb2
+
+# CHECK: s_cmpk_ge_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb2]
+0xd1,0xc1,0x81,0xb2
+
+# 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
+
+# CHECK: s_cmpk_lt_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0x66,0xb3]
+0x41,0x31,0x66,0xb3
+
+# CHECK: s_cmpk_lt_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0x67,0xb3]
+0x41,0x31,0x67,0xb3
+
+# CHECK: s_cmpk_lt_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0x6a,0xb3]
+0x41,0x31,0x6a,0xb3
+
+# CHECK: s_cmpk_lt_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0x6b,0xb3]
+0x41,0x31,0x6b,0xb3
+
+# CHECK: s_cmpk_lt_i32 m0, 0x3141 ; encoding: [0x41,0x31,0x7c,0xb3]
+0x41,0x31,0x7c,0xb3
+
+# CHECK: s_cmpk_lt_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0x7e,0xb3]
+0x41,0x31,0x7e,0xb3
+
+# CHECK: s_cmpk_lt_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb3]
+0x41,0x31,0x7f,0xb3
+
+# CHECK: s_cmpk_lt_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb3]
+0xd1,0xc1,0x01,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
+
+# CHECK: s_cmpk_le_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0xe6,0xb3]
+0x41,0x31,0xe6,0xb3
+
+# CHECK: s_cmpk_le_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0xe7,0xb3]
+0x41,0x31,0xe7,0xb3
+
+# CHECK: s_cmpk_le_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0xea,0xb3]
+0x41,0x31,0xea,0xb3
+
+# CHECK: s_cmpk_le_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0xeb,0xb3]
+0x41,0x31,0xeb,0xb3
+
+# CHECK: s_cmpk_le_i32 m0, 0x3141 ; encoding: [0x41,0x31,0xfc,0xb3]
+0x41,0x31,0xfc,0xb3
+
+# CHECK: s_cmpk_le_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0xfe,0xb3]
+0x41,0x31,0xfe,0xb3
+
+# CHECK: s_cmpk_le_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb3]
+0x41,0x31,0xff,0xb3
+
+# CHECK: s_cmpk_le_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb3]
+0xd1,0xc1,0x81,0xb3
+
+# 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
+
+# CHECK: s_cmpk_eq_u32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0x66,0xb4]
+0x41,0x31,0x66,0xb4
+
+# CHECK: s_cmpk_eq_u32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0x67,0xb4]
+0x41,0x31,0x67,0xb4
+
+# CHECK: s_cmpk_eq_u32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0x6a,0xb4]
+0x41,0x31,0x6a,0xb4
+
+# CHECK: s_cmpk_eq_u32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0x6b,0xb4]
+0x41,0x31,0x6b,0xb4
+
+# CHECK: s_cmpk_eq_u32 m0, 0x3141 ; encoding: [0x41,0x31,0x7c,0xb4]
+0x41,0x31,0x7c,0xb4
+
+# CHECK: s_cmpk_eq_u32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0x7e,0xb4]
+0x41,0x31,0x7e,0xb4
+
+# CHECK: s_cmpk_eq_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb4]
+0x41,0x31,0x7f,0xb4
+
+# CHECK: s_cmpk_eq_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb4]
+0xd1,0xc1,0x01,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
+
+# CHECK: s_cmpk_lg_u32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0xe6,0xb4]
+0x41,0x31,0xe6,0xb4
+
+# CHECK: s_cmpk_lg_u32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0xe7,0xb4]
+0x41,0x31,0xe7,0xb4
+
+# CHECK: s_cmpk_lg_u32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0xea,0xb4]
+0x41,0x31,0xea,0xb4
+
+# CHECK: s_cmpk_lg_u32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0xeb,0xb4]
+0x41,0x31,0xeb,0xb4
+
+# CHECK: s_cmpk_lg_u32 m0, 0x3141 ; encoding: [0x41,0x31,0xfc,0xb4]
+0x41,0x31,0xfc,0xb4
+
+# CHECK: s_cmpk_lg_u32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0xfe,0xb4]
+0x41,0x31,0xfe,0xb4
+
+# CHECK: s_cmpk_lg_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb4]
+0x41,0x31,0xff,0xb4
+
+# CHECK: s_cmpk_lg_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb4]
+0xd1,0xc1,0x81,0xb4
+
+# 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
+
+# CHECK: s_cmpk_gt_u32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0x66,0xb5]
+0x41,0x31,0x66,0xb5
+
+# CHECK: s_cmpk_gt_u32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0x67,0xb5]
+0x41,0x31,0x67,0xb5
+
+# CHECK: s_cmpk_gt_u32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0x6a,0xb5]
+0x41,0x31,0x6a,0xb5
+
+# CHECK: s_cmpk_gt_u32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0x6b,0xb5]
+0x41,0x31,0x6b,0xb5
+
+# CHECK: s_cmpk_gt_u32 m0, 0x3141 ; encoding: [0x41,0x31,0x7c,0xb5]
+0x41,0x31,0x7c,0xb5
+
+# CHECK: s_cmpk_gt_u32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0x7e,0xb5]
+0x41,0x31,0x7e,0xb5
+
+# CHECK: s_cmpk_gt_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb5]
+0x41,0x31,0x7f,0xb5
+
+# CHECK: s_cmpk_gt_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb5]
+0xd1,0xc1,0x01,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
+
+# CHECK: s_cmpk_ge_u32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0xe6,0xb5]
+0x41,0x31,0xe6,0xb5
+
+# CHECK: s_cmpk_ge_u32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0xe7,0xb5]
+0x41,0x31,0xe7,0xb5
+
+# CHECK: s_cmpk_ge_u32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0xea,0xb5]
+0x41,0x31,0xea,0xb5
+
+# CHECK: s_cmpk_ge_u32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0xeb,0xb5]
+0x41,0x31,0xeb,0xb5
+
+# CHECK: s_cmpk_ge_u32 m0, 0x3141 ; encoding: [0x41,0x31,0xfc,0xb5]
+0x41,0x31,0xfc,0xb5
+
+# CHECK: s_cmpk_ge_u32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0xfe,0xb5]
+0x41,0x31,0xfe,0xb5
+
+# CHECK: s_cmpk_ge_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb5]
+0x41,0x31,0xff,0xb5
+
+# CHECK: s_cmpk_ge_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb5]
+0xd1,0xc1,0x81,0xb5
+
+# 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
+
+# CHECK: s_cmpk_lt_u32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0x66,0xb6]
+0x41,0x31,0x66,0xb6
+
+# CHECK: s_cmpk_lt_u32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0x67,0xb6]
+0x41,0x31,0x67,0xb6
+
+# CHECK: s_cmpk_lt_u32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0x6a,0xb6]
+0x41,0x31,0x6a,0xb6
+
+# CHECK: s_cmpk_lt_u32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0x6b,0xb6]
+0x41,0x31,0x6b,0xb6
+
+# CHECK: s_cmpk_lt_u32 m0, 0x3141 ; encoding: [0x41,0x31,0x7c,0xb6]
+0x41,0x31,0x7c,0xb6
+
+# CHECK: s_cmpk_lt_u32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0x7e,0xb6]
+0x41,0x31,0x7e,0xb6
+
+# CHECK: s_cmpk_lt_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb6]
+0x41,0x31,0x7f,0xb6
+
+# CHECK: s_cmpk_lt_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb6]
+0xd1,0xc1,0x01,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
+
+# CHECK: s_cmpk_le_u32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0xe6,0xb6]
+0x41,0x31,0xe6,0xb6
+
+# CHECK: s_cmpk_le_u32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0xe7,0xb6]
+0x41,0x31,0xe7,0xb6
+
+# CHECK: s_cmpk_le_u32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0xea,0xb6]
+0x41,0x31,0xea,0xb6
+
+# CHECK: s_cmpk_le_u32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0xeb,0xb6]
+0x41,0x31,0xeb,0xb6
+
+# CHECK: s_cmpk_le_u32 m0, 0x3141 ; encoding: [0x41,0x31,0xfc,0xb6]
+0x41,0x31,0xfc,0xb6
+
+# CHECK: s_cmpk_le_u32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0xfe,0xb6]
+0x41,0x31,0xfe,0xb6
+
+# CHECK: s_cmpk_le_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb6]
+0x41,0x31,0xff,0xb6
+
+# CHECK: s_cmpk_le_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb6]
+0xd1,0xc1,0x81,0xb6
+
+# 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
+
+# CHECK: s_addk_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0x66,0xb7]
+0x41,0x31,0x66,0xb7
+
+# CHECK: s_addk_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0x67,0xb7]
+0x41,0x31,0x67,0xb7
+
+# CHECK: s_addk_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0x6a,0xb7]
+0x41,0x31,0x6a,0xb7
+
+# CHECK: s_addk_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0x6b,0xb7]
+0x41,0x31,0x6b,0xb7
+
+# CHECK: s_addk_i32 m0, 0x3141 ; encoding: [0x41,0x31,0x7c,0xb7]
+0x41,0x31,0x7c,0xb7
+
+# CHECK: s_addk_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0x7e,0xb7]
+0x41,0x31,0x7e,0xb7
+
+# CHECK: s_addk_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb7]
+0x41,0x31,0x7f,0xb7
+
+# CHECK: s_addk_i32 s5, 0xc1d1 ; encoding: [0xd1,0xc1,0x05,0xb7]
+0xd1,0xc1,0x05,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
+
+# CHECK: s_mulk_i32 flat_scratch_lo, 0x3141 ; encoding: [0x41,0x31,0xe6,0xb7]
+0x41,0x31,0xe6,0xb7
+
+# CHECK: s_mulk_i32 flat_scratch_hi, 0x3141 ; encoding: [0x41,0x31,0xe7,0xb7]
+0x41,0x31,0xe7,0xb7
+
+# CHECK: s_mulk_i32 vcc_lo, 0x3141 ; encoding: [0x41,0x31,0xea,0xb7]
+0x41,0x31,0xea,0xb7
+
+# CHECK: s_mulk_i32 vcc_hi, 0x3141 ; encoding: [0x41,0x31,0xeb,0xb7]
+0x41,0x31,0xeb,0xb7
+
+# CHECK: s_mulk_i32 m0, 0x3141 ; encoding: [0x41,0x31,0xfc,0xb7]
+0x41,0x31,0xfc,0xb7
+
+# CHECK: s_mulk_i32 exec_lo, 0x3141 ; encoding: [0x41,0x31,0xfe,0xb7]
+0x41,0x31,0xfe,0xb7
+
+# CHECK: s_mulk_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb7]
+0x41,0x31,0xff,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
+
+# CHECK: s_nop 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xbf]
+0xd1,0xc1,0x80,0xbf
+
+# CHECK: s_endpgm ; encoding: [0x00,0x00,0x81,0xbf]
+0x00,0x00,0x81,0xbf
+
+# CHECK: s_branch 12609 ; encoding: [0x41,0x31,0x82,0xbf]
+0x41,0x31,0x82,0xbf
+
+# CHECK: s_branch 49617 ; encoding: [0xd1,0xc1,0x82,0xbf]
+0xd1,0xc1,0x82,0xbf
+
+# CHECK: s_wakeup ; encoding: [0x00,0x00,0x83,0xbf]
+0x00,0x00,0x83,0xbf
+
+# CHECK: s_cbranch_scc0 12609 ; encoding: [0x41,0x31,0x84,0xbf]
+0x41,0x31,0x84,0xbf
+
+# CHECK: s_cbranch_scc0 49617 ; encoding: [0xd1,0xc1,0x84,0xbf]
+0xd1,0xc1,0x84,0xbf
+
+# CHECK: s_cbranch_scc1 12609 ; encoding: [0x41,0x31,0x85,0xbf]
+0x41,0x31,0x85,0xbf
+
+# CHECK: s_cbranch_scc1 49617 ; encoding: [0xd1,0xc1,0x85,0xbf]
+0xd1,0xc1,0x85,0xbf
+
+# CHECK: s_cbranch_vccz 12609 ; encoding: [0x41,0x31,0x86,0xbf]
+0x41,0x31,0x86,0xbf
+
+# CHECK: s_cbranch_vccz 49617 ; encoding: [0xd1,0xc1,0x86,0xbf]
+0xd1,0xc1,0x86,0xbf
+
+# CHECK: s_cbranch_vccnz 12609 ; encoding: [0x41,0x31,0x87,0xbf]
+0x41,0x31,0x87,0xbf
+
+# CHECK: s_cbranch_vccnz 49617 ; encoding: [0xd1,0xc1,0x87,0xbf]
+0xd1,0xc1,0x87,0xbf
+
+# CHECK: s_cbranch_execz 12609 ; encoding: [0x41,0x31,0x88,0xbf]
+0x41,0x31,0x88,0xbf
+
+# CHECK: s_cbranch_execz 49617 ; encoding: [0xd1,0xc1,0x88,0xbf]
+0xd1,0xc1,0x88,0xbf
+
+# CHECK: s_cbranch_execnz 12609 ; encoding: [0x41,0x31,0x89,0xbf]
+0x41,0x31,0x89,0xbf
+
+# CHECK: s_cbranch_execnz 49617 ; encoding: [0xd1,0xc1,0x89,0xbf]
+0xd1,0xc1,0x89,0xbf
+
+# CHECK: s_barrier ; encoding: [0x00,0x00,0x8a,0xbf]
+0x00,0x00,0x8a,0xbf
+
+# CHECK: s_setkill 0x3141 ; encoding: [0x41,0x31,0x8b,0xbf]
+0x41,0x31,0x8b,0xbf
+
+# CHECK: s_setkill 0xc1d1 ; encoding: [0xd1,0xc1,0x8b,0xbf]
+0xd1,0xc1,0x8b,0xbf
+
+# CHECK: s_sethalt 0x3141 ; encoding: [0x41,0x31,0x8d,0xbf]
+0x41,0x31,0x8d,0xbf
+
+# CHECK: s_sethalt 0xc1d1 ; encoding: [0xd1,0xc1,0x8d,0xbf]
+0xd1,0xc1,0x8d,0xbf
+
+# CHECK: s_sleep 0x3141 ; encoding: [0x41,0x31,0x8e,0xbf]
+0x41,0x31,0x8e,0xbf
+
+# CHECK: s_sleep 0xc1d1 ; encoding: [0xd1,0xc1,0x8e,0xbf]
+0xd1,0xc1,0x8e,0xbf
+
+# CHECK: s_setprio 0x3141 ; encoding: [0x41,0x31,0x8f,0xbf]
+0x41,0x31,0x8f,0xbf
+
+# CHECK: s_setprio 0xc1d1 ; encoding: [0xd1,0xc1,0x8f,0xbf]
+0xd1,0xc1,0x8f,0xbf
+
+# CHECK: s_trap 0x3141 ; encoding: [0x41,0x31,0x92,0xbf]
+0x41,0x31,0x92,0xbf
+
+# CHECK: s_trap 0xc1d1 ; encoding: [0xd1,0xc1,0x92,0xbf]
+0xd1,0xc1,0x92,0xbf
+
+# CHECK: s_icache_inv ; encoding: [0x00,0x00,0x93,0xbf]
+0x00,0x00,0x93,0xbf
+
+# CHECK: s_incperflevel 0x3141 ; encoding: [0x41,0x31,0x94,0xbf]
+0x41,0x31,0x94,0xbf
+
+# CHECK: s_incperflevel 0xc1d1 ; encoding: [0xd1,0xc1,0x94,0xbf]
+0xd1,0xc1,0x94,0xbf
+
+# CHECK: s_decperflevel 0x3141 ; encoding: [0x41,0x31,0x95,0xbf]
+0x41,0x31,0x95,0xbf
+
+# CHECK: s_decperflevel 0xc1d1 ; encoding: [0xd1,0xc1,0x95,0xbf]
+0xd1,0xc1,0x95,0xbf
+
+# CHECK: s_ttracedata ; encoding: [0x00,0x00,0x96,0xbf]
+0x00,0x00,0x96,0xbf
+
+# CHECK: s_cbranch_cdbgsys 12609 ; encoding: [0x41,0x31,0x97,0xbf]
+0x41,0x31,0x97,0xbf
+
+# CHECK: s_cbranch_cdbgsys 49617 ; encoding: [0xd1,0xc1,0x97,0xbf]
+0xd1,0xc1,0x97,0xbf
+
+# CHECK: s_cbranch_cdbguser 12609 ; encoding: [0x41,0x31,0x98,0xbf]
+0x41,0x31,0x98,0xbf
+
+# CHECK: s_cbranch_cdbguser 49617 ; encoding: [0xd1,0xc1,0x98,0xbf]
+0xd1,0xc1,0x98,0xbf
+
+# CHECK: s_cbranch_cdbgsys_or_user 12609 ; encoding: [0x41,0x31,0x99,0xbf]
+0x41,0x31,0x99,0xbf
+
+# CHECK: s_cbranch_cdbgsys_or_user 49617 ; encoding: [0xd1,0xc1,0x99,0xbf]
+0xd1,0xc1,0x99,0xbf
+
+# CHECK: s_cbranch_cdbgsys_and_user 12609 ; encoding: [0x41,0x31,0x9a,0xbf]
+0x41,0x31,0x9a,0xbf
+
+# CHECK: s_cbranch_cdbgsys_and_user 49617 ; encoding: [0xd1,0xc1,0x9a,0xbf]
+0xd1,0xc1,0x9a,0xbf
+
+# CHECK: s_endpgm_saved ; encoding: [0x00,0x00,0x9b,0xbf]
+0x00,0x00,0x9b,0xbf
+
+# CHECK: s_set_gpr_idx_off ; encoding: [0x00,0x00,0x9c,0xbf]
+0x00,0x00,0x9c,0xbf
+
+# CHECK: v_mov_b32_e32 v5, v1 ; encoding: [0x01,0x03,0x0a,0x7e]
+0x01,0x03,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v255, v1 ; encoding: [0x01,0x03,0xfe,0x7f]
+0x01,0x03,0xfe,0x7f
+
+# CHECK: v_mov_b32_e32 v5, v255 ; encoding: [0xff,0x03,0x0a,0x7e]
+0xff,0x03,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, s1 ; encoding: [0x01,0x02,0x0a,0x7e]
+0x01,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, s101 ; encoding: [0x65,0x02,0x0a,0x7e]
+0x65,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x02,0x0a,0x7e]
+0x66,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x02,0x0a,0x7e]
+0x67,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x02,0x0a,0x7e]
+0x6a,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x02,0x0a,0x7e]
+0x6b,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, m0 ; encoding: [0x7c,0x02,0x0a,0x7e]
+0x7c,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, exec_lo ; encoding: [0x7e,0x02,0x0a,0x7e]
+0x7e,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, exec_hi ; encoding: [0x7f,0x02,0x0a,0x7e]
+0x7f,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, 0 ; encoding: [0x80,0x02,0x0a,0x7e]
+0x80,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, -1 ; encoding: [0xc1,0x02,0x0a,0x7e]
+0xc1,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, 0.5 ; encoding: [0xf0,0x02,0x0a,0x7e]
+0xf0,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v5, -4.0 ; encoding: [0xf7,0x02,0x0a,0x7e]
+0xf7,0x02,0x0a,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 v5, 0x3f717273 ; encoding: [0xff,0x02,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# 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 v255, v1 ; encoding: [0xff,0x00,0x41,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x41,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x41,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x41,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x41,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x80,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 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 v5, -4.0 ; encoding: [0x05,0x00,0x41,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_readfirstlane_b32 s5, v1 ; encoding: [0x01,0x05,0x0a,0x7e]
+0x01,0x05,0x0a,0x7e
+
+# CHECK: v_readfirstlane_b32 s101, v1 ; encoding: [0x01,0x05,0xca,0x7e]
+0x01,0x05,0xca,0x7e
+
+# CHECK: v_readfirstlane_b32 flat_scratch_lo, v1 ; encoding: [0x01,0x05,0xcc,0x7e]
+0x01,0x05,0xcc,0x7e
+
+# CHECK: v_readfirstlane_b32 flat_scratch_hi, v1 ; encoding: [0x01,0x05,0xce,0x7e]
+0x01,0x05,0xce,0x7e
+
+# CHECK: v_readfirstlane_b32 s5, v255 ; encoding: [0xff,0x05,0x0a,0x7e]
+0xff,0x05,0x0a,0x7e
+
+# 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 v255, v[1:2] ; encoding: [0x01,0x07,0xfe,0x7f]
+0x01,0x07,0xfe,0x7f
+
+# 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 v5, s[2:3] ; encoding: [0x02,0x06,0x0a,0x7e]
+0x02,0x06,0x0a,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 v5, s[100:101] ; encoding: [0x64,0x06,0x0a,0x7e]
+0x64,0x06,0x0a,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 v5, vcc ; encoding: [0x6a,0x06,0x0a,0x7e]
+0x6a,0x06,0x0a,0x7e
+
+# CHECK: v_cvt_i32_f64_e32 v5, exec ; encoding: [0x7e,0x06,0x0a,0x7e]
+0x7e,0x06,0x0a,0x7e
+
+# CHECK: v_cvt_i32_f64_e32 v5, 0 ; encoding: [0x80,0x06,0x0a,0x7e]
+0x80,0x06,0x0a,0x7e
+
+# CHECK: v_cvt_i32_f64_e32 v5, -1 ; encoding: [0xc1,0x06,0x0a,0x7e]
+0xc1,0x06,0x0a,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 v5, -4.0 ; encoding: [0xf7,0x06,0x0a,0x7e]
+0xf7,0x06,0x0a,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 v5, 0x3f717273 ; encoding: [0xff,0x06,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x06,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# 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 v255, v[1:2] ; encoding: [0xff,0x00,0x43,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x43,0xd1,0x01,0x01,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 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_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 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 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 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 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 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 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 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 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 v5, -v[1:2] ; encoding: [0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_i32_f64_e64 v5, |v[1:2]| ; encoding: [0x05,0x01,0x43,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x43,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_i32_f64_e64 v5, v[1:2] clamp ; encoding: [0x05,0x80,0x43,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x43,0xd1,0x01,0x01,0x00,0x00
+
+# 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[254:255], v1 ; encoding: [0x01,0x09,0xfc,0x7f]
+0x01,0x09,0xfc,0x7f
+
+# 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[5:6], s1 ; encoding: [0x01,0x08,0x0a,0x7e]
+0x01,0x08,0x0a,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[5:6], flat_scratch_lo ; encoding: [0x66,0x08,0x0a,0x7e]
+0x66,0x08,0x0a,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[5:6], vcc_lo ; encoding: [0x6a,0x08,0x0a,0x7e]
+0x6a,0x08,0x0a,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[5:6], m0 ; encoding: [0x7c,0x08,0x0a,0x7e]
+0x7c,0x08,0x0a,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[5:6], exec_hi ; encoding: [0x7f,0x08,0x0a,0x7e]
+0x7f,0x08,0x0a,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[5:6], -1 ; encoding: [0xc1,0x08,0x0a,0x7e]
+0xc1,0x08,0x0a,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[5:6], -4.0 ; encoding: [0xf7,0x08,0x0a,0x7e]
+0xf7,0x08,0x0a,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[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_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[254:255], v1 ; encoding: [0xfe,0x00,0x44,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x44,0xd1,0x01,0x01,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[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_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[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[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[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[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[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[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[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[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[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[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[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[5:6], v1 clamp ; encoding: [0x05,0x80,0x44,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x44,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f64_i32_e64 v[5:6], v1 mul:2 ; encoding: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f64_i32_e64 v[5:6], v1 mul:4 ; encoding: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f64_i32_e64 v[5:6], v1 div:2 ; encoding: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_i32_e32 v5, v1 ; encoding: [0x01,0x0b,0x0a,0x7e]
+0x01,0x0b,0x0a,0x7e
+
+# CHECK: v_cvt_f32_i32_e32 v255, v1 ; encoding: [0x01,0x0b,0xfe,0x7f]
+0x01,0x0b,0xfe,0x7f
+
+# CHECK: v_cvt_f32_i32_e32 v5, v255 ; encoding: [0xff,0x0b,0x0a,0x7e]
+0xff,0x0b,0x0a,0x7e
+
+# CHECK: v_cvt_f32_i32_e32 v5, s1 ; encoding: [0x01,0x0a,0x0a,0x7e]
+0x01,0x0a,0x0a,0x7e
+
+# CHECK: v_cvt_f32_i32_e32 v5, s101 ; encoding: [0x65,0x0a,0x0a,0x7e]
+0x65,0x0a,0x0a,0x7e
+
+# 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 v5, flat_scratch_hi ; encoding: [0x67,0x0a,0x0a,0x7e]
+0x67,0x0a,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x0a,0x0a,0x7e]
+0x6b,0x0a,0x0a,0x7e
+
+# CHECK: v_cvt_f32_i32_e32 v5, m0 ; encoding: [0x7c,0x0a,0x0a,0x7e]
+0x7c,0x0a,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x0a,0x0a,0x7e]
+0x7f,0x0a,0x0a,0x7e
+
+# CHECK: v_cvt_f32_i32_e32 v5, 0 ; encoding: [0x80,0x0a,0x0a,0x7e]
+0x80,0x0a,0x0a,0x7e
+
+# CHECK: v_cvt_f32_i32_e32 v5, -1 ; encoding: [0xc1,0x0a,0x0a,0x7e]
+0xc1,0x0a,0x0a,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 v5, -4.0 ; encoding: [0xf7,0x0a,0x0a,0x7e]
+0xf7,0x0a,0x0a,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 v5, 0x3f717273 ; encoding: [0xff,0x0a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x0a,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# 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 v255, v1 ; encoding: [0xff,0x00,0x45,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x45,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x01,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 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 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 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 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 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 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 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 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 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 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 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 v5, v1 clamp ; encoding: [0x05,0x80,0x45,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x45,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_i32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f32_i32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_i32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_u32_e32 v5, v1 ; encoding: [0x01,0x0d,0x0a,0x7e]
+0x01,0x0d,0x0a,0x7e
+
+# CHECK: v_cvt_f32_u32_e32 v255, v1 ; encoding: [0x01,0x0d,0xfe,0x7f]
+0x01,0x0d,0xfe,0x7f
+
+# CHECK: v_cvt_f32_u32_e32 v5, v255 ; encoding: [0xff,0x0d,0x0a,0x7e]
+0xff,0x0d,0x0a,0x7e
+
+# CHECK: v_cvt_f32_u32_e32 v5, s1 ; encoding: [0x01,0x0c,0x0a,0x7e]
+0x01,0x0c,0x0a,0x7e
+
+# CHECK: v_cvt_f32_u32_e32 v5, s101 ; encoding: [0x65,0x0c,0x0a,0x7e]
+0x65,0x0c,0x0a,0x7e
+
+# 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 v5, flat_scratch_hi ; encoding: [0x67,0x0c,0x0a,0x7e]
+0x67,0x0c,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x0c,0x0a,0x7e]
+0x6b,0x0c,0x0a,0x7e
+
+# CHECK: v_cvt_f32_u32_e32 v5, m0 ; encoding: [0x7c,0x0c,0x0a,0x7e]
+0x7c,0x0c,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x0c,0x0a,0x7e]
+0x7f,0x0c,0x0a,0x7e
+
+# CHECK: v_cvt_f32_u32_e32 v5, 0 ; encoding: [0x80,0x0c,0x0a,0x7e]
+0x80,0x0c,0x0a,0x7e
+
+# CHECK: v_cvt_f32_u32_e32 v5, -1 ; encoding: [0xc1,0x0c,0x0a,0x7e]
+0xc1,0x0c,0x0a,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 v5, -4.0 ; encoding: [0xf7,0x0c,0x0a,0x7e]
+0xf7,0x0c,0x0a,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 v5, 0x3f717273 ; encoding: [0xff,0x0c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x0c,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# 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 v255, v1 ; encoding: [0xff,0x00,0x46,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x46,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x01,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 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 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 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 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 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 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 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 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 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 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 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 v5, v1 clamp ; encoding: [0x05,0x80,0x46,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x46,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_u32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f32_u32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_u32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_u32_f32_e32 v5, v1 ; encoding: [0x01,0x0f,0x0a,0x7e]
+0x01,0x0f,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f32_e32 v255, v1 ; encoding: [0x01,0x0f,0xfe,0x7f]
+0x01,0x0f,0xfe,0x7f
+
+# CHECK: v_cvt_u32_f32_e32 v5, v255 ; encoding: [0xff,0x0f,0x0a,0x7e]
+0xff,0x0f,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f32_e32 v5, s1 ; encoding: [0x01,0x0e,0x0a,0x7e]
+0x01,0x0e,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f32_e32 v5, s101 ; encoding: [0x65,0x0e,0x0a,0x7e]
+0x65,0x0e,0x0a,0x7e
+
+# 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 v5, flat_scratch_hi ; encoding: [0x67,0x0e,0x0a,0x7e]
+0x67,0x0e,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x0e,0x0a,0x7e]
+0x6b,0x0e,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f32_e32 v5, m0 ; encoding: [0x7c,0x0e,0x0a,0x7e]
+0x7c,0x0e,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x0e,0x0a,0x7e]
+0x7f,0x0e,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f32_e32 v5, 0 ; encoding: [0x80,0x0e,0x0a,0x7e]
+0x80,0x0e,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f32_e32 v5, -1 ; encoding: [0xc1,0x0e,0x0a,0x7e]
+0xc1,0x0e,0x0a,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 v5, -4.0 ; encoding: [0xf7,0x0e,0x0a,0x7e]
+0xf7,0x0e,0x0a,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 v5, 0x3f717273 ; encoding: [0xff,0x0e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x0e,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# 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 v255, v1 ; encoding: [0xff,0x00,0x47,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x47,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x47,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x01,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 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 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 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 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 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 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 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 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 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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_u32_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x47,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x47,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_u32_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x47,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x47,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_i32_f32_e32 v5, v1 ; encoding: [0x01,0x11,0x0a,0x7e]
+0x01,0x11,0x0a,0x7e
+
+# CHECK: v_cvt_i32_f32_e32 v255, v1 ; encoding: [0x01,0x11,0xfe,0x7f]
+0x01,0x11,0xfe,0x7f
+
+# CHECK: v_cvt_i32_f32_e32 v5, v255 ; encoding: [0xff,0x11,0x0a,0x7e]
+0xff,0x11,0x0a,0x7e
+
+# CHECK: v_cvt_i32_f32_e32 v5, s1 ; encoding: [0x01,0x10,0x0a,0x7e]
+0x01,0x10,0x0a,0x7e
+
+# CHECK: v_cvt_i32_f32_e32 v5, s101 ; encoding: [0x65,0x10,0x0a,0x7e]
+0x65,0x10,0x0a,0x7e
+
+# 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 v5, flat_scratch_hi ; encoding: [0x67,0x10,0x0a,0x7e]
+0x67,0x10,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x10,0x0a,0x7e]
+0x6b,0x10,0x0a,0x7e
+
+# CHECK: v_cvt_i32_f32_e32 v5, m0 ; encoding: [0x7c,0x10,0x0a,0x7e]
+0x7c,0x10,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x10,0x0a,0x7e]
+0x7f,0x10,0x0a,0x7e
+
+# CHECK: v_cvt_i32_f32_e32 v5, 0 ; encoding: [0x80,0x10,0x0a,0x7e]
+0x80,0x10,0x0a,0x7e
+
+# CHECK: v_cvt_i32_f32_e32 v5, -1 ; encoding: [0xc1,0x10,0x0a,0x7e]
+0xc1,0x10,0x0a,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 v5, -4.0 ; encoding: [0xf7,0x10,0x0a,0x7e]
+0xf7,0x10,0x0a,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 v5, 0x3f717273 ; encoding: [0xff,0x10,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x10,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# 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 v255, v1 ; encoding: [0xff,0x00,0x48,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x48,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x48,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x01,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 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 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 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 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 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 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 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 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 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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_i32_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x48,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x48,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_i32_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x48,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x48,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e32 v5, v1 ; encoding: [0x01,0x13,0x0a,0x7e]
+0x01,0x13,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v255, v1 ; encoding: [0x01,0x13,0xfe,0x7f]
+0x01,0x13,0xfe,0x7f
+
+# CHECK: v_mov_fed_b32_e32 v5, v255 ; encoding: [0xff,0x13,0x0a,0x7e]
+0xff,0x13,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, s1 ; encoding: [0x01,0x12,0x0a,0x7e]
+0x01,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, s101 ; encoding: [0x65,0x12,0x0a,0x7e]
+0x65,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x12,0x0a,0x7e]
+0x66,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x12,0x0a,0x7e]
+0x67,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x12,0x0a,0x7e]
+0x6a,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x12,0x0a,0x7e]
+0x6b,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, m0 ; encoding: [0x7c,0x12,0x0a,0x7e]
+0x7c,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, exec_lo ; encoding: [0x7e,0x12,0x0a,0x7e]
+0x7e,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, exec_hi ; encoding: [0x7f,0x12,0x0a,0x7e]
+0x7f,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, 0 ; encoding: [0x80,0x12,0x0a,0x7e]
+0x80,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, -1 ; encoding: [0xc1,0x12,0x0a,0x7e]
+0xc1,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, 0.5 ; encoding: [0xf0,0x12,0x0a,0x7e]
+0xf0,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, -4.0 ; encoding: [0xf7,0x12,0x0a,0x7e]
+0xf7,0x12,0x0a,0x7e
+
+# CHECK: v_mov_fed_b32_e32 v5, 0xaf123456 ; encoding: [0xff,0x12,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x12,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# CHECK: v_mov_fed_b32_e32 v5, 0x3f717273 ; encoding: [0xff,0x12,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x12,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# CHECK: v_mov_fed_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x49,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, v255 ; encoding: [0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, s1 ; encoding: [0x05,0x00,0x49,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, s101 ; encoding: [0x05,0x00,0x49,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x49,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x49,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x49,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x49,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, m0 ; encoding: [0x05,0x00,0x49,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x49,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x49,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, 0 ; encoding: [0x05,0x00,0x49,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, -1 ; encoding: [0x05,0x00,0x49,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x49,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_mov_fed_b32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x49,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x49,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_f32_e32 v5, v1 ; encoding: [0x01,0x15,0x0a,0x7e]
+0x01,0x15,0x0a,0x7e
+
+# CHECK: v_cvt_f16_f32_e32 v255, v1 ; encoding: [0x01,0x15,0xfe,0x7f]
+0x01,0x15,0xfe,0x7f
+
+# CHECK: v_cvt_f16_f32_e32 v5, v255 ; encoding: [0xff,0x15,0x0a,0x7e]
+0xff,0x15,0x0a,0x7e
+
+# CHECK: v_cvt_f16_f32_e32 v5, s1 ; encoding: [0x01,0x14,0x0a,0x7e]
+0x01,0x14,0x0a,0x7e
+
+# CHECK: v_cvt_f16_f32_e32 v5, s101 ; encoding: [0x65,0x14,0x0a,0x7e]
+0x65,0x14,0x0a,0x7e
+
+# 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 v5, flat_scratch_hi ; encoding: [0x67,0x14,0x0a,0x7e]
+0x67,0x14,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x14,0x0a,0x7e]
+0x6b,0x14,0x0a,0x7e
+
+# CHECK: v_cvt_f16_f32_e32 v5, m0 ; encoding: [0x7c,0x14,0x0a,0x7e]
+0x7c,0x14,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x14,0x0a,0x7e]
+0x7f,0x14,0x0a,0x7e
+
+# CHECK: v_cvt_f16_f32_e32 v5, 0 ; encoding: [0x80,0x14,0x0a,0x7e]
+0x80,0x14,0x0a,0x7e
+
+# CHECK: v_cvt_f16_f32_e32 v5, -1 ; encoding: [0xc1,0x14,0x0a,0x7e]
+0xc1,0x14,0x0a,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 v5, -4.0 ; encoding: [0xf7,0x14,0x0a,0x7e]
+0xf7,0x14,0x0a,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 v5, 0x3f717273 ; encoding: [0xff,0x14,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x14,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# 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 v255, v1 ; encoding: [0xff,0x00,0x4a,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4a,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x01,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 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 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 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 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 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 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 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 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 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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_f16_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x4a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f16_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x4a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f16_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f16_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f16_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_f16_e32 v5, v1 ; encoding: [0x01,0x17,0x0a,0x7e]
+0x01,0x17,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f16_e32 v255, v1 ; encoding: [0x01,0x17,0xfe,0x7f]
+0x01,0x17,0xfe,0x7f
+
+# CHECK: v_cvt_f32_f16_e32 v5, v255 ; encoding: [0xff,0x17,0x0a,0x7e]
+0xff,0x17,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f16_e32 v5, s1 ; encoding: [0x01,0x16,0x0a,0x7e]
+0x01,0x16,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f16_e32 v5, s101 ; encoding: [0x65,0x16,0x0a,0x7e]
+0x65,0x16,0x0a,0x7e
+
+# 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 v5, flat_scratch_hi ; encoding: [0x67,0x16,0x0a,0x7e]
+0x67,0x16,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x16,0x0a,0x7e]
+0x6b,0x16,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f16_e32 v5, m0 ; encoding: [0x7c,0x16,0x0a,0x7e]
+0x7c,0x16,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x16,0x0a,0x7e]
+0x7f,0x16,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f16_e32 v5, 0 ; encoding: [0x80,0x16,0x0a,0x7e]
+0x80,0x16,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f16_e32 v5, -1 ; encoding: [0xc1,0x16,0x0a,0x7e]
+0xc1,0x16,0x0a,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 v5, -4.0 ; encoding: [0xf7,0x16,0x0a,0x7e]
+0xf7,0x16,0x0a,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 v5, 0x3456 ; encoding: [0xff,0x16,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x16,0x0a,0x7e,0x56,0x34,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 v255, v1 ; encoding: [0xff,0x00,0x4b,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4b,0xd1,0x01,0x01,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 v5, s1 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x01,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 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 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 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 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 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 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 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 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 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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_f32_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x4b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x4b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_f16_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f32_f16_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_f16_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, v1 ; encoding: [0x01,0x19,0x0a,0x7e]
+0x01,0x19,0x0a,0x7e
+
+# CHECK: v_cvt_rpi_i32_f32_e32 v255, v1 ; encoding: [0x01,0x19,0xfe,0x7f]
+0x01,0x19,0xfe,0x7f
+
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, v255 ; encoding: [0xff,0x19,0x0a,0x7e]
+0xff,0x19,0x0a,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 v5, s101 ; encoding: [0x65,0x18,0x0a,0x7e]
+0x65,0x18,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x18,0x0a,0x7e]
+0x67,0x18,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x18,0x0a,0x7e]
+0x6b,0x18,0x0a,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 v5, exec_lo ; encoding: [0x7e,0x18,0x0a,0x7e]
+0x7e,0x18,0x0a,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 v5, 0 ; encoding: [0x80,0x18,0x0a,0x7e]
+0x80,0x18,0x0a,0x7e
+
+# 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 v5, 0.5 ; encoding: [0xf0,0x18,0x0a,0x7e]
+0xf0,0x18,0x0a,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 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_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 v5, v1 ; encoding: [0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_rpi_i32_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x4c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x4c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4c,0xd1,0x01,0x01,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_e32 v255, v1 ; encoding: [0x01,0x1b,0xfe,0x7f]
+0x01,0x1b,0xfe,0x7f
+
+# CHECK: v_cvt_flr_i32_f32_e32 v5, v255 ; encoding: [0xff,0x1b,0x0a,0x7e]
+0xff,0x1b,0x0a,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 v5, s101 ; encoding: [0x65,0x1a,0x0a,0x7e]
+0x65,0x1a,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x1a,0x0a,0x7e]
+0x67,0x1a,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x1a,0x0a,0x7e]
+0x6b,0x1a,0x0a,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 v5, exec_lo ; encoding: [0x7e,0x1a,0x0a,0x7e]
+0x7e,0x1a,0x0a,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 v5, 0 ; encoding: [0x80,0x1a,0x0a,0x7e]
+0x80,0x1a,0x0a,0x7e
+
+# 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 v5, 0.5 ; encoding: [0xf0,0x1a,0x0a,0x7e]
+0xf0,0x1a,0x0a,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 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_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 v5, v1 ; encoding: [0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_flr_i32_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_flr_i32_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x4d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4d,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_flr_i32_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x4d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4d,0xd1,0x01,0x01,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_e32 v255, v1 ; encoding: [0x01,0x1d,0xfe,0x7f]
+0x01,0x1d,0xfe,0x7f
+
+# CHECK: v_cvt_off_f32_i4_e32 v5, v255 ; encoding: [0xff,0x1d,0x0a,0x7e]
+0xff,0x1d,0x0a,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 v5, s101 ; encoding: [0x65,0x1c,0x0a,0x7e]
+0x65,0x1c,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x1c,0x0a,0x7e]
+0x67,0x1c,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x1c,0x0a,0x7e]
+0x6b,0x1c,0x0a,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 v5, exec_lo ; encoding: [0x7e,0x1c,0x0a,0x7e]
+0x7e,0x1c,0x0a,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 v5, 0 ; encoding: [0x80,0x1c,0x0a,0x7e]
+0x80,0x1c,0x0a,0x7e
+
+# 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 v5, 0.5 ; encoding: [0xf0,0x1c,0x0a,0x7e]
+0xf0,0x1c,0x0a,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 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_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 v5, v1 ; encoding: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_off_f32_i4_e64 v255, v1 ; encoding: [0xff,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 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 v5, 0.5 ; encoding: [0x05,0x00,0x4e,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0xf0,0x00,0x00,0x00
+
+# 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_off_f32_i4_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x4e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4e,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_off_f32_i4_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_off_f32_i4_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_off_f32_i4_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_f64_e32 v5, v[1:2] ; encoding: [0x01,0x1f,0x0a,0x7e]
+0x01,0x1f,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f64_e32 v255, v[1:2] ; encoding: [0x01,0x1f,0xfe,0x7f]
+0x01,0x1f,0xfe,0x7f
+
+# CHECK: v_cvt_f32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x1f,0x0a,0x7e]
+0xfe,0x1f,0x0a,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 v5, s[4:5] ; encoding: [0x04,0x1e,0x0a,0x7e]
+0x04,0x1e,0x0a,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 v5, flat_scratch ; encoding: [0x66,0x1e,0x0a,0x7e]
+0x66,0x1e,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f64_e32 v5, vcc ; encoding: [0x6a,0x1e,0x0a,0x7e]
+0x6a,0x1e,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f64_e32 v5, exec ; encoding: [0x7e,0x1e,0x0a,0x7e]
+0x7e,0x1e,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f64_e32 v5, 0 ; encoding: [0x80,0x1e,0x0a,0x7e]
+0x80,0x1e,0x0a,0x7e
+
+# CHECK: v_cvt_f32_f64_e32 v5, -1 ; encoding: [0xc1,0x1e,0x0a,0x7e]
+0xc1,0x1e,0x0a,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 v5, -4.0 ; encoding: [0xf7,0x1e,0x0a,0x7e]
+0xf7,0x1e,0x0a,0x7e
+
+# 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_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 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 v255, v[1:2] ; encoding: [0xff,0x00,0x4f,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x4f,0xd1,0x01,0x01,0x00,0x00
+
+# 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 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 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 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 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 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 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 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 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 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 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 v5, -v[1:2] ; encoding: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_f32_f64_e64 v5, |v[1:2]| ; encoding: [0x05,0x01,0x4f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x4f,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_f64_e64 v5, v[1:2] clamp ; encoding: [0x05,0x80,0x4f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x4f,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_f64_e64 v5, v[1:2] mul:2 ; encoding: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f32_f64_e64 v5, v[1:2] mul:4 ; encoding: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_f64_e64 v5, v[1:2] div:2 ; encoding: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f64_f32_e32 v[5:6], v1 ; encoding: [0x01,0x21,0x0a,0x7e]
+0x01,0x21,0x0a,0x7e
+
+# CHECK: v_cvt_f64_f32_e32 v[254:255], v1 ; encoding: [0x01,0x21,0xfc,0x7f]
+0x01,0x21,0xfc,0x7f
+
+# CHECK: v_cvt_f64_f32_e32 v[5:6], v255 ; encoding: [0xff,0x21,0x0a,0x7e]
+0xff,0x21,0x0a,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[5:6], s101 ; encoding: [0x65,0x20,0x0a,0x7e]
+0x65,0x20,0x0a,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[5:6], flat_scratch_hi ; encoding: [0x67,0x20,0x0a,0x7e]
+0x67,0x20,0x0a,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[5:6], vcc_hi ; encoding: [0x6b,0x20,0x0a,0x7e]
+0x6b,0x20,0x0a,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[5:6], exec_lo ; encoding: [0x7e,0x20,0x0a,0x7e]
+0x7e,0x20,0x0a,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[5:6], 0 ; encoding: [0x80,0x20,0x0a,0x7e]
+0x80,0x20,0x0a,0x7e
+
+# 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[5:6], 0.5 ; encoding: [0xf0,0x20,0x0a,0x7e]
+0xf0,0x20,0x0a,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[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_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[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[254:255], v1 ; encoding: [0xfe,0x00,0x50,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x50,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[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[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[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[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[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[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[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[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[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[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[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[5:6], -v1 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_f64_f32_e64 v[5:6], |v1| ; encoding: [0x05,0x01,0x50,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x50,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f64_f32_e64 v[5:6], v1 clamp ; encoding: [0x05,0x80,0x50,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x50,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f64_f32_e64 v[5:6], v1 mul:2 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f64_f32_e64 v[5:6], v1 mul:4 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f64_f32_e64 v[5:6], v1 div:2 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_ubyte0_e32 v5, v1 ; encoding: [0x01,0x23,0x0a,0x7e]
+0x01,0x23,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte0_e32 v255, v1 ; encoding: [0x01,0x23,0xfe,0x7f]
+0x01,0x23,0xfe,0x7f
+
+# CHECK: v_cvt_f32_ubyte0_e32 v5, v255 ; encoding: [0xff,0x23,0x0a,0x7e]
+0xff,0x23,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte0_e32 v5, s1 ; encoding: [0x01,0x22,0x0a,0x7e]
+0x01,0x22,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte0_e32 v5, s101 ; encoding: [0x65,0x22,0x0a,0x7e]
+0x65,0x22,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x22,0x0a,0x7e]
+0x67,0x22,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x22,0x0a,0x7e]
+0x6b,0x22,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte0_e32 v5, m0 ; encoding: [0x7c,0x22,0x0a,0x7e]
+0x7c,0x22,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x22,0x0a,0x7e]
+0x7f,0x22,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte0_e32 v5, 0 ; encoding: [0x80,0x22,0x0a,0x7e]
+0x80,0x22,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte0_e32 v5, -1 ; encoding: [0xc1,0x22,0x0a,0x7e]
+0xc1,0x22,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte0_e32 v5, 0.5 ; encoding: [0xf0,0x22,0x0a,0x7e]
+0xf0,0x22,0x0a,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 v5, 0xaf123456 ; encoding: [0xff,0x22,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x22,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# 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 v5, v1 ; encoding: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_ubyte0_e64 v255, v1 ; encoding: [0xff,0x00,0x51,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x51,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 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 v5, 0.5 ; encoding: [0x05,0x00,0x51,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0xf0,0x00,0x00,0x00
+
+# 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_ubyte0_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x51,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x51,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_ubyte0_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f32_ubyte0_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_ubyte0_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, v1 ; encoding: [0x01,0x25,0x0a,0x7e]
+0x01,0x25,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte1_e32 v255, v1 ; encoding: [0x01,0x25,0xfe,0x7f]
+0x01,0x25,0xfe,0x7f
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, v255 ; encoding: [0xff,0x25,0x0a,0x7e]
+0xff,0x25,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, s1 ; encoding: [0x01,0x24,0x0a,0x7e]
+0x01,0x24,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, s101 ; encoding: [0x65,0x24,0x0a,0x7e]
+0x65,0x24,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x24,0x0a,0x7e]
+0x67,0x24,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x24,0x0a,0x7e]
+0x6b,0x24,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, m0 ; encoding: [0x7c,0x24,0x0a,0x7e]
+0x7c,0x24,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x24,0x0a,0x7e]
+0x7f,0x24,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, 0 ; encoding: [0x80,0x24,0x0a,0x7e]
+0x80,0x24,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, -1 ; encoding: [0xc1,0x24,0x0a,0x7e]
+0xc1,0x24,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte1_e32 v5, 0.5 ; encoding: [0xf0,0x24,0x0a,0x7e]
+0xf0,0x24,0x0a,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 v5, 0xaf123456 ; encoding: [0xff,0x24,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x24,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# 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 v5, v1 ; encoding: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_ubyte1_e64 v255, v1 ; encoding: [0xff,0x00,0x52,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x52,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 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 v5, 0.5 ; encoding: [0x05,0x00,0x52,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0xf0,0x00,0x00,0x00
+
+# 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_ubyte1_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x52,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x52,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_ubyte1_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f32_ubyte1_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_ubyte1_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, v1 ; encoding: [0x01,0x27,0x0a,0x7e]
+0x01,0x27,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte2_e32 v255, v1 ; encoding: [0x01,0x27,0xfe,0x7f]
+0x01,0x27,0xfe,0x7f
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, v255 ; encoding: [0xff,0x27,0x0a,0x7e]
+0xff,0x27,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, s1 ; encoding: [0x01,0x26,0x0a,0x7e]
+0x01,0x26,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, s101 ; encoding: [0x65,0x26,0x0a,0x7e]
+0x65,0x26,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x26,0x0a,0x7e]
+0x67,0x26,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x26,0x0a,0x7e]
+0x6b,0x26,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, m0 ; encoding: [0x7c,0x26,0x0a,0x7e]
+0x7c,0x26,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x26,0x0a,0x7e]
+0x7f,0x26,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, 0 ; encoding: [0x80,0x26,0x0a,0x7e]
+0x80,0x26,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, -1 ; encoding: [0xc1,0x26,0x0a,0x7e]
+0xc1,0x26,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte2_e32 v5, 0.5 ; encoding: [0xf0,0x26,0x0a,0x7e]
+0xf0,0x26,0x0a,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 v5, 0xaf123456 ; encoding: [0xff,0x26,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x26,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# 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 v5, v1 ; encoding: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_ubyte2_e64 v255, v1 ; encoding: [0xff,0x00,0x53,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x53,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 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 v5, 0.5 ; encoding: [0x05,0x00,0x53,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0xf0,0x00,0x00,0x00
+
+# 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_ubyte2_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x53,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x53,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_ubyte2_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f32_ubyte2_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_ubyte2_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, v1 ; encoding: [0x01,0x29,0x0a,0x7e]
+0x01,0x29,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte3_e32 v255, v1 ; encoding: [0x01,0x29,0xfe,0x7f]
+0x01,0x29,0xfe,0x7f
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, v255 ; encoding: [0xff,0x29,0x0a,0x7e]
+0xff,0x29,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, s1 ; encoding: [0x01,0x28,0x0a,0x7e]
+0x01,0x28,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, s101 ; encoding: [0x65,0x28,0x0a,0x7e]
+0x65,0x28,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x28,0x0a,0x7e]
+0x67,0x28,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x28,0x0a,0x7e]
+0x6b,0x28,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, m0 ; encoding: [0x7c,0x28,0x0a,0x7e]
+0x7c,0x28,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x28,0x0a,0x7e]
+0x7f,0x28,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, 0 ; encoding: [0x80,0x28,0x0a,0x7e]
+0x80,0x28,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, -1 ; encoding: [0xc1,0x28,0x0a,0x7e]
+0xc1,0x28,0x0a,0x7e
+
+# CHECK: v_cvt_f32_ubyte3_e32 v5, 0.5 ; encoding: [0xf0,0x28,0x0a,0x7e]
+0xf0,0x28,0x0a,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 v5, 0xaf123456 ; encoding: [0xff,0x28,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x28,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# 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 v5, v1 ; encoding: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_ubyte3_e64 v255, v1 ; encoding: [0xff,0x00,0x54,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x54,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 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 v5, 0.5 ; encoding: [0x05,0x00,0x54,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0xf0,0x00,0x00,0x00
+
+# 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_f32_ubyte3_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x54,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x54,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f32_ubyte3_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f32_ubyte3_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f32_ubyte3_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_u32_f64_e32 v5, v[1:2] ; encoding: [0x01,0x2b,0x0a,0x7e]
+0x01,0x2b,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f64_e32 v255, v[1:2] ; encoding: [0x01,0x2b,0xfe,0x7f]
+0x01,0x2b,0xfe,0x7f
+
+# CHECK: v_cvt_u32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x2b,0x0a,0x7e]
+0xfe,0x2b,0x0a,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 v5, s[4:5] ; encoding: [0x04,0x2a,0x0a,0x7e]
+0x04,0x2a,0x0a,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 v5, flat_scratch ; encoding: [0x66,0x2a,0x0a,0x7e]
+0x66,0x2a,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f64_e32 v5, vcc ; encoding: [0x6a,0x2a,0x0a,0x7e]
+0x6a,0x2a,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f64_e32 v5, exec ; encoding: [0x7e,0x2a,0x0a,0x7e]
+0x7e,0x2a,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f64_e32 v5, 0 ; encoding: [0x80,0x2a,0x0a,0x7e]
+0x80,0x2a,0x0a,0x7e
+
+# CHECK: v_cvt_u32_f64_e32 v5, -1 ; encoding: [0xc1,0x2a,0x0a,0x7e]
+0xc1,0x2a,0x0a,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 v5, -4.0 ; encoding: [0xf7,0x2a,0x0a,0x7e]
+0xf7,0x2a,0x0a,0x7e
+
+# 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_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 v5, v[1:2] ; encoding: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_u32_f64_e64 v255, v[1:2] ; encoding: [0xff,0x00,0x55,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x55,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 v5, -v[1:2] ; encoding: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_u32_f64_e64 v5, |v[1:2]| ; encoding: [0x05,0x01,0x55,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x55,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_u32_f64_e64 v5, v[1:2] clamp ; encoding: [0x05,0x80,0x55,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x55,0xd1,0x01,0x01,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_e32 v[254:255], v1 ; encoding: [0x01,0x2d,0xfc,0x7f]
+0x01,0x2d,0xfc,0x7f
+
+# CHECK: v_cvt_f64_u32_e32 v[5:6], v255 ; encoding: [0xff,0x2d,0x0a,0x7e]
+0xff,0x2d,0x0a,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[5:6], s101 ; encoding: [0x65,0x2c,0x0a,0x7e]
+0x65,0x2c,0x0a,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[5:6], flat_scratch_hi ; encoding: [0x67,0x2c,0x0a,0x7e]
+0x67,0x2c,0x0a,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[5:6], vcc_hi ; encoding: [0x6b,0x2c,0x0a,0x7e]
+0x6b,0x2c,0x0a,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[5:6], exec_lo ; encoding: [0x7e,0x2c,0x0a,0x7e]
+0x7e,0x2c,0x0a,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[5:6], 0 ; encoding: [0x80,0x2c,0x0a,0x7e]
+0x80,0x2c,0x0a,0x7e
+
+# 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[5:6], 0.5 ; encoding: [0xf0,0x2c,0x0a,0x7e]
+0xf0,0x2c,0x0a,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[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_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[5:6], v1 ; encoding: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f64_u32_e64 v[254:255], v1 ; encoding: [0xfe,0x00,0x56,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x56,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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[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[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[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[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[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[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[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[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[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[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[5:6], 0.5 ; encoding: [0x05,0x00,0x56,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0xf0,0x00,0x00,0x00
+
+# 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_cvt_f64_u32_e64 v[5:6], v1 clamp ; encoding: [0x05,0x80,0x56,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x56,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f64_u32_e64 v[5:6], v1 mul:2 ; encoding: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cvt_f64_u32_e64 v[5:6], v1 mul:4 ; encoding: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cvt_f64_u32_e64 v[5:6], v1 div:2 ; encoding: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_trunc_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x2f,0x0a,0x7e]
+0x01,0x2f,0x0a,0x7e
+
+# CHECK: v_trunc_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x2f,0xfc,0x7f]
+0x01,0x2f,0xfc,0x7f
+
+# CHECK: v_trunc_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x2f,0x0a,0x7e]
+0xfe,0x2f,0x0a,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[5:6], s[4:5] ; encoding: [0x04,0x2e,0x0a,0x7e]
+0x04,0x2e,0x0a,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[5:6], flat_scratch ; encoding: [0x66,0x2e,0x0a,0x7e]
+0x66,0x2e,0x0a,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[5:6], exec ; encoding: [0x7e,0x2e,0x0a,0x7e]
+0x7e,0x2e,0x0a,0x7e
+
+# CHECK: v_trunc_f64_e32 v[5:6], 0 ; encoding: [0x80,0x2e,0x0a,0x7e]
+0x80,0x2e,0x0a,0x7e
+
+# CHECK: v_trunc_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x2e,0x0a,0x7e]
+0xc1,0x2e,0x0a,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[5:6], -4.0 ; encoding: [0xf7,0x2e,0x0a,0x7e]
+0xf7,0x2e,0x0a,0x7e
+
+# 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_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[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[254:255], v[1:2] ; encoding: [0xfe,0x00,0x57,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x57,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[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[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[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[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[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[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[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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_trunc_f64_e64 v[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x57,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x57,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_trunc_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x57,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x57,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_trunc_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_trunc_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_trunc_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_ceil_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x31,0x0a,0x7e]
+0x01,0x31,0x0a,0x7e
+
+# CHECK: v_ceil_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x31,0xfc,0x7f]
+0x01,0x31,0xfc,0x7f
+
+# CHECK: v_ceil_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x31,0x0a,0x7e]
+0xfe,0x31,0x0a,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[5:6], s[4:5] ; encoding: [0x04,0x30,0x0a,0x7e]
+0x04,0x30,0x0a,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[5:6], flat_scratch ; encoding: [0x66,0x30,0x0a,0x7e]
+0x66,0x30,0x0a,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[5:6], exec ; encoding: [0x7e,0x30,0x0a,0x7e]
+0x7e,0x30,0x0a,0x7e
+
+# CHECK: v_ceil_f64_e32 v[5:6], 0 ; encoding: [0x80,0x30,0x0a,0x7e]
+0x80,0x30,0x0a,0x7e
+
+# CHECK: v_ceil_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x30,0x0a,0x7e]
+0xc1,0x30,0x0a,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[5:6], -4.0 ; encoding: [0xf7,0x30,0x0a,0x7e]
+0xf7,0x30,0x0a,0x7e
+
+# 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_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[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[254:255], v[1:2] ; encoding: [0xfe,0x00,0x58,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x58,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[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[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[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[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[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[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[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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_ceil_f64_e64 v[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x58,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x58,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ceil_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x58,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x58,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ceil_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_ceil_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_ceil_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_rndne_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x33,0x0a,0x7e]
+0x01,0x33,0x0a,0x7e
+
+# CHECK: v_rndne_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x33,0xfc,0x7f]
+0x01,0x33,0xfc,0x7f
+
+# CHECK: v_rndne_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x33,0x0a,0x7e]
+0xfe,0x33,0x0a,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[5:6], s[4:5] ; encoding: [0x04,0x32,0x0a,0x7e]
+0x04,0x32,0x0a,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[5:6], flat_scratch ; encoding: [0x66,0x32,0x0a,0x7e]
+0x66,0x32,0x0a,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[5:6], exec ; encoding: [0x7e,0x32,0x0a,0x7e]
+0x7e,0x32,0x0a,0x7e
+
+# CHECK: v_rndne_f64_e32 v[5:6], 0 ; encoding: [0x80,0x32,0x0a,0x7e]
+0x80,0x32,0x0a,0x7e
+
+# CHECK: v_rndne_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x32,0x0a,0x7e]
+0xc1,0x32,0x0a,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[5:6], -4.0 ; encoding: [0xf7,0x32,0x0a,0x7e]
+0xf7,0x32,0x0a,0x7e
+
+# 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_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[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[254:255], v[1:2] ; encoding: [0xfe,0x00,0x59,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x59,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[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[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[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[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[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[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[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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rndne_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x59,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x59,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rndne_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_rndne_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_rndne_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_floor_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x35,0x0a,0x7e]
+0x01,0x35,0x0a,0x7e
+
+# CHECK: v_floor_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x35,0xfc,0x7f]
+0x01,0x35,0xfc,0x7f
+
+# CHECK: v_floor_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x35,0x0a,0x7e]
+0xfe,0x35,0x0a,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[5:6], s[4:5] ; encoding: [0x04,0x34,0x0a,0x7e]
+0x04,0x34,0x0a,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[5:6], flat_scratch ; encoding: [0x66,0x34,0x0a,0x7e]
+0x66,0x34,0x0a,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[5:6], exec ; encoding: [0x7e,0x34,0x0a,0x7e]
+0x7e,0x34,0x0a,0x7e
+
+# CHECK: v_floor_f64_e32 v[5:6], 0 ; encoding: [0x80,0x34,0x0a,0x7e]
+0x80,0x34,0x0a,0x7e
+
+# CHECK: v_floor_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x34,0x0a,0x7e]
+0xc1,0x34,0x0a,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[5:6], -4.0 ; encoding: [0xf7,0x34,0x0a,0x7e]
+0xf7,0x34,0x0a,0x7e
+
+# 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_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[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[254:255], v[1:2] ; encoding: [0xfe,0x00,0x5a,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x5a,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[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[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[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[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[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[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[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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_floor_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x5a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_floor_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_floor_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_floor_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_fract_f32_e32 v5, v1 ; encoding: [0x01,0x37,0x0a,0x7e]
+0x01,0x37,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v255, v1 ; encoding: [0x01,0x37,0xfe,0x7f]
+0x01,0x37,0xfe,0x7f
+
+# CHECK: v_fract_f32_e32 v5, v255 ; encoding: [0xff,0x37,0x0a,0x7e]
+0xff,0x37,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, s1 ; encoding: [0x01,0x36,0x0a,0x7e]
+0x01,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, s101 ; encoding: [0x65,0x36,0x0a,0x7e]
+0x65,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x36,0x0a,0x7e]
+0x66,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x36,0x0a,0x7e]
+0x67,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x36,0x0a,0x7e]
+0x6a,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x36,0x0a,0x7e]
+0x6b,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, m0 ; encoding: [0x7c,0x36,0x0a,0x7e]
+0x7c,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, exec_lo ; encoding: [0x7e,0x36,0x0a,0x7e]
+0x7e,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, exec_hi ; encoding: [0x7f,0x36,0x0a,0x7e]
+0x7f,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, 0 ; encoding: [0x80,0x36,0x0a,0x7e]
+0x80,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, -1 ; encoding: [0xc1,0x36,0x0a,0x7e]
+0xc1,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, 0.5 ; encoding: [0xf0,0x36,0x0a,0x7e]
+0xf0,0x36,0x0a,0x7e
+
+# CHECK: v_fract_f32_e32 v5, -4.0 ; encoding: [0xf7,0x36,0x0a,0x7e]
+0xf7,0x36,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x5b,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x5b,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_fract_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x5b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_fract_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_fract_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_trunc_f32_e32 v5, v1 ; encoding: [0x01,0x39,0x0a,0x7e]
+0x01,0x39,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v255, v1 ; encoding: [0x01,0x39,0xfe,0x7f]
+0x01,0x39,0xfe,0x7f
+
+# CHECK: v_trunc_f32_e32 v5, v255 ; encoding: [0xff,0x39,0x0a,0x7e]
+0xff,0x39,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, s1 ; encoding: [0x01,0x38,0x0a,0x7e]
+0x01,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, s101 ; encoding: [0x65,0x38,0x0a,0x7e]
+0x65,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x38,0x0a,0x7e]
+0x66,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x38,0x0a,0x7e]
+0x67,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x38,0x0a,0x7e]
+0x6a,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x38,0x0a,0x7e]
+0x6b,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, m0 ; encoding: [0x7c,0x38,0x0a,0x7e]
+0x7c,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, exec_lo ; encoding: [0x7e,0x38,0x0a,0x7e]
+0x7e,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, exec_hi ; encoding: [0x7f,0x38,0x0a,0x7e]
+0x7f,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, 0 ; encoding: [0x80,0x38,0x0a,0x7e]
+0x80,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, -1 ; encoding: [0xc1,0x38,0x0a,0x7e]
+0xc1,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, 0.5 ; encoding: [0xf0,0x38,0x0a,0x7e]
+0xf0,0x38,0x0a,0x7e
+
+# CHECK: v_trunc_f32_e32 v5, -4.0 ; encoding: [0xf7,0x38,0x0a,0x7e]
+0xf7,0x38,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_trunc_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x5c,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x5c,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_trunc_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x5c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_trunc_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_trunc_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_trunc_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_ceil_f32_e32 v5, v1 ; encoding: [0x01,0x3b,0x0a,0x7e]
+0x01,0x3b,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v255, v1 ; encoding: [0x01,0x3b,0xfe,0x7f]
+0x01,0x3b,0xfe,0x7f
+
+# CHECK: v_ceil_f32_e32 v5, v255 ; encoding: [0xff,0x3b,0x0a,0x7e]
+0xff,0x3b,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, s1 ; encoding: [0x01,0x3a,0x0a,0x7e]
+0x01,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, s101 ; encoding: [0x65,0x3a,0x0a,0x7e]
+0x65,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x3a,0x0a,0x7e]
+0x66,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x3a,0x0a,0x7e]
+0x67,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x3a,0x0a,0x7e]
+0x6a,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x3a,0x0a,0x7e]
+0x6b,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, m0 ; encoding: [0x7c,0x3a,0x0a,0x7e]
+0x7c,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, exec_lo ; encoding: [0x7e,0x3a,0x0a,0x7e]
+0x7e,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, exec_hi ; encoding: [0x7f,0x3a,0x0a,0x7e]
+0x7f,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, 0 ; encoding: [0x80,0x3a,0x0a,0x7e]
+0x80,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, -1 ; encoding: [0xc1,0x3a,0x0a,0x7e]
+0xc1,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, 0.5 ; encoding: [0xf0,0x3a,0x0a,0x7e]
+0xf0,0x3a,0x0a,0x7e
+
+# CHECK: v_ceil_f32_e32 v5, -4.0 ; encoding: [0xf7,0x3a,0x0a,0x7e]
+0xf7,0x3a,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ceil_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x5d,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x5d,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_ceil_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x5d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5d,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ceil_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_ceil_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_ceil_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_rndne_f32_e32 v5, v1 ; encoding: [0x01,0x3d,0x0a,0x7e]
+0x01,0x3d,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v255, v1 ; encoding: [0x01,0x3d,0xfe,0x7f]
+0x01,0x3d,0xfe,0x7f
+
+# CHECK: v_rndne_f32_e32 v5, v255 ; encoding: [0xff,0x3d,0x0a,0x7e]
+0xff,0x3d,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, s1 ; encoding: [0x01,0x3c,0x0a,0x7e]
+0x01,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, s101 ; encoding: [0x65,0x3c,0x0a,0x7e]
+0x65,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x3c,0x0a,0x7e]
+0x66,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x3c,0x0a,0x7e]
+0x67,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x3c,0x0a,0x7e]
+0x6a,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x3c,0x0a,0x7e]
+0x6b,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, m0 ; encoding: [0x7c,0x3c,0x0a,0x7e]
+0x7c,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, exec_lo ; encoding: [0x7e,0x3c,0x0a,0x7e]
+0x7e,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, exec_hi ; encoding: [0x7f,0x3c,0x0a,0x7e]
+0x7f,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, 0 ; encoding: [0x80,0x3c,0x0a,0x7e]
+0x80,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, -1 ; encoding: [0xc1,0x3c,0x0a,0x7e]
+0xc1,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, 0.5 ; encoding: [0xf0,0x3c,0x0a,0x7e]
+0xf0,0x3c,0x0a,0x7e
+
+# CHECK: v_rndne_f32_e32 v5, -4.0 ; encoding: [0xf7,0x3c,0x0a,0x7e]
+0xf7,0x3c,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rndne_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x5e,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x5e,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rndne_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x5e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5e,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rndne_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_rndne_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_rndne_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_floor_f32_e32 v5, v1 ; encoding: [0x01,0x3f,0x0a,0x7e]
+0x01,0x3f,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v255, v1 ; encoding: [0x01,0x3f,0xfe,0x7f]
+0x01,0x3f,0xfe,0x7f
+
+# CHECK: v_floor_f32_e32 v5, v255 ; encoding: [0xff,0x3f,0x0a,0x7e]
+0xff,0x3f,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, s1 ; encoding: [0x01,0x3e,0x0a,0x7e]
+0x01,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, s101 ; encoding: [0x65,0x3e,0x0a,0x7e]
+0x65,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x3e,0x0a,0x7e]
+0x66,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x3e,0x0a,0x7e]
+0x67,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x3e,0x0a,0x7e]
+0x6a,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x3e,0x0a,0x7e]
+0x6b,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, m0 ; encoding: [0x7c,0x3e,0x0a,0x7e]
+0x7c,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, exec_lo ; encoding: [0x7e,0x3e,0x0a,0x7e]
+0x7e,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, exec_hi ; encoding: [0x7f,0x3e,0x0a,0x7e]
+0x7f,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, 0 ; encoding: [0x80,0x3e,0x0a,0x7e]
+0x80,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, -1 ; encoding: [0xc1,0x3e,0x0a,0x7e]
+0xc1,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, 0.5 ; encoding: [0xf0,0x3e,0x0a,0x7e]
+0xf0,0x3e,0x0a,0x7e
+
+# CHECK: v_floor_f32_e32 v5, -4.0 ; encoding: [0xf7,0x3e,0x0a,0x7e]
+0xf7,0x3e,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_floor_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x5f,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x5f,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_floor_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x5f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x5f,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_floor_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x5f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x5f,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_floor_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_floor_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_floor_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_exp_f32_e32 v5, v1 ; encoding: [0x01,0x41,0x0a,0x7e]
+0x01,0x41,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v255, v1 ; encoding: [0x01,0x41,0xfe,0x7f]
+0x01,0x41,0xfe,0x7f
+
+# CHECK: v_exp_f32_e32 v5, v255 ; encoding: [0xff,0x41,0x0a,0x7e]
+0xff,0x41,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, s1 ; encoding: [0x01,0x40,0x0a,0x7e]
+0x01,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, s101 ; encoding: [0x65,0x40,0x0a,0x7e]
+0x65,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x40,0x0a,0x7e]
+0x66,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x40,0x0a,0x7e]
+0x67,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x40,0x0a,0x7e]
+0x6a,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x40,0x0a,0x7e]
+0x6b,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, m0 ; encoding: [0x7c,0x40,0x0a,0x7e]
+0x7c,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, exec_lo ; encoding: [0x7e,0x40,0x0a,0x7e]
+0x7e,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, exec_hi ; encoding: [0x7f,0x40,0x0a,0x7e]
+0x7f,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, 0 ; encoding: [0x80,0x40,0x0a,0x7e]
+0x80,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, -1 ; encoding: [0xc1,0x40,0x0a,0x7e]
+0xc1,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, 0.5 ; encoding: [0xf0,0x40,0x0a,0x7e]
+0xf0,0x40,0x0a,0x7e
+
+# CHECK: v_exp_f32_e32 v5, -4.0 ; encoding: [0xf7,0x40,0x0a,0x7e]
+0xf7,0x40,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x60,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x60,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x60,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x60,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_exp_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x60,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x60,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x60,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x60,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_exp_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_exp_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_log_f32_e32 v5, v1 ; encoding: [0x01,0x43,0x0a,0x7e]
+0x01,0x43,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v255, v1 ; encoding: [0x01,0x43,0xfe,0x7f]
+0x01,0x43,0xfe,0x7f
+
+# CHECK: v_log_f32_e32 v5, v255 ; encoding: [0xff,0x43,0x0a,0x7e]
+0xff,0x43,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, s1 ; encoding: [0x01,0x42,0x0a,0x7e]
+0x01,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, s101 ; encoding: [0x65,0x42,0x0a,0x7e]
+0x65,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x42,0x0a,0x7e]
+0x66,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x42,0x0a,0x7e]
+0x67,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x42,0x0a,0x7e]
+0x6a,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x42,0x0a,0x7e]
+0x6b,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, m0 ; encoding: [0x7c,0x42,0x0a,0x7e]
+0x7c,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, exec_lo ; encoding: [0x7e,0x42,0x0a,0x7e]
+0x7e,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, exec_hi ; encoding: [0x7f,0x42,0x0a,0x7e]
+0x7f,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, 0 ; encoding: [0x80,0x42,0x0a,0x7e]
+0x80,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, -1 ; encoding: [0xc1,0x42,0x0a,0x7e]
+0xc1,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, 0.5 ; encoding: [0xf0,0x42,0x0a,0x7e]
+0xf0,0x42,0x0a,0x7e
+
+# CHECK: v_log_f32_e32 v5, -4.0 ; encoding: [0xf7,0x42,0x0a,0x7e]
+0xf7,0x42,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_log_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x61,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x61,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x61,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x61,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_log_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x61,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x61,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_log_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x61,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x61,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_log_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_log_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_log_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_rcp_f32_e32 v5, v1 ; encoding: [0x01,0x45,0x0a,0x7e]
+0x01,0x45,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v255, v1 ; encoding: [0x01,0x45,0xfe,0x7f]
+0x01,0x45,0xfe,0x7f
+
+# CHECK: v_rcp_f32_e32 v5, v255 ; encoding: [0xff,0x45,0x0a,0x7e]
+0xff,0x45,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, s1 ; encoding: [0x01,0x44,0x0a,0x7e]
+0x01,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, s101 ; encoding: [0x65,0x44,0x0a,0x7e]
+0x65,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x44,0x0a,0x7e]
+0x66,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x44,0x0a,0x7e]
+0x67,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x44,0x0a,0x7e]
+0x6a,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x44,0x0a,0x7e]
+0x6b,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, m0 ; encoding: [0x7c,0x44,0x0a,0x7e]
+0x7c,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, exec_lo ; encoding: [0x7e,0x44,0x0a,0x7e]
+0x7e,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, exec_hi ; encoding: [0x7f,0x44,0x0a,0x7e]
+0x7f,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, 0 ; encoding: [0x80,0x44,0x0a,0x7e]
+0x80,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, -1 ; encoding: [0xc1,0x44,0x0a,0x7e]
+0xc1,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, 0.5 ; encoding: [0xf0,0x44,0x0a,0x7e]
+0xf0,0x44,0x0a,0x7e
+
+# CHECK: v_rcp_f32_e32 v5, -4.0 ; encoding: [0xf7,0x44,0x0a,0x7e]
+0xf7,0x44,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x62,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x62,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x62,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x62,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rcp_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x62,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x62,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x62,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x62,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_rcp_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_rcp_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_rcp_iflag_f32_e32 v5, v1 ; encoding: [0x01,0x47,0x0a,0x7e]
+0x01,0x47,0x0a,0x7e
+
+# CHECK: v_rcp_iflag_f32_e32 v255, v1 ; encoding: [0x01,0x47,0xfe,0x7f]
+0x01,0x47,0xfe,0x7f
+
+# CHECK: v_rcp_iflag_f32_e32 v5, v255 ; encoding: [0xff,0x47,0x0a,0x7e]
+0xff,0x47,0x0a,0x7e
+
+# CHECK: v_rcp_iflag_f32_e32 v5, s1 ; encoding: [0x01,0x46,0x0a,0x7e]
+0x01,0x46,0x0a,0x7e
+
+# CHECK: v_rcp_iflag_f32_e32 v5, s101 ; encoding: [0x65,0x46,0x0a,0x7e]
+0x65,0x46,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x46,0x0a,0x7e]
+0x67,0x46,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x46,0x0a,0x7e]
+0x6b,0x46,0x0a,0x7e
+
+# CHECK: v_rcp_iflag_f32_e32 v5, m0 ; encoding: [0x7c,0x46,0x0a,0x7e]
+0x7c,0x46,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x46,0x0a,0x7e]
+0x7f,0x46,0x0a,0x7e
+
+# CHECK: v_rcp_iflag_f32_e32 v5, 0 ; encoding: [0x80,0x46,0x0a,0x7e]
+0x80,0x46,0x0a,0x7e
+
+# CHECK: v_rcp_iflag_f32_e32 v5, -1 ; encoding: [0xc1,0x46,0x0a,0x7e]
+0xc1,0x46,0x0a,0x7e
+
+# CHECK: v_rcp_iflag_f32_e32 v5, 0.5 ; encoding: [0xf0,0x46,0x0a,0x7e]
+0xf0,0x46,0x0a,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 v5, 0xaf123456 ; encoding: [0xff,0x46,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x46,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# 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 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 v255, v1 ; encoding: [0xff,0x00,0x63,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x63,0xd1,0x01,0x01,0x00,0x00
+
+# 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 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 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 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 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 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 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 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 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 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 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 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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rcp_iflag_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x63,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x63,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_iflag_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x63,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x63,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_iflag_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_rcp_iflag_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_rcp_iflag_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_rsq_f32_e32 v5, v1 ; encoding: [0x01,0x49,0x0a,0x7e]
+0x01,0x49,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v255, v1 ; encoding: [0x01,0x49,0xfe,0x7f]
+0x01,0x49,0xfe,0x7f
+
+# CHECK: v_rsq_f32_e32 v5, v255 ; encoding: [0xff,0x49,0x0a,0x7e]
+0xff,0x49,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, s1 ; encoding: [0x01,0x48,0x0a,0x7e]
+0x01,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, s101 ; encoding: [0x65,0x48,0x0a,0x7e]
+0x65,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x48,0x0a,0x7e]
+0x66,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x48,0x0a,0x7e]
+0x67,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x48,0x0a,0x7e]
+0x6a,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x48,0x0a,0x7e]
+0x6b,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, m0 ; encoding: [0x7c,0x48,0x0a,0x7e]
+0x7c,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, exec_lo ; encoding: [0x7e,0x48,0x0a,0x7e]
+0x7e,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, exec_hi ; encoding: [0x7f,0x48,0x0a,0x7e]
+0x7f,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, 0 ; encoding: [0x80,0x48,0x0a,0x7e]
+0x80,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, -1 ; encoding: [0xc1,0x48,0x0a,0x7e]
+0xc1,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, 0.5 ; encoding: [0xf0,0x48,0x0a,0x7e]
+0xf0,0x48,0x0a,0x7e
+
+# CHECK: v_rsq_f32_e32 v5, -4.0 ; encoding: [0xf7,0x48,0x0a,0x7e]
+0xf7,0x48,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rsq_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x64,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x64,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x64,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x64,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rsq_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x64,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x64,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rsq_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x64,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x64,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rsq_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_rsq_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_rsq_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_rcp_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x4b,0x0a,0x7e]
+0x01,0x4b,0x0a,0x7e
+
+# CHECK: v_rcp_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x4b,0xfc,0x7f]
+0x01,0x4b,0xfc,0x7f
+
+# CHECK: v_rcp_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x4b,0x0a,0x7e]
+0xfe,0x4b,0x0a,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[5:6], s[4:5] ; encoding: [0x04,0x4a,0x0a,0x7e]
+0x04,0x4a,0x0a,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[5:6], flat_scratch ; encoding: [0x66,0x4a,0x0a,0x7e]
+0x66,0x4a,0x0a,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[5:6], exec ; encoding: [0x7e,0x4a,0x0a,0x7e]
+0x7e,0x4a,0x0a,0x7e
+
+# CHECK: v_rcp_f64_e32 v[5:6], 0 ; encoding: [0x80,0x4a,0x0a,0x7e]
+0x80,0x4a,0x0a,0x7e
+
+# CHECK: v_rcp_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x4a,0x0a,0x7e]
+0xc1,0x4a,0x0a,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[5:6], -4.0 ; encoding: [0xf7,0x4a,0x0a,0x7e]
+0xf7,0x4a,0x0a,0x7e
+
+# 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_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[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[254:255], v[1:2] ; encoding: [0xfe,0x00,0x65,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x65,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[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[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[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[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[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[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[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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rcp_f64_e64 v[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x65,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x65,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x65,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x65,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_rcp_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_rcp_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_rsq_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x4d,0x0a,0x7e]
+0x01,0x4d,0x0a,0x7e
+
+# CHECK: v_rsq_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x4d,0xfc,0x7f]
+0x01,0x4d,0xfc,0x7f
+
+# CHECK: v_rsq_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x4d,0x0a,0x7e]
+0xfe,0x4d,0x0a,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[5:6], s[4:5] ; encoding: [0x04,0x4c,0x0a,0x7e]
+0x04,0x4c,0x0a,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[5:6], flat_scratch ; encoding: [0x66,0x4c,0x0a,0x7e]
+0x66,0x4c,0x0a,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[5:6], exec ; encoding: [0x7e,0x4c,0x0a,0x7e]
+0x7e,0x4c,0x0a,0x7e
+
+# CHECK: v_rsq_f64_e32 v[5:6], 0 ; encoding: [0x80,0x4c,0x0a,0x7e]
+0x80,0x4c,0x0a,0x7e
+
+# CHECK: v_rsq_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x4c,0x0a,0x7e]
+0xc1,0x4c,0x0a,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[5:6], -4.0 ; encoding: [0xf7,0x4c,0x0a,0x7e]
+0xf7,0x4c,0x0a,0x7e
+
+# 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_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[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[254:255], v[1:2] ; encoding: [0xfe,0x00,0x66,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x66,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[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[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[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[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[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[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[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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rsq_f64_e64 v[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x66,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x66,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rsq_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x66,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x66,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rsq_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_rsq_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_rsq_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_sqrt_f32_e32 v5, v1 ; encoding: [0x01,0x4f,0x0a,0x7e]
+0x01,0x4f,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v255, v1 ; encoding: [0x01,0x4f,0xfe,0x7f]
+0x01,0x4f,0xfe,0x7f
+
+# CHECK: v_sqrt_f32_e32 v5, v255 ; encoding: [0xff,0x4f,0x0a,0x7e]
+0xff,0x4f,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, s1 ; encoding: [0x01,0x4e,0x0a,0x7e]
+0x01,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, s101 ; encoding: [0x65,0x4e,0x0a,0x7e]
+0x65,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x4e,0x0a,0x7e]
+0x66,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x4e,0x0a,0x7e]
+0x67,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x4e,0x0a,0x7e]
+0x6a,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x4e,0x0a,0x7e]
+0x6b,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, m0 ; encoding: [0x7c,0x4e,0x0a,0x7e]
+0x7c,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, exec_lo ; encoding: [0x7e,0x4e,0x0a,0x7e]
+0x7e,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, exec_hi ; encoding: [0x7f,0x4e,0x0a,0x7e]
+0x7f,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, 0 ; encoding: [0x80,0x4e,0x0a,0x7e]
+0x80,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, -1 ; encoding: [0xc1,0x4e,0x0a,0x7e]
+0xc1,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, 0.5 ; encoding: [0xf0,0x4e,0x0a,0x7e]
+0xf0,0x4e,0x0a,0x7e
+
+# CHECK: v_sqrt_f32_e32 v5, -4.0 ; encoding: [0xf7,0x4e,0x0a,0x7e]
+0xf7,0x4e,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sqrt_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x67,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x67,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x67,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x67,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_sqrt_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x67,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x67,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sqrt_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x67,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x67,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sqrt_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_sqrt_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_sqrt_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_sqrt_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x51,0x0a,0x7e]
+0x01,0x51,0x0a,0x7e
+
+# CHECK: v_sqrt_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x51,0xfc,0x7f]
+0x01,0x51,0xfc,0x7f
+
+# CHECK: v_sqrt_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x51,0x0a,0x7e]
+0xfe,0x51,0x0a,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[5:6], s[4:5] ; encoding: [0x04,0x50,0x0a,0x7e]
+0x04,0x50,0x0a,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[5:6], flat_scratch ; encoding: [0x66,0x50,0x0a,0x7e]
+0x66,0x50,0x0a,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[5:6], exec ; encoding: [0x7e,0x50,0x0a,0x7e]
+0x7e,0x50,0x0a,0x7e
+
+# CHECK: v_sqrt_f64_e32 v[5:6], 0 ; encoding: [0x80,0x50,0x0a,0x7e]
+0x80,0x50,0x0a,0x7e
+
+# CHECK: v_sqrt_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x50,0x0a,0x7e]
+0xc1,0x50,0x0a,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[5:6], -4.0 ; encoding: [0xf7,0x50,0x0a,0x7e]
+0xf7,0x50,0x0a,0x7e
+
+# 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_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[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[254:255], v[1:2] ; encoding: [0xfe,0x00,0x68,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x68,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[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[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[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[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[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[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[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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_sqrt_f64_e64 v[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x68,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x68,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sqrt_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x68,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x68,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sqrt_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_sqrt_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_sqrt_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_sin_f32_e32 v5, v1 ; encoding: [0x01,0x53,0x0a,0x7e]
+0x01,0x53,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v255, v1 ; encoding: [0x01,0x53,0xfe,0x7f]
+0x01,0x53,0xfe,0x7f
+
+# CHECK: v_sin_f32_e32 v5, v255 ; encoding: [0xff,0x53,0x0a,0x7e]
+0xff,0x53,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, s1 ; encoding: [0x01,0x52,0x0a,0x7e]
+0x01,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, s101 ; encoding: [0x65,0x52,0x0a,0x7e]
+0x65,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x52,0x0a,0x7e]
+0x66,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x52,0x0a,0x7e]
+0x67,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x52,0x0a,0x7e]
+0x6a,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x52,0x0a,0x7e]
+0x6b,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, m0 ; encoding: [0x7c,0x52,0x0a,0x7e]
+0x7c,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, exec_lo ; encoding: [0x7e,0x52,0x0a,0x7e]
+0x7e,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, exec_hi ; encoding: [0x7f,0x52,0x0a,0x7e]
+0x7f,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, 0 ; encoding: [0x80,0x52,0x0a,0x7e]
+0x80,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, -1 ; encoding: [0xc1,0x52,0x0a,0x7e]
+0xc1,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, 0.5 ; encoding: [0xf0,0x52,0x0a,0x7e]
+0xf0,0x52,0x0a,0x7e
+
+# CHECK: v_sin_f32_e32 v5, -4.0 ; encoding: [0xf7,0x52,0x0a,0x7e]
+0xf7,0x52,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sin_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x69,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x69,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x69,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x69,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_sin_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x69,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x69,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sin_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x69,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x69,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sin_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_sin_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_sin_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cos_f32_e32 v5, v1 ; encoding: [0x01,0x55,0x0a,0x7e]
+0x01,0x55,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v255, v1 ; encoding: [0x01,0x55,0xfe,0x7f]
+0x01,0x55,0xfe,0x7f
+
+# CHECK: v_cos_f32_e32 v5, v255 ; encoding: [0xff,0x55,0x0a,0x7e]
+0xff,0x55,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, s1 ; encoding: [0x01,0x54,0x0a,0x7e]
+0x01,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, s101 ; encoding: [0x65,0x54,0x0a,0x7e]
+0x65,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x54,0x0a,0x7e]
+0x66,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x54,0x0a,0x7e]
+0x67,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x54,0x0a,0x7e]
+0x6a,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x54,0x0a,0x7e]
+0x6b,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, m0 ; encoding: [0x7c,0x54,0x0a,0x7e]
+0x7c,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, exec_lo ; encoding: [0x7e,0x54,0x0a,0x7e]
+0x7e,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, exec_hi ; encoding: [0x7f,0x54,0x0a,0x7e]
+0x7f,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, 0 ; encoding: [0x80,0x54,0x0a,0x7e]
+0x80,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, -1 ; encoding: [0xc1,0x54,0x0a,0x7e]
+0xc1,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, 0.5 ; encoding: [0xf0,0x54,0x0a,0x7e]
+0xf0,0x54,0x0a,0x7e
+
+# CHECK: v_cos_f32_e32 v5, -4.0 ; encoding: [0xf7,0x54,0x0a,0x7e]
+0xf7,0x54,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cos_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00
+
+# 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 v5, s1 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x01,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 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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x6a,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x6a,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x80,0x00,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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cos_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x6a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x6a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cos_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x6a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x6a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cos_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_cos_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_cos_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_not_b32_e32 v5, v1 ; encoding: [0x01,0x57,0x0a,0x7e]
+0x01,0x57,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v255, v1 ; encoding: [0x01,0x57,0xfe,0x7f]
+0x01,0x57,0xfe,0x7f
+
+# CHECK: v_not_b32_e32 v5, v255 ; encoding: [0xff,0x57,0x0a,0x7e]
+0xff,0x57,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, s1 ; encoding: [0x01,0x56,0x0a,0x7e]
+0x01,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, s101 ; encoding: [0x65,0x56,0x0a,0x7e]
+0x65,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x56,0x0a,0x7e]
+0x66,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x56,0x0a,0x7e]
+0x67,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x56,0x0a,0x7e]
+0x6a,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x56,0x0a,0x7e]
+0x6b,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, m0 ; encoding: [0x7c,0x56,0x0a,0x7e]
+0x7c,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, exec_lo ; encoding: [0x7e,0x56,0x0a,0x7e]
+0x7e,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, exec_hi ; encoding: [0x7f,0x56,0x0a,0x7e]
+0x7f,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, 0 ; encoding: [0x80,0x56,0x0a,0x7e]
+0x80,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, -1 ; encoding: [0xc1,0x56,0x0a,0x7e]
+0xc1,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, 0.5 ; encoding: [0xf0,0x56,0x0a,0x7e]
+0xf0,0x56,0x0a,0x7e
+
+# CHECK: v_not_b32_e32 v5, -4.0 ; encoding: [0xf7,0x56,0x0a,0x7e]
+0xf7,0x56,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_not_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v5, s101 ; encoding: [0x05,0x00,0x6b,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x65,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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x6b,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x6b,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x80,0x00,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 v5, 0.5 ; encoding: [0x05,0x00,0x6b,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0xf0,0x00,0x00,0x00
+
+# 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 v5, v1 ; encoding: [0x01,0x59,0x0a,0x7e]
+0x01,0x59,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v255, v1 ; encoding: [0x01,0x59,0xfe,0x7f]
+0x01,0x59,0xfe,0x7f
+
+# CHECK: v_bfrev_b32_e32 v5, v255 ; encoding: [0xff,0x59,0x0a,0x7e]
+0xff,0x59,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, s1 ; encoding: [0x01,0x58,0x0a,0x7e]
+0x01,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, s101 ; encoding: [0x65,0x58,0x0a,0x7e]
+0x65,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x58,0x0a,0x7e]
+0x66,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x58,0x0a,0x7e]
+0x67,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x58,0x0a,0x7e]
+0x6a,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x58,0x0a,0x7e]
+0x6b,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, m0 ; encoding: [0x7c,0x58,0x0a,0x7e]
+0x7c,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, exec_lo ; encoding: [0x7e,0x58,0x0a,0x7e]
+0x7e,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, exec_hi ; encoding: [0x7f,0x58,0x0a,0x7e]
+0x7f,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, 0 ; encoding: [0x80,0x58,0x0a,0x7e]
+0x80,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, -1 ; encoding: [0xc1,0x58,0x0a,0x7e]
+0xc1,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, 0.5 ; encoding: [0xf0,0x58,0x0a,0x7e]
+0xf0,0x58,0x0a,0x7e
+
+# CHECK: v_bfrev_b32_e32 v5, -4.0 ; encoding: [0xf7,0x58,0x0a,0x7e]
+0xf7,0x58,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_bfrev_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v5, s101 ; encoding: [0x05,0x00,0x6c,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x65,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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x6c,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x6c,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x80,0x00,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 v5, 0.5 ; encoding: [0x05,0x00,0x6c,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0xf0,0x00,0x00,0x00
+
+# 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 v5, v1 ; encoding: [0x01,0x5b,0x0a,0x7e]
+0x01,0x5b,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v255, v1 ; encoding: [0x01,0x5b,0xfe,0x7f]
+0x01,0x5b,0xfe,0x7f
+
+# CHECK: v_ffbh_u32_e32 v5, v255 ; encoding: [0xff,0x5b,0x0a,0x7e]
+0xff,0x5b,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, s1 ; encoding: [0x01,0x5a,0x0a,0x7e]
+0x01,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, s101 ; encoding: [0x65,0x5a,0x0a,0x7e]
+0x65,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x5a,0x0a,0x7e]
+0x66,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x5a,0x0a,0x7e]
+0x67,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, vcc_lo ; encoding: [0x6a,0x5a,0x0a,0x7e]
+0x6a,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, vcc_hi ; encoding: [0x6b,0x5a,0x0a,0x7e]
+0x6b,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, m0 ; encoding: [0x7c,0x5a,0x0a,0x7e]
+0x7c,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, exec_lo ; encoding: [0x7e,0x5a,0x0a,0x7e]
+0x7e,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, exec_hi ; encoding: [0x7f,0x5a,0x0a,0x7e]
+0x7f,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, 0 ; encoding: [0x80,0x5a,0x0a,0x7e]
+0x80,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, -1 ; encoding: [0xc1,0x5a,0x0a,0x7e]
+0xc1,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, 0.5 ; encoding: [0xf0,0x5a,0x0a,0x7e]
+0xf0,0x5a,0x0a,0x7e
+
+# CHECK: v_ffbh_u32_e32 v5, -4.0 ; encoding: [0xf7,0x5a,0x0a,0x7e]
+0xf7,0x5a,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ffbh_u32_e64 v255, v1 ; encoding: [0xff,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v5, s101 ; encoding: [0x05,0x00,0x6d,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x65,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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x6d,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x6d,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x80,0x00,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 v5, 0.5 ; encoding: [0x05,0x00,0x6d,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0xf0,0x00,0x00,0x00
+
+# 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 v5, v1 ; encoding: [0x01,0x5d,0x0a,0x7e]
+0x01,0x5d,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v255, v1 ; encoding: [0x01,0x5d,0xfe,0x7f]
+0x01,0x5d,0xfe,0x7f
+
+# CHECK: v_ffbl_b32_e32 v5, v255 ; encoding: [0xff,0x5d,0x0a,0x7e]
+0xff,0x5d,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, s1 ; encoding: [0x01,0x5c,0x0a,0x7e]
+0x01,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, s101 ; encoding: [0x65,0x5c,0x0a,0x7e]
+0x65,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x5c,0x0a,0x7e]
+0x66,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x5c,0x0a,0x7e]
+0x67,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x5c,0x0a,0x7e]
+0x6a,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x5c,0x0a,0x7e]
+0x6b,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, m0 ; encoding: [0x7c,0x5c,0x0a,0x7e]
+0x7c,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, exec_lo ; encoding: [0x7e,0x5c,0x0a,0x7e]
+0x7e,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, exec_hi ; encoding: [0x7f,0x5c,0x0a,0x7e]
+0x7f,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, 0 ; encoding: [0x80,0x5c,0x0a,0x7e]
+0x80,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, -1 ; encoding: [0xc1,0x5c,0x0a,0x7e]
+0xc1,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, 0.5 ; encoding: [0xf0,0x5c,0x0a,0x7e]
+0xf0,0x5c,0x0a,0x7e
+
+# CHECK: v_ffbl_b32_e32 v5, -4.0 ; encoding: [0xf7,0x5c,0x0a,0x7e]
+0xf7,0x5c,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ffbl_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v5, s101 ; encoding: [0x05,0x00,0x6e,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x65,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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x6e,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x6e,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x80,0x00,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 v5, 0.5 ; encoding: [0x05,0x00,0x6e,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0xf0,0x00,0x00,0x00
+
+# 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 v5, v1 ; encoding: [0x01,0x5f,0x0a,0x7e]
+0x01,0x5f,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v255, v1 ; encoding: [0x01,0x5f,0xfe,0x7f]
+0x01,0x5f,0xfe,0x7f
+
+# CHECK: v_ffbh_i32_e32 v5, v255 ; encoding: [0xff,0x5f,0x0a,0x7e]
+0xff,0x5f,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, s1 ; encoding: [0x01,0x5e,0x0a,0x7e]
+0x01,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, s101 ; encoding: [0x65,0x5e,0x0a,0x7e]
+0x65,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x5e,0x0a,0x7e]
+0x66,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x5e,0x0a,0x7e]
+0x67,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, vcc_lo ; encoding: [0x6a,0x5e,0x0a,0x7e]
+0x6a,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, vcc_hi ; encoding: [0x6b,0x5e,0x0a,0x7e]
+0x6b,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, m0 ; encoding: [0x7c,0x5e,0x0a,0x7e]
+0x7c,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, exec_lo ; encoding: [0x7e,0x5e,0x0a,0x7e]
+0x7e,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, exec_hi ; encoding: [0x7f,0x5e,0x0a,0x7e]
+0x7f,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, 0 ; encoding: [0x80,0x5e,0x0a,0x7e]
+0x80,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, -1 ; encoding: [0xc1,0x5e,0x0a,0x7e]
+0xc1,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, 0.5 ; encoding: [0xf0,0x5e,0x0a,0x7e]
+0xf0,0x5e,0x0a,0x7e
+
+# CHECK: v_ffbh_i32_e32 v5, -4.0 ; encoding: [0xf7,0x5e,0x0a,0x7e]
+0xf7,0x5e,0x0a,0x7e
+
+# 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_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 v5, v1 ; encoding: [0x05,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ffbh_i32_e64 v255, v1 ; encoding: [0xff,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 v5, s101 ; encoding: [0x05,0x00,0x6f,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x65,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 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 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 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 v5, m0 ; encoding: [0x05,0x00,0x6f,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x7c,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 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 v5, 0 ; encoding: [0x05,0x00,0x6f,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x80,0x00,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 v5, 0.5 ; encoding: [0x05,0x00,0x6f,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0xf0,0x00,0x00,0x00
+
+# 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 v5, v[1:2] ; encoding: [0x01,0x61,0x0a,0x7e]
+0x01,0x61,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i32_f64_e32 v255, v[1:2] ; encoding: [0x01,0x61,0xfe,0x7f]
+0x01,0x61,0xfe,0x7f
+
+# 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_e32 v5, s[2:3] ; encoding: [0x02,0x60,0x0a,0x7e]
+0x02,0x60,0x0a,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 v5, s[100:101] ; encoding: [0x64,0x60,0x0a,0x7e]
+0x64,0x60,0x0a,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 v5, vcc ; encoding: [0x6a,0x60,0x0a,0x7e]
+0x6a,0x60,0x0a,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 v5, 0 ; encoding: [0x80,0x60,0x0a,0x7e]
+0x80,0x60,0x0a,0x7e
+
+# 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 v5, 0.5 ; encoding: [0xf0,0x60,0x0a,0x7e]
+0xf0,0x60,0x0a,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_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_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 v5, v[1:2] ; encoding: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_exp_i32_f64_e64 v255, v[1:2] ; encoding: [0xff,0x00,0x70,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x70,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 v5, -v[1:2] ; encoding: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_frexp_exp_i32_f64_e64 v5, |v[1:2]| ; encoding: [0x05,0x01,0x70,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x70,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_exp_i32_f64_e64 v5, v[1:2] clamp ; encoding: [0x05,0x80,0x70,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x70,0xd1,0x01,0x01,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_e32 v[254:255], v[1:2] ; encoding: [0x01,0x63,0xfc,0x7f]
+0x01,0x63,0xfc,0x7f
+
+# 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_e32 v[5:6], s[2:3] ; encoding: [0x02,0x62,0x0a,0x7e]
+0x02,0x62,0x0a,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[5:6], s[100:101] ; encoding: [0x64,0x62,0x0a,0x7e]
+0x64,0x62,0x0a,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[5:6], vcc ; encoding: [0x6a,0x62,0x0a,0x7e]
+0x6a,0x62,0x0a,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[5:6], 0 ; encoding: [0x80,0x62,0x0a,0x7e]
+0x80,0x62,0x0a,0x7e
+
+# 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[5:6], 0.5 ; encoding: [0xf0,0x62,0x0a,0x7e]
+0xf0,0x62,0x0a,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_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_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[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[254:255], v[1:2] ; encoding: [0xfe,0x00,0x71,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x71,0xd1,0x01,0x01,0x00,0x00
+
+# 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[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[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[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[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[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[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[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[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[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[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[5:6], -v[1:2] ; encoding: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_frexp_mant_f64_e64 v[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x71,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x71,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_mant_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x71,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x71,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_mant_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_frexp_mant_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_frexp_mant_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_fract_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x65,0x0a,0x7e]
+0x01,0x65,0x0a,0x7e
+
+# CHECK: v_fract_f64_e32 v[254:255], v[1:2] ; encoding: [0x01,0x65,0xfc,0x7f]
+0x01,0x65,0xfc,0x7f
+
+# CHECK: v_fract_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x65,0x0a,0x7e]
+0xfe,0x65,0x0a,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[5:6], s[4:5] ; encoding: [0x04,0x64,0x0a,0x7e]
+0x04,0x64,0x0a,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[5:6], flat_scratch ; encoding: [0x66,0x64,0x0a,0x7e]
+0x66,0x64,0x0a,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[5:6], exec ; encoding: [0x7e,0x64,0x0a,0x7e]
+0x7e,0x64,0x0a,0x7e
+
+# CHECK: v_fract_f64_e32 v[5:6], 0 ; encoding: [0x80,0x64,0x0a,0x7e]
+0x80,0x64,0x0a,0x7e
+
+# CHECK: v_fract_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x64,0x0a,0x7e]
+0xc1,0x64,0x0a,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[5:6], -4.0 ; encoding: [0xf7,0x64,0x0a,0x7e]
+0xf7,0x64,0x0a,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_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_fract_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[254:255], v[1:2] ; encoding: [0xfe,0x00,0x72,0xd1,0x01,0x01,0x00,0x00]
+0xfe,0x00,0x72,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x72,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x72,0xd1,0xfe,0x01,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x72,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x04,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x72,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x64,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x72,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x72,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x72,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x72,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x72,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x72,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x72,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x72,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], -v[1:2] ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_fract_f64_e64 v[5:6], |v[1:2]| ; encoding: [0x05,0x01,0x72,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x72,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], v[1:2] clamp ; encoding: [0x05,0x80,0x72,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x72,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f64_e64 v[5:6], v[1:2] mul:2 ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_fract_f64_e64 v[5:6], v[1:2] mul:4 ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_fract_f64_e64 v[5:6], v[1:2] div:2 ; encoding: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_frexp_exp_i32_f32_e32 v5, v1 ; encoding: [0x01,0x67,0x0a,0x7e]
+0x01,0x67,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i32_f32_e32 v255, v1 ; encoding: [0x01,0x67,0xfe,0x7f]
+0x01,0x67,0xfe,0x7f
+
+# CHECK: v_frexp_exp_i32_f32_e32 v5, v255 ; encoding: [0xff,0x67,0x0a,0x7e]
+0xff,0x67,0x0a,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 v5, s101 ; encoding: [0x65,0x66,0x0a,0x7e]
+0x65,0x66,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x66,0x0a,0x7e]
+0x67,0x66,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x66,0x0a,0x7e]
+0x6b,0x66,0x0a,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 v5, exec_lo ; encoding: [0x7e,0x66,0x0a,0x7e]
+0x7e,0x66,0x0a,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 v5, 0 ; encoding: [0x80,0x66,0x0a,0x7e]
+0x80,0x66,0x0a,0x7e
+
+# 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 v5, 0.5 ; encoding: [0xf0,0x66,0x0a,0x7e]
+0xf0,0x66,0x0a,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 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_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 v5, v1 ; encoding: [0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_exp_i32_f32_e64 v255, v1 ; encoding: [0xff,0x00,0x73,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x73,0xd1,0x01,0x01,0x00,0x00
+
+# 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_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 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 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 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 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 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 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 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 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 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 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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_frexp_exp_i32_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x73,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x73,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_exp_i32_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x73,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x73,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_mant_f32_e32 v5, v1 ; encoding: [0x01,0x69,0x0a,0x7e]
+0x01,0x69,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f32_e32 v255, v1 ; encoding: [0x01,0x69,0xfe,0x7f]
+0x01,0x69,0xfe,0x7f
+
+# CHECK: v_frexp_mant_f32_e32 v5, v255 ; encoding: [0xff,0x69,0x0a,0x7e]
+0xff,0x69,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f32_e32 v5, s1 ; encoding: [0x01,0x68,0x0a,0x7e]
+0x01,0x68,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f32_e32 v5, s101 ; encoding: [0x65,0x68,0x0a,0x7e]
+0x65,0x68,0x0a,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 v5, flat_scratch_hi ; encoding: [0x67,0x68,0x0a,0x7e]
+0x67,0x68,0x0a,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 v5, vcc_hi ; encoding: [0x6b,0x68,0x0a,0x7e]
+0x6b,0x68,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f32_e32 v5, m0 ; encoding: [0x7c,0x68,0x0a,0x7e]
+0x7c,0x68,0x0a,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 v5, exec_hi ; encoding: [0x7f,0x68,0x0a,0x7e]
+0x7f,0x68,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f32_e32 v5, 0 ; encoding: [0x80,0x68,0x0a,0x7e]
+0x80,0x68,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f32_e32 v5, -1 ; encoding: [0xc1,0x68,0x0a,0x7e]
+0xc1,0x68,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f32_e32 v5, 0.5 ; encoding: [0xf0,0x68,0x0a,0x7e]
+0xf0,0x68,0x0a,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 v5, 0xaf123456 ; encoding: [0xff,0x68,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x68,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# 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 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 v255, v1 ; encoding: [0xff,0x00,0x74,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x74,0xd1,0x01,0x01,0x00,0x00
+
+# 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 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 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 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 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 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 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 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 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 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 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 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 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 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 v5, -v1 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_frexp_mant_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x74,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x74,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_mant_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x74,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x74,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_mant_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_frexp_mant_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_frexp_mant_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_cvt_f16_u16_e32 v5, v1 ; encoding: [0x01,0x73,0x0a,0x7e]
+0x01,0x73,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v255, v1 ; encoding: [0x01,0x73,0xfe,0x7f]
+0x01,0x73,0xfe,0x7f
+
+# CHECK: v_cvt_f16_u16_e32 v5, v255 ; encoding: [0xff,0x73,0x0a,0x7e]
+0xff,0x73,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, s1 ; encoding: [0x01,0x72,0x0a,0x7e]
+0x01,0x72,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x79,0xd1,0x01,0x01,0x00,0x00]
+0xff,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_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 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, 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, v1 clamp ; encoding: [0x05,0x80,0x79,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x79,0xd1,0x01,0x01,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 v255, v1 ; encoding: [0x01,0x75,0xfe,0x7f]
+0x01,0x75,0xfe,0x7f
+
+# CHECK: v_cvt_f16_i16_e32 v5, v255 ; encoding: [0xff,0x75,0x0a,0x7e]
+0xff,0x75,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, s1 ; encoding: [0x01,0x74,0x0a,0x7e]
+0x01,0x74,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x7a,0xd1,0x01,0x01,0x00,0x00]
+0xff,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_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 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, 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, v1 clamp ; encoding: [0x05,0x80,0x7a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7a,0xd1,0x01,0x01,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 v255, v1 ; encoding: [0x01,0x77,0xfe,0x7f]
+0x01,0x77,0xfe,0x7f
+
+# CHECK: v_cvt_u16_f16_e32 v5, v255 ; encoding: [0xff,0x77,0x0a,0x7e]
+0xff,0x77,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, s1 ; encoding: [0x01,0x76,0x0a,0x7e]
+0x01,0x76,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x7b,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_u16_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x7b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x7b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x7b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7b,0xd1,0x01,0x01,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 v255, v1 ; encoding: [0x01,0x79,0xfe,0x7f]
+0x01,0x79,0xfe,0x7f
+
+# CHECK: v_cvt_i16_f16_e32 v5, v255 ; encoding: [0xff,0x79,0x0a,0x7e]
+0xff,0x79,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, s1 ; encoding: [0x01,0x78,0x0a,0x7e]
+0x01,0x78,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x7c,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cvt_i16_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x7c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x7c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x7c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_f16_e32 v5, v1 ; encoding: [0x01,0x7b,0x0a,0x7e]
+0x01,0x7b,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v255, v1 ; encoding: [0x01,0x7b,0xfe,0x7f]
+0x01,0x7b,0xfe,0x7f
+
+# CHECK: v_rcp_f16_e32 v5, v255 ; encoding: [0xff,0x7b,0x0a,0x7e]
+0xff,0x7b,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, s1 ; encoding: [0x01,0x7a,0x0a,0x7e]
+0x01,0x7a,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x7d,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rcp_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x7d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x7d,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x7d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7d,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sqrt_f16_e32 v5, v1 ; encoding: [0x01,0x7d,0x0a,0x7e]
+0x01,0x7d,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v255, v1 ; encoding: [0x01,0x7d,0xfe,0x7f]
+0x01,0x7d,0xfe,0x7f
+
+# CHECK: v_sqrt_f16_e32 v5, v255 ; encoding: [0xff,0x7d,0x0a,0x7e]
+0xff,0x7d,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, s1 ; encoding: [0x01,0x7c,0x0a,0x7e]
+0x01,0x7c,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x7e,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_sqrt_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x7e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x7e,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x7e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7e,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rsq_f16_e32 v5, v1 ; encoding: [0x01,0x7f,0x0a,0x7e]
+0x01,0x7f,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v255, v1 ; encoding: [0x01,0x7f,0xfe,0x7f]
+0x01,0x7f,0xfe,0x7f
+
+# CHECK: v_rsq_f16_e32 v5, v255 ; encoding: [0xff,0x7f,0x0a,0x7e]
+0xff,0x7f,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, s1 ; encoding: [0x01,0x7e,0x0a,0x7e]
+0x01,0x7e,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x7f,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rsq_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x7f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x7f,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x7f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x7f,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_log_f16_e32 v5, v1 ; encoding: [0x01,0x81,0x0a,0x7e]
+0x01,0x81,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v255, v1 ; encoding: [0x01,0x81,0xfe,0x7f]
+0x01,0x81,0xfe,0x7f
+
+# CHECK: v_log_f16_e32 v5, v255 ; encoding: [0xff,0x81,0x0a,0x7e]
+0xff,0x81,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, s1 ; encoding: [0x01,0x80,0x0a,0x7e]
+0x01,0x80,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x80,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_log_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x80,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x80,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x80,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x80,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_f16_e32 v5, v1 ; encoding: [0x01,0x83,0x0a,0x7e]
+0x01,0x83,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v255, v1 ; encoding: [0x01,0x83,0xfe,0x7f]
+0x01,0x83,0xfe,0x7f
+
+# CHECK: v_exp_f16_e32 v5, v255 ; encoding: [0xff,0x83,0x0a,0x7e]
+0xff,0x83,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, s1 ; encoding: [0x01,0x82,0x0a,0x7e]
+0x01,0x82,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x81,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_exp_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x81,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x81,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x81,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x81,0xd1,0x01,0x01,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 v255, v1 ; encoding: [0x01,0x85,0xfe,0x7f]
+0x01,0x85,0xfe,0x7f
+
+# CHECK: v_frexp_mant_f16_e32 v5, v255 ; encoding: [0xff,0x85,0x0a,0x7e]
+0xff,0x85,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, s1 ; encoding: [0x01,0x84,0x0a,0x7e]
+0x01,0x84,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x82,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_frexp_mant_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x82,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x82,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x82,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x82,0xd1,0x01,0x01,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 v255, v1 ; encoding: [0x01,0x87,0xfe,0x7f]
+0x01,0x87,0xfe,0x7f
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, v255 ; encoding: [0xff,0x87,0x0a,0x7e]
+0xff,0x87,0x0a,0x7e
+
+# 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 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x83,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x83,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x83,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x83,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x83,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_floor_f16_e32 v5, v1 ; encoding: [0x01,0x89,0x0a,0x7e]
+0x01,0x89,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v255, v1 ; encoding: [0x01,0x89,0xfe,0x7f]
+0x01,0x89,0xfe,0x7f
+
+# CHECK: v_floor_f16_e32 v5, v255 ; encoding: [0xff,0x89,0x0a,0x7e]
+0xff,0x89,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, s1 ; encoding: [0x01,0x88,0x0a,0x7e]
+0x01,0x88,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x84,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_floor_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x84,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x84,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x84,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x84,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ceil_f16_e32 v5, v1 ; encoding: [0x01,0x8b,0x0a,0x7e]
+0x01,0x8b,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v255, v1 ; encoding: [0x01,0x8b,0xfe,0x7f]
+0x01,0x8b,0xfe,0x7f
+
+# CHECK: v_ceil_f16_e32 v5, v255 ; encoding: [0xff,0x8b,0x0a,0x7e]
+0xff,0x8b,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, s1 ; encoding: [0x01,0x8a,0x0a,0x7e]
+0x01,0x8a,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x85,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_ceil_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x85,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x85,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x85,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x85,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_trunc_f16_e32 v5, v1 ; encoding: [0x01,0x8d,0x0a,0x7e]
+0x01,0x8d,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v255, v1 ; encoding: [0x01,0x8d,0xfe,0x7f]
+0x01,0x8d,0xfe,0x7f
+
+# CHECK: v_trunc_f16_e32 v5, v255 ; encoding: [0xff,0x8d,0x0a,0x7e]
+0xff,0x8d,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, s1 ; encoding: [0x01,0x8c,0x0a,0x7e]
+0x01,0x8c,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x86,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_trunc_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x86,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x86,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x86,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x86,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rndne_f16_e32 v5, v1 ; encoding: [0x01,0x8f,0x0a,0x7e]
+0x01,0x8f,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v255, v1 ; encoding: [0x01,0x8f,0xfe,0x7f]
+0x01,0x8f,0xfe,0x7f
+
+# CHECK: v_rndne_f16_e32 v5, v255 ; encoding: [0xff,0x8f,0x0a,0x7e]
+0xff,0x8f,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, s1 ; encoding: [0x01,0x8e,0x0a,0x7e]
+0x01,0x8e,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x87,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_rndne_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x87,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x87,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x87,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x87,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f16_e32 v5, v1 ; encoding: [0x01,0x91,0x0a,0x7e]
+0x01,0x91,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v255, v1 ; encoding: [0x01,0x91,0xfe,0x7f]
+0x01,0x91,0xfe,0x7f
+
+# CHECK: v_fract_f16_e32 v5, v255 ; encoding: [0xff,0x91,0x0a,0x7e]
+0xff,0x91,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, s1 ; encoding: [0x01,0x90,0x0a,0x7e]
+0x01,0x90,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x88,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_fract_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x88,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x88,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x88,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x88,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sin_f16_e32 v5, v1 ; encoding: [0x01,0x93,0x0a,0x7e]
+0x01,0x93,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v255, v1 ; encoding: [0x01,0x93,0xfe,0x7f]
+0x01,0x93,0xfe,0x7f
+
+# CHECK: v_sin_f16_e32 v5, v255 ; encoding: [0xff,0x93,0x0a,0x7e]
+0xff,0x93,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, s1 ; encoding: [0x01,0x92,0x0a,0x7e]
+0x01,0x92,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x89,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_sin_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x89,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x89,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x89,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x89,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cos_f16_e32 v5, v1 ; encoding: [0x01,0x95,0x0a,0x7e]
+0x01,0x95,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v255, v1 ; encoding: [0x01,0x95,0xfe,0x7f]
+0x01,0x95,0xfe,0x7f
+
+# CHECK: v_cos_f16_e32 v5, v255 ; encoding: [0xff,0x95,0x0a,0x7e]
+0xff,0x95,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, s1 ; encoding: [0x01,0x94,0x0a,0x7e]
+0x01,0x94,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x8a,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_cos_f16_e64 v5, |v1| ; encoding: [0x05,0x01,0x8a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x8a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x8a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x8a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e32 v5, v1 ; encoding: [0x01,0x97,0x0a,0x7e]
+0x01,0x97,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v255, v1 ; encoding: [0x01,0x97,0xfe,0x7f]
+0x01,0x97,0xfe,0x7f
+
+# CHECK: v_exp_legacy_f32_e32 v5, v255 ; encoding: [0xff,0x97,0x0a,0x7e]
+0xff,0x97,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, s1 ; encoding: [0x01,0x96,0x0a,0x7e]
+0x01,0x96,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x8b,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_exp_legacy_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x8b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x8b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x8b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x8b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_exp_legacy_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_exp_legacy_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_log_legacy_f32_e32 v5, v1 ; encoding: [0x01,0x99,0x0a,0x7e]
+0x01,0x99,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v255, v1 ; encoding: [0x01,0x99,0xfe,0x7f]
+0x01,0x99,0xfe,0x7f
+
+# CHECK: v_log_legacy_f32_e32 v5, v255 ; encoding: [0xff,0x99,0x0a,0x7e]
+0xff,0x99,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, s1 ; encoding: [0x01,0x98,0x0a,0x7e]
+0x01,0x98,0x0a,0x7e
+
+# 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, 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, 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_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 v255, v1 ; encoding: [0xff,0x00,0x8c,0xd1,0x01,0x01,0x00,0x00]
+0xff,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,0x00]
+0x05,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, 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, -v1 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x20]
+0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x20
+
+# CHECK: v_log_legacy_f32_e64 v5, |v1| ; encoding: [0x05,0x01,0x8c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x01,0x8c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, v1 clamp ; encoding: [0x05,0x80,0x8c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x80,0x8c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, v1 mul:2 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x08]
+0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x08
+
+# CHECK: v_log_legacy_f32_e64 v5, v1 mul:4 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x10]
+0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x10
+
+# CHECK: v_log_legacy_f32_e64 v5, v1 div:2 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x18]
+0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x18
+
+# CHECK: v_swap_b32 v5, v1 ; encoding: [0x01,0xa3,0x0a,0x7e]
+0x01,0xa3,0x0a,0x7e
+
+# CHECK: v_swap_b32 v255, v1 ; encoding: [0x01,0xa3,0xfe,0x7f]
+0x01,0xa3,0xfe,0x7f
+
+# CHECK: v_swap_b32 v5, v255 ; encoding: [0xff,0xa3,0x0a,0x7e]
+0xff,0xa3,0x0a,0x7e
+
+# CHECK: v_cndmask_b32_e32 v5, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x00]
+0x01,0x05,0x0a,0x00
+
+# CHECK: v_cndmask_b32_e32 v255, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x01]
+0x01,0x05,0xfe,0x01
+
+# 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, v2, vcc ; encoding: [0x80,0x04,0x0a,0x00]
+0x80,0x04,0x0a,0x00
+
+# 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, v255, vcc ; encoding: [0x01,0xff,0x0b,0x00]
+0x01,0xff,0x0b,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, v1, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_cndmask_b32_e64 v255, v1, v2, s[6:7] ; encoding: [0xff,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00]
+0xff,0x00,0x00,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, v255, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xff,0x05,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0xff,0x05,0x1a,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, -1, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xc1,0x04,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0xc1,0x04,0x1a,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0.5, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xf0,0x04,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0xf0,0x04,0x1a,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, -4.0, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xf7,0x04,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0xf7,0x04,0x1a,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, v1, v255, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0xff,0x1b,0x00]
+0x05,0x00,0x00,0xd1,0x01,0xff,0x1b,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, v1, -1, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x83,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x01,0x83,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, v1, 0.5, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0xe1,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x01,0xe1,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, v1, -4.0, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0xef,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x01,0xef,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, v1, v2, s[8:9] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0x00,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, v1, v2, s[100:101] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0x00,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_cndmask_b32_e64 v5, v1, v2, flat_scratch ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0x00,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_cndmask_b32_e64 v5, v1, v2, vcc ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0x00,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_add_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x02]
+0x01,0x05,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x03]
+0x01,0x05,0xfe,0x03
+
+# CHECK: v_add_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x02]
+0xff,0x05,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x02]
+0x01,0x04,0x0a,0x02
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x02]
+0x01,0xff,0x0b,0x02
+
+# CHECK: v_add_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x01,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x01,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x01,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x01,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x01,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x01,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x01,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_add_f32_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_add_f32_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_add_f32_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_add_f32_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x01,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x01,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x01,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x01,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x01,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x08
+
+# CHECK: v_add_f32_e64 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x10
+
+# CHECK: v_add_f32_e64 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x02,0x18
+
+# CHECK: v_sub_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x04]
+0x01,0x05,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x05]
+0x01,0x05,0xfe,0x05
+
+# CHECK: v_sub_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x04]
+0xff,0x05,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x04]
+0x01,0x04,0x0a,0x04
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x04]
+0x01,0xff,0x0b,0x04
+
+# CHECK: v_sub_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x02,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x02,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x02,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x02,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x02,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x02,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x02,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_sub_f32_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_sub_f32_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_sub_f32_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_sub_f32_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x02,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x02,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x02,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x02,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x02,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x08
+
+# CHECK: v_sub_f32_e64 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x10
+
+# CHECK: v_sub_f32_e64 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x02,0x18
+
+# CHECK: v_subrev_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x06]
+0x01,0x05,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x07]
+0x01,0x05,0xfe,0x07
+
+# CHECK: v_subrev_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x06]
+0xff,0x05,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x06]
+0x01,0x04,0x0a,0x06
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x06]
+0x01,0xff,0x0b,0x06
+
+# CHECK: v_subrev_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x03,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x03,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x03,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x03,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x03,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x03,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x03,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_subrev_f32_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_subrev_f32_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_subrev_f32_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_subrev_f32_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x03,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x03,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x03,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x03,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x03,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x08
+
+# CHECK: v_subrev_f32_e64 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x10
+
+# CHECK: v_subrev_f32_e64 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x02,0x18
+
+# CHECK: v_mul_legacy_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x08]
+0x01,0x05,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x09]
+0x01,0x05,0xfe,0x09
+
+# 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, v2 ; encoding: [0x01,0x04,0x0a,0x08]
+0x01,0x04,0x0a,0x08
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x08]
+0x01,0xff,0x0b,0x08
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x04,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x04,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x04,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x04,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x04,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x04,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x04,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_mul_legacy_f32_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_mul_legacy_f32_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x04,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x04,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x04,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x04,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x04,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x08
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x10
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x02,0x18
+
+# CHECK: v_mul_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x0a]
+0x01,0x05,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x0b]
+0x01,0x05,0xfe,0x0b
+
+# CHECK: v_mul_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x0a]
+0xff,0x05,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x0a]
+0x01,0x04,0x0a,0x0a
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x0a]
+0x01,0xff,0x0b,0x0a
+
+# CHECK: v_mul_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x05,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x05,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x05,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x05,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x05,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x05,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x05,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_mul_f32_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_mul_f32_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_mul_f32_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_mul_f32_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x05,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x05,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x05,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x05,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x05,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x08
+
+# CHECK: v_mul_f32_e64 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x10
+
+# CHECK: v_mul_f32_e64 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x02,0x18
+
+# CHECK: v_mul_i32_i24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x0c]
+0x01,0x05,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x0d]
+0x01,0x05,0xfe,0x0d
+
+# 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, v2 ; encoding: [0x01,0x04,0x0a,0x0c]
+0x01,0x04,0x0a,0x0c
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x0c]
+0x01,0xff,0x0b,0x0c
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x06,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x06,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x06,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x06,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x06,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x06,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x06,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x01,0xef,0x01,0x00
+
+# 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 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x0f]
+0x01,0x05,0xfe,0x0f
+
+# 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, v2 ; encoding: [0x01,0x04,0x0a,0x0e]
+0x01,0x04,0x0a,0x0e
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x0e]
+0x01,0xff,0x0b,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x07,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x07,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x07,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x07,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x07,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x07,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x07,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_mul_u32_u24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x10]
+0x01,0x05,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x11]
+0x01,0x05,0xfe,0x11
+
+# 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, v2 ; encoding: [0x01,0x04,0x0a,0x10]
+0x01,0x04,0x0a,0x10
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x10]
+0x01,0xff,0x0b,0x10
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x08,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x08,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x08,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x08,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x08,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x08,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x08,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x01,0xef,0x01,0x00
+
+# 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 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x13]
+0x01,0x05,0xfe,0x13
+
+# 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, v2 ; encoding: [0x01,0x04,0x0a,0x12]
+0x01,0x04,0x0a,0x12
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x12]
+0x01,0xff,0x0b,0x12
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x09,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x09,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x09,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x09,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x09,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x09,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x09,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_min_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x14]
+0x01,0x05,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x15]
+0x01,0x05,0xfe,0x15
+
+# CHECK: v_min_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x14]
+0xff,0x05,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x14]
+0x01,0x04,0x0a,0x14
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x14]
+0x01,0xff,0x0b,0x14
+
+# CHECK: v_min_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_min_f32_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_min_f32_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_min_f32_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_min_f32_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x0a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x0a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x0a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x0a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x0a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x08
+
+# CHECK: v_min_f32_e64 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x10
+
+# CHECK: v_min_f32_e64 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x02,0x18
+
+# CHECK: v_max_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x16]
+0x01,0x05,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x17]
+0x01,0x05,0xfe,0x17
+
+# CHECK: v_max_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x16]
+0xff,0x05,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x16]
+0x01,0x04,0x0a,0x16
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x16]
+0x01,0xff,0x0b,0x16
+
+# CHECK: v_max_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_max_f32_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_max_f32_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_max_f32_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_max_f32_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x0b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x0b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x0b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x0b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x0b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x08
+
+# CHECK: v_max_f32_e64 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x10
+
+# CHECK: v_max_f32_e64 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x02,0x18
+
+# CHECK: v_min_i32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x18]
+0x01,0x05,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x19]
+0x01,0x05,0xfe,0x19
+
+# CHECK: v_min_i32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x18]
+0xff,0x05,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x18]
+0x01,0x04,0x0a,0x18
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x18]
+0x01,0xff,0x0b,0x18
+
+# CHECK: v_min_i32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_i32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0c,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_max_i32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x1a]
+0x01,0x05,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x1b]
+0x01,0x05,0xfe,0x1b
+
+# CHECK: v_max_i32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1a]
+0xff,0x05,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x1a]
+0x01,0x04,0x0a,0x1a
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x1a]
+0x01,0xff,0x0b,0x1a
+
+# CHECK: v_max_i32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_i32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_min_u32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x1c]
+0x01,0x05,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x1d]
+0x01,0x05,0xfe,0x1d
+
+# CHECK: v_min_u32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1c]
+0xff,0x05,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x1c]
+0x01,0x04,0x0a,0x1c
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x1c]
+0x01,0xff,0x0b,0x1c
+
+# CHECK: v_min_u32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_u32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_max_u32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x1e]
+0x01,0x05,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x1f]
+0x01,0x05,0xfe,0x1f
+
+# CHECK: v_max_u32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1e]
+0xff,0x05,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x1e]
+0x01,0x04,0x0a,0x1e
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x1e]
+0x01,0xff,0x0b,0x1e
+
+# CHECK: v_max_u32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_u32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x0f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_lshrrev_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x20]
+0x01,0x05,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x21]
+0x01,0x05,0xfe,0x21
+
+# CHECK: v_lshrrev_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x20]
+0xff,0x05,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x20]
+0x01,0x04,0x0a,0x20
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x20]
+0x01,0xff,0x0b,0x20
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x10,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x10,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x10,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x10,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x10,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x10,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x10,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_ashrrev_i32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x22]
+0x01,0x05,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x23]
+0x01,0x05,0xfe,0x23
+
+# CHECK: v_ashrrev_i32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x22]
+0xff,0x05,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x22]
+0x01,0x04,0x0a,0x22
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x22]
+0x01,0xff,0x0b,0x22
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x11,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x11,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x11,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x11,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x11,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x11,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x11,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_lshlrev_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x24]
+0x01,0x05,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x25]
+0x01,0x05,0xfe,0x25
+
+# CHECK: v_lshlrev_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x24]
+0xff,0x05,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x24]
+0x01,0x04,0x0a,0x24
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x24]
+0x01,0xff,0x0b,0x24
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x12,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x12,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x12,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x12,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x12,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x12,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x12,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_and_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x26]
+0x01,0x05,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x27]
+0x01,0x05,0xfe,0x27
+
+# CHECK: v_and_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x26]
+0xff,0x05,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x26]
+0x01,0x04,0x0a,0x26
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x26]
+0x01,0xff,0x0b,0x26
+
+# CHECK: v_and_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_and_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x13,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x13,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x13,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x13,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x13,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x13,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x13,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_or_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x28]
+0x01,0x05,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x29]
+0x01,0x05,0xfe,0x29
+
+# CHECK: v_or_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x28]
+0xff,0x05,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x28]
+0x01,0x04,0x0a,0x28
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x28]
+0x01,0xff,0x0b,0x28
+
+# CHECK: v_or_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_or_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x14,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x14,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x14,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x14,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x14,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x14,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x14,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_xor_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x2a]
+0x01,0x05,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x2b]
+0x01,0x05,0xfe,0x2b
+
+# CHECK: v_xor_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x2a]
+0xff,0x05,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x2a]
+0x01,0x04,0x0a,0x2a
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x2a]
+0x01,0xff,0x0b,0x2a
+
+# CHECK: v_xor_b32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x15,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x15,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x15,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x15,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x15,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x15,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x15,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_mac_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x2c]
+0x01,0x05,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x2d]
+0x01,0x05,0xfe,0x2d
+
+# CHECK: v_mac_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x2c]
+0xff,0x05,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x2c]
+0x01,0x04,0x0a,0x2c
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x2c]
+0x01,0xff,0x0b,0x2c
+
+# CHECK: v_mac_f32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x16,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x16,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x16,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x7f,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x16,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x16,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x16,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xff,0x03,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x16,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x16,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_mac_f32_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_mac_f32_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_mac_f32_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_mac_f32_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x16,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x16,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x16,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x16,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x16,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f32_e64 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x08]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x08
+
+# CHECK: v_mac_f32_e64 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x10]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x10
+
+# CHECK: v_mac_f32_e64 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x18]
+0x05,0x00,0x16,0xd1,0x01,0x05,0x02,0x18
+
+# CHECK: v_madmk_f32 v5, v1, 0x11213141, v3 ; encoding: [0x01,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0x01,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11
+
+# CHECK: v_madmk_f32 v255, v1, 0x11213141, v3 ; encoding: [0x01,0x07,0xfe,0x2f,0x41,0x31,0x21,0x11]
+0x01,0x07,0xfe,0x2f,0x41,0x31,0x21,0x11
+
+# CHECK: v_madmk_f32 v5, v255, 0x11213141, v3 ; encoding: [0xff,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0xff,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11
+
+# CHECK: v_madmk_f32 v5, 0, 0x11213141, v3 ; encoding: [0x80,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0x80,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11
+
+# CHECK: v_madmk_f32 v5, -1, 0x11213141, v3 ; encoding: [0xc1,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0xc1,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11
+
+# CHECK: v_madmk_f32 v5, 0.5, 0x11213141, v3 ; encoding: [0xf0,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0xf0,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11
+
+# CHECK: v_madmk_f32 v5, -4.0, 0x11213141, v3 ; encoding: [0xf7,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+0xf7,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11
+
+# CHECK: v_madmk_f32 v5, v1, 0xa1b1c1d1, v3 ; encoding: [0x01,0x07,0x0a,0x2e,0xd1,0xc1,0xb1,0xa1]
+0x01,0x07,0x0a,0x2e,0xd1,0xc1,0xb1,0xa1
+
+# CHECK: v_madmk_f32 v5, v1, 0x11213141, v255 ; encoding: [0x01,0xff,0x0b,0x2e,0x41,0x31,0x21,0x11]
+0x01,0xff,0x0b,0x2e,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, v1, v2, 0x11213141 ; encoding: [0x01,0x05,0x0a,0x30,0x41,0x31,0x21,0x11]
+0x01,0x05,0x0a,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v255, v1, v2, 0x11213141 ; encoding: [0x01,0x05,0xfe,0x31,0x41,0x31,0x21,0x11]
+0x01,0x05,0xfe,0x31,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, v255, v2, 0x11213141 ; encoding: [0xff,0x05,0x0a,0x30,0x41,0x31,0x21,0x11]
+0xff,0x05,0x0a,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, 0, v2, 0x11213141 ; encoding: [0x80,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+0x80,0x04,0x0a,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, -1, v2, 0x11213141 ; encoding: [0xc1,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+0xc1,0x04,0x0a,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, 0.5, v2, 0x11213141 ; encoding: [0xf0,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+0xf0,0x04,0x0a,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, -4.0, v2, 0x11213141 ; encoding: [0xf7,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+0xf7,0x04,0x0a,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, v1, v255, 0x11213141 ; encoding: [0x01,0xff,0x0b,0x30,0x41,0x31,0x21,0x11]
+0x01,0xff,0x0b,0x30,0x41,0x31,0x21,0x11
+
+# CHECK: v_madak_f32 v5, v1, v2, 0xa1b1c1d1 ; encoding: [0x01,0x05,0x0a,0x30,0xd1,0xc1,0xb1,0xa1]
+0x01,0x05,0x0a,0x30,0xd1,0xc1,0xb1,0xa1
+
+# CHECK: v_add_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x3e]
+0x01,0x05,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x3f]
+0x01,0x05,0xfe,0x3f
+
+# CHECK: v_add_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x3e]
+0xff,0x05,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x3e]
+0x01,0x04,0x0a,0x3e
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x3e]
+0x01,0xff,0x0b,0x3e
+
+# CHECK: v_add_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x1f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_add_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_add_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_add_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x1f,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_add_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x1f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x1f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x1f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x1f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x1f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x40]
+0x01,0x05,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x41]
+0x01,0x05,0xfe,0x41
+
+# CHECK: v_sub_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x40]
+0xff,0x05,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x40]
+0x01,0x04,0x0a,0x40
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x40]
+0x01,0xff,0x0b,0x40
+
+# CHECK: v_sub_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x20,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x20,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x20,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x20,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x20,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x20,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x20,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_sub_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_sub_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_sub_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x20,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_sub_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x20,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x20,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x20,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x20,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x20,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x42]
+0x01,0x05,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x43]
+0x01,0x05,0xfe,0x43
+
+# CHECK: v_subrev_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x42]
+0xff,0x05,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x42]
+0x01,0x04,0x0a,0x42
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x42]
+0x01,0xff,0x0b,0x42
+
+# CHECK: v_subrev_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x21,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x21,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x21,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x21,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x21,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x21,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x21,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_subrev_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_subrev_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_subrev_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x21,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_subrev_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x21,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x21,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x21,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x21,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x21,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x44]
+0x01,0x05,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x45]
+0x01,0x05,0xfe,0x45
+
+# CHECK: v_mul_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x44]
+0xff,0x05,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x44]
+0x01,0x04,0x0a,0x44
+
+# 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, 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, 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, v255 ; encoding: [0x01,0xff,0x0b,0x44]
+0x01,0xff,0x0b,0x44
+
+# CHECK: v_mul_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x22,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x22,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x22,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x22,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x7f,0x04,0x02,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, -1, v2 ; encoding: [0x05,0x00,0x22,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x22,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x22,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xff,0x03,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, v1, s101 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_mul_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_mul_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_mul_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x22,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_mul_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x22,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x22,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x22,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x22,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x22,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x46]
+0x01,0x05,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x47]
+0x01,0x05,0xfe,0x47
+
+# CHECK: v_mac_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x46]
+0xff,0x05,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x46]
+0x01,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x46]
+0x65,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x46]
+0x66,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x46]
+0x67,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x46]
+0x6a,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x46]
+0x6b,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x46]
+0x7c,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x46]
+0x7e,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x46]
+0x7f,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x46]
+0x80,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x46]
+0xc1,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x46]
+0xf0,0x04,0x0a,0x46
+
+# CHECK: v_mac_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x46]
+0xf7,0x04,0x0a,0x46
+
+# 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_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_mac_f16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x46]
+0x01,0xff,0x0b,0x46
+
+# CHECK: v_mac_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x23,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x23,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x23,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x7f,0x04,0x02,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_mac_f16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x23,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x23,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x23,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xff,0x03,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_mac_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_mac_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_mac_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x23,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_mac_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mac_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x23,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x23,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_madmk_f16 v5, v1, 0x1121, v3 ; encoding: [0x01,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
+0x01,0x07,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v255, v1, 0x1121, v3 ; encoding: [0x01,0x07,0xfe,0x49,0x21,0x11,0x00,0x00]
+0x01,0x07,0xfe,0x49,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, v255, 0x1121, v3 ; encoding: [0xff,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
+0xff,0x07,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, 0, 0x1121, v3 ; encoding: [0x80,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+0x80,0x06,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, -1, 0x1121, v3 ; encoding: [0xc1,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+0xc1,0x06,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, 0.5, 0x1121, v3 ; encoding: [0xf0,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+0xf0,0x06,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, -4.0, 0x1121, v3 ; encoding: [0xf7,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+0xf7,0x06,0x0a,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, v1, 0xa1b1, v3 ; encoding: [0x01,0x07,0x0a,0x48,0xb1,0xa1,0x00,0x00]
+0x01,0x07,0x0a,0x48,0xb1,0xa1,0x00,0x00
+
+# CHECK: v_madmk_f16 v5, v1, 0x1121, v255 ; encoding: [0x01,0xff,0x0b,0x48,0x21,0x11,0x00,0x00]
+0x01,0xff,0x0b,0x48,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, v1, v2, 0x1121 ; encoding: [0x01,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0x01,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v255, v1, v2, 0x1121 ; encoding: [0x01,0x05,0xfe,0x4b,0x21,0x11,0x00,0x00]
+0x01,0x05,0xfe,0x4b,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, v255, v2, 0x1121 ; encoding: [0xff,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0xff,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, 0, v2, 0x1121 ; encoding: [0x80,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0x80,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, -1, v2, 0x1121 ; encoding: [0xc1,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0xc1,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, 0.5, v2, 0x1121 ; encoding: [0xf0,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0xf0,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, -4.0, v2, 0x1121 ; encoding: [0xf7,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+0xf7,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, v1, v255, 0x1121 ; encoding: [0x01,0xff,0x0b,0x4a,0x21,0x11,0x00,0x00]
+0x01,0xff,0x0b,0x4a,0x21,0x11,0x00,0x00
+
+# CHECK: v_madak_f16 v5, v1, v2, 0xa1b1 ; encoding: [0x01,0x05,0x0a,0x4a,0xb1,0xa1,0x00,0x00]
+0x01,0x05,0x0a,0x4a,0xb1,0xa1,0x00,0x00
+
+# CHECK: v_add_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x4c]
+0x01,0x05,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x4d]
+0x01,0x05,0xfe,0x4d
+
+# CHECK: v_add_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x4c]
+0xff,0x05,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x4c]
+0x01,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x4c]
+0x65,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x4c]
+0x66,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x4c]
+0x67,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x4c]
+0x6a,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x4c]
+0x6b,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x4c]
+0x7c,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x4c]
+0x7e,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x4c]
+0x7f,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x4c]
+0x80,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x4c]
+0xc1,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x4c]
+0xf0,0x04,0x0a,0x4c
+
+# CHECK: v_add_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x4c]
+0xf7,0x04,0x0a,0x4c
+
+# 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_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_add_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x4c]
+0x01,0xff,0x0b,0x4c
+
+# CHECK: v_add_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x26,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x26,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x26,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x26,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_add_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x26,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x26,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x26,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xff,0x03,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_add_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_add_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_sub_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x4e]
+0x01,0x05,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x4f]
+0x01,0x05,0xfe,0x4f
+
+# CHECK: v_sub_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x4e]
+0xff,0x05,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x4e]
+0x01,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x4e]
+0x65,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x4e]
+0x66,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x4e]
+0x67,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x4e]
+0x6a,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x4e]
+0x6b,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x4e]
+0x7c,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x4e]
+0x7e,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x4e]
+0x7f,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x4e]
+0x80,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x4e]
+0xc1,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x4e]
+0xf0,0x04,0x0a,0x4e
+
+# CHECK: v_sub_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x4e]
+0xf7,0x04,0x0a,0x4e
+
+# 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_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_sub_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x4e]
+0x01,0xff,0x0b,0x4e
+
+# CHECK: v_sub_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x27,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x27,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x27,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x27,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_sub_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x27,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x27,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x27,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xff,0x03,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_sub_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_sub_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_subrev_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x50]
+0x01,0x05,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x51]
+0x01,0x05,0xfe,0x51
+
+# CHECK: v_subrev_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x50]
+0xff,0x05,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x50]
+0x01,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x50]
+0x65,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x50]
+0x66,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x50]
+0x67,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x50]
+0x6a,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x50]
+0x6b,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x50]
+0x7c,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x50]
+0x7e,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x50]
+0x7f,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x50]
+0x80,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x50]
+0xc1,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x50]
+0xf0,0x04,0x0a,0x50
+
+# CHECK: v_subrev_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x50]
+0xf7,0x04,0x0a,0x50
+
+# 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_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_subrev_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x50]
+0x01,0xff,0x0b,0x50
+
+# CHECK: v_subrev_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x28,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x28,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x28,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x28,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_subrev_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x28,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x28,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x28,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xff,0x03,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_subrev_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_subrev_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_mul_lo_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x52]
+0x01,0x05,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x53]
+0x01,0x05,0xfe,0x53
+
+# CHECK: v_mul_lo_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x52]
+0xff,0x05,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x52]
+0x01,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x52]
+0x65,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x52]
+0x66,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x52]
+0x67,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x52]
+0x6a,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x52]
+0x6b,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x52]
+0x7c,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x52]
+0x7e,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x52]
+0x7f,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x52]
+0x80,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x52]
+0xc1,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x52]
+0xf0,0x04,0x0a,0x52
+
+# CHECK: v_mul_lo_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x52]
+0xf7,0x04,0x0a,0x52
+
+# 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_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_mul_lo_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x52]
+0x01,0xff,0x0b,0x52
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x29,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x29,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x29,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x29,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_mul_lo_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x29,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x29,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x29,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xff,0x03,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_mul_lo_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_lo_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_lshlrev_b16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x54]
+0x01,0x05,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x55]
+0x01,0x05,0xfe,0x55
+
+# CHECK: v_lshlrev_b16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x54]
+0xff,0x05,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x54]
+0x01,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x54]
+0x65,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x54]
+0x66,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x54]
+0x67,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x54]
+0x6a,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x54]
+0x6b,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x54]
+0x7c,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x54]
+0x7e,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x54]
+0x7f,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x54]
+0x80,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x54]
+0xc1,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x54]
+0xf0,0x04,0x0a,0x54
+
+# CHECK: v_lshlrev_b16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x54]
+0xf7,0x04,0x0a,0x54
+
+# 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_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_lshlrev_b16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x54]
+0x01,0xff,0x0b,0x54
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2a,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_lshlrev_b16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xff,0x03,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_lshlrev_b16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_lshlrev_b16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_lshrrev_b16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x56]
+0x01,0x05,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x57]
+0x01,0x05,0xfe,0x57
+
+# CHECK: v_lshrrev_b16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x56]
+0xff,0x05,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x56]
+0x01,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x56]
+0x65,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x56]
+0x66,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x56]
+0x67,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x56]
+0x6a,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x56]
+0x6b,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x56]
+0x7c,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x56]
+0x7e,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x56]
+0x7f,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x56]
+0x80,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x56]
+0xc1,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x56]
+0xf0,0x04,0x0a,0x56
+
+# CHECK: v_lshrrev_b16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x56]
+0xf7,0x04,0x0a,0x56
+
+# 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_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_lshrrev_b16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x56]
+0x01,0xff,0x0b,0x56
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2b,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_lshrrev_b16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xff,0x03,0x00
+
+# 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_lshrrev_b16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_lshrrev_b16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_ashrrev_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x58]
+0x01,0x05,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x59]
+0x01,0x05,0xfe,0x59
+
+# CHECK: v_ashrrev_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x58]
+0xff,0x05,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x58]
+0x01,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x58]
+0x65,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x58]
+0x66,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x58]
+0x67,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x58]
+0x6a,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x58]
+0x6b,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x58]
+0x7c,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x58]
+0x7e,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x58]
+0x7f,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x58]
+0x80,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x58]
+0xc1,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x58]
+0xf0,0x04,0x0a,0x58
+
+# CHECK: v_ashrrev_i16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x58]
+0xf7,0x04,0x0a,0x58
+
+# 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_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_ashrrev_i16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x58]
+0x01,0xff,0x0b,0x58
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2c,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x7f,0x04,0x02,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_ashrrev_i16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xff,0x03,0x00
+
+# 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_ashrrev_i16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_ashrrev_i16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_max_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5a]
+0x01,0x05,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x5b]
+0x01,0x05,0xfe,0x5b
+
+# CHECK: v_max_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5a]
+0xff,0x05,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x5a]
+0x01,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x5a]
+0x65,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x5a]
+0x66,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x5a]
+0x67,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x5a]
+0x6a,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x5a]
+0x6b,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x5a]
+0x7c,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x5a]
+0x7e,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x5a]
+0x7f,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x5a]
+0x80,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x5a]
+0xc1,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x5a]
+0xf0,0x04,0x0a,0x5a
+
+# CHECK: v_max_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x5a]
+0xf7,0x04,0x0a,0x5a
+
+# 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_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_max_f16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x5a]
+0x01,0xff,0x0b,0x5a
+
+# CHECK: v_max_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_max_f16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xff,0x03,0x00
+
+# 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_max_f16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_max_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_max_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_max_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x2d,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_max_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x2d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x2d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x2d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x2d,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x2d,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5c]
+0x01,0x05,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x5d]
+0x01,0x05,0xfe,0x5d
+
+# CHECK: v_min_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5c]
+0xff,0x05,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x5c]
+0x01,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x5c]
+0x65,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x5c]
+0x66,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x5c]
+0x67,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x5c]
+0x6a,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x5c]
+0x6b,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x5c]
+0x7c,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x5c]
+0x7e,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x5c]
+0x7f,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x5c]
+0x80,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x5c]
+0xc1,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x5c]
+0xf0,0x04,0x0a,0x5c
+
+# CHECK: v_min_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x5c]
+0xf7,0x04,0x0a,0x5c
+
+# 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_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_min_f16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x5c]
+0x01,0xff,0x0b,0x5c
+
+# CHECK: v_min_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x7f,0x04,0x02,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_min_f16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xff,0x03,0x00
+
+# 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_min_f16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_min_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_min_f16_e64 v5, v1, -v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x40]
+0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x40
+
+# CHECK: v_min_f16_e64 v5, -v1, -v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x60]
+0x05,0x00,0x2e,0xd1,0x01,0x05,0x02,0x60
+
+# CHECK: v_min_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x2e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, |v2| ; encoding: [0x05,0x02,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x02,0x2e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x03,0x2e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x2e,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x2e,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5e]
+0x01,0x05,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x5f]
+0x01,0x05,0xfe,0x5f
+
+# CHECK: v_max_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5e]
+0xff,0x05,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x5e]
+0x01,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x5e]
+0x65,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x5e]
+0x66,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x5e]
+0x67,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x5e]
+0x6a,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x5e]
+0x6b,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x5e]
+0x7c,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x5e]
+0x7e,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x5e]
+0x7f,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x5e]
+0x80,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x5e]
+0xc1,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x5e]
+0xf0,0x04,0x0a,0x5e
+
+# CHECK: v_max_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x5e]
+0xf7,0x04,0x0a,0x5e
+
+# 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_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_max_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x5e]
+0x01,0xff,0x0b,0x5e
+
+# CHECK: v_max_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x2f,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x7f,0x04,0x02,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_max_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xff,0x03,0x00
+
+# 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_max_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_max_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_max_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x60]
+0x01,0x05,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x61]
+0x01,0x05,0xfe,0x61
+
+# CHECK: v_max_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x60]
+0xff,0x05,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x60]
+0x01,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x60]
+0x65,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x60]
+0x66,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x60]
+0x67,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x60]
+0x6a,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x60]
+0x6b,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x60]
+0x7c,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x60]
+0x7e,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x60]
+0x7f,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x60]
+0x80,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x60]
+0xc1,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x60]
+0xf0,0x04,0x0a,0x60
+
+# CHECK: v_max_i16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x60]
+0xf7,0x04,0x0a,0x60
+
+# 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_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_max_i16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x60]
+0x01,0xff,0x0b,0x60
+
+# CHECK: v_max_i16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_i16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x30,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x30,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x30,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x30,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_max_i16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x30,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x30,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x30,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xff,0x03,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_max_i16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_max_i16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_min_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x62]
+0x01,0x05,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x63]
+0x01,0x05,0xfe,0x63
+
+# CHECK: v_min_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x62]
+0xff,0x05,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x62]
+0x01,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x62]
+0x65,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x62]
+0x66,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x62]
+0x67,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x62]
+0x6a,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x62]
+0x6b,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x62]
+0x7c,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x62]
+0x7e,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x62]
+0x7f,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x62]
+0x80,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x62]
+0xc1,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x62]
+0xf0,0x04,0x0a,0x62
+
+# CHECK: v_min_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x62]
+0xf7,0x04,0x0a,0x62
+
+# 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_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_min_u16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x62]
+0x01,0xff,0x0b,0x62
+
+# CHECK: v_min_u16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_u16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x31,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x31,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x31,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x31,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_min_u16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x31,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x31,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x31,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xff,0x03,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_min_u16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_min_u16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_min_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x64]
+0x01,0x05,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x65]
+0x01,0x05,0xfe,0x65
+
+# CHECK: v_min_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x64]
+0xff,0x05,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x64]
+0x01,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x64]
+0x65,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x64]
+0x66,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x64]
+0x67,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x64]
+0x6a,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x64]
+0x6b,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x64]
+0x7c,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x64]
+0x7e,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x64]
+0x7f,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x64]
+0x80,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x64]
+0xc1,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x64]
+0xf0,0x04,0x0a,0x64
+
+# CHECK: v_min_i16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x64]
+0xf7,0x04,0x0a,0x64
+
+# 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_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_min_i16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x64]
+0x01,0xff,0x0b,0x64
+
+# CHECK: v_min_i16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_i16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x32,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x32,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x32,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x32,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_min_i16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x32,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x32,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x32,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xff,0x03,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_min_i16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_min_i16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_ldexp_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x66]
+0x01,0x05,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x67]
+0x01,0x05,0xfe,0x67
+
+# CHECK: v_ldexp_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x66]
+0xff,0x05,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x66]
+0x01,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x66]
+0x65,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x66]
+0x66,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x66]
+0x67,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x66]
+0x6a,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x66]
+0x6b,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x66]
+0x7c,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x66]
+0x7e,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x66]
+0x7f,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x66]
+0x80,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x66]
+0xc1,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x66]
+0xf0,0x04,0x0a,0x66
+
+# CHECK: v_ldexp_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x66]
+0xf7,0x04,0x0a,0x66
+
+# 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_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_ldexp_f16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x66]
+0x01,0xff,0x0b,0x66
+
+# CHECK: v_ldexp_f16_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x33,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0x33,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x33,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0x33,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x7f,0x04,0x02,0x00
+
+# 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_ldexp_f16_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x33,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x33,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x33,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xff,0x03,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_ldexp_f16_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, -v1, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0x33,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_ldexp_f16_e64 v5, |v1|, v2 ; encoding: [0x05,0x01,0x33,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0x33,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f16_e64 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x33,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0x33,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc0,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_legacy_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_mad_legacy_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_mad_legacy_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_mad_legacy_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_mad_legacy_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc0,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_mad_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc1,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_mad_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_mad_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_mad_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_mad_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_mad_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_mad_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_mad_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_mad_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_mad_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_mad_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_mad_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_mad_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_mad_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc1,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc2,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_i32_i24 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc2,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc3,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_u32_u24 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc3,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cubeid_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc4,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_cubeid_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_cubeid_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_cubeid_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_cubeid_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_cubeid_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_cubeid_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_cubeid_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_cubeid_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_cubeid_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_cubeid_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_cubeid_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_cubeid_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_cubeid_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cubeid_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_cubeid_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_cubeid_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_cubeid_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_cubeid_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubeid_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_cubeid_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_cubeid_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc4,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_cubesc_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc5,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_cubesc_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_cubesc_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_cubesc_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_cubesc_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_cubesc_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_cubesc_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_cubesc_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_cubesc_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_cubesc_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_cubesc_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_cubesc_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_cubesc_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_cubesc_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cubesc_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_cubesc_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_cubesc_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_cubesc_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_cubesc_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubesc_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_cubesc_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_cubesc_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc5,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_cubetc_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc6,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_cubetc_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_cubetc_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_cubetc_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_cubetc_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_cubetc_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_cubetc_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_cubetc_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_cubetc_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_cubetc_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_cubetc_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_cubetc_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_cubetc_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_cubetc_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cubetc_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_cubetc_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_cubetc_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_cubetc_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_cubetc_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubetc_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_cubetc_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_cubetc_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc6,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_cubema_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubema_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc7,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_cubema_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_cubema_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_cubema_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_cubema_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_cubema_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_cubema_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_cubema_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_cubema_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_cubema_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_cubema_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_cubema_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_cubema_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_cubema_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_cubema_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_cubema_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_cubema_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_cubema_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_cubema_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_cubema_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_cubema_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_cubema_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_cubema_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_cubema_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_cubema_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_cubema_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_cubema_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_cubema_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cubema_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_cubema_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_cubema_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_cubema_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_cubema_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xc7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xc7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xc7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xc7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xc7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xc7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cubema_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_cubema_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_cubema_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xc7,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_bfe_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_bfe_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc8,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_bfe_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_bfe_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_bfe_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_bfe_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_bfe_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_bfe_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_bfe_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_bfe_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_bfe_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_bfe_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_bfe_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_bfe_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_bfe_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_bfe_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_bfe_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_bfe_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_bfe_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_bfe_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_bfe_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_bfe_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_bfe_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_bfe_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_bfe_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_bfe_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_bfe_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_bfe_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_bfe_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_bfe_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc8,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_bfe_i32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_bfe_i32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xc9,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_bfe_i32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_bfe_i32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_bfe_i32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_bfe_i32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_bfe_i32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_bfe_i32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_bfe_i32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_bfe_i32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_bfe_i32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_bfe_i32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_bfe_i32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_bfe_i32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_bfe_i32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_bfe_i32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_bfe_i32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_bfe_i32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_bfe_i32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_bfe_i32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_bfe_i32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_bfe_i32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_bfe_i32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_bfe_i32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_bfe_i32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_bfe_i32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_bfe_i32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_bfe_i32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_bfe_i32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_bfe_i32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xc9,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_bfi_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_bfi_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xca,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xca,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_bfi_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_bfi_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_bfi_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_bfi_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_bfi_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_bfi_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_bfi_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_bfi_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_bfi_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_bfi_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_bfi_b32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_bfi_b32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_bfi_b32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_bfi_b32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xca,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_bfi_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_bfi_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_bfi_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_bfi_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_bfi_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_bfi_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_bfi_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_bfi_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_bfi_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_bfi_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_bfi_b32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_bfi_b32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xca,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_bfi_b32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_bfi_b32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xca,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_fma_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xcb,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_fma_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_fma_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_fma_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_fma_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_fma_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_fma_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_fma_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_fma_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_fma_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_fma_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_fma_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_fma_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_fma_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_fma_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_fma_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_fma_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_fma_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_fma_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_fma_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_fma_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_fma_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_fma_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_fma_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_fma_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_fma_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_fma_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_fma_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_fma_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_fma_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_fma_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_fma_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_fma_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xcb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xcb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xcb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xcb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xcb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xcb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_fma_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_fma_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xcb,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f64 v[254:255], v[1:2], v[2:3], v[3:4] ; encoding: [0xfe,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[254:255], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], s[2:3], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x02,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], s[4:5], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x04,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], s[100:101], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x64,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], flat_scratch, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], vcc, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], exec, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], 0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], -1, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], 0.5, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], -4.0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xcc,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[254:255], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0f,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0f,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], s[4:5], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x09,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x09,0x0c,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], s[6:7], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x0d,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x0d,0x0c,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], s[100:101], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xc9,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xc9,0x0c,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], flat_scratch, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], vcc, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], exec, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xcc,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], v[254:255] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], s[6:7] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], s[8:9] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], s[100:101] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], flat_scratch ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], vcc ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], exec ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], -1 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], 0.5 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], -4.0 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_fma_f64 v[5:6], -v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], -v[2:3], v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_fma_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_fma_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4] ; encoding: [0x05,0x01,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xcc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4] ; encoding: [0x05,0x02,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xcc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], |v[3:4]| ; encoding: [0x05,0x04,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xcc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]| ; encoding: [0x05,0x07,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xcc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp ; encoding: [0x05,0x80,0xcc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xcc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_fma_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xcc,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_lerp_u8 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_lerp_u8 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xcd,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_lerp_u8 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_lerp_u8 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_lerp_u8 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_lerp_u8 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_lerp_u8 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_lerp_u8 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_lerp_u8 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_lerp_u8 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_lerp_u8 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_lerp_u8 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_lerp_u8 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_lerp_u8 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_lerp_u8 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_lerp_u8 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_lerp_u8 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_lerp_u8 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_lerp_u8 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_lerp_u8 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_lerp_u8 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_lerp_u8 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_lerp_u8 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_lerp_u8 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_lerp_u8 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_lerp_u8 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_lerp_u8 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_lerp_u8 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_lerp_u8 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_lerp_u8 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xcd,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_alignbit_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xce,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xce,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xce,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_alignbit_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_alignbit_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_alignbit_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_alignbit_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_alignbit_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_alignbit_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_alignbit_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_alignbit_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_alignbit_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_alignbit_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xce,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xcf,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_alignbyte_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xcf,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_min3_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd0,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_min3_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_min3_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_min3_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_min3_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_min3_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_min3_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_min3_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_min3_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_min3_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_min3_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_min3_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_min3_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_min3_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_min3_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_min3_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_min3_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_min3_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_min3_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_min3_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_min3_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_min3_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_min3_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_min3_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_min3_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_min3_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_min3_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_min3_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_min3_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_min3_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_min3_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_min3_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_min3_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xd0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xd0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xd0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xd0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xd0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xd0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_min3_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_min3_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xd0,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_min3_i32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_i32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd1,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_min3_i32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_min3_i32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_min3_i32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_min3_i32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_min3_i32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_min3_i32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_min3_i32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_min3_i32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_min3_i32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_min3_i32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_min3_i32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_min3_i32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_min3_i32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_min3_i32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_min3_i32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_min3_i32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_min3_i32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_min3_i32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_min3_i32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_min3_i32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_min3_i32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_min3_i32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_min3_i32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_min3_i32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_min3_i32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_min3_i32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_min3_i32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_min3_i32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd1,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_min3_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd2,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_min3_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_min3_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_min3_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_min3_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_min3_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_min3_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_min3_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_min3_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_min3_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_min3_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_min3_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_min3_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_min3_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_min3_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_min3_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_min3_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_min3_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_min3_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_min3_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_min3_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_min3_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_min3_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_min3_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_min3_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_min3_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_min3_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_min3_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_min3_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd2,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_max3_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd3,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_max3_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_max3_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_max3_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_max3_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_max3_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_max3_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_max3_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_max3_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_max3_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_max3_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_max3_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_max3_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_max3_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_max3_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_max3_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_max3_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_max3_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_max3_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_max3_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_max3_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_max3_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_max3_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_max3_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_max3_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_max3_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_max3_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_max3_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_max3_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_max3_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_max3_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_max3_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_max3_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xd3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xd3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xd3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xd3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xd3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xd3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_max3_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_max3_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xd3,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_max3_i32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd4,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_max3_i32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_max3_i32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_max3_i32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_max3_i32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_max3_i32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_max3_i32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_max3_i32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_max3_i32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_max3_i32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_max3_i32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_max3_i32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_max3_i32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_max3_i32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_max3_i32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_max3_i32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_max3_i32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_max3_i32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_max3_i32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_max3_i32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_max3_i32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_max3_i32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_max3_i32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_max3_i32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_max3_i32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_max3_i32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_max3_i32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_max3_i32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_max3_i32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd4,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_max3_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd5,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_max3_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_max3_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_max3_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_max3_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_max3_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_max3_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_max3_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_max3_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_max3_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_max3_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_max3_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_max3_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_max3_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_max3_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_max3_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_max3_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_max3_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_max3_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_max3_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_max3_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_max3_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_max3_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_max3_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_max3_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_max3_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_max3_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_max3_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_max3_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd5,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_med3_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd6,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_med3_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_med3_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_med3_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_med3_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_med3_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_med3_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_med3_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_med3_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_med3_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_med3_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_med3_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_med3_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_med3_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_med3_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_med3_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_med3_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_med3_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_med3_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_med3_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_med3_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_med3_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_med3_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_med3_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_med3_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_med3_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_med3_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_med3_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_med3_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_med3_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_med3_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_med3_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_med3_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xd6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xd6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xd6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xd6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xd6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xd6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_med3_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_med3_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xd6,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_med3_i32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_i32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd7,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_med3_i32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_med3_i32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_med3_i32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_med3_i32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_med3_i32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_med3_i32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_med3_i32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_med3_i32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_med3_i32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_med3_i32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_med3_i32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_med3_i32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_med3_i32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_med3_i32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_med3_i32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_med3_i32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_med3_i32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_med3_i32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_med3_i32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_med3_i32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_med3_i32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_med3_i32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_med3_i32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_med3_i32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_med3_i32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_med3_i32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_med3_i32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_med3_i32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd7,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_med3_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd8,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_med3_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_med3_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_med3_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_med3_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_med3_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_med3_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_med3_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_med3_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_med3_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_med3_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_med3_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_med3_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_med3_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_med3_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_med3_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_med3_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_med3_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_med3_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_med3_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_med3_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_med3_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_med3_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_med3_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_med3_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_med3_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_med3_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_med3_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_med3_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd8,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_sad_u8 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u8 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xd9,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_sad_u8 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_sad_u8 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_sad_u8 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_sad_u8 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_sad_u8 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_sad_u8 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_sad_u8 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_sad_u8 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_sad_u8 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_sad_u8 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_sad_u8 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_sad_u8 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_sad_u8 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_sad_u8 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_sad_u8 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_sad_u8 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_sad_u8 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_sad_u8 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_sad_u8 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_sad_u8 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_sad_u8 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_sad_u8 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_sad_u8 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_sad_u8 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_sad_u8 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_sad_u8 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_sad_u8 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_sad_u8 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xd9,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xda,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xda,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xda,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xda,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_sad_hi_u8 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xda,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_sad_u16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xdb,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_sad_u16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_sad_u16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_sad_u16 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_sad_u16 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_sad_u16 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_sad_u16 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_sad_u16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_sad_u16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_sad_u16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_sad_u16 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_sad_u16 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_sad_u16 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_sad_u16 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xdb,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_sad_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xdc,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_sad_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_sad_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_sad_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_sad_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_sad_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_sad_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_sad_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_sad_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_sad_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_sad_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_sad_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_sad_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_sad_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xdc,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xdd,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cvt_pk_u8_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xdd,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_cvt_pk_u8_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xdd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_cvt_pk_u8_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xdd,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xdd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xde,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xde,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xde,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fixup_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_div_fixup_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_div_fixup_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_div_fixup_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xde,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xde,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_div_fixup_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xde,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[254:255], v[1:2], v[2:3], v[3:4] ; encoding: [0xfe,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[254:255], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x02,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], s[4:5], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x04,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], s[100:101], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x64,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], flat_scratch, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], vcc, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], exec, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], 0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], -1, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], 0.5, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], -4.0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xdf,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[254:255], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0f,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0f,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], s[4:5], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x09,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x09,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], s[6:7], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x0d,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x0d,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], s[100:101], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xc9,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xc9,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], flat_scratch, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], vcc, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], exec, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xdf,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[254:255] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[6:7] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[8:9] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], s[100:101] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], flat_scratch ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], vcc ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], exec ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -1 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], 0.5 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -4.0 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fixup_f64 v[5:6], -v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], -v[2:3], v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_div_fixup_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_div_fixup_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4] ; encoding: [0x05,0x01,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4] ; encoding: [0x05,0x02,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], |v[3:4]| ; encoding: [0x05,0x04,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]| ; encoding: [0x05,0x07,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp ; encoding: [0x05,0x80,0xdf,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xdf,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xdf,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v255, vcc, v1, v2, v3 ; encoding: [0xff,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v255, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, s1, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, s101, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, vcc_lo, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, vcc_hi, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, m0, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, exec_lo, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, exec_hi, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, 0, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, -1, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, 0.5, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, -4.0, v2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x6a,0xe0,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v255, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, s2, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, s101, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, vcc_lo, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, vcc_hi, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, m0, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, exec_lo, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, exec_hi, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, 0, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, -1, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, 0.5, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, -4.0, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, v255 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, s3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, s101 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_lo ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, flat_scratch_hi ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, vcc_lo ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, vcc_hi ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, m0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, exec_lo ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, exec_hi ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, -1 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, 0.5 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_scale_f32 v5, vcc, v1, v2, -4.0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x6a,0xe0,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[254:255], vcc, v[1:2], v[2:3], v[3:4] ; encoding: [0xfe,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x6a,0xe1,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[254:255], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x02,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[4:5], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x04,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[100:101], v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x64,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, flat_scratch, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, vcc, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, exec, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, 0, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, -1, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, 0.5, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, -4.0, v[2:3], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x6a,0xe1,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[254:255], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0f,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0f,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], s[4:5], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x09,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x09,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], s[6:7], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x0d,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x0d,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], s[100:101], v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xc9,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xc9,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], flat_scratch, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], vcc, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], exec, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], 0, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], -1, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x6a,0xe1,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], v[254:255] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[6:7] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[8:9] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], s[100:101] ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], flat_scratch ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], vcc ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], exec ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -1 ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], 0.5 ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], v[2:3], -4.0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x6a,0xe1,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe2,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe2,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fmas_f32 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_div_fmas_f32 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_div_fmas_f32 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_div_fmas_f32 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xe2,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xe2,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 mul:2 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 mul:4 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_div_fmas_f32 v5, v1, v2, v3 div:2 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xe2,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[254:255], v[1:2], v[2:3], v[3:4] ; encoding: [0xfe,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[254:255], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], vcc, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], 0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], -1, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], 0.5, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], -4.0, v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe3,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[254:255], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0xfd,0x0f,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0xfd,0x0f,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], vcc, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe3,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[254:255] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -1 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], 0.5 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -4.0 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_div_fmas_f64 v[5:6], -v[1:2], v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], -v[2:3], v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_div_fmas_f64 v[5:6], -v[1:2], -v[2:3], -v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_div_fmas_f64 v[5:6], |v[1:2]|, v[2:3], v[3:4] ; encoding: [0x05,0x01,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], |v[2:3]|, v[3:4] ; encoding: [0x05,0x02,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], |v[3:4]| ; encoding: [0x05,0x04,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], |v[1:2]|, |v[2:3]|, |v[3:4]| ; encoding: [0x05,0x07,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] clamp ; encoding: [0x05,0x80,0xe3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xe3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:2 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x0c]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x0c
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] mul:4 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x14]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x14
+
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], v[2:3], v[3:4] div:2 ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x1c]
+0x05,0x00,0xe3,0xd1,0x01,0x05,0x0e,0x1c
+
+# CHECK: v_msad_u8 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_msad_u8 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe4,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_msad_u8 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_msad_u8 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_msad_u8 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_msad_u8 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_msad_u8 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_msad_u8 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_msad_u8 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_msad_u8 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_msad_u8 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_msad_u8 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_msad_u8 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_msad_u8 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_msad_u8 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe4,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4] ; encoding: [0xfe,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xe5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x02,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x04,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[100:101], v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x64,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], exec, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], 0, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], -1, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], 0.5, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], -4.0, v2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe5,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], s101, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe5,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, s[100:101] ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, exec ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, -1 ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, 0.5 ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], v2, -4.0 ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe5,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[254:255], v[1:2], v2, v[3:4] ; encoding: [0xfe,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x00,0xe6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[254:255], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0xfe,0x05,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0xfe,0x05,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x02,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[4:5], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x04,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x04,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[100:101], v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x64,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x64,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], flat_scratch, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], vcc, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], exec, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], 0, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], -1, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], 0.5, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], -4.0, v2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xe6,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v255, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], s2, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], s101, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_lo, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], flat_scratch_hi, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_lo, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], vcc_hi, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], m0, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_lo, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], exec_hi, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], -1, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0.5, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], -4.0, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xe6,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, v[254:255] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[6:7] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[8:9] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, s[100:101] ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, flat_scratch ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, vcc ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, exec ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, -1 ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, 0.5 ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], v2, -4.0 ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xe6,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[254:255], s[12:13], v1, v2, v[3:4] ; encoding: [0xfe,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x0c,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[14:15], v1, v2, v[3:4] ; encoding: [0x05,0x0e,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x0e,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[100:101], v1, v2, v[3:4] ; encoding: [0x05,0x64,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x64,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], flat_scratch, v1, v2, v[3:4] ; encoding: [0x05,0x66,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x66,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], vcc, v1, v2, v[3:4] ; encoding: [0x05,0x6a,0xe8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6a,0xe8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v255, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s101, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], m0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], exec_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], exec_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], 0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], -1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], 0.5, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], -4.0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x0c,0xe8,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v255, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, s2, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, s101, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_lo, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, vcc_hi, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, m0, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, exec_lo, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, exec_hi, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, 0, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, -1, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, 0.5, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, -4.0, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, v[254:255] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, exec ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -1 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, 0.5 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, v2, -4.0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x0c,0xe8,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[254:255], s[12:13], v1, v2, v[3:4] ; encoding: [0xfe,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0xfe,0x0c,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[14:15], v1, v2, v[3:4] ; encoding: [0x05,0x0e,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x0e,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[100:101], v1, v2, v[3:4] ; encoding: [0x05,0x64,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x64,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], flat_scratch, v1, v2, v[3:4] ; encoding: [0x05,0x66,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x66,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], vcc, v1, v2, v[3:4] ; encoding: [0x05,0x6a,0xe9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x6a,0xe9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v255, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s101, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], m0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], exec_lo, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], exec_hi, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], 0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], -1, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], 0.5, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], -4.0, v2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x0c,0xe9,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v255, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, s2, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, s101, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_lo, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, flat_scratch_hi, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_lo, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, vcc_hi, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, m0, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, exec_lo, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, exec_hi, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, 0, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, -1, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, 0.5, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, -4.0, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, v[254:255] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x07]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x07
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x1a,0x00]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x1a,0x00
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x22,0x00]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x22,0x00
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x92,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x92,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, exec ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -1 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, 0.5 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, v2, -4.0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x0c,0xe9,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_perm_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_perm_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xed,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xed,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_perm_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_perm_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_perm_b32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_perm_b32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xed,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_perm_b32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_perm_b32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xed,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_perm_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_perm_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_perm_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_perm_b32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_perm_b32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xed,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_perm_b32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_perm_b32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xed,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xed,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v255, v1, v2 ; encoding: [0xff,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00]
+0xff,0x00,0xf0,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v255, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0xff,0x05,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, s1, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, s101, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x65,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x66,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x67,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x6a,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x6b,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, m0, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x7c,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x7e,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x7f,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, 0, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, -1, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0xc1,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0xf0,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0xf7,0x04,0x02,0x00]
+0x05,0x00,0xf0,0xd1,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, v255 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xff,0x03,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, s2 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, s101 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xcb,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xcd,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xcf,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xd5,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xd7,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, m0 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xf9,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xfd,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xff,0x00,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, 0 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x01,0x01,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, -1 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x83,0x01,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xe1,0x01,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0xef,0x01,0x00]
+0x05,0x00,0xf0,0xd1,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x20]
+0x05,0x00,0xf0,0xd1,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0xf0,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x01,0xf0,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkaccum_u8_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0xf0,0xd1,0x01,0x05,0x02,0x00]
+0x05,0x80,0xf0,0xd1,0x01,0x05,0x02,0x00
+
+# CHECK: v_xad_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_xad_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xf3,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf3,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xf3,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_xad_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_xad_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_xad_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_xad_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_xad_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_xad_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_xad_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_xad_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_xad_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_xad_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_xad_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_xad_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_xad_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_xad_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xf3,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_xad_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_xad_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_xad_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_xad_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_xad_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_xad_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_xad_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_xad_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_xad_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_xad_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_xad_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_xad_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_xad_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_xad_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xf3,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xf3,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_min3_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf4,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_min3_f16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_min3_f16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_min3_f16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_min3_f16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_min3_f16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_min3_f16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_min3_f16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_min3_f16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_min3_f16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf4,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_min3_f16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_min3_f16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_min3_f16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_min3_f16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_min3_f16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_min3_f16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_min3_f16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_min3_f16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_min3_f16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_min3_f16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_min3_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_min3_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_min3_f16 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_min3_f16 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xf4,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_min3_f16 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xf4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xf4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xf4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xf4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xf4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xf4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xf4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xf4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xf4,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xf4,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_i16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xf5,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf5,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf5,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_min3_i16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_min3_i16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_min3_i16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_min3_i16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_min3_i16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_min3_i16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_min3_i16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_min3_i16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_min3_i16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_min3_i16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf5,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_min3_i16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_min3_i16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_min3_i16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_min3_i16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_min3_i16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_min3_i16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_min3_i16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_min3_i16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_min3_i16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_min3_i16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xf5,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf5,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_min3_u16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_u16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xf6,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf6,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf6,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_min3_u16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_min3_u16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_min3_u16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_min3_u16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_min3_u16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_min3_u16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_min3_u16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_min3_u16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_min3_u16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_min3_u16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf6,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_min3_u16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_min3_u16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_min3_u16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_min3_u16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_min3_u16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_min3_u16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_min3_u16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_min3_u16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_min3_u16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_min3_u16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xf6,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf6,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf7,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_max3_f16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf7,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_max3_f16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_max3_f16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_max3_f16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_max3_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_max3_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_max3_f16 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_max3_f16 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xf7,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_max3_f16 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xf7,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xf7,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf8,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_max3_i16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_max3_i16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf8,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_max3_i16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_max3_i16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_max3_i16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_max3_i16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf8,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_max3_u16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_u16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xf9,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xf9,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xf9,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_max3_u16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_max3_u16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_max3_u16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_max3_u16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_max3_u16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_max3_u16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_max3_u16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_max3_u16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_max3_u16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_max3_u16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xf9,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_max3_u16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_max3_u16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_max3_u16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_max3_u16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_max3_u16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_max3_u16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_max3_u16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_max3_u16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_max3_u16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_max3_u16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xf9,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xf9,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_med3_f16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xfa,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_med3_f16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_med3_f16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_med3_f16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_med3_f16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_med3_f16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_med3_f16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_med3_f16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_med3_f16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_med3_f16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xfa,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_med3_f16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_med3_f16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_med3_f16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_med3_f16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_med3_f16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_med3_f16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_med3_f16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_med3_f16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_med3_f16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_med3_f16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_med3_f16 v5, -v1, v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x24]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x24
+
+# CHECK: v_med3_f16 v5, v1, -v2, v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x44]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x44
+
+# CHECK: v_med3_f16 v5, v1, v2, -v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x84]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0x84
+
+# CHECK: v_med3_f16 v5, -v1, -v2, -v3 ; encoding: [0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0xe4]
+0x05,0x00,0xfa,0xd1,0x01,0x05,0x0e,0xe4
+
+# CHECK: v_med3_f16 v5, |v1|, v2, v3 ; encoding: [0x05,0x01,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x01,0xfa,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, v1, |v2|, v3 ; encoding: [0x05,0x02,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x02,0xfa,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, v1, v2, |v3| ; encoding: [0x05,0x04,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x04,0xfa,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, |v1|, |v2|, |v3| ; encoding: [0x05,0x07,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x07,0xfa,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_f16 v5, v1, v2, v3 clamp ; encoding: [0x05,0x80,0xfa,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x80,0xfa,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_i16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xfb,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xfb,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xfb,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_med3_i16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_med3_i16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_med3_i16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_med3_i16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_med3_i16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_med3_i16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_med3_i16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_med3_i16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_med3_i16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_med3_i16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xfb,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_med3_i16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_med3_i16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_med3_i16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_med3_i16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_med3_i16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_med3_i16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_med3_i16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_med3_i16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_med3_i16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_med3_i16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xfb,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xfb,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_med3_u16 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_u16 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xfc,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xfc,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xfc,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_med3_u16 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_med3_u16 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_med3_u16 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_med3_u16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_med3_u16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_med3_u16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_med3_u16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_med3_u16 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_med3_u16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_med3_u16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xfc,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_med3_u16 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_med3_u16 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_med3_u16 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_med3_u16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_med3_u16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_med3_u16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_med3_u16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_med3_u16 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_med3_u16 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_med3_u16 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xfc,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xfc,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xfd,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xfd,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xfd,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xfd,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_lshl_add_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xfd,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xfd,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xfe,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xfe,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xfe,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xfe,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_add_lshl_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xfe,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xfe,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_add3_u32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_add3_u32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0xff,0xd1,0x01,0x05,0x0e,0x04]
+0xff,0x00,0xff,0xd1,0x01,0x05,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0xff,0x05,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0xff,0x05,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x01,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x65,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x65,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x66,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x66,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x67,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x67,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x80,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0x80,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0xff,0xd1,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_add3_u32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xff,0x0f,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xff,0x0f,0x04
+
+# CHECK: v_add3_u32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0x0c,0x04]
+0x05,0x00,0xff,0xd1,0x01,0x05,0x0c,0x04
+
+# CHECK: v_add3_u32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_add3_u32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_add3_u32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_add3_u32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_add3_u32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_add3_u32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_add3_u32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_add3_u32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xff,0x0c,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xff,0x0c,0x04
+
+# CHECK: v_add3_u32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x01,0x0d,0x04]
+0x05,0x00,0xff,0xd1,0x01,0x01,0x0d,0x04
+
+# CHECK: v_add3_u32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x83,0x0d,0x04]
+0x05,0x00,0xff,0xd1,0x01,0x83,0x0d,0x04
+
+# CHECK: v_add3_u32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_add3_u32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0xef,0x0d,0x04]
+0x05,0x00,0xff,0xd1,0x01,0xef,0x0d,0x04
+
+# CHECK: v_add3_u32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0xfe,0x07]
+0x05,0x00,0xff,0xd1,0x01,0x05,0xfe,0x07
+
+# CHECK: v_add3_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0x0e,0x00]
+0x05,0x00,0xff,0xd1,0x01,0x05,0x0e,0x00
+
+# CHECK: v_add3_u32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0x96,0x01]
+0x05,0x00,0xff,0xd1,0x01,0x05,0x96,0x01
+
+# CHECK: v_add3_u32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0x9a,0x01]
+0x05,0x00,0xff,0xd1,0x01,0x05,0x9a,0x01
+
+# CHECK: v_add3_u32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0x9e,0x01]
+0x05,0x00,0xff,0xd1,0x01,0x05,0x9e,0x01
+
+# CHECK: v_add3_u32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0xaa,0x01]
+0x05,0x00,0xff,0xd1,0x01,0x05,0xaa,0x01
+
+# CHECK: v_add3_u32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0xae,0x01]
+0x05,0x00,0xff,0xd1,0x01,0x05,0xae,0x01
+
+# CHECK: v_add3_u32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0xf2,0x01]
+0x05,0x00,0xff,0xd1,0x01,0x05,0xf2,0x01
+
+# CHECK: v_add3_u32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0xfa,0x01]
+0x05,0x00,0xff,0xd1,0x01,0x05,0xfa,0x01
+
+# CHECK: v_add3_u32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0xfe,0x01]
+0x05,0x00,0xff,0xd1,0x01,0x05,0xfe,0x01
+
+# CHECK: v_add3_u32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0x02,0x02]
+0x05,0x00,0xff,0xd1,0x01,0x05,0x02,0x02
+
+# CHECK: v_add3_u32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0x06,0x03]
+0x05,0x00,0xff,0xd1,0x01,0x05,0x06,0x03
+
+# CHECK: v_add3_u32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0xc2,0x03]
+0x05,0x00,0xff,0xd1,0x01,0x05,0xc2,0x03
+
+# CHECK: v_add3_u32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0xff,0xd1,0x01,0x05,0xde,0x03]
+0x05,0x00,0xff,0xd1,0x01,0x05,0xde,0x03
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x01,0x05,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0x00,0xd2,0x01,0x05,0x0e,0x04]
+0xff,0x00,0x00,0xd2,0x01,0x05,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0xff,0x05,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0xff,0x05,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x01,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x65,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x65,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x66,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x66,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x67,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x67,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x80,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0x80,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0x00,0xd2,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xff,0x0f,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xff,0x0f,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0x0c,0x04]
+0x05,0x00,0x00,0xd2,0x01,0x05,0x0c,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xff,0x0c,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xff,0x0c,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x01,0x0d,0x04]
+0x05,0x00,0x00,0xd2,0x01,0x01,0x0d,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x83,0x0d,0x04]
+0x05,0x00,0x00,0xd2,0x01,0x83,0x0d,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0xef,0x0d,0x04]
+0x05,0x00,0x00,0xd2,0x01,0xef,0x0d,0x04
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0xfe,0x07]
+0x05,0x00,0x00,0xd2,0x01,0x05,0xfe,0x07
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0x0e,0x00]
+0x05,0x00,0x00,0xd2,0x01,0x05,0x0e,0x00
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0x96,0x01]
+0x05,0x00,0x00,0xd2,0x01,0x05,0x96,0x01
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0x9a,0x01]
+0x05,0x00,0x00,0xd2,0x01,0x05,0x9a,0x01
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0x9e,0x01]
+0x05,0x00,0x00,0xd2,0x01,0x05,0x9e,0x01
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0xaa,0x01]
+0x05,0x00,0x00,0xd2,0x01,0x05,0xaa,0x01
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0xae,0x01]
+0x05,0x00,0x00,0xd2,0x01,0x05,0xae,0x01
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0xf2,0x01]
+0x05,0x00,0x00,0xd2,0x01,0x05,0xf2,0x01
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0xfa,0x01]
+0x05,0x00,0x00,0xd2,0x01,0x05,0xfa,0x01
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0xfe,0x01]
+0x05,0x00,0x00,0xd2,0x01,0x05,0xfe,0x01
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0x02,0x02]
+0x05,0x00,0x00,0xd2,0x01,0x05,0x02,0x02
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0x06,0x03]
+0x05,0x00,0x00,0xd2,0x01,0x05,0x06,0x03
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0xc2,0x03]
+0x05,0x00,0x00,0xd2,0x01,0x05,0xc2,0x03
+
+# CHECK: v_lshl_or_b32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0x00,0xd2,0x01,0x05,0xde,0x03]
+0x05,0x00,0x00,0xd2,0x01,0x05,0xde,0x03
+
+# CHECK: v_and_or_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x01,0x05,0x0e,0x04
+
+# CHECK: v_and_or_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0x01,0xd2,0x01,0x05,0x0e,0x04]
+0xff,0x00,0x01,0xd2,0x01,0x05,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0xff,0x05,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0xff,0x05,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x01,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x65,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x65,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x66,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x66,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x67,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x67,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x80,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0x80,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0x01,0xd2,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_and_or_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xff,0x0f,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xff,0x0f,0x04
+
+# CHECK: v_and_or_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0x0c,0x04]
+0x05,0x00,0x01,0xd2,0x01,0x05,0x0c,0x04
+
+# CHECK: v_and_or_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_and_or_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_and_or_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_and_or_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_and_or_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_and_or_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_and_or_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_and_or_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xff,0x0c,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xff,0x0c,0x04
+
+# CHECK: v_and_or_b32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x01,0x0d,0x04]
+0x05,0x00,0x01,0xd2,0x01,0x01,0x0d,0x04
+
+# CHECK: v_and_or_b32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x83,0x0d,0x04]
+0x05,0x00,0x01,0xd2,0x01,0x83,0x0d,0x04
+
+# CHECK: v_and_or_b32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_and_or_b32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0xef,0x0d,0x04]
+0x05,0x00,0x01,0xd2,0x01,0xef,0x0d,0x04
+
+# CHECK: v_and_or_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0xfe,0x07]
+0x05,0x00,0x01,0xd2,0x01,0x05,0xfe,0x07
+
+# CHECK: v_and_or_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0x0e,0x00]
+0x05,0x00,0x01,0xd2,0x01,0x05,0x0e,0x00
+
+# CHECK: v_and_or_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0x96,0x01]
+0x05,0x00,0x01,0xd2,0x01,0x05,0x96,0x01
+
+# CHECK: v_and_or_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0x9a,0x01]
+0x05,0x00,0x01,0xd2,0x01,0x05,0x9a,0x01
+
+# CHECK: v_and_or_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0x9e,0x01]
+0x05,0x00,0x01,0xd2,0x01,0x05,0x9e,0x01
+
+# CHECK: v_and_or_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0xaa,0x01]
+0x05,0x00,0x01,0xd2,0x01,0x05,0xaa,0x01
+
+# CHECK: v_and_or_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0xae,0x01]
+0x05,0x00,0x01,0xd2,0x01,0x05,0xae,0x01
+
+# CHECK: v_and_or_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0xf2,0x01]
+0x05,0x00,0x01,0xd2,0x01,0x05,0xf2,0x01
+
+# CHECK: v_and_or_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0xfa,0x01]
+0x05,0x00,0x01,0xd2,0x01,0x05,0xfa,0x01
+
+# CHECK: v_and_or_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0xfe,0x01]
+0x05,0x00,0x01,0xd2,0x01,0x05,0xfe,0x01
+
+# CHECK: v_and_or_b32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0x02,0x02]
+0x05,0x00,0x01,0xd2,0x01,0x05,0x02,0x02
+
+# CHECK: v_and_or_b32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0x06,0x03]
+0x05,0x00,0x01,0xd2,0x01,0x05,0x06,0x03
+
+# CHECK: v_and_or_b32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0xc2,0x03]
+0x05,0x00,0x01,0xd2,0x01,0x05,0xc2,0x03
+
+# CHECK: v_and_or_b32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0x01,0xd2,0x01,0x05,0xde,0x03]
+0x05,0x00,0x01,0xd2,0x01,0x05,0xde,0x03
+
+# CHECK: v_or3_b32 v5, v1, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x01,0x05,0x0e,0x04
+
+# CHECK: v_or3_b32 v255, v1, v2, v3 ; encoding: [0xff,0x00,0x02,0xd2,0x01,0x05,0x0e,0x04]
+0xff,0x00,0x02,0xd2,0x01,0x05,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, v255, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0xff,0x05,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0xff,0x05,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, s1, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x01,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, s101, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x65,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x65,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x66,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x66,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x67,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x67,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x6a,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x6a,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x6b,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x6b,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, m0, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x7c,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x7c,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, exec_lo, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x7e,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x7e,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, exec_hi, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x7f,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x7f,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, 0, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x80,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0x80,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, -1, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0xc1,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0xc1,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, 0.5, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0xf0,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0xf0,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, -4.0, v2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0xf7,0x04,0x0e,0x04]
+0x05,0x00,0x02,0xd2,0xf7,0x04,0x0e,0x04
+
+# CHECK: v_or3_b32 v5, v1, v255, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xff,0x0f,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xff,0x0f,0x04
+
+# CHECK: v_or3_b32 v5, v1, s2, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0x0c,0x04]
+0x05,0x00,0x02,0xd2,0x01,0x05,0x0c,0x04
+
+# CHECK: v_or3_b32 v5, v1, s101, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xcb,0x0c,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xcb,0x0c,0x04
+
+# CHECK: v_or3_b32 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xcd,0x0c,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xcd,0x0c,0x04
+
+# CHECK: v_or3_b32 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xcf,0x0c,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xcf,0x0c,0x04
+
+# CHECK: v_or3_b32 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xd5,0x0c,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xd5,0x0c,0x04
+
+# CHECK: v_or3_b32 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xd7,0x0c,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xd7,0x0c,0x04
+
+# CHECK: v_or3_b32 v5, v1, m0, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xf9,0x0c,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xf9,0x0c,0x04
+
+# CHECK: v_or3_b32 v5, v1, exec_lo, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xfd,0x0c,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xfd,0x0c,0x04
+
+# CHECK: v_or3_b32 v5, v1, exec_hi, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xff,0x0c,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xff,0x0c,0x04
+
+# CHECK: v_or3_b32 v5, v1, 0, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x01,0x0d,0x04]
+0x05,0x00,0x02,0xd2,0x01,0x01,0x0d,0x04
+
+# CHECK: v_or3_b32 v5, v1, -1, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x83,0x0d,0x04]
+0x05,0x00,0x02,0xd2,0x01,0x83,0x0d,0x04
+
+# CHECK: v_or3_b32 v5, v1, 0.5, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xe1,0x0d,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xe1,0x0d,0x04
+
+# CHECK: v_or3_b32 v5, v1, -4.0, v3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0xef,0x0d,0x04]
+0x05,0x00,0x02,0xd2,0x01,0xef,0x0d,0x04
+
+# CHECK: v_or3_b32 v5, v1, v2, v255 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0xfe,0x07]
+0x05,0x00,0x02,0xd2,0x01,0x05,0xfe,0x07
+
+# CHECK: v_or3_b32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0x0e,0x00]
+0x05,0x00,0x02,0xd2,0x01,0x05,0x0e,0x00
+
+# CHECK: v_or3_b32 v5, v1, v2, s101 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0x96,0x01]
+0x05,0x00,0x02,0xd2,0x01,0x05,0x96,0x01
+
+# CHECK: v_or3_b32 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0x9a,0x01]
+0x05,0x00,0x02,0xd2,0x01,0x05,0x9a,0x01
+
+# CHECK: v_or3_b32 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0x9e,0x01]
+0x05,0x00,0x02,0xd2,0x01,0x05,0x9e,0x01
+
+# CHECK: v_or3_b32 v5, v1, v2, vcc_lo ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0xaa,0x01]
+0x05,0x00,0x02,0xd2,0x01,0x05,0xaa,0x01
+
+# CHECK: v_or3_b32 v5, v1, v2, vcc_hi ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0xae,0x01]
+0x05,0x00,0x02,0xd2,0x01,0x05,0xae,0x01
+
+# CHECK: v_or3_b32 v5, v1, v2, m0 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0xf2,0x01]
+0x05,0x00,0x02,0xd2,0x01,0x05,0xf2,0x01
+
+# CHECK: v_or3_b32 v5, v1, v2, exec_lo ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0xfa,0x01]
+0x05,0x00,0x02,0xd2,0x01,0x05,0xfa,0x01
+
+# CHECK: v_or3_b32 v5, v1, v2, exec_hi ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0xfe,0x01]
+0x05,0x00,0x02,0xd2,0x01,0x05,0xfe,0x01
+
+# CHECK: v_or3_b32 v5, v1, v2, 0 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0x02,0x02]
+0x05,0x00,0x02,0xd2,0x01,0x05,0x02,0x02
+
+# CHECK: v_or3_b32 v5, v1, v2, -1 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0x06,0x03]
+0x05,0x00,0x02,0xd2,0x01,0x05,0x06,0x03
+
+# CHECK: v_or3_b32 v5, v1, v2, 0.5 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0xc2,0x03]
+0x05,0x00,0x02,0xd2,0x01,0x05,0xc2,0x03
+
+# CHECK: v_or3_b32 v5, v1, v2, -4.0 ; encoding: [0x05,0x00,0x02,0xd2,0x01,0x05,0xde,0x03]
+0x05,0x00,0x02,0xd2,0x01,0x05,0xde,0x03
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[254:255], v[1:2], v[2:3] ; encoding: [0xfe,0x00,0x80,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[254:255], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x80,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], s[2:3], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x02,0x04,0x02,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_add_f64 v[5:6], s[100:101], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x64,0x04,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], flat_scratch, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], vcc, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], exec, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[254:255] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xfd,0x03,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_add_f64 v[5:6], v[1:2], s[6:7] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0x0d,0x00,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], s[100:101] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], flat_scratch ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], vcc ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], exec ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_add_f64 v[5:6], -v[1:2], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_add_f64 v[5:6], v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_add_f64 v[5:6], -v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_add_f64 v[5:6], |v[1:2]|, v[2:3] ; encoding: [0x05,0x01,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], |v[2:3]| ; encoding: [0x05,0x02,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], |v[1:2]|, |v[2:3]| ; encoding: [0x05,0x03,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] clamp ; encoding: [0x05,0x80,0x80,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x80,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] mul:2 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] mul:4 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_add_f64 v[5:6], v[1:2], v[2:3] div:2 ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x80,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[254:255], v[1:2], v[2:3] ; encoding: [0xfe,0x00,0x81,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[254:255], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x81,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], s[2:3], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x02,0x04,0x02,0x00
+
+# 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_mul_f64 v[5:6], s[100:101], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x64,0x04,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], flat_scratch, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], vcc, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], exec, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[254:255] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xfd,0x03,0x00
+
+# 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_mul_f64 v[5:6], v[1:2], s[6:7] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0x0d,0x00,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], s[100:101] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], flat_scratch ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], vcc ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], exec ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_mul_f64 v[5:6], -v[1:2], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_mul_f64 v[5:6], -v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_mul_f64 v[5:6], |v[1:2]|, v[2:3] ; encoding: [0x05,0x01,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], |v[2:3]| ; encoding: [0x05,0x02,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], |v[1:2]|, |v[2:3]| ; encoding: [0x05,0x03,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] clamp ; encoding: [0x05,0x80,0x81,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x81,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] mul:2 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] mul:4 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_mul_f64 v[5:6], v[1:2], v[2:3] div:2 ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x81,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[254:255], v[1:2], v[2:3] ; encoding: [0xfe,0x00,0x82,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], v[254:255], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x82,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], s[2:3], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x02,0x04,0x02,0x00
+
+# 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_min_f64 v[5:6], s[100:101], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x64,0x04,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], flat_scratch, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], vcc, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], exec, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[254:255] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xfd,0x03,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_min_f64 v[5:6], v[1:2], s[6:7] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0x0d,0x00,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], s[100:101] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], flat_scratch ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], vcc ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], exec ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_min_f64 v[5:6], -v[1:2], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_min_f64 v[5:6], v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_min_f64 v[5:6], -v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_min_f64 v[5:6], |v[1:2]|, v[2:3] ; encoding: [0x05,0x01,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], |v[2:3]| ; encoding: [0x05,0x02,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], |v[1:2]|, |v[2:3]| ; encoding: [0x05,0x03,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] clamp ; encoding: [0x05,0x80,0x82,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x82,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] mul:2 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] mul:4 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_min_f64 v[5:6], v[1:2], v[2:3] div:2 ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x82,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_max_f64 v[5:6], v[1:2], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[254:255], v[1:2], v[2:3] ; encoding: [0xfe,0x00,0x83,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x83,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], v[254:255], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x83,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], s[2:3], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x02,0x04,0x02,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_max_f64 v[5:6], s[100:101], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x64,0x04,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], flat_scratch, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], vcc, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], exec, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], v[254:255] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xfd,0x03,0x00
+
+# 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_max_f64 v[5:6], v[1:2], s[6:7] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0x0d,0x00,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], s[100:101] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], flat_scratch ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], vcc ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], exec ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_max_f64 v[5:6], -v[1:2], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_max_f64 v[5:6], v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_max_f64 v[5:6], -v[1:2], -v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_max_f64 v[5:6], |v[1:2]|, v[2:3] ; encoding: [0x05,0x01,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x83,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], |v[2:3]| ; encoding: [0x05,0x02,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x83,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], |v[1:2]|, |v[2:3]| ; encoding: [0x05,0x03,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x83,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], v[2:3] clamp ; encoding: [0x05,0x80,0x83,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x83,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_max_f64 v[5:6], v[1:2], v[2:3] mul:2 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_max_f64 v[5:6], v[1:2], v[2:3] mul:4 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_max_f64 v[5:6], v[1:2], v[2:3] div:2 ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x83,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[254:255], v[1:2], v2 ; encoding: [0xfe,0x00,0x84,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x84,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[254:255], v2 ; encoding: [0x05,0x00,0x84,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x84,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], s[2:3], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x02,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], s[4:5], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x04,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x04,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], s[100:101], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x64,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], flat_scratch, v2 ; encoding: [0x05,0x00,0x84,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], vcc, v2 ; encoding: [0x05,0x00,0x84,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], exec, v2 ; encoding: [0x05,0x00,0x84,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x7e,0x04,0x02,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_ldexp_f64 v[5:6], -1, v2 ; encoding: [0x05,0x00,0x84,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], 0.5, v2 ; encoding: [0x05,0x00,0x84,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], -4.0, v2 ; encoding: [0x05,0x00,0x84,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], v255 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xff,0x03,0x00
+
+# 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_ldexp_f64 v[5:6], v[1:2], s101 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], flat_scratch_lo ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], flat_scratch_hi ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], vcc_lo ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], vcc_hi ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], m0 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], exec_lo ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], exec_hi ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], -v[1:2], v2 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_ldexp_f64 v[5:6], |v[1:2]|, v2 ; encoding: [0x05,0x01,0x84,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x84,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], v2 clamp ; encoding: [0x05,0x80,0x84,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x84,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], v2 mul:2 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], v2 mul:4 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], v2 div:2 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_mul_lo_u32 v5, v1, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v255, v1, v2 ; encoding: [0xff,0x00,0x85,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x85,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, v255, v2 ; encoding: [0x05,0x00,0x85,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x85,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, s1, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, s101, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, m0, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x7f,0x04,0x02,0x00
+
+# 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_mul_lo_u32 v5, -1, v2 ; encoding: [0x05,0x00,0x85,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x85,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x85,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, v255 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xff,0x03,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_mul_lo_u32 v5, v1, s101 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, m0 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, 0 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, -1 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_lo_u32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v255, v1, v2 ; encoding: [0xff,0x00,0x86,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x86,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, v255, v2 ; encoding: [0x05,0x00,0x86,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x86,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, s1, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, s101, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, m0, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x7f,0x04,0x02,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_mul_hi_u32 v5, -1, v2 ; encoding: [0x05,0x00,0x86,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x86,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x86,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, v255 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xff,0x03,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_mul_hi_u32 v5, v1, s101 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, m0 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, 0 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, -1 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_hi_u32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v255, v1, v2 ; encoding: [0xff,0x00,0x87,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x87,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, v255, v2 ; encoding: [0x05,0x00,0x87,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x87,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, s1, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, s101, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, m0, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x7f,0x04,0x02,0x00
+
+# 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_mul_hi_i32 v5, -1, v2 ; encoding: [0x05,0x00,0x87,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x87,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x87,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, v255 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xff,0x03,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_mul_hi_i32 v5, v1, s101 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, m0 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, 0 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, -1 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mul_hi_i32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v255, v1, v2 ; encoding: [0xff,0x00,0x88,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x88,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, v255, v2 ; encoding: [0x05,0x00,0x88,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x88,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, s1, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, s101, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, m0, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, 0, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, -1, v2 ; encoding: [0x05,0x00,0x88,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x88,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x88,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x88,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, v255 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, s2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, s101 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, m0 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, 0 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, -1 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x88,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x88,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_ldexp_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_ldexp_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0x88,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x88,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x88,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x88,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ldexp_f32 v5, v1, v2 mul:2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_ldexp_f32 v5, v1, v2 mul:4 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_ldexp_f32 v5, v1, v2 div:2 ; encoding: [0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x88,0xd2,0x01,0x05,0x02,0x18
+
+# 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_readlane_b32 s101, v1, s2 ; encoding: [0x65,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x65,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
+
+# 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_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_readlane_b32 s5, v255, s2 ; encoding: [0x05,0x00,0x89,0xd2,0xff,0x05,0x00,0x00]
+0x05,0x00,0x89,0xd2,0xff,0x05,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_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_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_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_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_readlane_b32 s5, v1, m0 ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xf9,0x00,0x00
+
+# 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_writelane_b32 v5, 0, s2 ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00
+
+# CHECK: v_writelane_b32 v255, 0, s2 ; encoding: [0xff,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00]
+0xff,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, -1, s2 ; encoding: [0x05,0x00,0x8a,0xd2,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0xc1,0x04,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, 0.5, s2 ; encoding: [0x05,0x00,0x8a,0xd2,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0xf0,0x04,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, -4.0, s2 ; encoding: [0x05,0x00,0x8a,0xd2,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0xf7,0x04,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, 0, s101 ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xca,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xca,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xcc,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xce,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xce,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xd4,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xd6,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, 0, m0 ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0xf8,0x00,0x00
+
+# CHECK: v_writelane_b32 v5, 0, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x80,0x00,0x01,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v255, v1, v2 ; encoding: [0xff,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x8b,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v255, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, s1, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, s101, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, m0, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, 0, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, -1, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8b,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x8b,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, v255 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, s2 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, s101 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, m0 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, 0 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, -1 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_bcnt_u32_b32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8b,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x8b,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v255, v1, v2 ; encoding: [0xff,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x8c,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v255, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, s1, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, s101, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, m0, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, 0, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, -1, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8c,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x8c,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, v255 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, s2 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, s101 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, m0 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, 0 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, -1 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mbcnt_lo_u32_b32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8c,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x8c,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v255, v1, v2 ; encoding: [0xff,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x8d,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v255, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, s1, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, s101, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, m0, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, 0, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, -1, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8d,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x8d,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, v255 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, s2 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, s101 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, m0 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, 0 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, -1 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_mbcnt_hi_u32_b32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8d,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x8d,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[254:255], v1, v[2:3] ; encoding: [0xfe,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x8f,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v255, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], s1, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], s101, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], flat_scratch_lo, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], flat_scratch_hi, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], vcc_lo, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], vcc_hi, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], m0, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], exec_lo, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], exec_hi, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x7f,0x04,0x02,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_lshlrev_b64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, v[254:255] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xfd,0x03,0x00
+
+# 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_lshlrev_b64 v[5:6], v1, s[6:7] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x0d,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, s[100:101] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, flat_scratch ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, vcc ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, exec ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, 0 ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, -1 ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, 0.5 ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_lshlrev_b64 v[5:6], v1, -4.0 ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[254:255], v1, v[2:3] ; encoding: [0xfe,0x00,0x90,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x90,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v255, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x90,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], s1, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], s101, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], flat_scratch_lo, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], flat_scratch_hi, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], vcc_lo, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], vcc_hi, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], m0, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], exec_lo, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], exec_hi, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x7f,0x04,0x02,0x00
+
+# 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_lshrrev_b64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, v[254:255] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xfd,0x03,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_lshrrev_b64 v[5:6], v1, s[6:7] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x0d,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, s[100:101] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, flat_scratch ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, vcc ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, exec ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, 0 ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, -1 ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, 0.5 ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_lshrrev_b64 v[5:6], v1, -4.0 ; encoding: [0x05,0x00,0x90,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[254:255], v1, v[2:3] ; encoding: [0xfe,0x00,0x91,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x91,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v255, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x91,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], s1, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], s101, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], flat_scratch_lo, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], flat_scratch_hi, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], vcc_lo, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], vcc_hi, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], m0, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], exec_lo, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], exec_hi, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x7f,0x04,0x02,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_ashrrev_i64 v[5:6], -1, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], 0.5, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], -4.0, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, v[254:255] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xfd,0x03,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xfd,0x03,0x00
+
+# 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_ashrrev_i64 v[5:6], v1, s[6:7] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x0d,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x0d,0x00,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, s[100:101] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xc9,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xc9,0x00,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, flat_scratch ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, vcc ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, exec ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, 0 ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, -1 ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, 0.5 ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_ashrrev_i64 v[5:6], v1, -4.0 ; encoding: [0x05,0x00,0x91,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[254:255], v[1:2], v2 ; encoding: [0xfe,0x00,0x92,0xd2,0x01,0x05,0x02,0x00]
+0xfe,0x00,0x92,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[254:255], v2 ; encoding: [0x05,0x00,0x92,0xd2,0xfe,0x05,0x02,0x00]
+0x05,0x00,0x92,0xd2,0xfe,0x05,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], s[2:3], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x02,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x02,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], s[4:5], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x04,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x04,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], s[100:101], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x64,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x64,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], flat_scratch, v2 ; encoding: [0x05,0x00,0x92,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], vcc, v2 ; encoding: [0x05,0x00,0x92,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], exec, v2 ; encoding: [0x05,0x00,0x92,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x7e,0x04,0x02,0x00
+
+# 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_trig_preop_f64 v[5:6], -1, v2 ; encoding: [0x05,0x00,0x92,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], 0.5, v2 ; encoding: [0x05,0x00,0x92,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], -4.0, v2 ; encoding: [0x05,0x00,0x92,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v255 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xff,0x03,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_trig_preop_f64 v[5:6], v[1:2], s101 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], flat_scratch_lo ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], flat_scratch_hi ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], vcc_lo ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], vcc_hi ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], m0 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], exec_lo ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], exec_hi ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], 0 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], -1 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], 0.5 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], -4.0 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], -v[1:2], v2 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_trig_preop_f64 v[5:6], |v[1:2]|, v2 ; encoding: [0x05,0x01,0x92,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x92,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v2 clamp ; encoding: [0x05,0x80,0x92,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x92,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v2 mul:2 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x08]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x08
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v2 mul:4 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x10]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x10
+
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], v2 div:2 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x18]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x02,0x18
+
+# CHECK: v_bfm_b32 v5, v1, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_bfm_b32 v255, v1, v2 ; encoding: [0xff,0x00,0x93,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x93,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, v255, v2 ; encoding: [0x05,0x00,0x93,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x93,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, s1, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, s101, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, m0, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, 0, v2 ; encoding: [0x05,0x00,0x93,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, -1, v2 ; encoding: [0x05,0x00,0x93,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x93,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x93,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x93,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_bfm_b32 v5, v1, v255 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_bfm_b32 v5, v1, s2 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, s101 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, m0 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_bfm_b32 v5, v1, 0 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_bfm_b32 v5, v1, -1 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x93,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_bfm_b32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_bfm_b32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x93,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x93,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v255, v1, v2 ; encoding: [0xff,0x00,0x94,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v255, v2 ; encoding: [0x05,0x00,0x94,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x94,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, s1, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, s101, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, m0, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, 0, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, -1, v2 ; encoding: [0x05,0x00,0x94,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x94,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x94,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x94,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, v255 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, s2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, s101 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, m0 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, 0 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, -1 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x94,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x94,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, -v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, -v1, -v2 ; encoding: [0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x94,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, |v2| ; encoding: [0x05,0x02,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_i16_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x94,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x94,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v255, v1, v2 ; encoding: [0xff,0x00,0x95,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x95,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v255, v2 ; encoding: [0x05,0x00,0x95,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x95,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, s1, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, s101, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, m0, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, 0, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, -1, v2 ; encoding: [0x05,0x00,0x95,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x95,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x95,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x95,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, v255 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, s2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, s101 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, m0 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, 0 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, -1 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x95,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x95,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, -v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, -v1, -v2 ; encoding: [0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x95,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x95,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, |v2| ; encoding: [0x05,0x02,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x95,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x95,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pknorm_u16_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x95,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x95,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v255, v1, v2 ; encoding: [0xff,0x00,0x96,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v255, v2 ; encoding: [0x05,0x00,0x96,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x96,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, s1, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, s101, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, m0, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, 0, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, -1, v2 ; encoding: [0x05,0x00,0x96,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x96,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x96,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x96,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, v255 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, s2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, s101 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, m0 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, 0 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, -1 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x96,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x96,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, -v1, v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, -v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, -v1, -v2 ; encoding: [0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0x96,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, |v1|, v2 ; encoding: [0x05,0x01,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, |v2| ; encoding: [0x05,0x02,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, |v1|, |v2| ; encoding: [0x05,0x03,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pkrtz_f16_f32 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x96,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0x96,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v255, v1, v2 ; encoding: [0xff,0x00,0x97,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x97,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v255, v2 ; encoding: [0x05,0x00,0x97,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x97,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, s1, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, s101, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, m0, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, 0, v2 ; encoding: [0x05,0x00,0x97,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, -1, v2 ; encoding: [0x05,0x00,0x97,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x97,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x97,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x97,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, v255 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, s2 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, s101 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, m0 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, 0 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, -1 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x97,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pk_u16_u32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x97,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x97,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v255, v1, v2 ; encoding: [0xff,0x00,0x98,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0x98,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v255, v2 ; encoding: [0x05,0x00,0x98,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0x98,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, s1, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, s101, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, m0, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, 0, v2 ; encoding: [0x05,0x00,0x98,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0x80,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, -1, v2 ; encoding: [0x05,0x00,0x98,0xd2,0xc1,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x98,0xd2,0xf0,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x98,0xd2,0xf7,0x04,0x02,0x00]
+0x05,0x00,0x98,0xd2,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, v255 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, s2 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, s101 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, m0 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, 0 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x01,0x01,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, -1 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0x83,0x01,0x00]
+0x05,0x00,0x98,0xd2,0x01,0x83,0x01,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xe1,0x01,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cvt_pk_i16_i32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x98,0xd2,0x01,0xef,0x01,0x00]
+0x05,0x00,0x98,0xd2,0x01,0xef,0x01,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v255, v1, v2 ; encoding: [0xff,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0xff,0x00,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v255, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0xff,0x05,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0xff,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, s1, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, s101, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x65,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x65,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x66,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x66,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x67,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x67,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x6a,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x6a,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x6b,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x6b,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, m0, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x7c,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x7c,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x7e,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x7e,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x7f,0x04,0x02,0x00]
+0x05,0x00,0xa0,0xd2,0x7f,0x04,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, v255 ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x03,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xff,0x03,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, s2 ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, s101 ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xcb,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xcd,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xcf,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xd5,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xd7,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, m0 ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xf9,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, exec_lo ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xfd,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xfd,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, exec_hi ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x00,0x00]
+0x05,0x00,0xa0,0xd2,0x01,0xff,0x00,0x00
+
+# CHECK: v_pack_b32_f16 v5, -v1, v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x20]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x20
+
+# CHECK: v_pack_b32_f16 v5, v1, -v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x40]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x40
+
+# CHECK: v_pack_b32_f16 v5, -v1, -v2 ; encoding: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x60]
+0x05,0x00,0xa0,0xd2,0x01,0x05,0x02,0x60
+
+# CHECK: v_pack_b32_f16 v5, |v1|, v2 ; encoding: [0x05,0x01,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x01,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, |v2| ; encoding: [0x05,0x02,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x02,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, |v1|, |v2| ; encoding: [0x05,0x03,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x03,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_pack_b32_f16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0xa0,0xd2,0x01,0x05,0x02,0x00]
+0x05,0x80,0xa0,0xd2,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x20,0x7c]
+0x01,0x05,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x20,0x7c]
+0xff,0x05,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x20,0x7c]
+0x01,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x20,0x7c]
+0x65,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x20,0x7c]
+0x66,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x20,0x7c]
+0x67,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x20,0x7c]
+0x6a,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x20,0x7c]
+0x6b,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x20,0x7c]
+0x7c,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x20,0x7c]
+0x7e,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x20,0x7c]
+0x7f,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x20,0x7c]
+0x80,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x20,0x7c]
+0xc1,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x20,0x7c]
+0xf0,0x04,0x20,0x7c
+
+# CHECK: v_cmp_class_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x20,0x7c]
+0xf7,0x04,0x20,0x7c
+
+# 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_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_cmp_class_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x21,0x7c]
+0x01,0xff,0x21,0x7c
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x10,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x7f,0x04,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_cmp_class_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_class_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_class_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x10,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_class_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x22,0x7c]
+0x01,0x05,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x22,0x7c]
+0xff,0x05,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x22,0x7c]
+0x01,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x22,0x7c]
+0x65,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x22,0x7c]
+0x66,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x22,0x7c]
+0x67,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x22,0x7c]
+0x6a,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x22,0x7c]
+0x6b,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x22,0x7c]
+0x7c,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x22,0x7c]
+0x7e,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x22,0x7c]
+0x7f,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x22,0x7c]
+0x80,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x22,0x7c]
+0xc1,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x22,0x7c]
+0xf0,0x04,0x22,0x7c
+
+# CHECK: v_cmpx_class_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x22,0x7c]
+0xf7,0x04,0x22,0x7c
+
+# 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_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_cmpx_class_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x23,0x7c]
+0x01,0xff,0x23,0x7c
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x11,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x11,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x11,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x11,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x11,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x11,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x7f,0x04,0x02,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_cmpx_class_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xff,0x03,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_cmpx_class_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_class_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x11,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_class_f64_e32 vcc, v[1:2], v2 ; encoding: [0x01,0x05,0x24,0x7c]
+0x01,0x05,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, v[254:255], v2 ; encoding: [0xfe,0x05,0x24,0x7c]
+0xfe,0x05,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, s[2:3], v2 ; encoding: [0x02,0x04,0x24,0x7c]
+0x02,0x04,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, s[4:5], v2 ; encoding: [0x04,0x04,0x24,0x7c]
+0x04,0x04,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, s[100:101], v2 ; encoding: [0x64,0x04,0x24,0x7c]
+0x64,0x04,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, flat_scratch, v2 ; encoding: [0x66,0x04,0x24,0x7c]
+0x66,0x04,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, vcc, v2 ; encoding: [0x6a,0x04,0x24,0x7c]
+0x6a,0x04,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, exec, v2 ; encoding: [0x7e,0x04,0x24,0x7c]
+0x7e,0x04,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x24,0x7c]
+0x80,0x04,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x24,0x7c]
+0xc1,0x04,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x24,0x7c]
+0xf0,0x04,0x24,0x7c
+
+# CHECK: v_cmp_class_f64_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x24,0x7c]
+0xf7,0x04,0x24,0x7c
+
+# 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_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_cmp_class_f64_e32 vcc, v[1:2], v255 ; encoding: [0x01,0xff,0x25,0x7c]
+0x01,0xff,0x25,0x7c
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[12:13], v[1:2], v2 ; encoding: [0x0c,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x12,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[100:101], v[1:2], v2 ; encoding: [0x64,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x12,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 flat_scratch, v[1:2], v2 ; encoding: [0x66,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x12,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 vcc, v[1:2], v2 ; encoding: [0x6a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x12,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[254:255], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], s[2:3], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x02,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], s[4:5], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x04,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], s[100:101], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], flat_scratch, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], vcc, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], exec, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x7e,0x04,0x02,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_cmp_class_f64_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], v255 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xff,0x03,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_cmp_class_f64_e64 s[10:11], v[1:2], s101 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], flat_scratch_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], flat_scratch_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], vcc_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], vcc_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], m0 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], exec_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], exec_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_class_f64_e64 s[10:11], -v[1:2], v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x12,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_class_f64_e32 vcc, v[1:2], v2 ; encoding: [0x01,0x05,0x26,0x7c]
+0x01,0x05,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, v[254:255], v2 ; encoding: [0xfe,0x05,0x26,0x7c]
+0xfe,0x05,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, s[2:3], v2 ; encoding: [0x02,0x04,0x26,0x7c]
+0x02,0x04,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, s[4:5], v2 ; encoding: [0x04,0x04,0x26,0x7c]
+0x04,0x04,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, s[100:101], v2 ; encoding: [0x64,0x04,0x26,0x7c]
+0x64,0x04,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, flat_scratch, v2 ; encoding: [0x66,0x04,0x26,0x7c]
+0x66,0x04,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, vcc, v2 ; encoding: [0x6a,0x04,0x26,0x7c]
+0x6a,0x04,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, exec, v2 ; encoding: [0x7e,0x04,0x26,0x7c]
+0x7e,0x04,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x26,0x7c]
+0x80,0x04,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x26,0x7c]
+0xc1,0x04,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x26,0x7c]
+0xf0,0x04,0x26,0x7c
+
+# CHECK: v_cmpx_class_f64_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x26,0x7c]
+0xf7,0x04,0x26,0x7c
+
+# 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_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_cmpx_class_f64_e32 vcc, v[1:2], v255 ; encoding: [0x01,0xff,0x27,0x7c]
+0x01,0xff,0x27,0x7c
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[12:13], v[1:2], v2 ; encoding: [0x0c,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[100:101], v[1:2], v2 ; encoding: [0x64,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 flat_scratch, v[1:2], v2 ; encoding: [0x66,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 vcc, v[1:2], v2 ; encoding: [0x6a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 exec, v[1:2], v2 ; encoding: [0x7e,0x00,0x13,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x13,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[254:255], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], s[2:3], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x02,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], s[4:5], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x04,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], s[100:101], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], flat_scratch, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], vcc, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], exec, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x7e,0x04,0x02,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_cmpx_class_f64_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], v255 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xff,0x03,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_cmpx_class_f64_e64 s[10:11], v[1:2], s101 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], flat_scratch_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], flat_scratch_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], vcc_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], vcc_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], m0 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], exec_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], exec_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_class_f64_e64 s[10:11], -v[1:2], v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x13,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_class_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x28,0x7c]
+0x01,0x05,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x28,0x7c]
+0xff,0x05,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x28,0x7c]
+0x01,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x28,0x7c]
+0x65,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x28,0x7c]
+0x66,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x28,0x7c]
+0x67,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x28,0x7c]
+0x6a,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x28,0x7c]
+0x6b,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x28,0x7c]
+0x7c,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x28,0x7c]
+0x7e,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x28,0x7c]
+0x7f,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x28,0x7c]
+0x80,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x28,0x7c]
+0xc1,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x28,0x7c]
+0xf0,0x04,0x28,0x7c
+
+# CHECK: v_cmp_class_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x28,0x7c]
+0xf7,0x04,0x28,0x7c
+
+# 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_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_cmp_class_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x29,0x7c]
+0x01,0xff,0x29,0x7c
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x14,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x14,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x14,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x14,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_class_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xff,0x03,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_cmp_class_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_class_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x14,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_class_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x2a,0x7c]
+0x01,0x05,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x2a,0x7c]
+0xff,0x05,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x2a,0x7c]
+0x01,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x2a,0x7c]
+0x65,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x2a,0x7c]
+0x66,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x2a,0x7c]
+0x67,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x2a,0x7c]
+0x6a,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x2a,0x7c]
+0x6b,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x2a,0x7c]
+0x7c,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x2a,0x7c]
+0x7e,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x2a,0x7c]
+0x7f,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x2a,0x7c]
+0x80,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x2a,0x7c]
+0xc1,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x2a,0x7c]
+0xf0,0x04,0x2a,0x7c
+
+# CHECK: v_cmpx_class_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x2a,0x7c]
+0xf7,0x04,0x2a,0x7c
+
+# 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_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_cmpx_class_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x2b,0x7c]
+0x01,0xff,0x2b,0x7c
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x15,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x15,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x7f,0x04,0x02,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_cmpx_class_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_class_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_class_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x15,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_f_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x40,0x7c]
+0x01,0x05,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x40,0x7c]
+0xff,0x05,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x40,0x7c]
+0x01,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x40,0x7c]
+0x65,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x40,0x7c]
+0x66,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x40,0x7c]
+0x67,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x40,0x7c]
+0x6a,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x40,0x7c]
+0x6b,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x40,0x7c]
+0x7c,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x40,0x7c]
+0x7e,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x40,0x7c]
+0x7f,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x40,0x7c]
+0x80,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x40,0x7c]
+0xc1,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x40,0x7c]
+0xf0,0x04,0x40,0x7c
+
+# CHECK: v_cmp_f_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x40,0x7c]
+0xf7,0x04,0x40,0x7c
+
+# 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_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_cmp_f_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x41,0x7c]
+0x01,0xff,0x41,0x7c
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x20,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x20,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x20,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x20,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x7f,0x04,0x02,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_cmp_f_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xff,0x03,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_cmp_f_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x20,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x20,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x20,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x42,0x7c]
+0x01,0x05,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x42,0x7c]
+0xff,0x05,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x42,0x7c]
+0x01,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x42,0x7c]
+0x65,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x42,0x7c]
+0x66,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x42,0x7c]
+0x67,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x42,0x7c]
+0x6a,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x42,0x7c]
+0x6b,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x42,0x7c]
+0x7c,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x42,0x7c]
+0x7e,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x42,0x7c]
+0x7f,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x42,0x7c]
+0x80,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x42,0x7c]
+0xc1,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x42,0x7c]
+0xf0,0x04,0x42,0x7c
+
+# CHECK: v_cmp_lt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x42,0x7c]
+0xf7,0x04,0x42,0x7c
+
+# 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_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_cmp_lt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x43,0x7c]
+0x01,0xff,0x43,0x7c
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x21,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_lt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xff,0x03,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_cmp_lt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x21,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x21,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x21,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x44,0x7c]
+0x01,0x05,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x44,0x7c]
+0xff,0x05,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x44,0x7c]
+0x01,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x44,0x7c]
+0x65,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x44,0x7c]
+0x66,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x44,0x7c]
+0x67,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x44,0x7c]
+0x6a,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x44,0x7c]
+0x6b,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x44,0x7c]
+0x7c,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x44,0x7c]
+0x7e,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x44,0x7c]
+0x7f,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x44,0x7c]
+0x80,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x44,0x7c]
+0xc1,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x44,0x7c]
+0xf0,0x04,0x44,0x7c
+
+# CHECK: v_cmp_eq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x44,0x7c]
+0xf7,0x04,0x44,0x7c
+
+# 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_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_cmp_eq_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x45,0x7c]
+0x01,0xff,0x45,0x7c
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x22,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x22,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x22,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x22,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_eq_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xff,0x03,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_cmp_eq_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x22,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x22,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x22,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x46,0x7c]
+0x01,0x05,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x46,0x7c]
+0xff,0x05,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x46,0x7c]
+0x01,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x46,0x7c]
+0x65,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x46,0x7c]
+0x66,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x46,0x7c]
+0x67,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x46,0x7c]
+0x6a,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x46,0x7c]
+0x6b,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x46,0x7c]
+0x7c,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x46,0x7c]
+0x7e,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x46,0x7c]
+0x7f,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x46,0x7c]
+0x80,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x46,0x7c]
+0xc1,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x46,0x7c]
+0xf0,0x04,0x46,0x7c
+
+# CHECK: v_cmp_le_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x46,0x7c]
+0xf7,0x04,0x46,0x7c
+
+# 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_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_cmp_le_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x47,0x7c]
+0x01,0xff,0x47,0x7c
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x23,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x23,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x23,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x23,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x7f,0x04,0x02,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_cmp_le_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xff,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_cmp_le_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x23,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x23,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x23,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x48,0x7c]
+0x01,0x05,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x48,0x7c]
+0xff,0x05,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x48,0x7c]
+0x01,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x48,0x7c]
+0x65,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x48,0x7c]
+0x66,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x48,0x7c]
+0x67,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x48,0x7c]
+0x6a,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x48,0x7c]
+0x6b,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x48,0x7c]
+0x7c,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x48,0x7c]
+0x7e,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x48,0x7c]
+0x7f,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x48,0x7c]
+0x80,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x48,0x7c]
+0xc1,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x48,0x7c]
+0xf0,0x04,0x48,0x7c
+
+# CHECK: v_cmp_gt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x48,0x7c]
+0xf7,0x04,0x48,0x7c
+
+# 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_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_cmp_gt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x49,0x7c]
+0x01,0xff,0x49,0x7c
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x24,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x24,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x24,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x24,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x7f,0x04,0x02,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_cmp_gt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_gt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x24,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x24,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x24,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4a,0x7c]
+0x01,0x05,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4a,0x7c]
+0xff,0x05,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4a,0x7c]
+0x01,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4a,0x7c]
+0x65,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4a,0x7c]
+0x66,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4a,0x7c]
+0x67,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4a,0x7c]
+0x6a,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4a,0x7c]
+0x6b,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4a,0x7c]
+0x7c,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4a,0x7c]
+0x7e,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4a,0x7c]
+0x7f,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4a,0x7c]
+0x80,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4a,0x7c]
+0xc1,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4a,0x7c]
+0xf0,0x04,0x4a,0x7c
+
+# CHECK: v_cmp_lg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4a,0x7c]
+0xf7,0x04,0x4a,0x7c
+
+# 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_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_cmp_lg_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4b,0x7c]
+0x01,0xff,0x4b,0x7c
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x25,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_lg_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_lg_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x25,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x25,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x25,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4c,0x7c]
+0x01,0x05,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4c,0x7c]
+0xff,0x05,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4c,0x7c]
+0x01,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4c,0x7c]
+0x65,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4c,0x7c]
+0x66,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4c,0x7c]
+0x67,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4c,0x7c]
+0x6a,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4c,0x7c]
+0x6b,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4c,0x7c]
+0x7c,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4c,0x7c]
+0x7e,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4c,0x7c]
+0x7f,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4c,0x7c]
+0x80,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4c,0x7c]
+0xc1,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4c,0x7c]
+0xf0,0x04,0x4c,0x7c
+
+# CHECK: v_cmp_ge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4c,0x7c]
+0xf7,0x04,0x4c,0x7c
+
+# 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_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_cmp_ge_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4d,0x7c]
+0x01,0xff,0x4d,0x7c
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x26,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x26,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x26,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x26,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_ge_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xff,0x03,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_cmp_ge_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x26,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x26,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x26,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4e,0x7c]
+0x01,0x05,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4e,0x7c]
+0xff,0x05,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4e,0x7c]
+0x01,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4e,0x7c]
+0x65,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4e,0x7c]
+0x66,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4e,0x7c]
+0x67,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4e,0x7c]
+0x6a,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4e,0x7c]
+0x6b,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4e,0x7c]
+0x7c,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4e,0x7c]
+0x7e,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4e,0x7c]
+0x7f,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4e,0x7c]
+0x80,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4e,0x7c]
+0xc1,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4e,0x7c]
+0xf0,0x04,0x4e,0x7c
+
+# CHECK: v_cmp_o_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4e,0x7c]
+0xf7,0x04,0x4e,0x7c
+
+# 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_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_cmp_o_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4f,0x7c]
+0x01,0xff,0x4f,0x7c
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x27,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x27,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x27,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x27,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x7f,0x04,0x02,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_cmp_o_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_o_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x27,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x27,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x27,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x50,0x7c]
+0x01,0x05,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x50,0x7c]
+0xff,0x05,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x50,0x7c]
+0x01,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x50,0x7c]
+0x65,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x50,0x7c]
+0x66,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x50,0x7c]
+0x67,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x50,0x7c]
+0x6a,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x50,0x7c]
+0x6b,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x50,0x7c]
+0x7c,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x50,0x7c]
+0x7e,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x50,0x7c]
+0x7f,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x50,0x7c]
+0x80,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x50,0x7c]
+0xc1,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x50,0x7c]
+0xf0,0x04,0x50,0x7c
+
+# CHECK: v_cmp_u_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x50,0x7c]
+0xf7,0x04,0x50,0x7c
+
+# 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_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_cmp_u_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x51,0x7c]
+0x01,0xff,0x51,0x7c
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x28,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x28,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x28,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x28,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x7f,0x04,0x02,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_cmp_u_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xff,0x03,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_cmp_u_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x28,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x28,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x28,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x52,0x7c]
+0x01,0x05,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x52,0x7c]
+0xff,0x05,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x52,0x7c]
+0x01,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x52,0x7c]
+0x65,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x52,0x7c]
+0x66,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x52,0x7c]
+0x67,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x52,0x7c]
+0x6a,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x52,0x7c]
+0x6b,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x52,0x7c]
+0x7c,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x52,0x7c]
+0x7e,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x52,0x7c]
+0x7f,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x52,0x7c]
+0x80,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x52,0x7c]
+0xc1,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x52,0x7c]
+0xf0,0x04,0x52,0x7c
+
+# CHECK: v_cmp_nge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x52,0x7c]
+0xf7,0x04,0x52,0x7c
+
+# 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_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_cmp_nge_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x53,0x7c]
+0x01,0xff,0x53,0x7c
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x29,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x29,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x29,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x29,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_nge_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_nge_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x29,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x29,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x29,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x54,0x7c]
+0x01,0x05,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x54,0x7c]
+0xff,0x05,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x54,0x7c]
+0x01,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x54,0x7c]
+0x65,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x54,0x7c]
+0x66,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x54,0x7c]
+0x67,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x54,0x7c]
+0x6a,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x54,0x7c]
+0x6b,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x54,0x7c]
+0x7c,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x54,0x7c]
+0x7e,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x54,0x7c]
+0x7f,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x54,0x7c]
+0x80,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x54,0x7c]
+0xc1,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x54,0x7c]
+0xf0,0x04,0x54,0x7c
+
+# CHECK: v_cmp_nlg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x54,0x7c]
+0xf7,0x04,0x54,0x7c
+
+# 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_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_cmp_nlg_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x55,0x7c]
+0x01,0xff,0x55,0x7c
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x7f,0x04,0x02,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_cmp_nlg_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_nlg_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x56,0x7c]
+0x01,0x05,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x56,0x7c]
+0xff,0x05,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x56,0x7c]
+0x01,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x56,0x7c]
+0x65,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x56,0x7c]
+0x66,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x56,0x7c]
+0x67,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x56,0x7c]
+0x6a,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x56,0x7c]
+0x6b,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x56,0x7c]
+0x7c,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x56,0x7c]
+0x7e,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x56,0x7c]
+0x7f,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x56,0x7c]
+0x80,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x56,0x7c]
+0xc1,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x56,0x7c]
+0xf0,0x04,0x56,0x7c
+
+# CHECK: v_cmp_ngt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x56,0x7c]
+0xf7,0x04,0x56,0x7c
+
+# 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_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_cmp_ngt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x57,0x7c]
+0x01,0xff,0x57,0x7c
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x7f,0x04,0x02,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_cmp_ngt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xff,0x03,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_cmp_ngt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x58,0x7c]
+0x01,0x05,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x58,0x7c]
+0xff,0x05,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x58,0x7c]
+0x01,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x58,0x7c]
+0x65,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x58,0x7c]
+0x66,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x58,0x7c]
+0x67,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x58,0x7c]
+0x6a,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x58,0x7c]
+0x6b,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x58,0x7c]
+0x7c,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x58,0x7c]
+0x7e,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x58,0x7c]
+0x7f,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x58,0x7c]
+0x80,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x58,0x7c]
+0xc1,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x58,0x7c]
+0xf0,0x04,0x58,0x7c
+
+# CHECK: v_cmp_nle_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x58,0x7c]
+0xf7,0x04,0x58,0x7c
+
+# 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_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_cmp_nle_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x59,0x7c]
+0x01,0xff,0x59,0x7c
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x7f,0x04,0x02,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_cmp_nle_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xff,0x03,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_cmp_nle_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5a,0x7c]
+0x01,0x05,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5a,0x7c]
+0xff,0x05,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5a,0x7c]
+0x01,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5a,0x7c]
+0x65,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5a,0x7c]
+0x66,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5a,0x7c]
+0x67,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5a,0x7c]
+0x6a,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5a,0x7c]
+0x6b,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5a,0x7c]
+0x7c,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5a,0x7c]
+0x7e,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5a,0x7c]
+0x7f,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5a,0x7c]
+0x80,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5a,0x7c]
+0xc1,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5a,0x7c]
+0xf0,0x04,0x5a,0x7c
+
+# CHECK: v_cmp_neq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5a,0x7c]
+0xf7,0x04,0x5a,0x7c
+
+# 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_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_cmp_neq_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5b,0x7c]
+0x01,0xff,0x5b,0x7c
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_neq_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_neq_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5c,0x7c]
+0x01,0x05,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5c,0x7c]
+0xff,0x05,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5c,0x7c]
+0x01,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5c,0x7c]
+0x65,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5c,0x7c]
+0x66,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5c,0x7c]
+0x67,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5c,0x7c]
+0x6a,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5c,0x7c]
+0x6b,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5c,0x7c]
+0x7c,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5c,0x7c]
+0x7e,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5c,0x7c]
+0x7f,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5c,0x7c]
+0x80,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5c,0x7c]
+0xc1,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5c,0x7c]
+0xf0,0x04,0x5c,0x7c
+
+# CHECK: v_cmp_nlt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5c,0x7c]
+0xf7,0x04,0x5c,0x7c
+
+# 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_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_cmp_nlt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5d,0x7c]
+0x01,0xff,0x5d,0x7c
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x7f,0x04,0x02,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_cmp_nlt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xff,0x03,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_cmp_nlt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5e,0x7c]
+0x01,0x05,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5e,0x7c]
+0xff,0x05,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5e,0x7c]
+0x01,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5e,0x7c]
+0x65,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5e,0x7c]
+0x66,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5e,0x7c]
+0x67,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5e,0x7c]
+0x6a,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5e,0x7c]
+0x6b,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5e,0x7c]
+0x7c,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5e,0x7c]
+0x7e,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5e,0x7c]
+0x7f,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5e,0x7c]
+0x80,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5e,0x7c]
+0xc1,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5e,0x7c]
+0xf0,0x04,0x5e,0x7c
+
+# CHECK: v_cmp_tru_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5e,0x7c]
+0xf7,0x04,0x5e,0x7c
+
+# 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_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_cmp_tru_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5f,0x7c]
+0x01,0xff,0x5f,0x7c
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x7f,0x04,0x02,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_cmp_tru_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xff,0x03,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_cmp_tru_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x2f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x2f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x2f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x60,0x7c]
+0x01,0x05,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x60,0x7c]
+0xff,0x05,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x60,0x7c]
+0x01,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x60,0x7c]
+0x65,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x60,0x7c]
+0x66,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x60,0x7c]
+0x67,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x60,0x7c]
+0x6a,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x60,0x7c]
+0x6b,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x60,0x7c]
+0x7c,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x60,0x7c]
+0x7e,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x60,0x7c]
+0x7f,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x60,0x7c]
+0x80,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x60,0x7c]
+0xc1,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x60,0x7c]
+0xf0,0x04,0x60,0x7c
+
+# CHECK: v_cmpx_f_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x60,0x7c]
+0xf7,0x04,0x60,0x7c
+
+# 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_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_cmpx_f_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x61,0x7c]
+0x01,0xff,0x61,0x7c
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x30,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x30,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x30,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x30,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x30,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x7f,0x04,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_cmpx_f_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_f_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x30,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x30,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x30,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x62,0x7c]
+0x01,0x05,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x62,0x7c]
+0xff,0x05,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x62,0x7c]
+0x01,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x62,0x7c]
+0x65,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x62,0x7c]
+0x66,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x62,0x7c]
+0x67,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x62,0x7c]
+0x6a,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x62,0x7c]
+0x6b,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x62,0x7c]
+0x7c,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x62,0x7c]
+0x7e,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x62,0x7c]
+0x7f,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x62,0x7c]
+0x80,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x62,0x7c]
+0xc1,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x62,0x7c]
+0xf0,0x04,0x62,0x7c
+
+# CHECK: v_cmpx_lt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x62,0x7c]
+0xf7,0x04,0x62,0x7c
+
+# 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_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_cmpx_lt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x63,0x7c]
+0x01,0xff,0x63,0x7c
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x31,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x7f,0x04,0x02,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_cmpx_lt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xff,0x03,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_cmpx_lt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x31,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x31,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x31,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x64,0x7c]
+0x01,0x05,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x64,0x7c]
+0xff,0x05,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x64,0x7c]
+0x01,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x64,0x7c]
+0x65,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x64,0x7c]
+0x66,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x64,0x7c]
+0x67,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x64,0x7c]
+0x6a,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x64,0x7c]
+0x6b,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x64,0x7c]
+0x7c,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x64,0x7c]
+0x7e,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x64,0x7c]
+0x7f,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x64,0x7c]
+0x80,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x64,0x7c]
+0xc1,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x64,0x7c]
+0xf0,0x04,0x64,0x7c
+
+# CHECK: v_cmpx_eq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x64,0x7c]
+0xf7,0x04,0x64,0x7c
+
+# 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_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_cmpx_eq_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x65,0x7c]
+0x01,0xff,0x65,0x7c
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x32,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x32,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x32,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x32,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x32,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x7f,0x04,0x02,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_cmpx_eq_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xff,0x03,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_cmpx_eq_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x32,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x32,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x32,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x66,0x7c]
+0x01,0x05,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x66,0x7c]
+0xff,0x05,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x66,0x7c]
+0x01,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x66,0x7c]
+0x65,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x66,0x7c]
+0x66,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x66,0x7c]
+0x67,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x66,0x7c]
+0x6a,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x66,0x7c]
+0x6b,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x66,0x7c]
+0x7c,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x66,0x7c]
+0x7e,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x66,0x7c]
+0x7f,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x66,0x7c]
+0x80,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x66,0x7c]
+0xc1,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x66,0x7c]
+0xf0,0x04,0x66,0x7c
+
+# CHECK: v_cmpx_le_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x66,0x7c]
+0xf7,0x04,0x66,0x7c
+
+# 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_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_cmpx_le_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x67,0x7c]
+0x01,0xff,0x67,0x7c
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x33,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x33,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x33,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x33,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x33,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x7f,0x04,0x02,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_cmpx_le_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xff,0x03,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_cmpx_le_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x33,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x33,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x33,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x68,0x7c]
+0x01,0x05,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x68,0x7c]
+0xff,0x05,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x68,0x7c]
+0x01,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x68,0x7c]
+0x65,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x68,0x7c]
+0x66,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x68,0x7c]
+0x67,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x68,0x7c]
+0x6a,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x68,0x7c]
+0x6b,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x68,0x7c]
+0x7c,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x68,0x7c]
+0x7e,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x68,0x7c]
+0x7f,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x68,0x7c]
+0x80,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x68,0x7c]
+0xc1,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x68,0x7c]
+0xf0,0x04,0x68,0x7c
+
+# CHECK: v_cmpx_gt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x68,0x7c]
+0xf7,0x04,0x68,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_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_cmpx_gt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x69,0x7c]
+0x01,0xff,0x69,0x7c
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x34,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_gt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xff,0x03,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_cmpx_gt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x34,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x34,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x34,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6a,0x7c]
+0x01,0x05,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6a,0x7c]
+0xff,0x05,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6a,0x7c]
+0x01,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6a,0x7c]
+0x65,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6a,0x7c]
+0x66,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6a,0x7c]
+0x67,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6a,0x7c]
+0x6a,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6a,0x7c]
+0x6b,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6a,0x7c]
+0x7c,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6a,0x7c]
+0x7e,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6a,0x7c]
+0x7f,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6a,0x7c]
+0x80,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6a,0x7c]
+0xc1,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6a,0x7c]
+0xf0,0x04,0x6a,0x7c
+
+# CHECK: v_cmpx_lg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6a,0x7c]
+0xf7,0x04,0x6a,0x7c
+
+# 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_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_lg_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6b,0x7c]
+0x01,0xff,0x6b,0x7c
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x35,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x35,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x35,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x35,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x35,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_lg_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xff,0x03,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_lg_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x35,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x35,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x35,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6c,0x7c]
+0x01,0x05,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6c,0x7c]
+0xff,0x05,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6c,0x7c]
+0x01,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6c,0x7c]
+0x65,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6c,0x7c]
+0x66,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6c,0x7c]
+0x67,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6c,0x7c]
+0x6a,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6c,0x7c]
+0x6b,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6c,0x7c]
+0x7c,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6c,0x7c]
+0x7e,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6c,0x7c]
+0x7f,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6c,0x7c]
+0x80,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6c,0x7c]
+0xc1,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6c,0x7c]
+0xf0,0x04,0x6c,0x7c
+
+# CHECK: v_cmpx_ge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6c,0x7c]
+0xf7,0x04,0x6c,0x7c
+
+# 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_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_ge_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6d,0x7c]
+0x01,0xff,0x6d,0x7c
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x36,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x7f,0x04,0x02,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_ge_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xff,0x03,0x00
+
+# 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_ge_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x36,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x36,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x36,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6e,0x7c]
+0x01,0x05,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6e,0x7c]
+0xff,0x05,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6e,0x7c]
+0x01,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6e,0x7c]
+0x65,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6e,0x7c]
+0x66,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6e,0x7c]
+0x67,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6e,0x7c]
+0x6a,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6e,0x7c]
+0x6b,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6e,0x7c]
+0x7c,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6e,0x7c]
+0x7e,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6e,0x7c]
+0x7f,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6e,0x7c]
+0x80,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6e,0x7c]
+0xc1,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6e,0x7c]
+0xf0,0x04,0x6e,0x7c
+
+# CHECK: v_cmpx_o_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6e,0x7c]
+0xf7,0x04,0x6e,0x7c
+
+# 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_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_cmpx_o_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6f,0x7c]
+0x01,0xff,0x6f,0x7c
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x37,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x37,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x37,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x37,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x37,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_o_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xff,0x03,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_cmpx_o_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x37,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x37,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x37,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x70,0x7c]
+0x01,0x05,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x70,0x7c]
+0xff,0x05,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x70,0x7c]
+0x01,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x70,0x7c]
+0x65,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x70,0x7c]
+0x66,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x70,0x7c]
+0x67,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x70,0x7c]
+0x6a,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x70,0x7c]
+0x6b,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x70,0x7c]
+0x7c,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x70,0x7c]
+0x7e,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x70,0x7c]
+0x7f,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x70,0x7c]
+0x80,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x70,0x7c]
+0xc1,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x70,0x7c]
+0xf0,0x04,0x70,0x7c
+
+# CHECK: v_cmpx_u_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x70,0x7c]
+0xf7,0x04,0x70,0x7c
+
+# 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_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_u_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x71,0x7c]
+0x01,0xff,0x71,0x7c
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x38,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x38,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x38,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x38,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x38,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_u_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_u_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x38,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x38,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x38,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x72,0x7c]
+0x01,0x05,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x72,0x7c]
+0xff,0x05,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x72,0x7c]
+0x01,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x72,0x7c]
+0x65,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x72,0x7c]
+0x66,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x72,0x7c]
+0x67,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x72,0x7c]
+0x6a,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x72,0x7c]
+0x6b,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x72,0x7c]
+0x7c,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x72,0x7c]
+0x7e,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x72,0x7c]
+0x7f,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x72,0x7c]
+0x80,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x72,0x7c]
+0xc1,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x72,0x7c]
+0xf0,0x04,0x72,0x7c
+
+# CHECK: v_cmpx_nge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x72,0x7c]
+0xf7,0x04,0x72,0x7c
+
+# 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_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_cmpx_nge_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x73,0x7c]
+0x01,0xff,0x73,0x7c
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x39,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x7f,0x04,0x02,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_cmpx_nge_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_nge_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x39,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x39,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x39,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x74,0x7c]
+0x01,0x05,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x74,0x7c]
+0xff,0x05,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x74,0x7c]
+0x01,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x74,0x7c]
+0x65,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x74,0x7c]
+0x66,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x74,0x7c]
+0x67,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x74,0x7c]
+0x6a,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x74,0x7c]
+0x6b,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x74,0x7c]
+0x7c,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x74,0x7c]
+0x7e,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x74,0x7c]
+0x7f,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x74,0x7c]
+0x80,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x74,0x7c]
+0xc1,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x74,0x7c]
+0xf0,0x04,0x74,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x74,0x7c]
+0xf7,0x04,0x74,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_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_cmpx_nlg_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x75,0x7c]
+0x01,0xff,0x75,0x7c
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x3a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x7f,0x04,0x02,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_cmpx_nlg_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xff,0x03,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_cmpx_nlg_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x76,0x7c]
+0x01,0x05,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x76,0x7c]
+0xff,0x05,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x76,0x7c]
+0x01,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x76,0x7c]
+0x65,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x76,0x7c]
+0x66,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x76,0x7c]
+0x67,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x76,0x7c]
+0x6a,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x76,0x7c]
+0x6b,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x76,0x7c]
+0x7c,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x76,0x7c]
+0x7e,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x76,0x7c]
+0x7f,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x76,0x7c]
+0x80,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x76,0x7c]
+0xc1,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x76,0x7c]
+0xf0,0x04,0x76,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x76,0x7c]
+0xf7,0x04,0x76,0x7c
+
+# 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_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_cmpx_ngt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x77,0x7c]
+0x01,0xff,0x77,0x7c
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x3b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_ngt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xff,0x03,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_cmpx_ngt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x78,0x7c]
+0x01,0x05,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x78,0x7c]
+0xff,0x05,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x78,0x7c]
+0x01,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x78,0x7c]
+0x65,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x78,0x7c]
+0x66,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x78,0x7c]
+0x67,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x78,0x7c]
+0x6a,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x78,0x7c]
+0x6b,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x78,0x7c]
+0x7c,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x78,0x7c]
+0x7e,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x78,0x7c]
+0x7f,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x78,0x7c]
+0x80,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x78,0x7c]
+0xc1,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x78,0x7c]
+0xf0,0x04,0x78,0x7c
+
+# CHECK: v_cmpx_nle_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x78,0x7c]
+0xf7,0x04,0x78,0x7c
+
+# 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_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_cmpx_nle_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x79,0x7c]
+0x01,0xff,0x79,0x7c
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x3c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_nle_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_nle_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7a,0x7c]
+0x01,0x05,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7a,0x7c]
+0xff,0x05,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7a,0x7c]
+0x01,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7a,0x7c]
+0x65,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7a,0x7c]
+0x66,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7a,0x7c]
+0x67,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7a,0x7c]
+0x6a,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7a,0x7c]
+0x6b,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7a,0x7c]
+0x7c,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7a,0x7c]
+0x7e,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7a,0x7c]
+0x7f,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7a,0x7c]
+0x80,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7a,0x7c]
+0xc1,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7a,0x7c]
+0xf0,0x04,0x7a,0x7c
+
+# CHECK: v_cmpx_neq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7a,0x7c]
+0xf7,0x04,0x7a,0x7c
+
+# 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_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_cmpx_neq_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7b,0x7c]
+0x01,0xff,0x7b,0x7c
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x3d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x7f,0x04,0x02,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_cmpx_neq_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_neq_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7c,0x7c]
+0x01,0x05,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7c,0x7c]
+0xff,0x05,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7c,0x7c]
+0x01,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7c,0x7c]
+0x65,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7c,0x7c]
+0x66,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7c,0x7c]
+0x67,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7c,0x7c]
+0x6a,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7c,0x7c]
+0x6b,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7c,0x7c]
+0x7c,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7c,0x7c]
+0x7e,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7c,0x7c]
+0x7f,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7c,0x7c]
+0x80,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7c,0x7c]
+0xc1,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7c,0x7c]
+0xf0,0x04,0x7c,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7c,0x7c]
+0xf7,0x04,0x7c,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_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_cmpx_nlt_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7d,0x7c]
+0x01,0xff,0x7d,0x7c
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x3e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x7f,0x04,0x02,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_cmpx_nlt_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xff,0x03,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_cmpx_nlt_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7e,0x7c]
+0x01,0x05,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7e,0x7c]
+0xff,0x05,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7e,0x7c]
+0x01,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7e,0x7c]
+0x65,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7e,0x7c]
+0x66,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7e,0x7c]
+0x67,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7e,0x7c]
+0x6a,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7e,0x7c]
+0x6b,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7e,0x7c]
+0x7c,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7e,0x7c]
+0x7e,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7e,0x7c]
+0x7f,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7e,0x7c]
+0x80,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7e,0x7c]
+0xc1,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7e,0x7c]
+0xf0,0x04,0x7e,0x7c
+
+# CHECK: v_cmpx_tru_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7e,0x7c]
+0xf7,0x04,0x7e,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_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_cmpx_tru_f16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7f,0x7c]
+0x01,0xff,0x7f,0x7c
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x3f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_tru_f16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xff,0x03,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_cmpx_tru_f16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x3f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x3f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x3f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x80,0x7c]
+0x01,0x05,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x80,0x7c]
+0xff,0x05,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x80,0x7c]
+0x01,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x80,0x7c]
+0x65,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x80,0x7c]
+0x66,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x80,0x7c]
+0x67,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x80,0x7c]
+0x6a,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x80,0x7c]
+0x6b,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x80,0x7c]
+0x7c,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x80,0x7c]
+0x7e,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x80,0x7c]
+0x7f,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x80,0x7c]
+0x80,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x80,0x7c]
+0xc1,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x80,0x7c]
+0xf0,0x04,0x80,0x7c
+
+# CHECK: v_cmp_f_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x80,0x7c]
+0xf7,0x04,0x80,0x7c
+
+# 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_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_f_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x81,0x7c]
+0x01,0xff,0x81,0x7c
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x40,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x40,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x40,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x40,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_f_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xff,0x03,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_f_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x40,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x40,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x40,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x82,0x7c]
+0x01,0x05,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x82,0x7c]
+0xff,0x05,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x82,0x7c]
+0x01,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x82,0x7c]
+0x65,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x82,0x7c]
+0x66,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x82,0x7c]
+0x67,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x82,0x7c]
+0x6a,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x82,0x7c]
+0x6b,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x82,0x7c]
+0x7c,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x82,0x7c]
+0x7e,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x82,0x7c]
+0x7f,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x82,0x7c]
+0x80,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x82,0x7c]
+0xc1,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x82,0x7c]
+0xf0,0x04,0x82,0x7c
+
+# CHECK: v_cmp_lt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x82,0x7c]
+0xf7,0x04,0x82,0x7c
+
+# 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_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_lt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x83,0x7c]
+0x01,0xff,0x83,0x7c
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x41,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x41,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x41,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x41,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_lt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xff,0x03,0x00
+
+# 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_lt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x41,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x41,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x41,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x84,0x7c]
+0x01,0x05,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x84,0x7c]
+0xff,0x05,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x84,0x7c]
+0x01,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x84,0x7c]
+0x65,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x84,0x7c]
+0x66,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x84,0x7c]
+0x67,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x84,0x7c]
+0x6a,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x84,0x7c]
+0x6b,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x84,0x7c]
+0x7c,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x84,0x7c]
+0x7e,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x84,0x7c]
+0x7f,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x84,0x7c]
+0x80,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x84,0x7c]
+0xc1,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x84,0x7c]
+0xf0,0x04,0x84,0x7c
+
+# CHECK: v_cmp_eq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x84,0x7c]
+0xf7,0x04,0x84,0x7c
+
+# 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_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_eq_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x85,0x7c]
+0x01,0xff,0x85,0x7c
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x42,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x7f,0x04,0x02,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_eq_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xff,0x03,0x00
+
+# 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_eq_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x42,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x42,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x42,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x86,0x7c]
+0x01,0x05,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x86,0x7c]
+0xff,0x05,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x86,0x7c]
+0x01,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x86,0x7c]
+0x65,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x86,0x7c]
+0x66,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x86,0x7c]
+0x67,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x86,0x7c]
+0x6a,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x86,0x7c]
+0x6b,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x86,0x7c]
+0x7c,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x86,0x7c]
+0x7e,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x86,0x7c]
+0x7f,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x86,0x7c]
+0x80,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x86,0x7c]
+0xc1,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x86,0x7c]
+0xf0,0x04,0x86,0x7c
+
+# CHECK: v_cmp_le_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x86,0x7c]
+0xf7,0x04,0x86,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_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_le_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x87,0x7c]
+0x01,0xff,0x87,0x7c
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x43,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x7f,0x04,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_le_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xff,0x03,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_le_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x43,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x43,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x43,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x88,0x7c]
+0x01,0x05,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x88,0x7c]
+0xff,0x05,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x88,0x7c]
+0x01,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x88,0x7c]
+0x65,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x88,0x7c]
+0x66,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x88,0x7c]
+0x67,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x88,0x7c]
+0x6a,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x88,0x7c]
+0x6b,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x88,0x7c]
+0x7c,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x88,0x7c]
+0x7e,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x88,0x7c]
+0x7f,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x88,0x7c]
+0x80,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x88,0x7c]
+0xc1,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x88,0x7c]
+0xf0,0x04,0x88,0x7c
+
+# CHECK: v_cmp_gt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x88,0x7c]
+0xf7,0x04,0x88,0x7c
+
+# 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_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_gt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x89,0x7c]
+0x01,0xff,0x89,0x7c
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x44,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x44,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x44,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x44,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_gt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xff,0x03,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_gt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x44,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x44,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x44,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8a,0x7c]
+0x01,0x05,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8a,0x7c]
+0xff,0x05,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8a,0x7c]
+0x01,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8a,0x7c]
+0x65,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8a,0x7c]
+0x66,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8a,0x7c]
+0x67,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8a,0x7c]
+0x6a,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8a,0x7c]
+0x6b,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8a,0x7c]
+0x7c,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8a,0x7c]
+0x7e,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8a,0x7c]
+0x7f,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8a,0x7c]
+0x80,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8a,0x7c]
+0xc1,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8a,0x7c]
+0xf0,0x04,0x8a,0x7c
+
+# CHECK: v_cmp_lg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8a,0x7c]
+0xf7,0x04,0x8a,0x7c
+
+# 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_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_lg_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8b,0x7c]
+0x01,0xff,0x8b,0x7c
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x45,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x45,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x45,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x45,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_lg_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xff,0x03,0x00
+
+# 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_lg_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x45,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x45,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x45,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8c,0x7c]
+0x01,0x05,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8c,0x7c]
+0xff,0x05,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8c,0x7c]
+0x01,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8c,0x7c]
+0x65,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8c,0x7c]
+0x66,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8c,0x7c]
+0x67,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8c,0x7c]
+0x6a,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8c,0x7c]
+0x6b,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8c,0x7c]
+0x7c,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8c,0x7c]
+0x7e,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8c,0x7c]
+0x7f,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8c,0x7c]
+0x80,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8c,0x7c]
+0xc1,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8c,0x7c]
+0xf0,0x04,0x8c,0x7c
+
+# CHECK: v_cmp_ge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8c,0x7c]
+0xf7,0x04,0x8c,0x7c
+
+# 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_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_cmp_ge_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8d,0x7c]
+0x01,0xff,0x8d,0x7c
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x46,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x7f,0x04,0x02,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_cmp_ge_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_ge_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x46,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x46,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x46,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8e,0x7c]
+0x01,0x05,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8e,0x7c]
+0xff,0x05,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8e,0x7c]
+0x01,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8e,0x7c]
+0x65,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8e,0x7c]
+0x66,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8e,0x7c]
+0x67,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8e,0x7c]
+0x6a,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8e,0x7c]
+0x6b,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8e,0x7c]
+0x7c,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8e,0x7c]
+0x7e,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8e,0x7c]
+0x7f,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8e,0x7c]
+0x80,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8e,0x7c]
+0xc1,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8e,0x7c]
+0xf0,0x04,0x8e,0x7c
+
+# CHECK: v_cmp_o_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8e,0x7c]
+0xf7,0x04,0x8e,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_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_cmp_o_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8f,0x7c]
+0x01,0xff,0x8f,0x7c
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x47,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x7f,0x04,0x02,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_cmp_o_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_o_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x47,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x47,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x47,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x90,0x7c]
+0x01,0x05,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x90,0x7c]
+0xff,0x05,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x90,0x7c]
+0x01,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x90,0x7c]
+0x65,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x90,0x7c]
+0x66,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x90,0x7c]
+0x67,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x90,0x7c]
+0x6a,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x90,0x7c]
+0x6b,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x90,0x7c]
+0x7c,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x90,0x7c]
+0x7e,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x90,0x7c]
+0x7f,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x90,0x7c]
+0x80,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x90,0x7c]
+0xc1,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x90,0x7c]
+0xf0,0x04,0x90,0x7c
+
+# CHECK: v_cmp_u_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x90,0x7c]
+0xf7,0x04,0x90,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_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_cmp_u_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x91,0x7c]
+0x01,0xff,0x91,0x7c
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x48,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x7f,0x04,0x02,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_cmp_u_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xff,0x03,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_cmp_u_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x48,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x48,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x48,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x92,0x7c]
+0x01,0x05,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x92,0x7c]
+0xff,0x05,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x92,0x7c]
+0x01,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x92,0x7c]
+0x65,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x92,0x7c]
+0x66,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x92,0x7c]
+0x67,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x92,0x7c]
+0x6a,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x92,0x7c]
+0x6b,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x92,0x7c]
+0x7c,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x92,0x7c]
+0x7e,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x92,0x7c]
+0x7f,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x92,0x7c]
+0x80,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x92,0x7c]
+0xc1,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x92,0x7c]
+0xf0,0x04,0x92,0x7c
+
+# CHECK: v_cmp_nge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x92,0x7c]
+0xf7,0x04,0x92,0x7c
+
+# 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_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_cmp_nge_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x93,0x7c]
+0x01,0xff,0x93,0x7c
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x49,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x49,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x49,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x49,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_nge_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xff,0x03,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_cmp_nge_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x49,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x49,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x49,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x94,0x7c]
+0x01,0x05,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x94,0x7c]
+0xff,0x05,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x94,0x7c]
+0x01,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x94,0x7c]
+0x65,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x94,0x7c]
+0x66,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x94,0x7c]
+0x67,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x94,0x7c]
+0x6a,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x94,0x7c]
+0x6b,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x94,0x7c]
+0x7c,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x94,0x7c]
+0x7e,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x94,0x7c]
+0x7f,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x94,0x7c]
+0x80,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x94,0x7c]
+0xc1,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x94,0x7c]
+0xf0,0x04,0x94,0x7c
+
+# CHECK: v_cmp_nlg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x94,0x7c]
+0xf7,0x04,0x94,0x7c
+
+# 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_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_cmp_nlg_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x95,0x7c]
+0x01,0xff,0x95,0x7c
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_nlg_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_nlg_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x96,0x7c]
+0x01,0x05,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x96,0x7c]
+0xff,0x05,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x96,0x7c]
+0x01,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x96,0x7c]
+0x65,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x96,0x7c]
+0x66,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x96,0x7c]
+0x67,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x96,0x7c]
+0x6a,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x96,0x7c]
+0x6b,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x96,0x7c]
+0x7c,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x96,0x7c]
+0x7e,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x96,0x7c]
+0x7f,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x96,0x7c]
+0x80,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x96,0x7c]
+0xc1,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x96,0x7c]
+0xf0,0x04,0x96,0x7c
+
+# CHECK: v_cmp_ngt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x96,0x7c]
+0xf7,0x04,0x96,0x7c
+
+# 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_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_cmp_ngt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x97,0x7c]
+0x01,0xff,0x97,0x7c
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x7f,0x04,0x02,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_cmp_ngt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_ngt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x98,0x7c]
+0x01,0x05,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x98,0x7c]
+0xff,0x05,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x98,0x7c]
+0x01,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x98,0x7c]
+0x65,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x98,0x7c]
+0x66,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x98,0x7c]
+0x67,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x98,0x7c]
+0x6a,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x98,0x7c]
+0x6b,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x98,0x7c]
+0x7c,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x98,0x7c]
+0x7e,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x98,0x7c]
+0x7f,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x98,0x7c]
+0x80,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x98,0x7c]
+0xc1,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x98,0x7c]
+0xf0,0x04,0x98,0x7c
+
+# CHECK: v_cmp_nle_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x98,0x7c]
+0xf7,0x04,0x98,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_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_cmp_nle_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x99,0x7c]
+0x01,0xff,0x99,0x7c
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x7f,0x04,0x02,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_cmp_nle_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_nle_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9a,0x7c]
+0x01,0x05,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9a,0x7c]
+0xff,0x05,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9a,0x7c]
+0x01,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9a,0x7c]
+0x65,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9a,0x7c]
+0x66,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9a,0x7c]
+0x67,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9a,0x7c]
+0x6a,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9a,0x7c]
+0x6b,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9a,0x7c]
+0x7c,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9a,0x7c]
+0x7e,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9a,0x7c]
+0x7f,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9a,0x7c]
+0x80,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9a,0x7c]
+0xc1,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9a,0x7c]
+0xf0,0x04,0x9a,0x7c
+
+# CHECK: v_cmp_neq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9a,0x7c]
+0xf7,0x04,0x9a,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_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_cmp_neq_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9b,0x7c]
+0x01,0xff,0x9b,0x7c
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_neq_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xff,0x03,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_cmp_neq_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9c,0x7c]
+0x01,0x05,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9c,0x7c]
+0xff,0x05,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9c,0x7c]
+0x01,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9c,0x7c]
+0x65,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9c,0x7c]
+0x66,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9c,0x7c]
+0x67,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9c,0x7c]
+0x6a,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9c,0x7c]
+0x6b,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9c,0x7c]
+0x7c,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9c,0x7c]
+0x7e,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9c,0x7c]
+0x7f,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9c,0x7c]
+0x80,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9c,0x7c]
+0xc1,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9c,0x7c]
+0xf0,0x04,0x9c,0x7c
+
+# CHECK: v_cmp_nlt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9c,0x7c]
+0xf7,0x04,0x9c,0x7c
+
+# 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_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_cmp_nlt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9d,0x7c]
+0x01,0xff,0x9d,0x7c
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_nlt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xff,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_cmp_nlt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9e,0x7c]
+0x01,0x05,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9e,0x7c]
+0xff,0x05,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9e,0x7c]
+0x01,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9e,0x7c]
+0x65,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9e,0x7c]
+0x66,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9e,0x7c]
+0x67,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9e,0x7c]
+0x6a,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9e,0x7c]
+0x6b,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9e,0x7c]
+0x7c,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9e,0x7c]
+0x7e,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9e,0x7c]
+0x7f,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9e,0x7c]
+0x80,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9e,0x7c]
+0xc1,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9e,0x7c]
+0xf0,0x04,0x9e,0x7c
+
+# CHECK: v_cmp_tru_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9e,0x7c]
+0xf7,0x04,0x9e,0x7c
+
+# 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_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_cmp_tru_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9f,0x7c]
+0x01,0xff,0x9f,0x7c
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x7f,0x04,0x02,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_cmp_tru_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_tru_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x4f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x4f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x4f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa0,0x7c]
+0x01,0x05,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa0,0x7c]
+0xff,0x05,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa0,0x7c]
+0x01,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa0,0x7c]
+0x65,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa0,0x7c]
+0x66,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa0,0x7c]
+0x67,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa0,0x7c]
+0x6a,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa0,0x7c]
+0x6b,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa0,0x7c]
+0x7c,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa0,0x7c]
+0x7e,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa0,0x7c]
+0x7f,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa0,0x7c]
+0x80,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa0,0x7c]
+0xc1,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa0,0x7c]
+0xf0,0x04,0xa0,0x7c
+
+# CHECK: v_cmpx_f_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa0,0x7c]
+0xf7,0x04,0xa0,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_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_f_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa1,0x7c]
+0x01,0xff,0xa1,0x7c
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x50,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x7f,0x04,0x02,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_f_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xff,0x03,0x00
+
+# 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_f_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x50,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x50,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x50,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa2,0x7c]
+0x01,0x05,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa2,0x7c]
+0xff,0x05,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa2,0x7c]
+0x01,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa2,0x7c]
+0x65,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa2,0x7c]
+0x66,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa2,0x7c]
+0x67,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa2,0x7c]
+0x6a,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa2,0x7c]
+0x6b,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa2,0x7c]
+0x7c,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa2,0x7c]
+0x7e,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa2,0x7c]
+0x7f,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa2,0x7c]
+0x80,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa2,0x7c]
+0xc1,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa2,0x7c]
+0xf0,0x04,0xa2,0x7c
+
+# CHECK: v_cmpx_lt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa2,0x7c]
+0xf7,0x04,0xa2,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_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_lt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa3,0x7c]
+0x01,0xff,0xa3,0x7c
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x51,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_lt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xff,0x03,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_lt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x51,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x51,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x51,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa4,0x7c]
+0x01,0x05,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa4,0x7c]
+0xff,0x05,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa4,0x7c]
+0x01,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa4,0x7c]
+0x65,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa4,0x7c]
+0x66,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa4,0x7c]
+0x67,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa4,0x7c]
+0x6a,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa4,0x7c]
+0x6b,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa4,0x7c]
+0x7c,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa4,0x7c]
+0x7e,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa4,0x7c]
+0x7f,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa4,0x7c]
+0x80,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa4,0x7c]
+0xc1,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa4,0x7c]
+0xf0,0x04,0xa4,0x7c
+
+# CHECK: v_cmpx_eq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa4,0x7c]
+0xf7,0x04,0xa4,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_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_eq_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa5,0x7c]
+0x01,0xff,0xa5,0x7c
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x52,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x52,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x52,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x52,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x52,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_eq_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xff,0x03,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_eq_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x52,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x52,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x52,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa6,0x7c]
+0x01,0x05,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa6,0x7c]
+0xff,0x05,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa6,0x7c]
+0x01,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa6,0x7c]
+0x65,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa6,0x7c]
+0x66,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa6,0x7c]
+0x67,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa6,0x7c]
+0x6a,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa6,0x7c]
+0x6b,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa6,0x7c]
+0x7c,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa6,0x7c]
+0x7e,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa6,0x7c]
+0x7f,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa6,0x7c]
+0x80,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa6,0x7c]
+0xc1,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa6,0x7c]
+0xf0,0x04,0xa6,0x7c
+
+# CHECK: v_cmpx_le_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa6,0x7c]
+0xf7,0x04,0xa6,0x7c
+
+# 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_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_cmpx_le_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa7,0x7c]
+0x01,0xff,0xa7,0x7c
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x53,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x53,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x53,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x53,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x53,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_le_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_le_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x53,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x53,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x53,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa8,0x7c]
+0x01,0x05,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa8,0x7c]
+0xff,0x05,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa8,0x7c]
+0x01,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa8,0x7c]
+0x65,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa8,0x7c]
+0x66,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa8,0x7c]
+0x67,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa8,0x7c]
+0x6a,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa8,0x7c]
+0x6b,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa8,0x7c]
+0x7c,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa8,0x7c]
+0x7e,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa8,0x7c]
+0x7f,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa8,0x7c]
+0x80,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa8,0x7c]
+0xc1,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa8,0x7c]
+0xf0,0x04,0xa8,0x7c
+
+# CHECK: v_cmpx_gt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa8,0x7c]
+0xf7,0x04,0xa8,0x7c
+
+# 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_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_cmpx_gt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa9,0x7c]
+0x01,0xff,0xa9,0x7c
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x54,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x7f,0x04,0x02,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_cmpx_gt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_gt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x54,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x54,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x54,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xaa,0x7c]
+0x01,0x05,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xaa,0x7c]
+0xff,0x05,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xaa,0x7c]
+0x01,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xaa,0x7c]
+0x65,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xaa,0x7c]
+0x66,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xaa,0x7c]
+0x67,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xaa,0x7c]
+0x6a,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xaa,0x7c]
+0x6b,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xaa,0x7c]
+0x7c,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xaa,0x7c]
+0x7e,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xaa,0x7c]
+0x7f,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xaa,0x7c]
+0x80,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xaa,0x7c]
+0xc1,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xaa,0x7c]
+0xf0,0x04,0xaa,0x7c
+
+# CHECK: v_cmpx_lg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xaa,0x7c]
+0xf7,0x04,0xaa,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_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_cmpx_lg_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xab,0x7c]
+0x01,0xff,0xab,0x7c
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x55,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x7f,0x04,0x02,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_cmpx_lg_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_lg_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x55,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x55,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x55,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xac,0x7c]
+0x01,0x05,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xac,0x7c]
+0xff,0x05,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xac,0x7c]
+0x01,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xac,0x7c]
+0x65,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xac,0x7c]
+0x66,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xac,0x7c]
+0x67,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xac,0x7c]
+0x6a,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xac,0x7c]
+0x6b,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xac,0x7c]
+0x7c,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xac,0x7c]
+0x7e,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xac,0x7c]
+0x7f,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xac,0x7c]
+0x80,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xac,0x7c]
+0xc1,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xac,0x7c]
+0xf0,0x04,0xac,0x7c
+
+# CHECK: v_cmpx_ge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xac,0x7c]
+0xf7,0x04,0xac,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_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_cmpx_ge_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xad,0x7c]
+0x01,0xff,0xad,0x7c
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x56,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x56,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x56,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x56,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x56,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_ge_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xff,0x03,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_cmpx_ge_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x56,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x56,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x56,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xae,0x7c]
+0x01,0x05,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xae,0x7c]
+0xff,0x05,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xae,0x7c]
+0x01,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xae,0x7c]
+0x65,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xae,0x7c]
+0x66,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xae,0x7c]
+0x67,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xae,0x7c]
+0x6a,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xae,0x7c]
+0x6b,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xae,0x7c]
+0x7c,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xae,0x7c]
+0x7e,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xae,0x7c]
+0x7f,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xae,0x7c]
+0x80,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xae,0x7c]
+0xc1,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xae,0x7c]
+0xf0,0x04,0xae,0x7c
+
+# CHECK: v_cmpx_o_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xae,0x7c]
+0xf7,0x04,0xae,0x7c
+
+# 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_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_cmpx_o_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xaf,0x7c]
+0x01,0xff,0xaf,0x7c
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x57,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x57,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x57,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x57,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x57,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_o_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xff,0x03,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_cmpx_o_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x57,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x57,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x57,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb0,0x7c]
+0x01,0x05,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb0,0x7c]
+0xff,0x05,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb0,0x7c]
+0x01,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb0,0x7c]
+0x65,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb0,0x7c]
+0x66,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb0,0x7c]
+0x67,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb0,0x7c]
+0x6a,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb0,0x7c]
+0x6b,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb0,0x7c]
+0x7c,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb0,0x7c]
+0x7e,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb0,0x7c]
+0x7f,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb0,0x7c]
+0x80,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb0,0x7c]
+0xc1,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb0,0x7c]
+0xf0,0x04,0xb0,0x7c
+
+# CHECK: v_cmpx_u_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb0,0x7c]
+0xf7,0x04,0xb0,0x7c
+
+# 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_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_cmpx_u_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb1,0x7c]
+0x01,0xff,0xb1,0x7c
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x58,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x7f,0x04,0x02,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_cmpx_u_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_u_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x58,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x58,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x58,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb2,0x7c]
+0x01,0x05,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb2,0x7c]
+0xff,0x05,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb2,0x7c]
+0x01,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb2,0x7c]
+0x65,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb2,0x7c]
+0x66,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb2,0x7c]
+0x67,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb2,0x7c]
+0x6a,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb2,0x7c]
+0x6b,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb2,0x7c]
+0x7c,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb2,0x7c]
+0x7e,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb2,0x7c]
+0x7f,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb2,0x7c]
+0x80,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb2,0x7c]
+0xc1,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb2,0x7c]
+0xf0,0x04,0xb2,0x7c
+
+# CHECK: v_cmpx_nge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb2,0x7c]
+0xf7,0x04,0xb2,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_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_cmpx_nge_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb3,0x7c]
+0x01,0xff,0xb3,0x7c
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x59,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x7f,0x04,0x02,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_cmpx_nge_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_nge_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x59,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x59,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x59,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb4,0x7c]
+0x01,0x05,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb4,0x7c]
+0xff,0x05,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb4,0x7c]
+0x01,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb4,0x7c]
+0x65,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb4,0x7c]
+0x66,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb4,0x7c]
+0x67,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb4,0x7c]
+0x6a,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb4,0x7c]
+0x6b,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb4,0x7c]
+0x7c,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb4,0x7c]
+0x7e,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb4,0x7c]
+0x7f,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb4,0x7c]
+0x80,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb4,0x7c]
+0xc1,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb4,0x7c]
+0xf0,0x04,0xb4,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb4,0x7c]
+0xf7,0x04,0xb4,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_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_cmpx_nlg_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb5,0x7c]
+0x01,0xff,0xb5,0x7c
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x5a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_nlg_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xff,0x03,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_cmpx_nlg_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb6,0x7c]
+0x01,0x05,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb6,0x7c]
+0xff,0x05,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb6,0x7c]
+0x01,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb6,0x7c]
+0x65,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb6,0x7c]
+0x66,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb6,0x7c]
+0x67,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb6,0x7c]
+0x6a,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb6,0x7c]
+0x6b,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb6,0x7c]
+0x7c,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb6,0x7c]
+0x7e,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb6,0x7c]
+0x7f,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb6,0x7c]
+0x80,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb6,0x7c]
+0xc1,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb6,0x7c]
+0xf0,0x04,0xb6,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb6,0x7c]
+0xf7,0x04,0xb6,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_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_cmpx_ngt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb7,0x7c]
+0x01,0xff,0xb7,0x7c
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x5b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_ngt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xff,0x03,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_cmpx_ngt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb8,0x7c]
+0x01,0x05,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb8,0x7c]
+0xff,0x05,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb8,0x7c]
+0x01,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb8,0x7c]
+0x65,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb8,0x7c]
+0x66,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb8,0x7c]
+0x67,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb8,0x7c]
+0x6a,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb8,0x7c]
+0x6b,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb8,0x7c]
+0x7c,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb8,0x7c]
+0x7e,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb8,0x7c]
+0x7f,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb8,0x7c]
+0x80,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb8,0x7c]
+0xc1,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb8,0x7c]
+0xf0,0x04,0xb8,0x7c
+
+# CHECK: v_cmpx_nle_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb8,0x7c]
+0xf7,0x04,0xb8,0x7c
+
+# 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_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_cmpx_nle_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb9,0x7c]
+0x01,0xff,0xb9,0x7c
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x5c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_nle_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xff,0x03,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_cmpx_nle_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xba,0x7c]
+0x01,0x05,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xba,0x7c]
+0xff,0x05,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xba,0x7c]
+0x01,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xba,0x7c]
+0x65,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xba,0x7c]
+0x66,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xba,0x7c]
+0x67,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xba,0x7c]
+0x6a,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xba,0x7c]
+0x6b,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xba,0x7c]
+0x7c,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xba,0x7c]
+0x7e,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xba,0x7c]
+0x7f,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xba,0x7c]
+0x80,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xba,0x7c]
+0xc1,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xba,0x7c]
+0xf0,0x04,0xba,0x7c
+
+# CHECK: v_cmpx_neq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xba,0x7c]
+0xf7,0x04,0xba,0x7c
+
+# 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_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_cmpx_neq_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbb,0x7c]
+0x01,0xff,0xbb,0x7c
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x5d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x7f,0x04,0x02,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_cmpx_neq_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_neq_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbc,0x7c]
+0x01,0x05,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbc,0x7c]
+0xff,0x05,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbc,0x7c]
+0x01,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xbc,0x7c]
+0x65,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xbc,0x7c]
+0x66,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xbc,0x7c]
+0x67,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xbc,0x7c]
+0x6a,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xbc,0x7c]
+0x6b,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xbc,0x7c]
+0x7c,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xbc,0x7c]
+0x7e,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xbc,0x7c]
+0x7f,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xbc,0x7c]
+0x80,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xbc,0x7c]
+0xc1,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xbc,0x7c]
+0xf0,0x04,0xbc,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbc,0x7c]
+0xf7,0x04,0xbc,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_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_cmpx_nlt_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbd,0x7c]
+0x01,0xff,0xbd,0x7c
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x5e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x7f,0x04,0x02,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_cmpx_nlt_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_nlt_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbe,0x7c]
+0x01,0x05,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbe,0x7c]
+0xff,0x05,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbe,0x7c]
+0x01,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xbe,0x7c]
+0x65,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xbe,0x7c]
+0x66,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xbe,0x7c]
+0x67,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xbe,0x7c]
+0x6a,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xbe,0x7c]
+0x6b,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xbe,0x7c]
+0x7c,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xbe,0x7c]
+0x7e,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xbe,0x7c]
+0x7f,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xbe,0x7c]
+0x80,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xbe,0x7c]
+0xc1,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xbe,0x7c]
+0xf0,0x04,0xbe,0x7c
+
+# CHECK: v_cmpx_tru_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbe,0x7c]
+0xf7,0x04,0xbe,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_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_cmpx_tru_f32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbf,0x7c]
+0x01,0xff,0xbf,0x7c
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x5f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_tru_f32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xff,0x03,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_cmpx_tru_f32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], -v1, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, -v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], -v1, -v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x5f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, v2 clamp ; encoding: [0x0a,0x80,0x5f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x5f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc0,0x7c]
+0x01,0x05,0xc0,0x7c
+
+# CHECK: v_cmp_f_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc0,0x7c]
+0xfe,0x05,0xc0,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_cmp_f_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc0,0x7c]
+0x04,0x04,0xc0,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_cmp_f_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc0,0x7c]
+0x66,0x04,0xc0,0x7c
+
+# CHECK: v_cmp_f_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc0,0x7c]
+0x6a,0x04,0xc0,0x7c
+
+# CHECK: v_cmp_f_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc0,0x7c]
+0x7e,0x04,0xc0,0x7c
+
+# CHECK: v_cmp_f_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc0,0x7c]
+0x80,0x04,0xc0,0x7c
+
+# CHECK: v_cmp_f_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc0,0x7c]
+0xc1,0x04,0xc0,0x7c
+
+# CHECK: v_cmp_f_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc0,0x7c]
+0xf0,0x04,0xc0,0x7c
+
+# CHECK: v_cmp_f_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc0,0x7c]
+0xf7,0x04,0xc0,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_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_cmp_f_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc1,0x7c]
+0x01,0xfd,0xc1,0x7c
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x02,0x04,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_cmp_f_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xfd,0x03,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_cmp_f_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x60,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x60,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x60,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc2,0x7c]
+0x01,0x05,0xc2,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_cmp_lt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc2,0x7c]
+0x02,0x04,0xc2,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_cmp_lt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc2,0x7c]
+0x64,0x04,0xc2,0x7c
+
+# CHECK: v_cmp_lt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc2,0x7c]
+0x66,0x04,0xc2,0x7c
+
+# CHECK: v_cmp_lt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc2,0x7c]
+0x6a,0x04,0xc2,0x7c
+
+# CHECK: v_cmp_lt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc2,0x7c]
+0x7e,0x04,0xc2,0x7c
+
+# CHECK: v_cmp_lt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc2,0x7c]
+0x80,0x04,0xc2,0x7c
+
+# CHECK: v_cmp_lt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc2,0x7c]
+0xc1,0x04,0xc2,0x7c
+
+# CHECK: v_cmp_lt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc2,0x7c]
+0xf0,0x04,0xc2,0x7c
+
+# CHECK: v_cmp_lt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc2,0x7c]
+0xf7,0x04,0xc2,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_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_cmp_lt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc3,0x7c]
+0x01,0xfd,0xc3,0x7c
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x02,0x04,0x02,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_cmp_lt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xfd,0x03,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_cmp_lt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x61,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x61,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x61,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc4,0x7c]
+0x01,0x05,0xc4,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_cmp_eq_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc4,0x7c]
+0x02,0x04,0xc4,0x7c
+
+# CHECK: v_cmp_eq_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc4,0x7c]
+0x04,0x04,0xc4,0x7c
+
+# CHECK: v_cmp_eq_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc4,0x7c]
+0x64,0x04,0xc4,0x7c
+
+# CHECK: v_cmp_eq_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc4,0x7c]
+0x66,0x04,0xc4,0x7c
+
+# CHECK: v_cmp_eq_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc4,0x7c]
+0x6a,0x04,0xc4,0x7c
+
+# CHECK: v_cmp_eq_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc4,0x7c]
+0x7e,0x04,0xc4,0x7c
+
+# CHECK: v_cmp_eq_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc4,0x7c]
+0x80,0x04,0xc4,0x7c
+
+# CHECK: v_cmp_eq_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc4,0x7c]
+0xc1,0x04,0xc4,0x7c
+
+# CHECK: v_cmp_eq_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc4,0x7c]
+0xf0,0x04,0xc4,0x7c
+
+# CHECK: v_cmp_eq_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc4,0x7c]
+0xf7,0x04,0xc4,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_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_cmp_eq_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc5,0x7c]
+0x01,0xfd,0xc5,0x7c
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x62,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x02,0x04,0x02,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_cmp_eq_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_cmp_eq_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x62,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x62,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x62,0xd0,0x01,0x05,0x02,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_cmp_le_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc6,0x7c]
+0xfe,0x05,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc6,0x7c]
+0x02,0x04,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc6,0x7c]
+0x04,0x04,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc6,0x7c]
+0x64,0x04,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc6,0x7c]
+0x66,0x04,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc6,0x7c]
+0x6a,0x04,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc6,0x7c]
+0x7e,0x04,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc6,0x7c]
+0x80,0x04,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc6,0x7c]
+0xc1,0x04,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc6,0x7c]
+0xf0,0x04,0xc6,0x7c
+
+# CHECK: v_cmp_le_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc6,0x7c]
+0xf7,0x04,0xc6,0x7c
+
+# 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_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_cmp_le_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc7,0x7c]
+0x01,0xfd,0xc7,0x7c
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x63,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmp_le_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_cmp_le_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x63,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x63,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x63,0xd0,0x01,0x05,0x02,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_cmp_gt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc8,0x7c]
+0xfe,0x05,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc8,0x7c]
+0x02,0x04,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc8,0x7c]
+0x04,0x04,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc8,0x7c]
+0x64,0x04,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc8,0x7c]
+0x66,0x04,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc8,0x7c]
+0x6a,0x04,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc8,0x7c]
+0x7e,0x04,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc8,0x7c]
+0x80,0x04,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc8,0x7c]
+0xc1,0x04,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc8,0x7c]
+0xf0,0x04,0xc8,0x7c
+
+# CHECK: v_cmp_gt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc8,0x7c]
+0xf7,0x04,0xc8,0x7c
+
+# 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_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_cmp_gt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc9,0x7c]
+0x01,0xfd,0xc9,0x7c
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x64,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmp_gt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_cmp_gt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x64,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x64,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x64,0xd0,0x01,0x05,0x02,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_cmp_lg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xca,0x7c]
+0xfe,0x05,0xca,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_cmp_lg_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xca,0x7c]
+0x04,0x04,0xca,0x7c
+
+# CHECK: v_cmp_lg_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xca,0x7c]
+0x64,0x04,0xca,0x7c
+
+# CHECK: v_cmp_lg_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xca,0x7c]
+0x66,0x04,0xca,0x7c
+
+# CHECK: v_cmp_lg_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xca,0x7c]
+0x6a,0x04,0xca,0x7c
+
+# CHECK: v_cmp_lg_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xca,0x7c]
+0x7e,0x04,0xca,0x7c
+
+# CHECK: v_cmp_lg_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xca,0x7c]
+0x80,0x04,0xca,0x7c
+
+# CHECK: v_cmp_lg_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xca,0x7c]
+0xc1,0x04,0xca,0x7c
+
+# CHECK: v_cmp_lg_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xca,0x7c]
+0xf0,0x04,0xca,0x7c
+
+# CHECK: v_cmp_lg_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xca,0x7c]
+0xf7,0x04,0xca,0x7c
+
+# 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_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_cmp_lg_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcb,0x7c]
+0x01,0xfd,0xcb,0x7c
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x65,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x65,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x65,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x65,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmp_lg_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_cmp_lg_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x65,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x65,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x65,0xd0,0x01,0x05,0x02,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_cmp_ge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xcc,0x7c]
+0xfe,0x05,0xcc,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_cmp_ge_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xcc,0x7c]
+0x04,0x04,0xcc,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_cmp_ge_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xcc,0x7c]
+0x66,0x04,0xcc,0x7c
+
+# CHECK: v_cmp_ge_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xcc,0x7c]
+0x6a,0x04,0xcc,0x7c
+
+# CHECK: v_cmp_ge_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xcc,0x7c]
+0x7e,0x04,0xcc,0x7c
+
+# CHECK: v_cmp_ge_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xcc,0x7c]
+0x80,0x04,0xcc,0x7c
+
+# CHECK: v_cmp_ge_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xcc,0x7c]
+0xc1,0x04,0xcc,0x7c
+
+# CHECK: v_cmp_ge_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xcc,0x7c]
+0xf0,0x04,0xcc,0x7c
+
+# CHECK: v_cmp_ge_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xcc,0x7c]
+0xf7,0x04,0xcc,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_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_cmp_ge_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcd,0x7c]
+0x01,0xfd,0xcd,0x7c
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmp_ge_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xfd,0x03,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_cmp_ge_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x66,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x66,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x66,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xce,0x7c]
+0x01,0x05,0xce,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_cmp_o_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xce,0x7c]
+0x02,0x04,0xce,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_cmp_o_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xce,0x7c]
+0x64,0x04,0xce,0x7c
+
+# CHECK: v_cmp_o_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xce,0x7c]
+0x66,0x04,0xce,0x7c
+
+# CHECK: v_cmp_o_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xce,0x7c]
+0x6a,0x04,0xce,0x7c
+
+# CHECK: v_cmp_o_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xce,0x7c]
+0x7e,0x04,0xce,0x7c
+
+# CHECK: v_cmp_o_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xce,0x7c]
+0x80,0x04,0xce,0x7c
+
+# CHECK: v_cmp_o_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xce,0x7c]
+0xc1,0x04,0xce,0x7c
+
+# CHECK: v_cmp_o_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xce,0x7c]
+0xf0,0x04,0xce,0x7c
+
+# CHECK: v_cmp_o_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xce,0x7c]
+0xf7,0x04,0xce,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_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_cmp_o_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcf,0x7c]
+0x01,0xfd,0xcf,0x7c
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x02,0x04,0x02,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_cmp_o_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xfd,0x03,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_cmp_o_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x67,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x67,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x67,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd0,0x7c]
+0x01,0x05,0xd0,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_cmp_u_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd0,0x7c]
+0x02,0x04,0xd0,0x7c
+
+# CHECK: v_cmp_u_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd0,0x7c]
+0x04,0x04,0xd0,0x7c
+
+# CHECK: v_cmp_u_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd0,0x7c]
+0x64,0x04,0xd0,0x7c
+
+# CHECK: v_cmp_u_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd0,0x7c]
+0x66,0x04,0xd0,0x7c
+
+# CHECK: v_cmp_u_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd0,0x7c]
+0x6a,0x04,0xd0,0x7c
+
+# CHECK: v_cmp_u_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd0,0x7c]
+0x7e,0x04,0xd0,0x7c
+
+# CHECK: v_cmp_u_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd0,0x7c]
+0x80,0x04,0xd0,0x7c
+
+# CHECK: v_cmp_u_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd0,0x7c]
+0xc1,0x04,0xd0,0x7c
+
+# CHECK: v_cmp_u_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd0,0x7c]
+0xf0,0x04,0xd0,0x7c
+
+# CHECK: v_cmp_u_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd0,0x7c]
+0xf7,0x04,0xd0,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_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_cmp_u_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd1,0x7c]
+0x01,0xfd,0xd1,0x7c
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x02,0x04,0x02,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_cmp_u_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xfd,0x03,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_cmp_u_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x68,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x68,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x68,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd2,0x7c]
+0x01,0x05,0xd2,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_cmp_nge_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd2,0x7c]
+0x02,0x04,0xd2,0x7c
+
+# CHECK: v_cmp_nge_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd2,0x7c]
+0x04,0x04,0xd2,0x7c
+
+# CHECK: v_cmp_nge_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd2,0x7c]
+0x64,0x04,0xd2,0x7c
+
+# CHECK: v_cmp_nge_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd2,0x7c]
+0x66,0x04,0xd2,0x7c
+
+# CHECK: v_cmp_nge_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd2,0x7c]
+0x6a,0x04,0xd2,0x7c
+
+# CHECK: v_cmp_nge_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd2,0x7c]
+0x7e,0x04,0xd2,0x7c
+
+# CHECK: v_cmp_nge_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd2,0x7c]
+0x80,0x04,0xd2,0x7c
+
+# CHECK: v_cmp_nge_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd2,0x7c]
+0xc1,0x04,0xd2,0x7c
+
+# CHECK: v_cmp_nge_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd2,0x7c]
+0xf0,0x04,0xd2,0x7c
+
+# CHECK: v_cmp_nge_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd2,0x7c]
+0xf7,0x04,0xd2,0x7c
+
+# 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_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_cmp_nge_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd3,0x7c]
+0x01,0xfd,0xd3,0x7c
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x69,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmp_nge_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_cmp_nge_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x69,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x69,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x69,0xd0,0x01,0x05,0x02,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_cmp_nlg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd4,0x7c]
+0xfe,0x05,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd4,0x7c]
+0x02,0x04,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd4,0x7c]
+0x04,0x04,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd4,0x7c]
+0x64,0x04,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd4,0x7c]
+0x66,0x04,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd4,0x7c]
+0x6a,0x04,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd4,0x7c]
+0x7e,0x04,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd4,0x7c]
+0x80,0x04,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd4,0x7c]
+0xc1,0x04,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd4,0x7c]
+0xf0,0x04,0xd4,0x7c
+
+# CHECK: v_cmp_nlg_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd4,0x7c]
+0xf7,0x04,0xd4,0x7c
+
+# 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_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_cmp_nlg_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd5,0x7c]
+0x01,0xfd,0xd5,0x7c
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmp_nlg_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_cmp_nlg_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6a,0xd0,0x01,0x05,0x02,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_cmp_ngt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd6,0x7c]
+0xfe,0x05,0xd6,0x7c
+
+# CHECK: v_cmp_ngt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd6,0x7c]
+0x02,0x04,0xd6,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_cmp_ngt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd6,0x7c]
+0x64,0x04,0xd6,0x7c
+
+# CHECK: v_cmp_ngt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd6,0x7c]
+0x66,0x04,0xd6,0x7c
+
+# CHECK: v_cmp_ngt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd6,0x7c]
+0x6a,0x04,0xd6,0x7c
+
+# CHECK: v_cmp_ngt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd6,0x7c]
+0x7e,0x04,0xd6,0x7c
+
+# CHECK: v_cmp_ngt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd6,0x7c]
+0x80,0x04,0xd6,0x7c
+
+# CHECK: v_cmp_ngt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd6,0x7c]
+0xc1,0x04,0xd6,0x7c
+
+# CHECK: v_cmp_ngt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd6,0x7c]
+0xf0,0x04,0xd6,0x7c
+
+# CHECK: v_cmp_ngt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd6,0x7c]
+0xf7,0x04,0xd6,0x7c
+
+# 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_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_cmp_ngt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd7,0x7c]
+0x01,0xfd,0xd7,0x7c
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmp_ngt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_cmp_ngt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6b,0xd0,0x01,0x05,0x02,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_cmp_nle_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd8,0x7c]
+0xfe,0x05,0xd8,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_cmp_nle_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd8,0x7c]
+0x04,0x04,0xd8,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_cmp_nle_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd8,0x7c]
+0x66,0x04,0xd8,0x7c
+
+# CHECK: v_cmp_nle_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd8,0x7c]
+0x6a,0x04,0xd8,0x7c
+
+# CHECK: v_cmp_nle_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd8,0x7c]
+0x7e,0x04,0xd8,0x7c
+
+# CHECK: v_cmp_nle_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd8,0x7c]
+0x80,0x04,0xd8,0x7c
+
+# CHECK: v_cmp_nle_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd8,0x7c]
+0xc1,0x04,0xd8,0x7c
+
+# CHECK: v_cmp_nle_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd8,0x7c]
+0xf0,0x04,0xd8,0x7c
+
+# CHECK: v_cmp_nle_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd8,0x7c]
+0xf7,0x04,0xd8,0x7c
+
+# 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_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_cmp_nle_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd9,0x7c]
+0x01,0xfd,0xd9,0x7c
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmp_nle_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x03,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_cmp_nle_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xda,0x7c]
+0x01,0x05,0xda,0x7c
+
+# CHECK: v_cmp_neq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xda,0x7c]
+0xfe,0x05,0xda,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_cmp_neq_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xda,0x7c]
+0x04,0x04,0xda,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_cmp_neq_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xda,0x7c]
+0x66,0x04,0xda,0x7c
+
+# CHECK: v_cmp_neq_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xda,0x7c]
+0x6a,0x04,0xda,0x7c
+
+# CHECK: v_cmp_neq_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xda,0x7c]
+0x7e,0x04,0xda,0x7c
+
+# CHECK: v_cmp_neq_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xda,0x7c]
+0x80,0x04,0xda,0x7c
+
+# CHECK: v_cmp_neq_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xda,0x7c]
+0xc1,0x04,0xda,0x7c
+
+# CHECK: v_cmp_neq_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xda,0x7c]
+0xf0,0x04,0xda,0x7c
+
+# CHECK: v_cmp_neq_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xda,0x7c]
+0xf7,0x04,0xda,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_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_cmp_neq_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdb,0x7c]
+0x01,0xfd,0xdb,0x7c
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x02,0x04,0x02,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_cmp_neq_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x03,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_cmp_neq_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xdc,0x7c]
+0x01,0x05,0xdc,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_cmp_nlt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xdc,0x7c]
+0x02,0x04,0xdc,0x7c
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xdc,0x7c]
+0x04,0x04,0xdc,0x7c
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xdc,0x7c]
+0x64,0x04,0xdc,0x7c
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xdc,0x7c]
+0x66,0x04,0xdc,0x7c
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xdc,0x7c]
+0x6a,0x04,0xdc,0x7c
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xdc,0x7c]
+0x7e,0x04,0xdc,0x7c
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xdc,0x7c]
+0x80,0x04,0xdc,0x7c
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xdc,0x7c]
+0xc1,0x04,0xdc,0x7c
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xdc,0x7c]
+0xf0,0x04,0xdc,0x7c
+
+# CHECK: v_cmp_nlt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xdc,0x7c]
+0xf7,0x04,0xdc,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_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_cmp_nlt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdd,0x7c]
+0x01,0xfd,0xdd,0x7c
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x02,0x04,0x02,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_cmp_nlt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x03,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_cmp_nlt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xde,0x7c]
+0x01,0x05,0xde,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_cmp_tru_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xde,0x7c]
+0x02,0x04,0xde,0x7c
+
+# CHECK: v_cmp_tru_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xde,0x7c]
+0x04,0x04,0xde,0x7c
+
+# CHECK: v_cmp_tru_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xde,0x7c]
+0x64,0x04,0xde,0x7c
+
+# CHECK: v_cmp_tru_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xde,0x7c]
+0x66,0x04,0xde,0x7c
+
+# CHECK: v_cmp_tru_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xde,0x7c]
+0x6a,0x04,0xde,0x7c
+
+# CHECK: v_cmp_tru_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xde,0x7c]
+0x7e,0x04,0xde,0x7c
+
+# CHECK: v_cmp_tru_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xde,0x7c]
+0x80,0x04,0xde,0x7c
+
+# CHECK: v_cmp_tru_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xde,0x7c]
+0xc1,0x04,0xde,0x7c
+
+# CHECK: v_cmp_tru_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xde,0x7c]
+0xf0,0x04,0xde,0x7c
+
+# CHECK: v_cmp_tru_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xde,0x7c]
+0xf7,0x04,0xde,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_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_cmp_tru_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdf,0x7c]
+0x01,0xfd,0xdf,0x7c
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x02,0x04,0x02,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_cmp_tru_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_cmp_tru_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x6f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x6f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x6f,0xd0,0x01,0x05,0x02,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_f_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe0,0x7c]
+0xfe,0x05,0xe0,0x7c
+
+# 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_f_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe0,0x7c]
+0x04,0x04,0xe0,0x7c
+
+# 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_f_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe0,0x7c]
+0x66,0x04,0xe0,0x7c
+
+# CHECK: v_cmpx_f_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe0,0x7c]
+0x6a,0x04,0xe0,0x7c
+
+# CHECK: v_cmpx_f_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe0,0x7c]
+0x7e,0x04,0xe0,0x7c
+
+# CHECK: v_cmpx_f_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe0,0x7c]
+0x80,0x04,0xe0,0x7c
+
+# CHECK: v_cmpx_f_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe0,0x7c]
+0xc1,0x04,0xe0,0x7c
+
+# CHECK: v_cmpx_f_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe0,0x7c]
+0xf0,0x04,0xe0,0x7c
+
+# CHECK: v_cmpx_f_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe0,0x7c]
+0xf7,0x04,0xe0,0x7c
+
+# 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_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_f_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe1,0x7c]
+0x01,0xfd,0xe1,0x7c
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x70,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x02,0x04,0x02,0x00
+
+# 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_f_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_f_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x70,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x70,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x70,0xd0,0x01,0x05,0x02,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_lt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe2,0x7c]
+0xfe,0x05,0xe2,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_lt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe2,0x7c]
+0x04,0x04,0xe2,0x7c
+
+# 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_lt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe2,0x7c]
+0x66,0x04,0xe2,0x7c
+
+# CHECK: v_cmpx_lt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe2,0x7c]
+0x6a,0x04,0xe2,0x7c
+
+# CHECK: v_cmpx_lt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe2,0x7c]
+0x7e,0x04,0xe2,0x7c
+
+# CHECK: v_cmpx_lt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe2,0x7c]
+0x80,0x04,0xe2,0x7c
+
+# CHECK: v_cmpx_lt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe2,0x7c]
+0xc1,0x04,0xe2,0x7c
+
+# CHECK: v_cmpx_lt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe2,0x7c]
+0xf0,0x04,0xe2,0x7c
+
+# CHECK: v_cmpx_lt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe2,0x7c]
+0xf7,0x04,0xe2,0x7c
+
+# 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_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_lt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe3,0x7c]
+0x01,0xfd,0xe3,0x7c
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x71,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x02,0x04,0x02,0x00
+
+# 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_lt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xfd,0x03,0x00
+
+# 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_lt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x71,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x71,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x71,0xd0,0x01,0x05,0x02,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_eq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe4,0x7c]
+0xfe,0x05,0xe4,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_eq_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe4,0x7c]
+0x04,0x04,0xe4,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_eq_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe4,0x7c]
+0x66,0x04,0xe4,0x7c
+
+# CHECK: v_cmpx_eq_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe4,0x7c]
+0x6a,0x04,0xe4,0x7c
+
+# CHECK: v_cmpx_eq_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe4,0x7c]
+0x7e,0x04,0xe4,0x7c
+
+# CHECK: v_cmpx_eq_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe4,0x7c]
+0x80,0x04,0xe4,0x7c
+
+# CHECK: v_cmpx_eq_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe4,0x7c]
+0xc1,0x04,0xe4,0x7c
+
+# CHECK: v_cmpx_eq_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe4,0x7c]
+0xf0,0x04,0xe4,0x7c
+
+# CHECK: v_cmpx_eq_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe4,0x7c]
+0xf7,0x04,0xe4,0x7c
+
+# 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_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_eq_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe5,0x7c]
+0x01,0xfd,0xe5,0x7c
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x72,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x72,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x72,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x72,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x72,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_eq_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xfd,0x03,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_eq_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x72,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x72,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x72,0xd0,0x01,0x05,0x02,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_cmpx_le_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe6,0x7c]
+0xfe,0x05,0xe6,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_cmpx_le_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe6,0x7c]
+0x04,0x04,0xe6,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_cmpx_le_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe6,0x7c]
+0x66,0x04,0xe6,0x7c
+
+# CHECK: v_cmpx_le_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe6,0x7c]
+0x6a,0x04,0xe6,0x7c
+
+# CHECK: v_cmpx_le_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe6,0x7c]
+0x7e,0x04,0xe6,0x7c
+
+# CHECK: v_cmpx_le_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe6,0x7c]
+0x80,0x04,0xe6,0x7c
+
+# CHECK: v_cmpx_le_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe6,0x7c]
+0xc1,0x04,0xe6,0x7c
+
+# CHECK: v_cmpx_le_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe6,0x7c]
+0xf0,0x04,0xe6,0x7c
+
+# CHECK: v_cmpx_le_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe6,0x7c]
+0xf7,0x04,0xe6,0x7c
+
+# 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_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_cmpx_le_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe7,0x7c]
+0x01,0xfd,0xe7,0x7c
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x73,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x73,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x73,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x73,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x73,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_le_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xfd,0x03,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_cmpx_le_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x73,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x73,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x73,0xd0,0x01,0x05,0x02,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_cmpx_gt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe8,0x7c]
+0xfe,0x05,0xe8,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_cmpx_gt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe8,0x7c]
+0x04,0x04,0xe8,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_cmpx_gt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe8,0x7c]
+0x66,0x04,0xe8,0x7c
+
+# CHECK: v_cmpx_gt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe8,0x7c]
+0x6a,0x04,0xe8,0x7c
+
+# CHECK: v_cmpx_gt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe8,0x7c]
+0x7e,0x04,0xe8,0x7c
+
+# CHECK: v_cmpx_gt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe8,0x7c]
+0x80,0x04,0xe8,0x7c
+
+# CHECK: v_cmpx_gt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe8,0x7c]
+0xc1,0x04,0xe8,0x7c
+
+# CHECK: v_cmpx_gt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe8,0x7c]
+0xf0,0x04,0xe8,0x7c
+
+# CHECK: v_cmpx_gt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe8,0x7c]
+0xf7,0x04,0xe8,0x7c
+
+# 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_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_cmpx_gt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe9,0x7c]
+0x01,0xfd,0xe9,0x7c
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x74,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_gt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xfd,0x03,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_cmpx_gt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x74,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x74,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x74,0xd0,0x01,0x05,0x02,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_cmpx_lg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xea,0x7c]
+0xfe,0x05,0xea,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_cmpx_lg_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xea,0x7c]
+0x04,0x04,0xea,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_cmpx_lg_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xea,0x7c]
+0x66,0x04,0xea,0x7c
+
+# CHECK: v_cmpx_lg_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xea,0x7c]
+0x6a,0x04,0xea,0x7c
+
+# CHECK: v_cmpx_lg_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xea,0x7c]
+0x7e,0x04,0xea,0x7c
+
+# CHECK: v_cmpx_lg_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xea,0x7c]
+0x80,0x04,0xea,0x7c
+
+# CHECK: v_cmpx_lg_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xea,0x7c]
+0xc1,0x04,0xea,0x7c
+
+# CHECK: v_cmpx_lg_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xea,0x7c]
+0xf0,0x04,0xea,0x7c
+
+# CHECK: v_cmpx_lg_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xea,0x7c]
+0xf7,0x04,0xea,0x7c
+
+# 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_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_cmpx_lg_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xeb,0x7c]
+0x01,0xfd,0xeb,0x7c
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x75,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x75,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x75,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x75,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x75,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_lg_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xfd,0x03,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_cmpx_lg_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x75,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x75,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x75,0xd0,0x01,0x05,0x02,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_cmpx_ge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xec,0x7c]
+0xfe,0x05,0xec,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_cmpx_ge_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xec,0x7c]
+0x04,0x04,0xec,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_cmpx_ge_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xec,0x7c]
+0x66,0x04,0xec,0x7c
+
+# CHECK: v_cmpx_ge_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xec,0x7c]
+0x6a,0x04,0xec,0x7c
+
+# CHECK: v_cmpx_ge_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xec,0x7c]
+0x7e,0x04,0xec,0x7c
+
+# CHECK: v_cmpx_ge_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xec,0x7c]
+0x80,0x04,0xec,0x7c
+
+# CHECK: v_cmpx_ge_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xec,0x7c]
+0xc1,0x04,0xec,0x7c
+
+# CHECK: v_cmpx_ge_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xec,0x7c]
+0xf0,0x04,0xec,0x7c
+
+# CHECK: v_cmpx_ge_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xec,0x7c]
+0xf7,0x04,0xec,0x7c
+
+# 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_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_cmpx_ge_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xed,0x7c]
+0x01,0xfd,0xed,0x7c
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x76,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x76,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x76,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x76,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x76,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_ge_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xfd,0x03,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_cmpx_ge_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x76,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x76,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x76,0xd0,0x01,0x05,0x02,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_cmpx_o_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xee,0x7c]
+0xfe,0x05,0xee,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_cmpx_o_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xee,0x7c]
+0x04,0x04,0xee,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_cmpx_o_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xee,0x7c]
+0x66,0x04,0xee,0x7c
+
+# CHECK: v_cmpx_o_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xee,0x7c]
+0x6a,0x04,0xee,0x7c
+
+# CHECK: v_cmpx_o_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xee,0x7c]
+0x7e,0x04,0xee,0x7c
+
+# CHECK: v_cmpx_o_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xee,0x7c]
+0x80,0x04,0xee,0x7c
+
+# CHECK: v_cmpx_o_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xee,0x7c]
+0xc1,0x04,0xee,0x7c
+
+# CHECK: v_cmpx_o_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xee,0x7c]
+0xf0,0x04,0xee,0x7c
+
+# CHECK: v_cmpx_o_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xee,0x7c]
+0xf7,0x04,0xee,0x7c
+
+# 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_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_cmpx_o_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xef,0x7c]
+0x01,0xfd,0xef,0x7c
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x77,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_o_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xfd,0x03,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_cmpx_o_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x77,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x77,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x77,0xd0,0x01,0x05,0x02,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_cmpx_u_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf0,0x7c]
+0xfe,0x05,0xf0,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_cmpx_u_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf0,0x7c]
+0x04,0x04,0xf0,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_cmpx_u_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf0,0x7c]
+0x66,0x04,0xf0,0x7c
+
+# CHECK: v_cmpx_u_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf0,0x7c]
+0x6a,0x04,0xf0,0x7c
+
+# CHECK: v_cmpx_u_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf0,0x7c]
+0x7e,0x04,0xf0,0x7c
+
+# CHECK: v_cmpx_u_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf0,0x7c]
+0x80,0x04,0xf0,0x7c
+
+# CHECK: v_cmpx_u_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf0,0x7c]
+0xc1,0x04,0xf0,0x7c
+
+# CHECK: v_cmpx_u_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf0,0x7c]
+0xf0,0x04,0xf0,0x7c
+
+# CHECK: v_cmpx_u_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf0,0x7c]
+0xf7,0x04,0xf0,0x7c
+
+# 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_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_cmpx_u_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf1,0x7c]
+0x01,0xfd,0xf1,0x7c
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x78,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x78,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x78,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x78,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x78,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_u_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xfd,0x03,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_cmpx_u_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x78,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x78,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x78,0xd0,0x01,0x05,0x02,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_cmpx_nge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf2,0x7c]
+0xfe,0x05,0xf2,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_cmpx_nge_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf2,0x7c]
+0x04,0x04,0xf2,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_cmpx_nge_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf2,0x7c]
+0x66,0x04,0xf2,0x7c
+
+# CHECK: v_cmpx_nge_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf2,0x7c]
+0x6a,0x04,0xf2,0x7c
+
+# CHECK: v_cmpx_nge_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf2,0x7c]
+0x7e,0x04,0xf2,0x7c
+
+# CHECK: v_cmpx_nge_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf2,0x7c]
+0x80,0x04,0xf2,0x7c
+
+# CHECK: v_cmpx_nge_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf2,0x7c]
+0xc1,0x04,0xf2,0x7c
+
+# CHECK: v_cmpx_nge_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf2,0x7c]
+0xf0,0x04,0xf2,0x7c
+
+# CHECK: v_cmpx_nge_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf2,0x7c]
+0xf7,0x04,0xf2,0x7c
+
+# 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_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_cmpx_nge_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf3,0x7c]
+0x01,0xfd,0xf3,0x7c
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x79,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_nge_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xfd,0x03,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_cmpx_nge_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x79,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x79,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x79,0xd0,0x01,0x05,0x02,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_cmpx_nlg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf4,0x7c]
+0xfe,0x05,0xf4,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_cmpx_nlg_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf4,0x7c]
+0x04,0x04,0xf4,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_cmpx_nlg_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf4,0x7c]
+0x66,0x04,0xf4,0x7c
+
+# CHECK: v_cmpx_nlg_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf4,0x7c]
+0x6a,0x04,0xf4,0x7c
+
+# CHECK: v_cmpx_nlg_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf4,0x7c]
+0x7e,0x04,0xf4,0x7c
+
+# CHECK: v_cmpx_nlg_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf4,0x7c]
+0x80,0x04,0xf4,0x7c
+
+# CHECK: v_cmpx_nlg_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf4,0x7c]
+0xc1,0x04,0xf4,0x7c
+
+# CHECK: v_cmpx_nlg_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf4,0x7c]
+0xf0,0x04,0xf4,0x7c
+
+# CHECK: v_cmpx_nlg_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf4,0x7c]
+0xf7,0x04,0xf4,0x7c
+
+# 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_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_cmpx_nlg_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf5,0x7c]
+0x01,0xfd,0xf5,0x7c
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x7a,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_nlg_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x03,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_cmpx_nlg_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7a,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7a,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7a,0xd0,0x01,0x05,0x02,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_cmpx_ngt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf6,0x7c]
+0xfe,0x05,0xf6,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_cmpx_ngt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf6,0x7c]
+0x04,0x04,0xf6,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_cmpx_ngt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf6,0x7c]
+0x66,0x04,0xf6,0x7c
+
+# CHECK: v_cmpx_ngt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf6,0x7c]
+0x6a,0x04,0xf6,0x7c
+
+# CHECK: v_cmpx_ngt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf6,0x7c]
+0x7e,0x04,0xf6,0x7c
+
+# CHECK: v_cmpx_ngt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf6,0x7c]
+0x80,0x04,0xf6,0x7c
+
+# CHECK: v_cmpx_ngt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf6,0x7c]
+0xc1,0x04,0xf6,0x7c
+
+# CHECK: v_cmpx_ngt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf6,0x7c]
+0xf0,0x04,0xf6,0x7c
+
+# CHECK: v_cmpx_ngt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf6,0x7c]
+0xf7,0x04,0xf6,0x7c
+
+# 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_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_cmpx_ngt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf7,0x7c]
+0x01,0xfd,0xf7,0x7c
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x7b,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_ngt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x03,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_cmpx_ngt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7b,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7b,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7b,0xd0,0x01,0x05,0x02,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_cmpx_nle_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf8,0x7c]
+0xfe,0x05,0xf8,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_cmpx_nle_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf8,0x7c]
+0x04,0x04,0xf8,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_cmpx_nle_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf8,0x7c]
+0x66,0x04,0xf8,0x7c
+
+# CHECK: v_cmpx_nle_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf8,0x7c]
+0x6a,0x04,0xf8,0x7c
+
+# CHECK: v_cmpx_nle_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf8,0x7c]
+0x7e,0x04,0xf8,0x7c
+
+# CHECK: v_cmpx_nle_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf8,0x7c]
+0x80,0x04,0xf8,0x7c
+
+# CHECK: v_cmpx_nle_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf8,0x7c]
+0xc1,0x04,0xf8,0x7c
+
+# CHECK: v_cmpx_nle_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf8,0x7c]
+0xf0,0x04,0xf8,0x7c
+
+# CHECK: v_cmpx_nle_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf8,0x7c]
+0xf7,0x04,0xf8,0x7c
+
+# 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_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_cmpx_nle_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf9,0x7c]
+0x01,0xfd,0xf9,0x7c
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x7c,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_nle_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x03,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_cmpx_nle_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7c,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7c,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7c,0xd0,0x01,0x05,0x02,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_cmpx_neq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfa,0x7c]
+0xfe,0x05,0xfa,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_cmpx_neq_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfa,0x7c]
+0x04,0x04,0xfa,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_cmpx_neq_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfa,0x7c]
+0x66,0x04,0xfa,0x7c
+
+# CHECK: v_cmpx_neq_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfa,0x7c]
+0x6a,0x04,0xfa,0x7c
+
+# CHECK: v_cmpx_neq_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfa,0x7c]
+0x7e,0x04,0xfa,0x7c
+
+# CHECK: v_cmpx_neq_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfa,0x7c]
+0x80,0x04,0xfa,0x7c
+
+# CHECK: v_cmpx_neq_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfa,0x7c]
+0xc1,0x04,0xfa,0x7c
+
+# CHECK: v_cmpx_neq_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfa,0x7c]
+0xf0,0x04,0xfa,0x7c
+
+# CHECK: v_cmpx_neq_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xfa,0x7c]
+0xf7,0x04,0xfa,0x7c
+
+# 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_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_cmpx_neq_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xfb,0x7c]
+0x01,0xfd,0xfb,0x7c
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x7d,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_neq_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x03,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_cmpx_neq_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7d,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7d,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7d,0xd0,0x01,0x05,0x02,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_cmpx_nlt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfc,0x7c]
+0xfe,0x05,0xfc,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_cmpx_nlt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfc,0x7c]
+0x04,0x04,0xfc,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_cmpx_nlt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfc,0x7c]
+0x66,0x04,0xfc,0x7c
+
+# CHECK: v_cmpx_nlt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfc,0x7c]
+0x6a,0x04,0xfc,0x7c
+
+# CHECK: v_cmpx_nlt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfc,0x7c]
+0x7e,0x04,0xfc,0x7c
+
+# CHECK: v_cmpx_nlt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfc,0x7c]
+0x80,0x04,0xfc,0x7c
+
+# CHECK: v_cmpx_nlt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfc,0x7c]
+0xc1,0x04,0xfc,0x7c
+
+# CHECK: v_cmpx_nlt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfc,0x7c]
+0xf0,0x04,0xfc,0x7c
+
+# CHECK: v_cmpx_nlt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xfc,0x7c]
+0xf7,0x04,0xfc,0x7c
+
+# 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_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_cmpx_nlt_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xfd,0x7c]
+0x01,0xfd,0xfd,0x7c
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x7e,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_nlt_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x03,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_cmpx_nlt_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7e,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7e,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7e,0xd0,0x01,0x05,0x02,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_cmpx_tru_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfe,0x7c]
+0xfe,0x05,0xfe,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_cmpx_tru_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfe,0x7c]
+0x04,0x04,0xfe,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_cmpx_tru_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfe,0x7c]
+0x66,0x04,0xfe,0x7c
+
+# CHECK: v_cmpx_tru_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfe,0x7c]
+0x6a,0x04,0xfe,0x7c
+
+# CHECK: v_cmpx_tru_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfe,0x7c]
+0x7e,0x04,0xfe,0x7c
+
+# CHECK: v_cmpx_tru_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfe,0x7c]
+0x80,0x04,0xfe,0x7c
+
+# CHECK: v_cmpx_tru_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfe,0x7c]
+0xc1,0x04,0xfe,0x7c
+
+# CHECK: v_cmpx_tru_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfe,0x7c]
+0xf0,0x04,0xfe,0x7c
+
+# CHECK: v_cmpx_tru_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xfe,0x7c]
+0xf7,0x04,0xfe,0x7c
+
+# 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_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_cmpx_tru_f64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xff,0x7c]
+0x01,0xfd,0xff,0x7c
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0x7f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x02,0x04,0x02,0x00
+
+# 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_cmpx_tru_f64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x03,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_cmpx_tru_f64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -v[1:2], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x20]
+0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x20
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x40]
+0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x40
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -v[1:2], -v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x60]
+0x0a,0x00,0x7f,0xd0,0x01,0x05,0x02,0x60
+
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], v[2:3] clamp ; encoding: [0x0a,0x80,0x7f,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x80,0x7f,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x40,0x7d]
+0x01,0x05,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x40,0x7d]
+0xff,0x05,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x40,0x7d]
+0x01,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x40,0x7d]
+0x65,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x40,0x7d]
+0x66,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x40,0x7d]
+0x67,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x40,0x7d]
+0x6a,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x40,0x7d]
+0x6b,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x40,0x7d]
+0x7c,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x40,0x7d]
+0x7e,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x40,0x7d]
+0x7f,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x40,0x7d]
+0x80,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x40,0x7d]
+0xc1,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x40,0x7d]
+0xf0,0x04,0x40,0x7d
+
+# CHECK: v_cmp_f_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x40,0x7d]
+0xf7,0x04,0x40,0x7d
+
+# 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_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_f_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x41,0x7d]
+0x01,0xff,0x41,0x7d
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x7f,0x04,0x02,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_f_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xff,0x03,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_f_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x42,0x7d]
+0x01,0x05,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x42,0x7d]
+0xff,0x05,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x42,0x7d]
+0x01,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x42,0x7d]
+0x65,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x42,0x7d]
+0x66,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x42,0x7d]
+0x67,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x42,0x7d]
+0x6a,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x42,0x7d]
+0x6b,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x42,0x7d]
+0x7c,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x42,0x7d]
+0x7e,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x42,0x7d]
+0x7f,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x42,0x7d]
+0x80,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x42,0x7d]
+0xc1,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x42,0x7d]
+0xf0,0x04,0x42,0x7d
+
+# CHECK: v_cmp_lt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x42,0x7d]
+0xf7,0x04,0x42,0x7d
+
+# 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_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_lt_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x43,0x7d]
+0x01,0xff,0x43,0x7d
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x7f,0x04,0x02,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_lt_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xff,0x03,0x00
+
+# 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_lt_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x44,0x7d]
+0x01,0x05,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x44,0x7d]
+0xff,0x05,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x44,0x7d]
+0x01,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x44,0x7d]
+0x65,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x44,0x7d]
+0x66,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x44,0x7d]
+0x67,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x44,0x7d]
+0x6a,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x44,0x7d]
+0x6b,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x44,0x7d]
+0x7c,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x44,0x7d]
+0x7e,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x44,0x7d]
+0x7f,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x44,0x7d]
+0x80,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x44,0x7d]
+0xc1,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x44,0x7d]
+0xf0,0x04,0x44,0x7d
+
+# CHECK: v_cmp_eq_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x44,0x7d]
+0xf7,0x04,0x44,0x7d
+
+# 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_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_cmp_eq_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x45,0x7d]
+0x01,0xff,0x45,0x7d
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_eq_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xff,0x03,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_cmp_eq_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x46,0x7d]
+0x01,0x05,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x46,0x7d]
+0xff,0x05,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x46,0x7d]
+0x01,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x46,0x7d]
+0x65,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x46,0x7d]
+0x66,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x46,0x7d]
+0x67,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x46,0x7d]
+0x6a,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x46,0x7d]
+0x6b,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x46,0x7d]
+0x7c,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x46,0x7d]
+0x7e,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x46,0x7d]
+0x7f,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x46,0x7d]
+0x80,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x46,0x7d]
+0xc1,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x46,0x7d]
+0xf0,0x04,0x46,0x7d
+
+# CHECK: v_cmp_le_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x46,0x7d]
+0xf7,0x04,0x46,0x7d
+
+# 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_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_cmp_le_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x47,0x7d]
+0x01,0xff,0x47,0x7d
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x7f,0x04,0x02,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_cmp_le_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_le_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x48,0x7d]
+0x01,0x05,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x48,0x7d]
+0xff,0x05,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x48,0x7d]
+0x01,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x48,0x7d]
+0x65,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x48,0x7d]
+0x66,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x48,0x7d]
+0x67,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x48,0x7d]
+0x6a,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x48,0x7d]
+0x6b,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x48,0x7d]
+0x7c,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x48,0x7d]
+0x7e,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x48,0x7d]
+0x7f,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x48,0x7d]
+0x80,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x48,0x7d]
+0xc1,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x48,0x7d]
+0xf0,0x04,0x48,0x7d
+
+# CHECK: v_cmp_gt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x48,0x7d]
+0xf7,0x04,0x48,0x7d
+
+# 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_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_cmp_gt_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x49,0x7d]
+0x01,0xff,0x49,0x7d
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x7f,0x04,0x02,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_cmp_gt_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_gt_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ne_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4a,0x7d]
+0x01,0x05,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4a,0x7d]
+0xff,0x05,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4a,0x7d]
+0x01,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4a,0x7d]
+0x65,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4a,0x7d]
+0x66,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4a,0x7d]
+0x67,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4a,0x7d]
+0x6a,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4a,0x7d]
+0x6b,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4a,0x7d]
+0x7c,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4a,0x7d]
+0x7e,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4a,0x7d]
+0x7f,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4a,0x7d]
+0x80,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4a,0x7d]
+0xc1,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4a,0x7d]
+0xf0,0x04,0x4a,0x7d
+
+# CHECK: v_cmp_ne_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4a,0x7d]
+0xf7,0x04,0x4a,0x7d
+
+# 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_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_cmp_ne_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4b,0x7d]
+0x01,0xff,0x4b,0x7d
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_ne_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xff,0x03,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_cmp_ne_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4c,0x7d]
+0x01,0x05,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4c,0x7d]
+0xff,0x05,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4c,0x7d]
+0x01,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4c,0x7d]
+0x65,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4c,0x7d]
+0x66,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4c,0x7d]
+0x67,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4c,0x7d]
+0x6a,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4c,0x7d]
+0x6b,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4c,0x7d]
+0x7c,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4c,0x7d]
+0x7e,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4c,0x7d]
+0x7f,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4c,0x7d]
+0x80,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4c,0x7d]
+0xc1,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4c,0x7d]
+0xf0,0x04,0x4c,0x7d
+
+# CHECK: v_cmp_ge_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4c,0x7d]
+0xf7,0x04,0x4c,0x7d
+
+# 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_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_cmp_ge_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4d,0x7d]
+0x01,0xff,0x4d,0x7d
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x7f,0x04,0x02,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_cmp_ge_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_ge_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_t_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4e,0x7d]
+0x01,0x05,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4e,0x7d]
+0xff,0x05,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4e,0x7d]
+0x01,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4e,0x7d]
+0x65,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4e,0x7d]
+0x66,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4e,0x7d]
+0x67,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4e,0x7d]
+0x6a,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4e,0x7d]
+0x6b,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4e,0x7d]
+0x7c,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4e,0x7d]
+0x7e,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4e,0x7d]
+0x7f,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4e,0x7d]
+0x80,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4e,0x7d]
+0xc1,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4e,0x7d]
+0xf0,0x04,0x4e,0x7d
+
+# CHECK: v_cmp_t_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4e,0x7d]
+0xf7,0x04,0x4e,0x7d
+
+# 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_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_cmp_t_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x4f,0x7d]
+0x01,0xff,0x4f,0x7d
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_t_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xff,0x03,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_cmp_t_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x50,0x7d]
+0x01,0x05,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x50,0x7d]
+0xff,0x05,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x50,0x7d]
+0x01,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x50,0x7d]
+0x65,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x50,0x7d]
+0x66,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x50,0x7d]
+0x67,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x50,0x7d]
+0x6a,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x50,0x7d]
+0x6b,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x50,0x7d]
+0x7c,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x50,0x7d]
+0x7e,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x50,0x7d]
+0x7f,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x50,0x7d]
+0x80,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x50,0x7d]
+0xc1,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x50,0x7d]
+0xf0,0x04,0x50,0x7d
+
+# CHECK: v_cmp_f_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x50,0x7d]
+0xf7,0x04,0x50,0x7d
+
+# 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_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_cmp_f_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x51,0x7d]
+0x01,0xff,0x51,0x7d
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_f_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xff,0x03,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_cmp_f_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x52,0x7d]
+0x01,0x05,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x52,0x7d]
+0xff,0x05,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x52,0x7d]
+0x01,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x52,0x7d]
+0x65,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x52,0x7d]
+0x66,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x52,0x7d]
+0x67,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x52,0x7d]
+0x6a,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x52,0x7d]
+0x6b,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x52,0x7d]
+0x7c,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x52,0x7d]
+0x7e,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x52,0x7d]
+0x7f,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x52,0x7d]
+0x80,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x52,0x7d]
+0xc1,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x52,0x7d]
+0xf0,0x04,0x52,0x7d
+
+# CHECK: v_cmp_lt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x52,0x7d]
+0xf7,0x04,0x52,0x7d
+
+# 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_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_cmp_lt_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x53,0x7d]
+0x01,0xff,0x53,0x7d
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xa9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x7f,0x04,0x02,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_cmp_lt_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_lt_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x54,0x7d]
+0x01,0x05,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x54,0x7d]
+0xff,0x05,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x54,0x7d]
+0x01,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x54,0x7d]
+0x65,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x54,0x7d]
+0x66,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x54,0x7d]
+0x67,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x54,0x7d]
+0x6a,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x54,0x7d]
+0x6b,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x54,0x7d]
+0x7c,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x54,0x7d]
+0x7e,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x54,0x7d]
+0x7f,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x54,0x7d]
+0x80,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x54,0x7d]
+0xc1,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x54,0x7d]
+0xf0,0x04,0x54,0x7d
+
+# CHECK: v_cmp_eq_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x54,0x7d]
+0xf7,0x04,0x54,0x7d
+
+# 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_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_cmp_eq_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x55,0x7d]
+0x01,0xff,0x55,0x7d
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xaa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_eq_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xff,0x03,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_cmp_eq_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x56,0x7d]
+0x01,0x05,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x56,0x7d]
+0xff,0x05,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x56,0x7d]
+0x01,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x56,0x7d]
+0x65,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x56,0x7d]
+0x66,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x56,0x7d]
+0x67,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x56,0x7d]
+0x6a,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x56,0x7d]
+0x6b,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x56,0x7d]
+0x7c,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x56,0x7d]
+0x7e,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x56,0x7d]
+0x7f,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x56,0x7d]
+0x80,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x56,0x7d]
+0xc1,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x56,0x7d]
+0xf0,0x04,0x56,0x7d
+
+# CHECK: v_cmp_le_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x56,0x7d]
+0xf7,0x04,0x56,0x7d
+
+# 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_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_cmp_le_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x57,0x7d]
+0x01,0xff,0x57,0x7d
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xab,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xab,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xab,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xab,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_le_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_le_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x58,0x7d]
+0x01,0x05,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x58,0x7d]
+0xff,0x05,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x58,0x7d]
+0x01,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x58,0x7d]
+0x65,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x58,0x7d]
+0x66,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x58,0x7d]
+0x67,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x58,0x7d]
+0x6a,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x58,0x7d]
+0x6b,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x58,0x7d]
+0x7c,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x58,0x7d]
+0x7e,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x58,0x7d]
+0x7f,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x58,0x7d]
+0x80,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x58,0x7d]
+0xc1,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x58,0x7d]
+0xf0,0x04,0x58,0x7d
+
+# CHECK: v_cmp_gt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x58,0x7d]
+0xf7,0x04,0x58,0x7d
+
+# 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_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_cmp_gt_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x59,0x7d]
+0x01,0xff,0x59,0x7d
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xac,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x7f,0x04,0x02,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_cmp_gt_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_gt_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ne_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5a,0x7d]
+0x01,0x05,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5a,0x7d]
+0xff,0x05,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5a,0x7d]
+0x01,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5a,0x7d]
+0x65,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5a,0x7d]
+0x66,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5a,0x7d]
+0x67,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5a,0x7d]
+0x6a,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5a,0x7d]
+0x6b,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5a,0x7d]
+0x7c,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5a,0x7d]
+0x7e,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5a,0x7d]
+0x7f,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5a,0x7d]
+0x80,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5a,0x7d]
+0xc1,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5a,0x7d]
+0xf0,0x04,0x5a,0x7d
+
+# CHECK: v_cmp_ne_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5a,0x7d]
+0xf7,0x04,0x5a,0x7d
+
+# 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_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_cmp_ne_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5b,0x7d]
+0x01,0xff,0x5b,0x7d
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xad,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xad,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xad,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xad,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_ne_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xff,0x03,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_cmp_ne_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5c,0x7d]
+0x01,0x05,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5c,0x7d]
+0xff,0x05,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5c,0x7d]
+0x01,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5c,0x7d]
+0x65,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5c,0x7d]
+0x66,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5c,0x7d]
+0x67,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5c,0x7d]
+0x6a,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5c,0x7d]
+0x6b,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5c,0x7d]
+0x7c,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5c,0x7d]
+0x7e,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5c,0x7d]
+0x7f,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5c,0x7d]
+0x80,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5c,0x7d]
+0xc1,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5c,0x7d]
+0xf0,0x04,0x5c,0x7d
+
+# CHECK: v_cmp_ge_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5c,0x7d]
+0xf7,0x04,0x5c,0x7d
+
+# 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_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_ge_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5d,0x7d]
+0x01,0xff,0x5d,0x7d
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xae,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xae,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xae,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xae,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_ge_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xff,0x03,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_ge_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_t_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5e,0x7d]
+0x01,0x05,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5e,0x7d]
+0xff,0x05,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5e,0x7d]
+0x01,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5e,0x7d]
+0x65,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5e,0x7d]
+0x66,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5e,0x7d]
+0x67,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5e,0x7d]
+0x6a,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5e,0x7d]
+0x6b,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5e,0x7d]
+0x7c,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5e,0x7d]
+0x7e,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5e,0x7d]
+0x7f,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5e,0x7d]
+0x80,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5e,0x7d]
+0xc1,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5e,0x7d]
+0xf0,0x04,0x5e,0x7d
+
+# CHECK: v_cmp_t_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5e,0x7d]
+0xf7,0x04,0x5e,0x7d
+
+# 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_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_t_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x5f,0x7d]
+0x01,0xff,0x5f,0x7d
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xaf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x7f,0x04,0x02,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_t_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xff,0x03,0x00
+
+# 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_t_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x60,0x7d]
+0x01,0x05,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x60,0x7d]
+0xff,0x05,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x60,0x7d]
+0x01,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x60,0x7d]
+0x65,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x60,0x7d]
+0x66,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x60,0x7d]
+0x67,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x60,0x7d]
+0x6a,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x60,0x7d]
+0x6b,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x60,0x7d]
+0x7c,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x60,0x7d]
+0x7e,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x60,0x7d]
+0x7f,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x60,0x7d]
+0x80,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x60,0x7d]
+0xc1,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x60,0x7d]
+0xf0,0x04,0x60,0x7d
+
+# CHECK: v_cmpx_f_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x60,0x7d]
+0xf7,0x04,0x60,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_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_cmpx_f_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x61,0x7d]
+0x01,0xff,0x61,0x7d
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x7f,0x04,0x02,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_cmpx_f_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_f_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x62,0x7d]
+0x01,0x05,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x62,0x7d]
+0xff,0x05,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x62,0x7d]
+0x01,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x62,0x7d]
+0x65,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x62,0x7d]
+0x66,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x62,0x7d]
+0x67,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x62,0x7d]
+0x6a,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x62,0x7d]
+0x6b,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x62,0x7d]
+0x7c,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x62,0x7d]
+0x7e,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x62,0x7d]
+0x7f,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x62,0x7d]
+0x80,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x62,0x7d]
+0xc1,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x62,0x7d]
+0xf0,0x04,0x62,0x7d
+
+# CHECK: v_cmpx_lt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x62,0x7d]
+0xf7,0x04,0x62,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_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_cmpx_lt_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x63,0x7d]
+0x01,0xff,0x63,0x7d
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_lt_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xff,0x03,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_cmpx_lt_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x64,0x7d]
+0x01,0x05,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x64,0x7d]
+0xff,0x05,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x64,0x7d]
+0x01,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x64,0x7d]
+0x65,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x64,0x7d]
+0x66,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x64,0x7d]
+0x67,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x64,0x7d]
+0x6a,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x64,0x7d]
+0x6b,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x64,0x7d]
+0x7c,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x64,0x7d]
+0x7e,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x64,0x7d]
+0x7f,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x64,0x7d]
+0x80,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x64,0x7d]
+0xc1,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x64,0x7d]
+0xf0,0x04,0x64,0x7d
+
+# CHECK: v_cmpx_eq_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x64,0x7d]
+0xf7,0x04,0x64,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_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_cmpx_eq_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x65,0x7d]
+0x01,0xff,0x65,0x7d
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_eq_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xff,0x03,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_cmpx_eq_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x66,0x7d]
+0x01,0x05,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x66,0x7d]
+0xff,0x05,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x66,0x7d]
+0x01,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x66,0x7d]
+0x65,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x66,0x7d]
+0x66,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x66,0x7d]
+0x67,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x66,0x7d]
+0x6a,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x66,0x7d]
+0x6b,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x66,0x7d]
+0x7c,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x66,0x7d]
+0x7e,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x66,0x7d]
+0x7f,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x66,0x7d]
+0x80,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x66,0x7d]
+0xc1,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x66,0x7d]
+0xf0,0x04,0x66,0x7d
+
+# CHECK: v_cmpx_le_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x66,0x7d]
+0xf7,0x04,0x66,0x7d
+
+# 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_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_cmpx_le_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x67,0x7d]
+0x01,0xff,0x67,0x7d
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x7f,0x04,0x02,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_cmpx_le_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_le_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x68,0x7d]
+0x01,0x05,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x68,0x7d]
+0xff,0x05,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x68,0x7d]
+0x01,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x68,0x7d]
+0x65,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x68,0x7d]
+0x66,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x68,0x7d]
+0x67,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x68,0x7d]
+0x6a,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x68,0x7d]
+0x6b,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x68,0x7d]
+0x7c,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x68,0x7d]
+0x7e,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x68,0x7d]
+0x7f,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x68,0x7d]
+0x80,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x68,0x7d]
+0xc1,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x68,0x7d]
+0xf0,0x04,0x68,0x7d
+
+# CHECK: v_cmpx_gt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x68,0x7d]
+0xf7,0x04,0x68,0x7d
+
+# 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_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_cmpx_gt_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x69,0x7d]
+0x01,0xff,0x69,0x7d
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x7f,0x04,0x02,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_cmpx_gt_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_gt_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6a,0x7d]
+0x01,0x05,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6a,0x7d]
+0xff,0x05,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6a,0x7d]
+0x01,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6a,0x7d]
+0x65,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6a,0x7d]
+0x66,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6a,0x7d]
+0x67,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6a,0x7d]
+0x6a,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6a,0x7d]
+0x6b,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6a,0x7d]
+0x7c,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6a,0x7d]
+0x7e,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6a,0x7d]
+0x7f,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6a,0x7d]
+0x80,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6a,0x7d]
+0xc1,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6a,0x7d]
+0xf0,0x04,0x6a,0x7d
+
+# CHECK: v_cmpx_ne_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6a,0x7d]
+0xf7,0x04,0x6a,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_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_cmpx_ne_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6b,0x7d]
+0x01,0xff,0x6b,0x7d
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_ne_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xff,0x03,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_cmpx_ne_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6c,0x7d]
+0x01,0x05,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6c,0x7d]
+0xff,0x05,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6c,0x7d]
+0x01,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6c,0x7d]
+0x65,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6c,0x7d]
+0x66,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6c,0x7d]
+0x67,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6c,0x7d]
+0x6a,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6c,0x7d]
+0x6b,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6c,0x7d]
+0x7c,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6c,0x7d]
+0x7e,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6c,0x7d]
+0x7f,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6c,0x7d]
+0x80,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6c,0x7d]
+0xc1,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6c,0x7d]
+0xf0,0x04,0x6c,0x7d
+
+# CHECK: v_cmpx_ge_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6c,0x7d]
+0xf7,0x04,0x6c,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_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_cmpx_ge_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6d,0x7d]
+0x01,0xff,0x6d,0x7d
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_ge_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xff,0x03,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_cmpx_ge_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_t_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6e,0x7d]
+0x01,0x05,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6e,0x7d]
+0xff,0x05,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6e,0x7d]
+0x01,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6e,0x7d]
+0x65,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6e,0x7d]
+0x66,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6e,0x7d]
+0x67,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6e,0x7d]
+0x6a,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6e,0x7d]
+0x6b,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6e,0x7d]
+0x7c,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6e,0x7d]
+0x7e,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6e,0x7d]
+0x7f,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6e,0x7d]
+0x80,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6e,0x7d]
+0xc1,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6e,0x7d]
+0xf0,0x04,0x6e,0x7d
+
+# CHECK: v_cmpx_t_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6e,0x7d]
+0xf7,0x04,0x6e,0x7d
+
+# 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_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_cmpx_t_i16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x6f,0x7d]
+0x01,0xff,0x6f,0x7d
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_t_i16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_t_i16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x70,0x7d]
+0x01,0x05,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x70,0x7d]
+0xff,0x05,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x70,0x7d]
+0x01,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x70,0x7d]
+0x65,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x70,0x7d]
+0x66,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x70,0x7d]
+0x67,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x70,0x7d]
+0x6a,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x70,0x7d]
+0x6b,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x70,0x7d]
+0x7c,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x70,0x7d]
+0x7e,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x70,0x7d]
+0x7f,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x70,0x7d]
+0x80,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x70,0x7d]
+0xc1,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x70,0x7d]
+0xf0,0x04,0x70,0x7d
+
+# CHECK: v_cmpx_f_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x70,0x7d]
+0xf7,0x04,0x70,0x7d
+
+# 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_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_cmpx_f_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x71,0x7d]
+0x01,0xff,0x71,0x7d
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x7f,0x04,0x02,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_cmpx_f_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_f_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x72,0x7d]
+0x01,0x05,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x72,0x7d]
+0xff,0x05,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x72,0x7d]
+0x01,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x72,0x7d]
+0x65,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x72,0x7d]
+0x66,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x72,0x7d]
+0x67,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x72,0x7d]
+0x6a,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x72,0x7d]
+0x6b,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x72,0x7d]
+0x7c,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x72,0x7d]
+0x7e,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x72,0x7d]
+0x7f,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x72,0x7d]
+0x80,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x72,0x7d]
+0xc1,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x72,0x7d]
+0xf0,0x04,0x72,0x7d
+
+# CHECK: v_cmpx_lt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x72,0x7d]
+0xf7,0x04,0x72,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_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_cmpx_lt_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x73,0x7d]
+0x01,0xff,0x73,0x7d
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xb9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x7f,0x04,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_cmpx_lt_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xff,0x03,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_cmpx_lt_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x74,0x7d]
+0x01,0x05,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x74,0x7d]
+0xff,0x05,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x74,0x7d]
+0x01,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x74,0x7d]
+0x65,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x74,0x7d]
+0x66,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x74,0x7d]
+0x67,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x74,0x7d]
+0x6a,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x74,0x7d]
+0x6b,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x74,0x7d]
+0x7c,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x74,0x7d]
+0x7e,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x74,0x7d]
+0x7f,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x74,0x7d]
+0x80,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x74,0x7d]
+0xc1,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x74,0x7d]
+0xf0,0x04,0x74,0x7d
+
+# CHECK: v_cmpx_eq_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x74,0x7d]
+0xf7,0x04,0x74,0x7d
+
+# 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_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_cmpx_eq_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x75,0x7d]
+0x01,0xff,0x75,0x7d
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xba,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xba,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xba,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xba,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xba,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xba,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_eq_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xff,0x03,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_cmpx_eq_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x76,0x7d]
+0x01,0x05,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x76,0x7d]
+0xff,0x05,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x76,0x7d]
+0x01,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x76,0x7d]
+0x65,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x76,0x7d]
+0x66,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x76,0x7d]
+0x67,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x76,0x7d]
+0x6a,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x76,0x7d]
+0x6b,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x76,0x7d]
+0x7c,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x76,0x7d]
+0x7e,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x76,0x7d]
+0x7f,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x76,0x7d]
+0x80,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x76,0x7d]
+0xc1,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x76,0x7d]
+0xf0,0x04,0x76,0x7d
+
+# CHECK: v_cmpx_le_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x76,0x7d]
+0xf7,0x04,0x76,0x7d
+
+# 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_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_le_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x77,0x7d]
+0x01,0xff,0x77,0x7d
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xbb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x7f,0x04,0x02,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_le_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xff,0x03,0x00
+
+# 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_le_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x78,0x7d]
+0x01,0x05,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x78,0x7d]
+0xff,0x05,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x78,0x7d]
+0x01,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x78,0x7d]
+0x65,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x78,0x7d]
+0x66,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x78,0x7d]
+0x67,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x78,0x7d]
+0x6a,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x78,0x7d]
+0x6b,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x78,0x7d]
+0x7c,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x78,0x7d]
+0x7e,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x78,0x7d]
+0x7f,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x78,0x7d]
+0x80,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x78,0x7d]
+0xc1,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x78,0x7d]
+0xf0,0x04,0x78,0x7d
+
+# CHECK: v_cmpx_gt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x78,0x7d]
+0xf7,0x04,0x78,0x7d
+
+# 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_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_gt_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x79,0x7d]
+0x01,0xff,0x79,0x7d
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xbc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x7f,0x04,0x02,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_gt_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xff,0x03,0x00
+
+# 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_gt_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7a,0x7d]
+0x01,0x05,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7a,0x7d]
+0xff,0x05,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7a,0x7d]
+0x01,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7a,0x7d]
+0x65,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7a,0x7d]
+0x66,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7a,0x7d]
+0x67,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7a,0x7d]
+0x6a,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7a,0x7d]
+0x6b,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7a,0x7d]
+0x7c,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7a,0x7d]
+0x7e,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7a,0x7d]
+0x7f,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7a,0x7d]
+0x80,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7a,0x7d]
+0xc1,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7a,0x7d]
+0xf0,0x04,0x7a,0x7d
+
+# CHECK: v_cmpx_ne_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7a,0x7d]
+0xf7,0x04,0x7a,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_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_ne_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7b,0x7d]
+0x01,0xff,0x7b,0x7d
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xbd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x7f,0x04,0x02,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_ne_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xff,0x03,0x00
+
+# 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_ne_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7c,0x7d]
+0x01,0x05,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7c,0x7d]
+0xff,0x05,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7c,0x7d]
+0x01,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7c,0x7d]
+0x65,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7c,0x7d]
+0x66,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7c,0x7d]
+0x67,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7c,0x7d]
+0x6a,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7c,0x7d]
+0x6b,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7c,0x7d]
+0x7c,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7c,0x7d]
+0x7e,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7c,0x7d]
+0x7f,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7c,0x7d]
+0x80,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7c,0x7d]
+0xc1,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7c,0x7d]
+0xf0,0x04,0x7c,0x7d
+
+# CHECK: v_cmpx_ge_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7c,0x7d]
+0xf7,0x04,0x7c,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_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_ge_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7d,0x7d]
+0x01,0xff,0x7d,0x7d
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xbe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_ge_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xff,0x03,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_ge_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_t_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7e,0x7d]
+0x01,0x05,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7e,0x7d]
+0xff,0x05,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7e,0x7d]
+0x01,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7e,0x7d]
+0x65,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7e,0x7d]
+0x66,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7e,0x7d]
+0x67,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7e,0x7d]
+0x6a,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7e,0x7d]
+0x6b,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7e,0x7d]
+0x7c,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7e,0x7d]
+0x7e,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7e,0x7d]
+0x7f,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7e,0x7d]
+0x80,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7e,0x7d]
+0xc1,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7e,0x7d]
+0xf0,0x04,0x7e,0x7d
+
+# CHECK: v_cmpx_t_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7e,0x7d]
+0xf7,0x04,0x7e,0x7d
+
+# 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_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_t_u16_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x7f,0x7d]
+0x01,0xff,0x7f,0x7d
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xbf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_t_u16_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xff,0x03,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_t_u16_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x80,0x7d]
+0x01,0x05,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x80,0x7d]
+0xff,0x05,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x80,0x7d]
+0x01,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x80,0x7d]
+0x65,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x80,0x7d]
+0x66,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x80,0x7d]
+0x67,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x80,0x7d]
+0x6a,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x80,0x7d]
+0x6b,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x80,0x7d]
+0x7c,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x80,0x7d]
+0x7e,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x80,0x7d]
+0x7f,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x80,0x7d]
+0x80,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x80,0x7d]
+0xc1,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x80,0x7d]
+0xf0,0x04,0x80,0x7d
+
+# CHECK: v_cmp_f_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x80,0x7d]
+0xf7,0x04,0x80,0x7d
+
+# 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_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_cmp_f_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x81,0x7d]
+0x01,0xff,0x81,0x7d
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x7f,0x04,0x02,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_cmp_f_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_f_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x82,0x7d]
+0x01,0x05,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x82,0x7d]
+0xff,0x05,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x82,0x7d]
+0x01,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x82,0x7d]
+0x65,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x82,0x7d]
+0x66,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x82,0x7d]
+0x67,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x82,0x7d]
+0x6a,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x82,0x7d]
+0x6b,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x82,0x7d]
+0x7c,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x82,0x7d]
+0x7e,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x82,0x7d]
+0x7f,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x82,0x7d]
+0x80,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x82,0x7d]
+0xc1,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x82,0x7d]
+0xf0,0x04,0x82,0x7d
+
+# CHECK: v_cmp_lt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x82,0x7d]
+0xf7,0x04,0x82,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_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_cmp_lt_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x83,0x7d]
+0x01,0xff,0x83,0x7d
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x7f,0x04,0x02,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_cmp_lt_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xff,0x03,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_cmp_lt_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x84,0x7d]
+0x01,0x05,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x84,0x7d]
+0xff,0x05,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x84,0x7d]
+0x01,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x84,0x7d]
+0x65,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x84,0x7d]
+0x66,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x84,0x7d]
+0x67,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x84,0x7d]
+0x6a,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x84,0x7d]
+0x6b,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x84,0x7d]
+0x7c,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x84,0x7d]
+0x7e,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x84,0x7d]
+0x7f,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x84,0x7d]
+0x80,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x84,0x7d]
+0xc1,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x84,0x7d]
+0xf0,0x04,0x84,0x7d
+
+# CHECK: v_cmp_eq_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x84,0x7d]
+0xf7,0x04,0x84,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_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_cmp_eq_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x85,0x7d]
+0x01,0xff,0x85,0x7d
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_eq_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xff,0x03,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_cmp_eq_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x86,0x7d]
+0x01,0x05,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x86,0x7d]
+0xff,0x05,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x86,0x7d]
+0x01,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x86,0x7d]
+0x65,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x86,0x7d]
+0x66,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x86,0x7d]
+0x67,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x86,0x7d]
+0x6a,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x86,0x7d]
+0x6b,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x86,0x7d]
+0x7c,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x86,0x7d]
+0x7e,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x86,0x7d]
+0x7f,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x86,0x7d]
+0x80,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x86,0x7d]
+0xc1,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x86,0x7d]
+0xf0,0x04,0x86,0x7d
+
+# CHECK: v_cmp_le_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x86,0x7d]
+0xf7,0x04,0x86,0x7d
+
+# 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_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_cmp_le_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x87,0x7d]
+0x01,0xff,0x87,0x7d
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_le_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xff,0x03,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_cmp_le_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x88,0x7d]
+0x01,0x05,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x88,0x7d]
+0xff,0x05,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x88,0x7d]
+0x01,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x88,0x7d]
+0x65,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x88,0x7d]
+0x66,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x88,0x7d]
+0x67,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x88,0x7d]
+0x6a,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x88,0x7d]
+0x6b,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x88,0x7d]
+0x7c,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x88,0x7d]
+0x7e,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x88,0x7d]
+0x7f,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x88,0x7d]
+0x80,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x88,0x7d]
+0xc1,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x88,0x7d]
+0xf0,0x04,0x88,0x7d
+
+# CHECK: v_cmp_gt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x88,0x7d]
+0xf7,0x04,0x88,0x7d
+
+# 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_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_cmp_gt_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x89,0x7d]
+0x01,0xff,0x89,0x7d
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x7f,0x04,0x02,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_cmp_gt_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_gt_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ne_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8a,0x7d]
+0x01,0x05,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8a,0x7d]
+0xff,0x05,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8a,0x7d]
+0x01,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8a,0x7d]
+0x65,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8a,0x7d]
+0x66,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8a,0x7d]
+0x67,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8a,0x7d]
+0x6a,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8a,0x7d]
+0x6b,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8a,0x7d]
+0x7c,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8a,0x7d]
+0x7e,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8a,0x7d]
+0x7f,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8a,0x7d]
+0x80,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8a,0x7d]
+0xc1,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8a,0x7d]
+0xf0,0x04,0x8a,0x7d
+
+# CHECK: v_cmp_ne_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8a,0x7d]
+0xf7,0x04,0x8a,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_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_cmp_ne_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8b,0x7d]
+0x01,0xff,0x8b,0x7d
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x7f,0x04,0x02,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_cmp_ne_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmp_ne_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8c,0x7d]
+0x01,0x05,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8c,0x7d]
+0xff,0x05,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8c,0x7d]
+0x01,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8c,0x7d]
+0x65,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8c,0x7d]
+0x66,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8c,0x7d]
+0x67,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8c,0x7d]
+0x6a,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8c,0x7d]
+0x6b,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8c,0x7d]
+0x7c,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8c,0x7d]
+0x7e,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8c,0x7d]
+0x7f,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8c,0x7d]
+0x80,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8c,0x7d]
+0xc1,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8c,0x7d]
+0xf0,0x04,0x8c,0x7d
+
+# CHECK: v_cmp_ge_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8c,0x7d]
+0xf7,0x04,0x8c,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_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_cmp_ge_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8d,0x7d]
+0x01,0xff,0x8d,0x7d
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmp_ge_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xff,0x03,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_cmp_ge_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_t_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8e,0x7d]
+0x01,0x05,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8e,0x7d]
+0xff,0x05,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8e,0x7d]
+0x01,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8e,0x7d]
+0x65,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8e,0x7d]
+0x66,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8e,0x7d]
+0x67,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8e,0x7d]
+0x6a,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8e,0x7d]
+0x6b,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8e,0x7d]
+0x7c,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8e,0x7d]
+0x7e,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8e,0x7d]
+0x7f,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8e,0x7d]
+0x80,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8e,0x7d]
+0xc1,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8e,0x7d]
+0xf0,0x04,0x8e,0x7d
+
+# CHECK: v_cmp_t_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8e,0x7d]
+0xf7,0x04,0x8e,0x7d
+
+# 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_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_cmp_t_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x8f,0x7d]
+0x01,0xff,0x8f,0x7d
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_t_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xff,0x03,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_cmp_t_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x90,0x7d]
+0x01,0x05,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x90,0x7d]
+0xff,0x05,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x90,0x7d]
+0x01,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x90,0x7d]
+0x65,0x04,0x90,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_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x90,0x7d]
+0x67,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x90,0x7d]
+0x6a,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x90,0x7d]
+0x6b,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x90,0x7d]
+0x7c,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x90,0x7d]
+0x7e,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x90,0x7d]
+0x7f,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x90,0x7d]
+0x80,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x90,0x7d]
+0xc1,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x90,0x7d]
+0xf0,0x04,0x90,0x7d
+
+# CHECK: v_cmp_f_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x90,0x7d]
+0xf7,0x04,0x90,0x7d
+
+# 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_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_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x91,0x7d]
+0x01,0xff,0x91,0x7d
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x7f,0x04,0x02,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_f_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xff,0x03,0x00
+
+# 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_f_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x92,0x7d]
+0x01,0x05,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x92,0x7d]
+0xff,0x05,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x92,0x7d]
+0x01,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x92,0x7d]
+0x65,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x92,0x7d]
+0x66,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x92,0x7d]
+0x67,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x92,0x7d]
+0x6a,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x92,0x7d]
+0x6b,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x92,0x7d]
+0x7c,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x92,0x7d]
+0x7e,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x92,0x7d]
+0x7f,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x92,0x7d]
+0x80,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x92,0x7d]
+0xc1,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x92,0x7d]
+0xf0,0x04,0x92,0x7d
+
+# CHECK: v_cmp_lt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x92,0x7d]
+0xf7,0x04,0x92,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_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_lt_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x93,0x7d]
+0x01,0xff,0x93,0x7d
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xc9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x7f,0x04,0x02,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_lt_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xff,0x03,0x00
+
+# 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_lt_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_eq_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x94,0x7d]
+0x01,0x05,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x94,0x7d]
+0xff,0x05,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x94,0x7d]
+0x01,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x94,0x7d]
+0x65,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x94,0x7d]
+0x66,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x94,0x7d]
+0x67,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x94,0x7d]
+0x6a,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x94,0x7d]
+0x6b,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x94,0x7d]
+0x7c,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x94,0x7d]
+0x7e,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x94,0x7d]
+0x7f,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x94,0x7d]
+0x80,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x94,0x7d]
+0xc1,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x94,0x7d]
+0xf0,0x04,0x94,0x7d
+
+# CHECK: v_cmp_eq_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x94,0x7d]
+0xf7,0x04,0x94,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_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_eq_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x95,0x7d]
+0x01,0xff,0x95,0x7d
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xca,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_eq_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xff,0x03,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_eq_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_le_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x96,0x7d]
+0x01,0x05,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x96,0x7d]
+0xff,0x05,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x96,0x7d]
+0x01,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x96,0x7d]
+0x65,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x96,0x7d]
+0x66,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x96,0x7d]
+0x67,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x96,0x7d]
+0x6a,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x96,0x7d]
+0x6b,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x96,0x7d]
+0x7c,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x96,0x7d]
+0x7e,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x96,0x7d]
+0x7f,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x96,0x7d]
+0x80,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x96,0x7d]
+0xc1,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x96,0x7d]
+0xf0,0x04,0x96,0x7d
+
+# CHECK: v_cmp_le_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x96,0x7d]
+0xf7,0x04,0x96,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_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_le_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x97,0x7d]
+0x01,0xff,0x97,0x7d
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xcb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_le_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xff,0x03,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_le_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_gt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x98,0x7d]
+0x01,0x05,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x98,0x7d]
+0xff,0x05,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x98,0x7d]
+0x01,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x98,0x7d]
+0x65,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x98,0x7d]
+0x66,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x98,0x7d]
+0x67,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x98,0x7d]
+0x6a,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x98,0x7d]
+0x6b,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x98,0x7d]
+0x7c,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x98,0x7d]
+0x7e,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x98,0x7d]
+0x7f,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x98,0x7d]
+0x80,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x98,0x7d]
+0xc1,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x98,0x7d]
+0xf0,0x04,0x98,0x7d
+
+# CHECK: v_cmp_gt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x98,0x7d]
+0xf7,0x04,0x98,0x7d
+
+# 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_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_gt_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x99,0x7d]
+0x01,0xff,0x99,0x7d
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xcc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_gt_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xff,0x03,0x00
+
+# 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_gt_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ne_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9a,0x7d]
+0x01,0x05,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9a,0x7d]
+0xff,0x05,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9a,0x7d]
+0x01,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9a,0x7d]
+0x65,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9a,0x7d]
+0x66,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9a,0x7d]
+0x67,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9a,0x7d]
+0x6a,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9a,0x7d]
+0x6b,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9a,0x7d]
+0x7c,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9a,0x7d]
+0x7e,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9a,0x7d]
+0x7f,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9a,0x7d]
+0x80,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9a,0x7d]
+0xc1,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9a,0x7d]
+0xf0,0x04,0x9a,0x7d
+
+# CHECK: v_cmp_ne_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9a,0x7d]
+0xf7,0x04,0x9a,0x7d
+
+# 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_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_ne_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9b,0x7d]
+0x01,0xff,0x9b,0x7d
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xcd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x7f,0x04,0x02,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_ne_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xff,0x03,0x00
+
+# 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_ne_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_ge_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9c,0x7d]
+0x01,0x05,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9c,0x7d]
+0xff,0x05,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9c,0x7d]
+0x01,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9c,0x7d]
+0x65,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9c,0x7d]
+0x66,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9c,0x7d]
+0x67,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9c,0x7d]
+0x6a,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9c,0x7d]
+0x6b,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9c,0x7d]
+0x7c,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9c,0x7d]
+0x7e,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9c,0x7d]
+0x7f,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9c,0x7d]
+0x80,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9c,0x7d]
+0xc1,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9c,0x7d]
+0xf0,0x04,0x9c,0x7d
+
+# CHECK: v_cmp_ge_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9c,0x7d]
+0xf7,0x04,0x9c,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_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_ge_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9d,0x7d]
+0x01,0xff,0x9d,0x7d
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xce,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x7f,0x04,0x02,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_ge_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xff,0x03,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_ge_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_t_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9e,0x7d]
+0x01,0x05,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9e,0x7d]
+0xff,0x05,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9e,0x7d]
+0x01,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9e,0x7d]
+0x65,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9e,0x7d]
+0x66,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9e,0x7d]
+0x67,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9e,0x7d]
+0x6a,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9e,0x7d]
+0x6b,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9e,0x7d]
+0x7c,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9e,0x7d]
+0x7e,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9e,0x7d]
+0x7f,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9e,0x7d]
+0x80,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9e,0x7d]
+0xc1,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9e,0x7d]
+0xf0,0x04,0x9e,0x7d
+
+# CHECK: v_cmp_t_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9e,0x7d]
+0xf7,0x04,0x9e,0x7d
+
+# 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_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_t_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0x9f,0x7d]
+0x01,0xff,0x9f,0x7d
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xcf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_t_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xff,0x03,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_t_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa0,0x7d]
+0x01,0x05,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa0,0x7d]
+0xff,0x05,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa0,0x7d]
+0x01,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa0,0x7d]
+0x65,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa0,0x7d]
+0x66,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa0,0x7d]
+0x67,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa0,0x7d]
+0x6a,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa0,0x7d]
+0x6b,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa0,0x7d]
+0x7c,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa0,0x7d]
+0x7e,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa0,0x7d]
+0x7f,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa0,0x7d]
+0x80,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa0,0x7d]
+0xc1,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa0,0x7d]
+0xf0,0x04,0xa0,0x7d
+
+# CHECK: v_cmpx_f_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa0,0x7d]
+0xf7,0x04,0xa0,0x7d
+
+# 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_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_cmpx_f_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa1,0x7d]
+0x01,0xff,0xa1,0x7d
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_f_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_f_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa2,0x7d]
+0x01,0x05,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa2,0x7d]
+0xff,0x05,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa2,0x7d]
+0x01,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa2,0x7d]
+0x65,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa2,0x7d]
+0x66,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa2,0x7d]
+0x67,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa2,0x7d]
+0x6a,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa2,0x7d]
+0x6b,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa2,0x7d]
+0x7c,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa2,0x7d]
+0x7e,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa2,0x7d]
+0x7f,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa2,0x7d]
+0x80,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa2,0x7d]
+0xc1,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa2,0x7d]
+0xf0,0x04,0xa2,0x7d
+
+# CHECK: v_cmpx_lt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa2,0x7d]
+0xf7,0x04,0xa2,0x7d
+
+# 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_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_cmpx_lt_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa3,0x7d]
+0x01,0xff,0xa3,0x7d
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x7f,0x04,0x02,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_cmpx_lt_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_lt_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa4,0x7d]
+0x01,0x05,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa4,0x7d]
+0xff,0x05,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa4,0x7d]
+0x01,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa4,0x7d]
+0x65,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa4,0x7d]
+0x66,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa4,0x7d]
+0x67,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa4,0x7d]
+0x6a,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa4,0x7d]
+0x6b,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa4,0x7d]
+0x7c,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa4,0x7d]
+0x7e,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa4,0x7d]
+0x7f,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa4,0x7d]
+0x80,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa4,0x7d]
+0xc1,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa4,0x7d]
+0xf0,0x04,0xa4,0x7d
+
+# CHECK: v_cmpx_eq_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa4,0x7d]
+0xf7,0x04,0xa4,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_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_cmpx_eq_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa5,0x7d]
+0x01,0xff,0xa5,0x7d
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x7f,0x04,0x02,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_cmpx_eq_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xff,0x03,0x00
+
+# 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_cmpx_eq_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa6,0x7d]
+0x01,0x05,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa6,0x7d]
+0xff,0x05,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa6,0x7d]
+0x01,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa6,0x7d]
+0x65,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa6,0x7d]
+0x66,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa6,0x7d]
+0x67,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa6,0x7d]
+0x6a,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa6,0x7d]
+0x6b,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa6,0x7d]
+0x7c,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa6,0x7d]
+0x7e,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa6,0x7d]
+0x7f,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa6,0x7d]
+0x80,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa6,0x7d]
+0xc1,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa6,0x7d]
+0xf0,0x04,0xa6,0x7d
+
+# CHECK: v_cmpx_le_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa6,0x7d]
+0xf7,0x04,0xa6,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_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_cmpx_le_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa7,0x7d]
+0x01,0xff,0xa7,0x7d
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_cmpx_le_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xff,0x03,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_cmpx_le_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa8,0x7d]
+0x01,0x05,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa8,0x7d]
+0xff,0x05,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa8,0x7d]
+0x01,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa8,0x7d]
+0x65,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa8,0x7d]
+0x66,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa8,0x7d]
+0x67,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa8,0x7d]
+0x6a,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa8,0x7d]
+0x6b,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa8,0x7d]
+0x7c,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa8,0x7d]
+0x7e,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa8,0x7d]
+0x7f,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa8,0x7d]
+0x80,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa8,0x7d]
+0xc1,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa8,0x7d]
+0xf0,0x04,0xa8,0x7d
+
+# CHECK: v_cmpx_gt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa8,0x7d]
+0xf7,0x04,0xa8,0x7d
+
+# 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_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_cmpx_gt_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xa9,0x7d]
+0x01,0xff,0xa9,0x7d
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_gt_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xff,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_gt_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xaa,0x7d]
+0x01,0x05,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xaa,0x7d]
+0xff,0x05,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xaa,0x7d]
+0x01,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xaa,0x7d]
+0x65,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xaa,0x7d]
+0x66,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xaa,0x7d]
+0x67,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xaa,0x7d]
+0x6a,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xaa,0x7d]
+0x6b,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xaa,0x7d]
+0x7c,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xaa,0x7d]
+0x7e,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xaa,0x7d]
+0x7f,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xaa,0x7d]
+0x80,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xaa,0x7d]
+0xc1,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xaa,0x7d]
+0xf0,0x04,0xaa,0x7d
+
+# CHECK: v_cmpx_ne_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xaa,0x7d]
+0xf7,0x04,0xaa,0x7d
+
+# 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_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_ne_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xab,0x7d]
+0x01,0xff,0xab,0x7d
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x7f,0x04,0x02,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_ne_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xff,0x03,0x00
+
+# 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_ne_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xac,0x7d]
+0x01,0x05,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xac,0x7d]
+0xff,0x05,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xac,0x7d]
+0x01,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xac,0x7d]
+0x65,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xac,0x7d]
+0x66,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xac,0x7d]
+0x67,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xac,0x7d]
+0x6a,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xac,0x7d]
+0x6b,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xac,0x7d]
+0x7c,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xac,0x7d]
+0x7e,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xac,0x7d]
+0x7f,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xac,0x7d]
+0x80,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xac,0x7d]
+0xc1,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xac,0x7d]
+0xf0,0x04,0xac,0x7d
+
+# CHECK: v_cmpx_ge_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xac,0x7d]
+0xf7,0x04,0xac,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_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_ge_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xad,0x7d]
+0x01,0xff,0xad,0x7d
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x7f,0x04,0x02,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_ge_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xff,0x03,0x00
+
+# 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_ge_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_t_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xae,0x7d]
+0x01,0x05,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xae,0x7d]
+0xff,0x05,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xae,0x7d]
+0x01,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xae,0x7d]
+0x65,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xae,0x7d]
+0x66,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xae,0x7d]
+0x67,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xae,0x7d]
+0x6a,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xae,0x7d]
+0x6b,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xae,0x7d]
+0x7c,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xae,0x7d]
+0x7e,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xae,0x7d]
+0x7f,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xae,0x7d]
+0x80,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xae,0x7d]
+0xc1,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xae,0x7d]
+0xf0,0x04,0xae,0x7d
+
+# CHECK: v_cmpx_t_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xae,0x7d]
+0xf7,0x04,0xae,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_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_t_i32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xaf,0x7d]
+0x01,0xff,0xaf,0x7d
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_t_i32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xff,0x03,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_t_i32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb0,0x7d]
+0x01,0x05,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb0,0x7d]
+0xff,0x05,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb0,0x7d]
+0x01,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb0,0x7d]
+0x65,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb0,0x7d]
+0x66,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb0,0x7d]
+0x67,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb0,0x7d]
+0x6a,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb0,0x7d]
+0x6b,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb0,0x7d]
+0x7c,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb0,0x7d]
+0x7e,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb0,0x7d]
+0x7f,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb0,0x7d]
+0x80,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb0,0x7d]
+0xc1,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb0,0x7d]
+0xf0,0x04,0xb0,0x7d
+
+# CHECK: v_cmpx_f_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb0,0x7d]
+0xf7,0x04,0xb0,0x7d
+
+# 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_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_f_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb1,0x7d]
+0x01,0xff,0xb1,0x7d
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_f_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xff,0x03,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_f_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb2,0x7d]
+0x01,0x05,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb2,0x7d]
+0xff,0x05,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb2,0x7d]
+0x01,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb2,0x7d]
+0x65,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb2,0x7d]
+0x66,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb2,0x7d]
+0x67,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb2,0x7d]
+0x6a,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb2,0x7d]
+0x6b,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb2,0x7d]
+0x7c,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb2,0x7d]
+0x7e,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb2,0x7d]
+0x7f,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb2,0x7d]
+0x80,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb2,0x7d]
+0xc1,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb2,0x7d]
+0xf0,0x04,0xb2,0x7d
+
+# CHECK: v_cmpx_lt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb2,0x7d]
+0xf7,0x04,0xb2,0x7d
+
+# 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_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_lt_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb3,0x7d]
+0x01,0xff,0xb3,0x7d
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xd9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x7f,0x04,0x02,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_lt_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xff,0x03,0x00
+
+# 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_lt_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb4,0x7d]
+0x01,0x05,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb4,0x7d]
+0xff,0x05,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb4,0x7d]
+0x01,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb4,0x7d]
+0x65,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb4,0x7d]
+0x66,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb4,0x7d]
+0x67,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb4,0x7d]
+0x6a,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb4,0x7d]
+0x6b,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb4,0x7d]
+0x7c,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb4,0x7d]
+0x7e,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb4,0x7d]
+0x7f,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb4,0x7d]
+0x80,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb4,0x7d]
+0xc1,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb4,0x7d]
+0xf0,0x04,0xb4,0x7d
+
+# CHECK: v_cmpx_eq_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb4,0x7d]
+0xf7,0x04,0xb4,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_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_eq_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb5,0x7d]
+0x01,0xff,0xb5,0x7d
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xda,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xda,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x7f,0x04,0x02,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_eq_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xff,0x03,0x00
+
+# 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_eq_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_le_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb6,0x7d]
+0x01,0x05,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb6,0x7d]
+0xff,0x05,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb6,0x7d]
+0x01,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb6,0x7d]
+0x65,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb6,0x7d]
+0x66,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb6,0x7d]
+0x67,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb6,0x7d]
+0x6a,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb6,0x7d]
+0x6b,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb6,0x7d]
+0x7c,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb6,0x7d]
+0x7e,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb6,0x7d]
+0x7f,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb6,0x7d]
+0x80,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb6,0x7d]
+0xc1,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb6,0x7d]
+0xf0,0x04,0xb6,0x7d
+
+# CHECK: v_cmpx_le_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb6,0x7d]
+0xf7,0x04,0xb6,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_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_le_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb7,0x7d]
+0x01,0xff,0xb7,0x7d
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xdb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_le_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xff,0x03,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_le_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb8,0x7d]
+0x01,0x05,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb8,0x7d]
+0xff,0x05,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb8,0x7d]
+0x01,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb8,0x7d]
+0x65,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb8,0x7d]
+0x66,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb8,0x7d]
+0x67,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb8,0x7d]
+0x6a,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb8,0x7d]
+0x6b,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb8,0x7d]
+0x7c,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb8,0x7d]
+0x7e,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb8,0x7d]
+0x7f,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb8,0x7d]
+0x80,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb8,0x7d]
+0xc1,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb8,0x7d]
+0xf0,0x04,0xb8,0x7d
+
+# CHECK: v_cmpx_gt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb8,0x7d]
+0xf7,0x04,0xb8,0x7d
+
+# 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_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_gt_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xb9,0x7d]
+0x01,0xff,0xb9,0x7d
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xdc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_gt_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xff,0x03,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_gt_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xba,0x7d]
+0x01,0x05,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xba,0x7d]
+0xff,0x05,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xba,0x7d]
+0x01,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xba,0x7d]
+0x65,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xba,0x7d]
+0x66,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xba,0x7d]
+0x67,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xba,0x7d]
+0x6a,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xba,0x7d]
+0x6b,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xba,0x7d]
+0x7c,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xba,0x7d]
+0x7e,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xba,0x7d]
+0x7f,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xba,0x7d]
+0x80,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xba,0x7d]
+0xc1,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xba,0x7d]
+0xf0,0x04,0xba,0x7d
+
+# CHECK: v_cmpx_ne_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xba,0x7d]
+0xf7,0x04,0xba,0x7d
+
+# 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_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_ne_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbb,0x7d]
+0x01,0xff,0xbb,0x7d
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xdd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x7f,0x04,0x02,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_ne_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xff,0x03,0x00
+
+# 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_ne_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbc,0x7d]
+0x01,0x05,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbc,0x7d]
+0xff,0x05,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbc,0x7d]
+0x01,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xbc,0x7d]
+0x65,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xbc,0x7d]
+0x66,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xbc,0x7d]
+0x67,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xbc,0x7d]
+0x6a,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xbc,0x7d]
+0x6b,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xbc,0x7d]
+0x7c,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xbc,0x7d]
+0x7e,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xbc,0x7d]
+0x7f,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xbc,0x7d]
+0x80,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xbc,0x7d]
+0xc1,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xbc,0x7d]
+0xf0,0x04,0xbc,0x7d
+
+# CHECK: v_cmpx_ge_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbc,0x7d]
+0xf7,0x04,0xbc,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_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_ge_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbd,0x7d]
+0x01,0xff,0xbd,0x7d
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xde,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xde,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x7f,0x04,0x02,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_ge_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xff,0x03,0x00
+
+# 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_ge_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_t_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbe,0x7d]
+0x01,0x05,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbe,0x7d]
+0xff,0x05,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbe,0x7d]
+0x01,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xbe,0x7d]
+0x65,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xbe,0x7d]
+0x66,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xbe,0x7d]
+0x67,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xbe,0x7d]
+0x6a,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xbe,0x7d]
+0x6b,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xbe,0x7d]
+0x7c,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xbe,0x7d]
+0x7e,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xbe,0x7d]
+0x7f,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xbe,0x7d]
+0x80,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xbe,0x7d]
+0xc1,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xbe,0x7d]
+0xf0,0x04,0xbe,0x7d
+
+# CHECK: v_cmpx_t_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbe,0x7d]
+0xf7,0x04,0xbe,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_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_t_u32_e32 vcc, v1, v255 ; encoding: [0x01,0xff,0xbf,0x7d]
+0x01,0xff,0xbf,0x7d
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[12:13], v1, v2 ; encoding: [0x0c,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[100:101], v1, v2 ; encoding: [0x64,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 flat_scratch, v1, v2 ; encoding: [0x66,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 vcc, v1, v2 ; encoding: [0x6a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 exec, v1, v2 ; encoding: [0x7e,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xdf,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v255, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xff,0x05,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0xff,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], s1, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], s101, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x65,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x65,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], flat_scratch_lo, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], flat_scratch_hi, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x67,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x67,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], vcc_lo, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], vcc_hi, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x6b,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x6b,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], m0, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x7c,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x7c,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], exec_lo, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], exec_hi, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x7f,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x7f,0x04,0x02,0x00
+
+# 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_t_u32_e64 s[10:11], -1, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0.5, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], -4.0, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, v255 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xff,0x03,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xff,0x03,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_t_u32_e64 s[10:11], v1, s101 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xcb,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xcb,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, flat_scratch_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, flat_scratch_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xcf,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xcf,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, vcc_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, vcc_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xd7,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xd7,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, m0 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xf9,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xf9,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, exec_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, exec_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xff,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xff,0x00,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, 0 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, -1 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, 0.5 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, -4.0 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_f_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc0,0x7d]
+0x01,0x05,0xc0,0x7d
+
+# CHECK: v_cmp_f_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc0,0x7d]
+0xfe,0x05,0xc0,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_cmp_f_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc0,0x7d]
+0x04,0x04,0xc0,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_cmp_f_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc0,0x7d]
+0x66,0x04,0xc0,0x7d
+
+# CHECK: v_cmp_f_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc0,0x7d]
+0x6a,0x04,0xc0,0x7d
+
+# CHECK: v_cmp_f_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc0,0x7d]
+0x7e,0x04,0xc0,0x7d
+
+# CHECK: v_cmp_f_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc0,0x7d]
+0x80,0x04,0xc0,0x7d
+
+# CHECK: v_cmp_f_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc0,0x7d]
+0xc1,0x04,0xc0,0x7d
+
+# CHECK: v_cmp_f_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc0,0x7d]
+0xf0,0x04,0xc0,0x7d
+
+# CHECK: v_cmp_f_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc0,0x7d]
+0xf7,0x04,0xc0,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_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_cmp_f_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc1,0x7d]
+0x01,0xfd,0xc1,0x7d
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x02,0x04,0x02,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_cmp_f_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x03,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_cmp_f_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmp_lt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc2,0x7d]
+0x01,0x05,0xc2,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_cmp_lt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc2,0x7d]
+0x02,0x04,0xc2,0x7d
+
+# CHECK: v_cmp_lt_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc2,0x7d]
+0x04,0x04,0xc2,0x7d
+
+# CHECK: v_cmp_lt_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc2,0x7d]
+0x64,0x04,0xc2,0x7d
+
+# CHECK: v_cmp_lt_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc2,0x7d]
+0x66,0x04,0xc2,0x7d
+
+# CHECK: v_cmp_lt_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc2,0x7d]
+0x6a,0x04,0xc2,0x7d
+
+# CHECK: v_cmp_lt_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc2,0x7d]
+0x7e,0x04,0xc2,0x7d
+
+# CHECK: v_cmp_lt_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc2,0x7d]
+0x80,0x04,0xc2,0x7d
+
+# CHECK: v_cmp_lt_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc2,0x7d]
+0xc1,0x04,0xc2,0x7d
+
+# CHECK: v_cmp_lt_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc2,0x7d]
+0xf0,0x04,0xc2,0x7d
+
+# CHECK: v_cmp_lt_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc2,0x7d]
+0xf7,0x04,0xc2,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_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_cmp_lt_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc3,0x7d]
+0x01,0xfd,0xc3,0x7d
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x02,0x04,0x02,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_cmp_lt_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x03,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_cmp_lt_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0xef,0x01,0x00
+
+# 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_eq_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc4,0x7d]
+0xfe,0x05,0xc4,0x7d
+
+# CHECK: v_cmp_eq_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc4,0x7d]
+0x02,0x04,0xc4,0x7d
+
+# CHECK: v_cmp_eq_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc4,0x7d]
+0x04,0x04,0xc4,0x7d
+
+# CHECK: v_cmp_eq_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc4,0x7d]
+0x64,0x04,0xc4,0x7d
+
+# CHECK: v_cmp_eq_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc4,0x7d]
+0x66,0x04,0xc4,0x7d
+
+# CHECK: v_cmp_eq_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc4,0x7d]
+0x6a,0x04,0xc4,0x7d
+
+# CHECK: v_cmp_eq_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc4,0x7d]
+0x7e,0x04,0xc4,0x7d
+
+# CHECK: v_cmp_eq_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc4,0x7d]
+0x80,0x04,0xc4,0x7d
+
+# CHECK: v_cmp_eq_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc4,0x7d]
+0xc1,0x04,0xc4,0x7d
+
+# CHECK: v_cmp_eq_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc4,0x7d]
+0xf0,0x04,0xc4,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_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_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_eq_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc5,0x7d]
+0x01,0xfd,0xc5,0x7d
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x02,0x04,0x02,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_eq_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x03,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_eq_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0xef,0x01,0x00
+
+# 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_le_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc6,0x7d]
+0xfe,0x05,0xc6,0x7d
+
+# 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_le_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc6,0x7d]
+0x04,0x04,0xc6,0x7d
+
+# 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_le_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc6,0x7d]
+0x66,0x04,0xc6,0x7d
+
+# CHECK: v_cmp_le_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc6,0x7d]
+0x6a,0x04,0xc6,0x7d
+
+# CHECK: v_cmp_le_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc6,0x7d]
+0x7e,0x04,0xc6,0x7d
+
+# CHECK: v_cmp_le_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc6,0x7d]
+0x80,0x04,0xc6,0x7d
+
+# CHECK: v_cmp_le_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc6,0x7d]
+0xc1,0x04,0xc6,0x7d
+
+# CHECK: v_cmp_le_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc6,0x7d]
+0xf0,0x04,0xc6,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_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_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_le_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc7,0x7d]
+0x01,0xfd,0xc7,0x7d
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x02,0x04,0x02,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_le_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x03,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_le_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0xef,0x01,0x00
+
+# 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_gt_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc8,0x7d]
+0xfe,0x05,0xc8,0x7d
+
+# 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_gt_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc8,0x7d]
+0x04,0x04,0xc8,0x7d
+
+# 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_gt_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc8,0x7d]
+0x66,0x04,0xc8,0x7d
+
+# CHECK: v_cmp_gt_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc8,0x7d]
+0x6a,0x04,0xc8,0x7d
+
+# CHECK: v_cmp_gt_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc8,0x7d]
+0x7e,0x04,0xc8,0x7d
+
+# CHECK: v_cmp_gt_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc8,0x7d]
+0x80,0x04,0xc8,0x7d
+
+# CHECK: v_cmp_gt_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc8,0x7d]
+0xc1,0x04,0xc8,0x7d
+
+# CHECK: v_cmp_gt_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc8,0x7d]
+0xf0,0x04,0xc8,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_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_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_gt_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xc9,0x7d]
+0x01,0xfd,0xc9,0x7d
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x02,0x04,0x02,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_gt_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x03,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_gt_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ne_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xca,0x7d]
+0xfe,0x05,0xca,0x7d
+
+# 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_ne_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xca,0x7d]
+0x04,0x04,0xca,0x7d
+
+# 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_ne_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xca,0x7d]
+0x66,0x04,0xca,0x7d
+
+# CHECK: v_cmp_ne_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xca,0x7d]
+0x6a,0x04,0xca,0x7d
+
+# CHECK: v_cmp_ne_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xca,0x7d]
+0x7e,0x04,0xca,0x7d
+
+# CHECK: v_cmp_ne_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xca,0x7d]
+0x80,0x04,0xca,0x7d
+
+# CHECK: v_cmp_ne_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xca,0x7d]
+0xc1,0x04,0xca,0x7d
+
+# CHECK: v_cmp_ne_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xca,0x7d]
+0xf0,0x04,0xca,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_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_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_ne_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcb,0x7d]
+0x01,0xfd,0xcb,0x7d
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x02,0x04,0x02,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_ne_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x03,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_ne_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ge_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xcc,0x7d]
+0xfe,0x05,0xcc,0x7d
+
+# 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_ge_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xcc,0x7d]
+0x04,0x04,0xcc,0x7d
+
+# 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_ge_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xcc,0x7d]
+0x66,0x04,0xcc,0x7d
+
+# CHECK: v_cmp_ge_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xcc,0x7d]
+0x6a,0x04,0xcc,0x7d
+
+# CHECK: v_cmp_ge_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xcc,0x7d]
+0x7e,0x04,0xcc,0x7d
+
+# CHECK: v_cmp_ge_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xcc,0x7d]
+0x80,0x04,0xcc,0x7d
+
+# CHECK: v_cmp_ge_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xcc,0x7d]
+0xc1,0x04,0xcc,0x7d
+
+# CHECK: v_cmp_ge_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xcc,0x7d]
+0xf0,0x04,0xcc,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_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_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_ge_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcd,0x7d]
+0x01,0xfd,0xcd,0x7d
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x02,0x04,0x02,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_ge_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x03,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_ge_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0xef,0x01,0x00
+
+# 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_t_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xce,0x7d]
+0xfe,0x05,0xce,0x7d
+
+# 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_t_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xce,0x7d]
+0x04,0x04,0xce,0x7d
+
+# 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_t_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xce,0x7d]
+0x66,0x04,0xce,0x7d
+
+# CHECK: v_cmp_t_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xce,0x7d]
+0x6a,0x04,0xce,0x7d
+
+# CHECK: v_cmp_t_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xce,0x7d]
+0x7e,0x04,0xce,0x7d
+
+# CHECK: v_cmp_t_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xce,0x7d]
+0x80,0x04,0xce,0x7d
+
+# CHECK: v_cmp_t_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xce,0x7d]
+0xc1,0x04,0xce,0x7d
+
+# CHECK: v_cmp_t_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xce,0x7d]
+0xf0,0x04,0xce,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_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_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_t_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xcf,0x7d]
+0x01,0xfd,0xcf,0x7d
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x02,0x04,0x02,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_t_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x03,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_t_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0xef,0x01,0x00
+
+# 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_f_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd0,0x7d]
+0xfe,0x05,0xd0,0x7d
+
+# 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_f_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd0,0x7d]
+0x04,0x04,0xd0,0x7d
+
+# 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_f_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd0,0x7d]
+0x66,0x04,0xd0,0x7d
+
+# CHECK: v_cmp_f_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd0,0x7d]
+0x6a,0x04,0xd0,0x7d
+
+# CHECK: v_cmp_f_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd0,0x7d]
+0x7e,0x04,0xd0,0x7d
+
+# CHECK: v_cmp_f_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd0,0x7d]
+0x80,0x04,0xd0,0x7d
+
+# CHECK: v_cmp_f_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd0,0x7d]
+0xc1,0x04,0xd0,0x7d
+
+# CHECK: v_cmp_f_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd0,0x7d]
+0xf0,0x04,0xd0,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_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_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_f_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd1,0x7d]
+0x01,0xfd,0xd1,0x7d
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x02,0x04,0x02,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_f_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x03,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_f_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0xef,0x01,0x00
+
+# 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_lt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd2,0x7d]
+0xfe,0x05,0xd2,0x7d
+
+# 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_lt_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd2,0x7d]
+0x04,0x04,0xd2,0x7d
+
+# 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_lt_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd2,0x7d]
+0x66,0x04,0xd2,0x7d
+
+# CHECK: v_cmp_lt_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd2,0x7d]
+0x6a,0x04,0xd2,0x7d
+
+# CHECK: v_cmp_lt_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd2,0x7d]
+0x7e,0x04,0xd2,0x7d
+
+# CHECK: v_cmp_lt_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd2,0x7d]
+0x80,0x04,0xd2,0x7d
+
+# CHECK: v_cmp_lt_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd2,0x7d]
+0xc1,0x04,0xd2,0x7d
+
+# CHECK: v_cmp_lt_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd2,0x7d]
+0xf0,0x04,0xd2,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_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_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_lt_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd3,0x7d]
+0x01,0xfd,0xd3,0x7d
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xe9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x02,0x04,0x02,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_lt_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x03,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_lt_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0xef,0x01,0x00
+
+# 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_eq_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd4,0x7d]
+0xfe,0x05,0xd4,0x7d
+
+# 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_eq_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd4,0x7d]
+0x04,0x04,0xd4,0x7d
+
+# 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_eq_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd4,0x7d]
+0x66,0x04,0xd4,0x7d
+
+# CHECK: v_cmp_eq_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd4,0x7d]
+0x6a,0x04,0xd4,0x7d
+
+# CHECK: v_cmp_eq_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd4,0x7d]
+0x7e,0x04,0xd4,0x7d
+
+# CHECK: v_cmp_eq_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd4,0x7d]
+0x80,0x04,0xd4,0x7d
+
+# CHECK: v_cmp_eq_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd4,0x7d]
+0xc1,0x04,0xd4,0x7d
+
+# CHECK: v_cmp_eq_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd4,0x7d]
+0xf0,0x04,0xd4,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_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_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_eq_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd5,0x7d]
+0x01,0xfd,0xd5,0x7d
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xea,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x02,0x04,0x02,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_eq_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xfd,0x03,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_eq_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0xef,0x01,0x00
+
+# 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_le_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd6,0x7d]
+0xfe,0x05,0xd6,0x7d
+
+# 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_le_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd6,0x7d]
+0x04,0x04,0xd6,0x7d
+
+# 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_le_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd6,0x7d]
+0x66,0x04,0xd6,0x7d
+
+# CHECK: v_cmp_le_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd6,0x7d]
+0x6a,0x04,0xd6,0x7d
+
+# CHECK: v_cmp_le_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd6,0x7d]
+0x7e,0x04,0xd6,0x7d
+
+# CHECK: v_cmp_le_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd6,0x7d]
+0x80,0x04,0xd6,0x7d
+
+# CHECK: v_cmp_le_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd6,0x7d]
+0xc1,0x04,0xd6,0x7d
+
+# CHECK: v_cmp_le_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd6,0x7d]
+0xf0,0x04,0xd6,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_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_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_le_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd7,0x7d]
+0x01,0xfd,0xd7,0x7d
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xeb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x02,0x04,0x02,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_le_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x03,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_le_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0xef,0x01,0x00
+
+# 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_gt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd8,0x7d]
+0xfe,0x05,0xd8,0x7d
+
+# 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_gt_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd8,0x7d]
+0x04,0x04,0xd8,0x7d
+
+# 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_gt_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd8,0x7d]
+0x66,0x04,0xd8,0x7d
+
+# CHECK: v_cmp_gt_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd8,0x7d]
+0x6a,0x04,0xd8,0x7d
+
+# CHECK: v_cmp_gt_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd8,0x7d]
+0x7e,0x04,0xd8,0x7d
+
+# CHECK: v_cmp_gt_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd8,0x7d]
+0x80,0x04,0xd8,0x7d
+
+# CHECK: v_cmp_gt_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd8,0x7d]
+0xc1,0x04,0xd8,0x7d
+
+# CHECK: v_cmp_gt_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd8,0x7d]
+0xf0,0x04,0xd8,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_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_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_gt_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xd9,0x7d]
+0x01,0xfd,0xd9,0x7d
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xec,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x02,0x04,0x02,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_gt_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xfd,0x03,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_gt_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ne_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xda,0x7d]
+0xfe,0x05,0xda,0x7d
+
+# 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_ne_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xda,0x7d]
+0x04,0x04,0xda,0x7d
+
+# 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_ne_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xda,0x7d]
+0x66,0x04,0xda,0x7d
+
+# CHECK: v_cmp_ne_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xda,0x7d]
+0x6a,0x04,0xda,0x7d
+
+# CHECK: v_cmp_ne_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xda,0x7d]
+0x7e,0x04,0xda,0x7d
+
+# CHECK: v_cmp_ne_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xda,0x7d]
+0x80,0x04,0xda,0x7d
+
+# CHECK: v_cmp_ne_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xda,0x7d]
+0xc1,0x04,0xda,0x7d
+
+# CHECK: v_cmp_ne_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xda,0x7d]
+0xf0,0x04,0xda,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_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_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_ne_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdb,0x7d]
+0x01,0xfd,0xdb,0x7d
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xed,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x02,0x04,0x02,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_ne_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xfd,0x03,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_ne_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ge_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xdc,0x7d]
+0xfe,0x05,0xdc,0x7d
+
+# 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_ge_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xdc,0x7d]
+0x04,0x04,0xdc,0x7d
+
+# 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_ge_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xdc,0x7d]
+0x66,0x04,0xdc,0x7d
+
+# CHECK: v_cmp_ge_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xdc,0x7d]
+0x6a,0x04,0xdc,0x7d
+
+# CHECK: v_cmp_ge_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xdc,0x7d]
+0x7e,0x04,0xdc,0x7d
+
+# CHECK: v_cmp_ge_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xdc,0x7d]
+0x80,0x04,0xdc,0x7d
+
+# CHECK: v_cmp_ge_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xdc,0x7d]
+0xc1,0x04,0xdc,0x7d
+
+# CHECK: v_cmp_ge_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xdc,0x7d]
+0xf0,0x04,0xdc,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_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_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_ge_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdd,0x7d]
+0x01,0xfd,0xdd,0x7d
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xee,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x02,0x04,0x02,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_ge_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xfd,0x03,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_ge_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0xef,0x01,0x00
+
+# 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_t_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xde,0x7d]
+0xfe,0x05,0xde,0x7d
+
+# 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_t_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xde,0x7d]
+0x04,0x04,0xde,0x7d
+
+# 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_t_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xde,0x7d]
+0x66,0x04,0xde,0x7d
+
+# CHECK: v_cmp_t_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xde,0x7d]
+0x6a,0x04,0xde,0x7d
+
+# CHECK: v_cmp_t_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xde,0x7d]
+0x7e,0x04,0xde,0x7d
+
+# CHECK: v_cmp_t_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xde,0x7d]
+0x80,0x04,0xde,0x7d
+
+# CHECK: v_cmp_t_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xde,0x7d]
+0xc1,0x04,0xde,0x7d
+
+# CHECK: v_cmp_t_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xde,0x7d]
+0xf0,0x04,0xde,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_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_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_t_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xdf,0x7d]
+0x01,0xfd,0xdf,0x7d
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xef,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x02,0x04,0x02,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_t_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xfd,0x03,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_t_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_f_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe0,0x7d]
+0x01,0x05,0xe0,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_cmpx_f_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe0,0x7d]
+0x02,0x04,0xe0,0x7d
+
+# CHECK: v_cmpx_f_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe0,0x7d]
+0x04,0x04,0xe0,0x7d
+
+# CHECK: v_cmpx_f_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe0,0x7d]
+0x64,0x04,0xe0,0x7d
+
+# CHECK: v_cmpx_f_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe0,0x7d]
+0x66,0x04,0xe0,0x7d
+
+# CHECK: v_cmpx_f_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe0,0x7d]
+0x6a,0x04,0xe0,0x7d
+
+# CHECK: v_cmpx_f_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe0,0x7d]
+0x7e,0x04,0xe0,0x7d
+
+# CHECK: v_cmpx_f_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe0,0x7d]
+0x80,0x04,0xe0,0x7d
+
+# CHECK: v_cmpx_f_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe0,0x7d]
+0xc1,0x04,0xe0,0x7d
+
+# CHECK: v_cmpx_f_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe0,0x7d]
+0xf0,0x04,0xe0,0x7d
+
+# CHECK: v_cmpx_f_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe0,0x7d]
+0xf7,0x04,0xe0,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_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_cmpx_f_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe1,0x7d]
+0x01,0xfd,0xe1,0x7d
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf0,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x02,0x04,0x02,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_cmpx_f_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x03,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_cmpx_f_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0xef,0x01,0x00
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe2,0x7d]
+0x01,0x05,0xe2,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_cmpx_lt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe2,0x7d]
+0x02,0x04,0xe2,0x7d
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe2,0x7d]
+0x04,0x04,0xe2,0x7d
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe2,0x7d]
+0x64,0x04,0xe2,0x7d
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe2,0x7d]
+0x66,0x04,0xe2,0x7d
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe2,0x7d]
+0x6a,0x04,0xe2,0x7d
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe2,0x7d]
+0x7e,0x04,0xe2,0x7d
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe2,0x7d]
+0x80,0x04,0xe2,0x7d
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe2,0x7d]
+0xc1,0x04,0xe2,0x7d
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe2,0x7d]
+0xf0,0x04,0xe2,0x7d
+
+# CHECK: v_cmpx_lt_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe2,0x7d]
+0xf7,0x04,0xe2,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_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_cmpx_lt_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe3,0x7d]
+0x01,0xfd,0xe3,0x7d
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf1,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x02,0x04,0x02,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_cmpx_lt_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x03,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_cmpx_lt_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0xef,0x01,0x00
+
+# 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_eq_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe4,0x7d]
+0xfe,0x05,0xe4,0x7d
+
+# CHECK: v_cmpx_eq_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe4,0x7d]
+0x02,0x04,0xe4,0x7d
+
+# CHECK: v_cmpx_eq_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe4,0x7d]
+0x04,0x04,0xe4,0x7d
+
+# CHECK: v_cmpx_eq_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe4,0x7d]
+0x64,0x04,0xe4,0x7d
+
+# CHECK: v_cmpx_eq_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe4,0x7d]
+0x66,0x04,0xe4,0x7d
+
+# CHECK: v_cmpx_eq_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe4,0x7d]
+0x6a,0x04,0xe4,0x7d
+
+# CHECK: v_cmpx_eq_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe4,0x7d]
+0x7e,0x04,0xe4,0x7d
+
+# CHECK: v_cmpx_eq_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe4,0x7d]
+0x80,0x04,0xe4,0x7d
+
+# CHECK: v_cmpx_eq_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe4,0x7d]
+0xc1,0x04,0xe4,0x7d
+
+# CHECK: v_cmpx_eq_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe4,0x7d]
+0xf0,0x04,0xe4,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_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_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_eq_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe5,0x7d]
+0x01,0xfd,0xe5,0x7d
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf2,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x02,0x04,0x02,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_eq_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x03,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_eq_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0xef,0x01,0x00
+
+# 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_le_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe6,0x7d]
+0xfe,0x05,0xe6,0x7d
+
+# 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_le_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe6,0x7d]
+0x04,0x04,0xe6,0x7d
+
+# 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_le_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe6,0x7d]
+0x66,0x04,0xe6,0x7d
+
+# CHECK: v_cmpx_le_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe6,0x7d]
+0x6a,0x04,0xe6,0x7d
+
+# CHECK: v_cmpx_le_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe6,0x7d]
+0x7e,0x04,0xe6,0x7d
+
+# CHECK: v_cmpx_le_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe6,0x7d]
+0x80,0x04,0xe6,0x7d
+
+# CHECK: v_cmpx_le_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe6,0x7d]
+0xc1,0x04,0xe6,0x7d
+
+# CHECK: v_cmpx_le_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe6,0x7d]
+0xf0,0x04,0xe6,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_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_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_le_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe7,0x7d]
+0x01,0xfd,0xe7,0x7d
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf3,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x02,0x04,0x02,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_le_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x03,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_le_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0xef,0x01,0x00
+
+# 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_gt_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe8,0x7d]
+0xfe,0x05,0xe8,0x7d
+
+# 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_gt_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe8,0x7d]
+0x04,0x04,0xe8,0x7d
+
+# 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_gt_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe8,0x7d]
+0x66,0x04,0xe8,0x7d
+
+# CHECK: v_cmpx_gt_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe8,0x7d]
+0x6a,0x04,0xe8,0x7d
+
+# CHECK: v_cmpx_gt_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe8,0x7d]
+0x7e,0x04,0xe8,0x7d
+
+# CHECK: v_cmpx_gt_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe8,0x7d]
+0x80,0x04,0xe8,0x7d
+
+# CHECK: v_cmpx_gt_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe8,0x7d]
+0xc1,0x04,0xe8,0x7d
+
+# CHECK: v_cmpx_gt_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe8,0x7d]
+0xf0,0x04,0xe8,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_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_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_gt_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xe9,0x7d]
+0x01,0xfd,0xe9,0x7d
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf4,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x02,0x04,0x02,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_gt_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x03,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_gt_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ne_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xea,0x7d]
+0xfe,0x05,0xea,0x7d
+
+# 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_ne_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xea,0x7d]
+0x04,0x04,0xea,0x7d
+
+# 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_ne_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xea,0x7d]
+0x66,0x04,0xea,0x7d
+
+# CHECK: v_cmpx_ne_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xea,0x7d]
+0x6a,0x04,0xea,0x7d
+
+# CHECK: v_cmpx_ne_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xea,0x7d]
+0x7e,0x04,0xea,0x7d
+
+# CHECK: v_cmpx_ne_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xea,0x7d]
+0x80,0x04,0xea,0x7d
+
+# CHECK: v_cmpx_ne_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xea,0x7d]
+0xc1,0x04,0xea,0x7d
+
+# CHECK: v_cmpx_ne_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xea,0x7d]
+0xf0,0x04,0xea,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_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_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_ne_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xeb,0x7d]
+0x01,0xfd,0xeb,0x7d
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf5,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x02,0x04,0x02,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_ne_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x03,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_ne_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ge_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xec,0x7d]
+0xfe,0x05,0xec,0x7d
+
+# 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_ge_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xec,0x7d]
+0x04,0x04,0xec,0x7d
+
+# 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_ge_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xec,0x7d]
+0x66,0x04,0xec,0x7d
+
+# CHECK: v_cmpx_ge_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xec,0x7d]
+0x6a,0x04,0xec,0x7d
+
+# CHECK: v_cmpx_ge_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xec,0x7d]
+0x7e,0x04,0xec,0x7d
+
+# CHECK: v_cmpx_ge_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xec,0x7d]
+0x80,0x04,0xec,0x7d
+
+# CHECK: v_cmpx_ge_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xec,0x7d]
+0xc1,0x04,0xec,0x7d
+
+# CHECK: v_cmpx_ge_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xec,0x7d]
+0xf0,0x04,0xec,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_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_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_ge_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xed,0x7d]
+0x01,0xfd,0xed,0x7d
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf6,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x02,0x04,0x02,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_ge_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x03,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_ge_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0xef,0x01,0x00
+
+# 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_t_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xee,0x7d]
+0xfe,0x05,0xee,0x7d
+
+# 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_t_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xee,0x7d]
+0x04,0x04,0xee,0x7d
+
+# 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_t_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xee,0x7d]
+0x66,0x04,0xee,0x7d
+
+# CHECK: v_cmpx_t_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xee,0x7d]
+0x6a,0x04,0xee,0x7d
+
+# CHECK: v_cmpx_t_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xee,0x7d]
+0x7e,0x04,0xee,0x7d
+
+# CHECK: v_cmpx_t_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xee,0x7d]
+0x80,0x04,0xee,0x7d
+
+# CHECK: v_cmpx_t_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xee,0x7d]
+0xc1,0x04,0xee,0x7d
+
+# CHECK: v_cmpx_t_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xee,0x7d]
+0xf0,0x04,0xee,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_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_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_t_i64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xef,0x7d]
+0x01,0xfd,0xef,0x7d
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf7,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x02,0x04,0x02,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_t_i64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x03,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_t_i64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0xef,0x01,0x00
+
+# 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_f_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf0,0x7d]
+0xfe,0x05,0xf0,0x7d
+
+# 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_f_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf0,0x7d]
+0x04,0x04,0xf0,0x7d
+
+# 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_f_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf0,0x7d]
+0x66,0x04,0xf0,0x7d
+
+# CHECK: v_cmpx_f_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf0,0x7d]
+0x6a,0x04,0xf0,0x7d
+
+# CHECK: v_cmpx_f_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf0,0x7d]
+0x7e,0x04,0xf0,0x7d
+
+# CHECK: v_cmpx_f_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf0,0x7d]
+0x80,0x04,0xf0,0x7d
+
+# CHECK: v_cmpx_f_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf0,0x7d]
+0xc1,0x04,0xf0,0x7d
+
+# CHECK: v_cmpx_f_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf0,0x7d]
+0xf0,0x04,0xf0,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_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_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_f_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf1,0x7d]
+0x01,0xfd,0xf1,0x7d
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf8,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x02,0x04,0x02,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_f_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x03,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_f_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0xef,0x01,0x00
+
+# 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_lt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf2,0x7d]
+0xfe,0x05,0xf2,0x7d
+
+# 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_lt_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf2,0x7d]
+0x04,0x04,0xf2,0x7d
+
+# 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_lt_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf2,0x7d]
+0x66,0x04,0xf2,0x7d
+
+# CHECK: v_cmpx_lt_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf2,0x7d]
+0x6a,0x04,0xf2,0x7d
+
+# CHECK: v_cmpx_lt_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf2,0x7d]
+0x7e,0x04,0xf2,0x7d
+
+# CHECK: v_cmpx_lt_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf2,0x7d]
+0x80,0x04,0xf2,0x7d
+
+# CHECK: v_cmpx_lt_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf2,0x7d]
+0xc1,0x04,0xf2,0x7d
+
+# CHECK: v_cmpx_lt_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf2,0x7d]
+0xf0,0x04,0xf2,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_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_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_lt_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf3,0x7d]
+0x01,0xfd,0xf3,0x7d
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xf9,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x02,0x04,0x02,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_lt_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x03,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_lt_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0xef,0x01,0x00
+
+# 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_eq_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf4,0x7d]
+0xfe,0x05,0xf4,0x7d
+
+# 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_eq_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf4,0x7d]
+0x04,0x04,0xf4,0x7d
+
+# 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_eq_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf4,0x7d]
+0x66,0x04,0xf4,0x7d
+
+# CHECK: v_cmpx_eq_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf4,0x7d]
+0x6a,0x04,0xf4,0x7d
+
+# CHECK: v_cmpx_eq_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf4,0x7d]
+0x7e,0x04,0xf4,0x7d
+
+# CHECK: v_cmpx_eq_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf4,0x7d]
+0x80,0x04,0xf4,0x7d
+
+# CHECK: v_cmpx_eq_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf4,0x7d]
+0xc1,0x04,0xf4,0x7d
+
+# CHECK: v_cmpx_eq_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf4,0x7d]
+0xf0,0x04,0xf4,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_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_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_eq_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf5,0x7d]
+0x01,0xfd,0xf5,0x7d
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xfa,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x02,0x04,0x02,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_eq_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x03,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_eq_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0xef,0x01,0x00
+
+# 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_le_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf6,0x7d]
+0xfe,0x05,0xf6,0x7d
+
+# 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_le_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf6,0x7d]
+0x04,0x04,0xf6,0x7d
+
+# 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_le_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf6,0x7d]
+0x66,0x04,0xf6,0x7d
+
+# CHECK: v_cmpx_le_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf6,0x7d]
+0x6a,0x04,0xf6,0x7d
+
+# CHECK: v_cmpx_le_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf6,0x7d]
+0x7e,0x04,0xf6,0x7d
+
+# CHECK: v_cmpx_le_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf6,0x7d]
+0x80,0x04,0xf6,0x7d
+
+# CHECK: v_cmpx_le_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf6,0x7d]
+0xc1,0x04,0xf6,0x7d
+
+# CHECK: v_cmpx_le_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf6,0x7d]
+0xf0,0x04,0xf6,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_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_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_le_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf7,0x7d]
+0x01,0xfd,0xf7,0x7d
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xfb,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x02,0x04,0x02,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_le_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x03,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_le_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0xef,0x01,0x00
+
+# 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_gt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf8,0x7d]
+0xfe,0x05,0xf8,0x7d
+
+# 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_gt_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf8,0x7d]
+0x04,0x04,0xf8,0x7d
+
+# 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_gt_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf8,0x7d]
+0x66,0x04,0xf8,0x7d
+
+# CHECK: v_cmpx_gt_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf8,0x7d]
+0x6a,0x04,0xf8,0x7d
+
+# CHECK: v_cmpx_gt_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf8,0x7d]
+0x7e,0x04,0xf8,0x7d
+
+# CHECK: v_cmpx_gt_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf8,0x7d]
+0x80,0x04,0xf8,0x7d
+
+# CHECK: v_cmpx_gt_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf8,0x7d]
+0xc1,0x04,0xf8,0x7d
+
+# CHECK: v_cmpx_gt_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf8,0x7d]
+0xf0,0x04,0xf8,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_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_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_gt_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xf9,0x7d]
+0x01,0xfd,0xf9,0x7d
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xfc,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x02,0x04,0x02,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_gt_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x03,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_gt_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ne_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfa,0x7d]
+0xfe,0x05,0xfa,0x7d
+
+# 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_ne_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfa,0x7d]
+0x04,0x04,0xfa,0x7d
+
+# 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_ne_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfa,0x7d]
+0x66,0x04,0xfa,0x7d
+
+# CHECK: v_cmpx_ne_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfa,0x7d]
+0x6a,0x04,0xfa,0x7d
+
+# CHECK: v_cmpx_ne_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfa,0x7d]
+0x7e,0x04,0xfa,0x7d
+
+# CHECK: v_cmpx_ne_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfa,0x7d]
+0x80,0x04,0xfa,0x7d
+
+# CHECK: v_cmpx_ne_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfa,0x7d]
+0xc1,0x04,0xfa,0x7d
+
+# CHECK: v_cmpx_ne_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfa,0x7d]
+0xf0,0x04,0xfa,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_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_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_ne_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xfb,0x7d]
+0x01,0xfd,0xfb,0x7d
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xfd,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x02,0x04,0x02,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_ne_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x03,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_ne_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0xef,0x01,0x00
+
+# 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_ge_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfc,0x7d]
+0xfe,0x05,0xfc,0x7d
+
+# 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_ge_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfc,0x7d]
+0x04,0x04,0xfc,0x7d
+
+# 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_ge_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfc,0x7d]
+0x66,0x04,0xfc,0x7d
+
+# CHECK: v_cmpx_ge_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfc,0x7d]
+0x6a,0x04,0xfc,0x7d
+
+# CHECK: v_cmpx_ge_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfc,0x7d]
+0x7e,0x04,0xfc,0x7d
+
+# CHECK: v_cmpx_ge_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfc,0x7d]
+0x80,0x04,0xfc,0x7d
+
+# CHECK: v_cmpx_ge_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfc,0x7d]
+0xc1,0x04,0xfc,0x7d
+
+# CHECK: v_cmpx_ge_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfc,0x7d]
+0xf0,0x04,0xfc,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_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_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_ge_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xfd,0x7d]
+0x01,0xfd,0xfd,0x7d
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xfe,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x02,0x04,0x02,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_ge_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x03,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_ge_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0xef,0x01,0x00
+
+# 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_t_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfe,0x7d]
+0xfe,0x05,0xfe,0x7d
+
+# 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_t_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfe,0x7d]
+0x04,0x04,0xfe,0x7d
+
+# 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_t_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfe,0x7d]
+0x66,0x04,0xfe,0x7d
+
+# CHECK: v_cmpx_t_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfe,0x7d]
+0x6a,0x04,0xfe,0x7d
+
+# CHECK: v_cmpx_t_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfe,0x7d]
+0x7e,0x04,0xfe,0x7d
+
+# CHECK: v_cmpx_t_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfe,0x7d]
+0x80,0x04,0xfe,0x7d
+
+# CHECK: v_cmpx_t_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfe,0x7d]
+0xc1,0x04,0xfe,0x7d
+
+# CHECK: v_cmpx_t_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfe,0x7d]
+0xf0,0x04,0xfe,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_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_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_t_u64_e32 vcc, v[1:2], v[254:255] ; encoding: [0x01,0xfd,0xff,0x7d]
+0x01,0xfd,0xff,0x7d
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[12:13], v[1:2], v[2:3] ; encoding: [0x0c,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x0c,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[100:101], v[1:2], v[2:3] ; encoding: [0x64,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x64,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 flat_scratch, v[1:2], v[2:3] ; encoding: [0x66,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x66,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 vcc, v[1:2], v[2:3] ; encoding: [0x6a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x6a,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 exec, v[1:2], v[2:3] ; encoding: [0x7e,0x00,0xff,0xd0,0x01,0x05,0x02,0x00]
+0x7e,0x00,0xff,0xd0,0x01,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[254:255], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0xfe,0x05,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0xfe,0x05,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], s[2:3], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x02,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x02,0x04,0x02,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_t_u64_e64 s[10:11], s[100:101], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x64,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x64,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], flat_scratch, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x66,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x66,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], vcc, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x6a,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x6a,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], exec, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x7e,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x7e,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], 0, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x80,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], -1, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0xc1,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0xc1,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], 0.5, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0xf0,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0xf0,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], -4.0, v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0xf7,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0xf7,0x04,0x02,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], v[254:255] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xfd,0x03,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xfd,0x03,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_t_u64_e64 s[10:11], v[1:2], s[6:7] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0x0d,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0x0d,0x00,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], s[100:101] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xc9,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xc9,0x00,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], flat_scratch ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xcd,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xcd,0x00,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], vcc ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xd5,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xd5,0x00,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], exec ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xfd,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xfd,0x00,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], 0 ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0x01,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0x01,0x01,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], -1 ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0x83,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0x83,0x01,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], 0.5 ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xe1,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xe1,0x01,0x00
+
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], -4.0 ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0xef,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0xef,0x01,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_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_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_mov_b32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_mov_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x02,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_mov_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x02,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_mov_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x02,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_mov_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x02,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mov_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x02,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mov_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x02,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mov_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x02,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mov_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x02,0x0a,0x7e,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_cvt_f32_i32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x0a,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x0a,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x0a,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x0a,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x0a,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x0a,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x0a,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x0a,0x0a,0x7e,0x7f,0x06,0x86,0x06
+
+# 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_cvt_f32_i32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0xc6,0x06,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_cvt_f32_u32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x0c,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x0c,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x0c,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x0c,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x0c,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x0c,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x0c,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x0c,0x0a,0x7e,0x7f,0x06,0x86,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_cvt_f32_u32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_u32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_u32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x0e,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_u32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x0e,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_u32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x0e,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_u32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x0e,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_u32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x0e,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_u32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x0e,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_u32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x0e,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_u32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x0e,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_i32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_i32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x10,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_i32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x10,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_i32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x10,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_i32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x10,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_i32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x10,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_i32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x10,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_i32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x10,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_i32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x10,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x12,0xfe,0x7f,0x01,0x06,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0xff,0x06,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x12,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x12,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x12,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x12,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x12,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x12,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x12,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x12,0x0a,0x7e,0x7f,0x06,0x86,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x00,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x01,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x02,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x03,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x04,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x05,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x0e,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x16,0x06,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x00,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x01,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x02,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x03,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x04,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x05,0x06
+
+# CHECK: v_mov_fed_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x12,0x0a,0x7e,0x01,0x06,0x0e,0x06
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x00
+
+# CHECK: v_mov_fed_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x12,0xfe,0x7f,0x01,0xe4,0x00,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x12,0x0a,0x7e,0xff,0xe4,0x00,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x1b,0x00,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x40,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x41,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x42,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x43,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x30,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x34,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x38,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x3c,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x01,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x0f,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x11,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x1f,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x21,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0x2f,0x01,0x00
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x10
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x30
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0xf0
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x01
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x03
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x0f
+
+# CHECK: v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x08,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,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,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_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_f16_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x14,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x14,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x14,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x14,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x14,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x14,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x14,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x14,0x0a,0x7e,0x7f,0x06,0x86,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_f16_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_f32_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x16,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x16,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x16,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x16,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x16,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x16,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x16,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x16,0x0a,0x7e,0x7f,0x06,0x86,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_f32_f16_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_rpi_i32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x18,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x18,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x18,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x18,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x18,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x18,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x18,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x18,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_flr_i32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x1a,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x1a,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x1a,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x1a,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x1a,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x1a,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x1a,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x1a,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_off_f32_i4_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x1c,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x1c,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x1c,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x1c,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x1c,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x1c,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x1c,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x1c,0x0a,0x7e,0x7f,0x06,0x86,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_off_f32_i4_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_f32_ubyte0_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x22,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x22,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x22,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x22,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x22,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x22,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x22,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x22,0x0a,0x7e,0x7f,0x06,0x86,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_f32_ubyte0_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_f32_ubyte1_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x24,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x24,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x24,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x24,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x24,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x24,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x24,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x24,0x0a,0x7e,0x7f,0x06,0x86,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_f32_ubyte1_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ubyte2_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x26,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x26,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x26,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x26,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x26,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x26,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x26,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x26,0x0a,0x7e,0x7f,0x06,0x86,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_ubyte2_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ubyte3_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x28,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x28,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x28,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x28,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x28,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x28,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x28,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x28,0x0a,0x7e,0x7f,0x06,0x86,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_ubyte3_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_fract_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_fract_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x36,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_fract_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x36,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_fract_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x36,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_fract_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x36,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_fract_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x36,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_fract_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x36,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_fract_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x36,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_fract_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x36,0x0a,0x7e,0x7f,0x06,0x86,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_fract_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_fract_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_fract_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_trunc_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x38,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x38,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x38,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x38,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x38,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x38,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x38,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x38,0x0a,0x7e,0x7f,0x06,0x86,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_trunc_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_trunc_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ceil_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x3a,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x3a,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x3a,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x3a,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x3a,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x3a,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x3a,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x3a,0x0a,0x7e,0x7f,0x06,0x86,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_ceil_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_ceil_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_rndne_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x3c,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x3c,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x3c,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x3c,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x3c,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x3c,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x3c,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x3c,0x0a,0x7e,0x7f,0x06,0x86,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_rndne_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_rndne_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_floor_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_floor_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x3e,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_floor_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x3e,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_floor_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x3e,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_floor_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x3e,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_floor_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x3e,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_floor_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x3e,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_floor_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x3e,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_floor_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x3e,0x0a,0x7e,0x7f,0x06,0x86,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_floor_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_floor_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_floor_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_exp_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_exp_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x40,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_exp_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x40,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_exp_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x40,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_exp_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x40,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_exp_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x40,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_exp_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x40,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_exp_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x40,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_exp_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x40,0x0a,0x7e,0x7f,0x06,0x86,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_exp_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_exp_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_exp_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_log_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_log_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x42,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_log_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x42,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_log_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x42,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_log_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x42,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_log_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x42,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_log_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x42,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_log_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x42,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_log_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x42,0x0a,0x7e,0x7f,0x06,0x86,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_log_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_log_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_log_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_rcp_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x44,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x44,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x44,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x44,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x44,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x44,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x44,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x44,0x0a,0x7e,0x7f,0x06,0x86,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_rcp_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_rcp_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_rcp_iflag_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x46,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x46,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x46,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x46,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x46,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x46,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x46,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x46,0x0a,0x7e,0x7f,0x06,0x86,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_rcp_iflag_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_rsq_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x48,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x48,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x48,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x48,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x48,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x48,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x48,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x48,0x0a,0x7e,0x7f,0x06,0x86,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_rsq_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_rsq_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_sqrt_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x4e,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x4e,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x4e,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x4e,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x4e,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x4e,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x4e,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x4e,0x0a,0x7e,0x7f,0x06,0x86,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_sqrt_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_sqrt_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_sin_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_sin_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x52,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_sin_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x52,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_sin_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x52,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_sin_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x52,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_sin_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x52,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_sin_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x52,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_sin_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x52,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_sin_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x52,0x0a,0x7e,0x7f,0x06,0x86,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_sin_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_sin_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_sin_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_cos_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cos_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x54,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cos_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x54,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cos_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x54,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cos_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x54,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cos_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x54,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cos_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x54,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cos_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x54,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cos_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x54,0x0a,0x7e,0x7f,0x06,0x86,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_cos_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_cos_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_cos_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_not_b32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_not_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x56,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_not_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x56,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_not_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x56,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_not_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x56,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_not_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x56,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_not_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x56,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_not_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x56,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_not_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x56,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_bfrev_b32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_bfrev_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x58,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_bfrev_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x58,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_bfrev_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x58,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_bfrev_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x58,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_bfrev_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x58,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_bfrev_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x58,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_bfrev_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x58,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_bfrev_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x58,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ffbh_u32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_ffbh_u32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x5a,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_ffbh_u32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x5a,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_ffbh_u32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x5a,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_ffbh_u32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x5a,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_ffbh_u32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x5a,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_ffbh_u32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x5a,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_ffbh_u32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x5a,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_ffbh_u32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x5a,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ffbl_b32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_ffbl_b32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x5c,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_ffbl_b32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x5c,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_ffbl_b32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x5c,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_ffbl_b32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x5c,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_ffbl_b32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x5c,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_ffbl_b32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x5c,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_ffbl_b32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x5c,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_ffbl_b32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x5c,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_i32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_ffbh_i32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x5e,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_ffbh_i32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x5e,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_ffbh_i32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x5e,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_ffbh_i32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x5e,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_ffbh_i32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x5e,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_ffbh_i32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x5e,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_ffbh_i32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x5e,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_ffbh_i32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x5e,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_frexp_exp_i32_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x66,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x66,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x66,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x66,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x66,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x66,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x66,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x66,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_frexp_mant_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x68,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x68,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x68,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x68,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x68,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x68,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x68,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x68,0x0a,0x7e,0x7f,0x06,0x86,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_frexp_mant_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0xc6,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_cvt_f16_u16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_u16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x72,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_u16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x72,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_u16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x72,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_u16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x72,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_u16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x72,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_u16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x72,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_u16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x72,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_u16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x72,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_cvt_f16_i16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_i16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x74,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_i16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x74,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_i16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x74,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_i16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x74,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_i16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x74,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_i16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x74,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_i16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x74,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_f16_i16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x74,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_u16_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_u16_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x76,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_u16_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x76,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_u16_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x76,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_u16_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x76,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_u16_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x76,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_u16_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x76,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_u16_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x76,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_u16_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x76,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_i16_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cvt_i16_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x78,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cvt_i16_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x78,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cvt_i16_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x78,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cvt_i16_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x78,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cvt_i16_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x78,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cvt_i16_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x78,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cvt_i16_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x78,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cvt_i16_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x78,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_rcp_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_rcp_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x7a,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_rcp_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x7a,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_rcp_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x7a,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_rcp_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x7a,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_rcp_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x7a,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_rcp_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x7a,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_rcp_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x7a,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_rcp_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x7a,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_sqrt_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x7c,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x7c,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x7c,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x7c,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x7c,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x7c,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x7c,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_sqrt_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x7c,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_rsq_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_rsq_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x7e,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_rsq_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x7e,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_rsq_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x7e,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_rsq_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x7e,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_rsq_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x7e,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_rsq_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x7e,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_rsq_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x7e,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_rsq_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x7e,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_log_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_log_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x80,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_log_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x80,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_log_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x80,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_log_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x80,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_log_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x80,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_log_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x80,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_log_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x80,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_log_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x80,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_exp_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_exp_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x82,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_exp_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x82,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_exp_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x82,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_exp_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x82,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_exp_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x82,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_exp_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x82,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_exp_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x82,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_exp_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x82,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_frexp_mant_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x84,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x84,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x84,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x84,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x84,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x84,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x84,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_frexp_mant_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x84,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_frexp_exp_i16_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x86,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x86,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x86,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x86,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x86,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x86,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x86,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x86,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_floor_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_floor_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x88,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_floor_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x88,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_floor_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x88,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_floor_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x88,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_floor_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x88,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_floor_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x88,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_floor_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x88,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_floor_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x88,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ceil_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_ceil_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x8a,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_ceil_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x8a,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_ceil_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x8a,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_ceil_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x8a,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_ceil_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x8a,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_ceil_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x8a,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_ceil_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x8a,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_ceil_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x8a,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_trunc_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_trunc_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x8c,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_trunc_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x8c,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_trunc_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x8c,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_trunc_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x8c,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_trunc_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x8c,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_trunc_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x8c,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_trunc_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x8c,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_trunc_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x8c,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_rndne_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_rndne_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x8e,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_rndne_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x8e,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_rndne_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x8e,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_rndne_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x8e,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_rndne_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x8e,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_rndne_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x8e,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_rndne_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x8e,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_rndne_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x8e,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_fract_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_fract_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x90,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_fract_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x90,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_fract_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x90,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_fract_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x90,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_fract_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x90,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_fract_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x90,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_fract_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x90,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_fract_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x90,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_sin_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_sin_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x92,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_sin_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x92,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_sin_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x92,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_sin_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x92,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_sin_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x92,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_sin_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x92,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_sin_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x92,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_sin_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x92,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_cos_f16_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_cos_f16_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x94,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_cos_f16_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x94,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_cos_f16_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x94,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_cos_f16_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x94,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_cos_f16_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x94,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_cos_f16_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x94,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_cos_f16_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x94,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_cos_f16_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x94,0x0a,0x7e,0x7f,0x06,0x86,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_exp_legacy_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x96,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x96,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x96,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x96,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x96,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x96,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x96,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x96,0x0a,0x7e,0x7f,0x06,0x86,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_exp_legacy_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_log_legacy_f32_sdwa v5, s1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x86,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x86,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, s101 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x65,0x06,0x86,0x06]
+0xf9,0x98,0x0a,0x7e,0x65,0x06,0x86,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, flat_scratch_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x66,0x06,0x86,0x06]
+0xf9,0x98,0x0a,0x7e,0x66,0x06,0x86,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, flat_scratch_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x67,0x06,0x86,0x06]
+0xf9,0x98,0x0a,0x7e,0x67,0x06,0x86,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x6a,0x06,0x86,0x06]
+0xf9,0x98,0x0a,0x7e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, vcc_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x6b,0x06,0x86,0x06]
+0xf9,0x98,0x0a,0x7e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, m0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x7c,0x06,0x86,0x06]
+0xf9,0x98,0x0a,0x7e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, exec_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x7e,0x06,0x86,0x06]
+0xf9,0x98,0x0a,0x7e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, exec_hi dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x7f,0x06,0x86,0x06]
+0xf9,0x98,0x0a,0x7e,0x7f,0x06,0x86,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_log_legacy_f32_sdwa v5, v1 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x46,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x46,0x06,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, v1 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x86,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x86,0x06,0x06
+
+# CHECK: v_log_legacy_f32_sdwa v5, v1 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0xc6,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_add_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x86,0x06
+
+# CHECK: v_add_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x02,0x65,0x06,0x86,0x06
+
+# CHECK: v_add_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x02,0x66,0x06,0x86,0x06
+
+# CHECK: v_add_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x02,0x67,0x06,0x86,0x06
+
+# CHECK: v_add_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x02,0x6a,0x06,0x86,0x06
+
+# CHECK: v_add_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x02,0x6b,0x06,0x86,0x06
+
+# CHECK: v_add_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x02,0x7c,0x06,0x86,0x06
+
+# CHECK: v_add_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x02,0x7e,0x06,0x86,0x06
+
+# CHECK: v_add_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x02,0x7f,0x06,0x86,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_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_add_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x46,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x46,0x06,0x06
+
+# CHECK: v_add_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x86,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x86,0x06,0x06
+
+# CHECK: v_add_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0xc6,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0xc6,0x06,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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_sub_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x86,0x06
+
+# CHECK: v_sub_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x04,0x65,0x06,0x86,0x06
+
+# CHECK: v_sub_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x04,0x66,0x06,0x86,0x06
+
+# CHECK: v_sub_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x04,0x67,0x06,0x86,0x06
+
+# CHECK: v_sub_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x04,0x6a,0x06,0x86,0x06
+
+# CHECK: v_sub_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x04,0x6b,0x06,0x86,0x06
+
+# CHECK: v_sub_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x04,0x7c,0x06,0x86,0x06
+
+# CHECK: v_sub_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x04,0x7e,0x06,0x86,0x06
+
+# CHECK: v_sub_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x04,0x7f,0x06,0x86,0x06
+
+# 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_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_sub_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x46,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x46,0x06,0x06
+
+# CHECK: v_sub_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x86,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x86,0x06,0x06
+
+# CHECK: v_sub_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0xc6,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0xc6,0x06,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_subrev_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x86,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x06,0x65,0x06,0x86,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x06,0x66,0x06,0x86,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x06,0x67,0x06,0x86,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x06,0x6a,0x06,0x86,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x06,0x6b,0x06,0x86,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x06,0x7c,0x06,0x86,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x06,0x7e,0x06,0x86,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x06,0x7f,0x06,0x86,0x06
+
+# 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_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_subrev_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x46,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x46,0x06,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x86,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x86,0x06,0x06
+
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0xc6,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0xc6,0x06,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_mul_legacy_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x86,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x08,0x65,0x06,0x86,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x08,0x66,0x06,0x86,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x08,0x67,0x06,0x86,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x08,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x08,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x08,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x08,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x08,0x7f,0x06,0x86,0x06
+
+# 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_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_mul_legacy_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x46,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x46,0x06,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x86,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x86,0x06,0x06
+
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0xc6,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0xc6,0x06,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_mul_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x86,0x06
+
+# CHECK: v_mul_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0a,0x65,0x06,0x86,0x06
+
+# CHECK: v_mul_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0a,0x66,0x06,0x86,0x06
+
+# CHECK: v_mul_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0a,0x67,0x06,0x86,0x06
+
+# CHECK: v_mul_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0a,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mul_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0a,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mul_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0a,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mul_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0a,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mul_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0a,0x7f,0x06,0x86,0x06
+
+# 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_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_mul_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x46,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x46,0x06,0x06
+
+# CHECK: v_mul_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x86,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x86,0x06,0x06
+
+# CHECK: v_mul_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0xc6,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0xc6,0x06,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_i32_i24_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x86,0x06
+
+# CHECK: v_mul_i32_i24_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0c,0x65,0x06,0x86,0x06
+
+# CHECK: v_mul_i32_i24_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0c,0x66,0x06,0x86,0x06
+
+# CHECK: v_mul_i32_i24_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0c,0x67,0x06,0x86,0x06
+
+# CHECK: v_mul_i32_i24_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0c,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mul_i32_i24_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0c,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mul_i32_i24_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0c,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mul_i32_i24_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0c,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mul_i32_i24_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0c,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_hi_i32_i24_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_i32_i24_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0e,0x65,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_i32_i24_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0e,0x66,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_i32_i24_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0e,0x67,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_i32_i24_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_i32_i24_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_i32_i24_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_i32_i24_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_i32_i24_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x0e,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_u32_u24_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x86,0x06
+
+# CHECK: v_mul_u32_u24_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x10,0x65,0x06,0x86,0x06
+
+# CHECK: v_mul_u32_u24_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x10,0x66,0x06,0x86,0x06
+
+# CHECK: v_mul_u32_u24_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x10,0x67,0x06,0x86,0x06
+
+# CHECK: v_mul_u32_u24_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x10,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mul_u32_u24_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x10,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mul_u32_u24_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x10,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mul_u32_u24_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x10,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mul_u32_u24_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x10,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_u32_u24_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_u32_u24_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x12,0x65,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_u32_u24_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x12,0x66,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_u32_u24_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x12,0x67,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_u32_u24_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x12,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_u32_u24_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x12,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_u32_u24_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x12,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_u32_u24_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x12,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mul_hi_u32_u24_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x12,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_min_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x86,0x06
+
+# CHECK: v_min_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x14,0x65,0x06,0x86,0x06
+
+# CHECK: v_min_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x14,0x66,0x06,0x86,0x06
+
+# CHECK: v_min_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x14,0x67,0x06,0x86,0x06
+
+# CHECK: v_min_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x14,0x6a,0x06,0x86,0x06
+
+# CHECK: v_min_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x14,0x6b,0x06,0x86,0x06
+
+# CHECK: v_min_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x14,0x7c,0x06,0x86,0x06
+
+# CHECK: v_min_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x14,0x7e,0x06,0x86,0x06
+
+# CHECK: v_min_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x14,0x7f,0x06,0x86,0x06
+
+# 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_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_min_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x46,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x46,0x06,0x06
+
+# CHECK: v_min_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x86,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x86,0x06,0x06
+
+# CHECK: v_min_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0xc6,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0xc6,0x06,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_max_f32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x86,0x06
+
+# CHECK: v_max_f32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x16,0x65,0x06,0x86,0x06
+
+# CHECK: v_max_f32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x16,0x66,0x06,0x86,0x06
+
+# CHECK: v_max_f32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x16,0x67,0x06,0x86,0x06
+
+# CHECK: v_max_f32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x16,0x6a,0x06,0x86,0x06
+
+# CHECK: v_max_f32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x16,0x6b,0x06,0x86,0x06
+
+# CHECK: v_max_f32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x16,0x7c,0x06,0x86,0x06
+
+# CHECK: v_max_f32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x16,0x7e,0x06,0x86,0x06
+
+# CHECK: v_max_f32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x16,0x7f,0x06,0x86,0x06
+
+# 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_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_max_f32_sdwa v5, v1, v2 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x46,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x46,0x06,0x06
+
+# CHECK: v_max_f32_sdwa v5, v1, v2 mul:4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x86,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x86,0x06,0x06
+
+# CHECK: v_max_f32_sdwa v5, v1, v2 div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0xc6,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0xc6,0x06,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_i32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x86,0x06
+
+# CHECK: v_min_i32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x18,0x65,0x06,0x86,0x06
+
+# CHECK: v_min_i32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x18,0x66,0x06,0x86,0x06
+
+# CHECK: v_min_i32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x18,0x67,0x06,0x86,0x06
+
+# CHECK: v_min_i32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x18,0x6a,0x06,0x86,0x06
+
+# CHECK: v_min_i32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x18,0x6b,0x06,0x86,0x06
+
+# CHECK: v_min_i32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x18,0x7c,0x06,0x86,0x06
+
+# CHECK: v_min_i32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x18,0x7e,0x06,0x86,0x06
+
+# CHECK: v_min_i32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x18,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_i32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x86,0x06
+
+# CHECK: v_max_i32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1a,0x65,0x06,0x86,0x06
+
+# CHECK: v_max_i32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1a,0x66,0x06,0x86,0x06
+
+# CHECK: v_max_i32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1a,0x67,0x06,0x86,0x06
+
+# CHECK: v_max_i32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1a,0x6a,0x06,0x86,0x06
+
+# CHECK: v_max_i32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1a,0x6b,0x06,0x86,0x06
+
+# CHECK: v_max_i32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1a,0x7c,0x06,0x86,0x06
+
+# CHECK: v_max_i32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1a,0x7e,0x06,0x86,0x06
+
+# CHECK: v_max_i32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1a,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x86,0x06
+
+# CHECK: v_min_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1c,0x65,0x06,0x86,0x06
+
+# CHECK: v_min_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1c,0x66,0x06,0x86,0x06
+
+# CHECK: v_min_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1c,0x67,0x06,0x86,0x06
+
+# CHECK: v_min_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1c,0x6a,0x06,0x86,0x06
+
+# CHECK: v_min_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1c,0x6b,0x06,0x86,0x06
+
+# CHECK: v_min_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1c,0x7c,0x06,0x86,0x06
+
+# CHECK: v_min_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1c,0x7e,0x06,0x86,0x06
+
+# CHECK: v_min_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1c,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x86,0x06
+
+# CHECK: v_max_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1e,0x65,0x06,0x86,0x06
+
+# CHECK: v_max_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1e,0x66,0x06,0x86,0x06
+
+# CHECK: v_max_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1e,0x67,0x06,0x86,0x06
+
+# CHECK: v_max_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_max_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_max_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_max_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_max_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x1e,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_lshrrev_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x20,0x65,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x20,0x66,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x20,0x67,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x20,0x6a,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x20,0x6b,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x20,0x7c,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x20,0x7e,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x20,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_ashrrev_i32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x22,0x65,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x22,0x66,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x22,0x67,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x22,0x6a,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x22,0x6b,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x22,0x7c,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x22,0x7e,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x22,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_lshlrev_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x24,0x65,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x24,0x66,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x24,0x67,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x24,0x6a,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x24,0x6b,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x24,0x7c,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x24,0x7e,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x24,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_and_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x86,0x06
+
+# CHECK: v_and_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x26,0x65,0x06,0x86,0x06
+
+# CHECK: v_and_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x26,0x66,0x06,0x86,0x06
+
+# CHECK: v_and_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x26,0x67,0x06,0x86,0x06
+
+# CHECK: v_and_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x26,0x6a,0x06,0x86,0x06
+
+# CHECK: v_and_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x26,0x6b,0x06,0x86,0x06
+
+# CHECK: v_and_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x26,0x7c,0x06,0x86,0x06
+
+# CHECK: v_and_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x26,0x7e,0x06,0x86,0x06
+
+# CHECK: v_and_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x26,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_or_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x86,0x06
+
+# CHECK: v_or_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x28,0x65,0x06,0x86,0x06
+
+# CHECK: v_or_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x28,0x66,0x06,0x86,0x06
+
+# CHECK: v_or_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x28,0x67,0x06,0x86,0x06
+
+# CHECK: v_or_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x28,0x6a,0x06,0x86,0x06
+
+# CHECK: v_or_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x28,0x6b,0x06,0x86,0x06
+
+# CHECK: v_or_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x28,0x7c,0x06,0x86,0x06
+
+# CHECK: v_or_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x28,0x7e,0x06,0x86,0x06
+
+# CHECK: v_or_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x28,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_xor_b32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x86,0x06
+
+# CHECK: v_xor_b32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x2a,0x65,0x06,0x86,0x06
+
+# CHECK: v_xor_b32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x2a,0x66,0x06,0x86,0x06
+
+# CHECK: v_xor_b32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x2a,0x67,0x06,0x86,0x06
+
+# CHECK: v_xor_b32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x2a,0x6a,0x06,0x86,0x06
+
+# CHECK: v_xor_b32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x2a,0x6b,0x06,0x86,0x06
+
+# CHECK: v_xor_b32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x2a,0x7c,0x06,0x86,0x06
+
+# CHECK: v_xor_b32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x2a,0x7e,0x06,0x86,0x06
+
+# CHECK: v_xor_b32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x2a,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_add_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x86,0x06
+
+# CHECK: v_add_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x3e,0x65,0x06,0x86,0x06
+
+# CHECK: v_add_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x3e,0x66,0x06,0x86,0x06
+
+# CHECK: v_add_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x3e,0x67,0x06,0x86,0x06
+
+# CHECK: v_add_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x3e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_add_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x3e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_add_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x3e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_add_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x3e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_add_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x3e,0x7f,0x06,0x86,0x06
+
+# 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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_sub_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x86,0x06
+
+# CHECK: v_sub_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x40,0x65,0x06,0x86,0x06
+
+# CHECK: v_sub_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x40,0x66,0x06,0x86,0x06
+
+# CHECK: v_sub_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x40,0x67,0x06,0x86,0x06
+
+# CHECK: v_sub_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x40,0x6a,0x06,0x86,0x06
+
+# CHECK: v_sub_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x40,0x6b,0x06,0x86,0x06
+
+# CHECK: v_sub_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x40,0x7c,0x06,0x86,0x06
+
+# CHECK: v_sub_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x40,0x7e,0x06,0x86,0x06
+
+# CHECK: v_sub_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x40,0x7f,0x06,0x86,0x06
+
+# 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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_subrev_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x86,0x06
+
+# CHECK: v_subrev_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x42,0x65,0x06,0x86,0x06
+
+# CHECK: v_subrev_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x42,0x66,0x06,0x86,0x06
+
+# CHECK: v_subrev_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x42,0x67,0x06,0x86,0x06
+
+# CHECK: v_subrev_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x42,0x6a,0x06,0x86,0x06
+
+# CHECK: v_subrev_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x42,0x6b,0x06,0x86,0x06
+
+# CHECK: v_subrev_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x42,0x7c,0x06,0x86,0x06
+
+# CHECK: v_subrev_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x42,0x7e,0x06,0x86,0x06
+
+# CHECK: v_subrev_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x42,0x7f,0x06,0x86,0x06
+
+# 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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_mul_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x86,0x06
+
+# CHECK: v_mul_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x44,0x65,0x06,0x86,0x06
+
+# CHECK: v_mul_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x44,0x66,0x06,0x86,0x06
+
+# CHECK: v_mul_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x44,0x67,0x06,0x86,0x06
+
+# CHECK: v_mul_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x44,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mul_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x44,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mul_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x44,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mul_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x44,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mul_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x44,0x7f,0x06,0x86,0x06
+
+# 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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_add_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x86,0x06
+
+# CHECK: v_add_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4c,0x65,0x06,0x86,0x06
+
+# CHECK: v_add_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4c,0x66,0x06,0x86,0x06
+
+# CHECK: v_add_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4c,0x67,0x06,0x86,0x06
+
+# CHECK: v_add_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4c,0x6a,0x06,0x86,0x06
+
+# CHECK: v_add_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4c,0x6b,0x06,0x86,0x06
+
+# CHECK: v_add_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4c,0x7c,0x06,0x86,0x06
+
+# CHECK: v_add_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4c,0x7e,0x06,0x86,0x06
+
+# CHECK: v_add_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4c,0x7f,0x06,0x86,0x06
+
+# 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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_sub_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x86,0x06
+
+# CHECK: v_sub_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4e,0x65,0x06,0x86,0x06
+
+# CHECK: v_sub_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4e,0x66,0x06,0x86,0x06
+
+# CHECK: v_sub_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4e,0x67,0x06,0x86,0x06
+
+# CHECK: v_sub_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_sub_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_sub_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_sub_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_sub_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x4e,0x7f,0x06,0x86,0x06
+
+# 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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_subrev_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x86,0x06
+
+# CHECK: v_subrev_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x50,0x65,0x06,0x86,0x06
+
+# CHECK: v_subrev_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x50,0x66,0x06,0x86,0x06
+
+# CHECK: v_subrev_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x50,0x67,0x06,0x86,0x06
+
+# CHECK: v_subrev_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x50,0x6a,0x06,0x86,0x06
+
+# CHECK: v_subrev_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x50,0x6b,0x06,0x86,0x06
+
+# CHECK: v_subrev_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x50,0x7c,0x06,0x86,0x06
+
+# CHECK: v_subrev_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x50,0x7e,0x06,0x86,0x06
+
+# CHECK: v_subrev_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x50,0x7f,0x06,0x86,0x06
+
+# 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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_mul_lo_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x86,0x06
+
+# CHECK: v_mul_lo_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x52,0x65,0x06,0x86,0x06
+
+# CHECK: v_mul_lo_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x52,0x66,0x06,0x86,0x06
+
+# CHECK: v_mul_lo_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x52,0x67,0x06,0x86,0x06
+
+# CHECK: v_mul_lo_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x52,0x6a,0x06,0x86,0x06
+
+# CHECK: v_mul_lo_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x52,0x6b,0x06,0x86,0x06
+
+# CHECK: v_mul_lo_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x52,0x7c,0x06,0x86,0x06
+
+# CHECK: v_mul_lo_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x52,0x7e,0x06,0x86,0x06
+
+# CHECK: v_mul_lo_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x52,0x7f,0x06,0x86,0x06
+
+# 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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_lshlrev_b16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x54,0x65,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x54,0x66,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x54,0x67,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x54,0x6a,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x54,0x6b,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x54,0x7c,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x54,0x7e,0x06,0x86,0x06
+
+# CHECK: v_lshlrev_b16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x54,0x7f,0x06,0x86,0x06
+
+# 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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_lshrrev_b16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x56,0x65,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x56,0x66,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x56,0x67,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x56,0x6a,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x56,0x6b,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x56,0x7c,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x56,0x7e,0x06,0x86,0x06
+
+# CHECK: v_lshrrev_b16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x56,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_ashrrev_i16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x58,0x65,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x58,0x66,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x58,0x67,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x58,0x6a,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x58,0x6b,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x58,0x7c,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x58,0x7e,0x06,0x86,0x06
+
+# CHECK: v_ashrrev_i16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x58,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_max_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x86,0x06
+
+# CHECK: v_max_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5a,0x65,0x06,0x86,0x06
+
+# CHECK: v_max_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5a,0x66,0x06,0x86,0x06
+
+# CHECK: v_max_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5a,0x67,0x06,0x86,0x06
+
+# CHECK: v_max_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5a,0x6a,0x06,0x86,0x06
+
+# CHECK: v_max_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5a,0x6b,0x06,0x86,0x06
+
+# CHECK: v_max_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5a,0x7c,0x06,0x86,0x06
+
+# CHECK: v_max_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5a,0x7e,0x06,0x86,0x06
+
+# CHECK: v_max_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5a,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_min_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x86,0x06
+
+# CHECK: v_min_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5c,0x65,0x06,0x86,0x06
+
+# CHECK: v_min_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5c,0x66,0x06,0x86,0x06
+
+# CHECK: v_min_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5c,0x67,0x06,0x86,0x06
+
+# CHECK: v_min_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5c,0x6a,0x06,0x86,0x06
+
+# CHECK: v_min_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5c,0x6b,0x06,0x86,0x06
+
+# CHECK: v_min_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5c,0x7c,0x06,0x86,0x06
+
+# CHECK: v_min_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5c,0x7e,0x06,0x86,0x06
+
+# CHECK: v_min_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5c,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_max_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x86,0x06
+
+# CHECK: v_max_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5e,0x65,0x06,0x86,0x06
+
+# CHECK: v_max_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5e,0x66,0x06,0x86,0x06
+
+# CHECK: v_max_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5e,0x67,0x06,0x86,0x06
+
+# CHECK: v_max_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5e,0x6a,0x06,0x86,0x06
+
+# CHECK: v_max_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5e,0x6b,0x06,0x86,0x06
+
+# CHECK: v_max_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5e,0x7c,0x06,0x86,0x06
+
+# CHECK: v_max_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5e,0x7e,0x06,0x86,0x06
+
+# CHECK: v_max_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x5e,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_i16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x86,0x06
+
+# CHECK: v_max_i16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x60,0x65,0x06,0x86,0x06
+
+# CHECK: v_max_i16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x60,0x66,0x06,0x86,0x06
+
+# CHECK: v_max_i16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x60,0x67,0x06,0x86,0x06
+
+# CHECK: v_max_i16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x60,0x6a,0x06,0x86,0x06
+
+# CHECK: v_max_i16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x60,0x6b,0x06,0x86,0x06
+
+# CHECK: v_max_i16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x60,0x7c,0x06,0x86,0x06
+
+# CHECK: v_max_i16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x60,0x7e,0x06,0x86,0x06
+
+# CHECK: v_max_i16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x60,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_min_u16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x86,0x06
+
+# CHECK: v_min_u16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x62,0x65,0x06,0x86,0x06
+
+# CHECK: v_min_u16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x62,0x66,0x06,0x86,0x06
+
+# CHECK: v_min_u16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x62,0x67,0x06,0x86,0x06
+
+# CHECK: v_min_u16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x62,0x6a,0x06,0x86,0x06
+
+# CHECK: v_min_u16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x62,0x6b,0x06,0x86,0x06
+
+# CHECK: v_min_u16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x62,0x7c,0x06,0x86,0x06
+
+# CHECK: v_min_u16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x62,0x7e,0x06,0x86,0x06
+
+# CHECK: v_min_u16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x62,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_i16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x86,0x06
+
+# CHECK: v_min_i16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x64,0x65,0x06,0x86,0x06
+
+# CHECK: v_min_i16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x64,0x66,0x06,0x86,0x06
+
+# CHECK: v_min_i16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x64,0x67,0x06,0x86,0x06
+
+# CHECK: v_min_i16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x64,0x6a,0x06,0x86,0x06
+
+# CHECK: v_min_i16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x64,0x6b,0x06,0x86,0x06
+
+# CHECK: v_min_i16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x64,0x7c,0x06,0x86,0x06
+
+# CHECK: v_min_i16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x64,0x7e,0x06,0x86,0x06
+
+# CHECK: v_min_i16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x64,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_ldexp_f16_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x86,0x06
+
+# CHECK: v_ldexp_f16_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x65,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x66,0x65,0x06,0x86,0x06
+
+# CHECK: v_ldexp_f16_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x66,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x66,0x66,0x06,0x86,0x06
+
+# CHECK: v_ldexp_f16_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x67,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x66,0x67,0x06,0x86,0x06
+
+# CHECK: v_ldexp_f16_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x6a,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x66,0x6a,0x06,0x86,0x06
+
+# CHECK: v_ldexp_f16_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x6b,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x66,0x6b,0x06,0x86,0x06
+
+# CHECK: v_ldexp_f16_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x7c,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x66,0x7c,0x06,0x86,0x06
+
+# CHECK: v_ldexp_f16_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x7e,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x66,0x7e,0x06,0x86,0x06
+
+# CHECK: v_ldexp_f16_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x7f,0x06,0x86,0x06]
+0xf9,0x04,0x0a,0x66,0x7f,0x06,0x86,0x06
+
+# 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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_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_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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_pk_add_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_f16 v255, v1, v2 ; encoding: [0xff,0x00,0x8f,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x8f,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, v255, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, s1, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, s101, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, -1, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8f,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x8f,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, v255 ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, s2 ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, s101 ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, -1 ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x8f,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x8f,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x8f,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x8f,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x8f,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x8f,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x8f,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_add_f16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_add_f16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_add_f16 v5, v1, v2 neg_lo:[1,0] ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x38]
+0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x38
+
+# CHECK: v_pk_add_f16 v5, v1, v2 neg_lo:[0,1] ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x58]
+0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x58
+
+# CHECK: v_pk_add_f16 v5, v1, v2 neg_lo:[1,1] ; encoding: [0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x78]
+0x05,0x00,0x8f,0xd3,0x01,0x05,0x02,0x78
+
+# CHECK: v_pk_add_f16 v5, v1, v2 neg_hi:[1,0] ; encoding: [0x05,0x01,0x8f,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x01,0x8f,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, v2 neg_hi:[0,1] ; encoding: [0x05,0x02,0x8f,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x02,0x8f,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_f16 v5, v1, v2 neg_hi:[1,1] ; encoding: [0x05,0x03,0x8f,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x03,0x8f,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_i16 v255, v1, v2 ; encoding: [0xff,0x00,0x82,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x82,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, v255, v2 ; encoding: [0x05,0x00,0x82,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x82,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, s1, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, s101, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, m0, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, 0, v2 ; encoding: [0x05,0x00,0x82,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, -1, v2 ; encoding: [0x05,0x00,0x82,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x82,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x82,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x82,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, v255 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, s2 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x82,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, s101 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, m0 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, 0 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x82,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, -1 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x82,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x82,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x82,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x82,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x82,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x82,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x82,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x82,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x82,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_i16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_add_i16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_add_i16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x82,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_add_i16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x82,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x82,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_u16 v255, v1, v2 ; encoding: [0xff,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x8a,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, v255, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, s1, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, s101, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, m0, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, 0, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, -1, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8a,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x8a,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, v255 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, s2 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, s101 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, m0 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, 0 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, -1 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x8a,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x8a,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x8a,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x8a,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x8a,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x8a,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x8a,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_add_u16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_add_u16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_add_u16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x8a,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_add_u16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x8a,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x8a,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v255, v1, v2 ; encoding: [0xff,0x00,0x86,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x86,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v255, v2 ; encoding: [0x05,0x00,0x86,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x86,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, s1, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, s101, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, m0, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, 0, v2 ; encoding: [0x05,0x00,0x86,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, -1, v2 ; encoding: [0x05,0x00,0x86,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x86,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x86,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x86,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, v255 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, s2 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x86,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, s101 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, m0 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, 0 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x86,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, -1 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x86,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x86,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x86,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x86,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x86,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x86,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x86,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x86,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x86,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x86,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_ashrrev_i16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x86,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x86,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_fma_f16 v5, flat_scratch_lo, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x66,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0x66,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, flat_scratch_hi, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x67,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0x67,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, vcc_lo, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x6a,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0x6a,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, vcc_hi, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x6b,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0x6b,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, m0, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x7c,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0x7c,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, exec_lo, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x7e,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0x7e,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, exec_hi, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x7f,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0x7f,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, 0, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x80,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0x80,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, -1, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0xc1,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0xc1,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, 0.5, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0xf0,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0xf0,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, -4.0, v2, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0xf7,0x04,0x0e,0x1c]
+0x05,0x40,0x8e,0xd3,0xf7,0x04,0x0e,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, flat_scratch_lo, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0xcd,0x0c,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0xcd,0x0c,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, flat_scratch_hi, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0xcf,0x0c,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0xcf,0x0c,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, vcc_lo, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0xd5,0x0c,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0xd5,0x0c,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, vcc_hi, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0xd7,0x0c,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0xd7,0x0c,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, m0, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0xf9,0x0c,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0xf9,0x0c,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, exec_lo, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0xfd,0x0c,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0xfd,0x0c,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, exec_hi, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0xff,0x0c,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0xff,0x0c,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, 0, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x01,0x0d,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0x01,0x0d,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, -1, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x83,0x0d,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0x83,0x0d,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, 0.5, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0xe1,0x0d,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0xe1,0x0d,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, -4.0, v3 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0xef,0x0d,0x1c]
+0x05,0x40,0x8e,0xd3,0x01,0xef,0x0d,0x1c
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, flat_scratch_lo ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x9a,0x19]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0x9a,0x19
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, flat_scratch_hi ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x9e,0x19]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0x9e,0x19
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, vcc_lo ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xaa,0x19]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0xaa,0x19
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, vcc_hi ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xae,0x19]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0xae,0x19
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, m0 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xf2,0x19]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0xf2,0x19
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, exec_lo ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xfa,0x19]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0xfa,0x19
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, exec_hi ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xfe,0x19]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0xfe,0x19
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, 0 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x02,0x1a]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0x02,0x1a
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, -1 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0x06,0x1b]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0x06,0x1b
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, 0.5 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xc2,0x1b]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0xc2,0x1b
+
+# CHECK: v_pk_fma_f16 v5, v1, v2, -4.0 ; encoding: [0x05,0x40,0x8e,0xd3,0x01,0x05,0xde,0x1b]
+0x05,0x40,0x8e,0xd3,0x01,0x05,0xde,0x1b
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v255, v1, v2 ; encoding: [0xff,0x00,0x84,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x84,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v255, v2 ; encoding: [0x05,0x00,0x84,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x84,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, s1, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, s101, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, m0, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, 0, v2 ; encoding: [0x05,0x00,0x84,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, -1, v2 ; encoding: [0x05,0x00,0x84,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x84,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x84,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x84,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, v255 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, s2 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x84,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, s101 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, m0 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, 0 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x84,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, -1 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x84,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x84,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x84,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x84,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x84,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x84,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x84,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x84,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x84,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x84,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_lshlrev_b16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x84,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x84,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v255, v1, v2 ; encoding: [0xff,0x00,0x85,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x85,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v255, v2 ; encoding: [0x05,0x00,0x85,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x85,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, s1, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, s101, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, m0, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, 0, v2 ; encoding: [0x05,0x00,0x85,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, -1, v2 ; encoding: [0x05,0x00,0x85,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x85,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x85,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x85,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, v255 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, s2 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x85,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, s101 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, m0 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, 0 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x85,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, -1 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x85,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x85,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x85,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x85,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x85,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x85,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x85,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x85,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x85,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x85,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_lshrrev_b16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x85,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x85,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_f16 v255, v1, v2 ; encoding: [0xff,0x00,0x92,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x92,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, v255, v2 ; encoding: [0x05,0x00,0x92,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x92,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, s1, v2 ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, s101, v2 ; encoding: [0x05,0x00,0x92,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x92,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x92,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x92,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x92,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x92,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x92,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, -1, v2 ; encoding: [0x05,0x00,0x92,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x92,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x92,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, v255 ; encoding: [0x05,0x00,0x92,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x92,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, s2 ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x92,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, s101 ; encoding: [0x05,0x00,0x92,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x92,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x92,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x92,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x92,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x92,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x92,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x92,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x92,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x92,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x92,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x92,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x92,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x92,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, -1 ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x92,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x92,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x92,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x92,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x92,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x92,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x92,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x92,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x92,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_max_f16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_max_f16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_max_f16 v5, v1, v2 neg_lo:[1,0] ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x38]
+0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x38
+
+# CHECK: v_pk_max_f16 v5, v1, v2 neg_lo:[0,1] ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x58]
+0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x58
+
+# CHECK: v_pk_max_f16 v5, v1, v2 neg_lo:[1,1] ; encoding: [0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x78]
+0x05,0x00,0x92,0xd3,0x01,0x05,0x02,0x78
+
+# CHECK: v_pk_max_f16 v5, v1, v2 neg_hi:[1,0] ; encoding: [0x05,0x01,0x92,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x01,0x92,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, v2 neg_hi:[0,1] ; encoding: [0x05,0x02,0x92,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x02,0x92,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_f16 v5, v1, v2 neg_hi:[1,1] ; encoding: [0x05,0x03,0x92,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x03,0x92,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_i16 v255, v1, v2 ; encoding: [0xff,0x00,0x87,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x87,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, v255, v2 ; encoding: [0x05,0x00,0x87,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x87,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, s1, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, s101, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, m0, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, 0, v2 ; encoding: [0x05,0x00,0x87,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, -1, v2 ; encoding: [0x05,0x00,0x87,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x87,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x87,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x87,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, v255 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, s2 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x87,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, s101 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, m0 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, 0 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x87,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, -1 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x87,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x87,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x87,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x87,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x87,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x87,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x87,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x87,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x87,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_i16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_max_i16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_max_i16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x87,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_max_i16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x87,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x87,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_u16 v255, v1, v2 ; encoding: [0xff,0x00,0x8c,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x8c,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, v255, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, s1, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, s101, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, m0, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, 0, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, -1, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8c,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x8c,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, v255 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, s2 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, s101 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, m0 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, 0 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, -1 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x8c,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x8c,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x8c,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x8c,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x8c,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x8c,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x8c,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_max_u16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_max_u16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_max_u16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x8c,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_max_u16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x8c,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x8c,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_f16 v255, v1, v2 ; encoding: [0xff,0x00,0x91,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x91,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, v255, v2 ; encoding: [0x05,0x00,0x91,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x91,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, s1, v2 ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, s101, v2 ; encoding: [0x05,0x00,0x91,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x91,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x91,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x91,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x91,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x91,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x91,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, -1, v2 ; encoding: [0x05,0x00,0x91,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x91,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x91,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, v255 ; encoding: [0x05,0x00,0x91,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x91,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, s2 ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x91,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, s101 ; encoding: [0x05,0x00,0x91,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x91,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x91,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x91,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x91,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x91,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x91,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x91,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x91,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x91,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x91,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x91,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x91,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x91,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, -1 ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x91,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x91,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x91,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x91,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x91,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x91,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x91,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x91,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x91,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_min_f16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_min_f16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_min_f16 v5, v1, v2 neg_lo:[1,0] ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x38]
+0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x38
+
+# CHECK: v_pk_min_f16 v5, v1, v2 neg_lo:[0,1] ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x58]
+0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x58
+
+# CHECK: v_pk_min_f16 v5, v1, v2 neg_lo:[1,1] ; encoding: [0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x78]
+0x05,0x00,0x91,0xd3,0x01,0x05,0x02,0x78
+
+# CHECK: v_pk_min_f16 v5, v1, v2 neg_hi:[1,0] ; encoding: [0x05,0x01,0x91,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x01,0x91,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, v2 neg_hi:[0,1] ; encoding: [0x05,0x02,0x91,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x02,0x91,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_f16 v5, v1, v2 neg_hi:[1,1] ; encoding: [0x05,0x03,0x91,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x03,0x91,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_i16 v255, v1, v2 ; encoding: [0xff,0x00,0x88,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x88,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, v255, v2 ; encoding: [0x05,0x00,0x88,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x88,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, s1, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, s101, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, m0, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, 0, v2 ; encoding: [0x05,0x00,0x88,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, -1, v2 ; encoding: [0x05,0x00,0x88,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x88,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x88,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x88,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, v255 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, s2 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x88,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, s101 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, m0 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, 0 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x88,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, -1 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x88,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x88,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x88,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x88,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x88,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x88,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x88,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x88,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x88,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_i16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_min_i16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_min_i16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x88,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_min_i16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x88,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x88,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_u16 v255, v1, v2 ; encoding: [0xff,0x00,0x8d,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x8d,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, v255, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, s1, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, s101, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, m0, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, 0, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, -1, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x8d,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x8d,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, v255 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, s2 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, s101 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, m0 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, 0 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, -1 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x8d,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x8d,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x8d,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x8d,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x8d,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x8d,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x8d,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_min_u16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_min_u16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_min_u16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x8d,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_min_u16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x8d,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x8d,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v255, v1, v2 ; encoding: [0xff,0x00,0x90,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x90,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, v255, v2 ; encoding: [0x05,0x00,0x90,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x90,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, s1, v2 ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, s101, v2 ; encoding: [0x05,0x00,0x90,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x90,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x90,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x90,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x90,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x90,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x90,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, -1, v2 ; encoding: [0x05,0x00,0x90,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x90,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x90,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, v255 ; encoding: [0x05,0x00,0x90,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x90,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, s2 ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x90,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, s101 ; encoding: [0x05,0x00,0x90,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x90,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x90,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x90,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x90,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x90,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x90,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x90,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x90,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x90,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x90,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x90,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x90,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x90,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, -1 ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x90,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x90,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x90,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x90,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x90,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x90,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x90,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x90,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x90,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 neg_lo:[1,0] ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x38]
+0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x38
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 neg_lo:[0,1] ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x58]
+0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x58
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 neg_lo:[1,1] ; encoding: [0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x78]
+0x05,0x00,0x90,0xd3,0x01,0x05,0x02,0x78
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 neg_hi:[1,0] ; encoding: [0x05,0x01,0x90,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x01,0x90,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 neg_hi:[0,1] ; encoding: [0x05,0x02,0x90,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x02,0x90,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_f16 v5, v1, v2 neg_hi:[1,1] ; encoding: [0x05,0x03,0x90,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x03,0x90,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v255, v1, v2 ; encoding: [0xff,0x00,0x81,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x81,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v255, v2 ; encoding: [0x05,0x00,0x81,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x81,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, s1, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, s101, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, m0, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, 0, v2 ; encoding: [0x05,0x00,0x81,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, -1, v2 ; encoding: [0x05,0x00,0x81,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x81,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x81,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x81,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, v255 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, s2 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x81,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, s101 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, m0 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, 0 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x81,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, -1 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x81,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x81,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x81,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x81,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x81,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x81,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x81,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x81,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x81,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x81,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_mul_lo_u16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x81,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x81,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v255, v1, v2 ; encoding: [0xff,0x00,0x83,0xd3,0x01,0x05,0x02,0x18]
+0xff,0x00,0x83,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, v255, v2 ; encoding: [0x05,0x00,0x83,0xd3,0xff,0x05,0x02,0x18]
+0x05,0x00,0x83,0xd3,0xff,0x05,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, s1, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x01,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, s101, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x65,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x65,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x66,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x66,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x67,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x67,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x6a,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x6a,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x6b,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x6b,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, m0, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x7c,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x7c,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x7e,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x7e,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x7f,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x7f,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, 0, v2 ; encoding: [0x05,0x00,0x83,0xd3,0x80,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0x80,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, -1, v2 ; encoding: [0x05,0x00,0x83,0xd3,0xc1,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0xc1,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, 0.5, v2 ; encoding: [0x05,0x00,0x83,0xd3,0xf0,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0xf0,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, -4.0, v2 ; encoding: [0x05,0x00,0x83,0xd3,0xf7,0x04,0x02,0x18]
+0x05,0x00,0x83,0xd3,0xf7,0x04,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, v255 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xff,0x03,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xff,0x03,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, s2 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0x05,0x00,0x18]
+0x05,0x00,0x83,0xd3,0x01,0x05,0x00,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, s101 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xcb,0x00,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xcb,0x00,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xcd,0x00,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xcd,0x00,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xcf,0x00,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xcf,0x00,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xd5,0x00,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xd5,0x00,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xd7,0x00,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xd7,0x00,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, m0 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xf9,0x00,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xf9,0x00,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, exec_lo ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xfd,0x00,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xfd,0x00,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, exec_hi ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xff,0x00,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xff,0x00,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, 0 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0x01,0x01,0x18]
+0x05,0x00,0x83,0xd3,0x01,0x01,0x01,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, -1 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0x83,0x01,0x18]
+0x05,0x00,0x83,0xd3,0x01,0x83,0x01,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, 0.5 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xe1,0x01,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xe1,0x01,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, -4.0 ; encoding: [0x05,0x00,0x83,0xd3,0x01,0xef,0x01,0x18]
+0x05,0x00,0x83,0xd3,0x01,0xef,0x01,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, v2 op_sel:[1,0] ; encoding: [0x05,0x08,0x83,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x08,0x83,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, v2 op_sel:[0,1] ; encoding: [0x05,0x10,0x83,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x10,0x83,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, v2 op_sel:[1,1] ; encoding: [0x05,0x18,0x83,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x18,0x83,0xd3,0x01,0x05,0x02,0x18
+
+# CHECK: v_pk_sub_i16 v5, v1, v2 op_sel_hi:[0,0] ; encoding: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x00]
+0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x00
+
+# CHECK: v_pk_sub_i16 v5, v1, v2 op_sel_hi:[1,0] ; encoding: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x08]
+0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x08
+
+# CHECK: v_pk_sub_i16 v5, v1, v2 op_sel_hi:[0,1] ; encoding: [0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x10]
+0x05,0x00,0x83,0xd3,0x01,0x05,0x02,0x10
+
+# CHECK: v_pk_sub_i16 v5, v1, v2 clamp ; encoding: [0x05,0x80,0x83,0xd3,0x01,0x05,0x02,0x18]
+0x05,0x80,0x83,0xd3,0x01,0x05,0x02,0x18
diff --git a/test/MC/Disassembler/AMDGPU/mtbuf_vi.txt b/test/MC/Disassembler/AMDGPU/mtbuf_vi.txt
new file mode 100644
index 000000000000..519e03ede69e
--- /dev/null
+++ b/test/MC/Disassembler/AMDGPU/mtbuf_vi.txt
@@ -0,0 +1,22 @@
+# RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI
+
+# VI: tbuffer_load_format_x v1, off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x78,0xe9,0x00,0x01,0x01,0x01]
+0x00 0x00 0x78 0xe9 0x00 0x01 0x01 0x01
+
+# VI: tbuffer_load_format_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x80,0x78,0xe9,0x00,0x01,0x01,0x01]
+0x00 0x80 0x78 0xe9 0x00 0x01 0x01 0x01
+
+# VI: tbuffer_load_format_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x80,0x79,0xe9,0x00,0x01,0x01,0x01]
+0x00 0x80 0x79 0xe9 0x00 0x01 0x01 0x01
+
+# VI: tbuffer_store_format_x v1, off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x00,0x7a,0xe9,0x00,0x01,0x01,0x01]
+0x00 0x00 0x7a 0xe9 0x00 0x01 0x01 0x01
+
+# VI: tbuffer_store_format_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x80,0x7a,0xe9,0x00,0x01,0x01,0x01]
+0x00 0x80 0x7a 0xe9 0x00 0x01 0x01 0x01
+
+# VI: tbuffer_store_format_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1 ; encoding: [0x00,0x80,0x7b,0xe9,0x00,0x01,0x01,0x01]
+0x00 0x80 0x7b 0xe9 0x00 0x01 0x01 0x01
+
+# VI: tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], dfmt:15, nfmt:2, ttmp1 ; encoding: [0x00,0x80,0x7b,0xe9,0x00,0x01,0x1d,0x71]
+0x00 0x80 0x7b 0xe9 0x00 0x01 0x1d 0x71
diff --git a/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6-el.txt b/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6-el.txt
index 30f85c20f808..946e8d885bb7 100644
--- a/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6-el.txt
+++ b/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6-el.txt
@@ -4,7 +4,7 @@
0x0a 0x00 0x29 0x25 # CHECK: addiu $9, $9, 10
0xa0 0x22 0x43 0x7c # CHECK: align $4, $2, $3, 2
0x38 0x00 0x7f 0xec # CHECK: aluipc $3, 56
-0xe9 0xff 0x62 0x3c # CHECK: aui $3, $2, 65513
+0xe9 0xff 0x43 0x3c # CHECK: aui $3, $2, 65513
0xff 0xff 0x7e 0xec # CHECK: auipc $3, -1
0x9b 0x14 0x11 0x04 # CHECK: bal 21104
0xb8 0x96 0x37 0xe8 # CHECK: balc 14572260
diff --git a/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt b/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt
index efc2b401a301..7d2d62714c13 100644
--- a/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt
+++ b/test/MC/Disassembler/Mips/mips32r6/valid-mips32r6.txt
@@ -60,7 +60,7 @@
0x25 0x29 0x00 0x0a # CHECK: addiu $9, $9, 10
0x30 0x42 0x00 0x04 # CHECK: andi $2, $2, 4
0x34 0x42 0x00 0x04 # CHECK: ori $2, $2, 4
-0x3c 0x62 0xff 0xe9 # CHECK: aui $3, $2, 65513
+0x3c 0x43 0xff 0xe9 # CHECK: aui $3, $2, 65513
0x40 0x08 0x78 0x01 # CHECK: mfc0 $8, $15, 1
0x40 0x08 0x80 0x03 # CHECK: mfc0 $8, $16, 3
0x40 0x89 0x78 0x01 # CHECK: mtc0 $9, $15, 1
diff --git a/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6-el.txt b/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6-el.txt
index f436b873aa17..eefd8c6e761d 100644
--- a/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6-el.txt
+++ b/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6-el.txt
@@ -4,7 +4,7 @@
0xa0 0x22 0x43 0x7c # CHECK: align $4, $2, $3, 2
0x38 0x00 0x7f 0xec # CHECK: aluipc $3, 56
0x04 0x00 0x42 0x30 # CHECK: andi $2, $2, 4
-0xe9 0xff 0x62 0x3c # CHECK: aui $3, $2, 65513
+0xe9 0xff 0x43 0x3c # CHECK: aui $3, $2, 65513
0xff 0xff 0x7e 0xec # CHECK: auipc $3, -1
0x9b 0x14 0x11 0x04 # CHECK: bal 21104
0xb8 0x96 0x37 0xe8 # CHECK: balc 14572260
@@ -97,7 +97,7 @@
0x78 0x56 0x66 0x04 # CHECK: dahi $3, $3, 22136
0xcd 0xab 0x7e 0x04 # CHECK: dati $3, $3, 43981
0x64 0x23 0x43 0x7c # CHECK: dalign $4, $2, $3, 5
-0x34 0x12 0x62 0x74 # CHECK: daui $3, $2, 4660
+0x34 0x12 0x43 0x74 # CHECK: daui $3, $2, 4660
0x24 0x20 0x02 0x7c # CHECK: dbitswap $4, $2
0x53 0x90 0xc0 0x00 # CHECK: dclo $18, $6
0x52 0x80 0x20 0x03 # CHECK: dclz $16, $25
diff --git a/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt b/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt
index 15c9ca1082e8..89c49e28dc67 100644
--- a/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt
+++ b/test/MC/Disassembler/Mips/mips64r6/valid-mips64r6.txt
@@ -77,7 +77,7 @@
0x25 0x29 0x00 0x0a # CHECK: addiu $9, $9, 10
0x30 0x42 0x00 0x04 # CHECK: andi $2, $2, 4
0x34 0x42 0x00 0x04 # CHECK: ori $2, $2, 4
-0x3c 0x62 0xff 0xe9 # CHECK: aui $3, $2, 65513
+0x3c 0x43 0xff 0xe9 # CHECK: aui $3, $2, 65513
0x40 0x08 0x78 0x01 # CHECK: mfc0 $8, $15, 1
0x40 0x08 0x80 0x03 # CHECK: mfc0 $8, $16, 3
0x40 0x38 0x50 0x00 # CHECK: dmfc0 $24, $10, 0
@@ -197,7 +197,7 @@
0x60 0x82 0x00 0x01 # CHECK: bnvc $4, $2, 8
0x60 0xa6 0x00 0x40 # CHECK: bnec $5, $6, 260
0x60 0x43 0xff 0xfa # CHECK: bnec $2, $3, -20
-0x74 0x62 0x12 0x34 # CHECK: daui $3, $2, 4660
+0x74 0x43 0x12 0x34 # CHECK: daui $3, $2, 4660
0x7c 0x02 0x20 0x20 # CHECK: bitswap $4, $2
0x7c 0x02 0x20 0x24 # CHECK: dbitswap $4, $2
0x7c 0x43 0x22 0xa0 # CHECK: align $4, $2, $3, 2
diff --git a/test/MC/ELF/bad-expr.s b/test/MC/ELF/bad-expr.s
index 1cad919fee3c..59809700d4a1 100644
--- a/test/MC/ELF/bad-expr.s
+++ b/test/MC/ELF/bad-expr.s
@@ -1,8 +1,12 @@
// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o /dev/null 2>%t
// RUN: FileCheck --input-file=%t %s
-// CHECK: symbol '__executable_start' can not be undefined in a subtraction expression
.data
x:
+// CHECK: [[@LINE+1]]:{{[0-9]+}}: error: symbol '__executable_start' can not be undefined in a subtraction expression
.quad x-__executable_start
+
+// CHECK: [[@LINE+1]]:{{[0-9]+}}: error: unsupported subtraction of qualified symbol
+ .long bar - foo@got
+foo:
diff --git a/test/MC/ELF/bad-expr2.s b/test/MC/ELF/bad-expr2.s
index 3da916b7fa11..dad7431b13c7 100644
--- a/test/MC/ELF/bad-expr2.s
+++ b/test/MC/ELF/bad-expr2.s
@@ -1,11 +1,10 @@
// RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o /dev/null \
// RUN: 2>&1 | FileCheck %s
-// CHECK: No relocation available to represent this relative expression
-// CHECK: call foo - bar
-
-
+// CHECK: [[@LINE+2]]:{{[0-9]+}}: error: No relocation available to represent this relative expression
+// CHECK-NEXT: call foo - bar
call foo - bar
+
.section .foo
foo:
.section .bar
diff --git a/test/MC/Hexagon/duplex-addi-global-imm.s b/test/MC/Hexagon/duplex-addi-global-imm.s
new file mode 100644
index 000000000000..e8e338c6a582
--- /dev/null
+++ b/test/MC/Hexagon/duplex-addi-global-imm.s
@@ -0,0 +1,15 @@
+# RUN: llvm-mc -arch=hexagon -show-encoding %s | FileCheck %s
+# Check that we generate a duplex for this packet.
+# CHECK: encoding: [A,0x40'A',A,A,0x01'B',0x28'B',B,0x20'B']
+
+.data
+g:
+.long 0
+
+.text
+ {
+ r0 = add(r0,##g)
+ r1 = #0
+ }
+
+
diff --git a/test/MC/Mips/mips-rdata.s b/test/MC/Mips/mips-rdata.s
new file mode 100644
index 000000000000..89f96195297e
--- /dev/null
+++ b/test/MC/Mips/mips-rdata.s
@@ -0,0 +1,13 @@
+# Check that .rdata sections have proper name, flags, and section types.
+
+# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o - \
+# RUN: | llvm-readobj -s | FileCheck %s
+
+ .rdata
+ .word 0
+
+# CHECK: Name: .rodata
+# CHECK-NEXT: Type: SHT_PROGBITS
+# CHECK-NEXT: Flags [ (0x2)
+# CHECK-NEXT: SHF_ALLOC
+# CHECK-NEXT: ]
diff --git a/test/MC/Mips/mips-register-names-o32.s b/test/MC/Mips/mips-register-names-o32.s
index c1e30240389a..f59a16346765 100644
--- a/test/MC/Mips/mips-register-names-o32.s
+++ b/test/MC/Mips/mips-register-names-o32.s
@@ -7,6 +7,7 @@
.set noat
addiu $zero, $zero, 0 # CHECK: encoding: [0x24,0x00,0x00,0x00]
addiu $at, $zero, 0 # CHECK: encoding: [0x24,0x01,0x00,0x00]
+addiu $AT, $zero, 0 # CHECK: encoding: [0x24,0x01,0x00,0x00]
addiu $v0, $zero, 0 # CHECK: encoding: [0x24,0x02,0x00,0x00]
addiu $v1, $zero, 0 # CHECK: encoding: [0x24,0x03,0x00,0x00]
addiu $a0, $zero, 0 # CHECK: encoding: [0x24,0x04,0x00,0x00]
diff --git a/test/MC/Mips/mips32r6/valid.s b/test/MC/Mips/mips32r6/valid.s
index 5a3e9dff0ad5..f9fc16d4a265 100644
--- a/test/MC/Mips/mips32r6/valid.s
+++ b/test/MC/Mips/mips32r6/valid.s
@@ -20,7 +20,7 @@ a:
addu $9,10 # CHECK: addiu $9, $9, 10 # encoding: [0x25,0x29,0x00,0x0a]
align $4, $2, $3, 2 # CHECK: align $4, $2, $3, 2 # encoding: [0x7c,0x43,0x22,0xa0]
aluipc $3, 56 # CHECK: aluipc $3, 56 # encoding: [0xec,0x7f,0x00,0x38]
- aui $3, $2, 23 # CHECK: aui $3, $2, 23 # encoding: [0x3c,0x62,0x00,0x17]
+ aui $3, $2, 23 # CHECK: aui $3, $2, 23 # encoding: [0x3c,0x43,0x00,0x17]
auipc $3, -1 # CHECK: auipc $3, -1 # encoding: [0xec,0x7e,0xff,0xff]
bal 21100 # CHECK: bal 21100 # encoding: [0x04,0x11,0x14,0x9b]
balc 14572256 # CHECK: balc 14572256 # encoding: [0xe8,0x37,0x96,0xb8]
diff --git a/test/MC/Mips/mips64-register-names-n32-n64.s b/test/MC/Mips/mips64-register-names-n32-n64.s
index fb2c426c625c..c1eb36a8fc76 100644
--- a/test/MC/Mips/mips64-register-names-n32-n64.s
+++ b/test/MC/Mips/mips64-register-names-n32-n64.s
@@ -13,6 +13,7 @@
.set noat
daddiu $zero, $zero, 0 # CHECK: encoding: [0x64,0x00,0x00,0x00]
daddiu $at, $zero, 0 # CHECK: encoding: [0x64,0x01,0x00,0x00]
+daddiu $AT, $zero, 0 # CHECK: encoding: [0x64,0x01,0x00,0x00]
daddiu $v0, $zero, 0 # CHECK: encoding: [0x64,0x02,0x00,0x00]
daddiu $v1, $zero, 0 # CHECK: encoding: [0x64,0x03,0x00,0x00]
daddiu $a0, $zero, 0 # CHECK: encoding: [0x64,0x04,0x00,0x00]
diff --git a/test/MC/Mips/mips64-register-names-o32.s b/test/MC/Mips/mips64-register-names-o32.s
index 1735a03b312c..18dd01da8709 100644
--- a/test/MC/Mips/mips64-register-names-o32.s
+++ b/test/MC/Mips/mips64-register-names-o32.s
@@ -8,6 +8,7 @@
.set noat
addiu $zero, $zero, 0 # CHECK: encoding: [0x24,0x00,0x00,0x00]
addiu $at, $zero, 0 # CHECK: encoding: [0x24,0x01,0x00,0x00]
+addiu $AT, $zero, 0 # CHECK: encoding: [0x24,0x01,0x00,0x00]
addiu $v0, $zero, 0 # CHECK: encoding: [0x24,0x02,0x00,0x00]
addiu $v1, $zero, 0 # CHECK: encoding: [0x24,0x03,0x00,0x00]
addiu $a0, $zero, 0 # CHECK: encoding: [0x24,0x04,0x00,0x00]
diff --git a/test/MC/Mips/mips64r6/valid.s b/test/MC/Mips/mips64r6/valid.s
index 3b365a75431f..a86b3c915e85 100644
--- a/test/MC/Mips/mips64r6/valid.s
+++ b/test/MC/Mips/mips64r6/valid.s
@@ -20,7 +20,7 @@ a:
align $4, $2, $3, 2 # CHECK: align $4, $2, $3, 2 # encoding: [0x7c,0x43,0x22,0xa0]
aluipc $3, 56 # CHECK: aluipc $3, 56 # encoding: [0xec,0x7f,0x00,0x38]
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
- aui $3, $2, 23 # CHECK: aui $3, $2, 23 # encoding: [0x3c,0x62,0x00,0x17]
+ aui $3, $2, 23 # CHECK: aui $3, $2, 23 # encoding: [0x3c,0x43,0x00,0x17]
auipc $3, -1 # CHECK: auipc $3, -1 # encoding: [0xec,0x7e,0xff,0xff]
bal 21100 # CHECK: bal 21100 # encoding: [0x04,0x11,0x14,0x9b]
balc 14572256 # CHECK: balc 14572256 # encoding: [0xe8,0x37,0x96,0xb8]
@@ -106,7 +106,7 @@ a:
dahi $3, $3, 0x5678 # CHECK: dahi $3, $3, 22136 # encoding: [0x04,0x66,0x56,0x78]
dalign $4,$2,$3,5 # CHECK: dalign $4, $2, $3, 5 # encoding: [0x7c,0x43,0x23,0x64]
dati $3, $3, 0xabcd # CHECK: dati $3, $3, 43981 # encoding: [0x04,0x7e,0xab,0xcd]
- daui $3, $2, 0x1234 # CHECK: daui $3, $2, 4660 # encoding: [0x74,0x62,0x12,0x34]
+ daui $3, $2, 0x1234 # CHECK: daui $3, $2, 4660 # encoding: [0x74,0x43,0x12,0x34]
dbitswap $4, $2 # CHECK: dbitswap $4, $2 # encoding: [0x7c,0x02,0x20,0x24]
dclo $s2,$a2 # CHECK: dclo $18, $6 # encoding: [0x00,0xc0,0x90,0x53]
dclz $s0,$25 # CHECK: dclz $16, $25 # encoding: [0x03,0x20,0x80,0x52]
diff --git a/test/MC/WebAssembly/func-address.ll b/test/MC/WebAssembly/func-address.ll
index c0a9d9a801ff..15c09e0ebd80 100644
--- a/test/MC/WebAssembly/func-address.ll
+++ b/test/MC/WebAssembly/func-address.ll
@@ -25,11 +25,10 @@ entry:
; CHECK: Section {
; CHECK: Type: ELEM (0x9)
; CHECK: Size: 7
-; CHECK: Offset: 165
; CHECK: }
; CHECK: Relocations [
-; CHECK: Section (9) CODE {
+; CHECK: Section (8) CODE {
; CHECK: Relocation {
; CHECK: Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB (0)
; CHECK: Offset: 0x4
@@ -42,7 +41,7 @@ entry:
; CHECK: }
; CHECK: Relocation {
; CHECK: Type: R_WEBASSEMBLY_TABLE_INDEX_SLEB (1)
-; CHECK: Offset: 0x1A
+; CHECK: Offset: 0x1E
; CHECK: Index: 0x0
; CHECK: }
; CHECK: }
diff --git a/test/MC/WebAssembly/stack-ptr.ll b/test/MC/WebAssembly/stack-ptr.ll
new file mode 100644
index 000000000000..98d1311e154c
--- /dev/null
+++ b/test/MC/WebAssembly/stack-ptr.ll
@@ -0,0 +1,21 @@
+; RUN: llc -mtriple wasm32-unknown-unknown-wasm -filetype=obj %s -o - | obj2yaml | FileCheck %s
+
+; Function that uses explict stack, and should generate a reference to
+; __stack_pointer, along with the corresponding reloction entry.
+define hidden void @foo() #0 {
+entry:
+ alloca i32, align 4
+ ret void
+}
+
+; CHECK: - Type: IMPORT
+; CHECK: Imports:
+; CHECK: - Module: env
+; CHECK: Field: __stack_pointer
+; CHECK: Kind: GLOBAL
+; CHECK: GlobalType: I32
+; CHECK: GlobalMutable: false
+; CHECK: - Type: CODE
+; CHECK: Relocations:
+; CHECK: - Type: R_WEBASSEMBLY_GLOBAL_INDEX_LEB
+; CHECK: Index: 0
diff --git a/test/MC/X86/macho-reloc-errors-x86_64.s b/test/MC/X86/macho-reloc-errors-x86_64.s
index 05f77c495b24..4498d03338f3 100644
--- a/test/MC/X86/macho-reloc-errors-x86_64.s
+++ b/test/MC/X86/macho-reloc-errors-x86_64.s
@@ -10,7 +10,7 @@
mov %rax, thing@TLVP
// CHECK-ERROR: 3:9: error: 32-bit absolute addressing is not supported in 64-bit mode
-// CHECK-ERROR: 4:9: error: unsupported relocation of modified symbol
+// CHECK-ERROR: 4:9: error: unsupported subtraction of qualified symbol
// CHECK-ERROR: 5:9: error: unsupported pc-relative relocation of difference
// CHECK-ERROR: 6:9: error: unsupported relocation with identical base
// CHECK-ERROR: 7:9: error: unsupported relocation with subtraction expression, symbol 'thing' can not be undefined in a subtraction expression
diff --git a/test/Object/obj2yaml.test b/test/Object/obj2yaml.test
index 171488da78fb..b89311db6069 100644
--- a/test/Object/obj2yaml.test
+++ b/test/Object/obj2yaml.test
@@ -478,4 +478,4 @@ ELF-X86-64-UNWIND-NEXT: AddressAlign: 0x0000000000000001
ELF-X86-64-UNWIND-NEXT: Content: ''
RUN: not obj2yaml %t.blah 2>&1 | FileCheck --check-prefix=ENOENT %s
-ENOENT: Error: '{{[Nn]}}o such file or directory'
+ENOENT: Error reading file: {{.*}}.blah: {{[Nn]}}o such file or directory
diff --git a/test/ObjectYAML/wasm/header_invalid_version.yaml b/test/ObjectYAML/wasm/header_invalid_version.yaml
index fa742db8cbaf..a7055f08e171 100644
--- a/test/ObjectYAML/wasm/header_invalid_version.yaml
+++ b/test/ObjectYAML/wasm/header_invalid_version.yaml
@@ -3,4 +3,4 @@
FileHeader:
Version: 0x00000002
...
-# CHECK: Error: 'Invalid data was encountered while parsing the file'
+# CHECK: Error reading file: <stdin>: Bad version number
diff --git a/test/ObjectYAML/wasm/weak_symbols.yaml b/test/ObjectYAML/wasm/weak_symbols.yaml
new file mode 100644
index 000000000000..0ae8c9bec2a2
--- /dev/null
+++ b/test/ObjectYAML/wasm/weak_symbols.yaml
@@ -0,0 +1,40 @@
+# RUN: yaml2obj %s | obj2yaml | FileCheck %s
+--- !WASM
+FileHeader:
+ Version: 0x00000001
+Sections:
+ - Type: EXPORT
+ Exports:
+ - Name: function_export
+ Kind: FUNCTION
+ Index: 1
+ - Name: global_export
+ Kind: GLOBAL
+ Index: 2
+ - Type: CUSTOM
+ Name: linking
+ SymbolInfo:
+ - Name: function_export
+ Flags: 1
+ - Name: global_export
+ Flags: 1
+...
+# CHECK: --- !WASM
+# CHECK: FileHeader:
+# CHECK: Version: 0x00000001
+# CHECK: Sections:
+# CHECK: - Type: EXPORT
+# CHECK: Exports:
+# CHECK: - Name: function_export
+# CHECK: Kind: FUNCTION
+# CHECK: Index: 1
+# CHECK: - Name: global_export
+# CHECK: Kind: GLOBAL
+# CHECK: Index: 2
+# CHECK: - Type: CUSTOM
+# CHECK: Name: linking
+# CHECK: SymbolInfo:
+# CHECK: - Name: function_export
+# CHECK: Flags: 1
+# CHECK: - Name: global_export
+# CHECK: Flags: 1
diff --git a/test/TableGen/GlobalISelEmitter.td b/test/TableGen/GlobalISelEmitter.td
index 8778ad71ea72..7c09b97a5e99 100644
--- a/test/TableGen/GlobalISelEmitter.td
+++ b/test/TableGen/GlobalISelEmitter.td
@@ -10,6 +10,8 @@ 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>;
+def F0 : Register<"f0"> { let Namespace = "MyTarget"; }
+def FPR32 : RegisterClass<"MyTarget", [f32], 32, (add F0)>;
class I<dag OOps, dag IOps, list<dag> Pat>
: Instruction {
@@ -462,6 +464,30 @@ def XORManyDefaults : I<(outs GPR32:$dst), (ins m1Z:$src3, Z:$src2, GPR32:$src1)
def ORN : I<(outs GPR32:$dst), (ins GPR32:$src1, GPR32:$src2), []>;
def : Pat<(not GPR32:$Wm), (ORN R0, GPR32:$Wm)>;
+//===- Test a COPY_TO_REGCLASS --------------------------------------------===//
+//
+
+// CHECK-LABEL: if ([&]() {
+// CHECK-NEXT: MachineInstr &MI0 = I;
+// CHECK-NEXT: if (MI0.getNumOperands() < 2)
+// CHECK-NEXT: return false;
+// CHECK-NEXT: if ((MI0.getOpcode() == TargetOpcode::G_BITCAST) &&
+// CHECK-NEXT: ((/* dst */ (MRI.getType(MI0.getOperand(0).getReg()) == (LLT::scalar(32))) &&
+// CHECK-NEXT: ((&RBI.getRegBankFromRegClass(MyTarget::GPR32RegClass) == RBI.getRegBank(MI0.getOperand(0).getReg(), MRI, TRI))))) &&
+// CHECK-NEXT: ((/* src1 */ (MRI.getType(MI0.getOperand(1).getReg()) == (LLT::scalar(32))) &&
+// CHECK-NEXT: ((&RBI.getRegBankFromRegClass(MyTarget::FPR32RegClass) == RBI.getRegBank(MI0.getOperand(1).getReg(), MRI, TRI))))))
+// CHECK-NEXT: // (bitconvert:i32 FPR32:f32:$src1) => (COPY_TO_REGCLASS:i32 FPR32:f32:$src1, GPR32:i32)
+// CHECK-NEXT: I.setDesc(TII.get(TargetOpcode::COPY));
+// CHECK-NEXT: MachineInstr &NewI = I;
+// CHECK-NEXT: constrainOperandRegToRegClass(NewI, 0, MyTarget::GPR32RegClass, TII, TRI, RBI);
+// CHECK-NEXT: return true;
+// CHECK-NEXT: }
+// CHECK-NEXT: return false;
+// CHECK-NEXT: }()) { return true; }
+
+def : Pat<(i32 (bitconvert FPR32:$src1)),
+ (COPY_TO_REGCLASS FPR32:$src1, GPR32)>;
+
//===- Test a simple pattern with just a leaf immediate. ------------------===//
// CHECK-LABEL: if ([&]() {
diff --git a/test/Transforms/CodeGenPrepare/X86/memcmp.ll b/test/Transforms/CodeGenPrepare/X86/memcmp.ll
index 328e8cc2907f..690e714af261 100644
--- a/test/Transforms/CodeGenPrepare/X86/memcmp.ll
+++ b/test/Transforms/CodeGenPrepare/X86/memcmp.ll
@@ -1,14 +1,50 @@
-; RUN: opt -S -codegenprepare -mtriple=i686-unknown-unknown < %s | FileCheck %s --check-prefix=ALL --check-prefix=X32
-; RUN: opt -S -codegenprepare -mtriple=x86_64-unknown-unknown < %s | FileCheck %s --check-prefix=ALL --check-prefix=X64
-
-target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
+; RUN: opt -S -codegenprepare -mtriple=i686-unknown-unknown -data-layout=e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128 < %s | FileCheck %s --check-prefix=ALL --check-prefix=X32
+; RUN: opt -S -codegenprepare -mtriple=x86_64-unknown-unknown -data-layout=e-m:o-i64:64-f80:128-n8:16:32:64-S128 < %s | FileCheck %s --check-prefix=ALL --check-prefix=X64
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
define i32 @cmp2(i8* nocapture readonly %x, i8* nocapture readonly %y) {
-; ALL-LABEL: @cmp2(
-; ALL-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* %x, i8* %y, i64 2)
-; ALL-NEXT: ret i32 [[CALL]]
+; X32-LABEL: @cmp2(
+; X32-NEXT: loadbb:
+; X32-NEXT: [[TMP0:%.*]] = bitcast i8* %x to i16*
+; X32-NEXT: [[TMP1:%.*]] = bitcast i8* %y to i16*
+; X32-NEXT: [[TMP2:%.*]] = load i16, i16* [[TMP0]]
+; X32-NEXT: [[TMP3:%.*]] = load i16, i16* [[TMP1]]
+; X32-NEXT: [[TMP4:%.*]] = call i16 @llvm.bswap.i16(i16 [[TMP2]])
+; X32-NEXT: [[TMP5:%.*]] = call i16 @llvm.bswap.i16(i16 [[TMP3]])
+; X32-NEXT: [[TMP6:%.*]] = zext i16 [[TMP4]] to i32
+; X32-NEXT: [[TMP7:%.*]] = zext i16 [[TMP5]] to i32
+; X32-NEXT: [[TMP8:%.*]] = sub i32 [[TMP6]], [[TMP7]]
+; X32-NEXT: [[TMP9:%.*]] = icmp ne i32 [[TMP8]], 0
+; X32-NEXT: br i1 [[TMP9]], label %res_block, label %endblock
+; X32: res_block:
+; X32-NEXT: [[TMP10:%.*]] = icmp ult i32 [[TMP6]], [[TMP7]]
+; X32-NEXT: [[TMP11:%.*]] = select i1 [[TMP10]], i32 -1, i32 1
+; X32-NEXT: br label %endblock
+; X32: endblock:
+; X32-NEXT: [[PHI_RES:%.*]] = phi i32 [ 0, %loadbb ], [ [[TMP11]], %res_block ]
+; X32-NEXT: ret i32 [[PHI_RES]]
+;
+; X64-LABEL: @cmp2(
+; X64-NEXT: loadbb:
+; X64-NEXT: [[TMP0:%.*]] = bitcast i8* %x to i16*
+; X64-NEXT: [[TMP1:%.*]] = bitcast i8* %y to i16*
+; X64-NEXT: [[TMP2:%.*]] = load i16, i16* [[TMP0]]
+; X64-NEXT: [[TMP3:%.*]] = load i16, i16* [[TMP1]]
+; X64-NEXT: [[TMP4:%.*]] = call i16 @llvm.bswap.i16(i16 [[TMP2]])
+; X64-NEXT: [[TMP5:%.*]] = call i16 @llvm.bswap.i16(i16 [[TMP3]])
+; X64-NEXT: [[TMP6:%.*]] = zext i16 [[TMP4]] to i64
+; X64-NEXT: [[TMP7:%.*]] = zext i16 [[TMP5]] to i64
+; X64-NEXT: [[TMP8:%.*]] = sub i64 [[TMP6]], [[TMP7]]
+; X64-NEXT: [[TMP9:%.*]] = icmp ne i64 [[TMP8]], 0
+; X64-NEXT: br i1 [[TMP9]], label %res_block, label %endblock
+; X64: res_block:
+; X64-NEXT: [[TMP10:%.*]] = icmp ult i64 [[TMP6]], [[TMP7]]
+; X64-NEXT: [[TMP11:%.*]] = select i1 [[TMP10]], i32 -1, i32 1
+; X64-NEXT: br label %endblock
+; X64: endblock:
+; X64-NEXT: [[PHI_RES:%.*]] = phi i32 [ 0, %loadbb ], [ [[TMP11]], %res_block ]
+; X64-NEXT: ret i32 [[PHI_RES]]
;
%call = tail call i32 @memcmp(i8* %x, i8* %y, i64 2)
ret i32 %call
@@ -24,9 +60,45 @@ define i32 @cmp3(i8* nocapture readonly %x, i8* nocapture readonly %y) {
}
define i32 @cmp4(i8* nocapture readonly %x, i8* nocapture readonly %y) {
-; ALL-LABEL: @cmp4(
-; ALL-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* %x, i8* %y, i64 4)
-; ALL-NEXT: ret i32 [[CALL]]
+; X32-LABEL: @cmp4(
+; X32-NEXT: loadbb:
+; X32-NEXT: [[TMP0:%.*]] = bitcast i8* %x to i32*
+; X32-NEXT: [[TMP1:%.*]] = bitcast i8* %y to i32*
+; X32-NEXT: [[TMP2:%.*]] = load i32, i32* [[TMP0]]
+; X32-NEXT: [[TMP3:%.*]] = load i32, i32* [[TMP1]]
+; X32-NEXT: [[TMP4:%.*]] = call i32 @llvm.bswap.i32(i32 [[TMP2]])
+; X32-NEXT: [[TMP5:%.*]] = call i32 @llvm.bswap.i32(i32 [[TMP3]])
+; X32-NEXT: [[TMP6:%.*]] = sub i32 [[TMP4]], [[TMP5]]
+; X32-NEXT: [[TMP7:%.*]] = icmp ne i32 [[TMP6]], 0
+; X32-NEXT: br i1 [[TMP7]], label %res_block, label %endblock
+; X32: res_block:
+; X32-NEXT: [[TMP8:%.*]] = icmp ult i32 [[TMP4]], [[TMP5]]
+; X32-NEXT: [[TMP9:%.*]] = select i1 [[TMP8]], i32 -1, i32 1
+; X32-NEXT: br label %endblock
+; X32: endblock:
+; X32-NEXT: [[PHI_RES:%.*]] = phi i32 [ 0, %loadbb ], [ [[TMP9]], %res_block ]
+; X32-NEXT: ret i32 [[PHI_RES]]
+;
+; X64-LABEL: @cmp4(
+; X64-NEXT: loadbb:
+; X64-NEXT: [[TMP0:%.*]] = bitcast i8* %x to i32*
+; X64-NEXT: [[TMP1:%.*]] = bitcast i8* %y to i32*
+; X64-NEXT: [[TMP2:%.*]] = load i32, i32* [[TMP0]]
+; X64-NEXT: [[TMP3:%.*]] = load i32, i32* [[TMP1]]
+; X64-NEXT: [[TMP4:%.*]] = call i32 @llvm.bswap.i32(i32 [[TMP2]])
+; X64-NEXT: [[TMP5:%.*]] = call i32 @llvm.bswap.i32(i32 [[TMP3]])
+; X64-NEXT: [[TMP6:%.*]] = zext i32 [[TMP4]] to i64
+; X64-NEXT: [[TMP7:%.*]] = zext i32 [[TMP5]] to i64
+; X64-NEXT: [[TMP8:%.*]] = sub i64 [[TMP6]], [[TMP7]]
+; X64-NEXT: [[TMP9:%.*]] = icmp ne i64 [[TMP8]], 0
+; X64-NEXT: br i1 [[TMP9]], label %res_block, label %endblock
+; X64: res_block:
+; X64-NEXT: [[TMP10:%.*]] = icmp ult i64 [[TMP6]], [[TMP7]]
+; X64-NEXT: [[TMP11:%.*]] = select i1 [[TMP10]], i32 -1, i32 1
+; X64-NEXT: br label %endblock
+; X64: endblock:
+; X64-NEXT: [[PHI_RES:%.*]] = phi i32 [ 0, %loadbb ], [ [[TMP11]], %res_block ]
+; X64-NEXT: ret i32 [[PHI_RES]]
;
%call = tail call i32 @memcmp(i8* %x, i8* %y, i64 4)
ret i32 %call
@@ -60,9 +132,28 @@ define i32 @cmp7(i8* nocapture readonly %x, i8* nocapture readonly %y) {
}
define i32 @cmp8(i8* nocapture readonly %x, i8* nocapture readonly %y) {
-; ALL-LABEL: @cmp8(
-; ALL-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* %x, i8* %y, i64 8)
-; ALL-NEXT: ret i32 [[CALL]]
+; X32-LABEL: @cmp8(
+; X32-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* %x, i8* %y, i64 8)
+; X32-NEXT: ret i32 [[CALL]]
+;
+; X64-LABEL: @cmp8(
+; X64-NEXT: loadbb:
+; X64-NEXT: [[TMP0:%.*]] = bitcast i8* %x to i64*
+; X64-NEXT: [[TMP1:%.*]] = bitcast i8* %y to i64*
+; X64-NEXT: [[TMP2:%.*]] = load i64, i64* [[TMP0]]
+; X64-NEXT: [[TMP3:%.*]] = load i64, i64* [[TMP1]]
+; X64-NEXT: [[TMP4:%.*]] = call i64 @llvm.bswap.i64(i64 [[TMP2]])
+; X64-NEXT: [[TMP5:%.*]] = call i64 @llvm.bswap.i64(i64 [[TMP3]])
+; X64-NEXT: [[TMP6:%.*]] = sub i64 [[TMP4]], [[TMP5]]
+; X64-NEXT: [[TMP7:%.*]] = icmp ne i64 [[TMP6]], 0
+; X64-NEXT: br i1 [[TMP7]], label %res_block, label %endblock
+; X64: res_block:
+; X64-NEXT: [[TMP8:%.*]] = icmp ult i64 [[TMP4]], [[TMP5]]
+; X64-NEXT: [[TMP9:%.*]] = select i1 [[TMP8]], i32 -1, i32 1
+; X64-NEXT: br label %endblock
+; X64: endblock:
+; X64-NEXT: [[PHI_RES:%.*]] = phi i32 [ 0, %loadbb ], [ [[TMP9]], %res_block ]
+; X64-NEXT: ret i32 [[PHI_RES]]
;
%call = tail call i32 @memcmp(i8* %x, i8* %y, i64 8)
ret i32 %call
@@ -142,8 +233,13 @@ define i32 @cmp16(i8* nocapture readonly %x, i8* nocapture readonly %y) {
define i32 @cmp_eq2(i8* nocapture readonly %x, i8* nocapture readonly %y) {
; ALL-LABEL: @cmp_eq2(
-; ALL-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* %x, i8* %y, i64 2)
-; ALL-NEXT: [[CMP:%.*]] = icmp eq i32 [[CALL]], 0
+; ALL-NEXT: [[TMP1:%.*]] = bitcast i8* %x to i16*
+; ALL-NEXT: [[TMP2:%.*]] = bitcast i8* %y to i16*
+; ALL-NEXT: [[TMP3:%.*]] = load i16, i16* [[TMP1]]
+; ALL-NEXT: [[TMP4:%.*]] = load i16, i16* [[TMP2]]
+; ALL-NEXT: [[TMP5:%.*]] = icmp ne i16 [[TMP3]], [[TMP4]]
+; ALL-NEXT: [[TMP6:%.*]] = zext i1 [[TMP5]] to i32
+; ALL-NEXT: [[CMP:%.*]] = icmp eq i32 [[TMP6]], 0
; ALL-NEXT: [[CONV:%.*]] = zext i1 [[CMP]] to i32
; ALL-NEXT: ret i32 [[CONV]]
;
@@ -168,8 +264,13 @@ define i32 @cmp_eq3(i8* nocapture readonly %x, i8* nocapture readonly %y) {
define i32 @cmp_eq4(i8* nocapture readonly %x, i8* nocapture readonly %y) {
; ALL-LABEL: @cmp_eq4(
-; ALL-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* %x, i8* %y, i64 4)
-; ALL-NEXT: [[CMP:%.*]] = icmp eq i32 [[CALL]], 0
+; ALL-NEXT: [[TMP1:%.*]] = bitcast i8* %x to i32*
+; ALL-NEXT: [[TMP2:%.*]] = bitcast i8* %y to i32*
+; ALL-NEXT: [[TMP3:%.*]] = load i32, i32* [[TMP1]]
+; ALL-NEXT: [[TMP4:%.*]] = load i32, i32* [[TMP2]]
+; ALL-NEXT: [[TMP5:%.*]] = icmp ne i32 [[TMP3]], [[TMP4]]
+; ALL-NEXT: [[TMP6:%.*]] = zext i1 [[TMP5]] to i32
+; ALL-NEXT: [[CMP:%.*]] = icmp eq i32 [[TMP6]], 0
; ALL-NEXT: [[CONV:%.*]] = zext i1 [[CMP]] to i32
; ALL-NEXT: ret i32 [[CONV]]
;
@@ -219,11 +320,22 @@ define i32 @cmp_eq7(i8* nocapture readonly %x, i8* nocapture readonly %y) {
}
define i32 @cmp_eq8(i8* nocapture readonly %x, i8* nocapture readonly %y) {
-; ALL-LABEL: @cmp_eq8(
-; ALL-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* %x, i8* %y, i64 8)
-; ALL-NEXT: [[CMP:%.*]] = icmp eq i32 [[CALL]], 0
-; ALL-NEXT: [[CONV:%.*]] = zext i1 [[CMP]] to i32
-; ALL-NEXT: ret i32 [[CONV]]
+; X32-LABEL: @cmp_eq8(
+; X32-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* %x, i8* %y, i64 8)
+; X32-NEXT: [[CMP:%.*]] = icmp eq i32 [[CALL]], 0
+; X32-NEXT: [[CONV:%.*]] = zext i1 [[CMP]] to i32
+; X32-NEXT: ret i32 [[CONV]]
+;
+; X64-LABEL: @cmp_eq8(
+; X64-NEXT: [[TMP1:%.*]] = bitcast i8* %x to i64*
+; X64-NEXT: [[TMP2:%.*]] = bitcast i8* %y to i64*
+; X64-NEXT: [[TMP3:%.*]] = load i64, i64* [[TMP1]]
+; X64-NEXT: [[TMP4:%.*]] = load i64, i64* [[TMP2]]
+; X64-NEXT: [[TMP5:%.*]] = icmp ne i64 [[TMP3]], [[TMP4]]
+; X64-NEXT: [[TMP6:%.*]] = zext i1 [[TMP5]] to i32
+; X64-NEXT: [[CMP:%.*]] = icmp eq i32 [[TMP6]], 0
+; X64-NEXT: [[CONV:%.*]] = zext i1 [[CMP]] to i32
+; X64-NEXT: ret i32 [[CONV]]
;
%call = tail call i32 @memcmp(i8* %x, i8* %y, i64 8)
%cmp = icmp eq i32 %call, 0
diff --git a/test/Transforms/CorrelatedValuePropagation/add.ll b/test/Transforms/CorrelatedValuePropagation/add.ll
index 0ba521c894e2..b07330aa0f26 100644
--- a/test/Transforms/CorrelatedValuePropagation/add.ll
+++ b/test/Transforms/CorrelatedValuePropagation/add.ll
@@ -212,3 +212,98 @@ then:
else:
ret i32 0
}
+
+; Check that we can gather information for conditions is the form of
+; or ( i s>= 100, Unknown )
+; CHECK-LABEL: @test12(
+define void @test12(i32 %a, i1 %flag) {
+entry:
+ %cmp.1 = icmp sge i32 %a, 100
+ %cmp = or i1 %cmp.1, %flag
+ br i1 %cmp, label %exit, label %bb
+
+bb:
+; CHECK: %add = add nsw i32 %a, 1
+ %add = add i32 %a, 1
+ br label %exit
+
+exit:
+ ret void
+}
+
+; Check that we can gather information for conditions is the form of
+; or ( i s>= 100, i s<= 0 )
+; CHECK-LABEL: @test13(
+define void @test13(i32 %a) {
+entry:
+ %cmp.1 = icmp sge i32 %a, 100
+ %cmp.2 = icmp sle i32 %a, 0
+ %cmp = or i1 %cmp.1, %cmp.2
+ br i1 %cmp, label %exit, label %bb
+
+bb:
+; CHECK: %add = add nuw nsw i32 %a, 1
+ %add = add i32 %a, 1
+ br label %exit
+
+exit:
+ ret void
+}
+
+; Check that for conditions is the form of cond1 || cond2 we don't mistakenly
+; assume that cond1 || cond2 holds down to true path.
+; CHECK-LABEL: @test13_neg(
+define void @test13_neg(i32 %a) {
+entry:
+ %cmp.1 = icmp slt i32 %a, 100
+ %cmp.2 = icmp sgt i32 %a, 0
+ %cmp = or i1 %cmp.1, %cmp.2
+ br i1 %cmp, label %bb, label %exit
+
+bb:
+; CHECK: %add = add i32 %a, 1
+ %add = add i32 %a, 1
+ br label %exit
+
+exit:
+ ret void
+}
+
+; Check that we can gather information for conditions is the form of
+; or ( i s>=100, or (i s<= 0, Unknown )
+; CHECK-LABEL: @test14(
+define void @test14(i32 %a, i1 %flag) {
+entry:
+ %cmp.1 = icmp sge i32 %a, 100
+ %cmp.2 = icmp sle i32 %a, 0
+ %cmp.3 = or i1 %cmp.2, %flag
+ %cmp = or i1 %cmp.1, %cmp.3
+ br i1 %cmp, label %exit, label %bb
+
+bb:
+; CHECK: %add = add nuw nsw i32 %a, 1
+ %add = add i32 %a, 1
+ br label %exit
+
+exit:
+ ret void
+}
+
+; Check that we can gather information for conditions is the form of
+; or ( i s>= Unknown, ... )
+; CHECK-LABEL: @test15(
+define void @test15(i32 %a, i32 %b, i1 %flag) {
+entry:
+ %cmp.1 = icmp sge i32 %a, %b
+ %cmp = or i1 %cmp.1, %flag
+ br i1 %cmp, label %exit, label %bb
+
+bb:
+; CHECK: %add = add nsw i32 %a, 1
+ %add = add i32 %a, 1
+ br label %exit
+
+exit:
+ ret void
+}
+
diff --git a/test/Transforms/GVN/PRE/phi-translate-2.ll b/test/Transforms/GVN/PRE/phi-translate-2.ll
new file mode 100644
index 000000000000..78681e20df5e
--- /dev/null
+++ b/test/Transforms/GVN/PRE/phi-translate-2.ll
@@ -0,0 +1,131 @@
+; RUN: opt < %s -gvn -S | FileCheck %s
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+
+@a = common global [100 x i64] zeroinitializer, align 16
+@b = common global [100 x i64] zeroinitializer, align 16
+@g1 = common global i64 0, align 8
+@g2 = common global i64 0, align 8
+@g3 = common global i64 0, align 8
+declare i64 @goo(...) local_unnamed_addr #1
+
+define void @test1(i64 %a, i64 %b, i64 %c, i64 %d) {
+entry:
+ %mul = mul nsw i64 %b, %a
+ store i64 %mul, i64* @g1, align 8
+ %t0 = load i64, i64* @g2, align 8
+ %cmp = icmp sgt i64 %t0, 3
+ br i1 %cmp, label %if.then, label %if.end
+
+if.then: ; preds = %entry
+ %mul2 = mul nsw i64 %d, %c
+ store i64 %mul2, i64* @g2, align 8
+ br label %if.end
+
+; Check phi-translate works and mul is removed.
+; CHECK-LABEL: @test1(
+; CHECK: if.end:
+; CHECK: %[[MULPHI:.*]] = phi i64 [ {{.*}}, %if.then ], [ %mul, %entry ]
+; CHECK-NOT: = mul
+; CHECK: store i64 %[[MULPHI]], i64* @g3, align 8
+if.end: ; preds = %if.then, %entry
+ %b.addr.0 = phi i64 [ %d, %if.then ], [ %b, %entry ]
+ %a.addr.0 = phi i64 [ %c, %if.then ], [ %a, %entry ]
+ %mul3 = mul nsw i64 %a.addr.0, %b.addr.0
+ store i64 %mul3, i64* @g3, align 8
+ ret void
+}
+
+define void @test2(i64 %i) {
+entry:
+ %arrayidx = getelementptr inbounds [100 x i64], [100 x i64]* @a, i64 0, i64 %i
+ %t0 = load i64, i64* %arrayidx, align 8
+ %arrayidx1 = getelementptr inbounds [100 x i64], [100 x i64]* @b, i64 0, i64 %i
+ %t1 = load i64, i64* %arrayidx1, align 8
+ %mul = mul nsw i64 %t1, %t0
+ store i64 %mul, i64* @g1, align 8
+ %cmp = icmp sgt i64 %mul, 3
+ br i1 %cmp, label %if.then, label %if.end
+
+; Check phi-translate works for the phi generated by loadpre. A new mul will be
+; inserted in if.then block.
+; CHECK-LABEL: @test2(
+; CHECK: if.then:
+; CHECK: %[[MUL_THEN:.*]] = mul
+; CHECK: br label %if.end
+if.then: ; preds = %entry
+ %call = tail call i64 (...) @goo() #2
+ store i64 %call, i64* @g2, align 8
+ br label %if.end
+
+; CHECK: if.end:
+; CHECK: %[[MULPHI:.*]] = phi i64 [ %[[MUL_THEN]], %if.then ], [ %mul, %entry ]
+; CHECK-NOT: = mul
+; CHECK: store i64 %[[MULPHI]], i64* @g3, align 8
+if.end: ; preds = %if.then, %entry
+ %i.addr.0 = phi i64 [ 3, %if.then ], [ %i, %entry ]
+ %arrayidx3 = getelementptr inbounds [100 x i64], [100 x i64]* @a, i64 0, i64 %i.addr.0
+ %t2 = load i64, i64* %arrayidx3, align 8
+ %arrayidx4 = getelementptr inbounds [100 x i64], [100 x i64]* @b, i64 0, i64 %i.addr.0
+ %t3 = load i64, i64* %arrayidx4, align 8
+ %mul5 = mul nsw i64 %t3, %t2
+ store i64 %mul5, i64* @g3, align 8
+ ret void
+}
+
+; Check phi-translate doesn't go through backedge, which may lead to incorrect
+; pre transformation.
+; CHECK: for.end:
+; CHECK-NOT: %{{.*pre-phi}} = phi
+; CHECK: ret void
+define void @test3(i64 %N, i64* nocapture readonly %a) {
+entry:
+ br label %for.cond
+
+for.cond: ; preds = %for.body, %entry
+ %i.0 = phi i64 [ 0, %entry ], [ %add, %for.body ]
+ %add = add nuw nsw i64 %i.0, 1
+ %arrayidx = getelementptr inbounds i64, i64* %a, i64 %add
+ %tmp0 = load i64, i64* %arrayidx, align 8
+ %cmp = icmp slt i64 %i.0, %N
+ br i1 %cmp, label %for.body, label %for.end
+
+for.body: ; preds = %for.cond
+ %call = tail call i64 (...) @goo() #2
+ %add1 = sub nsw i64 0, %call
+ %tobool = icmp eq i64 %tmp0, %add1
+ br i1 %tobool, label %for.cond, label %for.end
+
+for.end: ; preds = %for.body, %for.cond
+ %i.0.lcssa = phi i64 [ %i.0, %for.body ], [ %i.0, %for.cond ]
+ %arrayidx2 = getelementptr inbounds i64, i64* %a, i64 %i.0.lcssa
+ %tmp1 = load i64, i64* %arrayidx2, align 8
+ store i64 %tmp1, i64* @g1, align 8
+ ret void
+}
+
+; It is incorrect to use the value of %andres in last loop iteration
+; to do pre.
+; CHECK-LABEL: @test4(
+; CHECK: for.body:
+; CHECK-NOT: %andres.pre-phi = phi i32
+; CHECK: br i1 %tobool1
+
+define i32 @test4(i32 %cond, i32 %SectionAttrs.0231.ph, i32 *%AttrFlag) {
+for.body.preheader:
+ %t514 = load volatile i32, i32* %AttrFlag
+ br label %for.body
+
+for.body:
+ %t320 = phi i32 [ %t334, %bb343 ], [ %t514, %for.body.preheader ]
+ %andres = and i32 %t320, %SectionAttrs.0231.ph
+ %tobool1 = icmp eq i32 %andres, 0
+ br i1 %tobool1, label %bb343, label %critedge.loopexit
+
+bb343:
+ %t334 = load volatile i32, i32* %AttrFlag
+ %tobool2 = icmp eq i32 %cond, 0
+ br i1 %tobool2, label %critedge.loopexit, label %for.body
+
+critedge.loopexit:
+ unreachable
+}
diff --git a/test/Transforms/GVN/PRE/pre-gep-load.ll b/test/Transforms/GVN/PRE/pre-gep-load.ll
index 9eec8bb6455b..1b2b4d20d31d 100644
--- a/test/Transforms/GVN/PRE/pre-gep-load.ll
+++ b/test/Transforms/GVN/PRE/pre-gep-load.ll
@@ -37,7 +37,7 @@ sw.bb2: ; preds = %if.end, %entry
%3 = load double, double* %arrayidx5, align 8
; CHECK: sw.bb2:
; CHECK-NOT: sext
-; CHECK-NEXT: phi double [
+; CHECK: phi double [
; CHECK-NOT: load
%sub6 = fsub double 3.000000e+00, %3
br label %return
diff --git a/test/Transforms/GVN/PRE/pre-load.ll b/test/Transforms/GVN/PRE/pre-load.ll
index 685df24f62b6..ffff2b7f08e5 100644
--- a/test/Transforms/GVN/PRE/pre-load.ll
+++ b/test/Transforms/GVN/PRE/pre-load.ll
@@ -72,7 +72,7 @@ block4:
%PRE = load i32, i32* %P3
ret i32 %PRE
; CHECK: block4:
-; CHECK-NEXT: phi i32 [
+; CHECK: phi i32 [
; CHECK-NOT: load
; CHECK: ret i32
}
@@ -104,7 +104,7 @@ block4:
%PRE = load i32, i32* %P3
ret i32 %PRE
; CHECK: block4:
-; CHECK-NEXT: phi i32 [
+; CHECK: phi i32 [
; CHECK-NOT: load
; CHECK: ret i32
}
@@ -263,7 +263,7 @@ block4:
%PRE = load i32, i32* %P3
ret i32 %PRE
; CHECK: block4:
-; CHECK-NEXT: phi i32 [
+; CHECK: phi i32 [
; CHECK-NOT: load
; CHECK: ret i32
}
diff --git a/test/Transforms/IndVarSimplify/huge_muls.ll b/test/Transforms/IndVarSimplify/huge_muls.ll
new file mode 100644
index 000000000000..92722ca3ce0d
--- /dev/null
+++ b/test/Transforms/IndVarSimplify/huge_muls.ll
@@ -0,0 +1,87 @@
+; RUN: opt < %s -indvars -S | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+; This test takes excessively long time if SCEV tries to construct huge
+; SCEVMulExpr's (with ~1000 ops) due to non-linear analysis cost.
+define i32 @test() {
+; CHECK-LABEL: @test(
+bci_0:
+ br label %bci_12
+
+bci_133: ; preds = %bci_127.unr-lcssa
+ ret i32 %tmp17
+
+bci_12: ; preds = %bci_127.unr-lcssa, %bci_0
+ %indvars.iv184 = phi i64 [ %indvars.iv.next185, %bci_127.unr-lcssa ], [ 3, %bci_0 ]
+ %tmp1 = trunc i64 %indvars.iv184 to i32
+ br label %bci_55.postloop
+
+bci_127.unr-lcssa: ; preds = %bci_90.postloop
+ %indvars.iv.next185 = add nuw nsw i64 %indvars.iv184, 1
+ %tmp4 = icmp sgt i64 %indvars.iv184, 91
+ br i1 %tmp4, label %bci_133, label %bci_12
+
+bci_55.postloop: ; preds = %bci_90.postloop, %bci_12
+ %indvars.iv180.postloop = phi i64 [ %indvars.iv.next181.postloop, %bci_90.postloop ], [ 15, %bci_12 ]
+ %local_2_16.postloop = phi i32 [ %tmp17, %bci_90.postloop ], [ 4, %bci_12 ]
+ %indvars.iv.next181.postloop = add nuw nsw i64 %indvars.iv180.postloop, 1
+ %tmp6 = load i32, i32 addrspace(1)* undef, align 4
+ %tmp7 = mul i32 %tmp6, %tmp1
+ br label %not_zero65.us.postloop
+
+not_zero65.us.postloop: ; preds = %not_zero65.us.postloop.1, %bci_55.postloop
+ %local_2_24.us.postloop = phi i32 [ %local_2_16.postloop, %bci_55.postloop ], [ %tmp49, %not_zero65.us.postloop.1 ]
+ %local_6_.us.postloop = phi i32 [ 3, %bci_55.postloop ], [ %tmp50, %not_zero65.us.postloop.1 ]
+ %tmp8 = mul i32 %tmp7, %local_2_24.us.postloop
+ %tmp9 = mul i32 %tmp8, %local_2_24.us.postloop
+ %tmp10 = mul i32 %tmp7, %tmp9
+ %tmp11 = mul i32 %tmp10, %tmp9
+ %tmp12 = mul i32 %tmp7, %tmp11
+ %tmp13 = mul i32 %tmp12, %tmp11
+ %tmp14 = mul i32 %tmp7, %tmp13
+ %tmp15 = mul i32 %tmp14, %tmp13
+ %tmp16 = mul i32 %tmp7, %tmp15
+ %tmp17 = mul i32 %tmp16, %tmp15
+ %tmp18 = icmp sgt i32 %local_6_.us.postloop, 82
+ br i1 %tmp18, label %bci_90.postloop, label %not_zero65.us.postloop.1
+
+bci_90.postloop: ; preds = %not_zero65.us.postloop
+ %tmp19 = icmp sgt i64 %indvars.iv180.postloop, 68
+ br i1 %tmp19, label %bci_127.unr-lcssa, label %bci_55.postloop
+
+not_zero65.us.postloop.1: ; preds = %not_zero65.us.postloop
+ %tmp20 = mul i32 %tmp7, %tmp17
+ %tmp21 = mul i32 %tmp20, %tmp17
+ %tmp22 = mul i32 %tmp7, %tmp21
+ %tmp23 = mul i32 %tmp22, %tmp21
+ %tmp24 = mul i32 %tmp7, %tmp23
+ %tmp25 = mul i32 %tmp24, %tmp23
+ %tmp26 = mul i32 %tmp7, %tmp25
+ %tmp27 = mul i32 %tmp26, %tmp25
+ %tmp28 = mul i32 %tmp7, %tmp27
+ %tmp29 = mul i32 %tmp28, %tmp27
+ %tmp30 = mul i32 %tmp7, %tmp29
+ %tmp31 = mul i32 %tmp30, %tmp29
+ %tmp32 = mul i32 %tmp7, %tmp31
+ %tmp33 = mul i32 %tmp32, %tmp31
+ %tmp34 = mul i32 %tmp7, %tmp33
+ %tmp35 = mul i32 %tmp34, %tmp33
+ %tmp36 = mul i32 %tmp7, %tmp35
+ %tmp37 = mul i32 %tmp36, %tmp35
+ %tmp38 = mul i32 %tmp7, %tmp37
+ %tmp39 = mul i32 %tmp38, %tmp37
+ %tmp40 = mul i32 %tmp7, %tmp39
+ %tmp41 = mul i32 %tmp40, %tmp39
+ %tmp42 = mul i32 %tmp7, %tmp41
+ %tmp43 = mul i32 %tmp42, %tmp41
+ %tmp44 = mul i32 %tmp7, %tmp43
+ %tmp45 = mul i32 %tmp44, %tmp43
+ %tmp46 = mul i32 %tmp7, %tmp45
+ %tmp47 = mul i32 %tmp46, %tmp45
+ %tmp48 = mul i32 %tmp7, %tmp47
+ %tmp49 = mul i32 %tmp48, %tmp47
+ %tmp50 = add nsw i32 %local_6_.us.postloop, 20
+ br label %not_zero65.us.postloop
+}
diff --git a/test/Transforms/InferFunctionAttrs/annotate.ll b/test/Transforms/InferFunctionAttrs/annotate.ll
index cb4b5cdd1e8c..80ac8f99edc0 100644
--- a/test/Transforms/InferFunctionAttrs/annotate.ll
+++ b/test/Transforms/InferFunctionAttrs/annotate.ll
@@ -844,7 +844,7 @@ declare i64 @strcspn(i8*, i8*)
; CHECK: declare noalias i8* @strdup(i8* nocapture readonly) [[G0]]
declare i8* @strdup(i8*)
-; CHECK: declare i64 @strlen(i8* nocapture) [[G1]]
+; CHECK: declare i64 @strlen(i8* nocapture) [[G2:#[0-9]+]]
declare i64 @strlen(i8*)
; CHECK: declare i32 @strncasecmp(i8* nocapture, i8* nocapture, i64) [[G1]]
@@ -996,10 +996,11 @@ declare i64 @write(i32, i8*, i64)
; memset_pattern16 isn't available everywhere.
-; CHECK-DARWIN: declare void @memset_pattern16(i8* nocapture, i8* nocapture readonly, i64) [[G2:#[0-9]+]]
+; CHECK-DARWIN: declare void @memset_pattern16(i8* nocapture, i8* nocapture readonly, i64) [[G3:#[0-9]+]]
declare void @memset_pattern16(i8*, i8*, i64)
; CHECK: attributes [[G0]] = { nounwind }
; CHECK: attributes [[G1]] = { nounwind readonly }
-; CHECK-DARWIN: attributes [[G2]] = { argmemonly }
+; CHECK: attributes [[G2]] = { argmemonly nounwind readonly }
+; CHECK-DARWIN: attributes [[G3]] = { argmemonly }
diff --git a/test/Transforms/Inline/AArch64/switch.ll b/test/Transforms/Inline/AArch64/switch.ll
index a530ba734705..154956e2b758 100644
--- a/test/Transforms/Inline/AArch64/switch.ll
+++ b/test/Transforms/Inline/AArch64/switch.ll
@@ -121,3 +121,40 @@ define i32 @caller_jumptable(i32 %a, i32 %b, i32* %P) {
ret i32 %r
}
+
+define internal i32 @callee_negativeCost(i32 %t) {
+entry:
+ switch i32 %t, label %sw.default [
+ i32 1, label %sw.bb
+ i32 0, label %sw.bb1
+ i32 42, label %sw.bb2
+ i32 43, label %sw.bb3
+ ]
+
+sw.bb: ; preds = %entry
+ br label %cleanup
+
+sw.bb1: ; preds = %entry
+ br label %cleanup
+
+sw.bb2: ; preds = %entry
+ br label %cleanup
+
+sw.bb3: ; preds = %entry
+ br label %cleanup
+
+sw.default: ; preds = %entry
+ br label %cleanup
+
+cleanup: ; preds = %sw.default, %sw.bb3, %sw.bb2, %sw.bb1, %sw.bb
+ %retval.0 = phi i32 [ 1, %sw.default ], [ 3, %sw.bb3 ], [ 2, %sw.bb2 ], [ 0, %sw.bb1 ], [ 0, %sw.bb ]
+ ret i32 %retval.0
+}
+
+define i32 @caller_negativeCost(i32 %t) {
+; CHECK-LABEL: @caller_negativeCost(
+; CHECK-NOT: call i32 @callee_negativeCost
+entry:
+ %call = call i32 @callee_negativeCost(i32 %t)
+ ret i32 %call
+}
diff --git a/test/Transforms/Inline/inline-probe-stack.ll b/test/Transforms/Inline/inline-probe-stack.ll
new file mode 100644
index 000000000000..bddee16d30b7
--- /dev/null
+++ b/test/Transforms/Inline/inline-probe-stack.ll
@@ -0,0 +1,20 @@
+; RUN: opt %s -inline -S | FileCheck %s
+
+define internal void @inner() "probe-stack"="__probestackinner" {
+ ret void
+}
+
+define void @outerNoAttribute() {
+ call void @inner()
+ ret void
+}
+
+define void @outerConflictingAttribute() "probe-stack"="__probestackouter" {
+ call void @inner()
+ ret void
+}
+
+; CHECK: define void @outerNoAttribute() #0
+; CHECK: define void @outerConflictingAttribute() #1
+; CHECK: attributes #0 = { "probe-stack"="__probestackinner" }
+; CHECK: attributes #1 = { "probe-stack"="__probestackouter" }
diff --git a/test/Transforms/Inline/inline-stack-probe-size.ll b/test/Transforms/Inline/inline-stack-probe-size.ll
new file mode 100644
index 000000000000..d24da462d2ef
--- /dev/null
+++ b/test/Transforms/Inline/inline-stack-probe-size.ll
@@ -0,0 +1,29 @@
+; RUN: opt %s -inline -S | FileCheck %s
+
+define internal void @innerSmall() "stack-probe-size"="4096" {
+ ret void
+}
+
+define internal void @innerLarge() "stack-probe-size"="8192" {
+ ret void
+}
+
+define void @outerNoAttribute() {
+ call void @innerSmall()
+ ret void
+}
+
+define void @outerConflictingAttributeSmall() "stack-probe-size"="4096" {
+ call void @innerLarge()
+ ret void
+}
+
+define void @outerConflictingAttributeLarge() "stack-probe-size"="8192" {
+ call void @innerSmall()
+ ret void
+}
+
+; CHECK: define void @outerNoAttribute() #0
+; CHECK: define void @outerConflictingAttributeSmall() #0
+; CHECK: define void @outerConflictingAttributeLarge() #0
+; CHECK: attributes #0 = { "stack-probe-size"="4096" }
diff --git a/test/Transforms/InstCombine/add.ll b/test/Transforms/InstCombine/add.ll
index 5f7101e8feca..9cc2ae4fcb09 100644
--- a/test/Transforms/InstCombine/add.ll
+++ b/test/Transforms/InstCombine/add.ll
@@ -1,12 +1,10 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -instcombine -S | FileCheck %s
-; TODO: This should be canonicalized to either a select or xor+zext.
-
define i32 @select_0_or_1_from_bool(i1 %x) {
; CHECK-LABEL: @select_0_or_1_from_bool(
-; CHECK-NEXT: [[EXT:%.*]] = sext i1 %x to i32
-; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[EXT]], 1
+; CHECK-NEXT: [[TMP1:%.*]] = xor i1 %x, true
+; CHECK-NEXT: [[ADD:%.*]] = zext i1 [[TMP1]] to i32
; CHECK-NEXT: ret i32 [[ADD]]
;
%ext = sext i1 %x to i32
@@ -14,12 +12,10 @@ define i32 @select_0_or_1_from_bool(i1 %x) {
ret i32 %add
}
-; TODO: This should be canonicalized to either a select or xor+zext.
-
define <2 x i32> @select_0_or_1_from_bool_vec(<2 x i1> %x) {
; CHECK-LABEL: @select_0_or_1_from_bool_vec(
-; CHECK-NEXT: [[EXT:%.*]] = sext <2 x i1> %x to <2 x i32>
-; CHECK-NEXT: [[ADD:%.*]] = add nsw <2 x i32> [[EXT]], <i32 1, i32 1>
+; CHECK-NEXT: [[TMP1:%.*]] = xor <2 x i1> %x, <i1 true, i1 true>
+; CHECK-NEXT: [[ADD:%.*]] = zext <2 x i1> [[TMP1]] to <2 x i32>
; CHECK-NEXT: ret <2 x i32> [[ADD]]
;
%ext = sext <2 x i1> %x to <2 x i32>
diff --git a/test/Transforms/InstCombine/and-or-not.ll b/test/Transforms/InstCombine/and-or-not.ll
index a8e32bd77f7f..28881668ca89 100644
--- a/test/Transforms/InstCombine/and-or-not.ll
+++ b/test/Transforms/InstCombine/and-or-not.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -instcombine -S | FileCheck %s
; PR1510
@@ -516,3 +517,50 @@ define i64 @PR32830(i64 %a, i64 %b, i64 %c) {
ret i64 %and
}
+; (~a | b) & (~b | a) --> ~(a ^ b)
+; TODO: this increases instrunction count if the pieces have additional users
+define i32 @and_to_nxor_multiuse(float %fa, float %fb) {
+; CHECK-LABEL: @and_to_nxor_multiuse(
+; CHECK-NEXT: [[A:%.*]] = fptosi float [[FA:%.*]] to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float [[FB:%.*]] to i32
+; CHECK-NEXT: [[NOTA:%.*]] = xor i32 [[A]], -1
+; CHECK-NEXT: [[NOTB:%.*]] = xor i32 [[B]], -1
+; CHECK-NEXT: [[OR1:%.*]] = or i32 [[NOTA]], [[B]]
+; CHECK-NEXT: [[OR2:%.*]] = or i32 [[NOTB]], [[A]]
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[OR1]], [[OR2]]
+; CHECK-NEXT: [[MUL1:%.*]] = mul i32 [[OR1]], [[OR2]]
+; CHECK-NEXT: [[MUL2:%.*]] = mul i32 [[MUL1]], [[AND]]
+; CHECK-NEXT: ret i32 [[MUL2]]
+;
+ %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
+ %mul1 = mul i32 %or1, %or2 ; here to increase the use count of the inputs to the and
+ %mul2 = mul i32 %mul1, %and
+ ret i32 %mul2
+}
+
+; (a & b) | ~(a | b) --> ~(a ^ b)
+; TODO: this increases instrunction count if the pieces have additional users
+define i32 @or_to_nxor_multiuse(i32 %a, i32 %b) {
+; CHECK-LABEL: @or_to_nxor_multiuse(
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[A:%.*]], [[B:%.*]]
+; CHECK-NEXT: [[OR:%.*]] = or i32 [[A]], [[B]]
+; CHECK-NEXT: [[NOTOR:%.*]] = xor i32 [[OR]], -1
+; CHECK-NEXT: [[OR2:%.*]] = or i32 [[AND]], [[NOTOR]]
+; CHECK-NEXT: [[MUL1:%.*]] = mul i32 [[AND]], [[NOTOR]]
+; CHECK-NEXT: [[MUL2:%.*]] = mul i32 [[MUL1]], [[OR2]]
+; CHECK-NEXT: ret i32 [[MUL2]]
+;
+ %and = and i32 %a, %b
+ %or = or i32 %a, %b
+ %notor = xor i32 %or, -1
+ %or2 = or i32 %and, %notor
+ %mul1 = mul i32 %and, %notor ; here to increase the use count of the inputs to the or
+ %mul2 = mul i32 %mul1, %or2
+ ret i32 %mul2
+}
diff --git a/test/Transforms/InstCombine/bitcast-bigendian.ll b/test/Transforms/InstCombine/bitcast-bigendian.ll
index e940f0fcec75..0001fab8c16a 100644
--- a/test/Transforms/InstCombine/bitcast-bigendian.ll
+++ b/test/Transforms/InstCombine/bitcast-bigendian.ll
@@ -92,12 +92,12 @@ define <2 x float> @test6(float %A){
ret <2 x float> %tmp35
}
-; Verify that 'xor' of vector and constant is done as a vector bitwise op before the bitcast.
+; No change. Bitcasts are canonicalized above bitwise logic.
define <2 x i32> @xor_bitcast_vec_to_vec(<1 x i64> %a) {
; CHECK-LABEL: @xor_bitcast_vec_to_vec(
-; CHECK-NEXT: [[TMP1:%.*]] = xor <1 x i64> [[A:%.*]], <i64 4294967298>
-; CHECK-NEXT: [[T2:%.*]] = bitcast <1 x i64> [[TMP1]] to <2 x i32>
+; CHECK-NEXT: [[T1:%.*]] = bitcast <1 x i64> [[A:%.*]] to <2 x i32>
+; CHECK-NEXT: [[T2:%.*]] = xor <2 x i32> [[T1]], <i32 1, i32 2>
; CHECK-NEXT: ret <2 x i32> [[T2]]
;
%t1 = bitcast <1 x i64> %a to <2 x i32>
@@ -105,12 +105,12 @@ define <2 x i32> @xor_bitcast_vec_to_vec(<1 x i64> %a) {
ret <2 x i32> %t2
}
-; Verify that 'and' of integer and constant is done as a vector bitwise op before the bitcast.
+; No change. Bitcasts are canonicalized above bitwise logic.
define i64 @and_bitcast_vec_to_int(<2 x i32> %a) {
; CHECK-LABEL: @and_bitcast_vec_to_int(
-; CHECK-NEXT: [[TMP1:%.*]] = and <2 x i32> [[A:%.*]], <i32 0, i32 3>
-; CHECK-NEXT: [[T2:%.*]] = bitcast <2 x i32> [[TMP1]] to i64
+; CHECK-NEXT: [[T1:%.*]] = bitcast <2 x i32> [[A:%.*]] to i64
+; CHECK-NEXT: [[T2:%.*]] = and i64 [[T1]], 3
; CHECK-NEXT: ret i64 [[T2]]
;
%t1 = bitcast <2 x i32> %a to i64
@@ -118,12 +118,12 @@ define i64 @and_bitcast_vec_to_int(<2 x i32> %a) {
ret i64 %t2
}
-; Verify that 'or' of vector and constant is done as an integer bitwise op before the bitcast.
+; No change. Bitcasts are canonicalized above bitwise logic.
define <2 x i32> @or_bitcast_int_to_vec(i64 %a) {
; CHECK-LABEL: @or_bitcast_int_to_vec(
-; CHECK-NEXT: [[TMP1:%.*]] = or i64 [[A:%.*]], 4294967298
-; CHECK-NEXT: [[T2:%.*]] = bitcast i64 [[TMP1]] to <2 x i32>
+; CHECK-NEXT: [[T1:%.*]] = bitcast i64 [[A:%.*]] to <2 x i32>
+; CHECK-NEXT: [[T2:%.*]] = or <2 x i32> [[T1]], <i32 1, i32 2>
; CHECK-NEXT: ret <2 x i32> [[T2]]
;
%t1 = bitcast i64 %a to <2 x i32>
diff --git a/test/Transforms/InstCombine/bitcast.ll b/test/Transforms/InstCombine/bitcast.ll
index 4cf3f27ab014..0f0cbdb364af 100644
--- a/test/Transforms/InstCombine/bitcast.ll
+++ b/test/Transforms/InstCombine/bitcast.ll
@@ -31,12 +31,12 @@ define <2 x i32> @xor_two_vector_bitcasts(<1 x i64> %a, <1 x i64> %b) {
ret <2 x i32> %t3
}
-; Verify that 'xor' of vector and constant is done as a vector bitwise op before the bitcast.
+; No change. Bitcasts are canonicalized above bitwise logic.
define <2 x i32> @xor_bitcast_vec_to_vec(<1 x i64> %a) {
; CHECK-LABEL: @xor_bitcast_vec_to_vec(
-; CHECK-NEXT: [[TMP1:%.*]] = xor <1 x i64> [[A:%.*]], <i64 8589934593>
-; CHECK-NEXT: [[T2:%.*]] = bitcast <1 x i64> [[TMP1]] to <2 x i32>
+; CHECK-NEXT: [[T1:%.*]] = bitcast <1 x i64> [[A:%.*]] to <2 x i32>
+; CHECK-NEXT: [[T2:%.*]] = xor <2 x i32> [[T1]], <i32 1, i32 2>
; CHECK-NEXT: ret <2 x i32> [[T2]]
;
%t1 = bitcast <1 x i64> %a to <2 x i32>
@@ -44,12 +44,12 @@ define <2 x i32> @xor_bitcast_vec_to_vec(<1 x i64> %a) {
ret <2 x i32> %t2
}
-; Verify that 'and' of integer and constant is done as a vector bitwise op before the bitcast.
+; No change. Bitcasts are canonicalized above bitwise logic.
define i64 @and_bitcast_vec_to_int(<2 x i32> %a) {
; CHECK-LABEL: @and_bitcast_vec_to_int(
-; CHECK-NEXT: [[TMP1:%.*]] = and <2 x i32> [[A:%.*]], <i32 3, i32 0>
-; CHECK-NEXT: [[T2:%.*]] = bitcast <2 x i32> [[TMP1]] to i64
+; CHECK-NEXT: [[T1:%.*]] = bitcast <2 x i32> [[A:%.*]] to i64
+; CHECK-NEXT: [[T2:%.*]] = and i64 [[T1]], 3
; CHECK-NEXT: ret i64 [[T2]]
;
%t1 = bitcast <2 x i32> %a to i64
@@ -57,12 +57,12 @@ define i64 @and_bitcast_vec_to_int(<2 x i32> %a) {
ret i64 %t2
}
-; Verify that 'or' of vector and constant is done as an integer bitwise op before the bitcast.
+; No change. Bitcasts are canonicalized above bitwise logic.
define <2 x i32> @or_bitcast_int_to_vec(i64 %a) {
; CHECK-LABEL: @or_bitcast_int_to_vec(
-; CHECK-NEXT: [[TMP1:%.*]] = or i64 [[A:%.*]], 8589934593
-; CHECK-NEXT: [[T2:%.*]] = bitcast i64 [[TMP1]] to <2 x i32>
+; CHECK-NEXT: [[T1:%.*]] = bitcast i64 [[A:%.*]] to <2 x i32>
+; CHECK-NEXT: [[T2:%.*]] = or <2 x i32> [[T1]], <i32 1, i32 2>
; CHECK-NEXT: ret <2 x i32> [[T2]]
;
%t1 = bitcast i64 %a to <2 x i32>
@@ -71,7 +71,7 @@ define <2 x i32> @or_bitcast_int_to_vec(i64 %a) {
}
; PR26702 - https://bugs.llvm.org//show_bug.cgi?id=26702
-; Bitcast is canonicalized below logic, so we can see the not-not pattern.
+; Bitcast is canonicalized above logic, so we can see the not-not pattern.
define <2 x i64> @is_negative(<4 x i32> %x) {
; CHECK-LABEL: @is_negative(
@@ -102,12 +102,12 @@ define <4 x i32> @is_negative_bonus_bitcast(<4 x i32> %x) {
ret <4 x i32> %bc2
}
-; Negative test: bitcasts are canonicalized below bitwise logic. No changes here.
+; Bitcasts are canonicalized above bitwise logic.
define <2 x i8> @canonicalize_bitcast_logic_with_constant(<4 x i4> %x) {
; CHECK-LABEL: @canonicalize_bitcast_logic_with_constant(
-; CHECK-NEXT: [[A:%.*]] = and <4 x i4> %x, <i4 0, i4 -8, i4 0, i4 -8>
-; CHECK-NEXT: [[B:%.*]] = bitcast <4 x i4> [[A]] to <2 x i8>
+; CHECK-NEXT: [[TMP1:%.*]] = bitcast <4 x i4> [[X:%.*]] to <2 x i8>
+; CHECK-NEXT: [[B:%.*]] = and <2 x i8> [[TMP1]], <i8 -128, i8 -128>
; CHECK-NEXT: ret <2 x i8> [[B]]
;
%a = and <4 x i4> %x, <i4 0, i4 8, i4 0, i4 8>
diff --git a/test/Transforms/InstCombine/compare-3way.ll b/test/Transforms/InstCombine/compare-3way.ll
new file mode 100644
index 000000000000..663d470df874
--- /dev/null
+++ b/test/Transforms/InstCombine/compare-3way.ll
@@ -0,0 +1,395 @@
+; RUN: opt -S -instcombine < %s | FileCheck %s
+
+declare void @use(i32)
+
+; These 18 exercise all combinations of signed comparison
+; for each of the three values produced by your typical
+; 3way compare function (-1, 0, 1)
+
+define void @test_low_sgt(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_low_sgt
+; CHECK: [[TMP1:%.*]] = icmp slt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %normal, label %unreached
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp sgt i32 %result, -1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_low_slt(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_low_slt
+; CHECK: br i1 false, label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp slt i32 %result, -1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_low_sge(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_low_sge
+; CHECK: br i1 true, label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp sge i32 %result, -1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_low_sle(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_low_sle
+; CHECK: [[TMP1:%.*]] = icmp slt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp sle i32 %result, -1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_low_ne(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_low_ne
+; CHECK: [[TMP1:%.*]] = icmp slt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %normal, label %unreached
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp ne i32 %result, -1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_low_eq(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_low_eq
+; CHECK: [[TMP1:%.*]] = icmp slt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp eq i32 %result, -1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_mid_sgt(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_mid_sgt
+; CHECK: [[TMP1:%.*]] = icmp sgt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp sgt i32 %result, 0
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_mid_slt(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_mid_slt
+; CHECK: [[TMP1:%.*]] = icmp slt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp slt i32 %result, 0
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_mid_sge(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_mid_sge
+; CHECK: [[TMP1:%.*]] = icmp slt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %normal, label %unreached
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp sge i32 %result, 0
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_mid_sle(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_mid_sle
+; CHECK: [[TMP1:%.*]] = icmp sgt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %normal, label %unreached
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp sle i32 %result, 0
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_mid_ne(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_mid_ne
+; CHECK: [[TMP1:%.*]] = icmp eq i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %normal, label %unreached
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp ne i32 %result, 0
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_mid_eq(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_mid_eq
+; CHECK: icmp eq i64 %a, %b
+; CHECK: br i1 %eq, label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp eq i32 %result, 0
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_high_sgt(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_high_sgt
+; CHECK: br i1 false, label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp sgt i32 %result, 1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_high_slt(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_high_slt
+; CHECK: [[TMP1:%.*]] = icmp sgt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %normal, label %unreached
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp slt i32 %result, 1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_high_sge(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_high_sge
+; CHECK: [[TMP1:%.*]] = icmp sgt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp sge i32 %result, 1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_high_sle(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_high_sle
+; CHECK: br i1 true, label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp sle i32 %result, 1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_high_ne(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_high_ne
+; CHECK: [[TMP1:%.*]] = icmp sgt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %normal, label %unreached
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp ne i32 %result, 1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @test_high_eq(i64 %a, i64 %b) {
+; CHECK-LABEL: @test_high_eq
+; CHECK: [[TMP1:%.*]] = icmp sgt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -1, i32 1
+ %result = select i1 %eq, i32 0, i32 %.
+ %cmp = icmp eq i32 %result, 1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+; These five make sure we didn't accidentally hard code one of the
+; produced values
+
+define void @non_standard_low(i64 %a, i64 %b) {
+; CHECK-LABEL: @non_standard_low
+; CHECK: [[TMP1:%.*]] = icmp slt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -3, i32 -1
+ %result = select i1 %eq, i32 -2, i32 %.
+ %cmp = icmp eq i32 %result, -3
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @non_standard_mid(i64 %a, i64 %b) {
+; CHECK-LABEL: @non_standard_mid
+; CHECK: icmp eq i64 %a, %b
+; CHECK: br i1 %eq, label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -3, i32 -1
+ %result = select i1 %eq, i32 -2, i32 %.
+ %cmp = icmp eq i32 %result, -2
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @non_standard_high(i64 %a, i64 %b) {
+; CHECK-LABEL: @non_standard_high
+; CHECK: [[TMP1:%.*]] = icmp sgt i64 %a, %b
+; CHECK: br i1 [[TMP1]], label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -3, i32 -1
+ %result = select i1 %eq, i32 -2, i32 %.
+ %cmp = icmp eq i32 %result, -1
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @non_standard_bound1(i64 %a, i64 %b) {
+; CHECK-LABEL: @non_standard_bound1
+; CHECK: br i1 false, label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -3, i32 -1
+ %result = select i1 %eq, i32 -2, i32 %.
+ %cmp = icmp eq i32 %result, -20
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
+
+define void @non_standard_bound2(i64 %a, i64 %b) {
+; CHECK-LABEL: @non_standard_bound2
+; CHECK: br i1 false, label %unreached, label %normal
+ %eq = icmp eq i64 %a, %b
+ %slt = icmp slt i64 %a, %b
+ %. = select i1 %slt, i32 -3, i32 -1
+ %result = select i1 %eq, i32 -2, i32 %.
+ %cmp = icmp eq i32 %result, 0
+ br i1 %cmp, label %unreached, label %normal
+normal:
+ ret void
+unreached:
+ call void @use(i32 %result)
+ ret void
+}
diff --git a/test/Transforms/InstCombine/ctpop.ll b/test/Transforms/InstCombine/ctpop.ll
index d49a907ffce1..e8e3603e4cb8 100644
--- a/test/Transforms/InstCombine/ctpop.ll
+++ b/test/Transforms/InstCombine/ctpop.ll
@@ -3,6 +3,8 @@
declare i32 @llvm.ctpop.i32(i32)
declare i8 @llvm.ctpop.i8(i8)
+declare i1 @llvm.ctpop.i1(i1)
+declare <2 x i32> @llvm.ctpop.v2i32(<2 x i32>)
declare void @llvm.assume(i1)
define i1 @test1(i32 %arg) {
@@ -44,7 +46,7 @@ define i1 @test3(i32 %arg) {
; Negative test for when we know nothing
define i1 @test4(i8 %arg) {
; CHECK-LABEL: @test4(
-; CHECK-NEXT: [[CNT:%.*]] = call i8 @llvm.ctpop.i8(i8 [[ARG:%.*]])
+; CHECK-NEXT: [[CNT:%.*]] = call i8 @llvm.ctpop.i8(i8 [[ARG:%.*]]), !range ![[RANGE:[0-9]+]]
; CHECK-NEXT: [[RES:%.*]] = icmp eq i8 [[CNT]], 2
; CHECK-NEXT: ret i1 [[RES]]
;
@@ -55,16 +57,41 @@ define i1 @test4(i8 %arg) {
; Test when the number of possible known bits isn't one less than a power of 2
; and the compare value is greater but less than the next power of 2.
-; TODO: The icmp is unnecessary given the known bits of the input.
define i1 @test5(i32 %arg) {
; CHECK-LABEL: @test5(
-; CHECK-NEXT: [[AND:%.*]] = and i32 [[ARG:%.*]], 3
-; CHECK-NEXT: [[CNT:%.*]] = call i32 @llvm.ctpop.i32(i32 [[AND]])
-; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[CNT]], 3
-; CHECK-NEXT: ret i1 [[RES]]
+; CHECK-NEXT: ret i1 false
;
%and = and i32 %arg, 3
%cnt = call i32 @llvm.ctpop.i32(i32 %and)
%res = icmp eq i32 %cnt, 3
ret i1 %res
}
+
+; Test when the number of possible known bits isn't one less than a power of 2
+; and the compare value is greater but less than the next power of 2.
+; TODO: The icmp is unnecessary given the known bits of the input, but range
+; metadata doesn't support vectors
+define <2 x i1> @test5vec(<2 x i32> %arg) {
+; CHECK-LABEL: @test5vec(
+; CHECK-NEXT: [[AND:%.*]] = and <2 x i32> [[ARG:%.*]], <i32 3, i32 3>
+; CHECK-NEXT: [[CNT:%.*]] = call <2 x i32> @llvm.ctpop.v2i32(<2 x i32> [[AND]])
+; CHECK-NEXT: [[RES:%.*]] = icmp eq <2 x i32> [[CNT]], <i32 3, i32 3>
+; CHECK-NEXT: ret <2 x i1> [[RES]]
+;
+ %and = and <2 x i32> %arg, <i32 3, i32 3>
+ %cnt = call <2 x i32> @llvm.ctpop.v2i32(<2 x i32> %and)
+ %res = icmp eq <2 x i32> %cnt, <i32 3, i32 3>
+ ret <2 x i1> %res
+}
+
+; Make sure we don't add range metadata to i1 ctpop.
+define i1 @test6(i1 %arg) {
+; CHECK-LABEL: @test6(
+; CHECK-NEXT: [[CNT:%.*]] = call i1 @llvm.ctpop.i1(i1 [[ARG:%.*]])
+; CHECK-NEXT: ret i1 [[CNT]]
+;
+ %cnt = call i1 @llvm.ctpop.i1(i1 %arg)
+ ret i1 %cnt
+}
+
+; CHECK: ![[RANGE]] = !{i8 0, i8 9}
diff --git a/test/Transforms/InstCombine/early_constfold_changes_IR.ll b/test/Transforms/InstCombine/early_constfold_changes_IR.ll
new file mode 100644
index 000000000000..18b219234801
--- /dev/null
+++ b/test/Transforms/InstCombine/early_constfold_changes_IR.ll
@@ -0,0 +1,20 @@
+; This run line verifies that we get the expected constant fold.
+; RUN: opt < %s -instcombine -S | FileCheck %s
+
+; This run line verifies that InstructionCombiningPass::runOnFunction reports
+; this as a modification of the IR.
+; RUN: opt < %s -instcombine -disable-output -debug-pass=Details 2>&1 | FileCheck %s --check-prefix=DETAILS
+
+define i32 @foo(i32 %arg) #0 {
+; CHECK-LABEL: @foo(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[ARG:%.*]], 7
+; CHECK-NEXT: ret i32 [[AND]]
+;
+entry:
+ %or = or i32 0, 7
+ %and = and i32 %arg, %or
+ ret i32 %and
+}
+
+; DETAILS: Made Modification 'Combine redundant instructions' on Function 'foo'
diff --git a/test/Transforms/InstCombine/early_dce_clobbers_callgraph.ll b/test/Transforms/InstCombine/early_dce_clobbers_callgraph.ll
new file mode 100644
index 000000000000..743477621fa1
--- /dev/null
+++ b/test/Transforms/InstCombine/early_dce_clobbers_callgraph.ll
@@ -0,0 +1,31 @@
+; RUN: opt < %s -inline -instcombine -S | FileCheck %s
+
+; This test case exposed a bug in instcombine where the early
+; DCE of a call wasn't recognized as changing the IR.
+; So when runOnFunction propagated the "made changes" upwards
+; to the CallGraphSCCPass it signalled that no changes had been
+; made, so CallGraphSCCPass assumed that the old CallGraph,
+; as known by that pass manager, still was up-to-date.
+;
+; This was detected as an assert when trying to remove the
+; no longer used function 'bar' (due to incorrect reference
+; count in the CallGraph).
+
+attributes #0 = { noinline norecurse nounwind readnone }
+
+define void @foo() #0 {
+; CHECK-LABEL: @foo(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: ret void
+;
+entry:
+ %call = call i32 @bar()
+ ret void
+}
+
+define internal i32 @bar() #0 {
+; CHECK-NOT: bar
+entry:
+ ret i32 42
+}
+
diff --git a/test/Transforms/InstCombine/icmp-xor-signbit.ll b/test/Transforms/InstCombine/icmp-xor-signbit.ll
index 30a9668f37df..dab9b5e9fefe 100644
--- a/test/Transforms/InstCombine/icmp-xor-signbit.ll
+++ b/test/Transforms/InstCombine/icmp-xor-signbit.ll
@@ -188,16 +188,13 @@ define <2 x i1> @uge_to_slt_splat(<2 x i8> %x) {
}
; PR33138, part 2: https://bugs.llvm.org/show_bug.cgi?id=33138
-; TODO: We could look through vector bitcasts for icmp folds,
-; or we could canonicalize bitcast ahead of logic ops with constants.
+; Bitcast canonicalization ensures that we recognize the signbit constant.
define <8 x i1> @sgt_to_ugt_bitcasted_splat(<2 x i32> %x, <2 x i32> %y) {
; CHECK-LABEL: @sgt_to_ugt_bitcasted_splat(
-; CHECK-NEXT: [[A:%.*]] = xor <2 x i32> %x, <i32 -2139062144, i32 -2139062144>
-; CHECK-NEXT: [[B:%.*]] = xor <2 x i32> %y, <i32 -2139062144, i32 -2139062144>
-; CHECK-NEXT: [[C:%.*]] = bitcast <2 x i32> [[A]] to <8 x i8>
-; CHECK-NEXT: [[D:%.*]] = bitcast <2 x i32> [[B]] to <8 x i8>
-; CHECK-NEXT: [[E:%.*]] = icmp sgt <8 x i8> [[C]], [[D]]
+; CHECK-NEXT: [[TMP1:%.*]] = bitcast <2 x i32> %x to <8 x i8>
+; CHECK-NEXT: [[TMP2:%.*]] = bitcast <2 x i32> %y to <8 x i8>
+; CHECK-NEXT: [[E:%.*]] = icmp ugt <8 x i8> [[TMP1]], [[TMP2]]
; CHECK-NEXT: ret <8 x i1> [[E]]
;
%a = xor <2 x i32> %x, <i32 2155905152, i32 2155905152> ; 0x80808080
@@ -208,17 +205,11 @@ define <8 x i1> @sgt_to_ugt_bitcasted_splat(<2 x i32> %x, <2 x i32> %y) {
ret <8 x i1> %e
}
-; TODO: This is false (little-endian). How should that be recognized?
-; Ie, should InstSimplify know this directly, should InstCombine canonicalize
-; this so InstSimplify can know this, or is that not something that we want
-; either pass to recognize?
+; Bitcast canonicalization ensures that we recognize the signbit constant.
define <2 x i1> @negative_simplify_splat(<4 x i8> %x) {
; CHECK-LABEL: @negative_simplify_splat(
-; CHECK-NEXT: [[A:%.*]] = or <4 x i8> %x, <i8 0, i8 -128, i8 0, i8 -128>
-; CHECK-NEXT: [[B:%.*]] = bitcast <4 x i8> [[A]] to <2 x i16>
-; CHECK-NEXT: [[C:%.*]] = icmp sgt <2 x i16> [[B]], zeroinitializer
-; CHECK-NEXT: ret <2 x i1> [[C]]
+; CHECK-NEXT: ret <2 x i1> zeroinitializer
;
%a = or <4 x i8> %x, <i8 0, i8 128, i8 0, i8 128>
%b = bitcast <4 x i8> %a to <2 x i16>
diff --git a/test/Transforms/InstCombine/intrinsics.ll b/test/Transforms/InstCombine/intrinsics.ll
index 1b1ed606868f..c294d79f15ef 100644
--- a/test/Transforms/InstCombine/intrinsics.ll
+++ b/test/Transforms/InstCombine/intrinsics.ll
@@ -16,6 +16,8 @@ declare %ov.result.32 @llvm.umul.with.overflow.i32(i32, i32) nounwind readnone
declare double @llvm.powi.f64(double, i32) nounwind readonly
declare i32 @llvm.cttz.i32(i32, i1) nounwind readnone
declare i32 @llvm.ctlz.i32(i32, i1) nounwind readnone
+declare i1 @llvm.cttz.i1(i1, i1) nounwind readnone
+declare i1 @llvm.ctlz.i1(i1, i1) nounwind readnone
declare i32 @llvm.ctpop.i32(i32) nounwind readnone
declare <2 x i32> @llvm.cttz.v2i32(<2 x i32>, i1) nounwind readnone
declare <2 x i32> @llvm.ctlz.v2i32(<2 x i32>, i1) nounwind readnone
@@ -293,6 +295,16 @@ define <2 x i32> @cttz_vec(<2 x i32> %a) {
ret <2 x i32> %count
}
+; Make sure we don't add range metadata to i1 cttz.
+define i1 @cttz_i1(i1 %arg) {
+; CHECK-LABEL: @cttz_i1(
+; CHECK-NEXT: [[CNT:%.*]] = call i1 @llvm.cttz.i1(i1 [[ARG:%.*]], i1 false) #2
+; CHECK-NEXT: ret i1 [[CNT]]
+;
+ %cnt = call i1 @llvm.cttz.i1(i1 %arg, i1 false) nounwind readnone
+ ret i1 %cnt
+}
+
define i1 @cttz_knownbits(i32 %arg) {
; CHECK-LABEL: @cttz_knownbits(
; CHECK-NEXT: ret i1 false
@@ -316,7 +328,7 @@ define <2 x i1> @cttz_knownbits_vec(<2 x i32> %arg) {
define i1 @cttz_knownbits2(i32 %arg) {
; CHECK-LABEL: @cttz_knownbits2(
; CHECK-NEXT: [[OR:%.*]] = or i32 [[ARG:%.*]], 4
-; CHECK-NEXT: [[CNT:%.*]] = call i32 @llvm.cttz.i32(i32 [[OR]], i1 true)
+; CHECK-NEXT: [[CNT:%.*]] = call i32 @llvm.cttz.i32(i32 [[OR]], i1 true) #2, !range ![[CTTZ_RANGE:[0-9]+]]
; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[CNT]], 2
; CHECK-NEXT: ret i1 [[RES]]
;
@@ -339,13 +351,9 @@ define <2 x i1> @cttz_knownbits2_vec(<2 x i32> %arg) {
ret <2 x i1> %res
}
-; TODO: The icmp is unnecessary given the known bits of the input.
define i1 @cttz_knownbits3(i32 %arg) {
; CHECK-LABEL: @cttz_knownbits3(
-; CHECK-NEXT: [[OR:%.*]] = or i32 [[ARG:%.*]], 4
-; CHECK-NEXT: [[CNT:%.*]] = call i32 @llvm.cttz.i32(i32 [[OR]], i1 true) #2
-; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[CNT]], 3
-; CHECK-NEXT: ret i1 [[RES]]
+; CHECK-NEXT: ret i1 false
;
%or = or i32 %arg, 4
%cnt = call i32 @llvm.cttz.i32(i32 %or, i1 true) nounwind readnone
@@ -387,6 +395,16 @@ define <2 x i8> @ctlz_vec(<2 x i8> %a) {
ret <2 x i8> %count
}
+; Make sure we don't add range metadata to i1 ctlz.
+define i1 @ctlz_i1(i1 %arg) {
+; CHECK-LABEL: @ctlz_i1(
+; CHECK-NEXT: [[CNT:%.*]] = call i1 @llvm.ctlz.i1(i1 [[ARG:%.*]], i1 false) #2
+; CHECK-NEXT: ret i1 [[CNT]]
+;
+ %cnt = call i1 @llvm.ctlz.i1(i1 %arg, i1 false) nounwind readnone
+ ret i1 %cnt
+}
+
define i1 @ctlz_knownbits(i8 %arg) {
; CHECK-LABEL: @ctlz_knownbits(
; CHECK-NEXT: ret i1 false
@@ -410,7 +428,7 @@ define <2 x i1> @ctlz_knownbits_vec(<2 x i8> %arg) {
define i1 @ctlz_knownbits2(i8 %arg) {
; CHECK-LABEL: @ctlz_knownbits2(
; CHECK-NEXT: [[OR:%.*]] = or i8 [[ARG:%.*]], 32
-; CHECK-NEXT: [[CNT:%.*]] = call i8 @llvm.ctlz.i8(i8 [[OR]], i1 true)
+; CHECK-NEXT: [[CNT:%.*]] = call i8 @llvm.ctlz.i8(i8 [[OR]], i1 true) #2, !range ![[CTLZ_RANGE:[0-9]+]]
; CHECK-NEXT: [[RES:%.*]] = icmp eq i8 [[CNT]], 2
; CHECK-NEXT: ret i1 [[RES]]
;
@@ -433,13 +451,9 @@ define <2 x i1> @ctlz_knownbits2_vec(<2 x i8> %arg) {
ret <2 x i1> %res
}
-; TODO: The icmp is unnecessary given the known bits of the input.
define i1 @ctlz_knownbits3(i8 %arg) {
; CHECK-LABEL: @ctlz_knownbits3(
-; CHECK-NEXT: [[OR:%.*]] = or i8 [[ARG:%.*]], 32
-; CHECK-NEXT: [[CNT:%.*]] = call i8 @llvm.ctlz.i8(i8 [[OR]], i1 true) #2
-; CHECK-NEXT: [[RES:%.*]] = icmp eq i8 [[CNT]], 3
-; CHECK-NEXT: ret i1 [[RES]]
+; CHECK-NEXT: ret i1 false
;
%or = or i8 %arg, 32
%cnt = call i8 @llvm.ctlz.i8(i8 %or, i1 true) nounwind readnone
@@ -790,3 +804,6 @@ define void @nearbyint(double *%P) {
store volatile double %C, double* %P
ret void
}
+
+; CHECK: [[CTTZ_RANGE]] = !{i32 0, i32 3}
+; CHECK: [[CTLZ_RANGE]] = !{i8 0, i8 3}
diff --git a/test/Transforms/InstCombine/logical-select.ll b/test/Transforms/InstCombine/logical-select.ll
index 7f0bd23eb8a5..6c00dec60ed6 100644
--- a/test/Transforms/InstCombine/logical-select.ll
+++ b/test/Transforms/InstCombine/logical-select.ll
@@ -342,8 +342,8 @@ define <2 x i64> @bitcast_select_multi_uses(<4 x i1> %cmp, <2 x i64> %a, <2 x i6
; CHECK-NEXT: [[SEXT:%.*]] = sext <4 x i1> %cmp to <4 x i32>
; CHECK-NEXT: [[BC1:%.*]] = bitcast <4 x i32> [[SEXT]] to <2 x i64>
; CHECK-NEXT: [[AND1:%.*]] = and <2 x i64> [[BC1]], %a
-; CHECK-NEXT: [[NEG:%.*]] = xor <4 x i32> [[SEXT]], <i32 -1, i32 -1, i32 -1, i32 -1>
-; CHECK-NEXT: [[BC2:%.*]] = bitcast <4 x i32> [[NEG]] to <2 x i64>
+; CHECK-NEXT: [[TMP1:%.*]] = bitcast <4 x i32> [[SEXT]] to <2 x i64>
+; CHECK-NEXT: [[BC2:%.*]] = xor <2 x i64> [[TMP1]], <i64 -1, i64 -1>
; CHECK-NEXT: [[AND2:%.*]] = and <2 x i64> [[BC2]], %b
; CHECK-NEXT: [[OR:%.*]] = or <2 x i64> [[AND2]], [[AND1]]
; CHECK-NEXT: [[ADD:%.*]] = add <2 x i64> [[AND2]], [[BC2]]
diff --git a/test/Transforms/InstCombine/memcpy-from-global.ll b/test/Transforms/InstCombine/memcpy-from-global.ll
index 7c9384d89ba3..c8b329e94b06 100644
--- a/test/Transforms/InstCombine/memcpy-from-global.ll
+++ b/test/Transforms/InstCombine/memcpy-from-global.ll
@@ -204,3 +204,34 @@ define void @test9_addrspacecast() {
; CHECK-NEXT: call void @bar(i8* bitcast (%U* getelementptr inbounds ([2 x %U], [2 x %U]* @H, i64 0, i64 1) to i8*))
ret void
}
+
+@bbb = local_unnamed_addr global [1000000 x i8] zeroinitializer, align 16
+@_ZL3KKK = internal unnamed_addr constant [3 x i8] c"\01\01\02", align 1
+
+; Should not replace alloca with global because of size mismatch.
+define void @test9_small_global() {
+; CHECK-LABEL: @test9_small_global(
+; CHECK-NOT: call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}@bbb,{{.*}}@_ZL3KKK,
+; CHECK: alloca [1000000 x i8]
+entry:
+ %cc = alloca [1000000 x i8], align 16
+ %cc.0..sroa_idx = getelementptr inbounds [1000000 x i8], [1000000 x i8]* %cc, i64 0, i64 0
+ %arraydecay = getelementptr inbounds [1000000 x i8], [1000000 x i8]* %cc, i32 0, i32 0
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @_ZL3KKK, i32 0, i32 0), i64 3, i32 1, i1 false)
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* getelementptr inbounds ([1000000 x i8], [1000000 x i8]* @bbb, i32 0, i32 0), i8* %arraydecay, i64 1000000, i32 16, i1 false)
+ ret void
+}
+
+; Should replace alloca with global as they have exactly the same size.
+define void @test10_same_global() {
+; CHECK-LABEL: @test10_same_global(
+; CHECK-NOT: alloca
+; CHECK: call void @llvm.memcpy.p0i8.p0i8.i64({{.*}}@bbb,{{.*}}@_ZL3KKK,{{.*}}, i64 3,
+entry:
+ %cc = alloca [3 x i8], align 1
+ %cc.0..sroa_idx = getelementptr inbounds [3 x i8], [3 x i8]* %cc, i64 0, i64 0
+ %arraydecay = getelementptr inbounds [3 x i8], [3 x i8]* %cc, i32 0, i32 0
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* %arraydecay, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @_ZL3KKK, i32 0, i32 0), i64 3, i32 1, i1 false)
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* getelementptr inbounds ([1000000 x i8], [1000000 x i8]* @bbb, i32 0, i32 0), i8* %arraydecay, i64 3, i32 1, i1 false)
+ ret void
+}
diff --git a/test/Transforms/InstCombine/or-xor.ll b/test/Transforms/InstCombine/or-xor.ll
index 485f9612376a..af62c2dd4ba3 100644
--- a/test/Transforms/InstCombine/or-xor.ll
+++ b/test/Transforms/InstCombine/or-xor.ll
@@ -316,7 +316,7 @@ define i8 @test17(i8 %A, i8 %B) {
; CHECK-NEXT: [[XOR1:%.*]] = xor i8 [[B:%.*]], [[A:%.*]]
; CHECK-NEXT: [[NOT:%.*]] = xor i8 [[A]], 33
; CHECK-NEXT: [[XOR2:%.*]] = xor i8 [[NOT]], [[B]]
-; CHECK-NEXT: [[OR:%.*]] = or i8 [[XOR1]], [[XOR2]]
+; CHECK-NEXT: [[OR:%.*]] = or i8 [[XOR1]], 33
; CHECK-NEXT: [[RES:%.*]] = mul i8 [[OR]], [[XOR2]]
; CHECK-NEXT: ret i8 [[RES]]
;
@@ -333,7 +333,7 @@ define i8 @test18(i8 %A, i8 %B) {
; CHECK-NEXT: [[XOR1:%.*]] = xor i8 [[B:%.*]], [[A:%.*]]
; CHECK-NEXT: [[NOT:%.*]] = xor i8 [[A]], 33
; CHECK-NEXT: [[XOR2:%.*]] = xor i8 [[NOT]], [[B]]
-; CHECK-NEXT: [[OR:%.*]] = or i8 [[XOR2]], [[XOR1]]
+; CHECK-NEXT: [[OR:%.*]] = or i8 [[XOR1]], 33
; CHECK-NEXT: [[RES:%.*]] = mul i8 [[OR]], [[XOR2]]
; CHECK-NEXT: ret i8 [[RES]]
;
diff --git a/test/Transforms/InstCombine/phi-select-constant.ll b/test/Transforms/InstCombine/phi-select-constant.ll
index 272594d7f4f9..83c4efb2a789 100644
--- a/test/Transforms/InstCombine/phi-select-constant.ll
+++ b/test/Transforms/InstCombine/phi-select-constant.ll
@@ -55,3 +55,32 @@ final:
%sel = select <4 x i1> %phinode, <4 x i64> zeroinitializer, <4 x i64> <i64 124, i64 125, i64 126, i64 127>
ret <4 x i64> %sel
}
+
+; Test PR33364
+; Insert the generated select into the same block as the incoming phi value.
+; phi has constant vectors along with a single non-constant vector as operands.
+define <2 x i8> @vec3(i1 %cond1, i1 %cond2, <2 x i1> %x, <2 x i8> %y, <2 x i8> %z) {
+; CHECK-LABEL: @vec3
+; CHECK-LABEL: entry:
+; CHECK-NEXT: [[PHITMP1:%.*]] = shufflevector <2 x i8> %y, <2 x i8> %z, <2 x i32> <i32 2, i32 1>
+entry:
+ br i1 %cond1, label %if1, label %else
+
+; CHECK-LABEL: if1:
+; CHECK-NEXT: [[PHITMP2:%.*]] = shufflevector <2 x i8> %y, <2 x i8> %z, <2 x i32> <i32 0, i32 3>
+if1:
+ br i1 %cond2, label %if2, label %else
+
+; CHECK-LABEL: if2:
+; CHECK-NEXT: [[PHITMP3:%.*]] = select <2 x i1> %x, <2 x i8> %y, <2 x i8> %z
+if2:
+ br label %else
+
+; CHECK-LABEL: else:
+; CHECK-NEXT: [[PHITMP4:%.*]] = phi <2 x i8> [ [[PHITMP3]], %if2 ], [ [[PHITMP1]], %entry ], [ [[PHITMP2]], %if1 ]
+; CHECK-NEXT: ret <2 x i8> [[PHITMP4]]
+else:
+ %phi = phi <2 x i1> [ %x, %if2 ], [ <i1 0, i1 1>, %entry ], [ <i1 1, i1 0>, %if1 ]
+ %sel = select <2 x i1> %phi, <2 x i8> %y, <2 x i8> %z
+ ret <2 x i8> %sel
+}
diff --git a/test/Transforms/InstCombine/pr33453.ll b/test/Transforms/InstCombine/pr33453.ll
new file mode 100644
index 000000000000..dee4c5bf566b
--- /dev/null
+++ b/test/Transforms/InstCombine/pr33453.ll
@@ -0,0 +1,15 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt -instcombine -S %s | FileCheck %s
+
+@g1 = external global i16
+@g2 = external global i16
+
+define float @patatino() {
+; CHECK-LABEL: @patatino(
+; CHECK-NEXT: ret float fmul (float uitofp (i1 icmp eq (i16* getelementptr inbounds (i16, i16* @g2, i64 1), i16* @g1) to float), float uitofp (i1 icmp eq (i16* getelementptr inbounds (i16, i16* @g2, i64 1), i16* @g1) to float))
+;
+ %call = call float @fabsf(float fmul (float uitofp (i1 icmp eq (i16* getelementptr inbounds (i16, i16* @g2, i64 1), i16* @g1) to float), float uitofp (i1 icmp eq (i16* getelementptr inbounds (i16, i16* @g2, i64 1), i16* @g1) to float)))
+ ret float %call
+}
+
+declare float @fabsf(float)
diff --git a/test/Transforms/InstCombine/select-with-bitwise-ops.ll b/test/Transforms/InstCombine/select-with-bitwise-ops.ll
index faeb4e046aca..caec9412a7fd 100644
--- a/test/Transforms/InstCombine/select-with-bitwise-ops.ll
+++ b/test/Transforms/InstCombine/select-with-bitwise-ops.ll
@@ -104,12 +104,11 @@ define i32 @select_icmp_ne_0_and_32_or_4096(i32 %x, i32 %y) {
define i8 @select_icmp_ne_0_and_1073741824_or_8(i32 %x, i8 %y) {
; CHECK-LABEL: @select_icmp_ne_0_and_1073741824_or_8(
-; CHECK-NEXT: [[AND:%.*]] = lshr i32 %x, 27
-; CHECK-NEXT: [[AND_TR:%.*]] = trunc i32 [[AND]] to i8
-; CHECK-NEXT: [[TMP1:%.*]] = and i8 [[AND_TR]], 8
-; CHECK-NEXT: [[TMP2:%.*]] = xor i8 [[TMP1]], 8
-; CHECK-NEXT: [[TMP3:%.*]] = or i8 [[TMP2]], %y
-; CHECK-NEXT: ret i8 [[TMP3]]
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[X:%.*]], 1073741824
+; CHECK-NEXT: [[CMP:%.*]] = icmp ne i32 [[AND]], 0
+; CHECK-NEXT: [[OR:%.*]] = or i8 [[Y:%.*]], 8
+; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i8 [[Y]], i8 [[OR]]
+; CHECK-NEXT: ret i8 [[SELECT]]
;
%and = and i32 %x, 1073741824
%cmp = icmp ne i32 0, %and
@@ -120,12 +119,11 @@ define i8 @select_icmp_ne_0_and_1073741824_or_8(i32 %x, i8 %y) {
define i32 @select_icmp_ne_0_and_8_or_1073741824(i8 %x, i32 %y) {
; CHECK-LABEL: @select_icmp_ne_0_and_8_or_1073741824(
-; CHECK-NEXT: [[AND:%.*]] = and i8 %x, 8
-; CHECK-NEXT: [[TMP1:%.*]] = zext i8 [[AND]] to i32
-; CHECK-NEXT: [[TMP2:%.*]] = shl nuw nsw i32 [[TMP1]], 27
-; CHECK-NEXT: [[TMP3:%.*]] = xor i32 [[TMP2]], 1073741824
-; CHECK-NEXT: [[TMP4:%.*]] = or i32 [[TMP3]], %y
-; CHECK-NEXT: ret i32 [[TMP4]]
+; CHECK-NEXT: [[AND:%.*]] = and i8 [[X:%.*]], 8
+; CHECK-NEXT: [[CMP:%.*]] = icmp ne i8 [[AND]], 0
+; CHECK-NEXT: [[OR:%.*]] = or i32 [[Y:%.*]], 1073741824
+; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[OR]]
+; CHECK-NEXT: ret i32 [[SELECT]]
;
%and = and i8 %x, 8
%cmp = icmp ne i8 0, %and
@@ -299,11 +297,10 @@ define i32 @test67(i16 %x) {
define i32 @test68(i32 %x, i32 %y) {
; CHECK-LABEL: @test68(
-; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 [[X:%.*]] to i8
-; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i8 [[TMP1]], -1
-; CHECK-NEXT: [[OR:%.*]] = or i32 [[Y:%.*]], 2
-; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[OR]]
-; CHECK-NEXT: ret i32 [[SELECT]]
+; CHECK-NEXT: [[TMP1:%.*]] = lshr i32 [[X:%.*]], 6
+; CHECK-NEXT: [[TMP2:%.*]] = and i32 [[TMP1]], 2
+; CHECK-NEXT: [[TMP3:%.*]] = or i32 [[TMP2]], [[Y:%.*]]
+; CHECK-NEXT: ret i32 [[TMP3]]
;
%and = and i32 %x, 128
%cmp = icmp eq i32 %and, 0
@@ -314,11 +311,11 @@ define i32 @test68(i32 %x, i32 %y) {
define i32 @test69(i32 %x, i32 %y) {
; CHECK-LABEL: @test69(
-; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 [[X:%.*]] to i8
-; CHECK-NEXT: [[CMP:%.*]] = icmp slt i8 [[TMP1]], 0
-; CHECK-NEXT: [[OR:%.*]] = or i32 [[Y:%.*]], 2
-; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[OR]]
-; CHECK-NEXT: ret i32 [[SELECT]]
+; CHECK-NEXT: [[TMP1:%.*]] = lshr i32 [[X:%.*]], 6
+; CHECK-NEXT: [[TMP2:%.*]] = and i32 [[TMP1]], 2
+; CHECK-NEXT: [[TMP3:%.*]] = xor i32 [[TMP2]], 2
+; CHECK-NEXT: [[TMP4:%.*]] = or i32 [[TMP3]], [[Y:%.*]]
+; CHECK-NEXT: ret i32 [[TMP4]]
;
%and = and i32 %x, 128
%cmp = icmp ne i32 %and, 0
@@ -377,15 +374,13 @@ define i32 @no_shift_xor_multiuse_or(i32 %x, i32 %y) {
ret i32 %res
}
-; TODO this increased the number of instructions
define i32 @shift_xor_multiuse_or(i32 %x, i32 %y) {
; CHECK-LABEL: @shift_xor_multiuse_or(
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[X:%.*]], 4096
+; CHECK-NEXT: [[CMP:%.*]] = icmp ne i32 [[AND]], 0
; CHECK-NEXT: [[OR:%.*]] = or i32 [[Y:%.*]], 2048
-; CHECK-NEXT: [[AND:%.*]] = lshr i32 [[X:%.*]], 1
-; CHECK-NEXT: [[TMP1:%.*]] = and i32 [[AND]], 2048
-; CHECK-NEXT: [[TMP2:%.*]] = xor i32 [[TMP1]], 2048
-; CHECK-NEXT: [[TMP3:%.*]] = or i32 [[TMP2]], [[Y]]
-; CHECK-NEXT: [[RES:%.*]] = mul i32 [[TMP3]], [[OR]]
+; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[OR]]
+; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[OR]]
; CHECK-NEXT: ret i32 [[RES]]
;
%and = and i32 %x, 4096
@@ -452,16 +447,14 @@ define i32 @no_shift_xor_multiuse_cmp(i32 %x, i32 %y, i32 %z, i32 %w) {
ret i32 %res
}
-; TODO this increased the number of instructions
define i32 @shift_xor_multiuse_cmp(i32 %x, i32 %y, i32 %z, i32 %w) {
; CHECK-LABEL: @shift_xor_multiuse_cmp(
; CHECK-NEXT: [[AND:%.*]] = and i32 [[X:%.*]], 4096
; CHECK-NEXT: [[CMP:%.*]] = icmp ne i32 [[AND]], 0
-; CHECK-NEXT: [[TMP1:%.*]] = lshr exact i32 [[AND]], 1
-; CHECK-NEXT: [[TMP2:%.*]] = xor i32 [[TMP1]], 2048
-; CHECK-NEXT: [[TMP3:%.*]] = or i32 [[TMP2]], [[Y:%.*]]
+; CHECK-NEXT: [[OR:%.*]] = or i32 [[Y:%.*]], 2048
+; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[OR]]
; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
-; CHECK-NEXT: [[RES:%.*]] = mul i32 [[TMP3]], [[SELECT2]]
+; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
; CHECK-NEXT: ret i32 [[RES]]
;
%and = and i32 %x, 4096
@@ -473,16 +466,14 @@ define i32 @shift_xor_multiuse_cmp(i32 %x, i32 %y, i32 %z, i32 %w) {
ret i32 %res
}
-; TODO this increased the number of instructions
define i32 @shift_no_xor_multiuse_cmp_or(i32 %x, i32 %y, i32 %z, i32 %w) {
; CHECK-LABEL: @shift_no_xor_multiuse_cmp_or(
; CHECK-NEXT: [[AND:%.*]] = and i32 [[X:%.*]], 1
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i32 [[AND]], 0
; CHECK-NEXT: [[OR:%.*]] = or i32 [[Y:%.*]], 2
-; CHECK-NEXT: [[TMP1:%.*]] = shl nuw nsw i32 [[AND]], 1
-; CHECK-NEXT: [[TMP2:%.*]] = or i32 [[TMP1]], [[Y]]
+; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[OR]]
; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
-; CHECK-NEXT: [[RES:%.*]] = mul i32 [[TMP2]], [[SELECT2]]
+; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
; CHECK-NEXT: [[RES2:%.*]] = mul i32 [[RES]], [[OR]]
; CHECK-NEXT: ret i32 [[RES2]]
;
@@ -517,16 +508,14 @@ define i32 @no_shift_no_xor_multiuse_cmp_or(i32 %x, i32 %y, i32 %z, i32 %w) {
ret i32 %res2
}
-; TODO this increased the number of instructions
define i32 @no_shift_xor_multiuse_cmp_or(i32 %x, i32 %y, i32 %z, i32 %w) {
; CHECK-LABEL: @no_shift_xor_multiuse_cmp_or(
; CHECK-NEXT: [[AND:%.*]] = and i32 [[X:%.*]], 4096
; CHECK-NEXT: [[CMP:%.*]] = icmp ne i32 [[AND]], 0
; CHECK-NEXT: [[OR:%.*]] = or i32 [[Y:%.*]], 4096
-; CHECK-NEXT: [[TMP1:%.*]] = xor i32 [[AND]], 4096
-; CHECK-NEXT: [[TMP2:%.*]] = or i32 [[TMP1]], [[Y]]
+; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[OR]]
; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
-; CHECK-NEXT: [[RES:%.*]] = mul i32 [[TMP2]], [[SELECT2]]
+; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
; CHECK-NEXT: [[RES2:%.*]] = mul i32 [[RES]], [[OR]]
; CHECK-NEXT: ret i32 [[RES2]]
;
@@ -540,17 +529,14 @@ define i32 @no_shift_xor_multiuse_cmp_or(i32 %x, i32 %y, i32 %z, i32 %w) {
ret i32 %res2
}
-; TODO this increased the number of instructions
define i32 @shift_xor_multiuse_cmp_or(i32 %x, i32 %y, i32 %z, i32 %w) {
; CHECK-LABEL: @shift_xor_multiuse_cmp_or(
; CHECK-NEXT: [[AND:%.*]] = and i32 [[X:%.*]], 4096
; CHECK-NEXT: [[CMP:%.*]] = icmp ne i32 [[AND]], 0
; CHECK-NEXT: [[OR:%.*]] = or i32 [[Y:%.*]], 2048
-; CHECK-NEXT: [[TMP1:%.*]] = lshr exact i32 [[AND]], 1
-; CHECK-NEXT: [[TMP2:%.*]] = xor i32 [[TMP1]], 2048
-; CHECK-NEXT: [[TMP3:%.*]] = or i32 [[TMP2]], [[Y]]
+; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[OR]]
; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
-; CHECK-NEXT: [[RES:%.*]] = mul i32 [[TMP3]], [[SELECT2]]
+; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
; CHECK-NEXT: [[RES2:%.*]] = mul i32 [[RES]], [[OR]]
; CHECK-NEXT: ret i32 [[RES2]]
;
diff --git a/test/Transforms/InstCombine/select.ll b/test/Transforms/InstCombine/select.ll
index c26380eaa71b..0f94235982b9 100644
--- a/test/Transforms/InstCombine/select.ll
+++ b/test/Transforms/InstCombine/select.ll
@@ -926,7 +926,7 @@ while.body:
define i32 @test76(i1 %flag, i32* %x) {
; The load here must not be speculated around the select. One side of the
-; select is trivially dereferencable but may have a lower alignment than the
+; select is trivially dereferenceable but may have a lower alignment than the
; load does.
; CHECK-LABEL: @test76(
; CHECK: store i32 0, i32* %x
@@ -943,7 +943,7 @@ declare void @scribble_on_i32(i32*)
define i32 @test77(i1 %flag, i32* %x) {
; The load here must not be speculated around the select. One side of the
-; select is trivially dereferencable but may have a lower alignment than the
+; select is trivially dereferenceable but may have a lower alignment than the
; load does.
; CHECK-LABEL: @test77(
; CHECK: %[[A:.*]] = alloca i32, align 1
diff --git a/test/Transforms/InstCombine/set.ll b/test/Transforms/InstCombine/set.ll
index db2b4c3558e8..f9f48cfa3637 100644
--- a/test/Transforms/InstCombine/set.ll
+++ b/test/Transforms/InstCombine/set.ll
@@ -160,14 +160,12 @@ define i1 @bool_eq0(i64 %a) {
ret i1 %and
}
-; FIXME: This is equivalent to the previous test.
+; This is equivalent to the previous test.
define i1 @xor_of_icmps(i64 %a) {
; CHECK-LABEL: @xor_of_icmps(
-; CHECK-NEXT: [[B:%.*]] = icmp sgt i64 %a, 0
-; CHECK-NEXT: [[C:%.*]] = icmp eq i64 %a, 1
-; CHECK-NEXT: [[XOR:%.*]] = xor i1 [[C]], [[B]]
-; CHECK-NEXT: ret i1 [[XOR]]
+; CHECK-NEXT: [[TMP1:%.*]] = icmp sgt i64 %a, 1
+; CHECK-NEXT: ret i1 [[TMP1]]
;
%b = icmp sgt i64 %a, 0
%c = icmp eq i64 %a, 1
@@ -175,14 +173,12 @@ define i1 @xor_of_icmps(i64 %a) {
ret i1 %xor
}
-; FIXME: This is also equivalent to the previous test.
+; This is also equivalent to the previous test.
define i1 @xor_of_icmps_commute(i64 %a) {
; CHECK-LABEL: @xor_of_icmps_commute(
-; CHECK-NEXT: [[B:%.*]] = icmp sgt i64 %a, 0
-; CHECK-NEXT: [[C:%.*]] = icmp eq i64 %a, 1
-; CHECK-NEXT: [[XOR:%.*]] = xor i1 [[B]], [[C]]
-; CHECK-NEXT: ret i1 [[XOR]]
+; CHECK-NEXT: [[TMP1:%.*]] = icmp sgt i64 %a, 1
+; CHECK-NEXT: ret i1 [[TMP1]]
;
%b = icmp sgt i64 %a, 0
%c = icmp eq i64 %a, 1
@@ -209,10 +205,10 @@ define i1 @xor_of_icmps_folds_more(i64 %a) {
define i32 @PR2844(i32 %x) {
; CHECK-LABEL: @PR2844(
-; CHECK-NEXT: [[A:%.*]] = icmp eq i32 %x, 0
+; CHECK-NEXT: [[A:%.*]] = icmp ne i32 %x, 0
; CHECK-NEXT: [[B:%.*]] = icmp sgt i32 %x, -638208502
-; CHECK-NEXT: [[NOT_OR:%.*]] = xor i1 [[A]], [[B]]
-; CHECK-NEXT: [[SEL:%.*]] = zext i1 [[NOT_OR]] to i32
+; CHECK-NEXT: [[TMP1:%.*]] = and i1 [[A]], [[B]]
+; CHECK-NEXT: [[SEL:%.*]] = zext i1 [[TMP1]] to i32
; CHECK-NEXT: ret i32 [[SEL]]
;
%A = icmp eq i32 %x, 0
diff --git a/test/Transforms/InstCombine/xor2.ll b/test/Transforms/InstCombine/xor2.ll
index 49e6b999fbce..3061bdf87904 100644
--- a/test/Transforms/InstCombine/xor2.ll
+++ b/test/Transforms/InstCombine/xor2.ll
@@ -330,7 +330,7 @@ define i8 @test15(i8 %A, i8 %B) {
; CHECK-NEXT: [[XOR1:%.*]] = xor i8 [[B:%.*]], [[A:%.*]]
; CHECK-NEXT: [[NOT:%.*]] = xor i8 [[A]], 33
; CHECK-NEXT: [[XOR2:%.*]] = xor i8 [[NOT]], [[B]]
-; CHECK-NEXT: [[AND:%.*]] = and i8 [[XOR1]], [[XOR2]]
+; CHECK-NEXT: [[AND:%.*]] = and i8 [[XOR1]], -34
; CHECK-NEXT: [[RES:%.*]] = mul i8 [[AND]], [[XOR2]]
; CHECK-NEXT: ret i8 [[RES]]
;
@@ -347,7 +347,7 @@ define i8 @test16(i8 %A, i8 %B) {
; CHECK-NEXT: [[XOR1:%.*]] = xor i8 [[B:%.*]], [[A:%.*]]
; CHECK-NEXT: [[NOT:%.*]] = xor i8 [[A]], 33
; CHECK-NEXT: [[XOR2:%.*]] = xor i8 [[NOT]], [[B]]
-; CHECK-NEXT: [[AND:%.*]] = and i8 [[XOR2]], [[XOR1]]
+; CHECK-NEXT: [[AND:%.*]] = and i8 [[XOR1]], -34
; CHECK-NEXT: [[RES:%.*]] = mul i8 [[AND]], [[XOR2]]
; CHECK-NEXT: ret i8 [[RES]]
;
diff --git a/test/Transforms/InterleavedAccess/X86/interleaved-accesses-64bits-avx.ll b/test/Transforms/InterleavedAccess/X86/interleaved-accesses-64bits-avx.ll
index 1f444b3748a5..dcef57fc625f 100644
--- a/test/Transforms/InterleavedAccess/X86/interleaved-accesses-64bits-avx.ll
+++ b/test/Transforms/InterleavedAccess/X86/interleaved-accesses-64bits-avx.ll
@@ -106,8 +106,22 @@ define void @store_factorf64_4(<16 x double>* %ptr, <4 x double> %v0, <4 x doubl
; CHECK-LABEL: @store_factorf64_4(
; CHECK-NEXT: [[S0:%.*]] = shufflevector <4 x double> [[V0:%.*]], <4 x double> [[V1:%.*]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
; CHECK-NEXT: [[S1:%.*]] = shufflevector <4 x double> [[V2:%.*]], <4 x double> [[V3:%.*]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
-; CHECK-NEXT: [[INTERLEAVED_VEC:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <16 x i32> <i32 0, i32 4, i32 8, i32 12, i32 1, i32 5, i32 9, i32 13, i32 2, i32 6, i32 10, i32 14, i32 3, i32 7, i32 11, i32 15>
-; CHECK-NEXT: store <16 x double> [[INTERLEAVED_VEC]], <16 x double>* [[PTR:%.*]], align 16
+; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <4 x i32> <i32 0, i32 1, i32 2, i32 3>
+; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <4 x i32> <i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP3:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <4 x i32> <i32 8, i32 9, i32 10, i32 11>
+; CHECK-NEXT: [[TMP4:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <4 x i32> <i32 12, i32 13, i32 14, i32 15>
+; CHECK-NEXT: [[TMP5:%.*]] = shufflevector <4 x double> [[TMP1]], <4 x double> [[TMP3]], <4 x i32> <i32 0, i32 1, i32 4, i32 5>
+; CHECK-NEXT: [[TMP6:%.*]] = shufflevector <4 x double> [[TMP2]], <4 x double> [[TMP4]], <4 x i32> <i32 0, i32 1, i32 4, i32 5>
+; CHECK-NEXT: [[TMP7:%.*]] = shufflevector <4 x double> [[TMP1]], <4 x double> [[TMP3]], <4 x i32> <i32 2, i32 3, i32 6, i32 7>
+; CHECK-NEXT: [[TMP8:%.*]] = shufflevector <4 x double> [[TMP2]], <4 x double> [[TMP4]], <4 x i32> <i32 2, i32 3, i32 6, i32 7>
+; CHECK-NEXT: [[TMP9:%.*]] = shufflevector <4 x double> [[TMP5]], <4 x double> [[TMP6]], <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+; CHECK-NEXT: [[TMP10:%.*]] = shufflevector <4 x double> [[TMP7]], <4 x double> [[TMP8]], <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+; CHECK-NEXT: [[TMP11:%.*]] = shufflevector <4 x double> [[TMP5]], <4 x double> [[TMP6]], <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+; CHECK-NEXT: [[TMP12:%.*]] = shufflevector <4 x double> [[TMP7]], <4 x double> [[TMP8]], <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+; CHECK-NEXT: [[TMP13:%.*]] = shufflevector <4 x double> [[TMP9]], <4 x double> [[TMP11]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP14:%.*]] = shufflevector <4 x double> [[TMP10]], <4 x double> [[TMP12]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP15:%.*]] = shufflevector <8 x double> [[TMP13]], <8 x double> [[TMP14]], <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+; CHECK-NEXT: store <16 x double> [[TMP15]], <16 x double>* [[PTR:%.*]], align 16
; CHECK-NEXT: ret void
;
%s0 = shufflevector <4 x double> %v0, <4 x double> %v1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
@@ -121,8 +135,22 @@ define void @store_factori64_4(<16 x i64>* %ptr, <4 x i64> %v0, <4 x i64> %v1, <
; CHECK-LABEL: @store_factori64_4(
; CHECK-NEXT: [[S0:%.*]] = shufflevector <4 x i64> [[V0:%.*]], <4 x i64> [[V1:%.*]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
; CHECK-NEXT: [[S1:%.*]] = shufflevector <4 x i64> [[V2:%.*]], <4 x i64> [[V3:%.*]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
-; CHECK-NEXT: [[INTERLEAVED_VEC:%.*]] = shufflevector <8 x i64> [[S0]], <8 x i64> [[S1]], <16 x i32> <i32 0, i32 4, i32 8, i32 12, i32 1, i32 5, i32 9, i32 13, i32 2, i32 6, i32 10, i32 14, i32 3, i32 7, i32 11, i32 15>
-; CHECK-NEXT: store <16 x i64> [[INTERLEAVED_VEC]], <16 x i64>* [[PTR:%.*]], align 16
+; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i64> [[S0]], <8 x i64> [[S1]], <4 x i32> <i32 0, i32 1, i32 2, i32 3>
+; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <8 x i64> [[S0]], <8 x i64> [[S1]], <4 x i32> <i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP3:%.*]] = shufflevector <8 x i64> [[S0]], <8 x i64> [[S1]], <4 x i32> <i32 8, i32 9, i32 10, i32 11>
+; CHECK-NEXT: [[TMP4:%.*]] = shufflevector <8 x i64> [[S0]], <8 x i64> [[S1]], <4 x i32> <i32 12, i32 13, i32 14, i32 15>
+; CHECK-NEXT: [[TMP5:%.*]] = shufflevector <4 x i64> [[TMP1]], <4 x i64> [[TMP3]], <4 x i32> <i32 0, i32 1, i32 4, i32 5>
+; CHECK-NEXT: [[TMP6:%.*]] = shufflevector <4 x i64> [[TMP2]], <4 x i64> [[TMP4]], <4 x i32> <i32 0, i32 1, i32 4, i32 5>
+; CHECK-NEXT: [[TMP7:%.*]] = shufflevector <4 x i64> [[TMP1]], <4 x i64> [[TMP3]], <4 x i32> <i32 2, i32 3, i32 6, i32 7>
+; CHECK-NEXT: [[TMP8:%.*]] = shufflevector <4 x i64> [[TMP2]], <4 x i64> [[TMP4]], <4 x i32> <i32 2, i32 3, i32 6, i32 7>
+; CHECK-NEXT: [[TMP9:%.*]] = shufflevector <4 x i64> [[TMP5]], <4 x i64> [[TMP6]], <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+; CHECK-NEXT: [[TMP10:%.*]] = shufflevector <4 x i64> [[TMP7]], <4 x i64> [[TMP8]], <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+; CHECK-NEXT: [[TMP11:%.*]] = shufflevector <4 x i64> [[TMP5]], <4 x i64> [[TMP6]], <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+; CHECK-NEXT: [[TMP12:%.*]] = shufflevector <4 x i64> [[TMP7]], <4 x i64> [[TMP8]], <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+; CHECK-NEXT: [[TMP13:%.*]] = shufflevector <4 x i64> [[TMP9]], <4 x i64> [[TMP11]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP14:%.*]] = shufflevector <4 x i64> [[TMP10]], <4 x i64> [[TMP12]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP15:%.*]] = shufflevector <8 x i64> [[TMP13]], <8 x i64> [[TMP14]], <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+; CHECK-NEXT: store <16 x i64> [[TMP15]], <16 x i64>* [[PTR:%.*]], align 16
; CHECK-NEXT: ret void
;
%s0 = shufflevector <4 x i64> %v0, <4 x i64> %v1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
@@ -136,8 +164,22 @@ define void @store_factorf64_4_revMask(<16 x double>* %ptr, <4 x double> %v0, <4
; CHECK-LABEL: @store_factorf64_4_revMask(
; CHECK-NEXT: [[S0:%.*]] = shufflevector <4 x double> [[V0:%.*]], <4 x double> [[V1:%.*]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
; CHECK-NEXT: [[S1:%.*]] = shufflevector <4 x double> [[V2:%.*]], <4 x double> [[V3:%.*]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
-; CHECK-NEXT: [[INTERLEAVED_VEC:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <16 x i32> <i32 12, i32 8, i32 4, i32 0, i32 13, i32 9, i32 5, i32 1, i32 14, i32 10, i32 6, i32 2, i32 15, i32 11, i32 7, i32 3>
-; CHECK-NEXT: store <16 x double> [[INTERLEAVED_VEC]], <16 x double>* [[PTR:%.*]], align 16
+; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <4 x i32> <i32 12, i32 13, i32 14, i32 15>
+; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <4 x i32> <i32 8, i32 9, i32 10, i32 11>
+; CHECK-NEXT: [[TMP3:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <4 x i32> <i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP4:%.*]] = shufflevector <8 x double> [[S0]], <8 x double> [[S1]], <4 x i32> <i32 0, i32 1, i32 2, i32 3>
+; CHECK-NEXT: [[TMP5:%.*]] = shufflevector <4 x double> [[TMP1]], <4 x double> [[TMP3]], <4 x i32> <i32 0, i32 1, i32 4, i32 5>
+; CHECK-NEXT: [[TMP6:%.*]] = shufflevector <4 x double> [[TMP2]], <4 x double> [[TMP4]], <4 x i32> <i32 0, i32 1, i32 4, i32 5>
+; CHECK-NEXT: [[TMP7:%.*]] = shufflevector <4 x double> [[TMP1]], <4 x double> [[TMP3]], <4 x i32> <i32 2, i32 3, i32 6, i32 7>
+; CHECK-NEXT: [[TMP8:%.*]] = shufflevector <4 x double> [[TMP2]], <4 x double> [[TMP4]], <4 x i32> <i32 2, i32 3, i32 6, i32 7>
+; CHECK-NEXT: [[TMP9:%.*]] = shufflevector <4 x double> [[TMP5]], <4 x double> [[TMP6]], <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+; CHECK-NEXT: [[TMP10:%.*]] = shufflevector <4 x double> [[TMP7]], <4 x double> [[TMP8]], <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+; CHECK-NEXT: [[TMP11:%.*]] = shufflevector <4 x double> [[TMP5]], <4 x double> [[TMP6]], <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+; CHECK-NEXT: [[TMP12:%.*]] = shufflevector <4 x double> [[TMP7]], <4 x double> [[TMP8]], <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+; CHECK-NEXT: [[TMP13:%.*]] = shufflevector <4 x double> [[TMP9]], <4 x double> [[TMP11]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP14:%.*]] = shufflevector <4 x double> [[TMP10]], <4 x double> [[TMP12]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP15:%.*]] = shufflevector <8 x double> [[TMP13]], <8 x double> [[TMP14]], <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+; CHECK-NEXT: store <16 x double> [[TMP15]], <16 x double>* [[PTR:%.*]], align 16
; CHECK-NEXT: ret void
;
%s0 = shufflevector <4 x double> %v0, <4 x double> %v1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
@@ -151,8 +193,22 @@ define void @store_factorf64_4_arbitraryMask(<16 x double>* %ptr, <16 x double>
; CHECK-LABEL: @store_factorf64_4_arbitraryMask(
; CHECK-NEXT: [[S0:%.*]] = shufflevector <16 x double> [[V0:%.*]], <16 x double> [[V1:%.*]], <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
; CHECK-NEXT: [[S1:%.*]] = shufflevector <16 x double> [[V2:%.*]], <16 x double> [[V3:%.*]], <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
-; CHECK-NEXT: [[INTERLEAVED_VEC:%.*]] = shufflevector <32 x double> [[S0]], <32 x double> [[S1]], <16 x i32> <i32 4, i32 32, i32 16, i32 8, i32 5, i32 33, i32 17, i32 9, i32 6, i32 34, i32 18, i32 10, i32 7, i32 35, i32 19, i32 11>
-; CHECK-NEXT: store <16 x double> [[INTERLEAVED_VEC]], <16 x double>* [[PTR:%.*]], align 16
+; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x double> [[S0]], <32 x double> [[S1]], <4 x i32> <i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <32 x double> [[S0]], <32 x double> [[S1]], <4 x i32> <i32 32, i32 33, i32 34, i32 35>
+; CHECK-NEXT: [[TMP3:%.*]] = shufflevector <32 x double> [[S0]], <32 x double> [[S1]], <4 x i32> <i32 16, i32 17, i32 18, i32 19>
+; CHECK-NEXT: [[TMP4:%.*]] = shufflevector <32 x double> [[S0]], <32 x double> [[S1]], <4 x i32> <i32 8, i32 9, i32 10, i32 11>
+; CHECK-NEXT: [[TMP5:%.*]] = shufflevector <4 x double> [[TMP1]], <4 x double> [[TMP3]], <4 x i32> <i32 0, i32 1, i32 4, i32 5>
+; CHECK-NEXT: [[TMP6:%.*]] = shufflevector <4 x double> [[TMP2]], <4 x double> [[TMP4]], <4 x i32> <i32 0, i32 1, i32 4, i32 5>
+; CHECK-NEXT: [[TMP7:%.*]] = shufflevector <4 x double> [[TMP1]], <4 x double> [[TMP3]], <4 x i32> <i32 2, i32 3, i32 6, i32 7>
+; CHECK-NEXT: [[TMP8:%.*]] = shufflevector <4 x double> [[TMP2]], <4 x double> [[TMP4]], <4 x i32> <i32 2, i32 3, i32 6, i32 7>
+; CHECK-NEXT: [[TMP9:%.*]] = shufflevector <4 x double> [[TMP5]], <4 x double> [[TMP6]], <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+; CHECK-NEXT: [[TMP10:%.*]] = shufflevector <4 x double> [[TMP7]], <4 x double> [[TMP8]], <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+; CHECK-NEXT: [[TMP11:%.*]] = shufflevector <4 x double> [[TMP5]], <4 x double> [[TMP6]], <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+; CHECK-NEXT: [[TMP12:%.*]] = shufflevector <4 x double> [[TMP7]], <4 x double> [[TMP8]], <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+; CHECK-NEXT: [[TMP13:%.*]] = shufflevector <4 x double> [[TMP9]], <4 x double> [[TMP11]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP14:%.*]] = shufflevector <4 x double> [[TMP10]], <4 x double> [[TMP12]], <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+; CHECK-NEXT: [[TMP15:%.*]] = shufflevector <8 x double> [[TMP13]], <8 x double> [[TMP14]], <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+; CHECK-NEXT: store <16 x double> [[TMP15]], <16 x double>* [[PTR:%.*]], align 16
; CHECK-NEXT: ret void
;
%s0 = shufflevector <16 x double> %v0, <16 x double> %v1, <32 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31>
@@ -161,4 +217,3 @@ define void @store_factorf64_4_arbitraryMask(<16 x double>* %ptr, <16 x double>
store <16 x double> %interleaved.vec, <16 x double>* %ptr, align 16
ret void
}
-
diff --git a/test/Transforms/InterleavedAccess/X86/interleavedStore.ll b/test/Transforms/InterleavedAccess/X86/interleavedStore.ll
new file mode 100644
index 000000000000..e1ae199b4824
--- /dev/null
+++ b/test/Transforms/InterleavedAccess/X86/interleavedStore.ll
@@ -0,0 +1,17 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt < %s -mtriple=x86_64-pc-linux -mattr=+avx -mattr=+avx2 -interleaved-access -S | FileCheck %s
+
+define void @interleaved_store_vf32_i8_stride4(<32 x i8> %x1, <32 x i8> %x2, <32 x i8> %x3, <32 x i8> %x4, <128 x i8>* %p) {
+; CHECK-LABEL: @interleaved_store_vf32_i8_stride4(
+; CHECK-NEXT: [[V1:%.*]] = shufflevector <32 x i8> [[X1:%.*]], <32 x i8> [[X2:%.*]], <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+; CHECK-NEXT: [[V2:%.*]] = shufflevector <32 x i8> [[X3:%.*]], <32 x i8> [[X4:%.*]], <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+; CHECK-NEXT: [[INTERLEAVED_VEC:%.*]] = shufflevector <64 x i8> [[V1]], <64 x i8> [[V2]], <128 x i32> <i32 0, i32 32, i32 64, i32 96, i32 1, i32 33, i32 65, i32 97, i32 2, i32 34, i32 66, i32 98, i32 3, i32 35, i32 67, i32 99, i32 4, i32 36, i32 68, i32 100, i32 5, i32 37, i32 69, i32 101, i32 6, i32 38, i32 70, i32 102, i32 7, i32 39, i32 71, i32 103, i32 8, i32 40, i32 72, i32 104, i32 9, i32 41, i32 73, i32 105, i32 10, i32 42, i32 74, i32 106, i32 11, i32 43, i32 75, i32 107, i32 12, i32 44, i32 76, i32 108, i32 13, i32 45, i32 77, i32 109, i32 14, i32 46, i32 78, i32 110, i32 15, i32 47, i32 79, i32 111, i32 16, i32 48, i32 80, i32 112, i32 17, i32 49, i32 81, i32 113, i32 18, i32 50, i32 82, i32 114, i32 19, i32 51, i32 83, i32 115, i32 20, i32 52, i32 84, i32 116, i32 21, i32 53, i32 85, i32 117, i32 22, i32 54, i32 86, i32 118, i32 23, i32 55, i32 87, i32 119, i32 24, i32 56, i32 88, i32 120, i32 25, i32 57, i32 89, i32 121, i32 26, i32 58, i32 90, i32 122, i32 27, i32 59, i32 91, i32 123, i32 28, i32 60, i32 92, i32 124, i32 29, i32 61, i32 93, i32 125, i32 30, i32 62, i32 94, i32 126, i32 31, i32 63, i32 95, i32 127>
+; CHECK-NEXT: store <128 x i8> [[INTERLEAVED_VEC]], <128 x i8>* [[P:%.*]]
+; CHECK-NEXT: ret void
+;
+ %v1 = shufflevector <32 x i8> %x1, <32 x i8> %x2, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ %v2 = shufflevector <32 x i8> %x3, <32 x i8> %x4, <64 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 30, i32 31, i32 32, i32 33, i32 34, i32 35, i32 36, i32 37, i32 38, i32 39, i32 40, i32 41, i32 42, i32 43, i32 44, i32 45, i32 46, i32 47, i32 48, i32 49, i32 50, i32 51, i32 52, i32 53, i32 54, i32 55, i32 56, i32 57, i32 58, i32 59, i32 60, i32 61, i32 62, i32 63>
+ %interleaved.vec = shufflevector <64 x i8> %v1, <64 x i8> %v2, <128 x i32> <i32 0, i32 32, i32 64, i32 96, i32 1, i32 33, i32 65, i32 97, i32 2, i32 34, i32 66, i32 98, i32 3, i32 35, i32 67, i32 99, i32 4, i32 36, i32 68, i32 100, i32 5, i32 37, i32 69, i32 101, i32 6, i32 38, i32 70, i32 102, i32 7, i32 39, i32 71, i32 103, i32 8, i32 40, i32 72, i32 104, i32 9, i32 41, i32 73, i32 105, i32 10, i32 42, i32 74, i32 106, i32 11, i32 43, i32 75, i32 107, i32 12, i32 44, i32 76, i32 108, i32 13, i32 45, i32 77, i32 109, i32 14, i32 46, i32 78, i32 110, i32 15, i32 47, i32 79, i32 111, i32 16, i32 48, i32 80, i32 112, i32 17, i32 49, i32 81, i32 113, i32 18, i32 50, i32 82, i32 114, i32 19, i32 51, i32 83, i32 115, i32 20, i32 52, i32 84, i32 116, i32 21, i32 53, i32 85, i32 117, i32 22, i32 54, i32 86, i32 118, i32 23, i32 55, i32 87, i32 119, i32 24, i32 56, i32 88, i32 120, i32 25, i32 57, i32 89, i32 121, i32 26, i32 58, i32 90, i32 122, i32 27, i32 59, i32 91, i32 123, i32 28, i32 60, i32 92, i32 124, i32 29, i32 61, i32 93, i32 125, i32 30, i32 62, i32 94, i32 126, i32 31, i32 63, i32 95, i32 127>
+ store <128 x i8> %interleaved.vec, <128 x i8>* %p
+ ret void
+}
diff --git a/test/Transforms/LICM/strlen.ll b/test/Transforms/LICM/strlen.ll
new file mode 100644
index 000000000000..27d51c8394d6
--- /dev/null
+++ b/test/Transforms/LICM/strlen.ll
@@ -0,0 +1,19 @@
+; RUN: opt -S -inferattrs -basicaa -licm < %s | FileCheck %s
+
+define void @test(i64* noalias %loc, i8* noalias %a) {
+; CHECK-LABEL: @test
+; CHECK: @strlen
+; CHECK-LABEL: loop:
+ br label %loop
+
+loop:
+ %res = call i64 @strlen(i8* %a)
+ store i64 %res, i64* %loc
+ br label %loop
+}
+
+; CHECK: declare i64 @strlen(i8* nocapture) #0
+; CHECK: attributes #0 = { argmemonly nounwind readonly }
+declare i64 @strlen(i8*)
+
+
diff --git a/test/Transforms/LoadCombine/deadcode.ll b/test/Transforms/LoadCombine/deadcode.ll
deleted file mode 100644
index ed72824ffb44..000000000000
--- a/test/Transforms/LoadCombine/deadcode.ll
+++ /dev/null
@@ -1,39 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
-; RUN: opt -load-combine -S < %s | FileCheck %s
-
-; It has been detected that dead loops like the one in this test case can be
-; created by -jump-threading (it was detected by a csmith generated program).
-;
-; According to -verify this is valid input (even if it could be discussed if
-; the dead loop really satisfies SSA form).
-;
-; The problem found was that the -load-combine pass ends up in an infinite loop
-; when analysing the 'bb1' basic block.
-define void @test1() {
-; CHECK-LABEL: @test1(
-; CHECK-NEXT: ret void
-; CHECK: bb1:
-; CHECK-NEXT: [[_TMP4:%.*]] = load i16, i16* [[_TMP10:%.*]], align 1
-; CHECK-NEXT: [[_TMP10]] = getelementptr i16, i16* [[_TMP10]], i16 1
-; CHECK-NEXT: br label [[BB1:%.*]]
-; CHECK: bb2:
-; CHECK-NEXT: [[_TMP7:%.*]] = load i16, i16* [[_TMP12:%.*]], align 1
-; CHECK-NEXT: [[_TMP12]] = getelementptr i16, i16* [[_TMP12]], i16 1
-; CHECK-NEXT: br label [[BB2:%.*]]
-;
- ret void
-
-bb1:
- %_tmp4 = load i16, i16* %_tmp10, align 1
- %_tmp10 = getelementptr i16, i16* %_tmp10, i16 1
- br label %bb1
-
-; A second basic block. Running the test with -debug-pass=Executions shows
-; that we only run the Dominator Tree Construction one time for each function,
-; also when having multiple basic blocks in the function.
-bb2:
- %_tmp7 = load i16, i16* %_tmp12, align 1
- %_tmp12 = getelementptr i16, i16* %_tmp12, i16 1
- br label %bb2
-
-}
diff --git a/test/Transforms/LoadCombine/load-combine-aa.ll b/test/Transforms/LoadCombine/load-combine-aa.ll
deleted file mode 100644
index 5a577516fb47..000000000000
--- a/test/Transforms/LoadCombine/load-combine-aa.ll
+++ /dev/null
@@ -1,63 +0,0 @@
-; RUN: opt -basicaa -load-combine -S < %s | FileCheck %s
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-linux-gnu"
-
-define i64 @test1(i32* nocapture readonly noalias %a, i32* nocapture readonly noalias %b) {
-; CHECK-LABEL: @test1
-
-; CHECK: load i64, i64*
-; CHECK: ret i64
-
- %load1 = load i32, i32* %a, align 4
- %conv = zext i32 %load1 to i64
- %arrayidx1 = getelementptr inbounds i32, i32* %a, i64 1
- store i32 %load1, i32* %b, align 4
- %load2 = load i32, i32* %arrayidx1, align 4
- %conv2 = zext i32 %load2 to i64
- %shl = shl nuw i64 %conv2, 32
- %add = or i64 %shl, %conv
- ret i64 %add
-}
-
-define i64 @test2(i32* nocapture readonly %a, i32* nocapture readonly %b) {
-; CHECK-LABEL: @test2
-
-; CHECK-NOT: load i64
-; CHECK: load i32, i32*
-; CHECK: load i32, i32*
-; CHECK: ret i64
-
- %load1 = load i32, i32* %a, align 4
- %conv = zext i32 %load1 to i64
- %arrayidx1 = getelementptr inbounds i32, i32* %a, i64 1
- store i32 %load1, i32* %b, align 4
- %load2 = load i32, i32* %arrayidx1, align 4
- %conv2 = zext i32 %load2 to i64
- %shl = shl nuw i64 %conv2, 32
- %add = or i64 %shl, %conv
- ret i64 %add
-}
-
-%rec11 = type { i16, i16, i16 }
-@str = global %rec11 { i16 1, i16 2, i16 3 }
-
-; PR31517 - Check that loads which span an aliasing store are not combined.
-define i16 @test3() {
-; CHECK-LABEL: @test3
-
-; CHECK-NOT: load i32
-; CHECK: load i16, i16*
-; CHECK: store i16
-; CHECK: load i16, i16*
-; CHECK: ret i16
-
- %_tmp9 = getelementptr %rec11, %rec11* @str, i16 0, i32 1
- %_tmp10 = load i16, i16* %_tmp9
- %_tmp12 = getelementptr %rec11, %rec11* @str, i16 0, i32 0
- store i16 %_tmp10, i16* %_tmp12
- %_tmp13 = getelementptr %rec11, %rec11* @str, i16 0, i32 0
- %_tmp14 = load i16, i16* %_tmp13
- %_tmp15 = icmp eq i16 %_tmp14, 3
- %_tmp16 = select i1 %_tmp15, i16 1, i16 0
- ret i16 %_tmp16
-}
diff --git a/test/Transforms/LoadCombine/load-combine-assume.ll b/test/Transforms/LoadCombine/load-combine-assume.ll
deleted file mode 100644
index 2d6d160f12fe..000000000000
--- a/test/Transforms/LoadCombine/load-combine-assume.ll
+++ /dev/null
@@ -1,44 +0,0 @@
-; RUN: opt -basicaa -load-combine -instcombine -S < %s | FileCheck %s
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-linux-gnu"
-
-declare void @llvm.assume(i1) nounwind
-
-; 'load' before the 'call' gets optimized:
-define i64 @test1(i32* nocapture readonly %a, i1 %b) {
-; CHECK-LABEL: @test1
-
-; CHECK-DAG: load i64, i64* %1, align 4
-; CHECK-DAG: tail call void @llvm.assume(i1 %b)
-; CHECK: ret i64
-
- %load1 = load i32, i32* %a, align 4
- %conv = zext i32 %load1 to i64
- %arrayidx1 = getelementptr inbounds i32, i32* %a, i64 1
- %load2 = load i32, i32* %arrayidx1, align 4
- tail call void @llvm.assume(i1 %b)
- %conv2 = zext i32 %load2 to i64
- %shl = shl nuw i64 %conv2, 32
- %add = or i64 %shl, %conv
- ret i64 %add
-}
-
-; 'call' before the 'load' doesn't get optimized:
-define i64 @test2(i32* nocapture readonly %a, i1 %b) {
-; CHECK-LABEL: @test2
-
-; CHECK-DAG: load i64, i64* %1, align 4
-; CHECK-DAG: tail call void @llvm.assume(i1 %b)
-; CHECK: ret i64
-
- %load1 = load i32, i32* %a, align 4
- %conv = zext i32 %load1 to i64
- %arrayidx1 = getelementptr inbounds i32, i32* %a, i64 1
- tail call void @llvm.assume(i1 %b)
- %load2 = load i32, i32* %arrayidx1, align 4
- %conv2 = zext i32 %load2 to i64
- %shl = shl nuw i64 %conv2, 32
- %add = or i64 %shl, %conv
- ret i64 %add
-}
-
diff --git a/test/Transforms/LoadCombine/load-combine-negativegep.ll b/test/Transforms/LoadCombine/load-combine-negativegep.ll
deleted file mode 100644
index 7c5700b42954..000000000000
--- a/test/Transforms/LoadCombine/load-combine-negativegep.ll
+++ /dev/null
@@ -1,19 +0,0 @@
-; RUN: opt -basicaa -load-combine -S < %s | FileCheck %s
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-linux-gnu"
-
-define i32 @Load_NegGep(i32* %i){
- %1 = getelementptr inbounds i32, i32* %i, i64 -1
- %2 = load i32, i32* %1, align 4
- %3 = load i32, i32* %i, align 4
- %4 = add nsw i32 %3, %2
- ret i32 %4
-; CHECK-LABEL: @Load_NegGep(
-; CHECK: %[[load:.*]] = load i64
-; CHECK: %[[combine_extract_lo:.*]] = trunc i64 %[[load]] to i32
-; CHECK: %[[combine_extract_shift:.*]] = lshr i64 %[[load]], 32
-; CHECK: %[[combine_extract_hi:.*]] = trunc i64 %[[combine_extract_shift]] to i32
-; CHECK: %[[add:.*]] = add nsw i32 %[[combine_extract_hi]], %[[combine_extract_lo]]
-}
-
-
diff --git a/test/Transforms/LoadCombine/load-combine.ll b/test/Transforms/LoadCombine/load-combine.ll
deleted file mode 100644
index d5068787639f..000000000000
--- a/test/Transforms/LoadCombine/load-combine.ll
+++ /dev/null
@@ -1,190 +0,0 @@
-; RUN: opt < %s -load-combine -instcombine -S | FileCheck %s
-
-target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
-target triple = "x86_64-unknown-linux-gnu"
-
-; Combine read from char* idiom.
-define i64 @LoadU64_x64_0(i64* %pData) {
- %1 = bitcast i64* %pData to i8*
- %2 = load i8, i8* %1, align 1
- %3 = zext i8 %2 to i64
- %4 = shl nuw i64 %3, 56
- %5 = getelementptr inbounds i8, i8* %1, i64 1
- %6 = load i8, i8* %5, align 1
- %7 = zext i8 %6 to i64
- %8 = shl nuw nsw i64 %7, 48
- %9 = or i64 %8, %4
- %10 = getelementptr inbounds i8, i8* %1, i64 2
- %11 = load i8, i8* %10, align 1
- %12 = zext i8 %11 to i64
- %13 = shl nuw nsw i64 %12, 40
- %14 = or i64 %9, %13
- %15 = getelementptr inbounds i8, i8* %1, i64 3
- %16 = load i8, i8* %15, align 1
- %17 = zext i8 %16 to i64
- %18 = shl nuw nsw i64 %17, 32
- %19 = or i64 %14, %18
- %20 = getelementptr inbounds i8, i8* %1, i64 4
- %21 = load i8, i8* %20, align 1
- %22 = zext i8 %21 to i64
- %23 = shl nuw nsw i64 %22, 24
- %24 = or i64 %19, %23
- %25 = getelementptr inbounds i8, i8* %1, i64 5
- %26 = load i8, i8* %25, align 1
- %27 = zext i8 %26 to i64
- %28 = shl nuw nsw i64 %27, 16
- %29 = or i64 %24, %28
- %30 = getelementptr inbounds i8, i8* %1, i64 6
- %31 = load i8, i8* %30, align 1
- %32 = zext i8 %31 to i64
- %33 = shl nuw nsw i64 %32, 8
- %34 = or i64 %29, %33
- %35 = getelementptr inbounds i8, i8* %1, i64 7
- %36 = load i8, i8* %35, align 1
- %37 = zext i8 %36 to i64
- %38 = or i64 %34, %37
- ret i64 %38
-; CHECK-LABEL: @LoadU64_x64_0(
-; CHECK: load i64, i64* %{{.*}}, align 1
-; CHECK-NOT: load
-}
-
-; Combine simple adjacent loads.
-define i32 @"2xi16_i32"(i16* %x) {
- %1 = load i16, i16* %x, align 2
- %2 = getelementptr inbounds i16, i16* %x, i64 1
- %3 = load i16, i16* %2, align 2
- %4 = zext i16 %3 to i32
- %5 = shl nuw i32 %4, 16
- %6 = zext i16 %1 to i32
- %7 = or i32 %5, %6
- ret i32 %7
-; CHECK-LABEL: @"2xi16_i32"(
-; CHECK: load i32, i32* %{{.*}}, align 2
-; CHECK-NOT: load
-}
-
-; Don't combine loads across stores.
-define i32 @"2xi16_i32_store"(i16* %x, i16* %y) {
- %1 = load i16, i16* %x, align 2
- store i16 0, i16* %y, align 2
- %2 = getelementptr inbounds i16, i16* %x, i64 1
- %3 = load i16, i16* %2, align 2
- %4 = zext i16 %3 to i32
- %5 = shl nuw i32 %4, 16
- %6 = zext i16 %1 to i32
- %7 = or i32 %5, %6
- ret i32 %7
-; CHECK-LABEL: @"2xi16_i32_store"(
-; CHECK: load i16, i16* %{{.*}}, align 2
-; CHECK: store
-; CHECK: load i16, i16* %{{.*}}, align 2
-}
-
-; Don't combine loads with a gap.
-define i32 @"2xi16_i32_gap"(i16* %x) {
- %1 = load i16, i16* %x, align 2
- %2 = getelementptr inbounds i16, i16* %x, i64 2
- %3 = load i16, i16* %2, align 2
- %4 = zext i16 %3 to i32
- %5 = shl nuw i32 %4, 16
- %6 = zext i16 %1 to i32
- %7 = or i32 %5, %6
- ret i32 %7
-; CHECK-LABEL: @"2xi16_i32_gap"(
-; CHECK: load i16, i16* %{{.*}}, align 2
-; CHECK: load i16, i16* %{{.*}}, align 2
-}
-
-; Combine out of order loads.
-define i32 @"2xi16_i32_order"(i16* %x) {
- %1 = getelementptr inbounds i16, i16* %x, i64 1
- %2 = load i16, i16* %1, align 2
- %3 = zext i16 %2 to i32
- %4 = load i16, i16* %x, align 2
- %5 = shl nuw i32 %3, 16
- %6 = zext i16 %4 to i32
- %7 = or i32 %5, %6
- ret i32 %7
-; CHECK-LABEL: @"2xi16_i32_order"(
-; CHECK: load i32, i32* %{{.*}}, align 2
-; CHECK-NOT: load
-}
-
-; Overlapping loads.
-define i32 @"2xi16_i32_overlap"(i8* %x) {
- %1 = bitcast i8* %x to i16*
- %2 = load i16, i16* %1, align 2
- %3 = getelementptr inbounds i8, i8* %x, i64 1
- %4 = bitcast i8* %3 to i16*
- %5 = load i16, i16* %4, align 2
- %6 = zext i16 %5 to i32
- %7 = shl nuw i32 %6, 16
- %8 = zext i16 %2 to i32
- %9 = or i32 %7, %8
- ret i32 %9
-; CHECK-LABEL: @"2xi16_i32_overlap"(
-; CHECK: load i16, i16* %{{.*}}, align 2
-; CHECK: load i16, i16* %{{.*}}, align 2
-}
-
-; Combine valid alignments.
-define i64 @"2xi16_i64_align"(i8* %x) {
- %1 = bitcast i8* %x to i32*
- %2 = load i32, i32* %1, align 4
- %3 = getelementptr inbounds i8, i8* %x, i64 4
- %4 = bitcast i8* %3 to i16*
- %5 = load i16, i16* %4, align 2
- %6 = getelementptr inbounds i8, i8* %x, i64 6
- %7 = bitcast i8* %6 to i16*
- %8 = load i16, i16* %7, align 2
- %9 = zext i16 %8 to i64
- %10 = shl nuw i64 %9, 48
- %11 = zext i16 %5 to i64
- %12 = shl nuw nsw i64 %11, 32
- %13 = zext i32 %2 to i64
- %14 = or i64 %12, %13
- %15 = or i64 %14, %10
- ret i64 %15
-; CHECK-LABEL: @"2xi16_i64_align"(
-; CHECK: load i64, i64* %{{.*}}, align 4
-}
-
-; Non power of two.
-define i64 @"2xi16_i64_npo2"(i8* %x) {
- %1 = load i8, i8* %x, align 1
- %2 = zext i8 %1 to i64
- %3 = getelementptr inbounds i8, i8* %x, i64 1
- %4 = load i8, i8* %3, align 1
- %5 = zext i8 %4 to i64
- %6 = shl nuw nsw i64 %5, 8
- %7 = or i64 %6, %2
- %8 = getelementptr inbounds i8, i8* %x, i64 2
- %9 = load i8, i8* %8, align 1
- %10 = zext i8 %9 to i64
- %11 = shl nuw nsw i64 %10, 16
- %12 = or i64 %11, %7
- %13 = getelementptr inbounds i8, i8* %x, i64 3
- %14 = load i8, i8* %13, align 1
- %15 = zext i8 %14 to i64
- %16 = shl nuw nsw i64 %15, 24
- %17 = or i64 %16, %12
- %18 = getelementptr inbounds i8, i8* %x, i64 4
- %19 = load i8, i8* %18, align 1
- %20 = zext i8 %19 to i64
- %21 = shl nuw nsw i64 %20, 32
- %22 = or i64 %21, %17
- %23 = getelementptr inbounds i8, i8* %x, i64 5
- %24 = load i8, i8* %23, align 1
- %25 = zext i8 %24 to i64
- %26 = shl nuw nsw i64 %25, 40
- %27 = or i64 %26, %22
- %28 = getelementptr inbounds i8, i8* %x, i64 6
- %29 = load i8, i8* %28, align 1
- %30 = zext i8 %29 to i64
- %31 = shl nuw nsw i64 %30, 48
- %32 = or i64 %31, %27
- ret i64 %32
-; CHECK-LABEL: @"2xi16_i64_npo2"(
-; CHECK: load i32, i32* %{{.*}}, align 1
-}
diff --git a/test/Transforms/LoopDeletion/unreachable-loops.ll b/test/Transforms/LoopDeletion/unreachable-loops.ll
index 147a85670121..5bdaeb11232a 100644
--- a/test/Transforms/LoopDeletion/unreachable-loops.ll
+++ b/test/Transforms/LoopDeletion/unreachable-loops.ll
@@ -334,3 +334,79 @@ exit:
ret void
}
+
+; 2 edges from a single exiting block to the exit block.
+define i64 @test12(i64 %n){
+;CHECK-LABEL: @test12
+; CHECK-NOT: L1:
+; CHECK-NOT: L1Latch:
+; CHECK-LABEL: L1.preheader:
+; CHECK-NEXT: br label %exit
+; CHECK-LABEL: exit:
+; CHECK-NEXT: %y.phi = phi i64 [ undef, %L1.preheader ]
+; CHECK-NEXT: ret i64 %y.phi
+
+entry:
+ br i1 true, label %exit1, label %L1
+
+exit1:
+ ret i64 42
+
+L1: ; preds = %L1Latch, %entry
+ %y.next = phi i64 [ 0, %entry ], [ %y.add, %L1Latch ]
+ br i1 true, label %L1Latch, label %exit
+
+L1Latch: ; preds = %L1
+ %y = phi i64 [ %y.next, %L1 ]
+ %y.add = add i64 %y, %n
+ %cond2 = icmp eq i64 %y.add, 42
+ switch i64 %n, label %L1 [
+ i64 10, label %exit
+ i64 20, label %exit
+ ]
+
+exit: ; preds = %L1Latch, %L1Latch
+ %y.phi = phi i64 [ 10, %L1Latch ], [ 10, %L1Latch ], [ %y.next, %L1]
+ ret i64 %y.phi
+}
+
+; multiple edges to exit block from the same exiting blocks
+define i64 @test13(i64 %n) {
+; CHECK-LABEL: @test13
+; CHECK-NOT: L1:
+; CHECK-NOT: L1Latch:
+; CHECK-LABEL: L1.preheader:
+; CHECK-NEXT: br label %exit
+; CHECK-LABEL: exit:
+; CHECK-NEXT: %y.phi = phi i64 [ undef, %L1.preheader ]
+; CHECK-NEXT: ret i64 %y.phi
+
+entry:
+ br i1 true, label %exit1, label %L1
+
+exit1:
+ ret i64 42
+
+L1: ; preds = %L1Latch, %entry
+ %y.next = phi i64 [ 0, %entry ], [ %y.add, %L1Latch ]
+ br i1 true, label %L1Block, label %exit
+
+L1Block: ; preds = %L1
+ %y = phi i64 [ %y.next, %L1 ]
+ %y.add = add i64 %y, %n
+ %cond2 = icmp eq i64 %y.add, 42
+ switch i64 %n, label %L1Latch [
+ i64 10, label %exit
+ i64 20, label %exit
+ ]
+
+L1Latch:
+ switch i64 %n, label %L1 [
+ i64 30, label %exit
+ i64 40, label %exit
+ ]
+
+exit: ; preds = %L1Block, %L1, %L1Latch
+ %y.phi = phi i64 [ 10, %L1Block ], [ 10, %L1Block ], [ %y.next, %L1 ], [ 30, %L1Latch ], [ 30, %L1Latch ]
+ ret i64 %y.phi
+}
diff --git a/test/Transforms/LoopRotate/catchret.ll b/test/Transforms/LoopRotate/catchret.ll
new file mode 100755
index 000000000000..c035e49d79c2
--- /dev/null
+++ b/test/Transforms/LoopRotate/catchret.ll
@@ -0,0 +1,41 @@
+; RUN: opt < %s -loop-rotate -S | FileCheck %s
+
+target triple = "x86_64-pc-windows-msvc"
+
+declare void @always_throws()
+
+define i32 @test() personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) {
+entry:
+ invoke void @always_throws()
+ to label %continue unwind label %catch.dispatch
+
+continue:
+ unreachable
+
+catch.dispatch:
+ %t0 = catchswitch within none [label %catch] unwind to caller
+
+catch:
+ %t1 = catchpad within %t0 [i8* null, i32 64, i8* null]
+ catchret from %t1 to label %for.cond
+
+for.cond:
+ %sum = phi i32 [ %add, %for.body ], [ 0, %catch ]
+ %i = phi i32 [ %inc, %for.body ], [ 0, %catch ]
+ %cmp = icmp slt i32 %i, 1
+ br i1 %cmp, label %for.body, label %return
+
+for.body:
+ %add = add nsw i32 1, %sum
+ %inc = add nsw i32 %i, 1
+ br label %for.cond
+
+return:
+ ret i32 0
+}
+
+; CHECK: catch:
+; CHECK-NEXT: catchpad
+; CHECK-NEXT: catchret
+
+declare i32 @__CxxFrameHandler3(...)
diff --git a/test/Transforms/LoopSimplify/basictest.ll b/test/Transforms/LoopSimplify/basictest.ll
index 81b2c80fae00..e5fb7b9907bd 100644
--- a/test/Transforms/LoopSimplify/basictest.ll
+++ b/test/Transforms/LoopSimplify/basictest.ll
@@ -1,17 +1,236 @@
-; RUN: opt < %s -loop-simplify
-; RUN: opt < %s -passes=loop-simplify
+; RUN: opt < %s -S -loop-simplify | FileCheck %s
+; RUN: opt < %s -S -passes=loop-simplify | FileCheck %s
-; This function should get a preheader inserted before BB3, that is jumped
-; to by BB1 & BB2
+; This function should get a preheader inserted before bb3, that is jumped
+; to by bb1 & bb2
+define void @test() {
+; CHECK-LABEL: define void @test(
+entry:
+ br i1 true, label %bb1, label %bb2
+
+bb1:
+ br label %bb3
+; CHECK: bb1:
+; CHECK-NEXT: br label %[[PH:.*]]
+
+bb2:
+ br label %bb3
+; CHECK: bb2:
+; CHECK-NEXT: br label %[[PH]]
+
+bb3:
+ br label %bb3
+; CHECK: [[PH]]:
+; CHECK-NEXT: br label %bb3
+;
+; CHECK: bb3:
+; CHECK-NEXT: br label %bb3
+}
+
+; Test a case where we have multiple exit blocks as successors of a single loop
+; block that need to be made dedicated exit blocks. We also have multiple
+; exiting edges to one of the exit blocks that all should be rewritten.
+define void @test_multiple_exits_from_single_block(i8 %a, i8* %b.ptr) {
+; CHECK-LABEL: define void @test_multiple_exits_from_single_block(
+entry:
+ switch i8 %a, label %loop [
+ i8 0, label %exit.a
+ i8 1, label %exit.b
+ ]
+; CHECK: entry:
+; CHECK-NEXT: switch i8 %a, label %[[PH:.*]] [
+; CHECK-NEXT: i8 0, label %exit.a
+; CHECK-NEXT: i8 1, label %exit.b
+; CHECK-NEXT: ]
+
+loop:
+ %b = load volatile i8, i8* %b.ptr
+ switch i8 %b, label %loop [
+ i8 0, label %exit.a
+ i8 1, label %exit.b
+ i8 2, label %loop
+ i8 3, label %exit.a
+ i8 4, label %loop
+ i8 5, label %exit.a
+ i8 6, label %loop
+ ]
+; CHECK: [[PH]]:
+; CHECK-NEXT: br label %loop
;
+; CHECK: loop:
+; CHECK-NEXT: %[[B:.*]] = load volatile i8, i8* %b.ptr
+; CHECK-NEXT: switch i8 %[[B]], label %[[BACKEDGE:.*]] [
+; CHECK-NEXT: i8 0, label %[[LOOPEXIT_A:.*]]
+; CHECK-NEXT: i8 1, label %[[LOOPEXIT_B:.*]]
+; CHECK-NEXT: i8 2, label %[[BACKEDGE]]
+; CHECK-NEXT: i8 3, label %[[LOOPEXIT_A]]
+; CHECK-NEXT: i8 4, label %[[BACKEDGE]]
+; CHECK-NEXT: i8 5, label %[[LOOPEXIT_A]]
+; CHECK-NEXT: i8 6, label %[[BACKEDGE]]
+; CHECK-NEXT: ]
+;
+; CHECK: [[BACKEDGE]]:
+; CHECK-NEXT: br label %loop
-define void @test() {
- br i1 true, label %BB1, label %BB2
-BB1: ; preds = %0
- br label %BB3
-BB2: ; preds = %0
- br label %BB3
-BB3: ; preds = %BB3, %BB2, %BB1
- br label %BB3
+exit.a:
+ ret void
+; CHECK: [[LOOPEXIT_A]]:
+; CHECK-NEXT: br label %exit.a
+;
+; CHECK: exit.a:
+; CHECK-NEXT: ret void
+
+exit.b:
+ ret void
+; CHECK: [[LOOPEXIT_B]]:
+; CHECK-NEXT: br label %exit.b
+;
+; CHECK: exit.b:
+; CHECK-NEXT: ret void
+}
+
+; Check that we leave already dedicated exits alone when forming dedicated exit
+; blocks.
+define void @test_pre_existing_dedicated_exits(i1 %a, i1* %ptr) {
+; CHECK-LABEL: define void @test_pre_existing_dedicated_exits(
+entry:
+ br i1 %a, label %loop.ph, label %non_dedicated_exit
+; CHECK: entry:
+; CHECK-NEXT: br i1 %a, label %loop.ph, label %non_dedicated_exit
+
+loop.ph:
+ br label %loop.header
+; CHECK: loop.ph:
+; CHECK-NEXT: br label %loop.header
+
+loop.header:
+ %c1 = load volatile i1, i1* %ptr
+ br i1 %c1, label %loop.body1, label %dedicated_exit1
+; CHECK: loop.header:
+; CHECK-NEXT: %[[C1:.*]] = load volatile i1, i1* %ptr
+; CHECK-NEXT: br i1 %[[C1]], label %loop.body1, label %dedicated_exit1
+
+loop.body1:
+ %c2 = load volatile i1, i1* %ptr
+ br i1 %c2, label %loop.body2, label %non_dedicated_exit
+; CHECK: loop.body1:
+; CHECK-NEXT: %[[C2:.*]] = load volatile i1, i1* %ptr
+; CHECK-NEXT: br i1 %[[C2]], label %loop.body2, label %[[LOOPEXIT:.*]]
+
+loop.body2:
+ %c3 = load volatile i1, i1* %ptr
+ br i1 %c3, label %loop.backedge, label %dedicated_exit2
+; CHECK: loop.body2:
+; CHECK-NEXT: %[[C3:.*]] = load volatile i1, i1* %ptr
+; CHECK-NEXT: br i1 %[[C3]], label %loop.backedge, label %dedicated_exit2
+
+loop.backedge:
+ br label %loop.header
+; CHECK: loop.backedge:
+; CHECK-NEXT: br label %loop.header
+
+dedicated_exit1:
+ ret void
+; Check that there isn't a split loop exit.
+; CHECK-NOT: br label %dedicated_exit1
+;
+; CHECK: dedicated_exit1:
+; CHECK-NEXT: ret void
+
+dedicated_exit2:
+ ret void
+; Check that there isn't a split loop exit.
+; CHECK-NOT: br label %dedicated_exit2
+;
+; CHECK: dedicated_exit2:
+; CHECK-NEXT: ret void
+
+non_dedicated_exit:
+ ret void
+; CHECK: [[LOOPEXIT]]:
+; CHECK-NEXT: br label %non_dedicated_exit
+;
+; CHECK: non_dedicated_exit:
+; CHECK-NEXT: ret void
}
+; Check that we form what dedicated exits we can even when some exits are
+; reached via indirectbr which precludes forming dedicated exits.
+define void @test_form_some_dedicated_exits_despite_indirectbr(i8 %a, i8* %ptr, i8** %addr.ptr) {
+; CHECK-LABEL: define void @test_form_some_dedicated_exits_despite_indirectbr(
+entry:
+ switch i8 %a, label %loop.ph [
+ i8 0, label %exit.a
+ i8 1, label %exit.b
+ i8 2, label %exit.c
+ ]
+; CHECK: entry:
+; CHECK-NEXT: switch i8 %a, label %loop.ph [
+; CHECK-NEXT: i8 0, label %exit.a
+; CHECK-NEXT: i8 1, label %exit.b
+; CHECK-NEXT: i8 2, label %exit.c
+; CHECK-NEXT: ]
+
+loop.ph:
+ br label %loop.header
+; CHECK: loop.ph:
+; CHECK-NEXT: br label %loop.header
+
+loop.header:
+ %addr1 = load volatile i8*, i8** %addr.ptr
+ indirectbr i8* %addr1, [label %loop.body1, label %exit.a]
+; CHECK: loop.header:
+; CHECK-NEXT: %[[ADDR1:.*]] = load volatile i8*, i8** %addr.ptr
+; CHECK-NEXT: indirectbr i8* %[[ADDR1]], [label %loop.body1, label %exit.a]
+
+loop.body1:
+ %b = load volatile i8, i8* %ptr
+ switch i8 %b, label %loop.body2 [
+ i8 0, label %exit.a
+ i8 1, label %exit.b
+ i8 2, label %exit.c
+ ]
+; CHECK: loop.body1:
+; CHECK-NEXT: %[[B:.*]] = load volatile i8, i8* %ptr
+; CHECK-NEXT: switch i8 %[[B]], label %loop.body2 [
+; CHECK-NEXT: i8 0, label %exit.a
+; CHECK-NEXT: i8 1, label %[[LOOPEXIT:.*]]
+; CHECK-NEXT: i8 2, label %exit.c
+; CHECK-NEXT: ]
+
+loop.body2:
+ %addr2 = load volatile i8*, i8** %addr.ptr
+ indirectbr i8* %addr2, [label %loop.backedge, label %exit.c]
+; CHECK: loop.body2:
+; CHECK-NEXT: %[[ADDR2:.*]] = load volatile i8*, i8** %addr.ptr
+; CHECK-NEXT: indirectbr i8* %[[ADDR2]], [label %loop.backedge, label %exit.c]
+
+loop.backedge:
+ br label %loop.header
+; CHECK: loop.backedge:
+; CHECK-NEXT: br label %loop.header
+
+exit.a:
+ ret void
+; Check that there isn't a split loop exit.
+; CHECK-NOT: br label %exit.a
+;
+; CHECK: exit.a:
+; CHECK-NEXT: ret void
+
+exit.b:
+ ret void
+; CHECK: [[LOOPEXIT]]:
+; CHECK-NEXT: br label %exit.b
+;
+; CHECK: exit.b:
+; CHECK-NEXT: ret void
+
+exit.c:
+ ret void
+; Check that there isn't a split loop exit.
+; CHECK-NOT: br label %exit.c
+;
+; CHECK: exit.c:
+; CHECK-NEXT: ret void
+}
diff --git a/test/Transforms/LoopStrengthReduce/X86/bin_power.ll b/test/Transforms/LoopStrengthReduce/X86/bin_power.ll
new file mode 100644
index 000000000000..35cb28da7d55
--- /dev/null
+++ b/test/Transforms/LoopStrengthReduce/X86/bin_power.ll
@@ -0,0 +1,264 @@
+; RUN: opt < %s -loop-reduce -S | FileCheck %s
+
+target datalayout = "e-m:e-i32:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+; Show that the b^2 is expanded correctly.
+define i32 @test_01(i32 %a) {
+; CHECK-LABEL: @test_01
+; CHECK: entry:
+; CHECK-NEXT: br label %loop
+; CHECK: loop:
+; CHECK-NEXT: [[IV:[^ ]+]] = phi i32 [ [[IV_INC:[^ ]+]], %loop ], [ 0, %entry ]
+; CHECK-NEXT: [[IV_INC]] = add nsw i32 [[IV]], -1
+; CHECK-NEXT: [[EXITCOND:[^ ]+]] = icmp eq i32 [[IV_INC]], -80
+; CHECK-NEXT: br i1 [[EXITCOND]], label %exit, label %loop
+; CHECK: exit:
+; CHECK-NEXT: [[B:[^ ]+]] = add i32 %a, 1
+; CHECK-NEXT: [[B2:[^ ]+]] = mul i32 [[B]], [[B]]
+; CHECK-NEXT: [[R1:[^ ]+]] = add i32 [[B2]], -1
+; CHECK-NEXT: [[R2:[^ ]+]] = sub i32 [[R1]], [[IV_INC]]
+; CHECK-NEXT: ret i32 [[R2]]
+
+entry:
+ br label %loop
+
+loop: ; preds = %loop, %entry
+ %indvars.iv = phi i32 [ 0, %entry ], [ %indvars.iv.next, %loop ]
+ %b = add i32 %a, 1
+ %b.pow.2 = mul i32 %b, %b
+ %result = add i32 %b.pow.2, %indvars.iv
+ %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
+ %exitcond = icmp eq i32 %indvars.iv.next, 80
+ br i1 %exitcond, label %exit, label %loop
+
+exit: ; preds = %loop
+ ret i32 %result
+}
+
+; Show that b^8 is expanded correctly.
+define i32 @test_02(i32 %a) {
+; CHECK-LABEL: @test_02
+; CHECK: entry:
+; CHECK-NEXT: br label %loop
+; CHECK: loop:
+; CHECK-NEXT: [[IV:[^ ]+]] = phi i32 [ [[IV_INC:[^ ]+]], %loop ], [ 0, %entry ]
+; CHECK-NEXT: [[IV_INC]] = add nsw i32 [[IV]], -1
+; CHECK-NEXT: [[EXITCOND:[^ ]+]] = icmp eq i32 [[IV_INC]], -80
+; CHECK-NEXT: br i1 [[EXITCOND]], label %exit, label %loop
+; CHECK: exit:
+; CHECK-NEXT: [[B:[^ ]+]] = add i32 %a, 1
+; CHECK-NEXT: [[B2:[^ ]+]] = mul i32 [[B]], [[B]]
+; CHECK-NEXT: [[B4:[^ ]+]] = mul i32 [[B2]], [[B2]]
+; CHECK-NEXT: [[B8:[^ ]+]] = mul i32 [[B4]], [[B4]]
+; CHECK-NEXT: [[R1:[^ ]+]] = add i32 [[B8]], -1
+; CHECK-NEXT: [[R2:[^ ]+]] = sub i32 [[R1]], [[IV_INC]]
+; CHECK-NEXT: ret i32 [[R2]]
+entry:
+ br label %loop
+
+loop: ; preds = %loop, %entry
+ %indvars.iv = phi i32 [ 0, %entry ], [ %indvars.iv.next, %loop ]
+ %b = add i32 %a, 1
+ %b.pow.2 = mul i32 %b, %b
+ %b.pow.4 = mul i32 %b.pow.2, %b.pow.2
+ %b.pow.8 = mul i32 %b.pow.4, %b.pow.4
+ %result = add i32 %b.pow.8, %indvars.iv
+ %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
+ %exitcond = icmp eq i32 %indvars.iv.next, 80
+ br i1 %exitcond, label %exit, label %loop
+
+exit: ; preds = %loop
+ ret i32 %result
+}
+
+; Show that b^27 (27 = 1 + 2 + 8 + 16) is expanded correctly.
+define i32 @test_03(i32 %a) {
+; CHECK-LABEL: @test_03
+; CHECK: entry:
+; CHECK-NEXT: br label %loop
+; CHECK: loop:
+; CHECK-NEXT: [[IV:[^ ]+]] = phi i32 [ [[IV_INC:[^ ]+]], %loop ], [ 0, %entry ]
+; CHECK-NEXT: [[IV_INC]] = add nsw i32 [[IV]], -1
+; CHECK-NEXT: [[EXITCOND:[^ ]+]] = icmp eq i32 [[IV_INC]], -80
+; CHECK-NEXT: br i1 [[EXITCOND]], label %exit, label %loop
+; CHECK: exit:
+; CHECK-NEXT: [[B:[^ ]+]] = add i32 %a, 1
+; CHECK-NEXT: [[B2:[^ ]+]] = mul i32 [[B]], [[B]]
+; CHECK-NEXT: [[B3:[^ ]+]] = mul i32 [[B]], [[B2]]
+; CHECK-NEXT: [[B4:[^ ]+]] = mul i32 [[B2]], [[B2]]
+; CHECK-NEXT: [[B8:[^ ]+]] = mul i32 [[B4]], [[B4]]
+; CHECK-NEXT: [[B11:[^ ]+]] = mul i32 [[B3]], [[B8]]
+; CHECK-NEXT: [[B16:[^ ]+]] = mul i32 [[B8]], [[B8]]
+; CHECK-NEXT: [[B27:[^ ]+]] = mul i32 [[B11]], [[B16]]
+; CHECK-NEXT: [[R1:[^ ]+]] = add i32 [[B27]], -1
+; CHECK-NEXT: [[R2:[^ ]+]] = sub i32 [[R1]], [[IV_INC]]
+; CHECK-NEXT: ret i32 [[R2]]
+entry:
+ br label %loop
+
+loop: ; preds = %loop, %entry
+ %indvars.iv = phi i32 [ 0, %entry ], [ %indvars.iv.next, %loop ]
+ %b = add i32 %a, 1
+ %b.pow.2 = mul i32 %b, %b
+ %b.pow.4 = mul i32 %b.pow.2, %b.pow.2
+ %b.pow.8 = mul i32 %b.pow.4, %b.pow.4
+ %b.pow.16 = mul i32 %b.pow.8, %b.pow.8
+ %b.pow.24 = mul i32 %b.pow.16, %b.pow.8
+ %b.pow.25 = mul i32 %b.pow.24, %b
+ %b.pow.26 = mul i32 %b.pow.25, %b
+ %b.pow.27 = mul i32 %b.pow.26, %b
+ %result = add i32 %b.pow.27, %indvars.iv
+ %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
+ %exitcond = icmp eq i32 %indvars.iv.next, 80
+ br i1 %exitcond, label %exit, label %loop
+
+exit: ; preds = %loop
+ ret i32 %result
+}
+
+; Show how linear calculation of b^16 is turned into logarithmic.
+define i32 @test_04(i32 %a) {
+; CHECK-LABEL: @test_04
+; CHECK: entry:
+; CHECK-NEXT: br label %loop
+; CHECK: loop:
+; CHECK-NEXT: [[IV:[^ ]+]] = phi i32 [ [[IV_INC:[^ ]+]], %loop ], [ 0, %entry ]
+; CHECK-NEXT: [[IV_INC]] = add nsw i32 [[IV]], -1
+; CHECK-NEXT: [[EXITCOND:[^ ]+]] = icmp eq i32 [[IV_INC]], -80
+; CHECK-NEXT: br i1 [[EXITCOND]], label %exit, label %loop
+; CHECK: exit:
+; CHECK-NEXT: [[B:[^ ]+]] = add i32 %a, 1
+; CHECK-NEXT: [[B2:[^ ]+]] = mul i32 [[B]], [[B]]
+; CHECK-NEXT: [[B4:[^ ]+]] = mul i32 [[B2]], [[B2]]
+; CHECK-NEXT: [[B8:[^ ]+]] = mul i32 [[B4]], [[B4]]
+; CHECK-NEXT: [[B16:[^ ]+]] = mul i32 [[B8]], [[B8]]
+; CHECK-NEXT: [[R1:[^ ]+]] = add i32 [[B16]], -1
+; CHECK-NEXT: [[R2:[^ ]+]] = sub i32 [[R1]], [[IV_INC]]
+; CHECK-NEXT: ret i32 [[R2]]
+entry:
+ br label %loop
+
+loop: ; preds = %loop, %entry
+ %indvars.iv = phi i32 [ 0, %entry ], [ %indvars.iv.next, %loop ]
+ %b = add i32 %a, 1
+ %b.pow.2 = mul i32 %b, %b
+ %b.pow.3 = mul i32 %b.pow.2, %b
+ %b.pow.4 = mul i32 %b.pow.3, %b
+ %b.pow.5 = mul i32 %b.pow.4, %b
+ %b.pow.6 = mul i32 %b.pow.5, %b
+ %b.pow.7 = mul i32 %b.pow.6, %b
+ %b.pow.8 = mul i32 %b.pow.7, %b
+ %b.pow.9 = mul i32 %b.pow.8, %b
+ %b.pow.10 = mul i32 %b.pow.9, %b
+ %b.pow.11 = mul i32 %b.pow.10, %b
+ %b.pow.12 = mul i32 %b.pow.11, %b
+ %b.pow.13 = mul i32 %b.pow.12, %b
+ %b.pow.14 = mul i32 %b.pow.13, %b
+ %b.pow.15 = mul i32 %b.pow.14, %b
+ %b.pow.16 = mul i32 %b.pow.15, %b
+ %result = add i32 %b.pow.16, %indvars.iv
+ %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
+ %exitcond = icmp eq i32 %indvars.iv.next, 80
+ br i1 %exitcond, label %exit, label %loop
+
+exit: ; preds = %loop
+ ret i32 %result
+}
+
+; The output here is reasonably big, we just check that the amount of expanded
+; instructions is sane.
+define i32 @test_05(i32 %a) {
+; CHECK-LABEL: @test_05
+; CHECK: entry:
+; CHECK-NEXT: br label %loop
+; CHECK: loop:
+; CHECK-NEXT: [[IV:[^ ]+]] = phi i32 [ [[IV_INC:[^ ]+]], %loop ], [ 0, %entry ]
+; CHECK-NEXT: [[IV_INC]] = add nsw i32 [[IV]], -1
+; CHECK-NEXT: [[EXITCOND:[^ ]+]] = icmp eq i32 [[IV_INC]], -80
+; CHECK-NEXT: br i1 [[EXITCOND]], label %exit, label %loop
+; CHECK: exit:
+; CHECK: %100
+; CHECK-NOT: %150
+
+entry:
+ br label %loop
+
+loop: ; preds = %loop, %entry
+ %indvars.iv = phi i32 [ 0, %entry ], [ %indvars.iv.next, %loop ]
+ %tmp3 = add i32 %a, 1
+ %tmp4 = mul i32 %tmp3, %tmp3
+ %tmp5 = mul i32 %tmp4, %tmp4
+ %tmp6 = mul i32 %tmp5, %tmp5
+ %tmp7 = mul i32 %tmp6, %tmp6
+ %tmp8 = mul i32 %tmp7, %tmp7
+ %tmp9 = mul i32 %tmp8, %tmp8
+ %tmp10 = mul i32 %tmp9, %tmp9
+ %tmp11 = mul i32 %tmp10, %tmp10
+ %tmp12 = mul i32 %tmp11, %tmp11
+ %tmp13 = mul i32 %tmp12, %tmp12
+ %tmp14 = mul i32 %tmp13, %tmp13
+ %tmp15 = mul i32 %tmp14, %tmp14
+ %tmp16 = mul i32 %tmp15, %tmp15
+ %tmp17 = mul i32 %tmp16, %tmp16
+ %tmp18 = mul i32 %tmp17, %tmp17
+ %tmp19 = mul i32 %tmp18, %tmp18
+ %tmp20 = mul i32 %tmp19, %tmp19
+ %tmp22 = add i32 %tmp20, %indvars.iv
+ %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
+ %exitcond = icmp eq i32 %indvars.iv.next, 80
+ br i1 %exitcond, label %exit, label %loop
+
+exit: ; preds = %loop
+ ret i32 %tmp22
+}
+
+; Show that the transformation works even if the calculation involves different
+; values inside.
+define i32 @test_06(i32 %a, i32 %c) {
+; CHECK-LABEL: @test_06
+; CHECK: entry:
+; CHECK-NEXT: br label %loop
+; CHECK: loop:
+; CHECK-NEXT: [[IV:[^ ]+]] = phi i32 [ [[IV_INC:[^ ]+]], %loop ], [ 0, %entry ]
+; CHECK-NEXT: [[IV_INC]] = add nsw i32 [[IV]], -1
+; CHECK-NEXT: [[EXITCOND:[^ ]+]] = icmp eq i32 [[IV_INC]], -80
+; CHECK-NEXT: br i1 [[EXITCOND]], label %exit, label %loop
+; CHECK: exit:
+; CHECK: [[B:[^ ]+]] = add i32 %a, 1
+; CHECK-NEXT: [[B2:[^ ]+]] = mul i32 [[B]], [[B]]
+; CHECK-NEXT: [[B4:[^ ]+]] = mul i32 [[B2]], [[B2]]
+; CHECK-NEXT: [[B8:[^ ]+]] = mul i32 [[B4]], [[B4]]
+; CHECK-NEXT: [[B16:[^ ]+]] = mul i32 [[B8]], [[B8]]
+entry:
+ br label %loop
+
+loop: ; preds = %loop, %entry
+ %indvars.iv = phi i32 [ 0, %entry ], [ %indvars.iv.next, %loop ]
+ %b = add i32 %a, 1
+ %b.pow.2.tmp = mul i32 %b, %b
+ %b.pow.2 = mul i32 %b.pow.2.tmp, %c
+ %b.pow.3 = mul i32 %b.pow.2, %b
+ %b.pow.4 = mul i32 %b.pow.3, %b
+ %b.pow.5 = mul i32 %b.pow.4, %b
+ %b.pow.6.tmp = mul i32 %b.pow.5, %b
+ %b.pow.6 = mul i32 %b.pow.6.tmp, %c
+ %b.pow.7 = mul i32 %b.pow.6, %b
+ %b.pow.8 = mul i32 %b.pow.7, %b
+ %b.pow.9 = mul i32 %b.pow.8, %b
+ %b.pow.10 = mul i32 %b.pow.9, %b
+ %b.pow.11 = mul i32 %b.pow.10, %b
+ %b.pow.12.tmp = mul i32 %b.pow.11, %b
+ %b.pow.12 = mul i32 %c, %b.pow.12.tmp
+ %b.pow.13 = mul i32 %b.pow.12, %b
+ %b.pow.14 = mul i32 %b.pow.13, %b
+ %b.pow.15 = mul i32 %b.pow.14, %b
+ %b.pow.16 = mul i32 %b.pow.15, %b
+ %result = add i32 %b.pow.16, %indvars.iv
+ %indvars.iv.next = add nuw nsw i32 %indvars.iv, 1
+ %exitcond = icmp eq i32 %indvars.iv.next, 80
+ br i1 %exitcond, label %exit, label %loop
+
+exit: ; preds = %loop
+ ret i32 %result
+}
diff --git a/test/Transforms/LoopStrengthReduce/X86/canonical.ll b/test/Transforms/LoopStrengthReduce/X86/canonical.ll
index 6b6acb868745..2dafbb408aad 100644
--- a/test/Transforms/LoopStrengthReduce/X86/canonical.ll
+++ b/test/Transforms/LoopStrengthReduce/X86/canonical.ll
@@ -1,4 +1,4 @@
-; RUN: opt -mtriple=x86_64-unknown-linux-gnu -loop-reduce -lsr-insns-cost=false -S < %s | FileCheck %s
+; RUN: opt -mtriple=x86_64-unknown-linux-gnu -loop-reduce -S < %s | FileCheck %s
; Check LSR formula canonicalization will put loop invariant regs before
; induction variable of current loop, so exprs involving loop invariant regs
; can be promoted outside of current loop.
diff --git a/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll b/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll
index 7c01432914ff..fb63b66137f3 100644
--- a/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll
+++ b/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll
@@ -163,7 +163,7 @@ for.end: ; preds = %for.body, %entry
; X64: movzbl -3(
;
; X32: foldedidx:
-; X32: movzbl 400(
+; X32: movzbl -3(
define void @foldedidx(i8* nocapture %a, i8* nocapture %b, i8* nocapture %c) nounwind ssp {
entry:
br label %for.body
@@ -275,7 +275,7 @@ exit:
;
; X32: @testCmpZero
; X32: %for.body82.us
-; X32: cmp
+; X32: dec
; X32: jne
define void @testCmpZero(i8* %src, i8* %dst, i32 %srcidx, i32 %dstidx, i32 %len) nounwind ssp {
entry:
diff --git a/test/Transforms/LoopStrengthReduce/X86/lsr-expand-quadratic.ll b/test/Transforms/LoopStrengthReduce/X86/lsr-expand-quadratic.ll
index deca954fea78..c5ce3bc2b6be 100644
--- a/test/Transforms/LoopStrengthReduce/X86/lsr-expand-quadratic.ll
+++ b/test/Transforms/LoopStrengthReduce/X86/lsr-expand-quadratic.ll
@@ -22,16 +22,16 @@ target triple = "x86_64-apple-macosx"
; CHECK-LABEL: @test2
; CHECK-LABEL: test2.loop:
; CHECK: %lsr.iv1 = phi i32 [ %lsr.iv.next2, %test2.loop ], [ -16777216, %entry ]
-; CHECK: %lsr.iv = phi i32 [ %lsr.iv.next, %test2.loop ], [ 1, %entry ]
-; CHECK: %lsr.iv.next = add nsw i32 %lsr.iv, -1
+; CHECK: %lsr.iv = phi i32 [ %lsr.iv.next, %test2.loop ], [ -1, %entry ]
+; CHECK: %lsr.iv.next = add nsw i32 %lsr.iv, 1
; CHECK: %lsr.iv.next2 = add nsw i32 %lsr.iv1, 16777216
;
; CHECK-LABEL: for.end:
-; CHECK: %tobool.us = icmp eq i32 %lsr.iv.next, 0
+; CHECK: %tobool.us = icmp eq i32 %lsr.iv.next2, 0
; CHECK: %sub.us = select i1 %tobool.us, i32 0, i32 0
-; CHECK: %0 = sub i32 0, %sub.us
-; CHECK: %1 = sub i32 %0, %lsr.iv.next
-; CHECK: %sext.us = mul i32 %lsr.iv.next2, %1
+; CHECK: %1 = sub i32 0, %sub.us
+; CHECK: %2 = add i32 %1, %lsr.iv.next
+; CHECK: %sext.us = mul i32 %lsr.iv.next2, %2
; CHECK: %f = ashr i32 %sext.us, 24
; CHECK: ret i32 %f
define i32 @test2() {
diff --git a/test/Transforms/LoopStrengthReduce/X86/lsr-insns-1.ll b/test/Transforms/LoopStrengthReduce/X86/lsr-insns-1.ll
index 7f163500a737..4888536bdf81 100644
--- a/test/Transforms/LoopStrengthReduce/X86/lsr-insns-1.ll
+++ b/test/Transforms/LoopStrengthReduce/X86/lsr-insns-1.ll
@@ -1,5 +1,5 @@
-; RUN: opt < %s -loop-reduce -mtriple=x86_64 -S | FileCheck %s -check-prefix=BOTH -check-prefix=INSN
-; RUN: opt < %s -loop-reduce -mtriple=x86_64 -lsr-insns-cost=false -S | FileCheck %s -check-prefix=BOTH -check-prefix=REGS
+; RUN: opt < %s -loop-reduce -mtriple=x86_64 -lsr-insns-cost -S | FileCheck %s -check-prefix=BOTH -check-prefix=INSN
+; RUN: opt < %s -loop-reduce -mtriple=x86_64 -S | FileCheck %s -check-prefix=BOTH -check-prefix=REGS
; RUN: llc < %s -O2 -march=x86-64 -lsr-insns-cost -asm-verbose=0 | FileCheck %s
; OPT test checks that LSR optimize compare for static counter to compare with 0.
diff --git a/test/Transforms/LoopStrengthReduce/X86/lsr-insns-2.ll b/test/Transforms/LoopStrengthReduce/X86/lsr-insns-2.ll
index 239cc0233506..3273cb4e6b5b 100644
--- a/test/Transforms/LoopStrengthReduce/X86/lsr-insns-2.ll
+++ b/test/Transforms/LoopStrengthReduce/X86/lsr-insns-2.ll
@@ -1,5 +1,5 @@
-; RUN: opt < %s -loop-reduce -mtriple=x86_64 -S | FileCheck %s -check-prefix=BOTH -check-prefix=INSN
-; RUN: opt < %s -loop-reduce -mtriple=x86_64 -lsr-insns-cost=false -S | FileCheck %s -check-prefix=BOTH -check-prefix=REGS
+; RUN: opt < %s -loop-reduce -mtriple=x86_64 -lsr-insns-cost -S | FileCheck %s -check-prefix=BOTH -check-prefix=INSN
+; RUN: opt < %s -loop-reduce -mtriple=x86_64 -S | FileCheck %s -check-prefix=BOTH -check-prefix=REGS
; RUN: llc < %s -O2 -march=x86-64 -lsr-insns-cost -asm-verbose=0 | FileCheck %s
; OPT checks that LSR prefers less instructions to less registers.
diff --git a/test/Transforms/LoopStrengthReduce/X86/nested-loop.ll b/test/Transforms/LoopStrengthReduce/X86/nested-loop.ll
index e05d5aa3027b..b563eb3ad994 100644
--- a/test/Transforms/LoopStrengthReduce/X86/nested-loop.ll
+++ b/test/Transforms/LoopStrengthReduce/X86/nested-loop.ll
@@ -1,4 +1,3 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -loop-reduce -S < %s | FileCheck %s
; Check when we use an outerloop induction variable inside of an innerloop
; induction value expr, LSR can still choose to use single induction variable
@@ -23,21 +22,18 @@ for.body: ; preds = %for.inc, %entry
for.body2.preheader: ; preds = %for.body
br label %for.body2
-; Check LSR only generates two induction variables for for.body2 one for compare and
-; one to shared by multiple array accesses.
+; Check LSR only generates one induction variable for for.body2 and the induction
+; variable will be shared by multiple array accesses.
; CHECK: for.body2:
-; CHECK-NEXT: [[LSRAR:%[^,]+]] = phi i8* [ %scevgep, %for.body2 ], [ %maxarray, %for.body2.preheader ]
-; CHECK-NEXT: [[LSR:%[^,]+]] = phi i64 [ %lsr.iv.next, %for.body2 ], [ %0, %for.body2.preheader ]
+; CHECK-NEXT: [[LSR:%[^,]+]] = phi i64 [ %lsr.iv.next, %for.body2 ], [ 0, %for.body2.preheader ]
; CHECK-NOT: = phi i64 [ {{.*}}, %for.body2 ], [ {{.*}}, %for.body2.preheader ]
-; CHECK: [[LSRINT:%[^,]+]] = ptrtoint i8* [[LSRAR]] to i64
-; CHECK: [[SCEVGEP1:%[^,]+]] = getelementptr i8, i8* [[LSRAR]], i64 1
-; CHECK: {{.*}} = load i8, i8* [[SCEVGEP1]], align 1
-; CHECK: [[SCEVGEP2:%[^,]+]] = getelementptr i8, i8* %1, i64 [[LSRINT]]
+; CHECK: [[SCEVGEP1:%[^,]+]] = getelementptr i8, i8* %maxarray, i64 [[LSR]]
+; CHECK: [[SCEVGEP2:%[^,]+]] = getelementptr i8, i8* [[SCEVGEP1]], i64 1
; CHECK: {{.*}} = load i8, i8* [[SCEVGEP2]], align 1
-; CHECK: [[SCEVGEP3:%[^,]+]] = getelementptr i8, i8* {{.*}}, i64 [[LSRINT]]
-; CHECK: store i8 {{.*}}, i8* [[SCEVGEP3]], align 1
-; CHECK: [[LSRNEXT:%[^,]+]] = add i64 [[LSR]], -1
-; CHECK: %exitcond = icmp ne i64 [[LSRNEXT]], 0
+; CHECK: [[SCEVGEP3:%[^,]+]] = getelementptr i8, i8* {{.*}}, i64 [[LSR]]
+; CHECK: {{.*}} = load i8, i8* [[SCEVGEP3]], align 1
+; CHECK: [[SCEVGEP4:%[^,]+]] = getelementptr i8, i8* {{.*}}, i64 [[LSR]]
+; CHECK: store i8 {{.*}}, i8* [[SCEVGEP4]], align 1
; CHECK: br i1 %exitcond, label %for.body2, label %for.inc.loopexit
for.body2: ; preds = %for.body2.preheader, %for.body2
diff --git a/test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll b/test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll
index a35596aff11c..d115787b6eaf 100644
--- a/test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll
+++ b/test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll
@@ -2,7 +2,6 @@
; RUN: opt -loop-unswitch -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
; RUN: opt -S -loop-unswitch -verify-loop-info -verify-dom-info < %s | FileCheck %s
-; STATS: 1 loop-simplify - Number of pre-header or exit blocks inserted
; STATS: 2 loop-unswitch - Number of switches unswitched
; CHECK: %1 = icmp eq i32 %c, 1
diff --git a/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll b/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll
index 393dd5c313a4..c4e8d6f88980 100644
--- a/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll
+++ b/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll
@@ -2,7 +2,6 @@
; RUN: opt -loop-unswitch -loop-unswitch-threshold 13 -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
; RUN: opt -S -loop-unswitch -loop-unswitch-threshold 13 -verify-loop-info -verify-dom-info < %s | FileCheck %s
-; STATS: 1 loop-simplify - Number of pre-header or exit blocks inserted
; STATS: 1 loop-unswitch - Number of switches unswitched
; ModuleID = '../llvm/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll'
diff --git a/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll b/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll
index 20f03c987eb7..18e544d86caf 100644
--- a/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll
+++ b/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll
@@ -2,7 +2,6 @@
; RUN: opt -loop-unswitch -loop-unswitch-threshold 1000 -disable-output -stats -info-output-file - < %s | FileCheck --check-prefix=STATS %s
; RUN: opt -S -loop-unswitch -loop-unswitch-threshold 1000 -verify-loop-info -verify-dom-info < %s | FileCheck %s
-; STATS: 1 loop-simplify - Number of pre-header or exit blocks inserted
; STATS: 3 loop-unswitch - Number of switches unswitched
; CHECK: %1 = icmp eq i32 %c, 1
diff --git a/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll b/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
new file mode 100644
index 000000000000..832843983ebf
--- /dev/null
+++ b/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
@@ -0,0 +1,34 @@
+; RUN: opt -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s -loop-vectorize -dce -instcombine -S | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
+; RUN: opt -mtriple=amdgcn-amd-amdhsa -mcpu=fiji < %s -loop-vectorize -dce -instcombine -S | FileCheck -check-prefix=CIVI -check-prefix=GCN %s
+; RUN: opt -mtriple=amdgcn-amd-amdhsa -mcpu=hawaii < %s -loop-vectorize -dce -instcombine -S | FileCheck -check-prefix=CIVI -check-prefix=GCN %s
+
+; GCN-LABEL: @vectorize_v2f16_loop(
+; GFX9: vector.body:
+; GFX9: phi <2 x half>
+; GFX9: load <2 x half>
+; GFX9: fadd fast <2 x half>
+
+; GFX9: middle.block:
+; GFX9: fadd fast <2 x half>
+
+; VI: phi half
+; VI: phi load half
+; VI: fadd fast half
+define half @vectorize_v2f16_loop(half addrspace(1)* noalias %s) {
+entry:
+ br label %for.body
+
+for.body:
+ %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
+ %q.04 = phi half [ 0.0, %entry ], [ %add, %for.body ]
+ %arrayidx = getelementptr inbounds half, half addrspace(1)* %s, i64 %indvars.iv
+ %0 = load half, half addrspace(1)* %arrayidx, align 2
+ %add = fadd fast half %q.04, %0
+ %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
+ %exitcond = icmp eq i64 %indvars.iv.next, 256
+ br i1 %exitcond, label %for.end, label %for.body
+
+for.end:
+ %add.lcssa = phi half [ %add, %for.body ]
+ ret half %add.lcssa
+}
diff --git a/test/Transforms/LoopVectorize/X86/small-size.ll b/test/Transforms/LoopVectorize/X86/small-size.ll
index 47c262b11b46..89d69e232f5b 100644
--- a/test/Transforms/LoopVectorize/X86/small-size.ll
+++ b/test/Transforms/LoopVectorize/X86/small-size.ll
@@ -115,32 +115,6 @@ define void @example3(i32 %n, i32* noalias nocapture %p, i32* noalias nocapture
ret void
}
-; N is unknown, we need a tail. Can't vectorize because the loop is cold.
-;CHECK-LABEL: @example4(
-;CHECK-NOT: <4 x i32>
-;CHECK: ret void
-define void @example4(i32 %n, i32* noalias nocapture %p, i32* noalias nocapture %q) {
- %1 = icmp eq i32 %n, 0
- br i1 %1, label %._crit_edge, label %.lr.ph, !prof !0
-
-.lr.ph: ; preds = %0, %.lr.ph
- %.05 = phi i32 [ %2, %.lr.ph ], [ %n, %0 ]
- %.014 = phi i32* [ %5, %.lr.ph ], [ %p, %0 ]
- %.023 = phi i32* [ %3, %.lr.ph ], [ %q, %0 ]
- %2 = add nsw i32 %.05, -1
- %3 = getelementptr inbounds i32, i32* %.023, i64 1
- %4 = load i32, i32* %.023, align 16
- %5 = getelementptr inbounds i32, i32* %.014, i64 1
- store i32 %4, i32* %.014, align 16
- %6 = icmp eq i32 %2, 0
- br i1 %6, label %._crit_edge, label %.lr.ph
-
-._crit_edge: ; preds = %.lr.ph, %0
- ret void
-}
-
-!0 = !{!"branch_weights", i32 64, i32 4}
-
; We can't vectorize this one because we need a runtime ptr check.
;CHECK-LABEL: @example23(
;CHECK-NOT: <4 x i32>
diff --git a/test/Transforms/LoopVectorize/tripcount.ll b/test/Transforms/LoopVectorize/tripcount.ll
new file mode 100644
index 000000000000..03b3aa171d4f
--- /dev/null
+++ b/test/Transforms/LoopVectorize/tripcount.ll
@@ -0,0 +1,91 @@
+; This test verifies that the loop vectorizer will not vectorizes low trip count
+; loops that require runtime checks (Trip count is computed with profile info).
+; REQUIRES: asserts
+; RUN: opt < %s -loop-vectorize -loop-vectorize-with-block-frequency -S | FileCheck %s
+
+target datalayout = "E-m:e-p:32:32-i64:32-f64:32:64-a:0:32-n32-S128"
+
+@tab = common global [32 x i8] zeroinitializer, align 1
+
+define i32 @foo_low_trip_count1(i32 %bound) {
+; Simple loop with low tripcount. Should not be vectorized.
+
+; CHECK-LABEL: @foo_low_trip_count1(
+; CHECK-NOT: <{{[0-9]+}} x i8>
+
+entry:
+ br label %for.body
+
+for.body: ; preds = %for.body, %entry
+ %i.08 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
+ %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* @tab, i32 0, i32 %i.08
+ %0 = load i8, i8* %arrayidx, align 1
+ %cmp1 = icmp eq i8 %0, 0
+ %. = select i1 %cmp1, i8 2, i8 1
+ store i8 %., i8* %arrayidx, align 1
+ %inc = add nsw i32 %i.08, 1
+ %exitcond = icmp eq i32 %i.08, %bound
+ br i1 %exitcond, label %for.end, label %for.body, !prof !1
+
+for.end: ; preds = %for.body
+ ret i32 0
+}
+
+define i32 @foo_low_trip_count2(i32 %bound) !prof !0 {
+; The loop has a same invocation count with the function, but has a low
+; trip_count per invocation and not worth to vectorize.
+
+; CHECK-LABEL: @foo_low_trip_count2(
+; CHECK-NOT: <{{[0-9]+}} x i8>
+
+entry:
+ br label %for.body
+
+for.body: ; preds = %for.body, %entry
+ %i.08 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
+ %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* @tab, i32 0, i32 %i.08
+ %0 = load i8, i8* %arrayidx, align 1
+ %cmp1 = icmp eq i8 %0, 0
+ %. = select i1 %cmp1, i8 2, i8 1
+ store i8 %., i8* %arrayidx, align 1
+ %inc = add nsw i32 %i.08, 1
+ %exitcond = icmp eq i32 %i.08, %bound
+ br i1 %exitcond, label %for.end, label %for.body, !prof !1
+
+for.end: ; preds = %for.body
+ ret i32 0
+}
+
+define i32 @foo_low_trip_count3(i1 %cond, i32 %bound) !prof !0 {
+; The loop has low invocation count compare to the function invocation count,
+; but has a high trip count per invocation. Vectorize it.
+
+; CHECK-LABEL: @foo_low_trip_count3(
+; CHECK: vector.body:
+
+entry:
+ br i1 %cond, label %for.preheader, label %for.end, !prof !2
+
+for.preheader:
+ br label %for.body
+
+for.body: ; preds = %for.body, %entry
+ %i.08 = phi i32 [ 0, %for.preheader ], [ %inc, %for.body ]
+ %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* @tab, i32 0, i32 %i.08
+ %0 = load i8, i8* %arrayidx, align 1
+ %cmp1 = icmp eq i8 %0, 0
+ %. = select i1 %cmp1, i8 2, i8 1
+ store i8 %., i8* %arrayidx, align 1
+ %inc = add nsw i32 %i.08, 1
+ %exitcond = icmp eq i32 %i.08, %bound
+ br i1 %exitcond, label %for.end, label %for.body, !prof !3
+
+for.end: ; preds = %for.body
+ ret i32 0
+}
+
+
+!0 = !{!"function_entry_count", i64 100}
+!1 = !{!"branch_weights", i32 100, i32 0}
+!2 = !{!"branch_weights", i32 10, i32 90}
+!3 = !{!"branch_weights", i32 10, i32 10000}
diff --git a/test/Transforms/LowerTypeTests/export-icall.ll b/test/Transforms/LowerTypeTests/export-icall.ll
index ad3604899306..f53b63af496c 100644
--- a/test/Transforms/LowerTypeTests/export-icall.ll
+++ b/test/Transforms/LowerTypeTests/export-icall.ll
@@ -60,11 +60,6 @@ declare !type !8 void @f(i32 %x)
; SUMMARY-NEXT: SizeM1BitWidth: 0
; SUMMARY-NEXT: WPDRes:
-; SUMMARY: CfiFunctionDefs:
-; SUMMARY-NEXT: - f
-; SUMMARY-NEXT: - g
-; SUMMARY-NEXT: - h
-; SUMMARY-NEXT: CfiFunctionDecls:
-; SUMMARY-NEXT: - external
-; SUMMARY-NEXT: - external_weak
+; SUMMARY: CfiFunctionDefs: [ f, g, h ]
+; SUMMARY-NEXT: CfiFunctionDecls: [ external, external_weak ]
; SUMMARY-NEXT: ...
diff --git a/test/Transforms/NewGVN/pr33461.ll b/test/Transforms/NewGVN/pr33461.ll
new file mode 100644
index 000000000000..0a41d6834a4a
--- /dev/null
+++ b/test/Transforms/NewGVN/pr33461.ll
@@ -0,0 +1,36 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+;; Ensure the store verifier is not overzealous
+; RUN: opt -newgvn -S %s | FileCheck %s
+@b = external global i16, align 2
+
+define void @patatino() {
+; CHECK-LABEL: @patatino(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: br i1 false, label [[FOR_COND1:%.*]], label [[FOR_INC:%.*]]
+; CHECK: for.cond1:
+; CHECK-NEXT: [[TMP0:%.*]] = phi i16 [ [[INC:%.*]], [[FOR_INC]] ], [ undef, [[ENTRY:%.*]] ]
+; CHECK-NEXT: store i16 [[TMP0]], i16* @b, align 2
+; CHECK-NEXT: br label [[FOR_INC]]
+; CHECK: for.inc:
+; CHECK-NEXT: [[TMP1:%.*]] = load i16, i16* @b, align 2
+; CHECK-NEXT: [[INC]] = add i16 [[TMP1]], 1
+; CHECK-NEXT: store i16 [[INC]], i16* @b, align 2
+; CHECK-NEXT: br label [[FOR_COND1]]
+;
+entry:
+ br i1 false, label %for.cond1, label %for.inc
+
+for.cond1:
+ %e.0 = phi i16* [ %e.1, %for.inc ], [ null, %entry ]
+ %0 = load i16, i16* %e.0, align 2
+ %add = add i16 %0, 0
+ store i16 %add, i16* %e.0, align 2
+ br label %for.inc
+
+for.inc:
+ %e.1 = phi i16* [ %e.0, %for.cond1 ], [ @b, %entry ]
+ %1 = load i16, i16* @b, align 2
+ %inc = add i16 %1, 1
+ store i16 %inc, i16* @b, align 2
+ br label %for.cond1
+}
diff --git a/test/Transforms/PGOProfile/counter_promo.ll b/test/Transforms/PGOProfile/counter_promo.ll
new file mode 100644
index 000000000000..125e7d77cdf4
--- /dev/null
+++ b/test/Transforms/PGOProfile/counter_promo.ll
@@ -0,0 +1,68 @@
+; RUN: opt < %s -pgo-instr-gen -instrprof -do-counter-promotion=true -S | FileCheck --check-prefix=PROMO --check-prefix=NONATOMIC_PROMO %s
+; RUN: opt < %s --passes=pgo-instr-gen,instrprof -do-counter-promotion=true -S | FileCheck --check-prefix=PROMO --check-prefix=NONATOMIC_PROMO %s
+; RUN: opt < %s -pgo-instr-gen -instrprof -do-counter-promotion=true -atomic-counter-update-promoted -S | FileCheck --check-prefix=PROMO --check-prefix=ATOMIC_PROMO %s
+; RUN: opt < %s --passes=pgo-instr-gen,instrprof -do-counter-promotion=true -atomic-counter-update-promoted -S | FileCheck --check-prefix=PROMO --check-prefix=ATOMIC_PROMO %s
+
+define void @foo(i32 %n, i32 %N) {
+; PROMO-LABEL: @foo
+bb:
+ %tmp = add nsw i32 %n, 1
+ %tmp1 = add nsw i32 %n, -1
+ br label %bb2
+
+bb2: ; preds = %bb9, %bb
+; PROMO: phi {{.*}}
+; PROMO-NEXT: phi {{.*}}
+; PROMO-NEXT: phi {{.*}}
+; PROMO-NEXT: phi {{.*}}
+ %i.0 = phi i32 [ 0, %bb ], [ %tmp10, %bb9 ]
+ %tmp3 = icmp slt i32 %i.0, %tmp
+ br i1 %tmp3, label %bb4, label %bb5
+
+bb4: ; preds = %bb2
+ tail call void @bar(i32 1)
+ br label %bb9
+
+bb5: ; preds = %bb2
+ %tmp6 = icmp slt i32 %i.0, %tmp1
+ br i1 %tmp6, label %bb7, label %bb8
+
+bb7: ; preds = %bb5
+ tail call void @bar(i32 2)
+ br label %bb9
+
+bb8: ; preds = %bb5
+ tail call void @bar(i32 3)
+ br label %bb9
+
+bb9: ; preds = %bb8, %bb7, %bb4
+; PROMO: %[[LIVEOUT3:[a-z0-9]+]] = phi {{.*}}
+; PROMO-NEXT: %[[LIVEOUT2:[a-z0-9]+]] = phi {{.*}}
+; PROMO-NEXT: %[[LIVEOUT1:[a-z0-9]+]] = phi {{.*}}
+ %tmp10 = add nsw i32 %i.0, 1
+ %tmp11 = icmp slt i32 %tmp10, %N
+ br i1 %tmp11, label %bb2, label %bb12
+
+bb12: ; preds = %bb9
+ ret void
+; NONATOMIC_PROMO: %[[PROMO1:[a-z0-9.]+]] = load {{.*}} @__profc_foo{{.*}} 0)
+; NONATOMIC_PROMO-NEXT: add {{.*}} %[[PROMO1]], %[[LIVEOUT1]]
+; NONATOMIC_PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}0)
+; NONATOMIC_PROMO-NEXT: %[[PROMO2:[a-z0-9.]+]] = load {{.*}} @__profc_foo{{.*}} 1)
+; NONATOMIC_PROMO-NEXT: add {{.*}} %[[PROMO2]], %[[LIVEOUT2]]
+; NONATOMIC_PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}1)
+; NONATOMIC_PROMO-NEXT: %[[PROMO3:[a-z0-9.]+]] = load {{.*}} @__profc_foo{{.*}} 2)
+; NONATOMIC_PROMO-NEXT: add {{.*}} %[[PROMO3]], %[[LIVEOUT3]]
+; NONATOMIC_PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}2)
+; ATOMIC_PROMO: atomicrmw add {{.*}} @__profc_foo{{.*}}0), i64 %[[LIVEOUT1]] seq_cst
+; ATOMIC_PROMO-NEXT: atomicrmw add {{.*}} @__profc_foo{{.*}}1), i64 %[[LIVEOUT2]] seq_cst
+; ATOMIC_PROMO-NEXT: atomicrmw add {{.*}} @__profc_foo{{.*}}2), i64 %[[LIVEOUT3]] seq_cst
+; PROMO: {{.*}} = load {{.*}} @__profc_foo{{.*}} 3)
+; PROMO-NEXT: add
+; PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}3)
+; PROMO-NOT: @__profc_foo
+
+
+}
+
+declare void @bar(i32)
diff --git a/test/Transforms/PGOProfile/counter_promo_exit_merge.ll b/test/Transforms/PGOProfile/counter_promo_exit_merge.ll
new file mode 100644
index 000000000000..f53d37600ce6
--- /dev/null
+++ b/test/Transforms/PGOProfile/counter_promo_exit_merge.ll
@@ -0,0 +1,74 @@
+; RUN: opt < %s -instrprof -do-counter-promotion=true -speculative-counter-promotion -S | FileCheck --check-prefix=PROMO %s
+; RUN: opt < %s --passes=instrprof -do-counter-promotion=true -speculative-counter-promotion -S | FileCheck --check-prefix=PROMO %s
+
+$__llvm_profile_raw_version = comdat any
+
+@g = common local_unnamed_addr global i32 0, align 4
+@__llvm_profile_raw_version = constant i64 72057594037927940, comdat
+@__profn_foo = private constant [3 x i8] c"foo"
+
+define void @foo(i32 %arg) local_unnamed_addr {
+bb:
+ %tmp = add nsw i32 %arg, -1
+ br label %bb1
+
+bb1: ; preds = %bb11, %bb
+ %tmp2 = phi i32 [ 0, %bb ], [ %tmp12, %bb11 ]
+ %tmp3 = icmp sgt i32 %tmp2, %arg
+ br i1 %tmp3, label %bb7, label %bb4
+
+bb4: ; preds = %bb1
+ call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64 63969943867, i32 5, i32 1)
+ tail call void @bar(i32 1)
+ %tmp5 = load i32, i32* @g, align 4
+ %tmp6 = icmp sgt i32 %tmp5, 100
+ br i1 %tmp6, label %bb14, label %bb11
+
+bb7: ; preds = %bb1
+ %tmp8 = icmp slt i32 %tmp2, %tmp
+ br i1 %tmp8, label %bb9, label %bb10
+
+bb9: ; preds = %bb7
+ call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64 63969943867, i32 5, i32 2)
+ tail call void @bar(i32 2)
+ br label %bb11
+
+bb10: ; preds = %bb7
+ call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64 63969943867, i32 5, i32 3)
+ tail call void @bar(i32 3)
+ br label %bb11
+
+bb11: ; preds = %bb10, %bb9, %bb4
+ %tmp12 = add nuw nsw i32 %tmp2, 1
+ %tmp13 = icmp slt i32 %tmp2, 99
+ br i1 %tmp13, label %bb1, label %bb14
+
+bb14: ; preds = %bb4.bb14_crit_edge, %bb11
+ tail call void @bar(i32 0)
+ br label %bb15
+; PROMO-LABEL: bb14:
+; PROMO: %[[MERGE1:[a-z0-9]+]] = phi {{.*}}
+; PROMO-NEXT: %[[MERGE2:[a-z0-9.]+]] = phi {{.*}}
+; PROMO-NEXT: %[[MERGE3:[a-z0-9.]+]] = phi {{.*}}
+; PROMO-NEXT: %[[PROMO3:[a-z0-9.]+]] = load{{.*}}@__profc_foo{{.*}}1)
+; PROMO-NEXT: {{.*}} = add {{.*}}%[[PROMO3]], %[[MERGE3]]
+; PROMO-NEXT: store{{.*}}@__profc_foo{{.*}}1)
+; PROMO-NEXT: %[[PROMO2:[a-z0-9.]+]] = load{{.*}}@__profc_foo{{.*}}2)
+; PROMO-NEXT: {{.*}} = add {{.*}}%[[PROMO2]], %[[MERGE2]]
+; PROMO-NEXT: store{{.*}}@__profc_foo{{.*}}2)
+; PROMO-NEXT: %[[PROMO1:[a-z0-9.]+]] = load{{.*}}@__profc_foo{{.*}}3)
+; PROMO-NEXT: {{.*}} = add {{.*}}%[[PROMO1]], %[[MERGE1]]
+; PROMO-NEXT: store{{.*}}@__profc_foo{{.*}}3)
+
+bb15: ; preds = %bb14
+ call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64 63969943867, i32 5, i32 4)
+ tail call void @bar(i32 1)
+ ret void
+}
+
+declare void @bar(i32) local_unnamed_addr
+
+; Function Attrs: nounwind
+declare void @llvm.instrprof.increment(i8*, i64, i32, i32) #0
+
+attributes #0 = { nounwind }
diff --git a/test/Transforms/PGOProfile/counter_promo_mexits.ll b/test/Transforms/PGOProfile/counter_promo_mexits.ll
new file mode 100644
index 000000000000..71e5f066d50f
--- /dev/null
+++ b/test/Transforms/PGOProfile/counter_promo_mexits.ll
@@ -0,0 +1,80 @@
+; RUN: opt < %s -pgo-instr-gen -instrprof -do-counter-promotion=true -speculative-counter-promotion -S | FileCheck --check-prefix=PROMO %s
+; RUN: opt < %s --passes=pgo-instr-gen,instrprof -do-counter-promotion=true -speculative-counter-promotion -S | FileCheck --check-prefix=PROMO %s
+
+@g = common local_unnamed_addr global i32 0, align 4
+
+define void @foo(i32 %arg) local_unnamed_addr {
+; PROMO-LABEL: @foo
+bb:
+ %tmp = add nsw i32 %arg, -1
+ br label %bb1
+bb1: ; preds = %bb11, %bb
+ %tmp2 = phi i32 [ 0, %bb ], [ %tmp12, %bb11 ]
+ %tmp3 = icmp sgt i32 %tmp2, %arg
+ br i1 %tmp3, label %bb7, label %bb4
+
+bb4: ; preds = %bb1
+ tail call void @bar(i32 1)
+ %tmp5 = load i32, i32* @g, align 4
+ %tmp6 = icmp sgt i32 %tmp5, 100
+ br i1 %tmp6, label %bb15_0, label %bb11
+
+bb7: ; preds = %bb1
+ %tmp8 = icmp slt i32 %tmp2, %tmp
+ br i1 %tmp8, label %bb9, label %bb10
+
+bb9: ; preds = %bb7
+ tail call void @bar(i32 2)
+ br label %bb11
+
+bb10: ; preds = %bb7
+ tail call void @bar(i32 3)
+ br label %bb11
+
+bb11: ; preds = %bb10, %bb9, %bb4
+ %tmp12 = add nuw nsw i32 %tmp2, 1
+ %tmp13 = icmp slt i32 %tmp2, 99
+ br i1 %tmp13, label %bb1, label %bb14
+
+bb14: ; preds = %bb11
+; PROMO-LABEL: bb14:
+ tail call void @bar(i32 0)
+ br label %bb15
+; PROMO: %pgocount.promoted{{.*}} = load {{.*}} @__profc_foo{{.*}} 0)
+; PROMO-NEXT: add
+; PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}0)
+; PROMO-NEXT: %pgocount.promoted{{.*}} = load {{.*}} @__profc_foo{{.*}} 1)
+; PROMO-NEXT: add
+; PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}1)
+; PROMO-NEXT: %pgocount.promoted{{.*}} = load {{.*}} @__profc_foo{{.*}} 2)
+; PROMO-NEXT: add
+; PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}2)
+; PROMO-NEXT: %pgocount{{.*}} = load {{.*}} @__profc_foo{{.*}} 3)
+; PROMO-NEXT: add
+; PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}3)
+
+
+bb15_0: ; preds = %bb11
+; PROMO-LABEL: bb15_0:
+ br label %bb15
+; PROMO: %pgocount.promoted{{.*}} = load {{.*}} @__profc_foo{{.*}} 0)
+; PROMO-NEXT: add
+; PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}0)
+; PROMO-NEXT: %pgocount.promoted{{.*}} = load {{.*}} @__profc_foo{{.*}} 1)
+; PROMO-NEXT: add
+; PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}1)
+; PROMO-NEXT: %pgocount.promoted{{.*}} = load {{.*}} @__profc_foo{{.*}} 2)
+; PROMO-NEXT: add
+; PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}2)
+; PROMO-NEXT: %pgocount{{.*}} = load {{.*}} @__profc_foo{{.*}} 4)
+; PROMO-NEXT: add
+; PROMO-NEXT: store {{.*}}@__profc_foo{{.*}}4)
+; PROMO-NOT: @__profc_foo
+
+
+bb15: ; preds = %bb14, %bb4
+ tail call void @bar(i32 1)
+ ret void
+}
+
+declare void @bar(i32) local_unnamed_addr
diff --git a/test/Transforms/PGOProfile/memop_size_from_strlen.ll b/test/Transforms/PGOProfile/memop_size_from_strlen.ll
new file mode 100644
index 000000000000..527f328b2d2f
--- /dev/null
+++ b/test/Transforms/PGOProfile/memop_size_from_strlen.ll
@@ -0,0 +1,14 @@
+; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s
+
+declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture writeonly, i8* nocapture readonly, i32, i32, i1)
+declare i32 @strlen(i8* nocapture)
+
+; CHECK_LABEL: test
+; CHECK: %1 = zext i32 %c to i64
+; CHECK: call void @llvm.instrprof.value.profile(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__profn_test, i32 0, i32 0), i64 12884901887, i64 %1, i32 1, i32 0)
+
+define void @test(i8* %a, i8* %p) {
+ %c = call i32 @strlen(i8* %p)
+ call void @llvm.memcpy.p0i8.p0i8.i32(i8* %a, i8* %p, i32 %c, i32 1, i1 false)
+ ret void
+}
diff --git a/test/Transforms/Reassociate/fast-ReassociateVector.ll b/test/Transforms/Reassociate/fast-ReassociateVector.ll
index fb76b9d990b0..d4c7b809f616 100644
--- a/test/Transforms/Reassociate/fast-ReassociateVector.ll
+++ b/test/Transforms/Reassociate/fast-ReassociateVector.ll
@@ -205,15 +205,25 @@ define <2 x i32> @test16(<2 x i32> %x, <2 x i32> %y) {
ret <2 x i32> %tmp3
}
-; FIXME: Optimize vector xor. Currently only commute operands.
define <2 x i32> @test17(<2 x i32> %x, <2 x i32> %y) {
; CHECK-LABEL: test17
-; CHECK-NEXT: %tmp1 = xor <2 x i32> %x, %y
-; CHECK-NEXT: %tmp2 = xor <2 x i32> %x, %y
-; CHECK-NEXT: %tmp3 = xor <2 x i32> %tmp1, %tmp2
+; CHECK-NEXT: ret <2 x i32> zeroinitializer
%tmp1 = xor <2 x i32> %x, %y
%tmp2 = xor <2 x i32> %y, %x
%tmp3 = xor <2 x i32> %tmp1, %tmp2
ret <2 x i32> %tmp3
}
+
+define <2 x i32> @test18(<2 x i32> %x, <2 x i32> %y) {
+; CHECK-LABEL: test18
+; CHECK-NEXT: %tmp5 = xor <2 x i32> %y, %x
+; CHECK-NEXT: ret <2 x i32> %tmp5
+
+ %tmp1 = xor <2 x i32> %x, %y
+ %tmp2 = xor <2 x i32> %y, %x
+ %tmp3 = xor <2 x i32> %x, %y
+ %tmp4 = xor <2 x i32> %tmp1, %tmp2
+ %tmp5 = xor <2 x i32> %tmp4, %tmp3
+ ret <2 x i32> %tmp5
+}
diff --git a/test/Transforms/Reassociate/xor_reassoc.ll b/test/Transforms/Reassociate/xor_reassoc.ll
index 0bed6f358808..4d617ea03101 100644
--- a/test/Transforms/Reassociate/xor_reassoc.ll
+++ b/test/Transforms/Reassociate/xor_reassoc.ll
@@ -19,6 +19,19 @@ define i32 @xor1(i32 %x) {
;CHECK: %xor = xor i32 %and.ra, 435
}
+; (x | c1) ^ (x | c2) => (x & c3) ^ c3, where c3 = c1^c2
+;
+define <2 x i32> @xor1_vec(<2 x i32> %x) {
+ %or = or <2 x i32> %x, <i32 123, i32 123>
+ %or1 = or <2 x i32> %x, <i32 456, i32 456>
+ %xor = xor <2 x i32> %or, %or1
+ ret <2 x i32> %xor
+
+;CHECK-LABEL: @xor1_vec(
+;CHECK: %and.ra = and <2 x i32> %x, <i32 435, i32 435>
+;CHECK: %xor = xor <2 x i32> %and.ra, <i32 435, i32 435>
+}
+
; Test rule : (x & c1) ^ (x & c2) = (x & (c1^c2))
; Real testing case : (x & 123) ^ y ^ (x & 345) => (x & 435) ^ y
define i32 @xor2(i32 %x, i32 %y) {
@@ -33,6 +46,20 @@ define i32 @xor2(i32 %x, i32 %y) {
;CHECK: %xor2 = xor i32 %and.ra, %y
}
+; Test rule : (x & c1) ^ (x & c2) = (x & (c1^c2))
+; Real testing case : (x & 123) ^ y ^ (x & 345) => (x & 435) ^ y
+define <2 x i32> @xor2_vec(<2 x i32> %x, <2 x i32> %y) {
+ %and = and <2 x i32> %x, <i32 123, i32 123>
+ %xor = xor <2 x i32> %and, %y
+ %and1 = and <2 x i32> %x, <i32 456, i32 456>
+ %xor2 = xor <2 x i32> %xor, %and1
+ ret <2 x i32> %xor2
+
+;CHECK-LABEL: @xor2_vec(
+;CHECK: %and.ra = and <2 x i32> %x, <i32 435, i32 435>
+;CHECK: %xor2 = xor <2 x i32> %and.ra, %y
+}
+
; Test rule: (x | c1) ^ (x & c2) = (x & c3) ^ c1, where c3 = ~c1 ^ c2
; c3 = ~c1 ^ c2
define i32 @xor3(i32 %x, i32 %y) {
@@ -48,6 +75,21 @@ define i32 @xor3(i32 %x, i32 %y) {
;CHECK: %xor1 = xor i32 %xor, %and.ra
}
+; Test rule: (x | c1) ^ (x & c2) = (x & c3) ^ c1, where c3 = ~c1 ^ c2
+; c3 = ~c1 ^ c2
+define <2 x i32> @xor3_vec(<2 x i32> %x, <2 x i32> %y) {
+ %or = or <2 x i32> %x, <i32 123, i32 123>
+ %xor = xor <2 x i32> %or, %y
+ %and = and <2 x i32> %x, <i32 456, i32 456>
+ %xor1 = xor <2 x i32> %xor, %and
+ ret <2 x i32> %xor1
+
+;CHECK-LABEL: @xor3_vec(
+;CHECK: %and.ra = and <2 x i32> %x, <i32 -436, i32 -436>
+;CHECK: %xor = xor <2 x i32> %y, <i32 123, i32 123>
+;CHECK: %xor1 = xor <2 x i32> %xor, %and.ra
+}
+
; Test rule: (x | c1) ^ c2 = (x & ~c1) ^ (c1 ^ c2)
define i32 @xor4(i32 %x, i32 %y) {
%and = and i32 %x, -124
@@ -60,6 +102,18 @@ define i32 @xor4(i32 %x, i32 %y) {
; CHECK: %xor1 = xor i32 %xor, %and
}
+; Test rule: (x | c1) ^ c2 = (x & ~c1) ^ (c1 ^ c2)
+define <2 x i32> @xor4_vec(<2 x i32> %x, <2 x i32> %y) {
+ %and = and <2 x i32> %x, <i32 -124, i32 -124>
+ %xor = xor <2 x i32> %y, <i32 435, i32 435>
+ %xor1 = xor <2 x i32> %xor, %and
+ ret <2 x i32> %xor1
+; CHECK-LABEL: @xor4_vec(
+; CHECK: %and = and <2 x i32> %x, <i32 -124, i32 -124>
+; CHECK: %xor = xor <2 x i32> %y, <i32 435, i32 435>
+; CHECK: %xor1 = xor <2 x i32> %xor, %and
+}
+
; ==========================================================================
;
; Xor reassociation special cases
@@ -80,6 +134,19 @@ define i32 @xor_special1(i32 %x, i32 %y) {
}
; Special case1:
+; (x | c1) ^ (x & ~c1) = c1
+define <2 x i32> @xor_special1_vec(<2 x i32> %x, <2 x i32> %y) {
+ %or = or <2 x i32> %x, <i32 123, i32 123>
+ %xor = xor <2 x i32> %or, %y
+ %and = and <2 x i32> %x, <i32 -124, i32 -124>
+ %xor1 = xor <2 x i32> %xor, %and
+ ret <2 x i32> %xor1
+; CHECK-LABEL: @xor_special1_vec(
+; CHECK: %xor1 = xor <2 x i32> %y, <i32 123, i32 123>
+; CHECK: ret <2 x i32> %xor1
+}
+
+; Special case1:
; (x | c1) ^ (x & c1) = x ^ c1
define i32 @xor_special2(i32 %x, i32 %y) {
%or = or i32 %x, 123
@@ -93,6 +160,20 @@ define i32 @xor_special2(i32 %x, i32 %y) {
; CHECK: ret i32 %xor1
}
+; Special case1:
+; (x | c1) ^ (x & c1) = x ^ c1
+define <2 x i32> @xor_special2_vec(<2 x i32> %x, <2 x i32> %y) {
+ %or = or <2 x i32> %x, <i32 123, i32 123>
+ %xor = xor <2 x i32> %or, %y
+ %and = and <2 x i32> %x, <i32 123, i32 123>
+ %xor1 = xor <2 x i32> %xor, %and
+ ret <2 x i32> %xor1
+; CHECK-LABEL: @xor_special2_vec(
+; CHECK: %xor = xor <2 x i32> %x, <i32 123, i32 123>
+; CHECK: %xor1 = xor <2 x i32> %xor, %y
+; CHECK: ret <2 x i32> %xor1
+}
+
; (x | c1) ^ (x | c1) => 0
define i32 @xor_special3(i32 %x) {
%or = or i32 %x, 123
@@ -103,6 +184,16 @@ define i32 @xor_special3(i32 %x) {
;CHECK: ret i32 0
}
+; (x | c1) ^ (x | c1) => 0
+define <2 x i32> @xor_special3_vec(<2 x i32> %x) {
+ %or = or <2 x i32> %x, <i32 123, i32 123>
+ %or1 = or <2 x i32> %x, <i32 123, i32 123>
+ %xor = xor <2 x i32> %or, %or1
+ ret <2 x i32> %xor
+;CHECK-LABEL: @xor_special3_vec(
+;CHECK: ret <2 x i32> zeroinitializer
+}
+
; (x & c1) ^ (x & c1) => 0
define i32 @xor_special4(i32 %x) {
%or = and i32 %x, 123
@@ -113,6 +204,16 @@ define i32 @xor_special4(i32 %x) {
;CHECK: ret i32 0
}
+; (x & c1) ^ (x & c1) => 0
+define <2 x i32> @xor_special4_vec(<2 x i32> %x) {
+ %or = and <2 x i32> %x, <i32 123, i32 123>
+ %or1 = and <2 x i32> <i32 123, i32 123>, %x
+ %xor = xor <2 x i32> %or, %or1
+ ret <2 x i32> %xor
+;CHECK-LABEL: @xor_special4_vec(
+;CHECK: ret <2 x i32> zeroinitializer
+}
+
; ==========================================================================
;
; Xor reassociation curtail code size
diff --git a/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll b/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll
new file mode 100644
index 000000000000..53e306270ac5
--- /dev/null
+++ b/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll
@@ -0,0 +1,195 @@
+; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -slp-vectorizer -dce < %s | FileCheck -check-prefixes=GCN,GFX9 %s
+; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -mcpu=fiji -slp-vectorizer -dce < %s | FileCheck -check-prefixes=GCN,VI %s
+
+; FIXME: Should still like to vectorize the memory operations for VI
+
+; Simple 3-pair chain with loads and stores
+; GCN-LABEL: @test1_as_3_3_3_v2f16(
+; GFX9: load <2 x half>, <2 x half> addrspace(3)*
+; GFX9: load <2 x half>, <2 x half> addrspace(3)*
+; GFX9: fmul <2 x half>
+; GFX9: store <2 x half> %{{.*}}, <2 x half> addrspace(3)* %
+; GFX9: ret
+
+; VI: load half
+; VI: load half
+define amdgpu_kernel void @test1_as_3_3_3_v2f16(half addrspace(3)* %a, half addrspace(3)* %b, half addrspace(3)* %c) {
+ %i0 = load half, half addrspace(3)* %a, align 2
+ %i1 = load half, half addrspace(3)* %b, align 2
+ %mul = fmul half %i0, %i1
+ %arrayidx3 = getelementptr inbounds half, half addrspace(3)* %a, i64 1
+ %i3 = load half, half addrspace(3)* %arrayidx3, align 2
+ %arrayidx4 = getelementptr inbounds half, half addrspace(3)* %b, i64 1
+ %i4 = load half, half addrspace(3)* %arrayidx4, align 2
+ %mul5 = fmul half %i3, %i4
+ store half %mul, half addrspace(3)* %c, align 2
+ %arrayidx5 = getelementptr inbounds half, half addrspace(3)* %c, i64 1
+ store half %mul5, half addrspace(3)* %arrayidx5, align 2
+ ret void
+}
+
+; GCN-LABEL: @test1_as_3_0_0(
+; GFX9: load <2 x half>, <2 x half> addrspace(3)*
+; GFX9: load <2 x half>, <2 x half>*
+; GFX9: fmul <2 x half>
+; GFX9: store <2 x half> %{{.*}}, <2 x half>* %
+; GFX9: ret
+
+; VI: load half
+; VI: load half
+define amdgpu_kernel void @test1_as_3_0_0(half addrspace(3)* %a, half* %b, half* %c) {
+ %i0 = load half, half addrspace(3)* %a, align 2
+ %i1 = load half, half* %b, align 2
+ %mul = fmul half %i0, %i1
+ %arrayidx3 = getelementptr inbounds half, half addrspace(3)* %a, i64 1
+ %i3 = load half, half addrspace(3)* %arrayidx3, align 2
+ %arrayidx4 = getelementptr inbounds half, half* %b, i64 1
+ %i4 = load half, half* %arrayidx4, align 2
+ %mul5 = fmul half %i3, %i4
+ store half %mul, half* %c, align 2
+ %arrayidx5 = getelementptr inbounds half, half* %c, i64 1
+ store half %mul5, half* %arrayidx5, align 2
+ ret void
+}
+
+; GCN-LABEL: @test1_as_0_0_3_v2f16(
+; GFX9: load <2 x half>, <2 x half>*
+; GFX9: load <2 x half>, <2 x half>*
+; GFX9: fmul <2 x half>
+; GFX9: store <2 x half> %{{.*}}, <2 x half> addrspace(3)* %
+; GFX9: ret
+
+; VI: load half
+; VI: load half
+define amdgpu_kernel void @test1_as_0_0_3_v2f16(half* %a, half* %b, half addrspace(3)* %c) {
+ %i0 = load half, half* %a, align 2
+ %i1 = load half, half* %b, align 2
+ %mul = fmul half %i0, %i1
+ %arrayidx3 = getelementptr inbounds half, half* %a, i64 1
+ %i3 = load half, half* %arrayidx3, align 2
+ %arrayidx4 = getelementptr inbounds half, half* %b, i64 1
+ %i4 = load half, half* %arrayidx4, align 2
+ %mul5 = fmul half %i3, %i4
+ store half %mul, half addrspace(3)* %c, align 2
+ %arrayidx5 = getelementptr inbounds half, half addrspace(3)* %c, i64 1
+ store half %mul5, half addrspace(3)* %arrayidx5, align 2
+ ret void
+}
+
+; GCN-LABEL: @test1_fma_v2f16(
+; GFX9: load <2 x half>
+; GFX9: load <2 x half>
+; GFX9: load <2 x half>
+; GFX9: call <2 x half> @llvm.fma.v2f16(
+; GFX9: store <2 x half>
+define amdgpu_kernel void @test1_fma_v2f16(half addrspace(3)* %a, half addrspace(3)* %b, half addrspace(3)* %c, half addrspace(3)* %d) {
+ %i0 = load half, half addrspace(3)* %a, align 2
+ %i1 = load half, half addrspace(3)* %b, align 2
+ %i2 = load half, half addrspace(3)* %c, align 2
+ %fma0 = call half @llvm.fma.f16(half %i0, half %i1, half %i2)
+ %arrayidx3 = getelementptr inbounds half, half addrspace(3)* %a, i64 1
+ %i3 = load half, half addrspace(3)* %arrayidx3, align 2
+ %arrayidx4 = getelementptr inbounds half, half addrspace(3)* %b, i64 1
+ %i4 = load half, half addrspace(3)* %arrayidx4, align 2
+ %arrayidx5 = getelementptr inbounds half, half addrspace(3)* %c, i64 1
+ %i5 = load half, half addrspace(3)* %arrayidx5, align 2
+ %fma1 = call half @llvm.fma.f16(half %i3, half %i4, half %i5)
+ store half %fma0, half addrspace(3)* %d, align 2
+ %arrayidx6 = getelementptr inbounds half, half addrspace(3)* %d, i64 1
+ store half %fma1, half addrspace(3)* %arrayidx6, align 2
+ ret void
+}
+
+; GCN-LABEL: @mul_scalar_v2f16(
+; GFX9: load <2 x half>
+; GFX9: fmul <2 x half>
+; GFX9: store <2 x half>
+define amdgpu_kernel void @mul_scalar_v2f16(half addrspace(3)* %a, half %scalar, half addrspace(3)* %c) {
+ %i0 = load half, half addrspace(3)* %a, align 2
+ %mul = fmul half %i0, %scalar
+ %arrayidx3 = getelementptr inbounds half, half addrspace(3)* %a, i64 1
+ %i3 = load half, half addrspace(3)* %arrayidx3, align 2
+ %mul5 = fmul half %i3, %scalar
+ store half %mul, half addrspace(3)* %c, align 2
+ %arrayidx5 = getelementptr inbounds half, half addrspace(3)* %c, i64 1
+ store half %mul5, half addrspace(3)* %arrayidx5, align 2
+ ret void
+}
+
+; GCN-LABEL: @fabs_v2f16
+; GFX9: load <2 x half>
+; GFX9: call <2 x half> @llvm.fabs.v2f16(
+; GFX9: store <2 x half>
+define amdgpu_kernel void @fabs_v2f16(half addrspace(3)* %a, half addrspace(3)* %c) {
+ %i0 = load half, half addrspace(3)* %a, align 2
+ %fabs0 = call half @llvm.fabs.f16(half %i0)
+ %arrayidx3 = getelementptr inbounds half, half addrspace(3)* %a, i64 1
+ %i3 = load half, half addrspace(3)* %arrayidx3, align 2
+ %fabs1 = call half @llvm.fabs.f16(half %i3)
+ store half %fabs0, half addrspace(3)* %c, align 2
+ %arrayidx5 = getelementptr inbounds half, half addrspace(3)* %c, i64 1
+ store half %fabs1, half addrspace(3)* %arrayidx5, align 2
+ ret void
+}
+
+; GCN-LABEL: @test1_fabs_fma_v2f16(
+; GFX9: load <2 x half>
+; GFX9: call <2 x half> @llvm.fabs.v2f16(
+; GFX9: call <2 x half> @llvm.fma.v2f16(
+; GFX9: store <2 x half>
+define amdgpu_kernel void @test1_fabs_fma_v2f16(half addrspace(3)* %a, half addrspace(3)* %b, half addrspace(3)* %c, half addrspace(3)* %d) {
+ %i0 = load half, half addrspace(3)* %a, align 2
+ %i1 = load half, half addrspace(3)* %b, align 2
+ %i2 = load half, half addrspace(3)* %c, align 2
+ %i0.fabs = call half @llvm.fabs.f16(half %i0)
+
+ %fma0 = call half @llvm.fma.f16(half %i0.fabs, half %i1, half %i2)
+ %arrayidx3 = getelementptr inbounds half, half addrspace(3)* %a, i64 1
+ %i3 = load half, half addrspace(3)* %arrayidx3, align 2
+ %arrayidx4 = getelementptr inbounds half, half addrspace(3)* %b, i64 1
+ %i4 = load half, half addrspace(3)* %arrayidx4, align 2
+ %arrayidx5 = getelementptr inbounds half, half addrspace(3)* %c, i64 1
+ %i5 = load half, half addrspace(3)* %arrayidx5, align 2
+ %i3.fabs = call half @llvm.fabs.f16(half %i3)
+
+ %fma1 = call half @llvm.fma.f16(half %i3.fabs, half %i4, half %i5)
+ store half %fma0, half addrspace(3)* %d, align 2
+ %arrayidx6 = getelementptr inbounds half, half addrspace(3)* %d, i64 1
+ store half %fma1, half addrspace(3)* %arrayidx6, align 2
+ ret void
+}
+
+; FIXME: Should do vector load and extract component for fabs
+; GCN-LABEL: @test1_fabs_scalar_fma_v2f16(
+; GFX9: load half
+; GFX9: call half @llvm.fabs.f16(
+; GFX9: load <2 x half>
+; GFX9: load half
+; GFX9: load <2 x half>
+; GFX9: call <2 x half> @llvm.fma.v2f16(
+; GFX9: store <2 x half>
+define amdgpu_kernel void @test1_fabs_scalar_fma_v2f16(half addrspace(3)* %a, half addrspace(3)* %b, half addrspace(3)* %c, half addrspace(3)* %d) {
+ %i0 = load half, half addrspace(3)* %a, align 2
+ %i1 = load half, half addrspace(3)* %b, align 2
+ %i2 = load half, half addrspace(3)* %c, align 2
+ %i1.fabs = call half @llvm.fabs.f16(half %i1)
+
+ %fma0 = call half @llvm.fma.f16(half %i0, half %i1.fabs, half %i2)
+ %arrayidx3 = getelementptr inbounds half, half addrspace(3)* %a, i64 1
+ %i3 = load half, half addrspace(3)* %arrayidx3, align 2
+ %arrayidx4 = getelementptr inbounds half, half addrspace(3)* %b, i64 1
+ %i4 = load half, half addrspace(3)* %arrayidx4, align 2
+ %arrayidx5 = getelementptr inbounds half, half addrspace(3)* %c, i64 1
+ %i5 = load half, half addrspace(3)* %arrayidx5, align 2
+ %fma1 = call half @llvm.fma.f16(half %i3, half %i4, half %i5)
+ store half %fma0, half addrspace(3)* %d, align 2
+ %arrayidx6 = getelementptr inbounds half, half addrspace(3)* %d, i64 1
+ store half %fma1, half addrspace(3)* %arrayidx6, align 2
+ ret void
+}
+
+declare half @llvm.fabs.f16(half) #1
+declare half @llvm.fma.f16(half, half, half) #1
+
+attributes #0 = { nounwind }
+attributes #1 = { nounwind readnone }
diff --git a/test/Transforms/SLPVectorizer/AMDGPU/simplebb.ll b/test/Transforms/SLPVectorizer/AMDGPU/simplebb.ll
deleted file mode 100644
index 63c6d77954d8..000000000000
--- a/test/Transforms/SLPVectorizer/AMDGPU/simplebb.ll
+++ /dev/null
@@ -1,70 +0,0 @@
-; RUN: opt -S -march=r600 -mcpu=cayman -basicaa -slp-vectorizer -dce < %s | FileCheck %s
-; XFAIL: *
-;
-; FIXME: If this test expects to be vectorized, the TTI must indicate that the target
-; has vector registers of the expected width.
-; Currently, it says there are 8 vector registers that are 32-bits wide.
-
-target datalayout = "e-p:32:32:32-p3:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64"
-
-
-; Simple 3-pair chain with loads and stores
-define amdgpu_kernel void @test1_as_3_3_3(double addrspace(3)* %a, double addrspace(3)* %b, double addrspace(3)* %c) {
-; CHECK-LABEL: @test1_as_3_3_3(
-; CHECK: load <2 x double>, <2 x double> addrspace(3)*
-; CHECK: load <2 x double>, <2 x double> addrspace(3)*
-; CHECK: store <2 x double> %{{.*}}, <2 x double> addrspace(3)* %
-; CHECK: ret
- %i0 = load double, double addrspace(3)* %a, align 8
- %i1 = load double, double addrspace(3)* %b, align 8
- %mul = fmul double %i0, %i1
- %arrayidx3 = getelementptr inbounds double, double addrspace(3)* %a, i64 1
- %i3 = load double, double addrspace(3)* %arrayidx3, align 8
- %arrayidx4 = getelementptr inbounds double, double addrspace(3)* %b, i64 1
- %i4 = load double, double addrspace(3)* %arrayidx4, align 8
- %mul5 = fmul double %i3, %i4
- store double %mul, double addrspace(3)* %c, align 8
- %arrayidx5 = getelementptr inbounds double, double addrspace(3)* %c, i64 1
- store double %mul5, double addrspace(3)* %arrayidx5, align 8
- ret void
-}
-
-define amdgpu_kernel void @test1_as_3_0_0(double addrspace(3)* %a, double* %b, double* %c) {
-; CHECK-LABEL: @test1_as_3_0_0(
-; CHECK: load <2 x double>, <2 x double> addrspace(3)*
-; CHECK: load <2 x double>, <2 x double>*
-; CHECK: store <2 x double> %{{.*}}, <2 x double>* %
-; CHECK: ret
- %i0 = load double, double addrspace(3)* %a, align 8
- %i1 = load double, double* %b, align 8
- %mul = fmul double %i0, %i1
- %arrayidx3 = getelementptr inbounds double, double addrspace(3)* %a, i64 1
- %i3 = load double, double addrspace(3)* %arrayidx3, align 8
- %arrayidx4 = getelementptr inbounds double, double* %b, i64 1
- %i4 = load double, double* %arrayidx4, align 8
- %mul5 = fmul double %i3, %i4
- store double %mul, double* %c, align 8
- %arrayidx5 = getelementptr inbounds double, double* %c, i64 1
- store double %mul5, double* %arrayidx5, align 8
- ret void
-}
-
-define amdgpu_kernel void @test1_as_0_0_3(double* %a, double* %b, double addrspace(3)* %c) {
-; CHECK-LABEL: @test1_as_0_0_3(
-; CHECK: load <2 x double>, <2 x double>*
-; CHECK: load <2 x double>, <2 x double>*
-; CHECK: store <2 x double> %{{.*}}, <2 x double> addrspace(3)* %
-; CHECK: ret
- %i0 = load double, double* %a, align 8
- %i1 = load double, double* %b, align 8
- %mul = fmul double %i0, %i1
- %arrayidx3 = getelementptr inbounds double, double* %a, i64 1
- %i3 = load double, double* %arrayidx3, align 8
- %arrayidx4 = getelementptr inbounds double, double* %b, i64 1
- %i4 = load double, double* %arrayidx4, align 8
- %mul5 = fmul double %i3, %i4
- store double %mul, double addrspace(3)* %c, align 8
- %arrayidx5 = getelementptr inbounds double, double addrspace(3)* %c, i64 1
- store double %mul5, double addrspace(3)* %arrayidx5, align 8
- ret void
-}
diff --git a/test/Transforms/SROA/non-integral-pointers.ll b/test/Transforms/SROA/non-integral-pointers.ll
new file mode 100644
index 000000000000..63286309f6f3
--- /dev/null
+++ b/test/Transforms/SROA/non-integral-pointers.ll
@@ -0,0 +1,46 @@
+; RUN: opt -sroa -S < %s | FileCheck %s
+
+; This test checks that SROA does not introduce ptrtoint and inttoptr
+; casts from and to non-integral pointers. The "ni:4" bit in the
+; datalayout states that pointers of address space 4 are to be
+; considered "non-integral".
+
+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 @f0(i1 %alwaysFalse, i64 %val) {
+; CHECK-LABEL: @f0(
+; CHECK-NOT: inttoptr
+; CHECK-NOT: ptrtoint
+entry:
+ %loc = alloca i64
+ store i64 %val, i64* %loc
+ br i1 %alwaysFalse, label %neverTaken, label %alwaysTaken
+
+neverTaken:
+ %loc.bc = bitcast i64* %loc to i8 addrspace(4)**
+ %ptr = load i8 addrspace(4)*, i8 addrspace(4)** %loc.bc
+ store i8 5, i8 addrspace(4)* %ptr
+ ret void
+
+alwaysTaken:
+ ret void
+}
+
+define i64 @f1(i1 %alwaysFalse, i8 addrspace(4)* %val) {
+; CHECK-LABEL: @f1(
+; CHECK-NOT: inttoptr
+; CHECK-NOT: ptrtoint
+entry:
+ %loc = alloca i8 addrspace(4)*
+ store i8 addrspace(4)* %val, i8 addrspace(4)** %loc
+ br i1 %alwaysFalse, label %neverTaken, label %alwaysTaken
+
+neverTaken:
+ %loc.bc = bitcast i8 addrspace(4)** %loc to i64*
+ %int = load i64, i64* %loc.bc
+ ret i64 %int
+
+alwaysTaken:
+ ret i64 42
+}
diff --git a/test/Transforms/SampleProfile/Inputs/einline.prof b/test/Transforms/SampleProfile/Inputs/einline.prof
index 90f41d21ca3b..df0275b50051 100644
--- a/test/Transforms/SampleProfile/Inputs/einline.prof
+++ b/test/Transforms/SampleProfile/Inputs/einline.prof
@@ -1,3 +1,6 @@
_Z3foov:200:100
1: _Z3barv:0
3: _Z3barv:100
+recursive:200:100
+ 1: recursive:100
+ 2: recursive:100
diff --git a/test/Transforms/SampleProfile/early-inline.ll b/test/Transforms/SampleProfile/early-inline.ll
index 51e7d243c187..a240635b2b8d 100644
--- a/test/Transforms/SampleProfile/early-inline.ll
+++ b/test/Transforms/SampleProfile/early-inline.ll
@@ -32,6 +32,19 @@ define internal void @_ZL3barv() !dbg !12 {
ret void
}
+; CHECK-LABEL: @recursive
+define void @recursive() !dbg !13 {
+; Recursive calls should not be early-inlined.
+; CHECK-NOT: call void @recursive
+; CHECK: call void @recursive
+; CHECK: call void @recursive
+; CHECK-NOT: call void @recursive
+; CHECK: ret
+ call void @recursive(), !dbg !14
+ call void @recursive(), !dbg !15
+ ret void
+}
+
declare i32 @__gxx_personality_v0(...)
!llvm.dbg.cu = !{!0}
@@ -46,3 +59,6 @@ declare i32 @__gxx_personality_v0(...)
!10 = !DILocation(line: 8, column: 5, scope: !11)
!11 = distinct !DILexicalBlock(scope: !6, file: !1, line: 7, column: 7)
!12 = distinct !DISubprogram(linkageName: "_ZL3barv", scope: !1, file: !1, line: 20, scopeLine: 20, unit: !0)
+!13 = distinct !DISubprogram(linkageName: "recursive", scope: !1, file: !1, line: 20, scopeLine: 20, unit: !0)
+!14 = !DILocation(line: 21, column: 3, scope: !13)
+!15 = !DILocation(line: 22, column: 3, scope: !13)
diff --git a/test/Transforms/TailCallElim/reorder_load.ll b/test/Transforms/TailCallElim/reorder_load.ll
index 2f9b692d0991..78621b105f5b 100644
--- a/test/Transforms/TailCallElim/reorder_load.ll
+++ b/test/Transforms/TailCallElim/reorder_load.ll
@@ -7,6 +7,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
; then eliminate the tail recursion.
+
@global = external global i32 ; <i32*> [#uses=1]
@extern_weak_global = extern_weak global i32 ; <i32*> [#uses=1]
@@ -145,3 +146,29 @@ else: ; preds = %entry
%tmp10 = add i32 %tmp9, %tmp8 ; <i32> [#uses=1]
ret i32 %tmp10
}
+
+; This load can be moved above the call because the function call does not write to the memory the load
+; is accessing and the load is safe to speculate.
+define fastcc i32 @raise_load_6(i32* %a_arg, i32 %a_len_arg, i32 %start_arg) nounwind {
+; CHECK-LABEL: @raise_load_6(
+; CHECK-NOT: call
+; CHECK: load i32, i32*
+; CHECK-NOT: call
+; CHECK: }
+entry:
+ %s = alloca i32
+ store i32 4, i32* %s
+ %tmp2 = icmp sge i32 %start_arg, %a_len_arg ; <i1> [#uses=1]
+ br i1 %tmp2, label %if, label %else
+
+if: ; preds = %entry
+ store i32 1, i32* %a_arg
+ ret i32 0
+
+else: ; preds = %entry
+ %tmp7 = add i32 %start_arg, 1 ; <i32> [#uses=1]
+ %tmp8 = call fastcc i32 @raise_load_6(i32* %a_arg, i32 %a_len_arg, i32 %tmp7) ; <i32> [#uses=1]
+ %tmp9 = load i32, i32* %s ; <i32> [#uses=1]
+ %tmp10 = add i32 %tmp9, %tmp8 ; <i32> [#uses=1]
+ ret i32 %tmp10
+}
diff --git a/test/tools/llvm-dwarfdump/X86/apple_names_verify_buckets.s b/test/tools/llvm-dwarfdump/X86/apple_names_verify_buckets.s
index 903153c79a48..7b61a946281b 100644
--- a/test/tools/llvm-dwarfdump/X86/apple_names_verify_buckets.s
+++ b/test/tools/llvm-dwarfdump/X86/apple_names_verify_buckets.s
@@ -3,7 +3,7 @@
# RUN: | FileCheck %s
# CHECK: Verifying .apple_names...
-# CHECK-NEXT: error:
+# CHECK-NEXT: error: Bucket[0] has invalid hash index: [-2]
# This test is meant to verify that the -verify option
# in llvm-dwarfdump, correctly identifies
diff --git a/test/tools/llvm-dwarfdump/X86/no_apple_names_verify_buckets.s b/test/tools/llvm-dwarfdump/X86/no_apple_names_verify_buckets.s
new file mode 100644
index 000000000000..472ff71794c6
--- /dev/null
+++ b/test/tools/llvm-dwarfdump/X86/no_apple_names_verify_buckets.s
@@ -0,0 +1,174 @@
+# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
+# RUN: | not llvm-dwarfdump -verify - \
+# RUN: | FileCheck %s
+
+# CHECK-NOT: Verifying .apple_names...
+
+# This test is meant to verify that the -verify option
+# in llvm-dwarfdump doesn't produce any .apple_names related
+# output when there's no such section int he object.
+# The test was manually modified to exclude the
+# .apple_names section from the apple_names_verify_buckets.s
+# test file in the same directory.
+
+ .section __TEXT,__text,regular,pure_instructions
+ .file 1 "basic.c"
+ .comm _i,4,2 ## @i
+ .section __DWARF,__debug_str,regular,debug
+Linfo_string:
+ .asciz "basic.c" ## string offset=42
+ .asciz "i" ## string offset=84
+ .asciz "int" ## string offset=86
+ .section __DWARF,__debug_loc,regular,debug
+Lsection_debug_loc:
+ .section __DWARF,__debug_abbrev,regular,debug
+Lsection_abbrev:
+ .byte 1 ## Abbreviation Code
+ .byte 17 ## DW_TAG_compile_unit
+ .byte 1 ## DW_CHILDREN_yes
+ .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 0 ## EOM(1)
+ .byte 0 ## EOM(2)
+ .byte 2 ## Abbreviation Code
+ .byte 52 ## DW_TAG_variable
+ .byte 0 ## DW_CHILDREN_no
+ .byte 3 ## DW_AT_name
+ .byte 14 ## DW_FORM_strp
+ .byte 73 ## DW_AT_type
+ .byte 19 ## DW_FORM_ref4
+ .byte 63 ## DW_AT_external
+ .byte 25 ## DW_FORM_flag_present
+ .byte 58 ## DW_AT_decl_file
+ .byte 11 ## DW_FORM_data1
+ .byte 59 ## DW_AT_decl_line
+ .byte 11 ## DW_FORM_data1
+ .byte 2 ## DW_AT_location
+ .byte 24 ## DW_FORM_exprloc
+ .byte 0 ## EOM(1)
+ .byte 0 ## EOM(2)
+ .byte 3 ## Abbreviation Code
+ .byte 36 ## DW_TAG_base_type
+ .byte 0 ## DW_CHILDREN_no
+ .byte 3 ## DW_AT_name
+ .byte 14 ## DW_FORM_strp
+ .byte 62 ## DW_AT_encoding
+ .byte 11 ## DW_FORM_data1
+ .byte 11 ## DW_AT_byte_size
+ .byte 11 ## DW_FORM_data1
+ .byte 0 ## EOM(1)
+ .byte 0 ## EOM(2)
+ .byte 0 ## EOM(3)
+ .section __DWARF,__debug_info,regular,debug
+Lsection_info:
+Lcu_begin0:
+ .long 55 ## Length of Unit
+ .short 4 ## DWARF version number
+Lset0 = Lsection_abbrev-Lsection_abbrev ## Offset Into Abbrev. Section
+ .long Lset0
+ .byte 8 ## Address Size (in bytes)
+ .byte 1 ## Abbrev [1] 0xb:0x30 DW_TAG_compile_unit
+ .long 0 ## DW_AT_producer
+ .short 12 ## DW_AT_language
+ .long 42 ## DW_AT_name
+Lset1 = Lline_table_start0-Lsection_line ## DW_AT_stmt_list
+ .long Lset1
+ .long 50 ## DW_AT_comp_dir
+ .byte 2 ## Abbrev [2] 0x1e:0x15 DW_TAG_variable
+ .long 84 ## DW_AT_name
+ .long 51 ## DW_AT_type
+ ## DW_AT_external
+ .byte 1 ## DW_AT_decl_file
+ .byte 1 ## DW_AT_decl_line
+ .byte 9 ## DW_AT_location
+ .byte 3
+ .quad _i
+ .byte 3 ## Abbrev [3] 0x33:0x7 DW_TAG_base_type
+ .long 86 ## DW_AT_name
+ .byte 5 ## DW_AT_encoding
+ .byte 4 ## DW_AT_byte_size
+ .byte 0 ## End Of Children Mark
+ .section __DWARF,__debug_ranges,regular,debug
+Ldebug_range:
+ .section __DWARF,__debug_macinfo,regular,debug
+Ldebug_macinfo:
+Lcu_macro_begin0:
+ .byte 0 ## End Of Macro List Mark
+ .section __DWARF,__apple_objc,regular,debug
+Lobjc_begin:
+ .long 1212240712 ## Header Magic
+ .short 1 ## Header Version
+ .short 0 ## Header Hash Function
+ .long 1 ## Header Bucket Count
+ .long 0 ## Header Hash Count
+ .long 12 ## Header Data Length
+ .long 0 ## HeaderData Die Offset Base
+ .long 1 ## HeaderData Atom Count
+ .short 1 ## DW_ATOM_die_offset
+ .short 6 ## DW_FORM_data4
+ .long -1 ## Bucket 0
+ .section __DWARF,__apple_namespac,regular,debug
+Lnamespac_begin:
+ .long 1212240712 ## Header Magic
+ .short 1 ## Header Version
+ .short 0 ## Header Hash Function
+ .long 1 ## Header Bucket Count
+ .long 0 ## Header Hash Count
+ .long 12 ## Header Data Length
+ .long 0 ## HeaderData Die Offset Base
+ .long 1 ## HeaderData Atom Count
+ .short 1 ## DW_ATOM_die_offset
+ .short 6 ## DW_FORM_data4
+ .long -1 ## Bucket 0
+ .section __DWARF,__apple_types,regular,debug
+Ltypes_begin:
+ .long 1212240712 ## Header Magic
+ .short 1 ## Header Version
+ .short 0 ## Header Hash Function
+ .long 1 ## Header Bucket Count
+ .long 1 ## Header Hash Count
+ .long 20 ## Header Data Length
+ .long 0 ## HeaderData Die Offset Base
+ .long 3 ## HeaderData Atom Count
+ .short 1 ## DW_ATOM_die_offset
+ .short 6 ## DW_FORM_data4
+ .short 3 ## DW_ATOM_die_tag
+ .short 5 ## DW_FORM_data2
+ .short 4 ## DW_ATOM_type_flags
+ .short 11 ## DW_FORM_data1
+ .long 0 ## Bucket 0
+ .long 193495088 ## Hash in Bucket 0
+ .long Ltypes0-Ltypes_begin ## Offset in Bucket 0
+Ltypes0:
+ .long 86 ## int
+ .long 1 ## Num DIEs
+ .long 51
+ .short 36
+ .byte 0
+ .long 0
+ .section __DWARF,__apple_exttypes,regular,debug
+Lexttypes_begin:
+ .long 1212240712 ## Header Magic
+ .short 1 ## Header Version
+ .short 0 ## Header Hash Function
+ .long 1 ## Header Bucket Count
+ .long 0 ## Header Hash Count
+ .long 12 ## Header Data Length
+ .long 0 ## HeaderData Die Offset Base
+ .long 1 ## HeaderData Atom Count
+ .short 7 ## DW_ATOM_ext_types
+ .short 6 ## DW_FORM_data4
+ .long -1 ## Bucket 0
+
+.subsections_via_symbols
+ .section __DWARF,__debug_line,regular,debug
+Lsection_line:
+Lline_table_start0:
diff --git a/test/tools/llvm-nm/X86/Inputs/Strip-ST.dylib.macho-x86_64 b/test/tools/llvm-nm/X86/Inputs/Strip-ST.dylib.macho-x86_64
new file mode 100755
index 000000000000..65eb0ece374f
--- /dev/null
+++ b/test/tools/llvm-nm/X86/Inputs/Strip-ST.dylib.macho-x86_64
Binary files differ
diff --git a/test/tools/llvm-nm/X86/dyldinfo.test b/test/tools/llvm-nm/X86/dyldinfo.test
new file mode 100644
index 000000000000..3a632c57737e
--- /dev/null
+++ b/test/tools/llvm-nm/X86/dyldinfo.test
@@ -0,0 +1,18 @@
+# RUN: llvm-nm %p/Inputs/Strip-ST.dylib.macho-x86_64 | FileCheck --check-prefix=DEFAULT %s
+# RUN: llvm-nm -no-dyldinfo %p/Inputs/Strip-ST.dylib.macho-x86_64 | FileCheck --check-prefix=NO-DYLDINFO %s
+# RUN: llvm-nm -dyldinfo-only %p/Inputs/Strip-ST.dylib.macho-x86_64 | FileCheck --check-prefix=DYLDINFO-ONLY %s
+
+# DEFAULT: 0000000000000f90 T __Bob_is_slow
+# DEFAULT: 0000000000001008 D __T0ims_data
+# DEFAULT: 0000000000000f80 T __T0om_is_not_swift
+# DEFAULT: U dyld_stub_binder
+
+# NO-DYLDINFO: 0000000000000f90 T __Bob_is_slow
+# NO-DYLDINFO-NOT: __T0ims_data
+# NO-DYLDINFO-NOT: __T0om_is_not_swift
+# NO-DYLDINFO: U dyld_stub_binder
+
+# DYLDINFO-ONLY: 0000000000000f90 T __Bob_is_slow
+# DYLDINFO-ONLY: 0000000000001008 D __T0ims_data
+# DYLDINFO-ONLY: 0000000000000f80 T __T0om_is_not_swift
+# DYLDINFO-ONLY-NOT: U dyld_stub_binder
diff --git a/test/tools/llvm-nm/wasm/exports.yaml b/test/tools/llvm-nm/wasm/exports.yaml
index f219c5b3ce1d..c8cb2db0db73 100644
--- a/test/tools/llvm-nm/wasm/exports.yaml
+++ b/test/tools/llvm-nm/wasm/exports.yaml
@@ -1,5 +1,8 @@
# RUN: yaml2obj < %s | llvm-nm - | FileCheck %s
+# That wasm exports of functions and globals are displayed as global data and
+# code symbols.
+
--- !WASM
FileHeader:
Version: 0x00000001
@@ -13,10 +16,10 @@ Sections:
Exports:
- Name: foo
Kind: FUNCTION
- Index: 0x00000000
+ Index: 0x00000004
- Name: bar
Kind: GLOBAL
- Index: 0x00000000
+ Index: 0x00000002
-# CHECK: 00000001 D bar
-# CHECK: 00000000 T foo
+# CHECK: 00000002 D bar
+# CHECK: 00000004 T foo
diff --git a/test/tools/llvm-nm/wasm/weak-symbols.yaml b/test/tools/llvm-nm/wasm/weak-symbols.yaml
new file mode 100644
index 000000000000..682a874ea590
--- /dev/null
+++ b/test/tools/llvm-nm/wasm/weak-symbols.yaml
@@ -0,0 +1,49 @@
+# RUN: yaml2obj < %s | llvm-nm - | FileCheck %s
+
+# That wasm exports of functions and globals are displayed as global data and
+# code symbols.
+
+--- !WASM
+FileHeader:
+ Version: 0x00000001
+Sections:
+ - Type: TYPE
+ Signatures:
+ - ReturnType: I32
+ ParamTypes:
+ - I32
+ - Type: IMPORT
+ Imports:
+ - Module: env
+ Field: weak_import_func
+ Kind: FUNCTION
+ SigIndex: 0
+ - Module: env
+ Field: weak_import_data
+ Kind: GLOBAL
+ GlobalType: I32
+ GlobalMutable: false
+ - Type: EXPORT
+ Exports:
+ - Name: weak_global_func
+ Kind: FUNCTION
+ Index: 0x00000004
+ - Name: weak_global_data
+ Kind: GLOBAL
+ Index: 0x00000002
+ - Type: CUSTOM
+ Name: linking
+ SymbolInfo:
+ - Name: weak_global_func
+ Flags: 1
+ - Name: weak_global_data
+ Flags: 1
+ - Name: weak_import_func
+ Flags: 1
+ - Name: weak_import_data
+ Flags: 1
+
+# CHECK: 00000002 W weak_global_data
+# CHECK: 00000004 W weak_global_func
+# CHECK: w weak_import_data
+# CHECK: w weak_import_func
diff --git a/test/tools/llvm-objdump/AArch64/Inputs/kextbundle.macho-aarch64 b/test/tools/llvm-objdump/AArch64/Inputs/kextbundle.macho-aarch64
new file mode 100755
index 000000000000..4a21c2e38408
--- /dev/null
+++ b/test/tools/llvm-objdump/AArch64/Inputs/kextbundle.macho-aarch64
Binary files differ
diff --git a/test/tools/llvm-objdump/AArch64/macho-kextbundle.test b/test/tools/llvm-objdump/AArch64/macho-kextbundle.test
new file mode 100644
index 000000000000..89194554e9cb
--- /dev/null
+++ b/test/tools/llvm-objdump/AArch64/macho-kextbundle.test
@@ -0,0 +1,9 @@
+RUN: llvm-objdump -d -m -no-show-raw-insn %p/Inputs/kextbundle.macho-aarch64 | FileCheck %s
+
+CHECK: (__TEXT_EXEC,__text) section
+CHECK: _foo:
+CHECK: 4000: stp x29, x30, [sp, #-16]!
+CHECK: 4004: mov x29, sp
+CHECK: 4008: bl _bar.stub
+CHECK: 400c: ldp x29, x30, [sp], #16
+CHECK: 4010: ret
diff --git a/test/tools/llvm-objdump/X86/Inputs/kextbundle.macho-x86_64 b/test/tools/llvm-objdump/X86/Inputs/kextbundle.macho-x86_64
new file mode 100755
index 000000000000..ea9938b8631d
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/Inputs/kextbundle.macho-x86_64
Binary files differ
diff --git a/test/tools/llvm-objdump/X86/macho-disassembly-kextbundle.test b/test/tools/llvm-objdump/X86/macho-disassembly-kextbundle.test
new file mode 100644
index 000000000000..b6c53a22f0c2
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/macho-disassembly-kextbundle.test
@@ -0,0 +1,9 @@
+// RUN: llvm-objdump -d -m -no-show-raw-insn -full-leading-addr -print-imm-hex %p/Inputs/kextbundle.macho-x86_64 | FileCheck %s
+
+CHECK: (__TEXT,__text) section
+CHECK: _foo:
+CHECK: 0000000000000fb0 pushq %rbp
+CHECK: 0000000000000fb1 movq %rsp, %rbp
+CHECK: 0000000000000fb4 callq _bar
+CHECK: 0000000000000fb9 popq %rbp
+CHECK: 0000000000000fba retq
diff --git a/test/tools/llvm-objdump/X86/macho-info-plist.test b/test/tools/llvm-objdump/X86/macho-info-plist.test
index bee1952ce9b8..7550af905b7e 100644
--- a/test/tools/llvm-objdump/X86/macho-info-plist.test
+++ b/test/tools/llvm-objdump/X86/macho-info-plist.test
@@ -1,7 +1,11 @@
# RUN: llvm-mc < %s -triple x86_64-apple-darwin -filetype=obj | llvm-objdump -m -info-plist - | FileCheck %s
+# RUN: llvm-mc < %s -triple x86_64-apple-darwin -filetype=obj | llvm-objdump -m -info-plist -no-leading-headers - | FileCheck --check-prefix=NOHEADER %s
.section __TEXT, __info_plist
.asciz "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
# CHECK: Contents of (__TEXT,__info_plist) section
# CHECK: <?xml version="1.0" encoding="UTF-8"?>
+
+# NOHEADER-NOT: Contents of (__TEXT,__info_plist) section
+# NOHEADER: <?xml version="1.0" encoding="UTF-8"?>
diff --git a/test/tools/llvm-objdump/X86/macho-objc-meta-data.test b/test/tools/llvm-objdump/X86/macho-objc-meta-data.test
index 0bdb39cdff84..0c38a649c5ae 100644
--- a/test/tools/llvm-objdump/X86/macho-objc-meta-data.test
+++ b/test/tools/llvm-objdump/X86/macho-objc-meta-data.test
@@ -1042,7 +1042,7 @@ PROTOCOL: class_methods 0x00000000 (not in an __OBJC section)
OBJC2_64BIT_DYLIB: Contents of (__DATA_CONST,__objc_classlist) section
OBJC2_64BIT_DYLIB: 000000000000c038 0x8030 _OBJC_CLASS_$_Test
OBJC2_64BIT_DYLIB: isa 0x8008 _OBJC_METACLASS_$_Test
-OBJC2_64BIT_DYLIB: superclass 0x0
+OBJC2_64BIT_DYLIB: superclass 0x0 _OBJC_CLASS_$_NSObject
OBJC2_64BIT_DYLIB: cache 0x0
OBJC2_64BIT_DYLIB: vtable 0x0
OBJC2_64BIT_DYLIB: data 0xc120 (struct class_ro_t *)
@@ -1081,7 +1081,7 @@ OBJC2_64BIT_DYLIB: name 0x4f42 testProp
OBJC2_64BIT_DYLIB: attributes 0x4f4b TQ,V_testProp
OBJC2_64BIT_DYLIB: Meta Class
OBJC2_64BIT_DYLIB: isa 0x0
-OBJC2_64BIT_DYLIB: superclass 0x0
+OBJC2_64BIT_DYLIB: superclass 0x0 _OBJC_METACLASS_$_NSObject
OBJC2_64BIT_DYLIB: cache 0x0
OBJC2_64BIT_DYLIB: vtable 0x0
OBJC2_64BIT_DYLIB: data 0xc048 (struct class_ro_t *)
diff --git a/test/tools/llvm-objdump/macho-exports-trie.test b/test/tools/llvm-objdump/macho-exports-trie.test
index 473c7cbfa4b2..3b081f5f975f 100644
--- a/test/tools/llvm-objdump/macho-exports-trie.test
+++ b/test/tools/llvm-objdump/macho-exports-trie.test
@@ -1,5 +1,7 @@
# RUN: llvm-objdump -macho -exports-trie -arch x86_64 \
# RUN: %p/Inputs/exports-trie.macho-x86_64 2>/dev/null | FileCheck %s
+# RUN: llvm-objdump -macho -exports-trie -arch x86_64 \
+# RUN: %p/Inputs/weak-bind.macho-x86_64 2>/dev/null | FileCheck --check-prefix=EXE %s
# CHECK:[re-export] _malloc (from libSystem)
@@ -9,3 +11,11 @@
# CHECK:0x12345678 _myAbs [absolute]
# CHECK:0x00000F60 _foo
+
+# EXE: 0x100000000 __mh_execute_header
+# EXE: 0x100000ED0 __Znwm
+# EXE: 0x100000F30 __ZdlPv
+# EXE: 0x100000F40 _main
+# EXE: 0x100001018 _p1
+# EXE: 0x100001020 _p2
+# EXE: 0x100001028 _p3
diff --git a/test/tools/llvm-readobj/Inputs/coff-load-config-data-end.exe b/test/tools/llvm-readobj/Inputs/coff-load-config-data-end.exe
new file mode 100644
index 000000000000..9ec694262985
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/coff-load-config-data-end.exe
Binary files differ
diff --git a/test/tools/llvm-readobj/Inputs/coff-load-config-x64.dll b/test/tools/llvm-readobj/Inputs/coff-load-config-x64.dll
new file mode 100644
index 000000000000..26101f93c41f
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/coff-load-config-x64.dll
Binary files differ
diff --git a/test/tools/llvm-readobj/Inputs/coff-load-config-x86.dll b/test/tools/llvm-readobj/Inputs/coff-load-config-x86.dll
new file mode 100644
index 000000000000..c334c7be721c
--- /dev/null
+++ b/test/tools/llvm-readobj/Inputs/coff-load-config-x86.dll
Binary files differ
diff --git a/test/tools/llvm-readobj/coff-load-config.test b/test/tools/llvm-readobj/coff-load-config.test
new file mode 100644
index 000000000000..1eb67beadde6
--- /dev/null
+++ b/test/tools/llvm-readobj/coff-load-config.test
@@ -0,0 +1,93 @@
+RUN: llvm-readobj -coff-load-config %S/Inputs/coff-load-config-x86.dll | FileCheck %s --check-prefix=X86
+RUN: llvm-readobj -coff-load-config %S/Inputs/coff-load-config-x64.dll | FileCheck %s --check-prefix=X64
+
+RUN: llvm-readobj -coff-load-config %S/Inputs/coff-load-config-data-end.exe | FileCheck %s --check-prefix=DATAEND
+
+X86: LoadConfig [
+X86: Size: 0x5C
+X86: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
+X86: MajorVersion: 0x0
+X86: MinorVersion: 0x0
+X86: GlobalFlagsClear: 0x0
+X86: GlobalFlagsSet: 0x0
+X86: CriticalSectionDefaultTimeout: 0x0
+X86: DeCommitFreeBlockThreshold: 0x0
+X86: DeCommitTotalFreeThreshold: 0x0
+X86: LockPrefixTable: 0x0
+X86: MaximumAllocationSize: 0x0
+X86: VirtualMemoryThreshold: 0x0
+X86: ProcessHeapFlags: 0x0
+X86: ProcessAffinityMask: 0x0
+X86: CSDVersion: 0x0
+X86: DependentLoadFlags: 0x0
+X86: EditList: 0x0
+X86: SecurityCookie: 0x10003004
+X86: SEHandlerTable: 0x100021C0
+X86: SEHandlerCount: 2
+X86: GuardCFCheckFunction: 0x1000207C
+X86: GuardCFCheckDispatch: 0x0
+X86: GuardCFFunctionTable: 0x100020A4
+X86: GuardCFFunctionCount: 11
+X86: GuardFlags: 0x13500
+X86: ]
+X86: SEHTable [
+X86: 0x10001BE0
+X86: 0x10001E30
+X86: ]
+X86: GuardFidTable [
+X86: 0x10001000
+X86: 0x10001040
+X86: 0x10001060
+X86: 0x10001100
+X86: 0x10001120
+X86: 0x10001150
+X86: 0x10001460
+X86: 0x100019B0
+X86: 0x10001B40
+X86: 0x10001BE0
+X86: 0x10001DC0
+X86: ]
+
+X64: LoadConfig [
+X64: Size: 0x94
+X64: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
+X64: MajorVersion: 0x0
+X64: MinorVersion: 0x0
+X64: GlobalFlagsClear: 0x0
+X64: GlobalFlagsSet: 0x0
+X64: CriticalSectionDefaultTimeout: 0x0
+X64: DeCommitFreeBlockThreshold: 0x0
+X64: DeCommitTotalFreeThreshold: 0x0
+X64: LockPrefixTable: 0x0
+X64: MaximumAllocationSize: 0x0
+X64: VirtualMemoryThreshold: 0x0
+X64: ProcessHeapFlags: 0x0
+X64: ProcessAffinityMask: 0x0
+X64: CSDVersion: 0x0
+X64: DependentLoadFlags: 0x0
+X64: EditList: 0x0
+X64: SecurityCookie: 0x180003018
+X64: SEHandlerTable: 0
+X64: SEHandlerCount: 0
+X64: GuardCFCheckFunction: 0x180002100
+X64: GuardCFCheckDispatch: 0x180002108
+X64: GuardCFFunctionTable: 0x180002158
+X64: GuardCFFunctionCount: 9
+X64: GuardFlags: 0x13500
+X64: ]
+X64-NOT: SEHTable
+X64: GuardFidTable [
+X64: 0x180001000
+X64: 0x180001050
+X64: 0x180001070
+X64: 0x1800010E0
+X64: 0x180001110
+X64: 0x180001460
+X64: 0x180001970
+X64: 0x180001B50
+X64: 0x180001D90
+X64: ]
+
+DATAEND: SEHTable [
+DATAEND-NEXT: 0x402006
+DATAEND-NEXT: ]
diff --git a/test/tools/obj2yaml/invalid_input_file.test b/test/tools/obj2yaml/invalid_input_file.test
new file mode 100644
index 000000000000..573e753c8a87
--- /dev/null
+++ b/test/tools/obj2yaml/invalid_input_file.test
@@ -0,0 +1,4 @@
+# RUN: not obj2yaml %p/path/does/not/exist 2>&1 | FileCheck %s
+
+# Don't check the OS-dependent message "No such file or directory".
+# CHECK: Error reading file: {{.*}}/path/does/not/exist: {{.*}}
diff --git a/tools/bugpoint/CMakeLists.txt b/tools/bugpoint/CMakeLists.txt
index 7598657427e8..8975e6763434 100644
--- a/tools/bugpoint/CMakeLists.txt
+++ b/tools/bugpoint/CMakeLists.txt
@@ -1,4 +1,5 @@
set(LLVM_LINK_COMPONENTS
+ ${LLVM_TARGETS_TO_BUILD}
Analysis
BitWriter
CodeGen
diff --git a/tools/bugpoint/LLVMBuild.txt b/tools/bugpoint/LLVMBuild.txt
index 37a605870548..68ecb8c8f4f9 100644
--- a/tools/bugpoint/LLVMBuild.txt
+++ b/tools/bugpoint/LLVMBuild.txt
@@ -30,3 +30,4 @@ required_libraries =
Linker
ObjCARC
Scalar
+ all-targets
diff --git a/tools/bugpoint/bugpoint.cpp b/tools/bugpoint/bugpoint.cpp
index 85c1ddd8277d..4ddea8dbec19 100644
--- a/tools/bugpoint/bugpoint.cpp
+++ b/tools/bugpoint/bugpoint.cpp
@@ -26,6 +26,7 @@
#include "llvm/Support/PrettyStackTrace.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Signals.h"
+#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/Valgrind.h"
#include "llvm/Transforms/IPO/AlwaysInliner.h"
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
@@ -138,6 +139,13 @@ int main(int argc, char **argv) {
polly::initializePollyPasses(Registry);
#endif
+ if (std::getenv("bar") == (char*) -1) {
+ InitializeAllTargets();
+ InitializeAllTargetMCs();
+ InitializeAllAsmPrinters();
+ InitializeAllAsmParsers();
+ }
+
cl::ParseCommandLineOptions(argc, argv,
"LLVM automatic testcase reducer. See\nhttp://"
"llvm.org/cmds/bugpoint.html"
diff --git a/tools/dsymutil/DwarfLinker.cpp b/tools/dsymutil/DwarfLinker.cpp
index 88de2706544e..ba5c63846b50 100644
--- a/tools/dsymutil/DwarfLinker.cpp
+++ b/tools/dsymutil/DwarfLinker.cpp
@@ -2063,10 +2063,12 @@ getAttributeOffsets(const DWARFAbbreviationDeclaration *Abbrev, unsigned Idx,
DataExtractor Data = Unit.getDebugInfoExtractor();
for (unsigned i = 0; i < Idx; ++i)
- DWARFFormValue::skipValue(Abbrev->getFormByIndex(i), Data, &Offset, &Unit);
+ DWARFFormValue::skipValue(Abbrev->getFormByIndex(i), Data, &Offset,
+ Unit.getFormParams());
uint32_t End = Offset;
- DWARFFormValue::skipValue(Abbrev->getFormByIndex(Idx), Data, &End, &Unit);
+ DWARFFormValue::skipValue(Abbrev->getFormByIndex(Idx), Data, &End,
+ Unit.getFormParams());
return std::make_pair(Offset, End);
}
@@ -2219,7 +2221,8 @@ void DwarfLinker::keepDIEAndDependencies(RelocationManager &RelocMgr,
DWARFFormValue Val(AttrSpec.Form);
if (!Val.isFormClass(DWARFFormValue::FC_Reference)) {
- DWARFFormValue::skipValue(AttrSpec.Form, Data, &Offset, &Unit);
+ DWARFFormValue::skipValue(AttrSpec.Form, Data, &Offset,
+ Unit.getFormParams());
continue;
}
@@ -2779,7 +2782,8 @@ DIE *DwarfLinker::DIECloner::cloneDIE(
for (const auto &AttrSpec : Abbrev->attributes()) {
if (shouldSkipAttribute(AttrSpec, Die->getTag(), Info.InDebugMap,
Flags & TF_SkipPC, Flags & TF_InFunctionScope)) {
- DWARFFormValue::skipValue(AttrSpec.Form, Data, &Offset, &U);
+ DWARFFormValue::skipValue(AttrSpec.Form, Data, &Offset,
+ U.getFormParams());
// FIXME: dsymutil-classic keeps the old abbreviation around
// even if it's not used. We can remove this (and the copyAbbrev
// helper) as soon as bit-for-bit compatibility is not a goal anymore.
@@ -3077,7 +3081,7 @@ void DwarfLinker::patchLineTableForUnit(CompileUnit &Unit,
// prologue over and that works because we act as both producer and
// consumer. It would be nicer to have a real configurable line
// table emitter.
- if (LineTable.Prologue.Version != 2 ||
+ if (LineTable.Prologue.getVersion() != 2 ||
LineTable.Prologue.DefaultIsStmt != DWARF2_LINE_DEFAULT_IS_STMT ||
LineTable.Prologue.OpcodeBase > 13)
reportWarning("line table parameters mismatch. Cannot emit.");
diff --git a/tools/lli/OrcLazyJIT.cpp b/tools/lli/OrcLazyJIT.cpp
index ec61ce5e1545..2e15894152f9 100644
--- a/tools/lli/OrcLazyJIT.cpp
+++ b/tools/lli/OrcLazyJIT.cpp
@@ -1,4 +1,4 @@
-//===------ OrcLazyJIT.cpp - Basic Orc-based JIT for lazy execution -------===//
+//===- OrcLazyJIT.cpp - Basic Orc-based JIT for lazy execution ------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -8,51 +8,56 @@
//===----------------------------------------------------------------------===//
#include "OrcLazyJIT.h"
-#include "llvm/ExecutionEngine/Orc/OrcABISupport.h"
-#include "llvm/Support/Debug.h"
+#include "llvm/ADT/Triple.h"
+#include "llvm/ExecutionEngine/ExecutionEngine.h"
+#include "llvm/Support/CodeGen.h"
+#include "llvm/Support/CommandLine.h"
#include "llvm/Support/DynamicLibrary.h"
+#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/FileSystem.h"
+#include <cstdint>
#include <cstdio>
+#include <cstdlib>
#include <system_error>
using namespace llvm;
namespace {
- enum class DumpKind { NoDump, DumpFuncsToStdOut, DumpModsToStdOut,
- DumpModsToDisk };
-
- cl::opt<DumpKind> OrcDumpKind("orc-lazy-debug",
- cl::desc("Debug dumping for the orc-lazy JIT."),
- cl::init(DumpKind::NoDump),
- cl::values(
- clEnumValN(DumpKind::NoDump, "no-dump",
- "Don't dump anything."),
- clEnumValN(DumpKind::DumpFuncsToStdOut,
- "funcs-to-stdout",
- "Dump function names to stdout."),
- clEnumValN(DumpKind::DumpModsToStdOut,
- "mods-to-stdout",
- "Dump modules to stdout."),
- clEnumValN(DumpKind::DumpModsToDisk,
- "mods-to-disk",
- "Dump modules to the current "
- "working directory. (WARNING: "
- "will overwrite existing files).")),
- cl::Hidden);
-
- cl::opt<bool> OrcInlineStubs("orc-lazy-inline-stubs",
- cl::desc("Try to inline stubs"),
- cl::init(true), cl::Hidden);
-}
+enum class DumpKind {
+ NoDump,
+ DumpFuncsToStdOut,
+ DumpModsToStdOut,
+ DumpModsToDisk
+};
+
+} // end anonymous namespace
+
+static cl::opt<DumpKind> OrcDumpKind(
+ "orc-lazy-debug", cl::desc("Debug dumping for the orc-lazy JIT."),
+ cl::init(DumpKind::NoDump),
+ cl::values(clEnumValN(DumpKind::NoDump, "no-dump", "Don't dump anything."),
+ clEnumValN(DumpKind::DumpFuncsToStdOut, "funcs-to-stdout",
+ "Dump function names to stdout."),
+ clEnumValN(DumpKind::DumpModsToStdOut, "mods-to-stdout",
+ "Dump modules to stdout."),
+ clEnumValN(DumpKind::DumpModsToDisk, "mods-to-disk",
+ "Dump modules to the current "
+ "working directory. (WARNING: "
+ "will overwrite existing files).")),
+ cl::Hidden);
+
+static cl::opt<bool> OrcInlineStubs("orc-lazy-inline-stubs",
+ cl::desc("Try to inline stubs"),
+ cl::init(true), cl::Hidden);
OrcLazyJIT::TransformFtor OrcLazyJIT::createDebugDumper() {
-
switch (OrcDumpKind) {
case DumpKind::NoDump:
- return [](std::unique_ptr<Module> M) { return M; };
+ return [](std::shared_ptr<Module> M) { return M; };
case DumpKind::DumpFuncsToStdOut:
- return [](std::unique_ptr<Module> M) {
+ return [](std::shared_ptr<Module> M) {
printf("[ ");
for (const auto &F : *M) {
@@ -71,7 +76,7 @@ OrcLazyJIT::TransformFtor OrcLazyJIT::createDebugDumper() {
};
case DumpKind::DumpModsToStdOut:
- return [](std::unique_ptr<Module> M) {
+ return [](std::shared_ptr<Module> M) {
outs() << "----- Module Start -----\n" << *M
<< "----- Module End -----\n";
@@ -79,7 +84,7 @@ OrcLazyJIT::TransformFtor OrcLazyJIT::createDebugDumper() {
};
case DumpKind::DumpModsToDisk:
- return [](std::unique_ptr<Module> M) {
+ return [](std::shared_ptr<Module> M) {
std::error_code EC;
raw_fd_ostream Out(M->getModuleIdentifier() + ".ll", EC,
sys::fs::F_Text);
@@ -98,7 +103,6 @@ OrcLazyJIT::TransformFtor OrcLazyJIT::createDebugDumper() {
// Defined in lli.cpp.
CodeGenOpt::Level getOptLevel();
-
template <typename PtrTy>
static PtrTy fromTargetAddress(JITTargetAddress Addr) {
return reinterpret_cast<PtrTy>(static_cast<uintptr_t>(Addr));
@@ -143,7 +147,8 @@ int llvm::runOrcLazyJIT(std::vector<std::unique_ptr<Module>> Ms,
OrcInlineStubs);
// Add the module, look up main and run it.
- J.addModuleSet(std::move(Ms));
+ for (auto &M : Ms)
+ J.addModule(std::shared_ptr<Module>(std::move(M)));
auto MainSym = J.findSymbol("main");
if (!MainSym) {
@@ -151,11 +156,10 @@ int llvm::runOrcLazyJIT(std::vector<std::unique_ptr<Module>> Ms,
return 1;
}
- typedef int (*MainFnPtr)(int, const char*[]);
+ using MainFnPtr = int (*)(int, const char*[]);
std::vector<const char *> ArgV;
for (auto &Arg : Args)
ArgV.push_back(Arg.c_str());
auto Main = fromTargetAddress<MainFnPtr>(MainSym.getAddress());
return Main(ArgV.size(), (const char**)ArgV.data());
}
-
diff --git a/tools/lli/OrcLazyJIT.h b/tools/lli/OrcLazyJIT.h
index 56e7d36d05fb..fc02a10b514e 100644
--- a/tools/lli/OrcLazyJIT.h
+++ b/tools/lli/OrcLazyJIT.h
@@ -1,4 +1,4 @@
-//===--- OrcLazyJIT.h - Basic Orc-based JIT for lazy execution --*- C++ -*-===//
+//===- OrcLazyJIT.h - Basic Orc-based JIT for lazy execution ----*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -15,38 +15,53 @@
#ifndef LLVM_TOOLS_LLI_ORCLAZYJIT_H
#define LLVM_TOOLS_LLI_ORCLAZYJIT_H
-#include "llvm/ADT/Triple.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/Twine.h"
+#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h"
#include "llvm/ExecutionEngine/Orc/CompileUtils.h"
#include "llvm/ExecutionEngine/Orc/ExecutionUtils.h"
+#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"
#include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"
#include "llvm/ExecutionEngine/Orc/IRTransformLayer.h"
+#include "llvm/ExecutionEngine/Orc/LambdaResolver.h"
#include "llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h"
#include "llvm/ExecutionEngine/RTDyldMemoryManager.h"
+#include "llvm/ExecutionEngine/SectionMemoryManager.h"
+#include "llvm/IR/DataLayout.h"
+#include "llvm/IR/GlobalValue.h"
+#include "llvm/IR/Mangler.h"
+#include "llvm/IR/Module.h"
+#include "llvm/Support/raw_ostream.h"
+#include "llvm/Target/TargetMachine.h"
+#include <algorithm>
+#include <functional>
+#include <memory>
+#include <set>
+#include <string>
+#include <vector>
namespace llvm {
class OrcLazyJIT {
public:
- typedef orc::JITCompileCallbackManager CompileCallbackMgr;
- typedef orc::RTDyldObjectLinkingLayer<> ObjLayerT;
- typedef orc::IRCompileLayer<ObjLayerT> CompileLayerT;
- typedef std::function<std::unique_ptr<Module>(std::unique_ptr<Module>)>
- TransformFtor;
- typedef orc::IRTransformLayer<CompileLayerT, TransformFtor> IRDumpLayerT;
- typedef orc::CompileOnDemandLayer<IRDumpLayerT, CompileCallbackMgr> CODLayerT;
- typedef CODLayerT::IndirectStubsManagerBuilderT
- IndirectStubsManagerBuilder;
- typedef CODLayerT::ModuleSetHandleT ModuleSetHandleT;
+ using CompileCallbackMgr = orc::JITCompileCallbackManager;
+ using ObjLayerT = orc::RTDyldObjectLinkingLayer;
+ using CompileLayerT = orc::IRCompileLayer<ObjLayerT, orc::SimpleCompiler>;
+ using TransformFtor =
+ std::function<std::shared_ptr<Module>(std::shared_ptr<Module>)>;
+ using IRDumpLayerT = orc::IRTransformLayer<CompileLayerT, TransformFtor>;
+ using CODLayerT = orc::CompileOnDemandLayer<IRDumpLayerT, CompileCallbackMgr>;
+ using IndirectStubsManagerBuilder = CODLayerT::IndirectStubsManagerBuilderT;
+ using ModuleHandleT = CODLayerT::ModuleHandleT;
OrcLazyJIT(std::unique_ptr<TargetMachine> TM,
std::unique_ptr<CompileCallbackMgr> CCMgr,
IndirectStubsManagerBuilder IndirectStubsMgrBuilder,
bool InlineStubs)
: TM(std::move(TM)), DL(this->TM->createDataLayout()),
- CCMgr(std::move(CCMgr)),
- ObjectLayer(),
+ CCMgr(std::move(CCMgr)),
CompileLayer(ObjectLayer, orc::SimpleCompiler(*this->TM)),
IRDumpLayer(CompileLayer, createDebugDumper()),
CODLayer(IRDumpLayer, extractSingleFunction, *this->CCMgr,
@@ -62,11 +77,9 @@ public:
DtorRunner.runViaLayer(CODLayer);
}
- ModuleSetHandleT addModuleSet(std::vector<std::unique_ptr<Module>> Ms) {
- // Attach a data-layouts if they aren't already present.
- for (auto &M : Ms)
- if (M->getDataLayout().isDefault())
- M->setDataLayout(DL);
+ void addModule(std::shared_ptr<Module> M) {
+ if (M->getDataLayout().isDefault())
+ M->setDataLayout(DL);
// Rename, bump linkage and record static constructors and destructors.
// We have to do this before we hand over ownership of the module to the
@@ -74,21 +87,19 @@ public:
std::vector<std::string> CtorNames, DtorNames;
{
unsigned CtorId = 0, DtorId = 0;
- for (auto &M : Ms) {
- for (auto Ctor : orc::getConstructors(*M)) {
- std::string NewCtorName = ("$static_ctor." + Twine(CtorId++)).str();
- Ctor.Func->setName(NewCtorName);
- Ctor.Func->setLinkage(GlobalValue::ExternalLinkage);
- Ctor.Func->setVisibility(GlobalValue::HiddenVisibility);
- CtorNames.push_back(mangle(NewCtorName));
- }
- for (auto Dtor : orc::getDestructors(*M)) {
- std::string NewDtorName = ("$static_dtor." + Twine(DtorId++)).str();
- Dtor.Func->setLinkage(GlobalValue::ExternalLinkage);
- Dtor.Func->setVisibility(GlobalValue::HiddenVisibility);
- DtorNames.push_back(mangle(Dtor.Func->getName()));
- Dtor.Func->setName(NewDtorName);
- }
+ for (auto Ctor : orc::getConstructors(*M)) {
+ std::string NewCtorName = ("$static_ctor." + Twine(CtorId++)).str();
+ Ctor.Func->setName(NewCtorName);
+ Ctor.Func->setLinkage(GlobalValue::ExternalLinkage);
+ Ctor.Func->setVisibility(GlobalValue::HiddenVisibility);
+ CtorNames.push_back(mangle(NewCtorName));
+ }
+ for (auto Dtor : orc::getDestructors(*M)) {
+ std::string NewDtorName = ("$static_dtor." + Twine(DtorId++)).str();
+ Dtor.Func->setLinkage(GlobalValue::ExternalLinkage);
+ Dtor.Func->setVisibility(GlobalValue::HiddenVisibility);
+ DtorNames.push_back(mangle(Dtor.Func->getName()));
+ Dtor.Func->setName(NewDtorName);
}
}
@@ -96,46 +107,49 @@ public:
// 1) Search the JIT symbols.
// 2) Check for C++ runtime overrides.
// 3) Search the host process (LLI)'s symbol table.
- auto Resolver =
- orc::createLambdaResolver(
- [this](const std::string &Name) -> JITSymbol {
- if (auto Sym = CODLayer.findSymbol(Name, true))
- return Sym;
- return CXXRuntimeOverrides.searchOverrides(Name);
- },
- [](const std::string &Name) {
- if (auto Addr =
- RTDyldMemoryManager::getSymbolAddressInProcess(Name))
- return JITSymbol(Addr, JITSymbolFlags::Exported);
- return JITSymbol(nullptr);
- }
- );
-
- // Add the module to the JIT.
- auto H = CODLayer.addModuleSet(std::move(Ms),
- llvm::make_unique<SectionMemoryManager>(),
- std::move(Resolver));
+ if (ModulesHandle == CODLayerT::ModuleHandleT()) {
+ auto Resolver =
+ orc::createLambdaResolver(
+ [this](const std::string &Name) -> JITSymbol {
+ if (auto Sym = CODLayer.findSymbol(Name, true))
+ return Sym;
+ return CXXRuntimeOverrides.searchOverrides(Name);
+ },
+ [](const std::string &Name) {
+ if (auto Addr =
+ RTDyldMemoryManager::getSymbolAddressInProcess(Name))
+ return JITSymbol(Addr, JITSymbolFlags::Exported);
+ return JITSymbol(nullptr);
+ }
+ );
+
+ // Add the module to the JIT.
+ ModulesHandle =
+ CODLayer.addModule(std::move(M),
+ llvm::make_unique<SectionMemoryManager>(),
+ std::move(Resolver));
+ } else
+ CODLayer.addExtraModule(ModulesHandle, std::move(M));
// Run the static constructors, and save the static destructor runner for
// execution when the JIT is torn down.
- orc::CtorDtorRunner<CODLayerT> CtorRunner(std::move(CtorNames), H);
+ orc::CtorDtorRunner<CODLayerT> CtorRunner(std::move(CtorNames),
+ ModulesHandle);
CtorRunner.runViaLayer(CODLayer);
- IRStaticDestructorRunners.emplace_back(std::move(DtorNames), H);
-
- return H;
+ IRStaticDestructorRunners.emplace_back(std::move(DtorNames),
+ ModulesHandle);
}
JITSymbol findSymbol(const std::string &Name) {
return CODLayer.findSymbol(mangle(Name), true);
}
- JITSymbol findSymbolIn(ModuleSetHandleT H, const std::string &Name) {
+ JITSymbol findSymbolIn(ModuleHandleT H, const std::string &Name) {
return CODLayer.findSymbolIn(H, mangle(Name), true);
}
private:
-
std::string mangle(const std::string &Name) {
std::string MangledName;
{
@@ -165,6 +179,7 @@ private:
orc::LocalCXXRuntimeOverrides CXXRuntimeOverrides;
std::vector<orc::CtorDtorRunner<CODLayerT>> IRStaticDestructorRunners;
+ CODLayerT::ModuleHandleT ModulesHandle;
};
int runOrcLazyJIT(std::vector<std::unique_ptr<Module>> Ms,
@@ -172,4 +187,4 @@ int runOrcLazyJIT(std::vector<std::unique_ptr<Module>> Ms,
} // end namespace llvm
-#endif
+#endif // LLVM_TOOLS_LLI_ORCLAZYJIT_H
diff --git a/tools/llvm-cvtres/llvm-cvtres.cpp b/tools/llvm-cvtres/llvm-cvtres.cpp
index 1e463399a598..36c15925e84f 100644
--- a/tools/llvm-cvtres/llvm-cvtres.cpp
+++ b/tools/llvm-cvtres/llvm-cvtres.cpp
@@ -12,8 +12,6 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm-cvtres.h"
-
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/WindowsResource.h"
@@ -29,6 +27,8 @@
#include "llvm/Support/Signals.h"
#include "llvm/Support/raw_ostream.h"
+#include <system_error>
+
using namespace llvm;
using namespace object;
@@ -37,7 +37,7 @@ 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) \
+ HELPTEXT, METAVAR, VALUES) \
OPT_##ID,
#include "Opts.inc"
#undef OPTION
@@ -49,12 +49,12 @@ enum ID {
static const opt::OptTable::Info InfoTable[] = {
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
- HELPTEXT, METAVAR) \
+ HELPTEXT, METAVAR, VALUES) \
{ \
- PREFIX, NAME, HELPTEXT, \
- METAVAR, OPT_##ID, opt::Option::KIND##Class, \
- PARAM, FLAGS, OPT_##GROUP, \
- OPT_##ALIAS, ALIASARGS},
+ PREFIX, NAME, HELPTEXT, \
+ METAVAR, OPT_##ID, opt::Option::KIND##Class, \
+ PARAM, FLAGS, OPT_##GROUP, \
+ OPT_##ALIAS, ALIASARGS, VALUES},
#include "Opts.inc"
#undef OPTION
};
@@ -89,6 +89,12 @@ void error(Error EC) {
[&](const ErrorInfoBase &EI) { reportError(EI.message()); });
}
+template <typename T> T error(Expected<T> EC) {
+ if (!EC)
+ error(EC.takeError());
+ return std::move(EC.get());
+}
+
int main(int argc_, const char *argv_[]) {
sys::PrintStackTraceOnErrorSignal(argv_[0]);
PrettyStackTraceProgram X(argc_, argv_);
@@ -114,21 +120,21 @@ int main(int argc_, const char *argv_[]) {
bool Verbose = InputArgs.hasArg(OPT_VERBOSE);
- Machine MachineType;
+ COFF::MachineTypes MachineType;
if (InputArgs.hasArg(OPT_MACHINE)) {
std::string MachineString = InputArgs.getLastArgValue(OPT_MACHINE).upper();
- MachineType = StringSwitch<Machine>(MachineString)
- .Case("ARM", Machine::ARM)
- .Case("X64", Machine::X64)
- .Case("X86", Machine::X86)
- .Default(Machine::UNKNOWN);
- if (MachineType == Machine::UNKNOWN)
+ MachineType = StringSwitch<COFF::MachineTypes>(MachineString)
+ .Case("ARM", COFF::IMAGE_FILE_MACHINE_ARMNT)
+ .Case("X64", COFF::IMAGE_FILE_MACHINE_AMD64)
+ .Case("X86", COFF::IMAGE_FILE_MACHINE_I386)
+ .Default(COFF::IMAGE_FILE_MACHINE_UNKNOWN);
+ if (MachineType == COFF::IMAGE_FILE_MACHINE_UNKNOWN)
reportError("Unsupported machine architecture");
} else {
if (Verbose)
outs() << "Machine architecture not specified; assumed X64.\n";
- MachineType = Machine::X64;
+ MachineType = COFF::IMAGE_FILE_MACHINE_AMD64;
}
std::vector<std::string> InputFiles = InputArgs.getAllArgValues(OPT_INPUT);
@@ -142,17 +148,17 @@ int main(int argc_, const char *argv_[]) {
if (InputArgs.hasArg(OPT_OUT)) {
OutputFile = InputArgs.getLastArgValue(OPT_OUT);
} else {
- OutputFile = llvm::sys::path::filename(StringRef(InputFiles[0]));
- llvm::sys::path::replace_extension(OutputFile, ".obj");
+ OutputFile = sys::path::filename(StringRef(InputFiles[0]));
+ sys::path::replace_extension(OutputFile, ".obj");
}
if (Verbose) {
outs() << "Machine: ";
switch (MachineType) {
- case Machine::ARM:
+ case COFF::IMAGE_FILE_MACHINE_ARMNT:
outs() << "ARM\n";
break;
- case Machine::X86:
+ case COFF::IMAGE_FILE_MACHINE_I386:
outs() << "X86\n";
break;
default:
@@ -163,8 +169,7 @@ int main(int argc_, const char *argv_[]) {
WindowsResourceParser Parser;
for (const auto &File : InputFiles) {
- Expected<object::OwningBinary<object::Binary>> BinaryOrErr =
- object::createBinary(File);
+ Expected<OwningBinary<Binary>> BinaryOrErr = createBinary(File);
if (!BinaryOrErr)
reportError(File, errorToErrorCode(BinaryOrErr.takeError()));
@@ -176,10 +181,7 @@ int main(int argc_, const char *argv_[]) {
if (Verbose) {
int EntryNumber = 0;
- Expected<ResourceEntryRef> EntryOrErr = RF->getHeadEntry();
- if (!EntryOrErr)
- error(EntryOrErr.takeError());
- ResourceEntryRef Entry = EntryOrErr.get();
+ ResourceEntryRef Entry = error(RF->getHeadEntry());
bool End = false;
while (!End) {
error(Entry.moveNext(End));
@@ -193,15 +195,21 @@ int main(int argc_, const char *argv_[]) {
if (Verbose) {
Parser.printTree(outs());
- Parser.printTree(errs());
}
- error(
- llvm::object::writeWindowsResourceCOFF(OutputFile, MachineType, Parser));
+ std::unique_ptr<MemoryBuffer> OutputBuffer =
+ error(llvm::object::writeWindowsResourceCOFF(MachineType, Parser));
+ auto FileOrErr =
+ FileOutputBuffer::create(OutputFile, OutputBuffer->getBufferSize());
+ if (!FileOrErr)
+ reportError(OutputFile, FileOrErr.getError());
+ std::unique_ptr<FileOutputBuffer> FileBuffer = std::move(*FileOrErr);
+ std::copy(OutputBuffer->getBufferStart(), OutputBuffer->getBufferEnd(),
+ FileBuffer->getBufferStart());
+ error(FileBuffer->commit());
if (Verbose) {
- Expected<object::OwningBinary<object::Binary>> BinaryOrErr =
- object::createBinary(OutputFile);
+ Expected<OwningBinary<Binary>> BinaryOrErr = createBinary(OutputFile);
if (!BinaryOrErr)
reportError(OutputFile, errorToErrorCode(BinaryOrErr.takeError()));
Binary &Binary = *BinaryOrErr.get().getBinary();
diff --git a/tools/llvm-cvtres/llvm-cvtres.h b/tools/llvm-cvtres/llvm-cvtres.h
deleted file mode 100644
index f7b14faeebe3..000000000000
--- a/tools/llvm-cvtres/llvm-cvtres.h
+++ /dev/null
@@ -1,17 +0,0 @@
-//===- 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
-
-#include <system_error>
-
-void error(std::error_code EC);
-
-#endif
diff --git a/tools/llvm-dwp/llvm-dwp.cpp b/tools/llvm-dwp/llvm-dwp.cpp
index f8d00b3b5534..7a6922d8a3fc 100644
--- a/tools/llvm-dwp/llvm-dwp.cpp
+++ b/tools/llvm-dwp/llvm-dwp.cpp
@@ -182,8 +182,8 @@ static Expected<CompileUnitIdentifiers> getCUIdentifiers(StringRef Abbrev,
ID.Signature = InfoData.getU64(&Offset);
break;
default:
- DWARFFormValue::skipValue(Form, InfoData, &Offset, Version, AddrSize,
- Format);
+ DWARFFormValue::skipValue(Form, InfoData, &Offset,
+ DWARFFormParams({Version, AddrSize, Format}));
}
}
return ID;
diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp
index 722cb9e7e449..513e1b87558f 100644
--- a/tools/llvm-nm/llvm-nm.cpp
+++ b/tools/llvm-nm/llvm-nm.cpp
@@ -48,6 +48,7 @@
#include <cstring>
#include <system_error>
#include <vector>
+#include <string.h>
using namespace llvm;
using namespace object;
@@ -167,6 +168,15 @@ cl::list<std::string> SegSect("s", cl::Positional, cl::ZeroOrMore,
cl::opt<bool> FormatMachOasHex("x", cl::desc("Print symbol entry in hex, "
"Mach-O only"), cl::Grouping);
+cl::opt<bool> AddDyldInfo("add-dyldinfo",
+ cl::desc("Add symbols from the dyldinfo not already "
+ "in the symbol table, Mach-O only"));
+cl::opt<bool> NoDyldInfo("no-dyldinfo",
+ cl::desc("Don't add any symbols from the dyldinfo, "
+ "Mach-O only"));
+cl::opt<bool> DyldInfoOnly("dyldinfo-only",
+ cl::desc("Show only symbols from the dyldinfo, "
+ "Mach-O only"));
cl::opt<bool> NoLLVMBitcode("no-llvm-bc",
cl::desc("Disable LLVM bitcode reader"));
@@ -247,6 +257,17 @@ struct NMSymbol {
char TypeChar;
StringRef Name;
BasicSymbolRef Sym;
+ // The Sym field above points to the native symbol in the object file,
+ // for Mach-O when we are creating symbols from the dyld info the above
+ // pointer is null as there is no native symbol. In these cases the fields
+ // below are filled in to represent what would have been a Mach-O nlist
+ // native symbol.
+ uint32_t SymFlags;
+ SectionRef Section;
+ uint8_t NType;
+ uint8_t NSect;
+ uint16_t NDesc;
+ StringRef IndirectName;
};
} // anonymous namespace
@@ -331,22 +352,38 @@ static void darwinPrintSymbol(SymbolicFile &Obj, SymbolListT::iterator I,
H_64 = MachO->MachOObjectFile::getHeader64();
Filetype = H_64.filetype;
Flags = H_64.flags;
- MachO::nlist_64 STE_64 = MachO->getSymbol64TableEntry(SymDRI);
- NType = STE_64.n_type;
- NSect = STE_64.n_sect;
- NDesc = STE_64.n_desc;
- NStrx = STE_64.n_strx;
- NValue = STE_64.n_value;
+ if (SymDRI.p){
+ MachO::nlist_64 STE_64 = MachO->getSymbol64TableEntry(SymDRI);
+ NType = STE_64.n_type;
+ NSect = STE_64.n_sect;
+ NDesc = STE_64.n_desc;
+ NStrx = STE_64.n_strx;
+ NValue = STE_64.n_value;
+ } else {
+ NType = I->NType;
+ NSect = I->NSect;
+ NDesc = I->NDesc;
+ NStrx = 0;
+ NValue = I->Address;
+ }
} else {
H = MachO->MachOObjectFile::getHeader();
Filetype = H.filetype;
Flags = H.flags;
- MachO::nlist STE = MachO->getSymbolTableEntry(SymDRI);
- NType = STE.n_type;
- NSect = STE.n_sect;
- NDesc = STE.n_desc;
- NStrx = STE.n_strx;
- NValue = STE.n_value;
+ if (SymDRI.p){
+ MachO::nlist STE = MachO->getSymbolTableEntry(SymDRI);
+ NType = STE.n_type;
+ NSect = STE.n_sect;
+ NDesc = STE.n_desc;
+ NStrx = STE.n_strx;
+ NValue = STE.n_value;
+ } else {
+ NType = I->NType;
+ NSect = I->NSect;
+ NDesc = I->NDesc;
+ NStrx = 0;
+ NValue = I->Address;
+ }
}
}
@@ -363,7 +400,22 @@ static void darwinPrintSymbol(SymbolicFile &Obj, SymbolListT::iterator I,
outs() << Str << ' ';
format("%08x", NStrx).print(Str, sizeof(Str));
outs() << Str << ' ';
- outs() << I->Name << "\n";
+ outs() << I->Name;
+ if ((NType & MachO::N_TYPE) == MachO::N_INDR) {
+ outs() << " (indirect for ";
+ format(printFormat, NValue).print(Str, sizeof(Str));
+ outs() << Str << ' ';
+ StringRef IndirectName;
+ if (I->Sym.getRawDataRefImpl().p) {
+ if (MachO->getIndirectName(I->Sym.getRawDataRefImpl(), IndirectName))
+ outs() << "?)";
+ else
+ outs() << IndirectName << ")";
+ }
+ else
+ outs() << I->IndirectName << ")";
+ }
+ outs() << "\n";
return;
}
@@ -419,14 +471,19 @@ static void darwinPrintSymbol(SymbolicFile &Obj, SymbolListT::iterator I,
outs() << "(?,?) ";
break;
}
- Expected<section_iterator> SecOrErr =
- MachO->getSymbolSection(I->Sym.getRawDataRefImpl());
- if (!SecOrErr) {
- consumeError(SecOrErr.takeError());
- outs() << "(?,?) ";
- break;
+ section_iterator Sec = SectionRef();
+ if (I->Sym.getRawDataRefImpl().p) {
+ Expected<section_iterator> SecOrErr =
+ MachO->getSymbolSection(I->Sym.getRawDataRefImpl());
+ if (!SecOrErr) {
+ consumeError(SecOrErr.takeError());
+ outs() << "(?,?) ";
+ break;
+ }
+ Sec = *SecOrErr;
+ } else {
+ Sec = I->Section;
}
- section_iterator Sec = *SecOrErr;
DataRefImpl Ref = Sec->getRawDataRefImpl();
StringRef SectionName;
MachO->getSectionName(Ref, SectionName);
@@ -485,11 +542,17 @@ static void darwinPrintSymbol(SymbolicFile &Obj, SymbolListT::iterator I,
if ((NType & MachO::N_TYPE) == MachO::N_INDR) {
outs() << I->Name << " (for ";
StringRef IndirectName;
- if (!MachO ||
- MachO->getIndirectName(I->Sym.getRawDataRefImpl(), IndirectName))
+ if (MachO) {
+ if (I->Sym.getRawDataRefImpl().p) {
+ if (MachO->getIndirectName(I->Sym.getRawDataRefImpl(), IndirectName))
+ outs() << "?)";
+ else
+ outs() << IndirectName << ")";
+ }
+ else
+ outs() << I->IndirectName << ")";
+ } else
outs() << "?)";
- else
- outs() << IndirectName << ")";
} else
outs() << I->Name;
@@ -660,7 +723,12 @@ static void sortAndPrintSymbolList(SymbolicFile &Obj, bool printName,
for (SymbolListT::iterator I = SymbolList.begin(), E = SymbolList.end();
I != E; ++I) {
- uint32_t SymFlags = I->Sym.getFlags();
+ uint32_t SymFlags;
+ if (I->Sym.getRawDataRefImpl().p)
+ SymFlags = I->Sym.getFlags();
+ else
+ SymFlags = I->SymFlags;
+
bool Undefined = SymFlags & SymbolRef::SF_Undefined;
bool Global = SymFlags & SymbolRef::SF_Global;
if ((!Undefined && UndefinedOnly) || (Undefined && DefinedOnly) ||
@@ -699,10 +767,13 @@ static void sortAndPrintSymbolList(SymbolicFile &Obj, bool printName,
}
}
+ MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(&Obj);
// Otherwise, print the symbol address and size.
if (symbolIsDefined(*I)) {
if (Obj.isIR())
strcpy(SymbolAddrStr, printDashes);
+ else if(MachO && I->TypeChar == 'I')
+ strcpy(SymbolAddrStr, printBlanks);
else
format(printFormat, I->Address)
.print(SymbolAddrStr, sizeof(SymbolAddrStr));
@@ -714,7 +785,6 @@ static void sortAndPrintSymbolList(SymbolicFile &Obj, bool printName,
// nm(1) -m output or hex, else if OutputFormat is darwin or we are
// printing Mach-O symbols in hex and not a Mach-O object fall back to
// OutputFormat bsd (see below).
- MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(&Obj);
if ((OutputFormat == darwin || FormatMachOasHex) && (MachO || Obj.isIR())) {
darwinPrintSymbol(Obj, I, SymbolAddrStr, printBlanks, printDashes,
printFormat);
@@ -734,7 +804,19 @@ static void sortAndPrintSymbolList(SymbolicFile &Obj, bool printName,
outs() << I->TypeChar;
if (I->TypeChar == '-' && MachO)
darwinPrintStab(MachO, I);
- outs() << " " << I->Name << "\n";
+ outs() << " " << I->Name;
+ if (I->TypeChar == 'I' && MachO) {
+ outs() << " (indirect for ";
+ if (I->Sym.getRawDataRefImpl().p) {
+ StringRef IndirectName;
+ if (MachO->getIndirectName(I->Sym.getRawDataRefImpl(), IndirectName))
+ outs() << "?)";
+ else
+ outs() << IndirectName << ")";
+ } else
+ outs() << I->IndirectName << ")";
+ }
+ outs() << "\n";
} else if (OutputFormat == sysv) {
std::string PaddedName(I->Name);
while (PaddedName.length() < 20)
@@ -1022,51 +1104,439 @@ dumpSymbolNamesFromObject(SymbolicFile &Obj, bool printName,
if (Nsect == 0)
return;
}
- for (BasicSymbolRef Sym : Symbols) {
- uint32_t SymFlags = Sym.getFlags();
- if (!DebugSyms && (SymFlags & SymbolRef::SF_FormatSpecific))
- continue;
- if (WithoutAliases && (SymFlags & SymbolRef::SF_Indirect))
- continue;
- // If a "-s segname sectname" option was specified and this is a Mach-O
- // file and this section appears in this file, Nsect will be non-zero then
- // see if this symbol is a symbol from that section and if not skip it.
- if (Nsect && Nsect != getNsectInMachO(*MachO, Sym))
- continue;
- NMSymbol S;
- S.Size = 0;
- S.Address = 0;
- if (PrintSize) {
- if (isa<ELFObjectFileBase>(&Obj))
- S.Size = ELFSymbolRef(Sym).getSize();
- }
- if (PrintAddress && isa<ObjectFile>(Obj)) {
- SymbolRef SymRef(Sym);
- Expected<uint64_t> AddressOrErr = SymRef.getAddress();
- if (!AddressOrErr) {
- consumeError(AddressOrErr.takeError());
- break;
+ if (!MachO || !DyldInfoOnly) {
+ for (BasicSymbolRef Sym : Symbols) {
+ uint32_t SymFlags = Sym.getFlags();
+ if (!DebugSyms && (SymFlags & SymbolRef::SF_FormatSpecific))
+ continue;
+ if (WithoutAliases && (SymFlags & SymbolRef::SF_Indirect))
+ continue;
+ // If a "-s segname sectname" option was specified and this is a Mach-O
+ // file and this section appears in this file, Nsect will be non-zero then
+ // see if this symbol is a symbol from that section and if not skip it.
+ if (Nsect && Nsect != getNsectInMachO(*MachO, Sym))
+ continue;
+ NMSymbol S;
+ memset(&S, '\0', sizeof(S));
+ S.Size = 0;
+ S.Address = 0;
+ if (PrintSize) {
+ if (isa<ELFObjectFileBase>(&Obj))
+ S.Size = ELFSymbolRef(Sym).getSize();
+ }
+ if (PrintAddress && isa<ObjectFile>(Obj)) {
+ SymbolRef SymRef(Sym);
+ Expected<uint64_t> AddressOrErr = SymRef.getAddress();
+ if (!AddressOrErr) {
+ consumeError(AddressOrErr.takeError());
+ break;
+ }
+ S.Address = *AddressOrErr;
}
- S.Address = *AddressOrErr;
+ S.TypeChar = getNMTypeChar(Obj, Sym);
+ std::error_code EC = Sym.printName(OS);
+ if (EC && MachO)
+ OS << "bad string index";
+ else
+ error(EC);
+ OS << '\0';
+ S.Sym = Sym;
+ SymbolList.push_back(S);
}
- S.TypeChar = getNMTypeChar(Obj, Sym);
- std::error_code EC = Sym.printName(OS);
- if (EC && MachO)
- OS << "bad string index";
- else
- error(EC);
- OS << '\0';
- S.Sym = Sym;
- SymbolList.push_back(S);
}
OS.flush();
const char *P = NameBuffer.c_str();
- for (unsigned I = 0; I < SymbolList.size(); ++I) {
+ unsigned I;
+ for (I = 0; I < SymbolList.size(); ++I) {
SymbolList[I].Name = P;
P += strlen(P) + 1;
}
+ // If this is a Mach-O file where the nlist symbol table is out of sync
+ // with the dyld export trie then look through exports and fake up symbols
+ // for the ones that are missing (also done with the -add-dyldinfo flag).
+ // This is needed if strip(1) -T is run on a binary containing swift
+ // language symbols for example. The option -only-dyldinfo will fake up
+ // all symbols from the dyld export trie as well as the bind info.
+ std::string ExportsNameBuffer;
+ raw_string_ostream EOS(ExportsNameBuffer);
+ std::string BindsNameBuffer;
+ raw_string_ostream BOS(BindsNameBuffer);
+ std::string LazysNameBuffer;
+ raw_string_ostream LOS(LazysNameBuffer);
+ std::string WeaksNameBuffer;
+ raw_string_ostream WOS(WeaksNameBuffer);
+ if (MachO && !NoDyldInfo) {
+ MachO::mach_header H;
+ MachO::mach_header_64 H_64;
+ uint32_t HFlags = 0;
+ if (MachO->is64Bit()) {
+ H_64 = MachO->MachOObjectFile::getHeader64();
+ HFlags = H_64.flags;
+ } else {
+ H = MachO->MachOObjectFile::getHeader();
+ HFlags = H.flags;
+ }
+ uint64_t BaseSegmentAddress = 0;
+ for (const auto &Command : MachO->load_commands()) {
+ if (Command.C.cmd == MachO::LC_SEGMENT) {
+ MachO::segment_command Seg = MachO->getSegmentLoadCommand(Command);
+ if (Seg.fileoff == 0 && Seg.filesize != 0) {
+ BaseSegmentAddress = Seg.vmaddr;
+ break;
+ }
+ } else if (Command.C.cmd == MachO::LC_SEGMENT_64) {
+ MachO::segment_command_64 Seg = MachO->getSegment64LoadCommand(Command);
+ if (Seg.fileoff == 0 && Seg.filesize != 0) {
+ BaseSegmentAddress = Seg.vmaddr;
+ break;
+ }
+ }
+ }
+ if (DyldInfoOnly || AddDyldInfo ||
+ HFlags & MachO::MH_NLIST_OUTOFSYNC_WITH_DYLDINFO) {
+ unsigned ExportsAdded = 0;
+ for (const llvm::object::ExportEntry &Entry : MachO->exports()) {
+ bool found = false;
+ bool ReExport = false;
+ if (!DyldInfoOnly) {
+ for (unsigned J = 0; J < SymbolList.size() && !found; ++J) {
+ if (SymbolList[J].Address == Entry.address() + BaseSegmentAddress &&
+ SymbolList[J].Name == Entry.name())
+ found = true;
+ }
+ }
+ if (!found) {
+ NMSymbol S;
+ memset(&S, '\0', sizeof(NMSymbol));
+ S.Address = Entry.address() + BaseSegmentAddress;
+ S.Size = 0;
+ S.TypeChar = '\0';
+ S.Name = Entry.name();
+ // There is no symbol in the nlist symbol table for this so we set
+ // Sym effectivly to null and the rest of code in here must test for
+ // it and not do things like Sym.getFlags() for it.
+ S.Sym = BasicSymbolRef();
+ S.SymFlags = SymbolRef::SF_Global;
+ S.Section = SectionRef();
+ S.NType = 0;
+ S.NSect = 0;
+ S.NDesc = 0;
+ S.IndirectName = StringRef();
+
+ uint64_t EFlags = Entry.flags();
+ bool Abs = ((EFlags & MachO::EXPORT_SYMBOL_FLAGS_KIND_MASK) ==
+ MachO::EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE);
+ bool Resolver = (EFlags &
+ MachO::EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER);
+ ReExport = (EFlags & MachO::EXPORT_SYMBOL_FLAGS_REEXPORT);
+ bool WeakDef = (EFlags & MachO::EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION);
+ if (WeakDef)
+ S.NDesc |= MachO::N_WEAK_DEF;
+ if (Abs) {
+ S.NType = MachO::N_EXT | MachO::N_ABS;
+ S.TypeChar = 'A';
+ } else if (ReExport) {
+ S.NType = MachO::N_EXT | MachO::N_INDR;
+ S.TypeChar = 'I';
+ } else {
+ S.NType = MachO::N_EXT | MachO::N_SECT;
+ if (Resolver) {
+ S.Address = Entry.other() + BaseSegmentAddress;
+ if ((S.Address & 1) != 0 &&
+ !MachO->is64Bit() && H.cputype == MachO::CPU_TYPE_ARM){
+ S.Address &= ~1LL;
+ S.NDesc |= MachO::N_ARM_THUMB_DEF;
+ }
+ } else {
+ S.Address = Entry.address() + BaseSegmentAddress;
+ }
+ StringRef SegmentName = StringRef();
+ StringRef SectionName = StringRef();
+ for (const SectionRef &Section : MachO->sections()) {
+ S.NSect++;
+ Section.getName(SectionName);
+ SegmentName = MachO->getSectionFinalSegmentName(
+ Section.getRawDataRefImpl());
+ if (S.Address >= Section.getAddress() &&
+ S.Address < Section.getAddress() + Section.getSize()) {
+ S.Section = Section;
+ break;
+ } else if (Entry.name() == "__mh_execute_header" &&
+ SegmentName == "__TEXT" && SectionName == "__text") {
+ S.Section = Section;
+ S.NDesc |= MachO::REFERENCED_DYNAMICALLY;
+ break;
+ }
+ }
+ if (SegmentName == "__TEXT" && SectionName == "__text")
+ S.TypeChar = 'T';
+ else if (SegmentName == "__DATA" && SectionName == "__data")
+ S.TypeChar = 'D';
+ else if (SegmentName == "__DATA" && SectionName == "__bss")
+ S.TypeChar = 'B';
+ else
+ S.TypeChar = 'S';
+ }
+ SymbolList.push_back(S);
+
+ EOS << Entry.name();
+ EOS << '\0';
+ ExportsAdded++;
+
+ // For ReExports there are a two more things to do, first add the
+ // indirect name and second create the undefined symbol using the
+ // referened dynamic library.
+ if (ReExport) {
+
+ // Add the indirect name.
+ if (Entry.otherName().empty())
+ EOS << Entry.name();
+ else
+ EOS << Entry.otherName();
+ EOS << '\0';
+
+ // Now create the undefined symbol using the referened dynamic
+ // library.
+ NMSymbol U;
+ memset(&U, '\0', sizeof(NMSymbol));
+ U.Address = 0;
+ U.Size = 0;
+ U.TypeChar = 'U';
+ if (Entry.otherName().empty())
+ U.Name = Entry.name();
+ else
+ U.Name = Entry.otherName();
+ // Again there is no symbol in the nlist symbol table for this so
+ // we set Sym effectivly to null and the rest of code in here must
+ // test for it and not do things like Sym.getFlags() for it.
+ U.Sym = BasicSymbolRef();
+ U.SymFlags = SymbolRef::SF_Global | SymbolRef::SF_Undefined;
+ U.Section = SectionRef();
+ U.NType = MachO::N_EXT | MachO::N_UNDF;
+ U.NSect = 0;
+ U.NDesc = 0;
+ // The library ordinal for this undefined symbol is in the export
+ // trie Entry.other().
+ MachO::SET_LIBRARY_ORDINAL(U.NDesc, Entry.other());
+ U.IndirectName = StringRef();
+ SymbolList.push_back(U);
+
+ // Finally add the undefined symbol's name.
+ if (Entry.otherName().empty())
+ EOS << Entry.name();
+ else
+ EOS << Entry.otherName();
+ EOS << '\0';
+ ExportsAdded++;
+ }
+ }
+ }
+ // Set the symbol names and indirect names for the added symbols.
+ if (ExportsAdded) {
+ EOS.flush();
+ const char *Q = ExportsNameBuffer.c_str();
+ for (unsigned K = 0; K < ExportsAdded; K++) {
+ SymbolList[I].Name = Q;
+ Q += strlen(Q) + 1;
+ if (SymbolList[I].TypeChar == 'I') {
+ SymbolList[I].IndirectName = Q;
+ Q += strlen(Q) + 1;
+ }
+ I++;
+ }
+ }
+
+ // Add the undefined symbols from the bind entries.
+ unsigned BindsAdded = 0;
+ Error BErr = Error::success();
+ StringRef LastSymbolName = StringRef();
+ for (const llvm::object::MachOBindEntry &Entry : MachO->bindTable(BErr)) {
+ bool found = false;
+ if (LastSymbolName == Entry.symbolName())
+ found = true;
+ else if(!DyldInfoOnly) {
+ for (unsigned J = 0; J < SymbolList.size() && !found; ++J) {
+ if (SymbolList[J].Name == Entry.symbolName())
+ found = true;
+ }
+ }
+ if (!found) {
+ LastSymbolName = Entry.symbolName();
+ NMSymbol B;
+ memset(&B, '\0', sizeof(NMSymbol));
+ B.Address = 0;
+ B.Size = 0;
+ B.TypeChar = 'U';
+ // There is no symbol in the nlist symbol table for this so we set
+ // Sym effectivly to null and the rest of code in here must test for
+ // it and not do things like Sym.getFlags() for it.
+ B.Sym = BasicSymbolRef();
+ B.SymFlags = SymbolRef::SF_Global | SymbolRef::SF_Undefined;
+ B.NType = MachO::N_EXT | MachO::N_UNDF;
+ B.NSect = 0;
+ B.NDesc = 0;
+ B.NDesc = 0;
+ MachO::SET_LIBRARY_ORDINAL(B.NDesc, Entry.ordinal());
+ B.IndirectName = StringRef();
+ B.Name = Entry.symbolName();
+ SymbolList.push_back(B);
+ BOS << Entry.symbolName();
+ BOS << '\0';
+ BindsAdded++;
+ }
+ }
+ if (BErr)
+ error(std::move(BErr), MachO->getFileName());
+ // Set the symbol names and indirect names for the added symbols.
+ if (BindsAdded) {
+ BOS.flush();
+ const char *Q = BindsNameBuffer.c_str();
+ for (unsigned K = 0; K < BindsAdded; K++) {
+ SymbolList[I].Name = Q;
+ Q += strlen(Q) + 1;
+ if (SymbolList[I].TypeChar == 'I') {
+ SymbolList[I].IndirectName = Q;
+ Q += strlen(Q) + 1;
+ }
+ I++;
+ }
+ }
+
+ // Add the undefined symbols from the lazy bind entries.
+ unsigned LazysAdded = 0;
+ Error LErr = Error::success();
+ LastSymbolName = StringRef();
+ for (const llvm::object::MachOBindEntry &Entry :
+ MachO->lazyBindTable(LErr)) {
+ bool found = false;
+ if (LastSymbolName == Entry.symbolName())
+ found = true;
+ else {
+ // Here we must check to see it this symbol is already in the
+ // SymbolList as it might have already have been added above via a
+ // non-lazy (bind) entry.
+ for (unsigned J = 0; J < SymbolList.size() && !found; ++J) {
+ if (SymbolList[J].Name == Entry.symbolName())
+ found = true;
+ }
+ }
+ if (!found) {
+ LastSymbolName = Entry.symbolName();
+ NMSymbol L;
+ memset(&L, '\0', sizeof(NMSymbol));
+ L.Name = Entry.symbolName();
+ L.Address = 0;
+ L.Size = 0;
+ L.TypeChar = 'U';
+ // There is no symbol in the nlist symbol table for this so we set
+ // Sym effectivly to null and the rest of code in here must test for
+ // it and not do things like Sym.getFlags() for it.
+ L.Sym = BasicSymbolRef();
+ L.SymFlags = SymbolRef::SF_Global | SymbolRef::SF_Undefined;
+ L.NType = MachO::N_EXT | MachO::N_UNDF;
+ L.NSect = 0;
+ // The REFERENCE_FLAG_UNDEFINED_LAZY is no longer used but here it
+ // makes sence since we are creating this from a lazy bind entry.
+ L.NDesc = MachO::REFERENCE_FLAG_UNDEFINED_LAZY;
+ MachO::SET_LIBRARY_ORDINAL(L.NDesc, Entry.ordinal());
+ L.IndirectName = StringRef();
+ SymbolList.push_back(L);
+ LOS << Entry.symbolName();
+ LOS << '\0';
+ LazysAdded++;
+ }
+ }
+ if (LErr)
+ error(std::move(LErr), MachO->getFileName());
+ // Set the symbol names and indirect names for the added symbols.
+ if (LazysAdded) {
+ LOS.flush();
+ const char *Q = LazysNameBuffer.c_str();
+ for (unsigned K = 0; K < LazysAdded; K++) {
+ SymbolList[I].Name = Q;
+ Q += strlen(Q) + 1;
+ if (SymbolList[I].TypeChar == 'I') {
+ SymbolList[I].IndirectName = Q;
+ Q += strlen(Q) + 1;
+ }
+ I++;
+ }
+ }
+
+ // Add the undefineds symbol from the weak bind entries which are not
+ // strong symbols.
+ unsigned WeaksAdded = 0;
+ Error WErr = Error::success();
+ LastSymbolName = StringRef();
+ for (const llvm::object::MachOBindEntry &Entry :
+ MachO->weakBindTable(WErr)) {
+ bool found = false;
+ unsigned J = 0;
+ if (LastSymbolName == Entry.symbolName() ||
+ Entry.flags() & MachO::BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION) {
+ found = true;
+ } else {
+ for (J = 0; J < SymbolList.size() && !found; ++J) {
+ if (SymbolList[J].Name == Entry.symbolName()) {
+ found = true;
+ break;
+ }
+ }
+ }
+ if (!found) {
+ LastSymbolName = Entry.symbolName();
+ NMSymbol W;
+ memset(&W, '\0', sizeof(NMSymbol));
+ W.Name = Entry.symbolName();
+ W.Address = 0;
+ W.Size = 0;
+ W.TypeChar = 'U';
+ // There is no symbol in the nlist symbol table for this so we set
+ // Sym effectivly to null and the rest of code in here must test for
+ // it and not do things like Sym.getFlags() for it.
+ W.Sym = BasicSymbolRef();
+ W.SymFlags = SymbolRef::SF_Global | SymbolRef::SF_Undefined;
+ W.NType = MachO::N_EXT | MachO::N_UNDF;
+ W.NSect = 0;
+ // Odd that we are using N_WEAK_DEF on an undefined symbol but that is
+ // what is created in this case by the linker when there are real
+ // symbols in the nlist structs.
+ W.NDesc = MachO::N_WEAK_DEF;
+ W.IndirectName = StringRef();
+ SymbolList.push_back(W);
+ WOS << Entry.symbolName();
+ WOS << '\0';
+ WeaksAdded++;
+ } else {
+ // This is the case the symbol was previously been found and it could
+ // have been added from a bind or lazy bind symbol. If so and not
+ // a definition also mark it as weak.
+ if (SymbolList[J].TypeChar == 'U')
+ // See comment above about N_WEAK_DEF.
+ SymbolList[J].NDesc |= MachO::N_WEAK_DEF;
+ }
+ }
+ if (WErr)
+ error(std::move(WErr), MachO->getFileName());
+ // Set the symbol names and indirect names for the added symbols.
+ if (WeaksAdded) {
+ WOS.flush();
+ const char *Q = WeaksNameBuffer.c_str();
+ for (unsigned K = 0; K < WeaksAdded; K++) {
+ SymbolList[I].Name = Q;
+ Q += strlen(Q) + 1;
+ if (SymbolList[I].TypeChar == 'I') {
+ SymbolList[I].IndirectName = Q;
+ Q += strlen(Q) + 1;
+ }
+ I++;
+ }
+ }
+ }
+ }
+
CurrentFilename = Obj.getFileName();
sortAndPrintSymbolList(Obj, printName, ArchiveName, ArchitectureName);
}
@@ -1456,6 +1926,9 @@ int main(int argc, char **argv) {
error("bad number of arguments (must be two arguments)",
"for the -s option");
+ if (NoDyldInfo && (AddDyldInfo || DyldInfoOnly))
+ error("-no-dyldinfo can't be used with -add-dyldinfo or -dyldinfo-only");
+
std::for_each(InputFilenames.begin(), InputFilenames.end(),
dumpSymbolNamesFromFile);
diff --git a/tools/llvm-objdump/MachODump.cpp b/tools/llvm-objdump/MachODump.cpp
index 8927f57cc97f..05c2c3f7c4cb 100644
--- a/tools/llvm-objdump/MachODump.cpp
+++ b/tools/llvm-objdump/MachODump.cpp
@@ -1135,7 +1135,8 @@ static void DumpInfoPlistSectionContents(StringRef Filename,
DataRefImpl Ref = Section.getRawDataRefImpl();
StringRef SegName = O->getSectionFinalSegmentName(Ref);
if (SegName == "__TEXT" && SectName == "__info_plist") {
- outs() << "Contents of (" << SegName << "," << SectName << ") section\n";
+ if (!NoLeadingHeaders)
+ outs() << "Contents of (" << SegName << "," << SectName << ") section\n";
StringRef BytesStr;
Section.getContents(BytesStr);
const char *sect = reinterpret_cast<const char *>(BytesStr.data());
@@ -1223,8 +1224,13 @@ static void ProcessMachO(StringRef Name, MachOObjectFile *MachOOF,
if (Error Err = MachOOF->checkSymbolTable())
report_error(ArchiveName, FileName, std::move(Err), ArchitectureName);
- if (Disassemble)
- DisassembleMachO(FileName, MachOOF, "__TEXT", "__text");
+ if (Disassemble) {
+ if (MachOOF->getHeader().filetype == MachO::MH_KEXT_BUNDLE &&
+ MachOOF->getHeader().cputype == MachO::CPU_TYPE_ARM64)
+ DisassembleMachO(FileName, MachOOF, "__TEXT_EXEC", "__text");
+ else
+ DisassembleMachO(FileName, MachOOF, "__TEXT", "__text");
+ }
if (IndirectSymbols)
PrintIndirectSymbols(MachOOF, !NonVerbose);
if (DataInCode)
@@ -1920,11 +1926,45 @@ static int SymbolizerGetOpInfo(void *DisInfo, uint64_t Pc, uint64_t Offset,
if (Arch == Triple::x86_64) {
if (Size != 1 && Size != 2 && Size != 4 && Size != 0)
return 0;
+ // For non MH_OBJECT types, like MH_KEXT_BUNDLE, Search the external
+ // relocation entries of a linked image (if any) for an entry that matches
+ // this segment offset.
if (info->O->getHeader().filetype != MachO::MH_OBJECT) {
- // TODO:
- // Search the external relocation entries of a fully linked image
- // (if any) for an entry that matches this segment offset.
- // uint64_t seg_offset = (Pc + Offset);
+ uint64_t seg_offset = Pc + Offset;
+ bool reloc_found = false;
+ DataRefImpl Rel;
+ MachO::any_relocation_info RE;
+ bool isExtern = false;
+ SymbolRef Symbol;
+ for (const RelocationRef &Reloc : info->O->external_relocations()) {
+ uint64_t RelocOffset = Reloc.getOffset();
+ if (RelocOffset == seg_offset) {
+ Rel = Reloc.getRawDataRefImpl();
+ RE = info->O->getRelocation(Rel);
+ // external relocation entries should always be external.
+ isExtern = info->O->getPlainRelocationExternal(RE);
+ if (isExtern) {
+ symbol_iterator RelocSym = Reloc.getSymbol();
+ Symbol = *RelocSym;
+ }
+ reloc_found = true;
+ break;
+ }
+ }
+ if (reloc_found && isExtern) {
+ // The Value passed in will be adjusted by the Pc if the instruction
+ // adds the Pc. But for x86_64 external relocation entries the Value
+ // is the offset from the external symbol.
+ if (info->O->getAnyRelocationPCRel(RE))
+ op_info->Value -= Pc + Offset + Size;
+ Expected<StringRef> SymName = Symbol.getName();
+ if (!SymName)
+ report_error(info->O->getFileName(), SymName.takeError());
+ const char *name = SymName->data();
+ op_info->AddSymbol.Present = 1;
+ op_info->AddSymbol.Name = name;
+ return 1;
+ }
return 0;
}
// In MH_OBJECT filetypes search the section's relocation entries (if any)
@@ -4572,6 +4612,12 @@ static void print_class64_t(uint64_t p, struct DisassembleInfo *info) {
n_value, c.superclass);
if (name != nullptr)
outs() << " " << name;
+ else {
+ name = get_dyld_bind_info_symbolname(S.getAddress() +
+ offset + offsetof(struct class64_t, superclass), info);
+ if (name != nullptr)
+ outs() << " " << name;
+ }
outs() << "\n";
outs() << " cache " << format("0x%" PRIx64, c.cache);
@@ -7634,6 +7680,10 @@ static void PrintMachHeader(uint32_t magic, uint32_t cputype,
outs() << " APP_EXTENSION_SAFE";
f &= ~MachO::MH_APP_EXTENSION_SAFE;
}
+ if (f & MachO::MH_NLIST_OUTOFSYNC_WITH_DYLDINFO) {
+ outs() << " NLIST_OUTOFSYNC_WITH_DYLDINFO";
+ f &= ~MachO::MH_NLIST_OUTOFSYNC_WITH_DYLDINFO;
+ }
if (f != 0 || flags == 0)
outs() << format(" 0x%08" PRIx32, f);
} else {
@@ -9336,6 +9386,22 @@ void llvm::printMachOLoadCommands(const object::ObjectFile *Obj) {
//===----------------------------------------------------------------------===//
void llvm::printMachOExportsTrie(const object::MachOObjectFile *Obj) {
+ uint64_t BaseSegmentAddress = 0;
+ for (const auto &Command : Obj->load_commands()) {
+ if (Command.C.cmd == MachO::LC_SEGMENT) {
+ MachO::segment_command Seg = Obj->getSegmentLoadCommand(Command);
+ if (Seg.fileoff == 0 && Seg.filesize != 0) {
+ BaseSegmentAddress = Seg.vmaddr;
+ break;
+ }
+ } else if (Command.C.cmd == MachO::LC_SEGMENT_64) {
+ MachO::segment_command_64 Seg = Obj->getSegment64LoadCommand(Command);
+ if (Seg.fileoff == 0 && Seg.filesize != 0) {
+ BaseSegmentAddress = Seg.vmaddr;
+ break;
+ }
+ }
+ }
for (const llvm::object::ExportEntry &Entry : Obj->exports()) {
uint64_t Flags = Entry.flags();
bool ReExport = (Flags & MachO::EXPORT_SYMBOL_FLAGS_REEXPORT);
@@ -9349,7 +9415,7 @@ void llvm::printMachOExportsTrie(const object::MachOObjectFile *Obj) {
outs() << "[re-export] ";
else
outs() << format("0x%08llX ",
- Entry.address()); // FIXME:add in base address
+ Entry.address() + BaseSegmentAddress);
outs() << Entry.name();
if (WeakDef || ThreadLocal || Resolver || Abs) {
bool NeedsComma = false;
diff --git a/tools/llvm-pdbutil/Analyze.cpp b/tools/llvm-pdbutil/Analyze.cpp
index b503cdcbf1ea..6c603dd8542b 100644
--- a/tools/llvm-pdbutil/Analyze.cpp
+++ b/tools/llvm-pdbutil/Analyze.cpp
@@ -12,10 +12,8 @@
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h"
+#include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
-#include "llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h"
#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
#include "llvm/DebugInfo/PDB/Native/RawError.h"
@@ -73,16 +71,14 @@ Error AnalysisStyle::dump() {
if (!Tpi)
return Tpi.takeError();
- TypeDatabase TypeDB(Tpi->getNumTypeRecords());
- TypeDatabaseVisitor DBV(TypeDB);
- TypeVisitorCallbackPipeline Pipeline;
HashLookupVisitor Hasher(*Tpi);
- // Add them to the database
- Pipeline.addCallbackToPipeline(DBV);
- // Store their hash values
- Pipeline.addCallbackToPipeline(Hasher);
- if (auto EC = codeview::visitTypeStream(Tpi->typeArray(), Pipeline))
+ uint32_t RecordCount = Tpi->getNumTypeRecords();
+ auto Offsets = Tpi->getTypeIndexOffsets();
+ auto Types = llvm::make_unique<LazyRandomTypeCollection>(
+ Tpi->typeArray(), RecordCount, Offsets);
+
+ if (auto EC = codeview::visitTypeStream(*Types, Hasher))
return EC;
auto &Adjusters = Tpi->getHashAdjusters();
@@ -109,7 +105,7 @@ Error AnalysisStyle::dump() {
}
StringRef LeafName = getLeafTypeName(R.Record.Type);
uint32_t TI = R.TI.getIndex();
- StringRef TypeName = TypeDB.getTypeName(R.TI);
+ StringRef TypeName = Types->getTypeName(R.TI);
outs() << formatv("{0,-6} {1} ({2:x}) {3}\n", Prefix, LeafName, TI,
TypeName);
}
@@ -119,8 +115,8 @@ Error AnalysisStyle::dump() {
outs() << "Dumping hash adjustment chains\n";
for (const auto &A : Tpi->getHashAdjusters()) {
TypeIndex TI(A.second);
- StringRef TypeName = TypeDB.getTypeName(TI);
- const CVType &HeadRecord = TypeDB.getTypeRecord(TI);
+ StringRef TypeName = Types->getTypeName(TI);
+ const CVType &HeadRecord = Types->getType(TI);
assert(HeadRecord.Hash.hasValue());
auto CollisionsIter = Hasher.Lookup.find(*HeadRecord.Hash);
@@ -134,10 +130,10 @@ Error AnalysisStyle::dump() {
for (const auto &Chain : Collisions) {
if (Chain.TI == TI)
continue;
- const CVType &TailRecord = TypeDB.getTypeRecord(Chain.TI);
+ const CVType &TailRecord = Types->getType(Chain.TI);
outs() << formatv(" {0:x} {1} {2}\n", Chain.TI.getIndex(),
getLeafTypeName(TailRecord.Type),
- TypeDB.getTypeName(Chain.TI));
+ Types->getTypeName(Chain.TI));
}
}
outs() << formatv("There are {0} orphaned hash adjusters\n",
diff --git a/tools/llvm-pdbutil/BytesOutputStyle.cpp b/tools/llvm-pdbutil/BytesOutputStyle.cpp
new file mode 100644
index 000000000000..9e5a28c2b98b
--- /dev/null
+++ b/tools/llvm-pdbutil/BytesOutputStyle.cpp
@@ -0,0 +1,501 @@
+//===- BytesOutputStyle.cpp ----------------------------------- *- C++ --*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "BytesOutputStyle.h"
+
+#include "FormatUtil.h"
+#include "StreamUtil.h"
+#include "llvm-pdbutil.h"
+
+#include "llvm/DebugInfo/CodeView/Formatters.h"
+#include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h"
+#include "llvm/DebugInfo/MSF/MappedBlockStream.h"
+#include "llvm/DebugInfo/PDB/Native/DbiStream.h"
+#include "llvm/DebugInfo/PDB/Native/InfoStream.h"
+#include "llvm/DebugInfo/PDB/Native/ModuleDebugStream.h"
+#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
+#include "llvm/DebugInfo/PDB/Native/RawError.h"
+#include "llvm/DebugInfo/PDB/Native/TpiStream.h"
+#include "llvm/Support/BinaryStreamReader.h"
+#include "llvm/Support/FormatAdapters.h"
+#include "llvm/Support/FormatVariadic.h"
+
+using namespace llvm;
+using namespace llvm::codeview;
+using namespace llvm::msf;
+using namespace llvm::pdb;
+
+namespace {
+struct StreamSpec {
+ uint32_t SI = 0;
+ uint32_t Begin = 0;
+ uint32_t Size = 0;
+};
+} // namespace
+
+static Expected<StreamSpec> parseStreamSpec(StringRef Str) {
+ StreamSpec Result;
+ if (Str.consumeInteger(0, Result.SI))
+ return make_error<RawError>(raw_error_code::invalid_format,
+ "Invalid Stream Specification");
+ if (Str.consume_front(":")) {
+ if (Str.consumeInteger(0, Result.Begin))
+ return make_error<RawError>(raw_error_code::invalid_format,
+ "Invalid Stream Specification");
+ }
+ if (Str.consume_front("@")) {
+ if (Str.consumeInteger(0, Result.Size))
+ return make_error<RawError>(raw_error_code::invalid_format,
+ "Invalid Stream Specification");
+ }
+
+ if (!Str.empty())
+ return make_error<RawError>(raw_error_code::invalid_format,
+ "Invalid Stream Specification");
+ return Result;
+}
+
+static SmallVector<StreamSpec, 2> parseStreamSpecs(LinePrinter &P) {
+ SmallVector<StreamSpec, 2> Result;
+
+ for (auto &Str : opts::bytes::DumpStreamData) {
+ auto ESS = parseStreamSpec(Str);
+ if (!ESS) {
+ P.formatLine("Error parsing stream spec {0}: {1}", Str,
+ toString(ESS.takeError()));
+ continue;
+ }
+ Result.push_back(*ESS);
+ }
+ return Result;
+}
+
+static void printHeader(LinePrinter &P, const Twine &S) {
+ P.NewLine();
+ P.formatLine("{0,=60}", S);
+ P.formatLine("{0}", fmt_repeat('=', 60));
+}
+
+BytesOutputStyle::BytesOutputStyle(PDBFile &File)
+ : File(File), P(2, false, outs()) {}
+
+Error BytesOutputStyle::dump() {
+
+ if (opts::bytes::DumpBlockRange.hasValue()) {
+ auto &R = *opts::bytes::DumpBlockRange;
+ uint32_t Max = R.Max.getValueOr(R.Min);
+
+ if (Max < R.Min)
+ return make_error<StringError>(
+ "Invalid block range specified. Max < Min",
+ inconvertibleErrorCode());
+ if (Max >= File.getBlockCount())
+ return make_error<StringError>(
+ "Invalid block range specified. Requested block out of bounds",
+ inconvertibleErrorCode());
+
+ dumpBlockRanges(R.Min, Max);
+ P.NewLine();
+ }
+
+ if (opts::bytes::DumpByteRange.hasValue()) {
+ auto &R = *opts::bytes::DumpByteRange;
+ uint32_t Max = R.Max.getValueOr(File.getFileSize());
+
+ if (Max < R.Min)
+ return make_error<StringError>("Invalid byte range specified. Max < Min",
+ inconvertibleErrorCode());
+ if (Max >= File.getFileSize())
+ return make_error<StringError>(
+ "Invalid byte range specified. Requested byte larger than file size",
+ inconvertibleErrorCode());
+
+ dumpByteRanges(R.Min, Max);
+ P.NewLine();
+ }
+
+ if (!opts::bytes::DumpStreamData.empty()) {
+ dumpStreamBytes();
+ P.NewLine();
+ }
+
+ if (opts::bytes::NameMap) {
+ dumpNameMap();
+ P.NewLine();
+ }
+
+ if (opts::bytes::SectionContributions) {
+ dumpSectionContributions();
+ P.NewLine();
+ }
+
+ if (opts::bytes::SectionMap) {
+ dumpSectionMap();
+ P.NewLine();
+ }
+
+ if (opts::bytes::ModuleInfos) {
+ dumpModuleInfos();
+ P.NewLine();
+ }
+
+ if (opts::bytes::FileInfo) {
+ dumpFileInfo();
+ P.NewLine();
+ }
+
+ if (opts::bytes::TypeServerMap) {
+ dumpTypeServerMap();
+ P.NewLine();
+ }
+
+ if (opts::bytes::ECData) {
+ dumpECData();
+ P.NewLine();
+ }
+
+ if (!opts::bytes::TypeIndex.empty()) {
+ dumpTypeIndex(StreamTPI, opts::bytes::TypeIndex);
+ P.NewLine();
+ }
+
+ if (!opts::bytes::IdIndex.empty()) {
+ dumpTypeIndex(StreamIPI, opts::bytes::IdIndex);
+ P.NewLine();
+ }
+
+ if (opts::bytes::ModuleSyms) {
+ dumpModuleSyms();
+ P.NewLine();
+ }
+
+ if (opts::bytes::ModuleC11) {
+ dumpModuleC11();
+ P.NewLine();
+ }
+
+ if (opts::bytes::ModuleC13) {
+ dumpModuleC13();
+ P.NewLine();
+ }
+
+ return Error::success();
+}
+
+void BytesOutputStyle::dumpNameMap() {
+ printHeader(P, "Named Stream Map");
+
+ AutoIndent Indent(P);
+
+ auto &InfoS = Err(File.getPDBInfoStream());
+ BinarySubstreamRef NS = InfoS.getNamedStreamsBuffer();
+ auto Layout = File.getStreamLayout(StreamPDB);
+ P.formatMsfStreamData("Named Stream Map", File, Layout, NS);
+}
+
+void BytesOutputStyle::dumpBlockRanges(uint32_t Min, uint32_t Max) {
+ printHeader(P, "MSF Blocks");
+
+ AutoIndent Indent(P);
+ for (uint32_t I = Min; I <= Max; ++I) {
+ uint64_t Base = I;
+ Base *= File.getBlockSize();
+
+ auto ExpectedData = File.getBlockData(I, File.getBlockSize());
+ if (!ExpectedData) {
+ P.formatLine("Could not get block {0}. Reason = {1}", I,
+ toString(ExpectedData.takeError()));
+ continue;
+ }
+ std::string Label = formatv("Block {0}", I).str();
+ P.formatBinary(Label, *ExpectedData, Base, 0);
+ }
+}
+
+void BytesOutputStyle::dumpSectionContributions() {
+ printHeader(P, "Section Contributions");
+
+ AutoIndent Indent(P);
+
+ auto &DbiS = Err(File.getPDBDbiStream());
+ BinarySubstreamRef NS = DbiS.getSectionContributionData();
+ auto Layout = File.getStreamLayout(StreamDBI);
+ P.formatMsfStreamData("Section Contributions", File, Layout, NS);
+}
+
+void BytesOutputStyle::dumpSectionMap() {
+ printHeader(P, "Section Map");
+
+ AutoIndent Indent(P);
+
+ auto &DbiS = Err(File.getPDBDbiStream());
+ BinarySubstreamRef NS = DbiS.getSecMapSubstreamData();
+ auto Layout = File.getStreamLayout(StreamDBI);
+ P.formatMsfStreamData("Section Map", File, Layout, NS);
+}
+
+void BytesOutputStyle::dumpModuleInfos() {
+ printHeader(P, "Module Infos");
+
+ AutoIndent Indent(P);
+
+ auto &DbiS = Err(File.getPDBDbiStream());
+ BinarySubstreamRef NS = DbiS.getModiSubstreamData();
+ auto Layout = File.getStreamLayout(StreamDBI);
+ P.formatMsfStreamData("Module Infos", File, Layout, NS);
+}
+
+void BytesOutputStyle::dumpFileInfo() {
+ printHeader(P, "File Info");
+
+ AutoIndent Indent(P);
+
+ auto &DbiS = Err(File.getPDBDbiStream());
+ BinarySubstreamRef NS = DbiS.getFileInfoSubstreamData();
+ auto Layout = File.getStreamLayout(StreamDBI);
+ P.formatMsfStreamData("File Info", File, Layout, NS);
+}
+
+void BytesOutputStyle::dumpTypeServerMap() {
+ printHeader(P, "Type Server Map");
+
+ AutoIndent Indent(P);
+
+ auto &DbiS = Err(File.getPDBDbiStream());
+ BinarySubstreamRef NS = DbiS.getTypeServerMapSubstreamData();
+ auto Layout = File.getStreamLayout(StreamDBI);
+ P.formatMsfStreamData("Type Server Map", File, Layout, NS);
+}
+
+void BytesOutputStyle::dumpECData() {
+ printHeader(P, "Edit and Continue Data");
+
+ AutoIndent Indent(P);
+
+ auto &DbiS = Err(File.getPDBDbiStream());
+ BinarySubstreamRef NS = DbiS.getECSubstreamData();
+ auto Layout = File.getStreamLayout(StreamDBI);
+ P.formatMsfStreamData("Edit and Continue Data", File, Layout, NS);
+}
+
+void BytesOutputStyle::dumpTypeIndex(uint32_t StreamIdx,
+ ArrayRef<uint32_t> Indices) {
+ assert(StreamIdx == StreamTPI || StreamIdx == StreamIPI);
+ assert(!Indices.empty());
+
+ bool IsTpi = (StreamIdx == StreamTPI);
+
+ StringRef Label = IsTpi ? "Type (TPI) Records" : "Index (IPI) Records";
+ printHeader(P, Label);
+ auto &Stream = Err(IsTpi ? File.getPDBTpiStream() : File.getPDBIpiStream());
+
+ AutoIndent Indent(P);
+
+ auto Substream = Stream.getTypeRecordsSubstream();
+ auto &Types = Err(initializeTypes(StreamIdx));
+ auto Layout = File.getStreamLayout(StreamIdx);
+ for (const auto &Id : Indices) {
+ TypeIndex TI(Id);
+ if (TI.toArrayIndex() >= Types.capacity()) {
+ P.formatLine("Error: TypeIndex {0} does not exist", TI);
+ continue;
+ }
+
+ auto Type = Types.getType(TI);
+ uint32_t Offset = Types.getOffsetOfType(TI);
+ auto OneType = Substream.slice(Offset, Type.length());
+ P.formatMsfStreamData(formatv("Type {0}", TI).str(), File, Layout, OneType);
+ }
+}
+
+template <typename CallbackT>
+static void iterateOneModule(PDBFile &File, LinePrinter &P,
+ const DbiModuleList &Modules, uint32_t I,
+ uint32_t Digits, uint32_t IndentLevel,
+ CallbackT Callback) {
+ if (I >= Modules.getModuleCount()) {
+ P.formatLine("Mod {0:4} | Invalid module index ",
+ fmt_align(I, AlignStyle::Right, std::max(Digits, 4U)));
+ return;
+ }
+
+ auto Modi = Modules.getModuleDescriptor(I);
+ P.formatLine("Mod {0:4} | `{1}`: ",
+ fmt_align(I, AlignStyle::Right, std::max(Digits, 4U)),
+ Modi.getModuleName());
+
+ uint16_t ModiStream = Modi.getModuleStreamIndex();
+ AutoIndent Indent2(P, IndentLevel);
+ if (ModiStream == kInvalidStreamIndex)
+ return;
+
+ auto ModStreamData = MappedBlockStream::createIndexedStream(
+ File.getMsfLayout(), File.getMsfBuffer(), ModiStream,
+ File.getAllocator());
+ ModuleDebugStreamRef ModStream(Modi, std::move(ModStreamData));
+ if (auto EC = ModStream.reload()) {
+ P.formatLine("Could not parse debug information.");
+ return;
+ }
+ auto Layout = File.getStreamLayout(ModiStream);
+ Callback(I, ModStream, Layout);
+}
+
+template <typename CallbackT>
+static void iterateModules(PDBFile &File, LinePrinter &P, uint32_t IndentLevel,
+ CallbackT Callback) {
+ AutoIndent Indent(P);
+ if (!File.hasPDBDbiStream()) {
+ P.formatLine("DBI Stream not present");
+ return;
+ }
+
+ ExitOnError Err("Unexpected error processing modules");
+
+ auto &Stream = Err(File.getPDBDbiStream());
+
+ const DbiModuleList &Modules = Stream.modules();
+
+ if (opts::bytes::ModuleIndex.getNumOccurrences() > 0) {
+ iterateOneModule(File, P, Modules, opts::bytes::ModuleIndex, 1, IndentLevel,
+ Callback);
+ } else {
+ uint32_t Count = Modules.getModuleCount();
+ uint32_t Digits = NumDigits(Count);
+ for (uint32_t I = 0; I < Count; ++I) {
+ iterateOneModule(File, P, Modules, I, Digits, IndentLevel, Callback);
+ }
+ }
+}
+
+void BytesOutputStyle::dumpModuleSyms() {
+ printHeader(P, "Module Symbols");
+
+ AutoIndent Indent(P);
+
+ iterateModules(File, P, 2,
+ [this](uint32_t Modi, const ModuleDebugStreamRef &Stream,
+ const MSFStreamLayout &Layout) {
+ auto Symbols = Stream.getSymbolsSubstream();
+ P.formatMsfStreamData("Symbols", File, Layout, Symbols);
+ });
+}
+
+void BytesOutputStyle::dumpModuleC11() {
+ printHeader(P, "C11 Debug Chunks");
+
+ AutoIndent Indent(P);
+
+ iterateModules(File, P, 2,
+ [this](uint32_t Modi, const ModuleDebugStreamRef &Stream,
+ const MSFStreamLayout &Layout) {
+ auto Chunks = Stream.getC11LinesSubstream();
+ P.formatMsfStreamData("C11 Debug Chunks", File, Layout,
+ Chunks);
+ });
+}
+
+static std::string formatChunkKind(DebugSubsectionKind Kind) {
+ switch (Kind) {
+ RETURN_CASE(DebugSubsectionKind, None, "none");
+ RETURN_CASE(DebugSubsectionKind, Symbols, "symbols");
+ RETURN_CASE(DebugSubsectionKind, Lines, "lines");
+ RETURN_CASE(DebugSubsectionKind, StringTable, "strings");
+ RETURN_CASE(DebugSubsectionKind, FileChecksums, "checksums");
+ RETURN_CASE(DebugSubsectionKind, FrameData, "frames");
+ RETURN_CASE(DebugSubsectionKind, InlineeLines, "inlinee lines");
+ RETURN_CASE(DebugSubsectionKind, CrossScopeImports, "xmi");
+ RETURN_CASE(DebugSubsectionKind, CrossScopeExports, "xme");
+ RETURN_CASE(DebugSubsectionKind, ILLines, "il lines");
+ RETURN_CASE(DebugSubsectionKind, FuncMDTokenMap, "func md token map");
+ RETURN_CASE(DebugSubsectionKind, TypeMDTokenMap, "type md token map");
+ RETURN_CASE(DebugSubsectionKind, MergedAssemblyInput,
+ "merged assembly input");
+ RETURN_CASE(DebugSubsectionKind, CoffSymbolRVA, "coff symbol rva");
+ }
+ return formatUnknownEnum(Kind);
+}
+
+void BytesOutputStyle::dumpModuleC13() {
+ printHeader(P, "Debug Chunks");
+
+ AutoIndent Indent(P);
+
+ iterateModules(
+ File, P, 2,
+ [this](uint32_t Modi, const ModuleDebugStreamRef &Stream,
+ const MSFStreamLayout &Layout) {
+ auto Chunks = Stream.getC13LinesSubstream();
+ if (opts::bytes::SplitChunks) {
+ for (const auto &SS : Stream.subsections()) {
+ BinarySubstreamRef ThisChunk;
+ std::tie(ThisChunk, Chunks) = Chunks.split(SS.getRecordLength());
+ P.formatMsfStreamData(formatChunkKind(SS.kind()), File, Layout,
+ ThisChunk);
+ }
+ } else {
+ P.formatMsfStreamData("Debug Chunks", File, Layout, Chunks);
+ }
+ });
+}
+
+void BytesOutputStyle::dumpByteRanges(uint32_t Min, uint32_t Max) {
+ printHeader(P, "MSF Bytes");
+
+ AutoIndent Indent(P);
+
+ BinaryStreamReader Reader(File.getMsfBuffer());
+ ArrayRef<uint8_t> Data;
+ consumeError(Reader.skip(Min));
+ uint32_t Size = Max - Min + 1;
+ auto EC = Reader.readBytes(Data, Size);
+ assert(!EC);
+ consumeError(std::move(EC));
+ P.formatBinary("Bytes", Data, Min);
+}
+
+Expected<codeview::LazyRandomTypeCollection &>
+BytesOutputStyle::initializeTypes(uint32_t StreamIdx) {
+ auto &TypeCollection = (StreamIdx == StreamTPI) ? TpiTypes : IpiTypes;
+ if (TypeCollection)
+ return *TypeCollection;
+
+ auto Tpi = (StreamIdx == StreamTPI) ? File.getPDBTpiStream()
+ : File.getPDBIpiStream();
+ if (!Tpi)
+ return Tpi.takeError();
+
+ auto &Types = Tpi->typeArray();
+ uint32_t Count = Tpi->getNumTypeRecords();
+ auto Offsets = Tpi->getTypeIndexOffsets();
+ TypeCollection =
+ llvm::make_unique<LazyRandomTypeCollection>(Types, Count, Offsets);
+
+ return *TypeCollection;
+}
+
+void BytesOutputStyle::dumpStreamBytes() {
+ if (StreamPurposes.empty())
+ discoverStreamPurposes(File, StreamPurposes);
+
+ printHeader(P, "Stream Data");
+ ExitOnError Err("Unexpected error reading stream data");
+
+ auto Specs = parseStreamSpecs(P);
+
+ for (const auto &Spec : Specs) {
+ AutoIndent Indent(P);
+ if (Spec.SI >= StreamPurposes.size()) {
+ P.formatLine("Stream {0}: Not present", Spec.SI);
+ continue;
+ }
+ P.formatMsfStreamData("Data", File, Spec.SI, StreamPurposes[Spec.SI],
+ Spec.Begin, Spec.Size);
+ }
+}
diff --git a/tools/llvm-pdbutil/BytesOutputStyle.h b/tools/llvm-pdbutil/BytesOutputStyle.h
new file mode 100644
index 000000000000..c162163fdd01
--- /dev/null
+++ b/tools/llvm-pdbutil/BytesOutputStyle.h
@@ -0,0 +1,67 @@
+//===- BytesOutputStyle.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_BYTESOUTPUTSTYLE_H
+#define LLVM_TOOLS_LLVMPDBDUMP_BYTESOUTPUTSTYLE_H
+
+#include "LinePrinter.h"
+#include "OutputStyle.h"
+
+#include "llvm/Support/Error.h"
+
+namespace llvm {
+
+namespace codeview {
+class LazyRandomTypeCollection;
+}
+
+namespace pdb {
+
+class PDBFile;
+
+class BytesOutputStyle : public OutputStyle {
+public:
+ BytesOutputStyle(PDBFile &File);
+
+ Error dump() override;
+
+private:
+ void dumpNameMap();
+ void dumpBlockRanges(uint32_t Min, uint32_t Max);
+ void dumpByteRanges(uint32_t Min, uint32_t Max);
+ void dumpStreamBytes();
+
+ void dumpSectionContributions();
+ void dumpSectionMap();
+ void dumpModuleInfos();
+ void dumpFileInfo();
+ void dumpTypeServerMap();
+ void dumpECData();
+
+ void dumpModuleSyms();
+ void dumpModuleC11();
+ void dumpModuleC13();
+
+ void dumpTypeIndex(uint32_t StreamIdx, ArrayRef<uint32_t> Indices);
+
+ Expected<codeview::LazyRandomTypeCollection &>
+ initializeTypes(uint32_t StreamIdx);
+
+ std::unique_ptr<codeview::LazyRandomTypeCollection> TpiTypes;
+ std::unique_ptr<codeview::LazyRandomTypeCollection> IpiTypes;
+
+ PDBFile &File;
+ LinePrinter P;
+ ExitOnError Err;
+ SmallVector<std::string, 8> StreamPurposes;
+};
+} // namespace pdb
+} // namespace llvm
+
+#endif
diff --git a/tools/llvm-pdbutil/CMakeLists.txt b/tools/llvm-pdbutil/CMakeLists.txt
index d09fa31d8b6a..7a3245424efc 100644
--- a/tools/llvm-pdbutil/CMakeLists.txt
+++ b/tools/llvm-pdbutil/CMakeLists.txt
@@ -9,8 +9,9 @@ set(LLVM_LINK_COMPONENTS
add_llvm_tool(llvm-pdbutil
Analyze.cpp
- CompactTypeDumpVisitor.cpp
+ BytesOutputStyle.cpp
Diff.cpp
+ DumpOutputStyle.cpp
llvm-pdbutil.cpp
FormatUtil.cpp
LinePrinter.cpp
@@ -27,7 +28,6 @@ add_llvm_tool(llvm-pdbutil
PrettyTypeDumper.cpp
PrettyTypedefDumper.cpp
PrettyVariableDumper.cpp
- RawOutputStyle.cpp
StreamUtil.cpp
YAMLOutputStyle.cpp
)
diff --git a/tools/llvm-pdbutil/CompactTypeDumpVisitor.cpp b/tools/llvm-pdbutil/CompactTypeDumpVisitor.cpp
deleted file mode 100644
index 6dd54e0dbec1..000000000000
--- a/tools/llvm-pdbutil/CompactTypeDumpVisitor.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//===-- CompactTypeDumpVisitor.cpp - CodeView type info dumper --*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "CompactTypeDumpVisitor.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
-#include "llvm/Support/FormatVariadic.h"
-#include "llvm/Support/ScopedPrinter.h"
-
-using namespace llvm;
-using namespace llvm::codeview;
-using namespace llvm::pdb;
-
-static const EnumEntry<TypeLeafKind> LeafTypeNames[] = {
-#define CV_TYPE(enum, val) {#enum, enum},
-#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
-};
-
-static StringRef getLeafName(TypeLeafKind K) {
- for (const auto &E : LeafTypeNames) {
- if (E.Value == K)
- return E.Name;
- }
- return StringRef();
-}
-
-CompactTypeDumpVisitor::CompactTypeDumpVisitor(TypeCollection &Types,
- ScopedPrinter *W)
- : CompactTypeDumpVisitor(Types, TypeIndex(TypeIndex::FirstNonSimpleIndex),
- W) {}
-
-CompactTypeDumpVisitor::CompactTypeDumpVisitor(TypeCollection &Types,
- TypeIndex FirstTI,
- ScopedPrinter *W)
- : W(W), TI(FirstTI), Offset(0), Types(Types) {}
-
-Error CompactTypeDumpVisitor::visitTypeBegin(CVType &Record) {
- return Error::success();
-}
-
-Error CompactTypeDumpVisitor::visitTypeEnd(CVType &Record) {
- uint32_t I = TI.getIndex();
- StringRef Leaf = getLeafName(Record.Type);
- StringRef Name = Types.getTypeName(TI);
- W->printString(
- llvm::formatv("Index: {0:x} ({1:N} bytes, offset {2:N}) {3} \"{4}\"", I,
- Record.length(), Offset, Leaf, Name)
- .str());
-
- Offset += Record.length();
- TI.setIndex(TI.getIndex() + 1);
-
- return Error::success();
-}
diff --git a/tools/llvm-pdbutil/CompactTypeDumpVisitor.h b/tools/llvm-pdbutil/CompactTypeDumpVisitor.h
deleted file mode 100644
index 41ccea0c2e90..000000000000
--- a/tools/llvm-pdbutil/CompactTypeDumpVisitor.h
+++ /dev/null
@@ -1,49 +0,0 @@
-//===-- CompactTypeDumpVisitor.h - CodeView type info dumper ----*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_DEBUGINFO_CODEVIEW_COMPACTTYPEDUMPVISITOR_H
-#define LLVM_DEBUGINFO_CODEVIEW_COMPACTTYPEDUMPVISITOR_H
-
-#include "llvm/DebugInfo/CodeView/TypeIndex.h"
-#include "llvm/DebugInfo/CodeView/TypeRecord.h"
-#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
-
-namespace llvm {
-class ScopedPrinter;
-namespace codeview {
-class TypeCollection;
-}
-
-namespace pdb {
-
-/// Dumper for CodeView type streams found in COFF object files and PDB files.
-/// Dumps records on a single line, and ignores member records.
-class CompactTypeDumpVisitor : public codeview::TypeVisitorCallbacks {
-public:
- CompactTypeDumpVisitor(codeview::TypeCollection &Types, ScopedPrinter *W);
- CompactTypeDumpVisitor(codeview::TypeCollection &Types,
- codeview::TypeIndex FirstTI, ScopedPrinter *W);
-
- /// Paired begin/end actions for all types. Receives all record data,
- /// including the fixed-length record prefix.
- Error visitTypeBegin(codeview::CVType &Record) override;
- Error visitTypeEnd(codeview::CVType &Record) override;
-
-private:
- ScopedPrinter *W;
-
- codeview::TypeIndex TI;
- uint32_t Offset;
- codeview::TypeCollection &Types;
-};
-
-} // end namespace pdb
-} // end namespace llvm
-
-#endif
diff --git a/tools/llvm-pdbutil/Diff.cpp b/tools/llvm-pdbutil/Diff.cpp
index 3fe6c511d35f..9b38ae1d603e 100644
--- a/tools/llvm-pdbutil/Diff.cpp
+++ b/tools/llvm-pdbutil/Diff.cpp
@@ -198,17 +198,6 @@ Error DiffStyle::diffSuperBlock() {
File2.getBlockCount());
Diffs |= diffAndPrint("Unknown 1", File1, File2, File1.getUnknown1(),
File2.getUnknown1());
-
- if (opts::diff::Pedantic) {
- Diffs |= diffAndPrint("Free Block Map", File1, File2,
- File1.getFreeBlockMapBlock(),
- File2.getFreeBlockMapBlock());
- Diffs |= diffAndPrint("Directory Size", File1, File2,
- File1.getNumDirectoryBytes(),
- File2.getNumDirectoryBytes());
- Diffs |= diffAndPrint("Block Map Addr", File1, File2,
- File1.getBlockMapOffset(), File2.getBlockMapOffset());
- }
if (!Diffs)
outs() << "MSF Super Block: No differences detected...\n";
return Error::success();
@@ -222,114 +211,72 @@ Error DiffStyle::diffStreamDirectory() {
outs() << "Stream Directory: Searching for differences...\n";
bool HasDifferences = false;
- if (opts::diff::Pedantic) {
- size_t Min = std::min(P.size(), Q.size());
- for (size_t I = 0; I < Min; ++I) {
- StringRef Names[] = {P[I], Q[I]};
- uint32_t Sizes[] = {File1.getStreamByteSize(I),
- File2.getStreamByteSize(I)};
- bool NamesDiffer = Names[0] != Names[1];
- bool SizesDiffer = Sizes[0] != Sizes[1];
- if (NamesDiffer) {
- HasDifferences = true;
- outs().indent(2) << formatv("Stream {0} - {1}: {2}, {3}: {4}\n", I,
- File1.getFilePath(), Names[0],
- File2.getFilePath(), Names[1]);
- continue;
- }
- if (SizesDiffer) {
- HasDifferences = true;
- outs().indent(2) << formatv(
- "Stream {0} ({1}): {2}: {3} bytes, {4}: {5} bytes\n", I, Names[0],
- File1.getFilePath(), Sizes[0], File2.getFilePath(), Sizes[1]);
- continue;
- }
- }
+ auto PI = to_vector<32>(enumerate(P));
+ auto QI = to_vector<32>(enumerate(Q));
- ArrayRef<std::string> MaxNames = (P.size() > Q.size() ? P : Q);
- size_t Max = std::max(P.size(), Q.size());
- PDBFile &MaxFile = (P.size() > Q.size() ? File1 : File2);
- StringRef MinFileName =
- (P.size() < Q.size() ? File1.getFilePath() : File2.getFilePath());
- for (size_t I = Min; I < Max; ++I) {
- HasDifferences = true;
- StringRef StreamName = MaxNames[I];
-
- outs().indent(2) << formatv(
- "Stream {0} - {1}: <not present>, {2}: Index {3}, {4} bytes\n",
- StreamName, MinFileName, MaxFile.getFilePath(), I,
- MaxFile.getStreamByteSize(I));
- }
- if (!HasDifferences)
- outs() << "Stream Directory: No differences detected...\n";
- } else {
- auto PI = to_vector<32>(enumerate(P));
- auto QI = to_vector<32>(enumerate(Q));
-
- typedef decltype(PI) ContainerType;
- typedef typename ContainerType::value_type value_type;
-
- auto Comparator = [](const value_type &I1, const value_type &I2) {
- return I1.value() < I2.value();
- };
-
- decltype(PI) OnlyP;
- decltype(QI) OnlyQ;
- decltype(PI) Common;
-
- set_differences(PI, QI, &OnlyP, &OnlyQ, &Common, Comparator);
-
- if (!OnlyP.empty()) {
- HasDifferences = true;
- outs().indent(2) << formatv("{0} Stream(s) only in ({1})\n", OnlyP.size(),
- File1.getFilePath());
- for (auto &Item : OnlyP) {
- outs().indent(4) << formatv("Stream {0} - {1}\n", Item.index(),
- Item.value());
- }
+ typedef decltype(PI) ContainerType;
+ typedef typename ContainerType::value_type value_type;
+
+ auto Comparator = [](const value_type &I1, const value_type &I2) {
+ return I1.value() < I2.value();
+ };
+
+ decltype(PI) OnlyP;
+ decltype(QI) OnlyQ;
+ decltype(PI) Common;
+
+ set_differences(PI, QI, &OnlyP, &OnlyQ, &Common, Comparator);
+
+ if (!OnlyP.empty()) {
+ HasDifferences = true;
+ outs().indent(2) << formatv("{0} Stream(s) only in ({1})\n", OnlyP.size(),
+ File1.getFilePath());
+ for (auto &Item : OnlyP) {
+ outs().indent(4) << formatv("Stream {0} - {1}\n", Item.index(),
+ Item.value());
}
+ }
- if (!OnlyQ.empty()) {
- HasDifferences = true;
- outs().indent(2) << formatv("{0} Streams(s) only in ({1})\n",
- OnlyQ.size(), File2.getFilePath());
- for (auto &Item : OnlyQ) {
- outs().indent(4) << formatv("Stream {0} - {1}\n", Item.index(),
- Item.value());
- }
+ if (!OnlyQ.empty()) {
+ HasDifferences = true;
+ outs().indent(2) << formatv("{0} Streams(s) only in ({1})\n", OnlyQ.size(),
+ File2.getFilePath());
+ for (auto &Item : OnlyQ) {
+ outs().indent(4) << formatv("Stream {0} - {1}\n", Item.index(),
+ Item.value());
}
- if (!Common.empty()) {
- outs().indent(2) << formatv("Found {0} common streams. Searching for "
- "intra-stream differences.\n",
- Common.size());
- bool HasCommonDifferences = false;
- for (const auto &Left : Common) {
- // Left was copied from the first range so its index refers to a stream
- // index in the first file. Find the corresponding stream index in the
- // second file.
- auto Range =
- std::equal_range(QI.begin(), QI.end(), Left,
- [](const value_type &L, const value_type &R) {
- return L.value() < R.value();
- });
- const auto &Right = *Range.first;
- assert(Left.value() == Right.value());
- uint32_t LeftSize = File1.getStreamByteSize(Left.index());
- uint32_t RightSize = File2.getStreamByteSize(Right.index());
- if (LeftSize != RightSize) {
- HasDifferences = true;
- HasCommonDifferences = true;
- outs().indent(4) << formatv("{0} ({1}: {2} bytes, {3}: {4} bytes)\n",
- Left.value(), File1.getFilePath(),
- LeftSize, File2.getFilePath(), RightSize);
- }
+ }
+ if (!Common.empty()) {
+ outs().indent(2) << formatv("Found {0} common streams. Searching for "
+ "intra-stream differences.\n",
+ Common.size());
+ bool HasCommonDifferences = false;
+ for (const auto &Left : Common) {
+ // Left was copied from the first range so its index refers to a stream
+ // index in the first file. Find the corresponding stream index in the
+ // second file.
+ auto Range =
+ std::equal_range(QI.begin(), QI.end(), Left,
+ [](const value_type &L, const value_type &R) {
+ return L.value() < R.value();
+ });
+ const auto &Right = *Range.first;
+ assert(Left.value() == Right.value());
+ uint32_t LeftSize = File1.getStreamByteSize(Left.index());
+ uint32_t RightSize = File2.getStreamByteSize(Right.index());
+ if (LeftSize != RightSize) {
+ HasDifferences = true;
+ HasCommonDifferences = true;
+ outs().indent(4) << formatv("{0} ({1}: {2} bytes, {3}: {4} bytes)\n",
+ Left.value(), File1.getFilePath(), LeftSize,
+ File2.getFilePath(), RightSize);
}
- if (!HasCommonDifferences)
- outs().indent(2) << "Common Streams: No differences detected!\n";
}
- if (!HasDifferences)
- outs() << "Stream Directory: No differences detected!\n";
+ if (!HasCommonDifferences)
+ outs().indent(2) << "Common Streams: No differences detected!\n";
}
+ if (!HasDifferences)
+ outs() << "Stream Directory: No differences detected!\n";
return Error::success();
}
@@ -384,77 +331,39 @@ Error DiffStyle::diffStringTable() {
auto IdList1 = ST1.name_ids();
auto IdList2 = ST2.name_ids();
- if (opts::diff::Pedantic) {
- // In pedantic mode, we compare index by index (i.e. the strings are in the
- // same order
- // in both tables.
- uint32_t Max = std::max(IdList1.size(), IdList2.size());
- for (uint32_t I = 0; I < Max; ++I) {
- Optional<uint32_t> Id1, Id2;
- StringRef S1, S2;
- if (I < IdList1.size()) {
- Id1 = IdList1[I];
- if (auto Result = ST1.getStringForID(*Id1))
- S1 = *Result;
- else
- return Result.takeError();
- }
- if (I < IdList2.size()) {
- Id2 = IdList2[I];
- if (auto Result = ST2.getStringForID(*Id2))
- S2 = *Result;
- else
- return Result.takeError();
- }
- if (Id1 == Id2 && S1 == S2)
- continue;
-
- std::string OutId1 =
- Id1 ? formatv("{0}", *Id1).str() : "(index not present)";
- std::string OutId2 =
- Id2 ? formatv("{0}", *Id2).str() : "(index not present)";
- outs() << formatv(" String {0}\n", I);
- outs() << formatv(" {0}: Hash - {1}, Value - {2}\n",
- File1.getFilePath(), OutId1, S1);
- outs() << formatv(" {0}: Hash - {1}, Value - {2}\n",
- File2.getFilePath(), OutId2, S2);
- HasDiff = true;
- }
- } else {
- std::vector<StringRef> Strings1, Strings2;
- Strings1.reserve(IdList1.size());
- Strings2.reserve(IdList2.size());
- for (auto ID : IdList1) {
- auto S = ST1.getStringForID(ID);
- if (!S)
- return S.takeError();
- Strings1.push_back(*S);
- }
- for (auto ID : IdList2) {
- auto S = ST2.getStringForID(ID);
- if (!S)
- return S.takeError();
- Strings2.push_back(*S);
- }
+ std::vector<StringRef> Strings1, Strings2;
+ Strings1.reserve(IdList1.size());
+ Strings2.reserve(IdList2.size());
+ for (auto ID : IdList1) {
+ auto S = ST1.getStringForID(ID);
+ if (!S)
+ return S.takeError();
+ Strings1.push_back(*S);
+ }
+ for (auto ID : IdList2) {
+ auto S = ST2.getStringForID(ID);
+ if (!S)
+ return S.takeError();
+ Strings2.push_back(*S);
+ }
- SmallVector<StringRef, 64> OnlyP;
- SmallVector<StringRef, 64> OnlyQ;
- auto End1 = std::remove(Strings1.begin(), Strings1.end(), "");
- auto End2 = std::remove(Strings2.begin(), Strings2.end(), "");
- uint32_t Empty1 = std::distance(End1, Strings1.end());
- uint32_t Empty2 = std::distance(End2, Strings2.end());
- Strings1.erase(End1, Strings1.end());
- Strings2.erase(End2, Strings2.end());
- set_differences(Strings1, Strings2, &OnlyP, &OnlyQ);
- printSymmetricDifferences(File1, File2, OnlyP, OnlyQ, "String");
-
- if (Empty1 != Empty2) {
- PDBFile &MoreF = (Empty1 > Empty2) ? File1 : File2;
- PDBFile &LessF = (Empty1 < Empty2) ? File1 : File2;
- uint32_t Difference = AbsoluteDifference(Empty1, Empty2);
- outs() << formatv(" {0} had {1} more empty strings than {2}\n",
- MoreF.getFilePath(), Difference, LessF.getFilePath());
- }
+ SmallVector<StringRef, 64> OnlyP;
+ SmallVector<StringRef, 64> OnlyQ;
+ auto End1 = std::remove(Strings1.begin(), Strings1.end(), "");
+ auto End2 = std::remove(Strings2.begin(), Strings2.end(), "");
+ uint32_t Empty1 = std::distance(End1, Strings1.end());
+ uint32_t Empty2 = std::distance(End2, Strings2.end());
+ Strings1.erase(End1, Strings1.end());
+ Strings2.erase(End2, Strings2.end());
+ set_differences(Strings1, Strings2, &OnlyP, &OnlyQ);
+ printSymmetricDifferences(File1, File2, OnlyP, OnlyQ, "String");
+
+ if (Empty1 != Empty2) {
+ PDBFile &MoreF = (Empty1 > Empty2) ? File1 : File2;
+ PDBFile &LessF = (Empty1 < Empty2) ? File1 : File2;
+ uint32_t Difference = AbsoluteDifference(Empty1, Empty2);
+ outs() << formatv(" {0} had {1} more empty strings than {2}\n",
+ MoreF.getFilePath(), Difference, LessF.getFilePath());
}
if (!HasDiff)
outs() << "String Table: No differences detected!\n";
diff --git a/tools/llvm-pdbutil/RawOutputStyle.cpp b/tools/llvm-pdbutil/DumpOutputStyle.cpp
index b204a89ec317..f76635f9e511 100644
--- a/tools/llvm-pdbutil/RawOutputStyle.cpp
+++ b/tools/llvm-pdbutil/DumpOutputStyle.cpp
@@ -1,4 +1,4 @@
-//===- RawOutputStyle.cpp ------------------------------------ *- C++ --*-===//
+//===- DumpOutputStyle.cpp ------------------------------------ *- C++ --*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,9 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#include "RawOutputStyle.h"
+#include "DumpOutputStyle.h"
-#include "CompactTypeDumpVisitor.h"
#include "FormatUtil.h"
#include "MinimalSymbolDumper.h"
#include "MinimalTypeDumper.h"
@@ -65,96 +64,84 @@ using namespace llvm::codeview;
using namespace llvm::msf;
using namespace llvm::pdb;
-RawOutputStyle::RawOutputStyle(PDBFile &File)
+DumpOutputStyle::DumpOutputStyle(PDBFile &File)
: File(File), P(2, false, outs()) {}
-Error RawOutputStyle::dump() {
- if (opts::raw::DumpSummary) {
+Error DumpOutputStyle::dump() {
+ if (opts::dump::DumpSummary) {
if (auto EC = dumpFileSummary())
return EC;
P.NewLine();
}
- if (opts::raw::DumpStreams) {
+ if (opts::dump::DumpStreams) {
if (auto EC = dumpStreamSummary())
return EC;
P.NewLine();
}
- if (opts::raw::DumpBlockRange.hasValue()) {
- if (auto EC = dumpBlockRanges())
- return EC;
- P.NewLine();
- }
-
- if (!opts::raw::DumpStreamData.empty()) {
- if (auto EC = dumpStreamBytes())
- return EC;
- P.NewLine();
- }
-
- if (opts::raw::DumpStringTable) {
+ if (opts::dump::DumpStringTable) {
if (auto EC = dumpStringTable())
return EC;
P.NewLine();
}
- if (opts::raw::DumpModules) {
+ if (opts::dump::DumpModules) {
if (auto EC = dumpModules())
return EC;
}
- if (opts::raw::DumpModuleFiles) {
+ if (opts::dump::DumpModuleFiles) {
if (auto EC = dumpModuleFiles())
return EC;
}
- if (opts::raw::DumpLines) {
+ if (opts::dump::DumpLines) {
if (auto EC = dumpLines())
return EC;
}
- if (opts::raw::DumpInlineeLines) {
+ if (opts::dump::DumpInlineeLines) {
if (auto EC = dumpInlineeLines())
return EC;
}
- if (opts::raw::DumpXmi) {
+ if (opts::dump::DumpXmi) {
if (auto EC = dumpXmi())
return EC;
}
- if (opts::raw::DumpXme) {
+ if (opts::dump::DumpXme) {
if (auto EC = dumpXme())
return EC;
}
- if (opts::raw::DumpTypes || opts::raw::DumpTypeExtras) {
+ if (opts::dump::DumpTypes || opts::dump::DumpTypeExtras) {
if (auto EC = dumpTpiStream(StreamTPI))
return EC;
}
- if (opts::raw::DumpIds || opts::raw::DumpIdExtras) {
+ if (opts::dump::DumpIds || opts::dump::DumpIdExtras) {
if (auto EC = dumpTpiStream(StreamIPI))
return EC;
}
- if (opts::raw::DumpPublics) {
+ if (opts::dump::DumpPublics) {
if (auto EC = dumpPublics())
return EC;
}
- if (opts::raw::DumpSymbols) {
+ if (opts::dump::DumpSymbols) {
if (auto EC = dumpModuleSyms())
return EC;
}
- if (opts::raw::DumpSectionContribs) {
+ if (opts::dump::DumpSectionContribs) {
if (auto EC = dumpSectionContribs())
return EC;
}
- if (opts::raw::DumpSectionMap) {
+ if (opts::dump::DumpSectionMap) {
if (auto EC = dumpSectionMap())
return EC;
}
@@ -168,7 +155,7 @@ static void printHeader(LinePrinter &P, const Twine &S) {
P.formatLine("{0}", fmt_repeat('=', 60));
}
-Error RawOutputStyle::dumpFileSummary() {
+Error DumpOutputStyle::dumpFileSummary() {
printHeader(P, "Summary");
ExitOnError Err("Invalid PDB Format");
@@ -198,7 +185,7 @@ Error RawOutputStyle::dumpFileSummary() {
return Error::success();
}
-Error RawOutputStyle::dumpStreamSummary() {
+Error DumpOutputStyle::dumpStreamSummary() {
printHeader(P, "Streams");
if (StreamPurposes.empty())
@@ -212,105 +199,15 @@ Error RawOutputStyle::dumpStreamSummary() {
"Stream {0}: [{1}] ({2} bytes)",
fmt_align(StreamIdx, AlignStyle::Right, NumDigits(StreamCount)),
StreamPurposes[StreamIdx], File.getStreamByteSize(StreamIdx));
- }
-
- return Error::success();
-}
-
-Error RawOutputStyle::dumpBlockRanges() {
- printHeader(P, "MSF Blocks");
-
- auto &R = *opts::raw::DumpBlockRange;
- uint32_t Max = R.Max.getValueOr(R.Min);
-
- AutoIndent Indent(P);
- if (Max < R.Min)
- return make_error<StringError>(
- "Invalid block range specified. Max < Min",
- std::make_error_code(std::errc::bad_address));
- if (Max >= File.getBlockCount())
- return make_error<StringError>(
- "Invalid block range specified. Requested block out of bounds",
- std::make_error_code(std::errc::bad_address));
-
- for (uint32_t I = R.Min; I <= Max; ++I) {
- auto ExpectedData = File.getBlockData(I, File.getBlockSize());
- if (!ExpectedData)
- return ExpectedData.takeError();
- std::string Label = formatv("Block {0}", I).str();
- P.formatBinary(Label, *ExpectedData, 0);
- }
-
- return Error::success();
-}
-
-static Error parseStreamSpec(StringRef Str, uint32_t &SI, uint32_t &Offset,
- uint32_t &Size) {
- if (Str.consumeInteger(0, SI))
- return make_error<RawError>(raw_error_code::invalid_format,
- "Invalid Stream Specification");
- if (Str.consume_front(":")) {
- if (Str.consumeInteger(0, Offset))
- return make_error<RawError>(raw_error_code::invalid_format,
- "Invalid Stream Specification");
- }
- if (Str.consume_front("@")) {
- if (Str.consumeInteger(0, Size))
- return make_error<RawError>(raw_error_code::invalid_format,
- "Invalid Stream Specification");
- }
- if (!Str.empty())
- return make_error<RawError>(raw_error_code::invalid_format,
- "Invalid Stream Specification");
- return Error::success();
-}
-
-Error RawOutputStyle::dumpStreamBytes() {
- if (StreamPurposes.empty())
- discoverStreamPurposes(File, StreamPurposes);
-
- printHeader(P, "Stream Data");
- ExitOnError Err("Unexpected error reading stream data");
-
- for (auto &Str : opts::raw::DumpStreamData) {
- uint32_t SI = 0;
- uint32_t Begin = 0;
- uint32_t Size = 0;
- uint32_t End = 0;
-
- if (auto EC = parseStreamSpec(Str, SI, Begin, Size))
- return EC;
-
- AutoIndent Indent(P);
- if (SI >= File.getNumStreams()) {
- P.formatLine("Stream {0}: Not present", SI);
- continue;
- }
-
- auto S = MappedBlockStream::createIndexedStream(
- File.getMsfLayout(), File.getMsfBuffer(), SI, File.getAllocator());
- if (!S) {
- P.NewLine();
- P.formatLine("Stream {0}: Not present", SI);
- continue;
+ if (opts::dump::DumpStreamBlocks) {
+ auto Blocks = File.getStreamBlockList(StreamIdx);
+ std::vector<uint32_t> BV(Blocks.begin(), Blocks.end());
+ P.formatLine(" {0} Blocks: [{1}]",
+ fmt_repeat(' ', NumDigits(StreamCount)),
+ make_range(BV.begin(), BV.end()));
}
-
- if (Size == 0)
- End = S->getLength();
- else
- End = std::min(Begin + Size, S->getLength());
-
- P.formatLine("Stream {0} ({1:N} bytes): {2}", SI, S->getLength(),
- StreamPurposes[SI]);
- AutoIndent Indent2(P);
-
- BinaryStreamReader R(*S);
- ArrayRef<uint8_t> StreamData;
- Err(R.readBytes(StreamData, S->getLength()));
- Size = End - Begin;
- StreamData = StreamData.slice(Begin, Size);
- P.formatBinary("Data", StreamData, Begin);
}
+
return Error::success();
}
@@ -494,7 +391,7 @@ static void iterateModuleSubsections(
});
}
-Error RawOutputStyle::dumpModules() {
+Error DumpOutputStyle::dumpModules() {
printHeader(P, "Modules");
AutoIndent Indent(P);
@@ -522,7 +419,7 @@ Error RawOutputStyle::dumpModules() {
return Error::success();
}
-Error RawOutputStyle::dumpModuleFiles() {
+Error DumpOutputStyle::dumpModuleFiles() {
printHeader(P, "Files");
ExitOnError Err("Unexpected error processing modules");
@@ -574,7 +471,7 @@ static void typesetLinesAndColumns(PDBFile &File, LinePrinter &P,
}
}
-Error RawOutputStyle::dumpLines() {
+Error DumpOutputStyle::dumpLines() {
printHeader(P, "Lines");
uint32_t LastModi = UINT32_MAX;
@@ -610,7 +507,7 @@ Error RawOutputStyle::dumpLines() {
return Error::success();
}
-Error RawOutputStyle::dumpInlineeLines() {
+Error DumpOutputStyle::dumpInlineeLines() {
printHeader(P, "Inlinee Lines");
iterateModuleSubsections<DebugInlineeLinesSubsectionRef>(
@@ -629,7 +526,7 @@ Error RawOutputStyle::dumpInlineeLines() {
return Error::success();
}
-Error RawOutputStyle::dumpXmi() {
+Error DumpOutputStyle::dumpXmi() {
printHeader(P, "Cross Module Imports");
iterateModuleSubsections<DebugCrossModuleImportsSubsectionRef>(
File, P, 2,
@@ -664,7 +561,7 @@ Error RawOutputStyle::dumpXmi() {
return Error::success();
}
-Error RawOutputStyle::dumpXme() {
+Error DumpOutputStyle::dumpXme() {
printHeader(P, "Cross Module Exports");
iterateModuleSubsections<DebugCrossModuleExportsSubsectionRef>(
@@ -681,7 +578,7 @@ Error RawOutputStyle::dumpXme() {
return Error::success();
}
-Error RawOutputStyle::dumpStringTable() {
+Error DumpOutputStyle::dumpStringTable() {
printHeader(P, "String Table");
AutoIndent Indent(P);
@@ -723,25 +620,30 @@ Error RawOutputStyle::dumpStringTable() {
return Error::success();
}
-Error RawOutputStyle::dumpTpiStream(uint32_t StreamIdx) {
+Error DumpOutputStyle::dumpTpiStream(uint32_t StreamIdx) {
assert(StreamIdx == StreamTPI || StreamIdx == StreamIPI);
bool Present = false;
bool DumpTypes = false;
bool DumpBytes = false;
bool DumpExtras = false;
+ std::vector<uint32_t> Indices;
if (StreamIdx == StreamTPI) {
printHeader(P, "Types (TPI Stream)");
Present = File.hasPDBTpiStream();
- DumpTypes = opts::raw::DumpTypes;
- DumpBytes = opts::raw::DumpTypeData;
- DumpExtras = opts::raw::DumpTypeExtras;
+ DumpTypes = opts::dump::DumpTypes;
+ DumpBytes = opts::dump::DumpTypeData;
+ DumpExtras = opts::dump::DumpTypeExtras;
+ Indices.assign(opts::dump::DumpTypeIndex.begin(),
+ opts::dump::DumpTypeIndex.end());
} else if (StreamIdx == StreamIPI) {
printHeader(P, "Types (IPI Stream)");
Present = File.hasPDBIpiStream();
- DumpTypes = opts::raw::DumpIds;
- DumpBytes = opts::raw::DumpIdData;
- DumpExtras = opts::raw::DumpIdExtras;
+ DumpTypes = opts::dump::DumpIds;
+ DumpBytes = opts::dump::DumpIdData;
+ DumpExtras = opts::dump::DumpIdExtras;
+ Indices.assign(opts::dump::DumpIdIndex.begin(),
+ opts::dump::DumpIdIndex.end());
}
AutoIndent Indent(P);
@@ -755,7 +657,7 @@ Error RawOutputStyle::dumpTpiStream(uint32_t StreamIdx) {
auto &Stream = Err((StreamIdx == StreamTPI) ? File.getPDBTpiStream()
: File.getPDBIpiStream());
- auto &Types = Err(initializeTypeDatabase(StreamIdx));
+ auto &Types = Err(initializeTypes(StreamIdx));
if (DumpTypes) {
P.formatLine("Showing {0:N} records", Stream.getNumTypeRecords());
@@ -765,10 +667,19 @@ Error RawOutputStyle::dumpTpiStream(uint32_t StreamIdx) {
MinimalTypeDumpVisitor V(P, Width + 2, DumpBytes, DumpExtras, Types,
Stream.getHashValues());
- Optional<TypeIndex> I = Types.getFirst();
- if (auto EC = codeview::visitTypeStream(Types, V)) {
- P.formatLine("An error occurred dumping type records: {0}",
- toString(std::move(EC)));
+ if (Indices.empty()) {
+ if (auto EC = codeview::visitTypeStream(Types, V)) {
+ P.formatLine("An error occurred dumping type records: {0}",
+ toString(std::move(EC)));
+ }
+ } else {
+ for (const auto &I : Indices) {
+ TypeIndex TI(I);
+ CVType Type = Types.getType(TI);
+ if (auto EC = codeview::visitTypeRecord(Type, TI, V))
+ P.formatLine("An error occurred dumping type record {0}: {1}", TI,
+ toString(std::move(EC)));
+ }
}
}
@@ -801,7 +712,7 @@ Error RawOutputStyle::dumpTpiStream(uint32_t StreamIdx) {
}
Expected<codeview::LazyRandomTypeCollection &>
-RawOutputStyle::initializeTypeDatabase(uint32_t SN) {
+DumpOutputStyle::initializeTypes(uint32_t SN) {
auto &TypeCollection = (SN == StreamTPI) ? TpiTypes : IpiTypes;
auto Tpi =
(SN == StreamTPI) ? File.getPDBTpiStream() : File.getPDBIpiStream();
@@ -819,7 +730,7 @@ RawOutputStyle::initializeTypeDatabase(uint32_t SN) {
return *TypeCollection;
}
-Error RawOutputStyle::dumpModuleSyms() {
+Error DumpOutputStyle::dumpModuleSyms() {
printHeader(P, "Symbols");
AutoIndent Indent(P);
@@ -832,7 +743,7 @@ Error RawOutputStyle::dumpModuleSyms() {
auto &Stream = Err(File.getPDBDbiStream());
- auto &Types = Err(initializeTypeDatabase(StreamTPI));
+ auto &Types = Err(initializeTypes(StreamTPI));
const DbiModuleList &Modules = Stream.modules();
uint32_t Count = Modules.getModuleCount();
@@ -859,7 +770,7 @@ Error RawOutputStyle::dumpModuleSyms() {
SymbolVisitorCallbackPipeline Pipeline;
SymbolDeserializer Deserializer(nullptr, CodeViewContainer::Pdb);
- MinimalSymbolDumper Dumper(P, opts::raw::DumpSymRecordBytes, Types);
+ MinimalSymbolDumper Dumper(P, opts::dump::DumpSymRecordBytes, Types);
Pipeline.addCallbackToPipeline(Deserializer);
Pipeline.addCallbackToPipeline(Dumper);
@@ -873,7 +784,7 @@ Error RawOutputStyle::dumpModuleSyms() {
return Error::success();
}
-Error RawOutputStyle::dumpPublics() {
+Error DumpOutputStyle::dumpPublics() {
printHeader(P, "Public Symbols");
AutoIndent Indent(P);
@@ -884,11 +795,11 @@ Error RawOutputStyle::dumpPublics() {
ExitOnError Err("Error dumping publics stream");
- auto &Types = Err(initializeTypeDatabase(StreamTPI));
+ auto &Types = Err(initializeTypes(StreamTPI));
auto &Publics = Err(File.getPDBPublicsStream());
SymbolVisitorCallbackPipeline Pipeline;
SymbolDeserializer Deserializer(nullptr, CodeViewContainer::Pdb);
- MinimalSymbolDumper Dumper(P, opts::raw::DumpSymRecordBytes, Types);
+ MinimalSymbolDumper Dumper(P, opts::dump::DumpSymRecordBytes, Types);
Pipeline.addCallbackToPipeline(Deserializer);
Pipeline.addCallbackToPipeline(Dumper);
@@ -988,7 +899,7 @@ static std::string formatSegMapDescriptorFlag(uint32_t IndentLevel,
return typesetItemList(Opts, IndentLevel, 4, " | ");
}
-Error RawOutputStyle::dumpSectionContribs() {
+Error DumpOutputStyle::dumpSectionContribs() {
printHeader(P, "Section Contributions");
ExitOnError Err("Error dumping publics stream");
@@ -1034,7 +945,7 @@ Error RawOutputStyle::dumpSectionContribs() {
return Error::success();
}
-Error RawOutputStyle::dumpSectionMap() {
+Error DumpOutputStyle::dumpSectionMap() {
printHeader(P, "Section Map");
ExitOnError Err("Error dumping section map");
diff --git a/tools/llvm-pdbutil/RawOutputStyle.h b/tools/llvm-pdbutil/DumpOutputStyle.h
index 803f588961bb..296a6c14942e 100644
--- a/tools/llvm-pdbutil/RawOutputStyle.h
+++ b/tools/llvm-pdbutil/DumpOutputStyle.h
@@ -1,4 +1,4 @@
-//===- RawOutputStyle.h -------------------------------------- *- C++ --*-===//
+//===- DumpOutputStyle.h -------------------------------------- *- C++ --*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,15 +7,14 @@
//
//===----------------------------------------------------------------------===//
-#ifndef LLVM_TOOLS_LLVMPDBDUMP_RAWOUTPUTSTYLE_H
-#define LLVM_TOOLS_LLVMPDBDUMP_RAWOUTPUTSTYLE_H
+#ifndef LLVM_TOOLS_LLVMPDBDUMP_DUMPOUTPUTSTYLE_H
+#define LLVM_TOOLS_LLVMPDBDUMP_DUMPOUTPUTSTYLE_H
#include "LinePrinter.h"
#include "OutputStyle.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallVector.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
#include <string>
@@ -27,15 +26,14 @@ class LazyRandomTypeCollection;
}
namespace pdb {
-class RawOutputStyle : public OutputStyle {
+class DumpOutputStyle : public OutputStyle {
public:
- RawOutputStyle(PDBFile &File);
+ DumpOutputStyle(PDBFile &File);
Error dump() override;
private:
- Expected<codeview::LazyRandomTypeCollection &>
- initializeTypeDatabase(uint32_t SN);
+ Expected<codeview::LazyRandomTypeCollection &> initializeTypes(uint32_t SN);
Error dumpFileSummary();
Error dumpStreamSummary();
diff --git a/tools/llvm-pdbutil/LinePrinter.cpp b/tools/llvm-pdbutil/LinePrinter.cpp
index 718d3394e211..6e4d95af944a 100644
--- a/tools/llvm-pdbutil/LinePrinter.cpp
+++ b/tools/llvm-pdbutil/LinePrinter.cpp
@@ -12,13 +12,21 @@
#include "llvm-pdbutil.h"
#include "llvm/ADT/STLExtras.h"
+#include "llvm/DebugInfo/MSF/MSFCommon.h"
+#include "llvm/DebugInfo/MSF/MSFStreamLayout.h"
+#include "llvm/DebugInfo/MSF/MappedBlockStream.h"
+#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
#include "llvm/DebugInfo/PDB/UDTLayout.h"
+#include "llvm/Support/BinaryStreamReader.h"
#include "llvm/Support/Format.h"
+#include "llvm/Support/FormatAdapters.h"
+#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/Regex.h"
#include <algorithm>
using namespace llvm;
+using namespace llvm::msf;
using namespace llvm::pdb;
namespace {
@@ -106,6 +114,138 @@ void LinePrinter::formatBinary(StringRef Label, ArrayRef<uint8_t> Data,
OS << ")";
}
+void LinePrinter::formatBinary(StringRef Label, ArrayRef<uint8_t> Data,
+ uint64_t Base, uint32_t StartOffset) {
+ NewLine();
+ OS << Label << " (";
+ if (!Data.empty()) {
+ OS << "\n";
+ Base += StartOffset;
+ OS << format_bytes_with_ascii(Data, Base, 32, 4,
+ CurrentIndent + IndentSpaces, true);
+ NewLine();
+ }
+ OS << ")";
+}
+
+namespace {
+struct Run {
+ Run() = default;
+ explicit Run(uint32_t Block) : Block(Block) {}
+ uint32_t Block = 0;
+ uint32_t ByteLen = 0;
+};
+} // namespace
+
+static std::vector<Run> computeBlockRuns(uint32_t BlockSize,
+ const msf::MSFStreamLayout &Layout) {
+ std::vector<Run> Runs;
+ if (Layout.Length == 0)
+ return Runs;
+
+ ArrayRef<support::ulittle32_t> Blocks = Layout.Blocks;
+ assert(!Blocks.empty());
+ uint32_t StreamBytesRemaining = Layout.Length;
+ uint32_t CurrentBlock = Blocks[0];
+ Runs.emplace_back(CurrentBlock);
+ while (!Blocks.empty()) {
+ Run *CurrentRun = &Runs.back();
+ uint32_t NextBlock = Blocks.front();
+ if (NextBlock < CurrentBlock || (NextBlock - CurrentBlock > 1)) {
+ Runs.emplace_back(NextBlock);
+ CurrentRun = &Runs.back();
+ }
+ uint32_t Used = std::min(BlockSize, StreamBytesRemaining);
+ CurrentRun->ByteLen += Used;
+ StreamBytesRemaining -= Used;
+ CurrentBlock = NextBlock;
+ Blocks = Blocks.drop_front();
+ }
+ return Runs;
+}
+
+static std::pair<Run, uint32_t> findRun(uint32_t Offset, ArrayRef<Run> Runs) {
+ for (const auto &R : Runs) {
+ if (Offset < R.ByteLen)
+ return std::make_pair(R, Offset);
+ Offset -= R.ByteLen;
+ }
+ llvm_unreachable("Invalid offset!");
+}
+
+void LinePrinter::formatMsfStreamData(StringRef Label, PDBFile &File,
+ uint32_t StreamIdx,
+ StringRef StreamPurpose, uint32_t Offset,
+ uint32_t Size) {
+ if (StreamIdx >= File.getNumStreams()) {
+ formatLine("Stream {0}: Not present", StreamIdx);
+ return;
+ }
+ if (Size + Offset > File.getStreamByteSize(StreamIdx)) {
+ formatLine(
+ "Stream {0}: Invalid offset and size, range out of stream bounds",
+ StreamIdx);
+ return;
+ }
+
+ auto S = MappedBlockStream::createIndexedStream(
+ File.getMsfLayout(), File.getMsfBuffer(), StreamIdx, File.getAllocator());
+ if (!S) {
+ NewLine();
+ formatLine("Stream {0}: Not present", StreamIdx);
+ return;
+ }
+
+ uint32_t End =
+ (Size == 0) ? S->getLength() : std::min(Offset + Size, S->getLength());
+ Size = End - Offset;
+
+ formatLine("Stream {0}: {1} (dumping {2:N} / {3:N} bytes)", StreamIdx,
+ StreamPurpose, Size, S->getLength());
+ AutoIndent Indent(*this);
+ BinaryStreamRef Slice(*S);
+ BinarySubstreamRef Substream;
+ Substream.Offset = Offset;
+ Substream.StreamData = Slice.drop_front(Offset).keep_front(Size);
+
+ auto Layout = File.getStreamLayout(StreamIdx);
+ formatMsfStreamData(Label, File, Layout, Substream);
+}
+
+void LinePrinter::formatMsfStreamData(StringRef Label, PDBFile &File,
+ const msf::MSFStreamLayout &Stream,
+ BinarySubstreamRef Substream) {
+ BinaryStreamReader Reader(Substream.StreamData);
+
+ auto Runs = computeBlockRuns(File.getBlockSize(), Stream);
+
+ NewLine();
+ OS << Label << " (";
+ while (Reader.bytesRemaining() > 0) {
+ OS << "\n";
+
+ Run FoundRun;
+ uint32_t RunOffset;
+ std::tie(FoundRun, RunOffset) = findRun(Substream.Offset, Runs);
+ assert(FoundRun.ByteLen >= RunOffset);
+ uint32_t Len = FoundRun.ByteLen - RunOffset;
+ Len = std::min(Len, Reader.bytesRemaining());
+ uint64_t Base = FoundRun.Block * File.getBlockSize() + RunOffset;
+ ArrayRef<uint8_t> Data;
+ consumeError(Reader.readBytes(Data, Len));
+ OS << format_bytes_with_ascii(Data, Base, 32, 4,
+ CurrentIndent + IndentSpaces, true);
+ if (Reader.bytesRemaining() > 0) {
+ NewLine();
+ OS << formatv(" {0}",
+ fmt_align("<discontinuity>", AlignStyle::Center, 114, '-'));
+ }
+ Substream.Offset += Len;
+ }
+ NewLine();
+ OS << ")";
+}
+
bool LinePrinter::IsTypeExcluded(llvm::StringRef TypeName, uint32_t Size) {
if (IsItemExcluded(TypeName, IncludeTypeFilters, ExcludeTypeFilters))
return true;
diff --git a/tools/llvm-pdbutil/LinePrinter.h b/tools/llvm-pdbutil/LinePrinter.h
index f4fd22bcb6f4..68ce321a27ec 100644
--- a/tools/llvm-pdbutil/LinePrinter.h
+++ b/tools/llvm-pdbutil/LinePrinter.h
@@ -13,6 +13,7 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
+#include "llvm/Support/BinaryStreamRef.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/Regex.h"
#include "llvm/Support/raw_ostream.h"
@@ -20,9 +21,14 @@
#include <list>
namespace llvm {
+class BinaryStreamReader;
+namespace msf {
+class MSFStreamLayout;
+} // namespace msf
namespace pdb {
class ClassLayout;
+class PDBFile;
class LinePrinter {
friend class WithColor;
@@ -45,6 +51,15 @@ public:
void formatBinary(StringRef Label, ArrayRef<uint8_t> Data,
uint32_t StartOffset);
+ void formatBinary(StringRef Label, ArrayRef<uint8_t> Data, uint64_t BaseAddr,
+ uint32_t StartOffset);
+
+ void formatMsfStreamData(StringRef Label, PDBFile &File, uint32_t StreamIdx,
+ StringRef StreamPurpose, uint32_t Offset,
+ uint32_t Size);
+ void formatMsfStreamData(StringRef Label, PDBFile &File,
+ const msf::MSFStreamLayout &Stream,
+ BinarySubstreamRef Substream);
bool hasColor() const { return UseColor; }
raw_ostream &getStream() { return OS; }
diff --git a/tools/llvm-pdbutil/MinimalSymbolDumper.cpp b/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
index 8b36de0b7157..7f5412d59885 100644
--- a/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
+++ b/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
@@ -146,6 +146,19 @@ static std::string formatFrameProcedureOptions(uint32_t IndentLevel,
return typesetItemList(Opts, 4, IndentLevel, " | ");
}
+static std::string formatPublicSymFlags(uint32_t IndentLevel,
+ PublicSymFlags Flags) {
+ std::vector<std::string> Opts;
+ if (Flags == PublicSymFlags::None)
+ return "none";
+
+ PUSH_FLAG(PublicSymFlags, Code, Flags, "code");
+ PUSH_FLAG(PublicSymFlags, Function, Flags, "function");
+ PUSH_FLAG(PublicSymFlags, Managed, Flags, "managed");
+ PUSH_FLAG(PublicSymFlags, MSIL, Flags, "msil");
+ return typesetItemList(Opts, 4, IndentLevel, " | ");
+}
+
static std::string formatProcSymFlags(uint32_t IndentLevel,
ProcSymFlags Flags) {
std::vector<std::string> Opts;
@@ -659,7 +672,8 @@ Error MinimalSymbolDumper::visitKnownRecord(CVSymbol &CVR,
PublicSym32 &Public) {
P.format(" `{0}`", Public.Name);
AutoIndent Indent(P);
- P.formatLine("type = {0}, addr = {1}", typeIndex(Public.Index),
+ P.formatLine("flags = {0}, addr = {1}",
+ formatPublicSymFlags(P.getIndentLevel() + 9, Public.Flags),
formatSegmentOffset(Public.Segment, Public.Offset));
return Error::success();
}
diff --git a/tools/llvm-pdbutil/llvm-pdbutil.cpp b/tools/llvm-pdbutil/llvm-pdbutil.cpp
index 9088783876e0..4a176fb13590 100644
--- a/tools/llvm-pdbutil/llvm-pdbutil.cpp
+++ b/tools/llvm-pdbutil/llvm-pdbutil.cpp
@@ -14,7 +14,9 @@
#include "llvm-pdbutil.h"
#include "Analyze.h"
+#include "BytesOutputStyle.h"
#include "Diff.h"
+#include "DumpOutputStyle.h"
#include "LinePrinter.h"
#include "OutputStyle.h"
#include "PrettyCompilandDumper.h"
@@ -22,7 +24,6 @@
#include "PrettyFunctionDumper.h"
#include "PrettyTypeDumper.h"
#include "PrettyVariableDumper.h"
-#include "RawOutputStyle.h"
#include "YAMLOutputStyle.h"
#include "llvm/ADT/ArrayRef.h"
@@ -86,7 +87,9 @@ using namespace llvm::pdb;
namespace opts {
-cl::SubCommand RawSubcommand("raw", "Dump raw structure of the PDB file");
+cl::SubCommand DumpSubcommand("dump", "Dump MSF and CodeView debug info");
+cl::SubCommand BytesSubcommand("bytes", "Dump raw bytes from the PDB file");
+
cl::SubCommand
PrettySubcommand("pretty",
"Dump semantic information about types and symbols");
@@ -111,6 +114,31 @@ cl::OptionCategory TypeCategory("Symbol Type Options");
cl::OptionCategory FilterCategory("Filtering and Sorting Options");
cl::OptionCategory OtherOptions("Other Options");
+cl::ValuesClass ChunkValues = cl::values(
+ clEnumValN(ModuleSubsection::CrossScopeExports, "cme",
+ "Cross module exports (DEBUG_S_CROSSSCOPEEXPORTS subsection)"),
+ clEnumValN(ModuleSubsection::CrossScopeImports, "cmi",
+ "Cross module imports (DEBUG_S_CROSSSCOPEIMPORTS subsection)"),
+ clEnumValN(ModuleSubsection::FileChecksums, "fc",
+ "File checksums (DEBUG_S_CHECKSUMS subsection)"),
+ clEnumValN(ModuleSubsection::InlineeLines, "ilines",
+ "Inlinee lines (DEBUG_S_INLINEELINES subsection)"),
+ clEnumValN(ModuleSubsection::Lines, "lines",
+ "Lines (DEBUG_S_LINES subsection)"),
+ clEnumValN(ModuleSubsection::StringTable, "strings",
+ "String Table (DEBUG_S_STRINGTABLE subsection) (not "
+ "typically present in PDB file)"),
+ clEnumValN(ModuleSubsection::FrameData, "frames",
+ "Frame Data (DEBUG_S_FRAMEDATA subsection)"),
+ clEnumValN(ModuleSubsection::Symbols, "symbols",
+ "Symbols (DEBUG_S_SYMBOLS subsection) (not typically "
+ "present in PDB file)"),
+ clEnumValN(ModuleSubsection::CoffSymbolRVAs, "rvas",
+ "COFF Symbol RVAs (DEBUG_S_COFF_SYMBOL_RVA subsection)"),
+ clEnumValN(ModuleSubsection::Unknown, "unknown",
+ "Any subsection not covered by another option"),
+ clEnumValN(ModuleSubsection::All, "all", "All known subsections"));
+
namespace pretty {
cl::list<std::string> InputFilenames(cl::Positional,
cl::desc("<input PDB files>"),
@@ -256,11 +284,6 @@ cl::opt<bool> NoEnumDefs("no-enum-definitions",
}
namespace diff {
-cl::opt<bool> Pedantic("pedantic",
- cl::desc("Finds all differences (even structural ones "
- "that produce otherwise identical PDBs)"),
- cl::sub(DiffSubcommand));
-
cl::list<std::string> InputFilenames(cl::Positional,
cl::desc("<first> <second>"),
cl::OneOrMore, cl::sub(DiffSubcommand));
@@ -268,7 +291,83 @@ cl::list<std::string> InputFilenames(cl::Positional,
cl::OptionCategory FileOptions("Module & File Options");
-namespace raw {
+namespace bytes {
+cl::OptionCategory MsfBytes("MSF File Options");
+cl::OptionCategory DbiBytes("Dbi Stream Options");
+cl::OptionCategory PdbBytes("PDB Stream Options");
+cl::OptionCategory Types("Type Options");
+cl::OptionCategory ModuleCategory("Module Options");
+
+llvm::Optional<NumberRange> DumpBlockRange;
+llvm::Optional<NumberRange> DumpByteRange;
+
+cl::opt<std::string> DumpBlockRangeOpt(
+ "block-range", cl::value_desc("start[-end]"),
+ cl::desc("Dump binary data from specified range of blocks."),
+ cl::sub(BytesSubcommand), cl::cat(MsfBytes));
+
+cl::opt<std::string>
+ DumpByteRangeOpt("byte-range", cl::value_desc("start[-end]"),
+ cl::desc("Dump binary data from specified range of bytes"),
+ cl::sub(BytesSubcommand), cl::cat(MsfBytes));
+
+cl::list<std::string>
+ DumpStreamData("stream-data", cl::CommaSeparated, cl::ZeroOrMore,
+ cl::desc("Dump binary data from specified streams. Format "
+ "is SN[:Start][@Size]"),
+ cl::sub(BytesSubcommand), cl::cat(MsfBytes));
+
+cl::opt<bool> NameMap("name-map", cl::desc("Dump bytes of PDB Name Map"),
+ cl::sub(BytesSubcommand), cl::cat(PdbBytes));
+
+cl::opt<bool> SectionContributions("sc", cl::desc("Dump section contributions"),
+ cl::sub(BytesSubcommand), cl::cat(DbiBytes));
+cl::opt<bool> SectionMap("sm", cl::desc("Dump section map"),
+ cl::sub(BytesSubcommand), cl::cat(DbiBytes));
+cl::opt<bool> ModuleInfos("modi", cl::desc("Dump module info"),
+ cl::sub(BytesSubcommand), cl::cat(DbiBytes));
+cl::opt<bool> FileInfo("files", cl::desc("Dump source file info"),
+ cl::sub(BytesSubcommand), cl::cat(DbiBytes));
+cl::opt<bool> TypeServerMap("type-server", cl::desc("Dump type server map"),
+ cl::sub(BytesSubcommand), cl::cat(DbiBytes));
+cl::opt<bool> ECData("ec", cl::desc("Dump edit and continue map"),
+ cl::sub(BytesSubcommand), cl::cat(DbiBytes));
+
+cl::list<uint32_t>
+ TypeIndex("type",
+ cl::desc("Dump the type record with the given type index"),
+ cl::ZeroOrMore, cl::CommaSeparated, cl::sub(BytesSubcommand),
+ cl::cat(TypeCategory));
+cl::list<uint32_t>
+ IdIndex("id", cl::desc("Dump the id record with the given type index"),
+ cl::ZeroOrMore, cl::CommaSeparated, cl::sub(BytesSubcommand),
+ cl::cat(TypeCategory));
+
+cl::opt<uint32_t> ModuleIndex(
+ "mod",
+ cl::desc(
+ "Limit options in the Modules category to the specified module index"),
+ cl::Optional, cl::sub(BytesSubcommand), cl::cat(ModuleCategory));
+cl::opt<bool> ModuleSyms("syms", cl::desc("Dump symbol record substream"),
+ cl::sub(BytesSubcommand), cl::cat(ModuleCategory));
+cl::opt<bool> ModuleC11("c11-chunks", cl::Hidden,
+ cl::desc("Dump C11 CodeView debug chunks"),
+ cl::sub(BytesSubcommand), cl::cat(ModuleCategory));
+cl::opt<bool> ModuleC13("chunks",
+ cl::desc("Dump C13 CodeView debug chunk subsection"),
+ cl::sub(BytesSubcommand), cl::cat(ModuleCategory));
+cl::opt<bool> SplitChunks(
+ "split-chunks",
+ cl::desc(
+ "When dumping debug chunks, show a different section for each chunk"),
+ cl::sub(BytesSubcommand), cl::cat(ModuleCategory));
+cl::list<std::string> InputFilenames(cl::Positional,
+ cl::desc("<input PDB files>"),
+ cl::OneOrMore, cl::sub(BytesSubcommand));
+
+} // namespace bytes
+
+namespace dump {
cl::OptionCategory MsfOptions("MSF Container Options");
cl::OptionCategory TypeOptions("Type Record Options");
@@ -277,100 +376,103 @@ cl::OptionCategory MiscOptions("Miscellaneous Options");
// MSF OPTIONS
cl::opt<bool> DumpSummary("summary", cl::desc("dump file summary"),
- cl::cat(MsfOptions), cl::sub(RawSubcommand));
+ cl::cat(MsfOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpStreams("streams",
cl::desc("dump summary of the PDB streams"),
- cl::cat(MsfOptions), cl::sub(RawSubcommand));
-cl::opt<std::string>
- DumpBlockRangeOpt("block-data", cl::value_desc("start[-end]"),
- cl::desc("Dump binary data from specified range."),
- cl::cat(MsfOptions), cl::sub(RawSubcommand));
-llvm::Optional<BlockRange> DumpBlockRange;
-
-cl::list<std::string>
- DumpStreamData("stream-data", cl::CommaSeparated, cl::ZeroOrMore,
- cl::desc("Dump binary data from specified streams. Format "
- "is SN[:Start][@Size]"),
- cl::cat(MsfOptions), cl::sub(RawSubcommand));
+ cl::cat(MsfOptions), cl::sub(DumpSubcommand));
+cl::opt<bool> DumpStreamBlocks(
+ "stream-blocks",
+ cl::desc("Add block information to the output of -streams"),
+ cl::cat(MsfOptions), cl::sub(DumpSubcommand));
// TYPE OPTIONS
cl::opt<bool> DumpTypes("types",
cl::desc("dump CodeView type records from TPI stream"),
- cl::cat(TypeOptions), cl::sub(RawSubcommand));
+ cl::cat(TypeOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpTypeData(
"type-data",
cl::desc("dump CodeView type record raw bytes from TPI stream"),
- cl::cat(TypeOptions), cl::sub(RawSubcommand));
+ cl::cat(TypeOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpTypeExtras("type-extras",
cl::desc("dump type hashes and index offsets"),
- cl::cat(TypeOptions), cl::sub(RawSubcommand));
+ cl::cat(TypeOptions), cl::sub(DumpSubcommand));
+
+cl::list<uint32_t> DumpTypeIndex(
+ "type-index", cl::ZeroOrMore,
+ cl::desc("only dump types with the specified hexadecimal type index"),
+ cl::cat(TypeOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpIds("ids",
cl::desc("dump CodeView type records from IPI stream"),
- cl::cat(TypeOptions), cl::sub(RawSubcommand));
+ cl::cat(TypeOptions), cl::sub(DumpSubcommand));
cl::opt<bool>
DumpIdData("id-data",
cl::desc("dump CodeView type record raw bytes from IPI stream"),
- cl::cat(TypeOptions), cl::sub(RawSubcommand));
+ cl::cat(TypeOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpIdExtras("id-extras",
cl::desc("dump id hashes and index offsets"),
- cl::cat(TypeOptions), cl::sub(RawSubcommand));
+ cl::cat(TypeOptions), cl::sub(DumpSubcommand));
+cl::list<uint32_t> DumpIdIndex(
+ "id-index", cl::ZeroOrMore,
+ cl::desc("only dump ids with the specified hexadecimal type index"),
+ cl::cat(TypeOptions), cl::sub(DumpSubcommand));
// SYMBOL OPTIONS
cl::opt<bool> DumpPublics("publics", cl::desc("dump Publics stream data"),
- cl::cat(SymbolOptions), cl::sub(RawSubcommand));
+ cl::cat(SymbolOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpSymbols("symbols", cl::desc("dump module symbols"),
- cl::cat(SymbolOptions), cl::sub(RawSubcommand));
+ cl::cat(SymbolOptions), cl::sub(DumpSubcommand));
cl::opt<bool>
DumpSymRecordBytes("sym-data",
cl::desc("dump CodeView symbol record raw bytes"),
- cl::cat(SymbolOptions), cl::sub(RawSubcommand));
+ cl::cat(SymbolOptions), cl::sub(DumpSubcommand));
// MODULE & FILE OPTIONS
cl::opt<bool> DumpModules("modules", cl::desc("dump compiland information"),
- cl::cat(FileOptions), cl::sub(RawSubcommand));
+ cl::cat(FileOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpModuleFiles(
"files",
cl::desc("Dump the source files that contribute to each module's."),
- cl::cat(FileOptions), cl::sub(RawSubcommand));
+ cl::cat(FileOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpLines(
"l",
cl::desc("dump source file/line information (DEBUG_S_LINES subsection)"),
- cl::cat(FileOptions), cl::sub(RawSubcommand));
+ cl::cat(FileOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpInlineeLines(
"il",
cl::desc("dump inlinee line information (DEBUG_S_INLINEELINES subsection)"),
- cl::cat(FileOptions), cl::sub(RawSubcommand));
+ cl::cat(FileOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpXmi(
"xmi",
cl::desc(
"dump cross module imports (DEBUG_S_CROSSSCOPEIMPORTS subsection)"),
- cl::cat(FileOptions), cl::sub(RawSubcommand));
+ cl::cat(FileOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpXme(
"xme",
cl::desc(
"dump cross module exports (DEBUG_S_CROSSSCOPEEXPORTS subsection)"),
- cl::cat(FileOptions), cl::sub(RawSubcommand));
+ cl::cat(FileOptions), cl::sub(DumpSubcommand));
// MISCELLANEOUS OPTIONS
cl::opt<bool> DumpStringTable("string-table", cl::desc("dump PDB String Table"),
- cl::cat(MiscOptions), cl::sub(RawSubcommand));
+ cl::cat(MiscOptions), cl::sub(DumpSubcommand));
cl::opt<bool> DumpSectionContribs("section-contribs",
cl::desc("dump section contributions"),
- cl::cat(MiscOptions), cl::sub(RawSubcommand));
+ cl::cat(MiscOptions),
+ cl::sub(DumpSubcommand));
cl::opt<bool> DumpSectionMap("section-map", cl::desc("dump section map"),
- cl::cat(MiscOptions), cl::sub(RawSubcommand));
+ cl::cat(MiscOptions), cl::sub(DumpSubcommand));
cl::opt<bool> RawAll("all", cl::desc("Implies most other options."),
- cl::cat(MiscOptions), cl::sub(RawSubcommand));
+ cl::cat(MiscOptions), cl::sub(DumpSubcommand));
cl::list<std::string> InputFilenames(cl::Positional,
cl::desc("<input PDB files>"),
- cl::OneOrMore, cl::sub(RawSubcommand));
+ cl::OneOrMore, cl::sub(DumpSubcommand));
}
namespace yaml2pdb {
@@ -429,33 +531,7 @@ cl::opt<bool> DumpModuleFiles("module-files", cl::desc("dump file information"),
cl::sub(PdbToYamlSubcommand));
cl::list<ModuleSubsection> DumpModuleSubsections(
"subsections", cl::ZeroOrMore, cl::CommaSeparated,
- cl::desc("dump subsections from each module's debug stream"),
- cl::values(
- clEnumValN(
- ModuleSubsection::CrossScopeExports, "cme",
- "Cross module exports (DEBUG_S_CROSSSCOPEEXPORTS subsection)"),
- clEnumValN(
- ModuleSubsection::CrossScopeImports, "cmi",
- "Cross module imports (DEBUG_S_CROSSSCOPEIMPORTS subsection)"),
- clEnumValN(ModuleSubsection::FileChecksums, "fc",
- "File checksums (DEBUG_S_CHECKSUMS subsection)"),
- clEnumValN(ModuleSubsection::InlineeLines, "ilines",
- "Inlinee lines (DEBUG_S_INLINEELINES subsection)"),
- clEnumValN(ModuleSubsection::Lines, "lines",
- "Lines (DEBUG_S_LINES subsection)"),
- clEnumValN(ModuleSubsection::StringTable, "strings",
- "String Table (DEBUG_S_STRINGTABLE subsection) (not "
- "typically present in PDB file)"),
- clEnumValN(ModuleSubsection::FrameData, "frames",
- "Frame Data (DEBUG_S_FRAMEDATA subsection)"),
- clEnumValN(ModuleSubsection::Symbols, "symbols",
- "Symbols (DEBUG_S_SYMBOLS subsection) (not typically "
- "present in PDB file)"),
- clEnumValN(ModuleSubsection::CoffSymbolRVAs, "rvas",
- "COFF Symbol RVAs (DEBUG_S_COFF_SYMBOL_RVA subsection)"),
- clEnumValN(ModuleSubsection::Unknown, "unknown",
- "Any subsection not covered by another option"),
- clEnumValN(ModuleSubsection::All, "all", "All known subsections")),
+ cl::desc("dump subsections from each module's debug stream"), ChunkValues,
cl::cat(FileOptions), cl::sub(PdbToYamlSubcommand));
cl::opt<bool> DumpModuleSyms("module-syms", cl::desc("dump module symbols"),
cl::cat(FileOptions),
@@ -616,7 +692,16 @@ static void dumpRaw(StringRef Path) {
std::unique_ptr<IPDBSession> Session;
auto &File = loadPDB(Path, Session);
- auto O = llvm::make_unique<RawOutputStyle>(File);
+ auto O = llvm::make_unique<DumpOutputStyle>(File);
+
+ ExitOnErr(O->dump());
+}
+
+static void dumpBytes(StringRef Path) {
+ std::unique_ptr<IPDBSession> Session;
+ auto &File = loadPDB(Path, Session);
+
+ auto O = llvm::make_unique<BytesOutputStyle>(File);
ExitOnErr(O->dump());
}
@@ -877,6 +962,37 @@ static void mergePdbs() {
ExitOnErr(Builder.commit(OutFile));
}
+static bool parseRange(StringRef Str,
+ Optional<opts::bytes::NumberRange> &Parsed) {
+ if (Str.empty())
+ return true;
+
+ llvm::Regex R("^([^-]+)(-([^-]+))?$");
+ llvm::SmallVector<llvm::StringRef, 2> Matches;
+ if (!R.match(Str, &Matches))
+ return false;
+
+ Parsed.emplace();
+ if (!to_integer(Matches[1], Parsed->Min))
+ return false;
+
+ if (!Matches[3].empty()) {
+ Parsed->Max.emplace();
+ if (!to_integer(Matches[3], *Parsed->Max))
+ return false;
+ }
+ return true;
+}
+
+static void simplifyChunkList(llvm::cl::list<opts::ModuleSubsection> &Chunks) {
+ // If this list contains "All" plus some other stuff, remove the other stuff
+ // and just keep "All" in the list.
+ if (!llvm::is_contained(Chunks, opts::ModuleSubsection::All))
+ return;
+ Chunks.reset();
+ Chunks.push_back(opts::ModuleSubsection::All);
+}
+
int main(int argc_, const char *argv_[]) {
// Print a stack trace if we signal out.
sys::PrintStackTraceOnErrorSignal(argv_[0]);
@@ -892,43 +1008,45 @@ int main(int argc_, const char *argv_[]) {
llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
cl::ParseCommandLineOptions(argv.size(), argv.data(), "LLVM PDB Dumper\n");
- if (!opts::raw::DumpBlockRangeOpt.empty()) {
- llvm::Regex R("^([0-9]+)(-([0-9]+))?$");
- llvm::SmallVector<llvm::StringRef, 2> Matches;
- if (!R.match(opts::raw::DumpBlockRangeOpt, &Matches)) {
- errs() << "Argument '" << opts::raw::DumpBlockRangeOpt
+
+ if (opts::BytesSubcommand) {
+ if (!parseRange(opts::bytes::DumpBlockRangeOpt,
+ opts::bytes::DumpBlockRange)) {
+ errs() << "Argument '" << opts::bytes::DumpBlockRangeOpt
<< "' invalid format.\n";
errs().flush();
exit(1);
}
- opts::raw::DumpBlockRange.emplace();
- Matches[1].getAsInteger(10, opts::raw::DumpBlockRange->Min);
- if (!Matches[3].empty()) {
- opts::raw::DumpBlockRange->Max.emplace();
- Matches[3].getAsInteger(10, *opts::raw::DumpBlockRange->Max);
+ if (!parseRange(opts::bytes::DumpByteRangeOpt,
+ opts::bytes::DumpByteRange)) {
+ errs() << "Argument '" << opts::bytes::DumpByteRangeOpt
+ << "' invalid format.\n";
+ errs().flush();
+ exit(1);
}
}
- if (opts::RawSubcommand) {
- if (opts::raw::RawAll) {
- opts::raw::DumpLines = true;
- opts::raw::DumpInlineeLines = true;
- opts::raw::DumpXme = true;
- opts::raw::DumpXmi = true;
- opts::raw::DumpIds = true;
- opts::raw::DumpPublics = true;
- opts::raw::DumpSectionContribs = true;
- opts::raw::DumpSectionMap = true;
- opts::raw::DumpStreams = true;
- opts::raw::DumpStringTable = true;
- opts::raw::DumpSummary = true;
- opts::raw::DumpSymbols = true;
- opts::raw::DumpIds = true;
- opts::raw::DumpIdExtras = true;
- opts::raw::DumpTypes = true;
- opts::raw::DumpTypeExtras = true;
- opts::raw::DumpModules = true;
- opts::raw::DumpModuleFiles = true;
+ if (opts::DumpSubcommand) {
+ if (opts::dump::RawAll) {
+ opts::dump::DumpLines = true;
+ opts::dump::DumpInlineeLines = true;
+ opts::dump::DumpXme = true;
+ opts::dump::DumpXmi = true;
+ opts::dump::DumpIds = true;
+ opts::dump::DumpPublics = true;
+ opts::dump::DumpSectionContribs = true;
+ opts::dump::DumpSectionMap = true;
+ opts::dump::DumpStreams = true;
+ opts::dump::DumpStreamBlocks = true;
+ opts::dump::DumpStringTable = true;
+ opts::dump::DumpSummary = true;
+ opts::dump::DumpSymbols = true;
+ opts::dump::DumpIds = true;
+ opts::dump::DumpIdExtras = true;
+ opts::dump::DumpTypes = true;
+ opts::dump::DumpTypeExtras = true;
+ opts::dump::DumpModules = true;
+ opts::dump::DumpModuleFiles = true;
}
}
if (opts::PdbToYamlSubcommand) {
@@ -945,13 +1063,8 @@ int main(int argc_, const char *argv_[]) {
opts::pdb2yaml::DumpModuleSyms = true;
opts::pdb2yaml::DumpModuleSubsections.push_back(
opts::ModuleSubsection::All);
- if (llvm::is_contained(opts::pdb2yaml::DumpModuleSubsections,
- opts::ModuleSubsection::All)) {
- opts::pdb2yaml::DumpModuleSubsections.reset();
- opts::pdb2yaml::DumpModuleSubsections.push_back(
- opts::ModuleSubsection::All);
- }
}
+ simplifyChunkList(opts::pdb2yaml::DumpModuleSubsections);
if (opts::pdb2yaml::DumpModuleSyms || opts::pdb2yaml::DumpModuleFiles)
opts::pdb2yaml::DumpModules = true;
@@ -1010,9 +1123,12 @@ int main(int argc_, const char *argv_[]) {
}
std::for_each(opts::pretty::InputFilenames.begin(),
opts::pretty::InputFilenames.end(), dumpPretty);
- } else if (opts::RawSubcommand) {
- std::for_each(opts::raw::InputFilenames.begin(),
- opts::raw::InputFilenames.end(), dumpRaw);
+ } else if (opts::DumpSubcommand) {
+ std::for_each(opts::dump::InputFilenames.begin(),
+ opts::dump::InputFilenames.end(), dumpRaw);
+ } else if (opts::BytesSubcommand) {
+ std::for_each(opts::bytes::InputFilenames.begin(),
+ opts::bytes::InputFilenames.end(), dumpBytes);
} else if (opts::DiffSubcommand) {
if (opts::diff::InputFilenames.size() != 2) {
errs() << "diff subcommand expects exactly 2 arguments.\n";
diff --git a/tools/llvm-pdbutil/llvm-pdbutil.h b/tools/llvm-pdbutil/llvm-pdbutil.h
index a41b032d2b13..837d8ebbaf9e 100644
--- a/tools/llvm-pdbutil/llvm-pdbutil.h
+++ b/tools/llvm-pdbutil/llvm-pdbutil.h
@@ -92,16 +92,39 @@ extern llvm::cl::opt<ClassDefinitionFormat> ClassFormat;
extern llvm::cl::opt<uint32_t> ClassRecursionDepth;
}
-namespace raw {
-struct BlockRange {
- uint32_t Min;
- llvm::Optional<uint32_t> Max;
+namespace bytes {
+struct NumberRange {
+ uint64_t Min;
+ llvm::Optional<uint64_t> Max;
};
+extern llvm::Optional<NumberRange> DumpBlockRange;
+extern llvm::Optional<NumberRange> DumpByteRange;
+extern llvm::cl::list<std::string> DumpStreamData;
+extern llvm::cl::opt<bool> NameMap;
+
+extern llvm::cl::opt<bool> SectionContributions;
+extern llvm::cl::opt<bool> SectionMap;
+extern llvm::cl::opt<bool> ModuleInfos;
+extern llvm::cl::opt<bool> FileInfo;
+extern llvm::cl::opt<bool> TypeServerMap;
+extern llvm::cl::opt<bool> ECData;
+
+extern llvm::cl::list<uint32_t> TypeIndex;
+extern llvm::cl::list<uint32_t> IdIndex;
+
+extern llvm::cl::opt<uint32_t> ModuleIndex;
+extern llvm::cl::opt<bool> ModuleSyms;
+extern llvm::cl::opt<bool> ModuleC11;
+extern llvm::cl::opt<bool> ModuleC13;
+extern llvm::cl::opt<bool> SplitChunks;
+} // namespace bytes
+
+namespace dump {
+
extern llvm::cl::opt<bool> DumpSummary;
extern llvm::cl::opt<bool> DumpStreams;
-extern llvm::Optional<BlockRange> DumpBlockRange;
-extern llvm::cl::list<std::string> DumpStreamData;
+extern llvm::cl::opt<bool> DumpStreamBlocks;
extern llvm::cl::opt<bool> DumpLines;
extern llvm::cl::opt<bool> DumpInlineeLines;
@@ -111,9 +134,12 @@ extern llvm::cl::opt<bool> DumpStringTable;
extern llvm::cl::opt<bool> DumpTypes;
extern llvm::cl::opt<bool> DumpTypeData;
extern llvm::cl::opt<bool> DumpTypeExtras;
+extern llvm::cl::list<uint32_t> DumpTypeIndex;
+
extern llvm::cl::opt<bool> DumpIds;
extern llvm::cl::opt<bool> DumpIdData;
extern llvm::cl::opt<bool> DumpIdExtras;
+extern llvm::cl::list<uint32_t> DumpIdIndex;
extern llvm::cl::opt<bool> DumpSymbols;
extern llvm::cl::opt<bool> DumpSymRecordBytes;
extern llvm::cl::opt<bool> DumpPublics;
@@ -124,10 +150,6 @@ extern llvm::cl::opt<bool> DumpModuleFiles;
extern llvm::cl::opt<bool> RawAll;
}
-namespace diff {
-extern llvm::cl::opt<bool> Pedantic;
-}
-
namespace pdb2yaml {
extern llvm::cl::opt<bool> All;
extern llvm::cl::opt<bool> NoFileHeaders;
diff --git a/tools/llvm-profdata/llvm-profdata.cpp b/tools/llvm-profdata/llvm-profdata.cpp
index 4867acf70983..e9bc2de82bdf 100644
--- a/tools/llvm-profdata/llvm-profdata.cpp
+++ b/tools/llvm-profdata/llvm-profdata.cpp
@@ -246,10 +246,12 @@ static void mergeInstrProfile(const WeightedFileVector &Inputs,
exitWithError(std::move(WC->Err), WC->ErrWhence);
InstrProfWriter &Writer = Contexts[0]->Writer;
- if (OutputFormat == PF_Text)
- Writer.writeText(Output);
- else
+ if (OutputFormat == PF_Text) {
+ if (Error E = Writer.writeText(Output))
+ exitWithError(std::move(E));
+ } else {
Writer.write(Output);
+ }
}
static sampleprof::SampleProfileFormat FormatMap[] = {
diff --git a/tools/llvm-readobj/COFFDumper.cpp b/tools/llvm-readobj/COFFDumper.cpp
index 216c9adad9a7..daa7a643a72f 100644
--- a/tools/llvm-readobj/COFFDumper.cpp
+++ b/tools/llvm-readobj/COFFDumper.cpp
@@ -36,7 +36,6 @@
#include "llvm/DebugInfo/CodeView/SymbolDumpDelegate.h"
#include "llvm/DebugInfo/CodeView/SymbolDumper.h"
#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
-#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
#include "llvm/DebugInfo/CodeView/TypeDumpVisitor.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
@@ -69,6 +68,14 @@ using namespace llvm::Win64EH;
namespace {
+struct LoadConfigTables {
+ uint64_t SEHTableVA = 0;
+ uint64_t SEHTableCount = 0;
+ uint32_t GuardFlags = 0;
+ uint64_t GuardFidTableVA = 0;
+ uint64_t GuardFidTableCount = 0;
+};
+
class COFFDumper : public ObjDumper {
public:
friend class COFFObjectDumpDelegate;
@@ -87,6 +94,7 @@ public:
void printCOFFBaseReloc() override;
void printCOFFDebugDirectory() override;
void printCOFFResources() override;
+ void printCOFFLoadConfig() override;
void printCodeViewDebugInfo() override;
void mergeCodeViewTypes(llvm::codeview::TypeTableBuilder &CVIDs,
llvm::codeview::TypeTableBuilder &CVTypes) override;
@@ -101,6 +109,11 @@ private:
template <class PEHeader> void printPEHeader(const PEHeader *Hdr);
void printBaseOfDataField(const pe32_header *Hdr);
void printBaseOfDataField(const pe32plus_header *Hdr);
+ template <typename T>
+ void printCOFFLoadConfig(const T *Conf, LoadConfigTables &Tables);
+ typedef void (*PrintExtraCB)(raw_ostream &, const uint8_t *);
+ void printRVATable(uint64_t TableVA, uint64_t Count, uint64_t EntrySize,
+ PrintExtraCB PrintExtra = 0);
void printCodeViewSymbolSection(StringRef SectionName, const SectionRef &Section);
void printCodeViewTypeSection(StringRef SectionName, const SectionRef &Section);
@@ -746,6 +759,129 @@ void COFFDumper::printCOFFDebugDirectory() {
}
}
+void COFFDumper::printRVATable(uint64_t TableVA, uint64_t Count,
+ uint64_t EntrySize, PrintExtraCB PrintExtra) {
+ uintptr_t TableStart, TableEnd;
+ error(Obj->getVaPtr(TableVA, TableStart));
+ error(Obj->getVaPtr(TableVA + Count * EntrySize - 1, TableEnd));
+ TableEnd++;
+ for (uintptr_t I = TableStart; I < TableEnd; I += EntrySize) {
+ uint32_t RVA = *reinterpret_cast<const ulittle32_t *>(I);
+ raw_ostream &OS = W.startLine();
+ OS << "0x" << utohexstr(Obj->getImageBase() + RVA);
+ if (PrintExtra)
+ PrintExtra(OS, reinterpret_cast<const uint8_t *>(I));
+ OS << '\n';
+ }
+}
+
+void COFFDumper::printCOFFLoadConfig() {
+ LoadConfigTables Tables;
+ if (Obj->is64())
+ printCOFFLoadConfig(Obj->getLoadConfig64(), Tables);
+ else
+ printCOFFLoadConfig(Obj->getLoadConfig32(), Tables);
+
+ if (Tables.SEHTableVA) {
+ ListScope LS(W, "SEHTable");
+ printRVATable(Tables.SEHTableVA, Tables.SEHTableCount, 4);
+ }
+
+ if (Tables.GuardFidTableVA) {
+ ListScope LS(W, "GuardFidTable");
+ if (Tables.GuardFlags & uint32_t(coff_guard_flags::FidTableHasFlags)) {
+ auto PrintGuardFlags = [](raw_ostream &OS, const uint8_t *Entry) {
+ uint8_t Flags = *reinterpret_cast<const uint8_t *>(Entry + 4);
+ if (Flags)
+ OS << " flags " << utohexstr(Flags);
+ };
+ printRVATable(Tables.GuardFidTableVA, Tables.GuardFidTableCount, 5,
+ PrintGuardFlags);
+ } else {
+ printRVATable(Tables.GuardFidTableVA, Tables.GuardFidTableCount, 4);
+ }
+ }
+}
+
+template <typename T>
+void COFFDumper::printCOFFLoadConfig(const T *Conf, LoadConfigTables &Tables) {
+ if (!Conf)
+ return;
+
+ ListScope LS(W, "LoadConfig");
+ char FormattedTime[20] = {};
+ time_t TDS = Conf->TimeDateStamp;
+ strftime(FormattedTime, 20, "%Y-%m-%d %H:%M:%S", gmtime(&TDS));
+ W.printHex("Size", Conf->Size);
+
+ // Print everything before SecurityCookie. The vast majority of images today
+ // have all these fields.
+ if (Conf->Size < offsetof(T, SEHandlerTable))
+ return;
+ W.printHex("TimeDateStamp", FormattedTime, TDS);
+ W.printHex("MajorVersion", Conf->MajorVersion);
+ W.printHex("MinorVersion", Conf->MinorVersion);
+ W.printHex("GlobalFlagsClear", Conf->GlobalFlagsClear);
+ W.printHex("GlobalFlagsSet", Conf->GlobalFlagsSet);
+ W.printHex("CriticalSectionDefaultTimeout",
+ Conf->CriticalSectionDefaultTimeout);
+ W.printHex("DeCommitFreeBlockThreshold", Conf->DeCommitFreeBlockThreshold);
+ W.printHex("DeCommitTotalFreeThreshold", Conf->DeCommitTotalFreeThreshold);
+ W.printHex("LockPrefixTable", Conf->LockPrefixTable);
+ W.printHex("MaximumAllocationSize", Conf->MaximumAllocationSize);
+ W.printHex("VirtualMemoryThreshold", Conf->VirtualMemoryThreshold);
+ W.printHex("ProcessHeapFlags", Conf->ProcessHeapFlags);
+ W.printHex("ProcessAffinityMask", Conf->ProcessAffinityMask);
+ W.printHex("CSDVersion", Conf->CSDVersion);
+ W.printHex("DependentLoadFlags", Conf->DependentLoadFlags);
+ W.printHex("EditList", Conf->EditList);
+ W.printHex("SecurityCookie", Conf->SecurityCookie);
+
+ // Print the safe SEH table if present.
+ if (Conf->Size < offsetof(coff_load_configuration32, GuardCFCheckFunction))
+ return;
+ W.printHex("SEHandlerTable", Conf->SEHandlerTable);
+ W.printNumber("SEHandlerCount", Conf->SEHandlerCount);
+
+ Tables.SEHTableVA = Conf->SEHandlerTable;
+ Tables.SEHTableCount = Conf->SEHandlerCount;
+
+ // Print everything before CodeIntegrity. (2015)
+ if (Conf->Size < offsetof(T, CodeIntegrity))
+ return;
+ W.printHex("GuardCFCheckFunction", Conf->GuardCFCheckFunction);
+ W.printHex("GuardCFCheckDispatch", Conf->GuardCFCheckDispatch);
+ W.printHex("GuardCFFunctionTable", Conf->GuardCFFunctionTable);
+ W.printNumber("GuardCFFunctionCount", Conf->GuardCFFunctionCount);
+ W.printHex("GuardFlags", Conf->GuardFlags);
+
+ Tables.GuardFidTableVA = Conf->GuardCFFunctionTable;
+ Tables.GuardFidTableCount = Conf->GuardCFFunctionCount;
+ Tables.GuardFlags = Conf->GuardFlags;
+
+ // Print the rest. (2017)
+ if (Conf->Size < sizeof(T))
+ return;
+ W.printHex("GuardAddressTakenIatEntryTable",
+ Conf->GuardAddressTakenIatEntryTable);
+ W.printNumber("GuardAddressTakenIatEntryCount",
+ Conf->GuardAddressTakenIatEntryCount);
+ W.printHex("GuardLongJumpTargetTable", Conf->GuardLongJumpTargetTable);
+ W.printNumber("GuardLongJumpTargetCount", Conf->GuardLongJumpTargetCount);
+ W.printHex("DynamicValueRelocTable", Conf->DynamicValueRelocTable);
+ W.printHex("CHPEMetadataPointer", Conf->CHPEMetadataPointer);
+ W.printHex("GuardRFFailureRoutine", Conf->GuardRFFailureRoutine);
+ W.printHex("GuardRFFailureRoutineFunctionPointer",
+ Conf->GuardRFFailureRoutineFunctionPointer);
+ W.printHex("DynamicValueRelocTableOffset",
+ Conf->DynamicValueRelocTableOffset);
+ W.printNumber("DynamicValueRelocTableSection",
+ Conf->DynamicValueRelocTableSection);
+ W.printHex("GuardRFVerifyStackPointerFunctionPointer",
+ Conf->GuardRFVerifyStackPointerFunctionPointer);
+ W.printHex("HotPatchTableOffset", Conf->HotPatchTableOffset);
+}
+
void COFFDumper::printBaseOfDataField(const pe32_header *Hdr) {
W.printHex("BaseOfData", Hdr->BaseOfData);
}
@@ -1100,7 +1236,7 @@ void COFFDumper::printCodeViewTypeSection(StringRef SectionName,
if (Magic != COFF::DEBUG_SECTION_MAGIC)
return error(object_error::parse_failed);
- Types.reset(Data);
+ Types.reset(Data, 100);
TypeDumpVisitor TDV(Types, &W, opts::CodeViewSubsectionBytes);
error(codeview::visitTypeStream(Types, TDV));
diff --git a/tools/llvm-readobj/ObjDumper.h b/tools/llvm-readobj/ObjDumper.h
index 48f825c527c1..43883c2d2176 100644
--- a/tools/llvm-readobj/ObjDumper.h
+++ b/tools/llvm-readobj/ObjDumper.h
@@ -68,6 +68,7 @@ public:
virtual void printCOFFBaseReloc() { }
virtual void printCOFFDebugDirectory() { }
virtual void printCOFFResources() {}
+ virtual void printCOFFLoadConfig() { }
virtual void printCodeViewDebugInfo() { }
virtual void mergeCodeViewTypes(llvm::codeview::TypeTableBuilder &CVIDs,
llvm::codeview::TypeTableBuilder &CVTypes) {}
diff --git a/tools/llvm-readobj/llvm-readobj.cpp b/tools/llvm-readobj/llvm-readobj.cpp
index cd7244a8f970..51991a3f067b 100644
--- a/tools/llvm-readobj/llvm-readobj.cpp
+++ b/tools/llvm-readobj/llvm-readobj.cpp
@@ -218,6 +218,11 @@ namespace opts {
cl::opt<bool> COFFResources("coff-resources",
cl::desc("Display the PE/COFF .rsrc section"));
+ // -coff-load-config
+ cl::opt<bool>
+ COFFLoadConfig("coff-load-config",
+ cl::desc("Display the PE/COFF load config"));
+
// -macho-data-in-code
cl::opt<bool>
MachODataInCode("macho-data-in-code",
@@ -444,6 +449,8 @@ static void dumpObject(const ObjectFile *Obj) {
Dumper->printCOFFDebugDirectory();
if (opts::COFFResources)
Dumper->printCOFFResources();
+ if (opts::COFFLoadConfig)
+ Dumper->printCOFFLoadConfig();
if (opts::CodeView)
Dumper->printCodeViewDebugInfo();
if (opts::CodeViewMergedTypes)
diff --git a/tools/llvm-stress/llvm-stress.cpp b/tools/llvm-stress/llvm-stress.cpp
index 0ed7adb46ddc..3cf8b37bc2e2 100644
--- a/tools/llvm-stress/llvm-stress.cpp
+++ b/tools/llvm-stress/llvm-stress.cpp
@@ -96,17 +96,13 @@ public:
return Seed & 0x7ffff;
}
- /// Return a random 32 bit integer.
- uint32_t Rand32() {
- uint32_t Val = Rand();
- Val &= 0xffff;
- return Val | (Rand() << 16);
- }
-
/// Return a random 64 bit integer.
uint64_t Rand64() {
- uint64_t Val = Rand32();
- return Val | (uint64_t(Rand32()) << 32);
+ uint64_t Val = Rand() & 0xffff;
+ Val |= uint64_t(Rand() & 0xffff) << 16;
+ Val |= uint64_t(Rand() & 0xffff) << 32;
+ Val |= uint64_t(Rand() & 0xffff) << 48;
+ return Val;
}
/// Rand operator for STL algorithms.
@@ -116,10 +112,14 @@ public:
/// Make this like a C++11 random device
typedef uint32_t result_type;
- uint32_t operator()() { return Rand32(); }
static constexpr result_type min() { return 0; }
static constexpr result_type max() { return 0x7ffff; }
-
+ uint32_t operator()() {
+ uint32_t Val = Rand();
+ assert(Val <= max() && "Random value out of range");
+ return Val;
+ }
+
private:
unsigned Seed;
};
@@ -168,19 +168,24 @@ public:
}
protected:
+ /// Return a random integer.
+ uint32_t getRandom() {
+ return Ran->Rand();
+ }
+
/// Return a random value from the list of known values.
Value *getRandomVal() {
assert(PT->size());
- return PT->at(Ran->Rand() % PT->size());
+ return PT->at(getRandom() % PT->size());
}
Constant *getRandomConstant(Type *Tp) {
if (Tp->isIntegerTy()) {
- if (Ran->Rand() & 1)
+ if (getRandom() & 1)
return ConstantInt::getAllOnesValue(Tp);
return ConstantInt::getNullValue(Tp);
} else if (Tp->isFloatingPointTy()) {
- if (Ran->Rand() & 1)
+ if (getRandom() & 1)
return ConstantFP::getAllOnesValue(Tp);
return ConstantFP::getNullValue(Tp);
}
@@ -189,7 +194,7 @@ protected:
/// Return a random value with a known type.
Value *getRandomValue(Type *Tp) {
- unsigned index = Ran->Rand();
+ unsigned index = getRandom();
for (unsigned i=0; i<PT->size(); ++i) {
Value *V = PT->at((index + i) % PT->size());
if (V->getType() == Tp)
@@ -198,11 +203,11 @@ protected:
// If the requested type was not found, generate a constant value.
if (Tp->isIntegerTy()) {
- if (Ran->Rand() & 1)
+ if (getRandom() & 1)
return ConstantInt::getAllOnesValue(Tp);
return ConstantInt::getNullValue(Tp);
} else if (Tp->isFloatingPointTy()) {
- if (Ran->Rand() & 1)
+ if (getRandom() & 1)
return ConstantFP::getAllOnesValue(Tp);
return ConstantFP::getNullValue(Tp);
} else if (Tp->isVectorTy()) {
@@ -222,7 +227,7 @@ protected:
/// Return a random value of any pointer type.
Value *getRandomPointerValue() {
- unsigned index = Ran->Rand();
+ unsigned index = getRandom();
for (unsigned i=0; i<PT->size(); ++i) {
Value *V = PT->at((index + i) % PT->size());
if (V->getType()->isPointerTy())
@@ -233,7 +238,7 @@ protected:
/// Return a random value of any vector type.
Value *getRandomVectorValue() {
- unsigned index = Ran->Rand();
+ unsigned index = getRandom();
for (unsigned i=0; i<PT->size(); ++i) {
Value *V = PT->at((index + i) % PT->size());
if (V->getType()->isVectorTy())
@@ -244,7 +249,7 @@ protected:
/// Pick a random type.
Type *pickType() {
- return (Ran->Rand() & 1 ? pickVectorType() : pickScalarType());
+ return (getRandom() & 1 ? pickVectorType() : pickScalarType());
}
/// Pick a random pointer type.
@@ -258,7 +263,7 @@ protected:
// Pick a random vector width in the range 2**0 to 2**4.
// by adding two randoms we are generating a normal-like distribution
// around 2**3.
- unsigned width = 1<<((Ran->Rand() % 3) + (Ran->Rand() % 3));
+ unsigned width = 1<<((getRandom() % 3) + (getRandom() % 3));
Type *Ty;
// Vectors of x86mmx are illegal; keep trying till we get something else.
@@ -288,7 +293,7 @@ protected:
AdditionalScalarTypes.begin(), AdditionalScalarTypes.end());
}
- return ScalarTypes[Ran->Rand() % ScalarTypes.size()];
+ return ScalarTypes[getRandom() % ScalarTypes.size()];
}
/// Basic block to populate
@@ -348,7 +353,7 @@ struct BinModifier: public Modifier {
bool isFloat = Val0->getType()->getScalarType()->isFloatingPointTy();
Instruction* Term = BB->getTerminator();
- unsigned R = Ran->Rand() % (isFloat ? 7 : 13);
+ unsigned R = getRandom() % (isFloat ? 7 : 13);
Instruction::BinaryOps Op;
switch (R) {
@@ -379,7 +384,7 @@ struct ConstModifier: public Modifier {
Type *Ty = pickType();
if (Ty->isVectorTy()) {
- switch (Ran->Rand() % 2) {
+ switch (getRandom() % 2) {
case 0: if (Ty->getScalarType()->isIntegerTy())
return PT->push_back(ConstantVector::getAllOnesValue(Ty));
break;
@@ -398,25 +403,27 @@ struct ConstModifier: public Modifier {
APInt RandomInt(Ty->getPrimitiveSizeInBits(), makeArrayRef(RandomBits));
APFloat RandomFloat(Ty->getFltSemantics(), RandomInt);
- if (Ran->Rand() & 1)
+ if (getRandom() & 1)
return PT->push_back(ConstantFP::getNullValue(Ty));
return PT->push_back(ConstantFP::get(Ty->getContext(), RandomFloat));
}
if (Ty->isIntegerTy()) {
- switch (Ran->Rand() % 7) {
+ switch (getRandom() % 7) {
case 0:
return PT->push_back(ConstantInt::get(
Ty, APInt::getAllOnesValue(Ty->getPrimitiveSizeInBits())));
case 1:
return PT->push_back(ConstantInt::get(
Ty, APInt::getNullValue(Ty->getPrimitiveSizeInBits())));
- case 2: case 3: case 4: case 5:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
case 6:
- PT->push_back(ConstantInt::get(Ty, Ran->Rand()));
+ PT->push_back(ConstantInt::get(Ty, getRandom()));
}
}
-
}
};
@@ -439,7 +446,7 @@ struct ExtractElementModifier: public Modifier {
Value *Val0 = getRandomVectorValue();
Value *V = ExtractElementInst::Create(Val0,
ConstantInt::get(Type::getInt32Ty(BB->getContext()),
- Ran->Rand() % cast<VectorType>(Val0->getType())->getNumElements()),
+ getRandom() % cast<VectorType>(Val0->getType())->getNumElements()),
"E", BB->getTerminator());
return PT->push_back(V);
}
@@ -457,9 +464,9 @@ struct ShuffModifier: public Modifier {
Type *I32 = Type::getInt32Ty(BB->getContext());
for (unsigned i=0; i<Width; ++i) {
- Constant *CI = ConstantInt::get(I32, Ran->Rand() % (Width*2));
+ Constant *CI = ConstantInt::get(I32, getRandom() % (Width*2));
// Pick some undef values.
- if (!(Ran->Rand() % 5))
+ if (!(getRandom() % 5))
CI = UndefValue::get(I32);
Idxs.push_back(CI);
}
@@ -482,7 +489,7 @@ struct InsertElementModifier: public Modifier {
Value *V = InsertElementInst::Create(Val0, Val1,
ConstantInt::get(Type::getInt32Ty(BB->getContext()),
- Ran->Rand() % cast<VectorType>(Val0->getType())->getNumElements()),
+ getRandom() % cast<VectorType>(Val0->getType())->getNumElements()),
"I", BB->getTerminator());
return PT->push_back(V);
}
@@ -518,7 +525,7 @@ struct CastModifier: public Modifier {
unsigned DestSize = DestTy->getScalarType()->getPrimitiveSizeInBits();
// Generate lots of bitcasts.
- if ((Ran->Rand() & 1) && VSize == DestSize) {
+ if ((getRandom() & 1) && VSize == DestSize) {
return PT->push_back(
new BitCastInst(V, DestTy, "BC", BB->getTerminator()));
}
@@ -531,7 +538,7 @@ struct CastModifier: public Modifier {
new TruncInst(V, DestTy, "Tr", BB->getTerminator()));
} else {
assert(VSize < DestSize && "Different int types with the same size?");
- if (Ran->Rand() & 1)
+ if (getRandom() & 1)
return PT->push_back(
new ZExtInst(V, DestTy, "ZE", BB->getTerminator()));
return PT->push_back(new SExtInst(V, DestTy, "Se", BB->getTerminator()));
@@ -541,7 +548,7 @@ struct CastModifier: public Modifier {
// Fp to int.
if (VTy->getScalarType()->isFloatingPointTy() &&
DestTy->getScalarType()->isIntegerTy()) {
- if (Ran->Rand() & 1)
+ if (getRandom() & 1)
return PT->push_back(
new FPToSIInst(V, DestTy, "FC", BB->getTerminator()));
return PT->push_back(new FPToUIInst(V, DestTy, "FC", BB->getTerminator()));
@@ -550,7 +557,7 @@ struct CastModifier: public Modifier {
// Int to fp.
if (VTy->getScalarType()->isIntegerTy() &&
DestTy->getScalarType()->isFloatingPointTy()) {
- if (Ran->Rand() & 1)
+ if (getRandom() & 1)
return PT->push_back(
new SIToFPInst(V, DestTy, "FC", BB->getTerminator()));
return PT->push_back(new UIToFPInst(V, DestTy, "FC", BB->getTerminator()));
@@ -587,7 +594,7 @@ struct SelectModifier: public Modifier {
// If the value type is a vector, and we allow vector select, then in 50%
// of the cases generate a vector select.
- if (Val0->getType()->isVectorTy() && (Ran->Rand() % 1)) {
+ if (Val0->getType()->isVectorTy() && (getRandom() % 1)) {
unsigned NumElem = cast<VectorType>(Val0->getType())->getNumElements();
CondTy = VectorType::get(CondTy, NumElem);
}
@@ -611,11 +618,11 @@ struct CmpModifier: public Modifier {
int op;
if (fp) {
- op = Ran->Rand() %
+ op = getRandom() %
(CmpInst::LAST_FCMP_PREDICATE - CmpInst::FIRST_FCMP_PREDICATE) +
CmpInst::FIRST_FCMP_PREDICATE;
} else {
- op = Ran->Rand() %
+ op = getRandom() %
(CmpInst::LAST_ICMP_PREDICATE - CmpInst::FIRST_ICMP_PREDICATE) +
CmpInst::FIRST_ICMP_PREDICATE;
}
diff --git a/tools/obj2yaml/obj2yaml.cpp b/tools/obj2yaml/obj2yaml.cpp
index 31712af26362..8bf09c2164bf 100644
--- a/tools/obj2yaml/obj2yaml.cpp
+++ b/tools/obj2yaml/obj2yaml.cpp
@@ -30,21 +30,32 @@ static std::error_code dumpObject(const ObjectFile &Obj) {
return obj2yaml_error::unsupported_obj_file_format;
}
-static std::error_code dumpInput(StringRef File) {
+static Error dumpInput(StringRef File) {
Expected<OwningBinary<Binary>> BinaryOrErr = createBinary(File);
if (!BinaryOrErr)
- return errorToErrorCode(BinaryOrErr.takeError());
+ return BinaryOrErr.takeError();
Binary &Binary = *BinaryOrErr.get().getBinary();
// Universal MachO is not a subclass of ObjectFile, so it needs to be handled
// here with the other binary types.
if (Binary.isMachO() || Binary.isMachOUniversalBinary())
- return macho2yaml(outs(), Binary);
+ return errorCodeToError(macho2yaml(outs(), Binary));
// TODO: If this is an archive, then burst it and dump each entry
if (ObjectFile *Obj = dyn_cast<ObjectFile>(&Binary))
- return dumpObject(*Obj);
+ return errorCodeToError(dumpObject(*Obj));
- return obj2yaml_error::unrecognized_file_format;
+ return Error::success();
+}
+
+static void reportError(StringRef Input, Error Err) {
+ if (Input == "-")
+ Input = "<stdin>";
+ std::string ErrMsg;
+ raw_string_ostream OS(ErrMsg);
+ logAllUnhandledErrors(std::move(Err), OS, "");
+ OS.flush();
+ errs() << "Error reading file: " << Input << ": " << ErrMsg;
+ errs().flush();
}
cl::opt<std::string> InputFilename(cl::Positional, cl::desc("<input file>"),
@@ -56,8 +67,8 @@ int main(int argc, char *argv[]) {
PrettyStackTraceProgram X(argc, argv);
llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
- if (std::error_code EC = dumpInput(InputFilename)) {
- errs() << "Error: '" << EC.message() << "'\n";
+ if (Error Err = dumpInput(InputFilename)) {
+ reportError(InputFilename, std::move(Err));
return 1;
}
diff --git a/tools/obj2yaml/wasm2yaml.cpp b/tools/obj2yaml/wasm2yaml.cpp
index d4d978f028e2..ad0075caac1d 100644
--- a/tools/obj2yaml/wasm2yaml.cpp
+++ b/tools/obj2yaml/wasm2yaml.cpp
@@ -14,6 +14,7 @@
#include "llvm/Support/YAMLTraits.h"
using namespace llvm;
+using object::WasmSection;
namespace {
@@ -22,10 +23,16 @@ class WasmDumper {
public:
WasmDumper(const object::WasmObjectFile &O) : Obj(O) {}
+
ErrorOr<WasmYAML::Object *> dump();
+
+ std::unique_ptr<WasmYAML::CustomSection>
+ dumpCustomSection(const WasmSection &WasmSec);
};
-WasmYAML::Table make_table(const wasm::WasmTable &Table) {
+} // namespace
+
+static WasmYAML::Table make_table(const wasm::WasmTable &Table) {
WasmYAML::Table T;
T.ElemType = Table.ElemType;
T.TableLimits.Flags = Table.Limits.Flags;
@@ -34,7 +41,7 @@ WasmYAML::Table make_table(const wasm::WasmTable &Table) {
return T;
}
-WasmYAML::Limits make_limits(const wasm::WasmLimits &Limits) {
+static WasmYAML::Limits make_limits(const wasm::WasmLimits &Limits) {
WasmYAML::Limits L;
L.Flags = Limits.Flags;
L.Initial = Limits.Initial;
@@ -42,6 +49,42 @@ WasmYAML::Limits make_limits(const wasm::WasmLimits &Limits) {
return L;
}
+std::unique_ptr<WasmYAML::CustomSection> WasmDumper::dumpCustomSection(const WasmSection &WasmSec) {
+ std::unique_ptr<WasmYAML::CustomSection> CustomSec;
+ if (WasmSec.Name == "name") {
+ std::unique_ptr<WasmYAML::NameSection> NameSec = make_unique<WasmYAML::NameSection>();
+ for (const object::SymbolRef& Sym: Obj.symbols()) {
+ uint32_t Flags = Sym.getFlags();
+ // Skip over symbols that come from imports or exports
+ if (Flags &
+ (object::SymbolRef::SF_Global | object::SymbolRef::SF_Undefined))
+ continue;
+ Expected<StringRef> NameOrError = Sym.getName();
+ if (!NameOrError)
+ continue;
+ WasmYAML::NameEntry NameEntry;
+ NameEntry.Name = *NameOrError;
+ NameEntry.Index = Sym.getValue();
+ NameSec->FunctionNames.push_back(NameEntry);
+ }
+ CustomSec = std::move(NameSec);
+ } else if (WasmSec.Name == "linking") {
+ std::unique_ptr<WasmYAML::LinkingSection> LinkingSec = make_unique<WasmYAML::LinkingSection>();
+ for (const object::SymbolRef& Sym: Obj.symbols()) {
+ const object::WasmSymbol Symbol = Obj.getWasmSymbol(Sym);
+ if (Symbol.Flags != 0) {
+ WasmYAML::SymbolInfo Info = { Symbol.Name, Symbol.Flags };
+ LinkingSec->SymbolInfos.push_back(Info);
+ }
+ }
+ CustomSec = std::move(LinkingSec);
+ } else {
+ CustomSec = make_unique<WasmYAML::CustomSection>(WasmSec.Name);
+ }
+ CustomSec->Payload = yaml::BinaryRef(WasmSec.Content);
+ return CustomSec;
+}
+
ErrorOr<WasmYAML::Object *> WasmDumper::dump() {
auto Y = make_unique<WasmYAML::Object>();
@@ -50,7 +93,7 @@ ErrorOr<WasmYAML::Object *> WasmDumper::dump() {
// Dump sections
for (const auto &Sec : Obj.sections()) {
- const object::WasmSection &WasmSec = Obj.getWasmSection(Sec);
+ const WasmSection &WasmSec = Obj.getWasmSection(Sec);
std::unique_ptr<WasmYAML::Section> S;
switch (WasmSec.Type) {
case wasm::WASM_SEC_CUSTOM: {
@@ -59,27 +102,7 @@ ErrorOr<WasmYAML::Object *> WasmDumper::dump() {
// being represented as a custom section in the YAML output.
continue;
}
- auto CustomSec = make_unique<WasmYAML::CustomSection>();
- CustomSec->Name = WasmSec.Name;
- if (CustomSec->Name == "name") {
- for (const object::SymbolRef& Sym: Obj.symbols()) {
- uint32_t Flags = Sym.getFlags();
- // Skip over symbols that come from imports or exports
- if (Flags &
- (object::SymbolRef::SF_Global | object::SymbolRef::SF_Undefined))
- continue;
- Expected<StringRef> NameOrError = Sym.getName();
- if (!NameOrError)
- continue;
- WasmYAML::NameEntry NameEntry;
- NameEntry.Name = *NameOrError;
- NameEntry.Index = Sym.getValue();
- CustomSec->FunctionNames.push_back(NameEntry);
- }
- } else {
- CustomSec->Payload = yaml::BinaryRef(WasmSec.Content);
- }
- S = std::move(CustomSec);
+ S = dumpCustomSection(WasmSec);
break;
}
case wasm::WASM_SEC_TYPE: {
@@ -237,8 +260,6 @@ ErrorOr<WasmYAML::Object *> WasmDumper::dump() {
return Y.release();
}
-} // namespace
-
std::error_code wasm2yaml(raw_ostream &Out, const object::WasmObjectFile &Obj) {
WasmDumper Dumper(Obj);
ErrorOr<WasmYAML::Object *> YAMLOrErr = Dumper.dump();
diff --git a/tools/yaml2obj/yaml2wasm.cpp b/tools/yaml2obj/yaml2wasm.cpp
index 5c8aba33ee80..cf591e16317c 100644
--- a/tools/yaml2obj/yaml2wasm.cpp
+++ b/tools/yaml2obj/yaml2wasm.cpp
@@ -26,8 +26,9 @@ class WasmWriter {
public:
WasmWriter(WasmYAML::Object &Obj) : Obj(Obj) {}
int writeWasm(raw_ostream &OS);
+
+private:
int writeRelocSection(raw_ostream &OS, WasmYAML::Section &Sec);
- int writeNameSection(raw_ostream &OS, WasmYAML::CustomSection &Section);
int writeSectionContent(raw_ostream &OS, WasmYAML::CustomSection &Section);
int writeSectionContent(raw_ostream &OS, WasmYAML::TypeSection &Section);
@@ -42,7 +43,9 @@ public:
int writeSectionContent(raw_ostream &OS, WasmYAML::CodeSection &Section);
int writeSectionContent(raw_ostream &OS, WasmYAML::DataSection &Section);
-private:
+ // Custom section types
+ int writeSectionContent(raw_ostream &OS, WasmYAML::NameSection &Section);
+ int writeSectionContent(raw_ostream &OS, WasmYAML::LinkingSection &Section);
WasmYAML::Object &Obj;
};
@@ -107,12 +110,30 @@ static int writeInitExpr(const wasm::WasmInitExpr &InitExpr, raw_ostream &OS) {
return 0;
}
-int WasmWriter::writeNameSection(raw_ostream &OS,
- WasmYAML::CustomSection &Section) {
+int WasmWriter::writeSectionContent(raw_ostream &OS, WasmYAML::LinkingSection &Section) {
+ writeStringRef(Section.Name, OS);
+ if (Section.SymbolInfos.size()) {
+ encodeULEB128(wasm::WASM_SYMBOL_INFO, OS);
+ std::string OutString;
+ raw_string_ostream StringStream(OutString);
+
+ encodeULEB128(Section.SymbolInfos.size(), StringStream);
+ for (const WasmYAML::SymbolInfo &Info : Section.SymbolInfos) {
+ writeStringRef(Info.Name, StringStream);
+ encodeULEB128(Info.Flags, StringStream);
+ }
+
+ StringStream.flush();
+ encodeULEB128(OutString.size(), OS);
+ OS << OutString;
+ }
+ return 0;
+}
+
+int WasmWriter::writeSectionContent(raw_ostream &OS, WasmYAML::NameSection &Section) {
writeStringRef(Section.Name, OS);
if (Section.FunctionNames.size()) {
encodeULEB128(wasm::WASM_NAMES_FUNCTION, OS);
-
std::string OutString;
raw_string_ostream StringStream(OutString);
@@ -131,8 +152,12 @@ int WasmWriter::writeNameSection(raw_ostream &OS,
int WasmWriter::writeSectionContent(raw_ostream &OS,
WasmYAML::CustomSection &Section) {
- if (Section.Name == "name") {
- writeNameSection(OS, Section);
+ if (auto S = dyn_cast<WasmYAML::NameSection>(&Section)) {
+ if (auto Err = writeSectionContent(OS, *S))
+ return Err;
+ } else if (auto S = dyn_cast<WasmYAML::LinkingSection>(&Section)) {
+ if (auto Err = writeSectionContent(OS, *S))
+ return Err;
} else {
Section.Payload.writeAsBinary(OS);
}
diff --git a/unittests/ADT/StringExtrasTest.cpp b/unittests/ADT/StringExtrasTest.cpp
index 2cc9cad32b0b..234a40d26cfd 100644
--- a/unittests/ADT/StringExtrasTest.cpp
+++ b/unittests/ADT/StringExtrasTest.cpp
@@ -65,4 +65,22 @@ TEST(StringExtrasTest, ToAndFromHex) {
EvenBytes.size());
EXPECT_EQ(EvenStr, toHex(EvenData));
EXPECT_EQ(EvenData, fromHex(EvenStr));
-} \ No newline at end of file
+}
+
+TEST(StringExtrasTest, to_float) {
+ float F;
+ EXPECT_TRUE(to_float("4.7", F));
+ EXPECT_FLOAT_EQ(4.7f, F);
+
+ double D;
+ EXPECT_TRUE(to_float("4.7", D));
+ EXPECT_DOUBLE_EQ(4.7, D);
+
+ long double LD;
+ EXPECT_TRUE(to_float("4.7", LD));
+ EXPECT_DOUBLE_EQ(4.7, LD);
+
+ EXPECT_FALSE(to_float("foo", F));
+ EXPECT_FALSE(to_float("7.4 foo", F));
+ EXPECT_FLOAT_EQ(4.7f, F); // F should be unchanged
+}
diff --git a/unittests/ADT/TripleTest.cpp b/unittests/ADT/TripleTest.cpp
index af4592ba0957..16732c9578d1 100644
--- a/unittests/ADT/TripleTest.cpp
+++ b/unittests/ADT/TripleTest.cpp
@@ -200,6 +200,12 @@ TEST(TripleTest, ParsedIDs) {
EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
EXPECT_EQ(Triple::UnknownOS, T.getOS());
+ T = Triple("x86_64-unknown-ananas");
+ EXPECT_EQ(Triple::x86_64, T.getArch());
+ EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
+ EXPECT_EQ(Triple::Ananas, T.getOS());
+ EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
+
T = Triple("x86_64-unknown-cloudabi");
EXPECT_EQ(Triple::x86_64, T.getArch());
EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
diff --git a/unittests/Analysis/AliasSetTrackerTest.cpp b/unittests/Analysis/AliasSetTrackerTest.cpp
new file mode 100644
index 000000000000..886971c4d3a2
--- /dev/null
+++ b/unittests/Analysis/AliasSetTrackerTest.cpp
@@ -0,0 +1,87 @@
+//=======- AliasSetTrackerTest.cpp - Unit test for the Alias Set Tracker -===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Analysis/AliasAnalysis.h"
+#include "llvm/Analysis/AliasSetTracker.h"
+#include "llvm/Analysis/TypeBasedAliasAnalysis.h"
+#include "llvm/AsmParser/Parser.h"
+#include "llvm/IR/LLVMContext.h"
+#include "llvm/IR/Module.h"
+#include "llvm/Support/SourceMgr.h"
+#include "gtest/gtest.h"
+
+using namespace llvm;
+
+TEST(AliasSetTracker, AliasUnknownInst) {
+ StringRef Assembly = R"(
+ @a = common global i32 0, align 4
+ @b = common global float 0.000000e+00, align 4
+
+ ; Function Attrs: nounwind ssp uwtable
+ define i32 @read_a() #0 {
+ %1 = load i32, i32* @a, align 4, !tbaa !3
+ ret i32 %1
+ }
+
+ ; Function Attrs: nounwind ssp uwtable
+ define void @write_b() #0 {
+ store float 1.000000e+01, float* @b, align 4, !tbaa !7
+ ret void
+ }
+
+ ; Function Attrs: nounwind ssp uwtable
+ define void @test() #0 {
+ %1 = call i32 @read_a(), !tbaa !3
+ call void @write_b(), !tbaa !7
+ ret void
+ }
+
+ !3 = !{!4, !4, i64 0}
+ !4 = !{!"int", !5, i64 0}
+ !5 = !{!"omnipotent char", !6, i64 0}
+ !6 = !{!"Simple C/C++ TBAA"}
+ !7 = !{!8, !8, i64 0}
+ !8 = !{!"float", !5, i64 0}
+ )";
+
+ // Parse the IR. The two calls in @test can not access aliasing elements.
+ LLVMContext Context;
+ SMDiagnostic Error;
+ auto M = parseAssemblyString(Assembly, Error, Context);
+ ASSERT_TRUE(M) << "Bad assembly?";
+
+ // Initialize the alias result.
+ Triple Trip(M->getTargetTriple());
+ TargetLibraryInfoImpl TLII(Trip);
+ TargetLibraryInfo TLI(TLII);
+ AAResults AA(TLI);
+ TypeBasedAAResult TBAAR;
+ AA.addAAResult(TBAAR);
+
+ // Initialize the alias set tracker for the @test function.
+ Function *Test = M->getFunction("test");
+ ASSERT_NE(Test, nullptr);
+ AliasSetTracker AST(AA);
+ for (auto &BB : *Test)
+ AST.add(BB);
+ // There should be 2 disjoint alias sets. 1 from each call.
+ ASSERT_EQ((int)AST.getAliasSets().size(), 2);
+
+ // Directly test aliasesUnknownInst.
+ // Now every call instruction should only alias one alias set.
+ for (auto &Inst : *Test->begin()) {
+ bool FoundAS = false;
+ for (AliasSet &AS : AST) {
+ if (!AS.aliasesUnknownInst(&Inst, AA))
+ continue;
+ ASSERT_NE(FoundAS, true);
+ FoundAS = true;
+ }
+ }
+}
diff --git a/unittests/Analysis/CMakeLists.txt b/unittests/Analysis/CMakeLists.txt
index ac8bca25d93a..ed10ff8a9b03 100644
--- a/unittests/Analysis/CMakeLists.txt
+++ b/unittests/Analysis/CMakeLists.txt
@@ -7,6 +7,7 @@ set(LLVM_LINK_COMPONENTS
add_llvm_unittest(AnalysisTests
AliasAnalysisTest.cpp
+ AliasSetTrackerTest.cpp
BlockFrequencyInfoTest.cpp
BranchProbabilityInfoTest.cpp
CallGraphTest.cpp
diff --git a/unittests/BinaryFormat/TestFileMagic.cpp b/unittests/BinaryFormat/TestFileMagic.cpp
index fc2c1eef9fbf..68b3ade00954 100644
--- a/unittests/BinaryFormat/TestFileMagic.cpp
+++ b/unittests/BinaryFormat/TestFileMagic.cpp
@@ -76,7 +76,8 @@ const char macho_dsym_companion[] =
"\xfe\xed\xfa\xce........\x00\x00\x00\x0a............";
const char macho_kext_bundle[] =
"\xfe\xed\xfa\xce........\x00\x00\x00\x0b............";
-const char windows_resource[] = "\x00\x00\x00\x00\x020\x00\x00\x00\xff";
+const char windows_resource[] =
+ "\x00\x00\x00\x00\x020\x00\x00\x00\xff\xff\x00\x00\xff\xff\x00\x00";
const char macho_dynamically_linked_shared_lib_stub[] =
"\xfe\xed\xfa\xce........\x00\x00\x00\x09............";
diff --git a/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp b/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp
index 4fa172a37ef2..92134513b75b 100644
--- a/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp
+++ b/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp
@@ -351,3 +351,55 @@ TEST_F(RandomAccessVisitorTest, InnerChunk) {
for (auto &I : enumerate(IndicesToVisit))
EXPECT_TRUE(ValidateVisitedRecord(I.index(), I.value()));
}
+
+TEST_F(RandomAccessVisitorTest, CrossChunkName) {
+ TypeTableBuilder Builder(GlobalState->Allocator);
+
+ // TypeIndex 0
+ ClassRecord Class(TypeRecordKind::Class);
+ Class.Name = "FooClass";
+ Class.Options = ClassOptions::None;
+ Class.MemberCount = 0;
+ Class.Size = 4U;
+ Class.DerivationList = TypeIndex::fromArrayIndex(0);
+ Class.FieldList = TypeIndex::fromArrayIndex(0);
+ Class.VTableShape = TypeIndex::fromArrayIndex(0);
+ TypeIndex IndexZero = Builder.writeKnownType(Class);
+
+ // TypeIndex 1 refers to type index 0.
+ ModifierRecord Modifier(TypeRecordKind::Modifier);
+ Modifier.ModifiedType = TypeIndex::fromArrayIndex(0);
+ Modifier.Modifiers = ModifierOptions::Const;
+ TypeIndex IndexOne = Builder.writeKnownType(Modifier);
+
+ // set up a type stream that refers to the above two serialized records.
+ std::vector<CVType> TypeArray;
+ TypeArray.push_back(
+ CVType(static_cast<TypeLeafKind>(Class.Kind), Builder.records()[0]));
+ TypeArray.push_back(
+ CVType(static_cast<TypeLeafKind>(Modifier.Kind), Builder.records()[1]));
+ BinaryItemStream<CVType> ItemStream(llvm::support::little);
+ ItemStream.setItems(TypeArray);
+ VarStreamArray<CVType> TypeStream(ItemStream);
+
+ // Figure out the byte offset of the second item.
+ auto ItemOneIter = TypeStream.begin();
+ ++ItemOneIter;
+
+ // Set up a partial offsets buffer that contains the first and second items
+ // in separate chunks.
+ std::vector<TypeIndexOffset> TIO;
+ TIO.push_back({IndexZero, ulittle32_t(0u)});
+ TIO.push_back({IndexOne, ulittle32_t(ItemOneIter.offset())});
+ ArrayRef<uint8_t> Buffer(reinterpret_cast<const uint8_t *>(TIO.data()),
+ TIO.size() * sizeof(TypeIndexOffset));
+
+ BinaryStreamReader Reader(Buffer, llvm::support::little);
+ FixedStreamArray<TypeIndexOffset> PartialOffsets;
+ ASSERT_THAT_ERROR(Reader.readArray(PartialOffsets, 2), Succeeded());
+
+ LazyRandomTypeCollection Types(TypeStream, 2, PartialOffsets);
+
+ StringRef Name = Types.getTypeName(IndexOne);
+ EXPECT_EQ("const FooClass", Name);
+} \ No newline at end of file
diff --git a/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp b/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
index 99c84906be9c..fa9e96123184 100644
--- a/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
+++ b/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
@@ -10,6 +10,7 @@
#include "llvm/DebugInfo/CodeView/TypeIndexDiscovery.h"
#include "llvm/DebugInfo/CodeView/TypeTableBuilder.h"
+#include "llvm/DebugInfo/CodeView/SymbolSerializer.h"
#include "llvm/Support/Allocator.h"
#include "gmock/gmock.h"
@@ -26,6 +27,7 @@ public:
Refs.clear();
TTB = make_unique<TypeTableBuilder>(Storage);
FLRB = make_unique<FieldListRecordBuilder>(*TTB);
+ Symbols.clear();
}
void TearDown() override {
@@ -37,7 +39,19 @@ protected:
template <typename... Indices>
bool checkTypeReferences(uint32_t RecordIndex, Indices &&... TIs) const {
EXPECT_EQ(sizeof...(Indices), countRefs(RecordIndex));
- return checkTypeReferencesImpl(RecordIndex, std::forward<Indices>(TIs)...);
+
+ // Choose between type or symbol records. The checking code doesn't care
+ // which we have.
+ std::vector<ArrayRef<uint8_t>> CVRecords;
+ if (Symbols.empty()) {
+ CVRecords = TTB->records();
+ } else {
+ for (const CVSymbol &S : Symbols)
+ CVRecords.push_back(S.data());
+ }
+
+ return checkTypeReferencesImpl(RecordIndex, CVRecords,
+ std::forward<Indices>(TIs)...);
}
template <typename... T> void writeFieldList(T &&... MemberRecords) {
@@ -54,6 +68,13 @@ protected:
discoverAllTypeIndices();
}
+ template <typename... T> void writeSymbolRecords(T &&... Records) {
+ writeSymbolRecordsImpl(std::forward<T>(Records)...);
+ ASSERT_EQ(sizeof...(T), Symbols.size());
+ discoverTypeIndicesInSymbols();
+ }
+
+
std::unique_ptr<TypeTableBuilder> TTB;
private:
@@ -83,18 +104,20 @@ private:
}
template <typename... Indices>
- bool checkTypeReferencesImpl(uint32_t RecordIndex) const {
+ bool checkTypeReferencesImpl(uint32_t RecordIndex,
+ ArrayRef<ArrayRef<uint8_t>> CVRecords) const {
return true;
}
template <typename... Indices>
- bool checkTypeReferencesImpl(uint32_t RecordIndex, TypeIndex TI,
- Indices &&... Rest) const {
- ArrayRef<uint8_t> Record = TTB->records()[RecordIndex];
+ bool checkTypeReferencesImpl(uint32_t RecordIndex,
+ ArrayRef<ArrayRef<uint8_t>> CVRecords,
+ TypeIndex TI, Indices &&... Rest) const {
+ ArrayRef<uint8_t> Record = CVRecords[RecordIndex];
bool Success = checkOneTypeReference(RecordIndex, Record, TI);
EXPECT_TRUE(Success);
- return Success &
- checkTypeReferencesImpl(RecordIndex, std::forward<Indices>(Rest)...);
+ return Success & checkTypeReferencesImpl(RecordIndex, CVRecords,
+ std::forward<Indices>(Rest)...);
}
void discoverAllTypeIndices() {
@@ -105,6 +128,12 @@ private:
}
}
+ void discoverTypeIndicesInSymbols() {
+ Refs.resize(Symbols.size());
+ for (uint32_t I = 0; I < Symbols.size(); ++I)
+ discoverTypeIndices(Symbols[I], Refs[I]);
+ }
+
// Helper function to write out a field list record with the given list
// of member records.
void writeFieldListImpl() {}
@@ -124,8 +153,19 @@ private:
writeTypeRecordsImpl(std::forward<Rest>(Records)...);
}
+ // Helper function to write out a list of symbol records.
+ void writeSymbolRecordsImpl() {}
+
+ template <typename RecType, typename... Rest>
+ void writeSymbolRecordsImpl(RecType &&Record, Rest &&... Records) {
+ Symbols.push_back(SymbolSerializer::writeOneSymbol(Record, Storage,
+ CodeViewContainer::Pdb));
+ writeSymbolRecordsImpl(std::forward<Rest>(Records)...);
+ }
+
std::vector<SmallVector<TiReference, 4>> Refs;
std::unique_ptr<FieldListRecordBuilder> FLRB;
+ std::vector<CVSymbol> Symbols;
BumpPtrAllocator Storage;
};
@@ -492,4 +532,35 @@ TEST_F(TypeIndexIteratorTest, ManyMembers) {
OneMethod.T1, OneMethod.T2, OneMethod.T3, OneMethod.T4, NestedType.Type,
StaticDataMember.Type, VirtualBaseClass.BaseType,
VirtualBaseClass.VBPtrType, VFPtr.Type, Continuation.ContinuationIndex);
-} \ No newline at end of file
+}
+
+TEST_F(TypeIndexIteratorTest, ProcSym) {
+ ProcSym GS(SymbolRecordKind::GlobalProcSym);
+ GS.FunctionType = TypeIndex(0x40);
+ ProcSym LS(SymbolRecordKind::ProcSym);
+ LS.FunctionType = TypeIndex(0x41);
+ writeSymbolRecords(GS, LS);
+ checkTypeReferences(0, GS.FunctionType);
+ checkTypeReferences(1, LS.FunctionType);
+}
+
+TEST_F(TypeIndexIteratorTest, DataSym) {
+ DataSym DS(SymbolRecordKind::GlobalData);
+ DS.Type = TypeIndex(0x40);
+ writeSymbolRecords(DS);
+ checkTypeReferences(0, DS.Type);
+}
+
+TEST_F(TypeIndexIteratorTest, CallerSym) {
+ CallerSym Callees(SymbolRecordKind::CalleeSym);
+ Callees.Indices.push_back(TypeIndex(1));
+ Callees.Indices.push_back(TypeIndex(2));
+ Callees.Indices.push_back(TypeIndex(3));
+ CallerSym Callers(SymbolRecordKind::CallerSym);
+ Callers.Indices.push_back(TypeIndex(4));
+ Callers.Indices.push_back(TypeIndex(5));
+ Callers.Indices.push_back(TypeIndex(6));
+ writeSymbolRecords(Callees, Callers);
+ checkTypeReferences(0, TypeIndex(1), TypeIndex(2), TypeIndex(3));
+ checkTypeReferences(1, TypeIndex(4), TypeIndex(5), TypeIndex(6));
+}
diff --git a/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp b/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
index da7f43e721aa..621796b684d6 100644
--- a/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
+++ b/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp
@@ -23,43 +23,52 @@ namespace {
TEST(DWARFFormValue, FixedFormSizes) {
Optional<uint8_t> RefSize;
Optional<uint8_t> AddrSize;
+
// Test 32 bit DWARF version 2 with 4 byte addresses.
- RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 2, 4, DWARF32);
- AddrSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 2, 4, DWARF32);
+ DWARFFormParams Params_2_4_32 = {2, 4, DWARF32};
+ RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_2_4_32);
+ AddrSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_2_4_32);
EXPECT_TRUE(RefSize.hasValue());
EXPECT_TRUE(AddrSize.hasValue());
EXPECT_EQ(*RefSize, *AddrSize);
// Test 32 bit DWARF version 2 with 8 byte addresses.
- RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 2, 8, DWARF32);
- AddrSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 2, 8, DWARF32);
+ DWARFFormParams Params_2_8_32 = {2, 8, DWARF32};
+ RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_2_8_32);
+ AddrSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_2_8_32);
EXPECT_TRUE(RefSize.hasValue());
EXPECT_TRUE(AddrSize.hasValue());
EXPECT_EQ(*RefSize, *AddrSize);
// DW_FORM_ref_addr is 4 bytes in DWARF 32 in DWARF version 3 and beyond.
- RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 3, 4, DWARF32);
+ DWARFFormParams Params_3_4_32 = {3, 4, DWARF32};
+ RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_3_4_32);
EXPECT_TRUE(RefSize.hasValue());
EXPECT_EQ(*RefSize, 4);
- RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 4, 4, DWARF32);
+ DWARFFormParams Params_4_4_32 = {4, 4, DWARF32};
+ RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_4_4_32);
EXPECT_TRUE(RefSize.hasValue());
EXPECT_EQ(*RefSize, 4);
- RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 5, 4, DWARF32);
+ DWARFFormParams Params_5_4_32 = {5, 4, DWARF32};
+ RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_5_4_32);
EXPECT_TRUE(RefSize.hasValue());
EXPECT_EQ(*RefSize, 4);
// DW_FORM_ref_addr is 8 bytes in DWARF 64 in DWARF version 3 and beyond.
- RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 3, 8, DWARF64);
+ DWARFFormParams Params_3_8_64 = {3, 8, DWARF64};
+ RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_3_8_64);
EXPECT_TRUE(RefSize.hasValue());
EXPECT_EQ(*RefSize, 8);
- RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 4, 8, DWARF64);
+ DWARFFormParams Params_4_8_64 = {4, 8, DWARF64};
+ RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_4_8_64);
EXPECT_TRUE(RefSize.hasValue());
EXPECT_EQ(*RefSize, 8);
- RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, 5, 8, DWARF64);
+ DWARFFormParams Params_5_8_64 = {5, 8, DWARF64};
+ RefSize = DWARFFormValue::getFixedByteSize(DW_FORM_ref_addr, Params_5_8_64);
EXPECT_TRUE(RefSize.hasValue());
EXPECT_EQ(*RefSize, 8);
}
diff --git a/unittests/DebugInfo/PDB/PDBApiTest.cpp b/unittests/DebugInfo/PDB/PDBApiTest.cpp
index 6afe83cd90dd..257a8879e439 100644
--- a/unittests/DebugInfo/PDB/PDBApiTest.cpp
+++ b/unittests/DebugInfo/PDB/PDBApiTest.cpp
@@ -63,9 +63,7 @@ namespace {
class MockSession : public IPDBSession {
uint64_t getLoadAddress() const override { return 0; }
void setLoadAddress(uint64_t Address) override {}
- std::unique_ptr<PDBSymbolExe> getGlobalScope() const override {
- return nullptr;
- }
+ std::unique_ptr<PDBSymbolExe> getGlobalScope() override { return nullptr; }
std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override {
return nullptr;
}
diff --git a/unittests/ExecutionEngine/Orc/LazyEmittingLayerTest.cpp b/unittests/ExecutionEngine/Orc/LazyEmittingLayerTest.cpp
index 213c460aa676..f65dc0cd609d 100644
--- a/unittests/ExecutionEngine/Orc/LazyEmittingLayerTest.cpp
+++ b/unittests/ExecutionEngine/Orc/LazyEmittingLayerTest.cpp
@@ -14,9 +14,9 @@
namespace {
struct MockBaseLayer {
- typedef int ModuleSetHandleT;
- ModuleSetHandleT addModuleSet(
- std::list<std::unique_ptr<llvm::Module>>,
+ typedef int ModuleHandleT;
+ ModuleHandleT addModule(
+ std::shared_ptr<llvm::Module>,
std::unique_ptr<llvm::RuntimeDyld::MemoryManager> MemMgr,
std::unique_ptr<llvm::JITSymbolResolver> Resolver) {
EXPECT_FALSE(MemMgr);
@@ -27,7 +27,7 @@ struct MockBaseLayer {
TEST(LazyEmittingLayerTest, Empty) {
MockBaseLayer M;
llvm::orc::LazyEmittingLayer<MockBaseLayer> L(M);
- L.addModuleSet(std::list<std::unique_ptr<llvm::Module>>(), nullptr, nullptr);
+ L.addModule(std::unique_ptr<llvm::Module>(), nullptr, nullptr);
}
}
diff --git a/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp b/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
index 68db454637c5..2fdf9e8b7379 100644
--- a/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
+++ b/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
@@ -31,14 +31,14 @@ typedef int MockSymbolResolver;
typedef int MockObjectFile;
// stand-in for llvm::MemoryBuffer set
-typedef int MockMemoryBufferSet;
+typedef int MockMemoryBuffer;
// Mock transform that operates on unique pointers to object files, and
// allocates new object files rather than mutating the given ones.
struct AllocatingTransform {
- std::unique_ptr<MockObjectFile>
- operator()(std::unique_ptr<MockObjectFile> Obj) const {
- return llvm::make_unique<MockObjectFile>(*Obj + 1);
+ std::shared_ptr<MockObjectFile>
+ operator()(std::shared_ptr<MockObjectFile> Obj) const {
+ return std::make_shared<MockObjectFile>(*Obj + 1);
}
};
@@ -50,48 +50,41 @@ struct AllocatingTransform {
// transform layer called the base layer and forwarded any return value.
class MockBaseLayer {
public:
- typedef int ObjSetHandleT;
+ typedef int ObjHandleT;
MockBaseLayer() : MockSymbol(nullptr) { resetExpectations(); }
- template <typename ObjSetT, typename MemoryManagerPtrT,
+ template <typename ObjPtrT, typename MemoryManagerPtrT,
typename SymbolResolverPtrT>
- ObjSetHandleT addObjectSet(ObjSetT Objects, MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver) {
+ ObjHandleT addObject(ObjPtrT Obj, MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver) {
EXPECT_EQ(MockManager, *MemMgr) << "MM should pass through";
EXPECT_EQ(MockResolver, *Resolver) << "Resolver should pass through";
- size_t I = 0;
- for (auto &ObjPtr : Objects) {
- EXPECT_EQ(MockObjects[I] + 1, *ObjPtr) << "Transform should be applied";
- I++;
- }
- EXPECT_EQ(MockObjects.size(), I) << "Number of objects should match";
- LastCalled = "addObjectSet";
- MockObjSetHandle = 111;
- return MockObjSetHandle;
+ EXPECT_EQ(MockObject + 1, *Obj) << "Transform should be applied";
+ LastCalled = "addObject";
+ MockObjHandle = 111;
+ return MockObjHandle;
}
- template <typename ObjSetT>
- void expectAddObjectSet(ObjSetT &Objects, MockMemoryManager *MemMgr,
- MockSymbolResolver *Resolver) {
+ template <typename ObjPtrT>
+ void expectAddObject(ObjPtrT Obj, MockMemoryManager *MemMgr,
+ MockSymbolResolver *Resolver) {
MockManager = *MemMgr;
MockResolver = *Resolver;
- for (auto &ObjPtr : Objects) {
- MockObjects.push_back(*ObjPtr);
- }
+ MockObject = *Obj;
}
- void verifyAddObjectSet(ObjSetHandleT Returned) {
- EXPECT_EQ("addObjectSet", LastCalled);
- EXPECT_EQ(MockObjSetHandle, Returned) << "Return should pass through";
+ void verifyAddObject(ObjHandleT Returned) {
+ EXPECT_EQ("addObject", LastCalled);
+ EXPECT_EQ(MockObjHandle, Returned) << "Return should pass through";
resetExpectations();
}
- void removeObjectSet(ObjSetHandleT H) {
- EXPECT_EQ(MockObjSetHandle, H);
- LastCalled = "removeObjectSet";
+ void removeObject(ObjHandleT H) {
+ EXPECT_EQ(MockObjHandle, H);
+ LastCalled = "removeObject";
}
- void expectRemoveObjectSet(ObjSetHandleT H) { MockObjSetHandle = H; }
- void verifyRemoveObjectSet() {
- EXPECT_EQ("removeObjectSet", LastCalled);
+ void expectRemoveObject(ObjHandleT H) { MockObjHandle = H; }
+ void verifyRemoveObject() {
+ EXPECT_EQ("removeObject", LastCalled);
resetExpectations();
}
@@ -114,18 +107,18 @@ public:
resetExpectations();
}
- llvm::JITSymbol findSymbolIn(ObjSetHandleT H, const std::string &Name,
+ llvm::JITSymbol findSymbolIn(ObjHandleT H, const std::string &Name,
bool ExportedSymbolsOnly) {
- EXPECT_EQ(MockObjSetHandle, H) << "Handle should pass through";
+ EXPECT_EQ(MockObjHandle, H) << "Handle should pass through";
EXPECT_EQ(MockName, Name) << "Name should pass through";
EXPECT_EQ(MockBool, ExportedSymbolsOnly) << "Flag should pass through";
LastCalled = "findSymbolIn";
MockSymbol = llvm::JITSymbol(122, llvm::JITSymbolFlags::None);
return MockSymbol;
}
- void expectFindSymbolIn(ObjSetHandleT H, const std::string &Name,
+ void expectFindSymbolIn(ObjHandleT H, const std::string &Name,
bool ExportedSymbolsOnly) {
- MockObjSetHandle = H;
+ MockObjHandle = H;
MockName = Name;
MockBool = ExportedSymbolsOnly;
}
@@ -136,26 +129,26 @@ public:
resetExpectations();
}
- void emitAndFinalize(ObjSetHandleT H) {
- EXPECT_EQ(MockObjSetHandle, H) << "Handle should pass through";
+ void emitAndFinalize(ObjHandleT H) {
+ EXPECT_EQ(MockObjHandle, H) << "Handle should pass through";
LastCalled = "emitAndFinalize";
}
- void expectEmitAndFinalize(ObjSetHandleT H) { MockObjSetHandle = H; }
+ void expectEmitAndFinalize(ObjHandleT H) { MockObjHandle = H; }
void verifyEmitAndFinalize() {
EXPECT_EQ("emitAndFinalize", LastCalled);
resetExpectations();
}
- void mapSectionAddress(ObjSetHandleT H, const void *LocalAddress,
+ void mapSectionAddress(ObjHandleT H, const void *LocalAddress,
llvm::JITTargetAddress TargetAddr) {
- EXPECT_EQ(MockObjSetHandle, H);
+ EXPECT_EQ(MockObjHandle, H);
EXPECT_EQ(MockLocalAddress, LocalAddress);
EXPECT_EQ(MockTargetAddress, TargetAddr);
LastCalled = "mapSectionAddress";
}
- void expectMapSectionAddress(ObjSetHandleT H, const void *LocalAddress,
+ void expectMapSectionAddress(ObjHandleT H, const void *LocalAddress,
llvm::JITTargetAddress TargetAddr) {
- MockObjSetHandle = H;
+ MockObjHandle = H;
MockLocalAddress = LocalAddress;
MockTargetAddress = TargetAddr;
}
@@ -169,27 +162,27 @@ private:
std::string LastCalled;
MockMemoryManager MockManager;
MockSymbolResolver MockResolver;
- std::vector<MockObjectFile> MockObjects;
- ObjSetHandleT MockObjSetHandle;
+ MockObjectFile MockObject;
+ ObjHandleT MockObjHandle;
std::string MockName;
bool MockBool;
llvm::JITSymbol MockSymbol;
const void *MockLocalAddress;
llvm::JITTargetAddress MockTargetAddress;
- MockMemoryBufferSet MockBufferSet;
+ MockMemoryBuffer MockBuffer;
// Clear remembered parameters between calls
void resetExpectations() {
LastCalled = "nothing";
MockManager = 0;
MockResolver = 0;
- MockObjects.clear();
- MockObjSetHandle = 0;
+ MockObject = 0;
+ MockObjHandle = 0;
MockName = "bogus";
MockSymbol = llvm::JITSymbol(nullptr);
MockLocalAddress = nullptr;
MockTargetAddress = 0;
- MockBufferSet = 0;
+ MockBuffer = 0;
}
};
@@ -204,43 +197,36 @@ TEST(ObjectTransformLayerTest, Main) {
// Create a second object transform layer using a transform (as a lambda)
// that mutates objects in place, and deals in naked pointers
ObjectTransformLayer<MockBaseLayer,
- std::function<MockObjectFile *(MockObjectFile *)>>
- T2(M, [](MockObjectFile *Obj) {
+ std::function<std::shared_ptr<MockObjectFile>(
+ std::shared_ptr<MockObjectFile>)>>
+ T2(M, [](std::shared_ptr<MockObjectFile> Obj) {
++(*Obj);
return Obj;
});
// Instantiate some mock objects to use below
- MockObjectFile MockObject1 = 211;
- MockObjectFile MockObject2 = 222;
MockMemoryManager MockManager = 233;
MockSymbolResolver MockResolver = 244;
- // Test addObjectSet with T1 (allocating, unique pointers)
- std::vector<std::unique_ptr<MockObjectFile>> Objs1;
- Objs1.push_back(llvm::make_unique<MockObjectFile>(MockObject1));
- Objs1.push_back(llvm::make_unique<MockObjectFile>(MockObject2));
+ // Test addObject with T1 (allocating)
+ auto Obj1 = std::make_shared<MockObjectFile>(211);
auto MM = llvm::make_unique<MockMemoryManager>(MockManager);
auto SR = llvm::make_unique<MockSymbolResolver>(MockResolver);
- M.expectAddObjectSet(Objs1, MM.get(), SR.get());
- auto H = T1.addObjectSet(std::move(Objs1), std::move(MM), std::move(SR));
- M.verifyAddObjectSet(H);
-
- // Test addObjectSet with T2 (mutating, naked pointers)
- llvm::SmallVector<MockObjectFile *, 2> Objs2Vec;
- Objs2Vec.push_back(&MockObject1);
- Objs2Vec.push_back(&MockObject2);
- llvm::MutableArrayRef<MockObjectFile *> Objs2(Objs2Vec);
- M.expectAddObjectSet(Objs2, &MockManager, &MockResolver);
- H = T2.addObjectSet(Objs2, &MockManager, &MockResolver);
- M.verifyAddObjectSet(H);
- EXPECT_EQ(212, MockObject1) << "Expected mutation";
- EXPECT_EQ(223, MockObject2) << "Expected mutation";
+ M.expectAddObject(Obj1, MM.get(), SR.get());
+ auto H = T1.addObject(std::move(Obj1), std::move(MM), std::move(SR));
+ M.verifyAddObject(H);
+
+ // Test addObjectSet with T2 (mutating)
+ auto Obj2 = std::make_shared<MockObjectFile>(222);
+ M.expectAddObject(Obj2, &MockManager, &MockResolver);
+ H = T2.addObject(Obj2, &MockManager, &MockResolver);
+ M.verifyAddObject(H);
+ EXPECT_EQ(223, *Obj2) << "Expected mutation";
// Test removeObjectSet
- M.expectRemoveObjectSet(H);
- T1.removeObjectSet(H);
- M.verifyRemoveObjectSet();
+ M.expectRemoveObject(H);
+ T1.removeObject(H);
+ M.verifyRemoveObject();
// Test findSymbol
std::string Name = "foo";
@@ -269,13 +255,13 @@ TEST(ObjectTransformLayerTest, Main) {
M.verifyMapSectionAddress();
// Verify transform getter (non-const)
- MockObjectFile Mutatee = 277;
- MockObjectFile *Out = T2.getTransform()(&Mutatee);
- EXPECT_EQ(&Mutatee, Out) << "Expected in-place transform";
- EXPECT_EQ(278, Mutatee) << "Expected incrementing transform";
+ auto Mutatee = std::make_shared<MockObjectFile>(277);
+ auto Out = T2.getTransform()(Mutatee);
+ EXPECT_EQ(*Mutatee, *Out) << "Expected in-place transform";
+ EXPECT_EQ(278, *Mutatee) << "Expected incrementing transform";
// Verify transform getter (const)
- auto OwnedObj = llvm::make_unique<MockObjectFile>(288);
+ auto OwnedObj = std::make_shared<MockObjectFile>(288);
const auto &T1C = T1;
OwnedObj = T1C.getTransform()(std::move(OwnedObj));
EXPECT_EQ(289, *OwnedObj) << "Expected incrementing transform";
@@ -287,8 +273,8 @@ TEST(ObjectTransformLayerTest, Main) {
// Make sure that ObjectTransformLayer implements the object layer concept
// correctly by sandwitching one between an ObjectLinkingLayer and an
// IRCompileLayer, verifying that it compiles if we have a call to the
- // IRComileLayer's addModuleSet that should call the transform layer's
- // addObjectSet, and also calling the other public transform layer methods
+ // IRComileLayer's addModule that should call the transform layer's
+ // addObject, and also calling the other public transform layer methods
// directly to make sure the methods they intend to forward to exist on
// the ObjectLinkingLayer.
@@ -309,31 +295,34 @@ TEST(ObjectTransformLayerTest, Main) {
};
// Construct the jit layers.
- RTDyldObjectLinkingLayer<> BaseLayer;
- auto IdentityTransform = [](
- std::unique_ptr<llvm::object::OwningBinary<llvm::object::ObjectFile>>
- Obj) { return Obj; };
+ RTDyldObjectLinkingLayer BaseLayer;
+ auto IdentityTransform =
+ [](std::shared_ptr<llvm::object::OwningBinary<llvm::object::ObjectFile>>
+ Obj) {
+ return Obj;
+ };
ObjectTransformLayer<decltype(BaseLayer), decltype(IdentityTransform)>
TransformLayer(BaseLayer, IdentityTransform);
auto NullCompiler = [](llvm::Module &) {
- return llvm::object::OwningBinary<llvm::object::ObjectFile>();
+ return llvm::object::OwningBinary<llvm::object::ObjectFile>(nullptr,
+ nullptr);
};
- IRCompileLayer<decltype(TransformLayer)> CompileLayer(TransformLayer,
- NullCompiler);
+ IRCompileLayer<decltype(TransformLayer), decltype(NullCompiler)>
+ CompileLayer(TransformLayer, NullCompiler);
// Make sure that the calls from IRCompileLayer to ObjectTransformLayer
// compile.
NullResolver Resolver;
NullManager Manager;
- CompileLayer.addModuleSet(std::vector<llvm::Module *>(), &Manager, &Resolver);
+ CompileLayer.addModule(std::shared_ptr<llvm::Module>(), &Manager, &Resolver);
// Make sure that the calls from ObjectTransformLayer to ObjectLinkingLayer
// compile.
- decltype(TransformLayer)::ObjSetHandleT ObjSet;
- TransformLayer.emitAndFinalize(ObjSet);
- TransformLayer.findSymbolIn(ObjSet, Name, false);
+ decltype(TransformLayer)::ObjHandleT H2;
+ TransformLayer.emitAndFinalize(H2);
+ TransformLayer.findSymbolIn(H2, Name, false);
TransformLayer.findSymbol(Name, true);
- TransformLayer.mapSectionAddress(ObjSet, nullptr, 0);
- TransformLayer.removeObjectSet(ObjSet);
+ TransformLayer.mapSectionAddress(H2, nullptr, 0);
+ TransformLayer.removeObject(H2);
}
}
diff --git a/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp b/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
index e8ba16a472b7..2900a9c92766 100644
--- a/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
+++ b/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
@@ -65,8 +65,9 @@ protected:
CompileContext *CCtx = static_cast<CompileContext*>(Ctx);
auto *ET = CCtx->APIExecTest;
CCtx->M = ET->createTestModule(ET->TM->getTargetTriple());
- CCtx->H = LLVMOrcAddEagerlyCompiledIR(JITStack, wrap(CCtx->M.get()),
- myResolver, nullptr);
+ LLVMSharedModuleRef SM = LLVMOrcMakeSharedModule(wrap(CCtx->M.release()));
+ CCtx->H = LLVMOrcAddEagerlyCompiledIR(JITStack, SM, myResolver, nullptr);
+ LLVMOrcDisposeSharedModuleRef(SM);
CCtx->Compiled = true;
LLVMOrcTargetAddress MainAddr = LLVMOrcGetSymbolAddress(JITStack, "main");
LLVMOrcSetIndirectStubPointer(JITStack, "foo", MainAddr);
@@ -87,8 +88,10 @@ TEST_F(OrcCAPIExecutionTest, TestEagerIRCompilation) {
LLVMOrcGetMangledSymbol(JIT, &testFuncName, "testFunc");
+ LLVMSharedModuleRef SM = LLVMOrcMakeSharedModule(wrap(M.release()));
LLVMOrcModuleHandle H =
- LLVMOrcAddEagerlyCompiledIR(JIT, wrap(M.get()), myResolver, nullptr);
+ LLVMOrcAddEagerlyCompiledIR(JIT, SM, myResolver, nullptr);
+ LLVMOrcDisposeSharedModuleRef(SM);
MainFnTy MainFn = (MainFnTy)LLVMOrcGetSymbolAddress(JIT, "main");
int Result = MainFn();
EXPECT_EQ(Result, 42)
@@ -111,8 +114,10 @@ TEST_F(OrcCAPIExecutionTest, TestLazyIRCompilation) {
LLVMOrcGetMangledSymbol(JIT, &testFuncName, "testFunc");
+ LLVMSharedModuleRef SM = LLVMOrcMakeSharedModule(wrap(M.release()));
LLVMOrcModuleHandle H =
- LLVMOrcAddLazilyCompiledIR(JIT, wrap(M.get()), myResolver, nullptr);
+ LLVMOrcAddLazilyCompiledIR(JIT, SM, myResolver, nullptr);
+ LLVMOrcDisposeSharedModuleRef(SM);
MainFnTy MainFn = (MainFnTy)LLVMOrcGetSymbolAddress(JIT, "main");
int Result = MainFn();
EXPECT_EQ(Result, 42)
diff --git a/unittests/ExecutionEngine/Orc/OrcTestCommon.h b/unittests/ExecutionEngine/Orc/OrcTestCommon.h
index 24320034a17a..d7049ef00e6d 100644
--- a/unittests/ExecutionEngine/Orc/OrcTestCommon.h
+++ b/unittests/ExecutionEngine/Orc/OrcTestCommon.h
@@ -106,65 +106,65 @@ public:
};
template <typename HandleT,
- typename AddModuleSetFtor,
- typename RemoveModuleSetFtor,
+ typename AddModuleFtor,
+ typename RemoveModuleFtor,
typename FindSymbolFtor,
typename FindSymbolInFtor>
class MockBaseLayer {
public:
- typedef HandleT ModuleSetHandleT;
+ typedef HandleT ModuleHandleT;
- MockBaseLayer(AddModuleSetFtor &&AddModuleSet,
- RemoveModuleSetFtor &&RemoveModuleSet,
+ MockBaseLayer(AddModuleFtor &&AddModule,
+ RemoveModuleFtor &&RemoveModule,
FindSymbolFtor &&FindSymbol,
FindSymbolInFtor &&FindSymbolIn)
- : AddModuleSet(AddModuleSet), RemoveModuleSet(RemoveModuleSet),
+ : AddModule(AddModule), RemoveModule(RemoveModule),
FindSymbol(FindSymbol), FindSymbolIn(FindSymbolIn)
{}
- template <typename ModuleSetT, typename MemoryManagerPtrT,
+ template <typename ModuleT, typename MemoryManagerPtrT,
typename SymbolResolverPtrT>
- ModuleSetHandleT addModuleSet(ModuleSetT Ms, MemoryManagerPtrT MemMgr,
- SymbolResolverPtrT Resolver) {
- return AddModuleSet(std::move(Ms), std::move(MemMgr), std::move(Resolver));
+ ModuleHandleT addModule(ModuleT Ms, MemoryManagerPtrT MemMgr,
+ SymbolResolverPtrT Resolver) {
+ return AddModule(std::move(Ms), std::move(MemMgr), std::move(Resolver));
}
- void removeModuleSet(ModuleSetHandleT H) {
- RemoveModuleSet(H);
+ void removeModule(ModuleHandleT H) {
+ RemoveModule(H);
}
JITSymbol findSymbol(const std::string &Name, bool ExportedSymbolsOnly) {
return FindSymbol(Name, ExportedSymbolsOnly);
}
- JITSymbol findSymbolIn(ModuleSetHandleT H, const std::string &Name,
+ JITSymbol findSymbolIn(ModuleHandleT H, const std::string &Name,
bool ExportedSymbolsOnly) {
return FindSymbolIn(H, Name, ExportedSymbolsOnly);
}
private:
- AddModuleSetFtor AddModuleSet;
- RemoveModuleSetFtor RemoveModuleSet;
+ AddModuleFtor AddModule;
+ RemoveModuleFtor RemoveModule;
FindSymbolFtor FindSymbol;
FindSymbolInFtor FindSymbolIn;
};
-template <typename ModuleSetHandleT,
- typename AddModuleSetFtor,
- typename RemoveModuleSetFtor,
+template <typename ModuleHandleT,
+ typename AddModuleFtor,
+ typename RemoveModuleFtor,
typename FindSymbolFtor,
typename FindSymbolInFtor>
-MockBaseLayer<ModuleSetHandleT, AddModuleSetFtor, RemoveModuleSetFtor,
+MockBaseLayer<ModuleHandleT, AddModuleFtor, RemoveModuleFtor,
FindSymbolFtor, FindSymbolInFtor>
-createMockBaseLayer(AddModuleSetFtor &&AddModuleSet,
- RemoveModuleSetFtor &&RemoveModuleSet,
+createMockBaseLayer(AddModuleFtor &&AddModule,
+ RemoveModuleFtor &&RemoveModule,
FindSymbolFtor &&FindSymbol,
FindSymbolInFtor &&FindSymbolIn) {
- return MockBaseLayer<ModuleSetHandleT, AddModuleSetFtor, RemoveModuleSetFtor,
+ return MockBaseLayer<ModuleHandleT, AddModuleFtor, RemoveModuleFtor,
FindSymbolFtor, FindSymbolInFtor>(
- std::forward<AddModuleSetFtor>(AddModuleSet),
- std::forward<RemoveModuleSetFtor>(RemoveModuleSet),
+ std::forward<AddModuleFtor>(AddModule),
+ std::forward<RemoveModuleFtor>(RemoveModule),
std::forward<FindSymbolFtor>(FindSymbol),
std::forward<FindSymbolInFtor>(FindSymbolIn));
}
diff --git a/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp b/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
index 8878451bdec2..7c821bc2c34b 100644
--- a/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
+++ b/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
@@ -63,7 +63,7 @@ TEST(RTDyldObjectLinkingLayerTest, TestSetProcessAllSections) {
bool &DebugSeen;
};
- RTDyldObjectLinkingLayer<> ObjLayer;
+ RTDyldObjectLinkingLayer ObjLayer;
LLVMContext Context;
auto M = llvm::make_unique<Module>("", Context);
@@ -85,9 +85,9 @@ TEST(RTDyldObjectLinkingLayerTest, TestSetProcessAllSections) {
if (!TM)
return;
- auto OwningObj = SimpleCompiler(*TM)(*M);
- std::vector<object::ObjectFile*> Objs;
- Objs.push_back(OwningObj.getBinary());
+ auto Obj =
+ std::make_shared<object::OwningBinary<object::ObjectFile>>(
+ SimpleCompiler(*TM)(*M));
bool DebugSectionSeen = false;
auto SMMW =
@@ -103,21 +103,21 @@ TEST(RTDyldObjectLinkingLayerTest, TestSetProcessAllSections) {
{
// Test with ProcessAllSections = false (the default).
- auto H = ObjLayer.addObjectSet(Objs, SMMW, &*Resolver);
+ auto H = ObjLayer.addObject(Obj, SMMW, &*Resolver);
ObjLayer.emitAndFinalize(H);
EXPECT_EQ(DebugSectionSeen, false)
<< "Unexpected debug info section";
- ObjLayer.removeObjectSet(H);
+ ObjLayer.removeObject(H);
}
{
// Test with ProcessAllSections = true.
ObjLayer.setProcessAllSections(true);
- auto H = ObjLayer.addObjectSet(Objs, SMMW, &*Resolver);
+ auto H = ObjLayer.addObject(Obj, SMMW, &*Resolver);
ObjLayer.emitAndFinalize(H);
EXPECT_EQ(DebugSectionSeen, true)
<< "Expected debug info section not seen";
- ObjLayer.removeObjectSet(H);
+ ObjLayer.removeObject(H);
}
}
@@ -125,7 +125,7 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoDuplicateFinalization) {
if (!TM)
return;
- RTDyldObjectLinkingLayer<> ObjLayer;
+ RTDyldObjectLinkingLayer ObjLayer;
SimpleCompiler Compile(*TM);
// Create a pair of modules that will trigger recursive finalization:
@@ -151,9 +151,9 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoDuplicateFinalization) {
Builder.CreateRet(FourtyTwo);
}
- auto Obj1 = Compile(*MB1.getModule());
- std::vector<object::ObjectFile*> Obj1Set;
- Obj1Set.push_back(Obj1.getBinary());
+ auto Obj1 =
+ std::make_shared<object::OwningBinary<object::ObjectFile>>(
+ Compile(*MB1.getModule()));
ModuleBuilder MB2(Context, "", "dummy");
{
@@ -164,9 +164,9 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoDuplicateFinalization) {
IRBuilder<> Builder(FooEntry);
Builder.CreateRet(Builder.CreateCall(BarDecl));
}
- auto Obj2 = Compile(*MB2.getModule());
- std::vector<object::ObjectFile*> Obj2Set;
- Obj2Set.push_back(Obj2.getBinary());
+ auto Obj2 =
+ std::make_shared<object::OwningBinary<object::ObjectFile>>(
+ Compile(*MB2.getModule()));
auto Resolver =
createLambdaResolver(
@@ -180,10 +180,10 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoDuplicateFinalization) {
});
auto SMMW = std::make_shared<SectionMemoryManagerWrapper>();
- ObjLayer.addObjectSet(std::move(Obj1Set), SMMW, &*Resolver);
- auto H = ObjLayer.addObjectSet(std::move(Obj2Set), SMMW, &*Resolver);
+ ObjLayer.addObject(std::move(Obj1), SMMW, &*Resolver);
+ auto H = ObjLayer.addObject(std::move(Obj2), SMMW, &*Resolver);
ObjLayer.emitAndFinalize(H);
- ObjLayer.removeObjectSet(H);
+ ObjLayer.removeObject(H);
// Finalization of module 2 should trigger finalization of module 1.
// Verify that finalize on SMMW is only called once.
@@ -195,7 +195,7 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoPrematureAllocation) {
if (!TM)
return;
- RTDyldObjectLinkingLayer<> ObjLayer;
+ RTDyldObjectLinkingLayer ObjLayer;
SimpleCompiler Compile(*TM);
// Create a pair of unrelated modules:
@@ -222,9 +222,9 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoPrematureAllocation) {
Builder.CreateRet(FourtyTwo);
}
- auto Obj1 = Compile(*MB1.getModule());
- std::vector<object::ObjectFile*> Obj1Set;
- Obj1Set.push_back(Obj1.getBinary());
+ auto Obj1 =
+ std::make_shared<object::OwningBinary<object::ObjectFile>>(
+ Compile(*MB1.getModule()));
ModuleBuilder MB2(Context, "", "dummy");
{
@@ -236,16 +236,16 @@ TEST_F(RTDyldObjectLinkingLayerExecutionTest, NoPrematureAllocation) {
Value *Seven = ConstantInt::getSigned(Int32Ty, 7);
Builder.CreateRet(Seven);
}
- auto Obj2 = Compile(*MB2.getModule());
- std::vector<object::ObjectFile*> Obj2Set;
- Obj2Set.push_back(Obj2.getBinary());
+ auto Obj2 =
+ std::make_shared<object::OwningBinary<object::ObjectFile>>(
+ Compile(*MB2.getModule()));
auto SMMW = std::make_shared<SectionMemoryManagerWrapper>();
NullResolver NR;
- auto H = ObjLayer.addObjectSet(std::move(Obj1Set), SMMW, &NR);
- ObjLayer.addObjectSet(std::move(Obj2Set), SMMW, &NR);
+ auto H = ObjLayer.addObject(std::move(Obj1), SMMW, &NR);
+ ObjLayer.addObject(std::move(Obj2), SMMW, &NR);
ObjLayer.emitAndFinalize(H);
- ObjLayer.removeObjectSet(H);
+ ObjLayer.removeObject(H);
// Only one call to needsToReserveAllocationSpace should have been made.
EXPECT_EQ(SMMW->NeedsToReserveAllocationSpaceCount, 1)
diff --git a/unittests/Option/OptionParsingTest.cpp b/unittests/Option/OptionParsingTest.cpp
index 8630ff1d303c..6ac6283327bb 100644
--- a/unittests/Option/OptionParsingTest.cpp
+++ b/unittests/Option/OptionParsingTest.cpp
@@ -18,8 +18,9 @@ using namespace llvm::opt;
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,
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
+ HELPTEXT, METAVAR, VALUES) \
+ OPT_##ID,
#include "Opts.inc"
LastOption
#undef OPTION
@@ -36,10 +37,10 @@ enum OptionFlags {
};
static const OptTable::Info InfoTable[] = {
-#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
- HELPTEXT, METAVAR) \
- { PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, Option::KIND##Class, PARAM, \
- FLAGS, OPT_##GROUP, OPT_##ALIAS, ALIASARGS },
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
+ HELPTEXT, METAVAR, VALUES) \
+ {PREFIX, NAME, HELPTEXT, METAVAR, OPT_##ID, Option::KIND##Class, \
+ PARAM, FLAGS, OPT_##GROUP, OPT_##ALIAS, ALIASARGS, VALUES},
#include "Opts.inc"
#undef OPTION
};
diff --git a/unittests/ProfileData/CoverageMappingTest.cpp b/unittests/ProfileData/CoverageMappingTest.cpp
index 0e6e993cf3da..ea51f717a1db 100644
--- a/unittests/ProfileData/CoverageMappingTest.cpp
+++ b/unittests/ProfileData/CoverageMappingTest.cpp
@@ -28,6 +28,19 @@ static ::testing::AssertionResult NoError(Error E) {
<< "\n";
}
+static ::testing::AssertionResult ErrorEquals(coveragemap_error Expected,
+ Error E) {
+ coveragemap_error Found;
+ std::string FoundMsg;
+ handleAllErrors(std::move(E), [&](const CoverageMapError &CME) {
+ Found = CME.get();
+ FoundMsg = CME.message();
+ });
+ if (Expected == Found)
+ return ::testing::AssertionSuccess();
+ return ::testing::AssertionFailure() << "error: " << FoundMsg << "\n";
+}
+
namespace llvm {
namespace coverage {
void PrintTo(const Counter &C, ::std::ostream *os) {
@@ -232,12 +245,14 @@ struct CoverageMappingTest : ::testing::TestWithParam<std::pair<bool, bool>> {
return CoverageMapping::load(CoverageReaders, *ProfileReader);
}
- void loadCoverageMapping(bool EmitFilenames = true) {
+ Error loadCoverageMapping(bool EmitFilenames = true) {
readProfCounts();
writeAndReadCoverageRegions(EmitFilenames);
auto CoverageOrErr = readOutputFunctions();
- ASSERT_TRUE(NoError(CoverageOrErr.takeError()));
+ if (!CoverageOrErr)
+ return CoverageOrErr.takeError();
LoadedCoverage = std::move(CoverageOrErr.get());
+ return Error::success();
}
};
@@ -304,7 +319,7 @@ TEST_P(CoverageMappingTest, load_coverage_for_more_than_two_files) {
// in order to preserve that information during possible sorting of CMRs.
addCMR(Counter::getCounter(0), FileNames[I], I, 1, I, 1);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
for (unsigned I = 0; I < N; ++I) {
CoverageData Data = LoadedCoverage->getCoverageForFile(FileNames[I]);
@@ -313,6 +328,14 @@ TEST_P(CoverageMappingTest, load_coverage_for_more_than_two_files) {
}
}
+TEST_P(CoverageMappingTest, load_coverage_with_bogus_function_name) {
+ InstrProfRecord RecordFunc1("", 0x1234, {10});
+ NoError(ProfileWriter.addRecord(std::move(RecordFunc1)));
+ startFunction("", 0x1234);
+ addCMR(Counter::getCounter(0), "foo", 1, 1, 5, 5);
+ ErrorEquals(coveragemap_error::malformed, loadCoverageMapping());
+}
+
TEST_P(CoverageMappingTest, load_coverage_for_several_functions) {
InstrProfRecord RecordFunc1("func1", 0x1234, {10});
NoError(ProfileWriter.addRecord(std::move(RecordFunc1)));
@@ -325,7 +348,7 @@ TEST_P(CoverageMappingTest, load_coverage_for_several_functions) {
startFunction("func2", 0x2345);
addCMR(Counter::getCounter(0), "bar", 2, 2, 6, 6);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
const auto FunctionRecords = LoadedCoverage->getCoveredFunctions();
EXPECT_EQ(2, std::distance(FunctionRecords.begin(), FunctionRecords.end()));
@@ -369,7 +392,7 @@ TEST_P(CoverageMappingTest, basic_coverage_iteration) {
addCMR(Counter::getCounter(1), "file1", 1, 1, 4, 7);
addCMR(Counter::getCounter(2), "file1", 5, 8, 9, 1);
addCMR(Counter::getCounter(3), "file1", 10, 10, 11, 11);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
CoverageData Data = LoadedCoverage->getCoverageForFile("file1");
std::vector<CoverageSegment> Segments(Data.begin(), Data.end());
@@ -386,7 +409,7 @@ TEST_P(CoverageMappingTest, basic_coverage_iteration) {
TEST_P(CoverageMappingTest, uncovered_function) {
startFunction("func", 0x1234);
addCMR(Counter::getZero(), "file1", 1, 2, 3, 4);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
CoverageData Data = LoadedCoverage->getCoverageForFile("file1");
std::vector<CoverageSegment> Segments(Data.begin(), Data.end());
@@ -399,7 +422,7 @@ TEST_P(CoverageMappingTest, uncovered_function_with_mapping) {
startFunction("func", 0x1234);
addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
addCMR(Counter::getCounter(1), "file1", 1, 1, 4, 7);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
CoverageData Data = LoadedCoverage->getCoverageForFile("file1");
std::vector<CoverageSegment> Segments(Data.begin(), Data.end());
@@ -417,7 +440,7 @@ TEST_P(CoverageMappingTest, combine_regions) {
addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
addCMR(Counter::getCounter(1), "file1", 3, 3, 4, 4);
addCMR(Counter::getCounter(2), "file1", 3, 3, 4, 4);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
CoverageData Data = LoadedCoverage->getCoverageForFile("file1");
std::vector<CoverageSegment> Segments(Data.begin(), Data.end());
@@ -436,7 +459,7 @@ TEST_P(CoverageMappingTest, restore_combined_counter_after_nested_region) {
addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
addCMR(Counter::getCounter(1), "file1", 1, 1, 9, 9);
addCMR(Counter::getCounter(2), "file1", 3, 3, 5, 5);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
CoverageData Data = LoadedCoverage->getCoverageForFile("file1");
std::vector<CoverageSegment> Segments(Data.begin(), Data.end());
@@ -460,7 +483,7 @@ TEST_P(CoverageMappingTest, dont_combine_expansions) {
addCMR(Counter::getCounter(1), "file1", 3, 3, 4, 4);
addCMR(Counter::getCounter(1), "include1", 6, 6, 7, 7);
addExpansionCMR("file1", "include1", 3, 3, 4, 4);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
CoverageData Data = LoadedCoverage->getCoverageForFile("file1");
std::vector<CoverageSegment> Segments(Data.begin(), Data.end());
@@ -483,7 +506,7 @@ TEST_P(CoverageMappingTest, combine_expansions) {
addExpansionCMR("file", "include1", 3, 1, 3, 5);
addExpansionCMR("file", "include2", 3, 1, 3, 5);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
CoverageData Data = LoadedCoverage->getCoverageForFile("file");
std::vector<CoverageSegment> Segments(Data.begin(), Data.end());
@@ -500,7 +523,7 @@ TEST_P(CoverageMappingTest, strip_filename_prefix) {
startFunction("file1:func", 0x1234);
addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
std::vector<std::string> Names;
for (const auto &Func : LoadedCoverage->getCoveredFunctions())
@@ -515,7 +538,7 @@ TEST_P(CoverageMappingTest, strip_unknown_filename_prefix) {
startFunction("<unknown>:func", 0x1234);
addCMR(Counter::getCounter(0), "", 1, 1, 9, 9);
- loadCoverageMapping(/*EmitFilenames=*/false);
+ NoError(loadCoverageMapping(/*EmitFilenames=*/false));
std::vector<std::string> Names;
for (const auto &Func : LoadedCoverage->getCoveredFunctions())
@@ -538,7 +561,7 @@ TEST_P(CoverageMappingTest, dont_detect_false_instantiations) {
addCMR(Counter::getCounter(0), "expanded", 1, 1, 1, 10);
addExpansionCMR("main", "expanded", 9, 1, 9, 5);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
std::vector<const FunctionRecord *> Instantiations =
LoadedCoverage->getInstantiations("expanded");
@@ -553,7 +576,7 @@ TEST_P(CoverageMappingTest, load_coverage_for_expanded_file) {
addCMR(Counter::getCounter(0), "expanded", 1, 1, 1, 10);
addExpansionCMR("main", "expanded", 4, 1, 4, 5);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
CoverageData Data = LoadedCoverage->getCoverageForFile("expanded");
std::vector<CoverageSegment> Segments(Data.begin(), Data.end());
@@ -572,7 +595,7 @@ TEST_P(CoverageMappingTest, skip_duplicate_function_record) {
startFunction("func", 0x1234);
addCMR(Counter::getCounter(0), "file1", 1, 1, 9, 9);
- loadCoverageMapping();
+ NoError(loadCoverageMapping());
auto Funcs = LoadedCoverage->getCoveredFunctions();
unsigned NumFuncs = std::distance(Funcs.begin(), Funcs.end());
diff --git a/unittests/ProfileData/InstrProfTest.cpp b/unittests/ProfileData/InstrProfTest.cpp
index b15029a08137..13436cc0d5b2 100644
--- a/unittests/ProfileData/InstrProfTest.cpp
+++ b/unittests/ProfileData/InstrProfTest.cpp
@@ -859,7 +859,7 @@ TEST_P(MaybeSparseInstrProfTest, instr_prof_symtab_test) {
FuncNames.push_back("bar2");
FuncNames.push_back("bar3");
InstrProfSymtab Symtab;
- Symtab.create(FuncNames);
+ NoError(Symtab.create(FuncNames));
StringRef R = Symtab.getFuncName(IndexedInstrProf::ComputeHash("func1"));
ASSERT_EQ(StringRef("func1"), R);
R = Symtab.getFuncName(IndexedInstrProf::ComputeHash("func2"));
@@ -880,9 +880,9 @@ TEST_P(MaybeSparseInstrProfTest, instr_prof_symtab_test) {
ASSERT_EQ(StringRef(), R);
// Now incrementally update the symtab
- Symtab.addFuncName("blah_1");
- Symtab.addFuncName("blah_2");
- Symtab.addFuncName("blah_3");
+ NoError(Symtab.addFuncName("blah_1"));
+ NoError(Symtab.addFuncName("blah_2"));
+ NoError(Symtab.addFuncName("blah_3"));
// Finalize it
Symtab.finalizeSymtab();
@@ -907,6 +907,12 @@ TEST_P(MaybeSparseInstrProfTest, instr_prof_symtab_test) {
ASSERT_EQ(StringRef("bar3"), R);
}
+// Test that we get an error when creating a bogus symtab.
+TEST_P(MaybeSparseInstrProfTest, instr_prof_bogus_symtab_empty_func_name) {
+ InstrProfSymtab Symtab;
+ ErrorEquals(instrprof_error::malformed, Symtab.addFuncName(""));
+}
+
// Testing symtab creator interface used by value profile transformer.
TEST_P(MaybeSparseInstrProfTest, instr_prof_symtab_module_test) {
LLVMContext Ctx;
@@ -927,7 +933,7 @@ TEST_P(MaybeSparseInstrProfTest, instr_prof_symtab_module_test) {
Function::Create(FTy, Function::WeakODRLinkage, "Wbar", M.get());
InstrProfSymtab ProfSymtab;
- ProfSymtab.create(*M);
+ NoError(ProfSymtab.create(*M));
StringRef Funcs[] = {"Gfoo", "Gblah", "Gbar", "Ifoo", "Iblah", "Ibar",
"Pfoo", "Pblah", "Pbar", "Wfoo", "Wblah", "Wbar"};
diff --git a/unittests/Support/CachePruningTest.cpp b/unittests/Support/CachePruningTest.cpp
index 04ac0d09b493..1bb57871925c 100644
--- a/unittests/Support/CachePruningTest.cpp
+++ b/unittests/Support/CachePruningTest.cpp
@@ -18,7 +18,7 @@ TEST(CachePruningPolicyParser, Empty) {
ASSERT_TRUE(bool(P));
EXPECT_EQ(std::chrono::seconds(1200), P->Interval);
EXPECT_EQ(std::chrono::hours(7 * 24), P->Expiration);
- EXPECT_EQ(75u, P->PercentageOfAvailableSpace);
+ EXPECT_EQ(75u, P->MaxSizePercentageOfAvailableSpace);
}
TEST(CachePruningPolicyParser, Interval) {
@@ -39,10 +39,30 @@ TEST(CachePruningPolicyParser, Expiration) {
EXPECT_EQ(std::chrono::seconds(1), P->Expiration);
}
-TEST(CachePruningPolicyParser, PercentageOfAvailableSpace) {
+TEST(CachePruningPolicyParser, MaxSizePercentageOfAvailableSpace) {
auto P = parseCachePruningPolicy("cache_size=100%");
ASSERT_TRUE(bool(P));
- EXPECT_EQ(100u, P->PercentageOfAvailableSpace);
+ EXPECT_EQ(100u, P->MaxSizePercentageOfAvailableSpace);
+ EXPECT_EQ(0u, P->MaxSizeBytes);
+}
+
+TEST(CachePruningPolicyParser, MaxSizeBytes) {
+ auto P = parseCachePruningPolicy("cache_size_bytes=1");
+ ASSERT_TRUE(bool(P));
+ EXPECT_EQ(75u, P->MaxSizePercentageOfAvailableSpace);
+ EXPECT_EQ(1u, P->MaxSizeBytes);
+ P = parseCachePruningPolicy("cache_size_bytes=2k");
+ ASSERT_TRUE(bool(P));
+ EXPECT_EQ(75u, P->MaxSizePercentageOfAvailableSpace);
+ EXPECT_EQ(2u * 1024u, P->MaxSizeBytes);
+ P = parseCachePruningPolicy("cache_size_bytes=3m");
+ ASSERT_TRUE(bool(P));
+ EXPECT_EQ(75u, P->MaxSizePercentageOfAvailableSpace);
+ EXPECT_EQ(3u * 1024u * 1024u, P->MaxSizeBytes);
+ P = parseCachePruningPolicy("cache_size_bytes=4G");
+ ASSERT_TRUE(bool(P));
+ EXPECT_EQ(75u, P->MaxSizePercentageOfAvailableSpace);
+ EXPECT_EQ(4ull * 1024ull * 1024ull * 1024ull, P->MaxSizeBytes);
}
TEST(CachePruningPolicyParser, Multiple) {
@@ -50,7 +70,7 @@ TEST(CachePruningPolicyParser, Multiple) {
ASSERT_TRUE(bool(P));
EXPECT_EQ(std::chrono::seconds(1200), P->Interval);
EXPECT_EQ(std::chrono::seconds(1), P->Expiration);
- EXPECT_EQ(50u, P->PercentageOfAvailableSpace);
+ EXPECT_EQ(50u, P->MaxSizePercentageOfAvailableSpace);
}
TEST(CachePruningPolicyParser, Errors) {
@@ -66,6 +86,12 @@ TEST(CachePruningPolicyParser, Errors) {
toString(parseCachePruningPolicy("cache_size=foo%").takeError()));
EXPECT_EQ("'101' must be between 0 and 100",
toString(parseCachePruningPolicy("cache_size=101%").takeError()));
+ EXPECT_EQ(
+ "'foo' not an integer",
+ toString(parseCachePruningPolicy("cache_size_bytes=foo").takeError()));
+ EXPECT_EQ(
+ "'foo' not an integer",
+ toString(parseCachePruningPolicy("cache_size_bytes=foom").takeError()));
EXPECT_EQ("Unknown key: 'foo'",
toString(parseCachePruningPolicy("foo=bar").takeError()));
}
diff --git a/unittests/Support/CommandLineTest.cpp b/unittests/Support/CommandLineTest.cpp
index f9dc3930df8c..660df11446ac 100644
--- a/unittests/Support/CommandLineTest.cpp
+++ b/unittests/Support/CommandLineTest.cpp
@@ -13,6 +13,7 @@
#include "llvm/Config/config.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
+#include "llvm/Support/Program.h"
#include "llvm/Support/StringSaver.h"
#include "gtest/gtest.h"
#include <fstream>
@@ -546,6 +547,11 @@ TEST(CommandLineTest, GetRegisteredSubcommands) {
}
}
+TEST(CommandLineTest, ArgumentLimit) {
+ std::string args(32 * 4096, 'a');
+ EXPECT_FALSE(llvm::sys::commandLineFitsWithinSystemLimits("cl", args.data()));
+}
+
TEST(CommandLineTest, ResponseFiles) {
llvm::SmallString<128> TestDir;
std::error_code EC =
diff --git a/unittests/Support/ErrorTest.cpp b/unittests/Support/ErrorTest.cpp
index 382346cd231a..299fc50b4697 100644
--- a/unittests/Support/ErrorTest.cpp
+++ b/unittests/Support/ErrorTest.cpp
@@ -475,6 +475,10 @@ TEST(Error, CantFailSuccess) {
int X = cantFail(Expected<int>(42));
EXPECT_EQ(X, 42) << "Expected value modified by cantFail";
+
+ int Dummy = 42;
+ int &Y = cantFail(Expected<int&>(Dummy));
+ EXPECT_EQ(&Dummy, &Y) << "Reference mangled by cantFail";
}
// Test that cantFail results in a crash if you pass it a failure value.
diff --git a/utils/TableGen/CodeGenDAGPatterns.cpp b/utils/TableGen/CodeGenDAGPatterns.cpp
index 7c41d9fad696..03914ef98952 100644
--- a/utils/TableGen/CodeGenDAGPatterns.cpp
+++ b/utils/TableGen/CodeGenDAGPatterns.cpp
@@ -2762,8 +2762,8 @@ public:
AnalyzeNode(Pat->getTree(0));
}
- void Analyze(const PatternToMatch *Pat) {
- AnalyzeNode(Pat->getSrcPattern());
+ void Analyze(const PatternToMatch &Pat) {
+ AnalyzeNode(Pat.getSrcPattern());
}
private:
@@ -3220,7 +3220,7 @@ static void FindNames(const TreePatternNode *P,
}
void CodeGenDAGPatterns::AddPatternToMatch(TreePattern *Pattern,
- const PatternToMatch &PTM) {
+ PatternToMatch &&PTM) {
// Do some sanity checking on the pattern we're about to match.
std::string Reason;
if (!PTM.getSrcPattern()->canPatternMatch(Reason, *this)) {
@@ -3259,7 +3259,7 @@ void CodeGenDAGPatterns::AddPatternToMatch(TreePattern *Pattern,
SrcNames[Entry.first].second == 1)
Pattern->error("Pattern has dead named input: $" + Entry.first);
- PatternsToMatch.push_back(PTM);
+ PatternsToMatch.push_back(std::move(PTM));
}
@@ -3289,9 +3289,7 @@ void CodeGenDAGPatterns::InferInstructionFlags() {
// Second, look for single-instruction patterns defined outside the
// instruction.
- for (ptm_iterator I = ptm_begin(), E = ptm_end(); I != E; ++I) {
- const PatternToMatch &PTM = *I;
-
+ for (const PatternToMatch &PTM : ptms()) {
// We can only infer from single-instruction patterns, otherwise we won't
// know which instruction should get the flags.
SmallVector<Record*, 8> PatInstrs;
@@ -3307,7 +3305,7 @@ void CodeGenDAGPatterns::InferInstructionFlags() {
continue;
InstAnalyzer PatInfo(*this);
- PatInfo.Analyze(&PTM);
+ PatInfo.Analyze(PTM);
Errors += InferFromPattern(InstInfo, PatInfo, PTM.getSrcRecord());
}
@@ -3367,7 +3365,7 @@ void CodeGenDAGPatterns::VerifyInstructionFlags() {
// Analyze the source pattern.
InstAnalyzer PatInfo(*this);
- PatInfo.Analyze(&PTM);
+ PatInfo.Analyze(PTM);
// Collect error messages.
SmallVector<std::string, 4> Msgs;
@@ -3553,14 +3551,12 @@ void CodeGenDAGPatterns::ParsePatterns() {
TreePattern Temp(Result.getRecord(), DstPattern, false, *this);
Temp.InferAllTypes();
-
- AddPatternToMatch(Pattern,
- PatternToMatch(CurPattern,
- CurPattern->getValueAsListInit("Predicates"),
- Pattern->getTree(0),
- Temp.getOnlyTree(), InstImpResults,
- CurPattern->getValueAsInt("AddedComplexity"),
- CurPattern->getID()));
+ AddPatternToMatch(
+ Pattern,
+ PatternToMatch(
+ CurPattern, CurPattern->getValueAsListInit("Predicates"),
+ Pattern->getTree(0), Temp.getOnlyTree(), std::move(InstImpResults),
+ CurPattern->getValueAsInt("AddedComplexity"), CurPattern->getID()));
}
}
diff --git a/utils/TableGen/CodeGenDAGPatterns.h b/utils/TableGen/CodeGenDAGPatterns.h
index 5c56fb644e7f..8b3e19142370 100644
--- a/utils/TableGen/CodeGenDAGPatterns.h
+++ b/utils/TableGen/CodeGenDAGPatterns.h
@@ -684,12 +684,12 @@ public:
/// processed to produce isel.
class PatternToMatch {
public:
- PatternToMatch(Record *srcrecord, ListInit *preds,
- TreePatternNode *src, TreePatternNode *dst,
- const std::vector<Record*> &dstregs,
+ PatternToMatch(Record *srcrecord, ListInit *preds, TreePatternNode *src,
+ TreePatternNode *dst, std::vector<Record *> dstregs,
int complexity, unsigned uid)
- : SrcRecord(srcrecord), Predicates(preds), SrcPattern(src), DstPattern(dst),
- Dstregs(dstregs), AddedComplexity(complexity), ID(uid) {}
+ : SrcRecord(srcrecord), Predicates(preds), SrcPattern(src),
+ DstPattern(dst), Dstregs(std::move(dstregs)),
+ AddedComplexity(complexity), ID(uid) {}
Record *SrcRecord; // Originating Record for the pattern.
ListInit *Predicates; // Top level predicate conditions to match.
@@ -853,7 +853,7 @@ private:
void GenerateVariants();
void VerifyInstructionFlags();
- void AddPatternToMatch(TreePattern *Pattern, const PatternToMatch &PTM);
+ void AddPatternToMatch(TreePattern *Pattern, PatternToMatch &&PTM);
void FindPatternInputsAndOutputs(TreePattern *I, TreePatternNode *Pat,
std::map<std::string,
TreePatternNode*> &InstInputs,
diff --git a/utils/TableGen/DAGISelMatcherGen.cpp b/utils/TableGen/DAGISelMatcherGen.cpp
index aafc1157893e..d239f96d2a60 100644
--- a/utils/TableGen/DAGISelMatcherGen.cpp
+++ b/utils/TableGen/DAGISelMatcherGen.cpp
@@ -848,8 +848,7 @@ EmitResultInstructionAsOperand(const TreePatternNode *N,
if (II.HasOneImplicitDefWithKnownVT(CGT) != MVT::Other)
HandledReg = II.ImplicitDefs[0];
- for (unsigned i = 0; i != Pattern.getDstRegs().size(); ++i) {
- Record *Reg = Pattern.getDstRegs()[i];
+ for (Record *Reg : Pattern.getDstRegs()) {
if (!Reg->isSubClassOf("Register") || Reg == HandledReg) continue;
ResultVTs.push_back(getRegisterValueType(Reg, CGT));
}
@@ -972,8 +971,7 @@ void MatcherGen::EmitResultCode() {
HandledReg = II.ImplicitDefs[0];
}
- for (unsigned i = 0; i != Pattern.getDstRegs().size(); ++i) {
- Record *Reg = Pattern.getDstRegs()[i];
+ for (Record *Reg : Pattern.getDstRegs()) {
if (!Reg->isSubClassOf("Register") || Reg == HandledReg) continue;
++NumSrcResults;
}
diff --git a/utils/TableGen/GlobalISelEmitter.cpp b/utils/TableGen/GlobalISelEmitter.cpp
index 88ded1f25ffb..03d231a153dc 100644
--- a/utils/TableGen/GlobalISelEmitter.cpp
+++ b/utils/TableGen/GlobalISelEmitter.cpp
@@ -158,6 +158,16 @@ static Error isTrivialOperatorNode(const TreePatternNode *N) {
return failedImport(Explanation);
}
+static Record *getInitValueAsRegClass(Init *V) {
+ if (DefInit *VDefInit = dyn_cast<DefInit>(V)) {
+ if (VDefInit->getDef()->isSubClassOf("RegisterOperand"))
+ return VDefInit->getDef()->getValueAsDef("RegClass");
+ if (VDefInit->getDef()->isSubClassOf("RegisterClass"))
+ return VDefInit->getDef();
+ }
+ return nullptr;
+}
+
//===- Matchers -----------------------------------------------------------===//
class OperandMatcher;
@@ -973,6 +983,7 @@ public:
/// into the desired instruction when this is possible.
class BuildMIAction : public MatchAction {
private:
+ std::string Name;
const CodeGenInstruction *I;
const InstructionMatcher &Matched;
std::vector<std::unique_ptr<OperandRenderer>> OperandRenderers;
@@ -996,8 +1007,9 @@ private:
}
public:
- BuildMIAction(const CodeGenInstruction *I, const InstructionMatcher &Matched)
- : I(I), Matched(Matched) {}
+ BuildMIAction(const StringRef Name, const CodeGenInstruction *I,
+ const InstructionMatcher &Matched)
+ : Name(Name), I(I), Matched(Matched) {}
template <class Kind, class... Args>
Kind &addRenderer(Args&&... args) {
@@ -1032,7 +1044,7 @@ public:
}
}
- OS << " MachineInstr &NewI = " << RecycleVarName << ";\n";
+ OS << " MachineInstr &" << Name << " = " << RecycleVarName << ";\n";
return;
}
@@ -1050,7 +1062,40 @@ public:
OS << " for (const auto &MMO : FromMI->memoperands())\n";
OS << " MIB.addMemOperand(MMO);\n";
OS << " " << RecycleVarName << ".eraseFromParent();\n";
- OS << " MachineInstr &NewI = *MIB;\n";
+ OS << " MachineInstr &" << Name << " = *MIB;\n";
+ }
+};
+
+/// Generates code to constrain the operands of an output instruction to the
+/// register classes specified by the definition of that instruction.
+class ConstrainOperandsToDefinitionAction : public MatchAction {
+ std::string Name;
+
+public:
+ ConstrainOperandsToDefinitionAction(const StringRef Name) : Name(Name) {}
+
+ void emitCxxActionStmts(raw_ostream &OS, RuleMatcher &Rule,
+ StringRef RecycleVarName) const override {
+ OS << " constrainSelectedInstRegOperands(" << Name << ", TII, TRI, RBI);\n";
+ }
+};
+
+/// Generates code to constrain the specified operand of an output instruction
+/// to the specified register class.
+class ConstrainOperandToRegClassAction : public MatchAction {
+ std::string Name;
+ unsigned OpIdx;
+ const CodeGenRegisterClass &RC;
+
+public:
+ ConstrainOperandToRegClassAction(const StringRef Name, unsigned OpIdx,
+ const CodeGenRegisterClass &RC)
+ : Name(Name), OpIdx(OpIdx), RC(RC) {}
+
+ void emitCxxActionStmts(raw_ostream &OS, RuleMatcher &Rule,
+ StringRef RecycleVarName) const override {
+ OS << " constrainOperandRegToRegClass(" << Name << ", " << OpIdx
+ << ", " << RC.getQualifiedName() << "RegClass, TII, TRI, RBI);\n";
}
};
@@ -1205,7 +1250,6 @@ void RuleMatcher::emit(raw_ostream &OS,
MA->emitCxxActionStmts(OS, *this, "I");
}
- OS << " constrainSelectedInstRegOperands(NewI, TII, TRI, RBI);\n";
OS << " return true;\n";
OS << " }\n";
OS << " return false;\n";
@@ -1439,15 +1483,10 @@ Error GlobalISelEmitter::importChildMatcher(InstructionMatcher &InsnMatcher,
auto *ChildRec = ChildDefInit->getDef();
// Check for register classes.
- if (ChildRec->isSubClassOf("RegisterClass")) {
- OM.addPredicate<RegisterBankOperandMatcher>(
- Target.getRegisterClass(ChildRec));
- return Error::success();
- }
-
- if (ChildRec->isSubClassOf("RegisterOperand")) {
+ if (ChildRec->isSubClassOf("RegisterClass") ||
+ ChildRec->isSubClassOf("RegisterOperand")) {
OM.addPredicate<RegisterBankOperandMatcher>(
- Target.getRegisterClass(ChildRec->getValueAsDef("RegClass")));
+ Target.getRegisterClass(getInitValueAsRegClass(ChildDefInit)));
return Error::success();
}
@@ -1554,22 +1593,33 @@ Expected<BuildMIAction &> GlobalISelEmitter::createAndImportInstructionRenderer(
"Pattern operator isn't an instruction (it's a ValueType)");
return failedImport("Pattern operator isn't an instruction");
}
- auto &DstI = Target.getInstruction(DstOp);
+ CodeGenInstruction *DstI = &Target.getInstruction(DstOp);
+
+ unsigned DstINumUses = DstI->Operands.size() - DstI->Operands.NumDefs;
+ unsigned ExpectedDstINumUses = Dst->getNumChildren();
+
+ // COPY_TO_REGCLASS is just a copy with a ConstrainOperandToRegClassAction
+ // attached.
+ if (DstI->TheDef->getName() == "COPY_TO_REGCLASS") {
+ DstI = &Target.getInstruction(RK.getDef("COPY"));
+ DstINumUses--; // Ignore the class constraint.
+ ExpectedDstINumUses--;
+ }
- auto &DstMIBuilder = M.addAction<BuildMIAction>(&DstI, InsnMatcher);
+ auto &DstMIBuilder = M.addAction<BuildMIAction>("NewI", DstI, InsnMatcher);
// Render the explicit defs.
- for (unsigned I = 0; I < DstI.Operands.NumDefs; ++I) {
- const auto &DstIOperand = DstI.Operands[I];
+ for (unsigned I = 0; I < DstI->Operands.NumDefs; ++I) {
+ const CGIOperandList::OperandInfo &DstIOperand = DstI->Operands[I];
DstMIBuilder.addRenderer<CopyRenderer>(InsnMatcher, DstIOperand.Name);
}
// Render the explicit uses.
unsigned Child = 0;
- unsigned DstINumUses = DstI.Operands.size() - DstI.Operands.NumDefs;
unsigned NumDefaultOps = 0;
for (unsigned I = 0; I != DstINumUses; ++I) {
- const auto &DstIOperand = DstI.Operands[DstI.Operands.NumDefs + I];
+ const CGIOperandList::OperandInfo &DstIOperand =
+ DstI->Operands[DstI->Operands.NumDefs + I];
// If the operand has default values, introduce them now.
// FIXME: Until we have a decent test case that dictates we should do
@@ -1590,10 +1640,10 @@ Expected<BuildMIAction &> GlobalISelEmitter::createAndImportInstructionRenderer(
++Child;
}
- if (NumDefaultOps + Dst->getNumChildren() != DstINumUses)
+ if (NumDefaultOps + ExpectedDstINumUses != DstINumUses)
return failedImport("Expected " + llvm::to_string(DstINumUses) +
" used operands but found " +
- llvm::to_string(Dst->getNumChildren()) +
+ llvm::to_string(ExpectedDstINumUses) +
" explicit ones and " + llvm::to_string(NumDefaultOps) +
" default ones");
@@ -1684,10 +1734,16 @@ Expected<RuleMatcher> GlobalISelEmitter::runOnPattern(const PatternToMatch &P) {
const auto &DstIOperand = DstI.Operands[OpIdx];
Record *DstIOpRec = DstIOperand.Rec;
- if (DstIOpRec->isSubClassOf("RegisterOperand"))
+ if (DstI.TheDef->getName() == "COPY_TO_REGCLASS") {
+ DstIOpRec = getInitValueAsRegClass(Dst->getChild(1)->getLeafValue());
+
+ if (DstIOpRec == nullptr)
+ return failedImport(
+ "COPY_TO_REGCLASS operand #1 isn't a register class");
+ } else if (DstIOpRec->isSubClassOf("RegisterOperand"))
DstIOpRec = DstIOpRec->getValueAsDef("RegClass");
- if (!DstIOpRec->isSubClassOf("RegisterClass"))
- return failedImport("Dst MI def isn't a register class");
+ else if (!DstIOpRec->isSubClassOf("RegisterClass"))
+ return failedImport("Dst MI def isn't a register class" + to_string(*Dst));
OperandMatcher &OM = InsnMatcher.getOperand(OpIdx);
OM.setSymbolicName(DstIOperand.Name);
@@ -1707,6 +1763,22 @@ Expected<RuleMatcher> GlobalISelEmitter::runOnPattern(const PatternToMatch &P) {
if (auto Error = importImplicitDefRenderers(DstMIBuilder, P.getDstRegs()))
return std::move(Error);
+ // Constrain the registers to classes. This is normally derived from the
+ // emitted instruction but a few instructions require special handling.
+ if (DstI.TheDef->getName() == "COPY_TO_REGCLASS") {
+ // COPY_TO_REGCLASS does not provide operand constraints itself but the
+ // result is constrained to the class given by the second child.
+ Record *DstIOpRec =
+ getInitValueAsRegClass(Dst->getChild(1)->getLeafValue());
+
+ if (DstIOpRec == nullptr)
+ return failedImport("COPY_TO_REGCLASS operand #1 isn't a register class");
+
+ M.addAction<ConstrainOperandToRegClassAction>(
+ "NewI", 0, Target.getRegisterClass(DstIOpRec));
+ } else
+ M.addAction<ConstrainOperandsToDefinitionAction>("NewI");
+
// We're done with this pattern! It's eligible for GISel emission; return it.
++NumPatternImported;
return std::move(M);
diff --git a/utils/TableGen/OptParserEmitter.cpp b/utils/TableGen/OptParserEmitter.cpp
index 04e6537f3d15..e3777d036a23 100644
--- a/utils/TableGen/OptParserEmitter.cpp
+++ b/utils/TableGen/OptParserEmitter.cpp
@@ -196,6 +196,9 @@ void EmitOptParser(RecordKeeper &Records, raw_ostream &OS) {
OS << ", nullptr";
// The option meta-variable name (unused).
+ OS << ", nullptr";
+
+ // The option Values (unused for groups).
OS << ", nullptr)\n";
}
OS << "\n";
@@ -285,6 +288,13 @@ void EmitOptParser(RecordKeeper &Records, raw_ostream &OS) {
else
OS << "nullptr";
+ // The option Values. Used for shell autocompletion.
+ OS << ", ";
+ if (!isa<UnsetInit>(R.getValueInit("Values")))
+ write_cstring(OS, R.getValueAsString("Values"));
+ else
+ OS << "nullptr";
+
OS << ")\n";
}
OS << "#endif // OPTION\n";
diff --git a/utils/opt-viewer/opt-stats.py b/utils/opt-viewer/opt-stats.py
index 7ce935b492c5..79e5c03eca9f 100755
--- a/utils/opt-viewer/opt-stats.py
+++ b/utils/opt-viewer/opt-stats.py
@@ -24,10 +24,6 @@ if __name__ == '__main__':
help='Max job count (defaults to %(default)s, the current CPU count)')
args = parser.parse_args()
- if len(args.yaml_files) == 0:
- parser.print_help()
- sys.exit(1)
-
if args.jobs == 1:
pmap = map
else:
@@ -38,7 +34,7 @@ if __name__ == '__main__':
bypass = defaultdict(int)
byname = defaultdict(int)
- for r in all_remarks.itervalues():
+ for r in optrecord.itervalues(all_remarks):
bypass[r.Pass] += 1
byname[r.Pass + "/" + r.Name] += 1
diff --git a/utils/opt-viewer/opt-viewer.py b/utils/opt-viewer/opt-viewer.py
index 5e076d86dbe9..3f5503f26b1f 100755
--- a/utils/opt-viewer/opt-viewer.py
+++ b/utils/opt-viewer/opt-viewer.py
@@ -216,10 +216,6 @@ if __name__ == '__main__':
help='set source directory')
args = parser.parse_args()
- if len(args.yaml_files) == 0:
- parser.print_help()
- sys.exit(1)
-
if args.jobs == 1:
pmap = map
else:
diff --git a/utils/opt-viewer/optrecord.py b/utils/opt-viewer/optrecord.py
index 2f930a48a056..6dc1a32e536a 100644
--- a/utils/opt-viewer/optrecord.py
+++ b/utils/opt-viewer/optrecord.py
@@ -24,14 +24,32 @@ p = subprocess.Popen(['c++filt', '-n'], stdin=subprocess.PIPE, stdout=subprocess
p_lock = Lock()
+try:
+ dict.iteritems
+except AttributeError:
+ # Python 3
+ def itervalues(d):
+ return iter(d.values())
+ def iteritems(d):
+ return iter(d.items())
+else:
+ # Python 2
+ def itervalues(d):
+ return d.itervalues()
+ def iteritems(d):
+ return d.iteritems()
+
+
def demangle(name):
with p_lock:
p.stdin.write(name + '\n')
return p.stdout.readline().rstrip()
+
def html_file_name(filename):
return filename.replace('/', '_') + ".html"
+
def make_link(File, Line):
return "\"{}#L{}\"".format(html_file_name(File), Line)
@@ -117,7 +135,7 @@ class Remark(yaml.YAMLObject):
def key(self):
k = (self.__class__, self.PassWithDiffPrefix, self.Name, self.File, self.Line, self.Column, self.Function)
for arg in self.Args:
- for (key, value) in arg.iteritems():
+ for (key, value) in iteritems(arg):
if type(value) is dict:
value = tuple(value.items())
k += (key, value)
@@ -196,8 +214,8 @@ def gather_results(pmap, filenames):
max_hotness = max(entry[0] for entry in remarks)
def merge_file_remarks(file_remarks_job, all_remarks, merged):
- for filename, d in file_remarks_job.iteritems():
- for line, remarks in d.iteritems():
+ for filename, d in iteritems(file_remarks_job):
+ for line, remarks in iteritems(d):
for remark in remarks:
# Bring max_hotness into the remarks so that
# RelativeHotness does not depend on an external global.
diff --git a/utils/release/test-release.sh b/utils/release/test-release.sh
index 560220cd53f4..8ec3abb17551 100755
--- a/utils/release/test-release.sh
+++ b/utils/release/test-release.sh
@@ -38,7 +38,7 @@ do_test_suite="yes"
do_openmp="yes"
do_lld="yes"
do_lldb="no"
-do_polly="no"
+do_polly="yes"
BuildDir="`pwd`"
ExtraConfigureFlags=""
ExportBranch=""
@@ -68,8 +68,7 @@ function usage() {
echo " -no-lld Disable check-out & build lld"
echo " -lldb Enable check-out & build lldb"
echo " -no-lldb Disable check-out & build lldb (default)"
- echo " -polly Enable check-out & build Polly"
- echo " -no-polly Disable check-out & build Polly (default)"
+ echo " -no-polly Disable check-out & build Polly"
}
while [ $# -gt 0 ]; do
@@ -154,9 +153,6 @@ while [ $# -gt 0 ]; do
-no-lldb )
do_lldb="no"
;;
- -polly )
- do_polly="yes"
- ;;
-no-polly )
do_polly="no"
;;